Изменения

Перейти к: навигация, поиск

Квайны

470 байт убрано, 12:22, 4 января 2015
Нет описания правки
{{Определение
|definition='''Квайном''' ('''куайном, англ. <i>quine'''</i>) <ref name=name1/> называется программа, которая выводит свой исходный код. При этом, программа не должна использовать внешние данные (например, читать файл со своим исходным кодом).}}==Происхождение названия==Название "квайн" было предложено [http://ru.wikipedia.org/wiki/Хофштадтер,_Дуглас Дугласом Хофштадтером], в его известной книге "Гёдель, Эшер, Бах: Эта бесконечная гирлянда" в честь американского логика и философа [http://ru.wikipedia.org/wiki/Куайн,_Уиллард_Ван_Орман Уилларда Ван Ормана Квайна], который углублённо изучал явление [http://en.wikipedia.org/wiki/Indirect_self-reference косвенного самоупоминания]. в частности, это явление можно проиллюстрировать следующим парадоксальным утверждением, известном как парадокс Квайна: {{Теорема|about=парадокс Квайна|statement="Становится ложным, когда добавляется к собственной цитате" становится ложным, когда добавляется к собственной цитате.
}}
==Доказательство существования==
}}
Таким образом, следуя нашему доказательству, чтобы написать мульти-квайн мы будем использовать интроны. У нас есть <tex>r</tex> программ, т.е. <tex>r</tex> сегментов кода (на каждом языке); кроме того, каждая из <tex>r</tex> программ имеет в дополнение к сегменту кода <tex>r</tex> сегментов данных, каждая из которых представляет собой код на определённом языке (т.е. <tex>r-1</tex> интрон + сегмент данных программы). Когда программу <tex>i</tex> (имеющую сегмент кода под номером <tex>i</tex> на языке <tex>L_i</tex>) просят вывести исходный код программы <tex>j</tex>, она использует один из своих интронов, чтобы вывести сегмент кода программы <tex>j</tex>, а затем использует все интроны и свой сегмент данных для вывода сегмента данных программы <tex>j</tex>.
 
== Источники информации ==
* [http://www.madore.org/~david/computers/quine.html Madore.org - Quines (self-replicating programs)]
* [http://habrahabr.ru/post/188378/ Хабрахабр - Мультиязыковые квайны]
* [http://habrahabr.ru/post/128191/ Хабрахабр - Как писать квайны]
 
== Примечания ==
<references>
<ref name=name1>Название "квайн" было предложено [http://ru.wikipedia.org/wiki/Хофштадтер,_Дуглас Дугласом Хофштадтером], в его известной книге "Гёдель, Эшер, Бах: Эта бесконечная гирлянда" в честь американского логика и философа [http://ru.wikipedia.org/wiki/Куайн,_Уиллард_Ван_Орман Уилларда Ван Ормана Квайна], который углублённо изучал явление [http://en.wikipedia.org/wiki/Indirect_self-reference косвенного самоупоминания].</ref>
</references>
[[Категория: Теория формальных языков]]
[[Категория: Теория вычислимости]]
Анонимный участник

Навигация