Колмогоровская сложность — различия между версиями
(→Теорема Хайтина о неполноте) |
|||
Строка 84: | Строка 84: | ||
}} | }} | ||
− | == | + | ==Применение== |
+ | ===Альтернативное доказательство теоремы Гёделя о неполноте=== | ||
+ | [http://ru.wikipedia.org/wiki/%D0%A5%D0%B0%D0%B9%D1%82%D0%B8%D0%BD,_%D0%93%D1%80%D0%B5%D0%B3%D0%BE%D1%80%D0%B8 Г. Хайтин] заметил следующее: | ||
+ | {{Утверждение | ||
+ | |statement= В данной фиксированной системе вывода существует недоказуемое утверждение вида <tex>KS(x) \geqslant n</tex> | ||
+ | |proof= | ||
+ | Выпишем множество пар <tex>\{(x,n) |\ </tex> утверждение <tex>KS(x) \geqslant n</tex> доказуемо <tex>\}</tex>. Возможны два варианта: | ||
+ | * Все <tex>n \leqslant n_0</tex>. Это означает, что для всех строк будет доказуемо только <tex>KS(x) \geqslant n_0</tex>. Но т.к. мы знаем, что <tex>KS(x)</tex> неограничена, то существуют истинные, но недоказуемые утверждения. | ||
+ | * В этом множестве встречаются сколь угодно большие <tex>n</tex>, т.е. есть бесконечная последовательность <tex>(x_i, n_i)</tex>, в которой <tex>n_{i+1} > n_i</tex>. Заметим, что эта последовательность задает график какой-то функции. А если график функции перечислим, то сама функция является вычислимой. Также заметим, что всегда выполняется условие <tex>KS(x_i) \geqslant n_i</tex>, т.е. эта вычислимая функция является нижней оценкой на <tex>KS(x)</tex>, а мы знаем, что такие функции обязаны быть ограниченными. Противоречие. | ||
+ | }} | ||
+ | Заметим, что во всех множествах пар все <tex>n</tex> ограничены какой-то константой, следовательно существует огромное число истинных, но недоказуемых утверждений вида <tex>KS(x) \geqslant n</tex> | ||
== Источники == | == Источники == |
Версия 18:22, 4 января 2015
Колмогоровскую сложность можно рассматривать как способ измерения количества информации в строке.
Но как понять, какое количество информации содержит в себе строка? Один из классических способов — это подсчет количества битов (число, пропорциональное длине строки). Рассмотрим следующий пример:
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Понятно, что эту строку можно описать более компактно на естественном языке, "128 нулей", всего 9 символов.
Можем дать следующее определение. Количество информации, которое несет строка — это размер архива, полученного сжатием строки каким-то конкретным архиватором (например, LZW). Это более нетривиальная задача, но мы можем придумать строку, которая явно несет в себе мало информации, но которую архиватор тем не менее не сожмет.
Еще более сильное определение. Количество информации, которое несет строка — это размер архива, сжатого максимальным образом, самым лучшим архиватором. Но тогда встает вопрос, почему такой архиватор существует. На самом деле он есть, и в некотором смысле колмогоровская сложность строки — это размер наименьшей программы, которая печатает эту строку.
Содержание
Определения
Декомпрессор
Определение: |
Назовём декомпрессором | алгоритм, восстанавливающий разжатый текст из сжатого.
Примечание: для простоты мы будем рассматривать бинарный алфавит, но все утверждения мы можем обобщить на строки произвольного алфавита.
Относительно каждого декомпрессора мы можем определить понятие сложности строки:
Определение: |
Пусть Если такого не существует, тогда . | , тогда назовем колмогоровской сложностью строки , размер минимальной строки , такой, что .
Примеры
- , тогда
- , тогда
Определение: |
Будем говорить, что декомпрессор | лучше, чем декомпрессор , если .
Теорема: |
Существует оптимальный декомпрессор , который лучше всех остальных. |
Доказательство: |
Пусть |
Определение: |
Пусть | — это оптимальный декомпрессор, тогда колмогоровская сложность .
Утверждение: |
Очевидно, что если и — оптимальные декомпрессоры, то |
Свойства
Тривиальные свойства
- Если
( запишем как пару — информация об алгоритме и информация о строке , по предыдущему пункту нам нужно закодировать только сложность первого аргумента, что есть константа)
— алгоритм, то - Принцип несжимаемости:
(Какой бы у нас ни был архиватор, он не может все строки фиксированной длины делать меньше. Строк длины меньшей, чем — , мы не сможем деархивировать) - — невычислимая функция.
Докажем последнее свойство:
Невычислимость
Лемма: |
Если — вычислимая функция, такая, что , тогда . |
Доказательство: |
Пусть Вспомним, что , следовательно . Отсюда: , но ясно, что при больших это неравенство не выполняется. Противоречие. |
Примечание: если функция
определена только на , то лемма остается в силе с единственным отличием, что пробегает все значения из в порядке перечисления.Утверждение (следствие из леммы): |
невычислима. |
Пусть | вычислима. Возьмем вместо . Очевидно, что , но из принципа несжимаемости ясно, что неограничена. Противоречие. Следовательно, невычислима.
Применение
Альтернативное доказательство теоремы Гёделя о неполноте
Г. Хайтин заметил следующее:
Утверждение: |
В данной фиксированной системе вывода существует недоказуемое утверждение вида |
Выпишем множество пар утверждение доказуемо . Возможны два варианта:
|
Заметим, что во всех множествах пар все
ограничены какой-то константой, следовательно существует огромное число истинных, но недоказуемых утверждений вида