正确性 (计算机科学)

✍ dations ◷ 2025-11-24 12:40:23 #理论计算机科学

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

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

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

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

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

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

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

相关

  • 碳酸钙碳酸钙,俗称灰石、石灰石、石粉,是一种化合物,化学式为CaCO3,呈碱性,几乎不溶于水(Ksp = 4.8×10-9),可与酸反应。碳酸钙在地球上存量丰富,并以许多形式存在于岩石、矿物与生物体,如:
  • 赵普赵普(922年-992年8月14日),字则平。北宋初年宰相。在陈桥兵变中立功,协助赵匡胤登上帝位,为宋开国功臣。后参与解除禁军将领兵权的谋划,并提出了“稍夺其权,制其钱谷,收其精兵”的
  • 糖苷键糖苷键(英语:Glycosidic bond,旧称配糖键)是指特定类型的化学键,连接糖苷分子中的非糖部分(即苷元)与糖基,或者糖基与糖基。含有配糖键的物质称为糖苷(或配糖体)。根据与糖基异头碳原
  • 海地伏都教海地巫毒是一个融合主义宗教,其仪式和信仰等源自非洲的伏都教,主要流行于海地以及海地裔(英语:Haitian diaspora)社群之间。信奉者被称为“巫毒信徒”(法语:vodouisants)或“灵魂的
  • 配体 (生物化学)在生物化学和药理学中,配体(英语:ligand)是指一种能与受体结合以产生某种生理效果的物质。在蛋白质—配体复合物中,配体通常是与靶蛋白特定结合位点相连的信号触发分子。而在DNA
  • 波纳德波纳德 (法语:Louis Gabriel Ambroise de Bonald,1754年10月2日-1840年11月23日),法国的反革命哲学家和政治家。在那革命的时代中,他和好友迈斯特(Joseph de Maistre)同为传统主义者,
  • 贝尔纳·热尔曼·德·拉塞佩德伊隆河畔维尔的拉塞佩德伯爵贝尔纳·热尔曼·艾蒂安(法语:Bernard Germain Étienne de Laville-sur-Illon, comte de Lacépède,法语发音:.mw-parser-output .IPA{font-family
  • 乐正龙牙乐正龙牙是上海禾念推出的一款采用Vocaloid语音合成技术的资料库及附属的虚构角色。歌声样本取自中国配音演员张杰,插画家ideolo在“Vocaloid™ China Project”中设计出该角
  • 郭隆真郭隆真(1894年-1931年4月5日)原名郭淑善,女,回族,出生于直隶元城(今河北省大名县)金滩镇。中国共产党早期活动家。1930年在青岛被捕,1931年4月5日在济南被韩复榘下令枪决。
  • 心理利己主义心理利己主义(英语:psychological egoism)是一种观点,认为人类的所有行为都是出于个人利益以及自私,包括那些看上去是利他主义的行为。心理利己主义声称,尽管人们会选择去帮助他人