Квайны — различия между версиями
Xottab (обсуждение | вклад) (→Происхождение названия) |
|||
Строка 10: | Строка 10: | ||
|statement= | |statement= | ||
"Становится ложным, когда добавляется к собственной цитате" становится ложным, когда добавляется к собственной цитате. | "Становится ложным, когда добавляется к собственной цитате" становится ложным, когда добавляется к собственной цитате. | ||
+ | }} | ||
+ | ==Доказательство существования== | ||
+ | {{ | ||
+ | Теорема | ||
+ | |about=о существовании квайнов | ||
+ | |statement= На любом языке программирования можно написать квайн | ||
+ | |proof= Рассмотрим функцию <tex>h(t)</tex>, которая по данной программе <tex>t</tex> печатает её исходный код. Очевидно, она вычислима. По [http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B8#.D0.A2.D0.B5.D0.BE.D1.80.D0.B5.D0.BC.D0.B0_.D0.BE_.D0.BD.D0.B5.D0.BF.D0.BE.D0.B4.D0.B2.D0.B8.D0.B6.D0.BD.D0.BE.D0.B9_.D1.82.D0.BE.D1.87.D0.BA.D0.B5 теореме о неподвижной точке]существует такая программа <tex>n</tex>, что <tex>h(n)</tex> и <tex>n</tex> ведут себя одинаково, то есть печатают свой код. Таким образом, <tex>n</tex> печатает код <tex>n</tex>, т.е. является квайном. | ||
}} | }} | ||
== Ссылки == | == Ссылки == | ||
* [http://www.madore.org/~david/computers/quine.html Quines (self-replicating programs)] | * [http://www.madore.org/~david/computers/quine.html Quines (self-replicating programs)] |
Версия 22:31, 15 декабря 2014
Эта статья находится в разработке!
Определение: |
Квайном (куайном, quine) называется программа, которая выводит свой исходный код. При этом, программа не должна использовать внешние данные (например, читать файл со своим исходным кодом). |
Происхождение названия
Название "квайн" было предложено Дугласом Хофштадтером, в его известной книге "Гёдель, Эшер, Бах: Эта бесконечная гирлянда" в честь американского логика и философа Уилларда Ван Ормана Квайна, который углублённо изучал явление косвенного самоупоминания. в частности, это явление можно проиллюстрировать следующим парадоксальным утверждением, известном как парадокс Квайна:
Теорема (парадокс Квайна): |
"Становится ложным, когда добавляется к собственной цитате" становится ложным, когда добавляется к собственной цитате. |
Доказательство существования
Теорема (о существовании квайнов): |
На любом языке программирования можно написать квайн |
Доказательство: |
Рассмотрим функцию теореме о неподвижной точкесуществует такая программа , что и ведут себя одинаково, то есть печатают свой код. Таким образом, печатает код , т.е. является квайном. | , которая по данной программе печатает её исходный код. Очевидно, она вычислима. По