Участник:Shersh/Теорема о рекурсии — различия между версиями
Shersh (обсуждение | вклад) (начата Колмогоровская сложность) |
Shersh (обсуждение | вклад) (набросок док-ва Колмогоровской сложности) |
||
| Строка 7: | Строка 7: | ||
}} | }} | ||
=== Пример === | === Пример === | ||
| − | Колмогоровская сложность программы, выводящей <tex> n </tex> нулей <tex> K(0^n) \leqslant \log{n} + c </tex>. Просто программа, в которой записано <tex> n </tex> нулей. Но можно записать и более короткую программу, например вот такую: | + | Колмогоровская сложность программы, выводящей <tex> n </tex> нулей <tex> K(0^n) \leqslant \log{n} + c </tex>. Просто программа, в которой записано <tex> n </tex> нулей. Но можно записать и более короткую программу для больших <tex> n </tex>, например вот такую: |
<code> | <code> | ||
<tex>p_n</tex>(): | <tex>p_n</tex>(): | ||
'''for''' i = 1..n | '''for''' i = 1..n | ||
| − | print 0 | + | print(0) |
</code> | </code> | ||
| Строка 19: | Строка 19: | ||
|statement=Колмогоровская сложность {{---}} невычислимая функция. | |statement=Колмогоровская сложность {{---}} невычислимая функция. | ||
|proof= | |proof= | ||
| + | <tex> \forall x > x_0: K(x) > f(x)</tex>, если только <tex>f \leqslant const </tex> или <tex> f </tex> {{---}} невычислима. | ||
| + | Допустим, что <tex> K </tex> вычислима, тогда напишем такую программу: | ||
| + | <code> | ||
| + | p(<tex>\varepsilon</tex>): | ||
| + | '''foreach''' x <tex>\in ~ \Sigma^* </tex> // перебираем слова по возрастанию длины | ||
| + | '''if''' <tex> K(x) > |p|</tex> | ||
| + | print(x) | ||
| + | exit | ||
| + | </code> | ||
| + | |||
| + | Начиная с <tex> x_0 </tex>, <tex> f(x) > |p| </tex>. | ||
}} | }} | ||
== Busy beaver == | == Busy beaver == | ||
Версия 16:10, 28 декабря 2013
Содержание
Неразрешимость универсального языка
Теорема Успенского-Райса
Колмогоровская сложность
| Определение: |
| Колмогоровской сложностью строки называется функция , которая равна минимальной длине программы . |
Пример
Колмогоровская сложность программы, выводящей нулей . Просто программа, в которой записано нулей. Но можно записать и более короткую программу для больших , например вот такую:
():
for i = 1..n
print(0)
| Теорема (Невычислимость Колмогоровской сложности): |
Колмогоровская сложность — невычислимая функция. |
| Доказательство: |
|
, если только или — невычислима. Допустим, что вычислима, тогда напишем такую программу:
p(): foreach x // перебираем слова по возрастанию длины if print(x) exit Начиная с , . |