Материалы книги базируются как на моем собственном исследовательском опыте в области сложности вычислений, так и на знаниях, почерпнутых у тысяч других теоретиков и практиков, разделяющих мой интерес к проблеме P и NP. Основой послужили также некоторые статьи из моего блога Computational Complexity.
Приведенные в книге истории, примеры и результаты взяты из различных источников, список которых вы найдете ниже.
Все дополнения и изменения, касающиеся источников и ссылок, а также найденные в тексте серьезные ошибки будут выкладываться на сайт книги: http://press. princeton.edu/titles/9937.html. Помимо этого, на сайте приводятся ссылки на использованные статьи, материалы выступлений и некоторую дополнительную информацию, а также список рекомендуемой к прочтению литературы по теме.
Lance Fortnow, «The Status of the P versus NP Problem». Communications of the ACM 52, no. 9 (September 2009): 78–86.
Информация о разработке анатомически правильной искусственной руки подчерпнута из выступления Йоки Мацуока на конференции Ассоциации по исследованиям в области вычислительной техники (CRA) в Сноуберде 18 июля 2010 года.
Примеры задач коммивояжера созданы программой Марка Даскина, см. http://sitemaker.umich.edu/msdaskin/software.
Почти все в этой главе – вымысел автора, созданный с целью дать читателю представление о фантастическом мире, в котором P = NP. Исключение составляет раздел про «бритву Оккама».
Цитата из Кука – на самом деле не совсем цитата; я перефразировал абзац из основополагающей работы ученого, используя более современные понятия. Приведу здесь оригинальный текст:
«Теорема дает нам основания полагать, что множество тавтологий на самом деле очень интересное, поскольку оно, по всей видимости, не принадлежит L*. Думаю, стоит попытаться доказать данную гипотезу: в теории сложности это стало бы величайшим прорывом».
Steve Cook, «The Complexity of Theorem-Proving Procedures», Proceedings of the Third Annual ACM Symposium on Theory of Computing (New York: ACM), 151–58.
Richard Karp, «Reducibility among Combinatorial Problems», Complexity of Computer Computations 40, no. 4 (1972): 85–103.
Bob Sehlinger (author) and Len Testa (contributor), The Unofficial Guide Walt Disney World 2010 (New York: Wiley, 2010).
Раздел «Что в имени?» основывается на работе Donald Knuth, «A Terminological Proposal», ACM SIGACT News 6, no. 1 (January 1974): 12–18.
Kevin Sack, «60 Lives, 30 Kidneys, All Linked», New York Times, February 19, 2012, A1.
Глава пятая
Здесь по большей части излагаются материалы из следующих источников.
Lance Fortnow and Steve Homer, «A Short History of Computational Complexity», Bulletin of the European Association for Theoretical Computer Science 80 (June 2003); «Computational Complexity» column.
Dennis Shasha and Cathy Lazere, «A Good Solution Is Hard to Find», Out of Their Minds: The Lives and Discoveries of 15 Great Computer Scientists (New York: Springer, 1995).
Juris Hartmanis, «Observations about the Development of Theoretical Computer Science», Annals of the History of Computing 3, no. 1 (January 1981): 42–51.
B. A. Trakhtenbrot, «A Survey of Russian Approaches to Perebor (Brute-Force Search) Algorithms», Annals of the History of Computing 6, no. 4 (October 1984): 384–400.
Michael Sipser, «The History and Status of the P versus NP Question», Proceedings of the 24th Annual ACM Symposium on Theory of Computing (New York: ACM, 1992), 603–18. (В этой статье приводится оригинал письма Гёделя фон Нейману и его английский перевод.)
Дополнительным источником послужили личные беседы с некоторыми учеными, включая Стивена Кука и Леонида Левина.
Колмогоров действительно пробовал свои силы в истории; данный факт подтвердили российские участники международного семинара «Колмогоровская сложность и ее приложения», проведенного в честь столетия со дня рождения ученого (Дагштул, Германия, 27 апреля – 2 мая 2003 года). 1 мая 2003 года я написал об этом в своем блоге Computational Complexity.
Историю о том, как Колмогоров спас теорию вероятностей, однажды упомянул Александр Разборов; она также приводится в блоге http://ansobol.livejournal.com/12551.html?thread=235015. Из текста можно заключить, что это все-таки, наверное, анекдот.
Литература
Alan Cobham, «The Intrinsic Computational Difficulty of Functions», in Proceedings of the 1964 International Congress for Logic, Methodology, and Philosophy of Science, 24–30.
Stephen Cook, «The Complexity of Theorem-Proving Procedures», in Proceedings of the Third Annual ACM Symposium on Theory of Computing (New York: ACM, 1971), 151–58.
Jack Edmonds, «Paths, Trees and Flowers», Canadian Journal of Mathematics 17 (1965): 449–67.
Juris Hartmanis and Richard Stearns, «On the Computational Complexity of Algorithms», Transactions of the American Mathematical Society 117 (1965): 385–406.
Richard Karp, «Reducibility among Combinatorial Problems», Complexity of Computer Computations 40, no. 4 (1972): 85–103.
Левин Л. А. Универсальные задачи перебора // Проблемы передачи информации, т. 9 (1973), вып. 3, с. 115–116.
Warren McCulloch and Walter Pitts, «A Logical Calculus of the Ideas Immanent in Nervous Activity», Bulletin of Mathematical Biology 5, no. 4 (1943): 115–33.
Panel discussion, Complexity of Computer Computations 40, no. 4 (1972): 169–85.