正确性 (计算机科学)

✍ dations ◷ 2025-12-05 02:35:52 #理论计算机科学

在理论计算机科学中,算法的正确性(英语:correctness)是指一个算法在程序规范下被认定为正确的判定。其中,正确(英语:functional correctness)针对输入输出的行为(例如:对每一个输入,算法都能给出预期的输出)。

人们将正确性分为两类。一类被称为部分正确性(英语:partial correctness),它要求在算法返回结果时这一结果是正确的;另一类被称为完全正确性(英语:total correctness),它在部分正确性的基础之上还要求算法必须能够结束。由于对于停机问题没有通用的解决方案,因此判定完全正确性的断言有着更多需要深层次研究的地方。终止的证明是指一类数学证明,因为完全正确性需要证明一个算法会终止,所以它在程序的形式验证中起着至关重要的作用。

例如考虑这样一个问题:依次搜索整数列1, 2, 3, …来看是否存在某个特定现象——比如说存在一个奇数为完全数。对于这个问题而言,我们很容易写出一个部分正确的程序(直接对于每个数字做长除法判定其是否完全)。然而如果我们想证明这个程序是完全正确的,那就相当于我们在断言一个在数论里目前还未知的结论。

在算法和程序规范都是基于形式化来给出时,对正确性的证明应当为一个数学证明。然而我们并不期待能够给出特定机器上实现的特定程序的正确性断言,因为那样将需要考虑诸如内存限制在内的更多问题。

证明论中有一个结论柯里-霍华德同构。这一结论认为:任意一个在构造性逻辑下的功能正确性的证明都对应了一个λ演算程序。这种转换证明的方式被称为(英文:program extraction)。

霍尔逻辑是一个具体的能够严密验证程序正确性的形式系统。它用一系列的公理来定义程序语言的语义,从而通过称之为霍尔三元组的断言来验证程序的正确性。

软件测试是指验证一个程序或系统的某些属性或能力来判断它是否达到预期目的的行为。尽管软件测试在软件质量方面起着至关重要的作用,并且被程序员和测试员们广泛采用,但由于人们对软件的认识十分有限,它仍旧是一个艰深的领域。软件测试的最大难点在于如何控制其复杂性:我们没有办法在一个合理的复杂度内完整地测试一个程序。测试不只是调试。测试的目的包括但不限于确保软件质量、验证其正确性和估算其稳定性。我们对测试的定义也可以更加一般化,其中正确性测试和稳定性测试是两个最大的研究领域。软件测试是预算、时间和软件质量的一个平衡。

相关

  • 海藻林海藻林是由海带目(Laminariales)大型褐藻所构成的海底森林,为最富有丰富生产力与多样性的地球生态系统。较小片的海藻林又被称为海藻床。海藻林分布于温带到极地地区的沿岸海域
  • 硅谷硅谷(英语:Silicon Valley),是高科技事业云集的美国加州圣克拉拉谷(Santa Clara Valley)的别称,位于加利福尼亚州北部、旧金山湾区南部。硅谷的主要部分位于旧金山半岛南端的圣塔克
  • U.S. Census Bureau美国普查局(英语:United States Census Bureau,按《美国法典第13卷 § 11》官方称呼为Bureau of the Census)是美国商务部经济和统计管理局下属的一个机关。它的任务由美国宪
  • 迪凯特县迪凯特县(Decatur County, Georgia)是美国佐治亚州西南角的一个县,南邻佛罗里达州。面积1,614平方公里。根据美国2000年人口普查,共有人口28,240人。县治班布里奇 (Bainbridge)
  • 瑜伽学派瑜伽(印地语:योग,英语:yoga),源于古印度文化,义为探寻“梵我一如”的道理与方法,古印度六大哲学派别中有瑜伽派(英语:Yoga (philosophy))。而现代人所称的瑜伽则是主要是一系列的修
  • 双唇挤喉音双唇挤喉音(Bilabial ejective)是辅音的一种,用于一些口语中。用于表示此音的国际音标(IPA)是⟨pʼ⟩,其等价的X-SAMPA音标为p_>。双唇挤喉音的特征包括:除了以下列出的语言以外,此
  • 扎丹巴·恩赫巴亚尔扎丹巴·恩赫巴亚尔(蒙古语:Жадамба Энхбаяр,英语:Jadamba Enkhbayar,?-)蒙古族,籍贯不详,蒙古国政治人物。恩赫巴亚尔是蒙古人民党党员。2012年1月,被任命为蒙古国国防
  • Macross Plus《Macross Plus》是超时空要塞系列于1990年代中期发行的OVA,由TRIANGLE STAFF制作。描述初代超时空要塞故事后30年,统合军于外星殖民地开发新式可变型战斗机的始末。本片共分
  • 董子仪董子仪(1502年-1548年),字羽吉,直隶松江府上海县人,民籍,明朝政治人物。应天府乡试第八十九名。嘉靖十七年(1538年)戊戌科进士。授刑部主事,累迁尚宝司丞,兼翰林院五经博士。曾祖父董和
  • LIS情境科学教材LIS ( Learning in Science )情境科学教材,成立于2013年7月,是一个非营利组织,致力于为国中小自然教师及学生,设计有别于填鸭教育的科学教材,协助教师进行STEAM和科学素养导向的