侯世达定律(英語:Hofstadter's law)是一句自指的格言,由侯世达在《哥德尔、埃舍尔、巴赫》一书中提出:

侯世达定律:做事所花费的时间总是比你预期的要长,即使你的预期中考虑了侯世达定律。
— 侯世达《哥德尔、埃舍尔、巴赫》[1]

侯世达定律指做复杂任务需要花费的时间总是很难预计的。[2]程序员经常会引用这一定律,特别是在进行有关提高效率的讨论时(如《人月神话》和极限编程)。[3]其自指的特征反映了即便意识到任务的复杂性,预计花费的时间仍是困难的。

这一定律最初是描述早年国际象棋人机对弈的现象。侯世达写道:“计算机下国际象棋的早期阶段,有人曾估计再要十年的时间计算机(或程序)就能得到世界冠军。可是,十年过去之后,计算机要成为世界冠军似乎还要再过十年……”他将这一现象看作是递归化的侯世达定律的一个例证。

参考文献 编辑

  1. ^ Gödel, Escher, Bach: An Eternal Golden Braid. 20th anniversary ed., 1999, p. 152. ISBN 0-465-02656-7
  2. ^ Waters, Donald J.; Commission on Preservation and Access. Electronic technologies and preservation. Commission on Preservation and Access. 1992 [June 8, 2011]. (原始内容存档于2020-10-09). 
  3. ^ David M. Goldschmidt. The trials and tribulations of a cottage industrialist. InfoWorld (InfoWorld Media Group, Inc.). October 3, 1983, 5 (40): 16 [June 8, 2011]. (原始内容存档于2020-10-09).