Александр Шень — Неразрешимые задачи и нижние оценки

144
Неразрешимые задачи и нижние оценки [email protected], LIRMM, Montpellier, ИППИ 13 сентября 2014 [email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

description

 

Transcript of Александр Шень — Неразрешимые задачи и нижние оценки

Page 1: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимые задачи и нижние оценки

[email protected], LIRMM, Montpellier,ИППИ

13 сентября 2014

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 2: Александр Шень — Неразрешимые задачи и нижние оценки

Abstract

Понятно, зачем теоретики находят эффективныеалгоритмы решения задач какого-то класса, а потомпрактики их реализуют. Но теоретики стараются такжедоказать, что для некоторых задач эффективныхалгоритмов (и даже вообще никаких алгоритмов) несуществует. Что при этом им удаётся и не удаётся, изачем это может быть нужно? Речь пойдёт о «проблемеостановки» и задачах, к которым она сводится, ознаменитом классе NP, а также о простых нижнихоценках.

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 3: Александр Шень — Неразрешимые задачи и нижние оценки

Примение компьютеров: условная схема

жизненная ситуация, требующая улучшенийматематическая (формальная) постановказадачиалгоритм, решающий эту задачупрограммная реализация этого алгоритма«внедрение»

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 4: Александр Шень — Неразрешимые задачи и нижние оценки

Примение компьютеров: условная схема

жизненная ситуация, требующая улучшений

математическая (формальная) постановказадачиалгоритм, решающий эту задачупрограммная реализация этого алгоритма«внедрение»

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 5: Александр Шень — Неразрешимые задачи и нижние оценки

Примение компьютеров: условная схема

жизненная ситуация, требующая улучшенийматематическая (формальная) постановказадачи

алгоритм, решающий эту задачупрограммная реализация этого алгоритма«внедрение»

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 6: Александр Шень — Неразрешимые задачи и нижние оценки

Примение компьютеров: условная схема

жизненная ситуация, требующая улучшенийматематическая (формальная) постановказадачиалгоритм, решающий эту задачу

программная реализация этого алгоритма«внедрение»

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 7: Александр Шень — Неразрешимые задачи и нижние оценки

Примение компьютеров: условная схема

жизненная ситуация, требующая улучшенийматематическая (формальная) постановказадачиалгоритм, решающий эту задачупрограммная реализация этого алгоритма

«внедрение»

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 8: Александр Шень — Неразрешимые задачи и нижние оценки

Примение компьютеров: условная схема

жизненная ситуация, требующая улучшенийматематическая (формальная) постановказадачиалгоритм, решающий эту задачупрограммная реализация этого алгоритма«внедрение»

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 9: Александр Шень — Неразрешимые задачи и нижние оценки

Возможные препятствия

жизнь требует не этого (АСУ советскоговремени)математическая постановка не адекватнареальной задачематематическая задача алгоритмическинеразрешиманеизвестен быстрый алгоритмпрограмма неправильнааппаратные проблемы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 10: Александр Шень — Неразрешимые задачи и нижние оценки

Возможные препятствия

жизнь требует не этого (АСУ советскоговремени)

математическая постановка не адекватнареальной задачематематическая задача алгоритмическинеразрешиманеизвестен быстрый алгоритмпрограмма неправильнааппаратные проблемы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 11: Александр Шень — Неразрешимые задачи и нижние оценки

Возможные препятствия

жизнь требует не этого (АСУ советскоговремени)математическая постановка не адекватнареальной задаче

математическая задача алгоритмическинеразрешиманеизвестен быстрый алгоритмпрограмма неправильнааппаратные проблемы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 12: Александр Шень — Неразрешимые задачи и нижние оценки

Возможные препятствия

жизнь требует не этого (АСУ советскоговремени)математическая постановка не адекватнареальной задачематематическая задача алгоритмическинеразрешима

неизвестен быстрый алгоритмпрограмма неправильнааппаратные проблемы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 13: Александр Шень — Неразрешимые задачи и нижние оценки

Возможные препятствия

жизнь требует не этого (АСУ советскоговремени)математическая постановка не адекватнареальной задачематематическая задача алгоритмическинеразрешиманеизвестен быстрый алгоритм

программа неправильнааппаратные проблемы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 14: Александр Шень — Неразрешимые задачи и нижние оценки

Возможные препятствия

жизнь требует не этого (АСУ советскоговремени)математическая постановка не адекватнареальной задачематематическая задача алгоритмическинеразрешиманеизвестен быстрый алгоритмпрограмма неправильна

аппаратные проблемы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 15: Александр Шень — Неразрешимые задачи и нижние оценки

Возможные препятствия

жизнь требует не этого (АСУ советскоговремени)математическая постановка не адекватнареальной задачематематическая задача алгоритмическинеразрешиманеизвестен быстрый алгоритмпрограмма неправильнааппаратные проблемы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 16: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимые проблемы: что это значит?

«допрыгнуть до Луны» [не удастся]бесконечно много простых «близнецов»? [мыникогда не докажем и не опровергнем этого]10 проблема Гильберта: узнать, имеет лиданный многочлен с целыми коэффициентами(и несколькими переменными) целочисленныйнуль (все переменные целые) [не существуеталгоритма, который даёт правильный ответ навсе такие вопросы]разложение на множители [нет быстрогоалгоритма]

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 17: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимые проблемы: что это значит?

«допрыгнуть до Луны» [не удастся]

бесконечно много простых «близнецов»? [мыникогда не докажем и не опровергнем этого]10 проблема Гильберта: узнать, имеет лиданный многочлен с целыми коэффициентами(и несколькими переменными) целочисленныйнуль (все переменные целые) [не существуеталгоритма, который даёт правильный ответ навсе такие вопросы]разложение на множители [нет быстрогоалгоритма]

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 18: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимые проблемы: что это значит?

«допрыгнуть до Луны» [не удастся]бесконечно много простых «близнецов»? [мыникогда не докажем и не опровергнем этого]

10 проблема Гильберта: узнать, имеет лиданный многочлен с целыми коэффициентами(и несколькими переменными) целочисленныйнуль (все переменные целые) [не существуеталгоритма, который даёт правильный ответ навсе такие вопросы]разложение на множители [нет быстрогоалгоритма]

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 19: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимые проблемы: что это значит?

«допрыгнуть до Луны» [не удастся]бесконечно много простых «близнецов»? [мыникогда не докажем и не опровергнем этого]10 проблема Гильберта: узнать, имеет лиданный многочлен с целыми коэффициентами(и несколькими переменными) целочисленныйнуль (все переменные целые) [не существуеталгоритма, который даёт правильный ответ навсе такие вопросы]

разложение на множители [нет быстрогоалгоритма]

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 20: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимые проблемы: что это значит?

«допрыгнуть до Луны» [не удастся]бесконечно много простых «близнецов»? [мыникогда не докажем и не опровергнем этого]10 проблема Гильберта: узнать, имеет лиданный многочлен с целыми коэффициентами(и несколькими переменными) целочисленныйнуль (все переменные целые) [не существуеталгоритма, который даёт правильный ответ навсе такие вопросы]разложение на множители [нет быстрогоалгоритма]

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 21: Александр Шень — Неразрешимые задачи и нижние оценки

«Проблема остановки»

утверждения о несуществовании алгоритматребуют точно определить это понятиетеория алгоритмов (1930+)первые «теоретические процессоры» и«теоретические языки программирования»определить по программе, остановится ли онанет алгоритма, который останавливается налюбом входе p и говорит да/нет (остановитсяли программа p)не просто сейчас нет, а не может быть

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 22: Александр Шень — Неразрешимые задачи и нижние оценки

«Проблема остановки»

утверждения о несуществовании алгоритматребуют точно определить это понятие

теория алгоритмов (1930+)первые «теоретические процессоры» и«теоретические языки программирования»определить по программе, остановится ли онанет алгоритма, который останавливается налюбом входе p и говорит да/нет (остановитсяли программа p)не просто сейчас нет, а не может быть

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 23: Александр Шень — Неразрешимые задачи и нижние оценки

«Проблема остановки»

утверждения о несуществовании алгоритматребуют точно определить это понятиетеория алгоритмов (1930+)

первые «теоретические процессоры» и«теоретические языки программирования»определить по программе, остановится ли онанет алгоритма, который останавливается налюбом входе p и говорит да/нет (остановитсяли программа p)не просто сейчас нет, а не может быть

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 24: Александр Шень — Неразрешимые задачи и нижние оценки

«Проблема остановки»

утверждения о несуществовании алгоритматребуют точно определить это понятиетеория алгоритмов (1930+)первые «теоретические процессоры» и«теоретические языки программирования»

определить по программе, остановится ли онанет алгоритма, который останавливается налюбом входе p и говорит да/нет (остановитсяли программа p)не просто сейчас нет, а не может быть

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 25: Александр Шень — Неразрешимые задачи и нижние оценки

«Проблема остановки»

утверждения о несуществовании алгоритматребуют точно определить это понятиетеория алгоритмов (1930+)первые «теоретические процессоры» и«теоретические языки программирования»определить по программе, остановится ли она

нет алгоритма, который останавливается налюбом входе p и говорит да/нет (остановитсяли программа p)не просто сейчас нет, а не может быть

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 26: Александр Шень — Неразрешимые задачи и нижние оценки

«Проблема остановки»

утверждения о несуществовании алгоритматребуют точно определить это понятиетеория алгоритмов (1930+)первые «теоретические процессоры» и«теоретические языки программирования»определить по программе, остановится ли онанет алгоритма, который останавливается налюбом входе p и говорит да/нет (остановитсяли программа p)

не просто сейчас нет, а не может быть

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 27: Александр Шень — Неразрешимые задачи и нижние оценки

«Проблема остановки»

утверждения о несуществовании алгоритматребуют точно определить это понятиетеория алгоритмов (1930+)первые «теоретические процессоры» и«теоретические языки программирования»определить по программе, остановится ли онанет алгоритма, который останавливается налюбом входе p и говорит да/нет (остановитсяли программа p)не просто сейчас нет, а не может быть

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 28: Александр Шень — Неразрешимые задачи и нижние оценки

Варианты проблемы остановки сводятся друг к другу

останавливается ли программа без входа?(exe-файл, процедура без параметров)останавливается ли данная программа наданном входе (процедура с параметром)сводимость: в одну сторону можно добавитьфиктивный параметрв другую: compiled-in constantзависит ли от процессора, ОС, языкапрограммирования? эмуляторы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 29: Александр Шень — Неразрешимые задачи и нижние оценки

Варианты проблемы остановки сводятся друг к другу

останавливается ли программа без входа?(exe-файл, процедура без параметров)

останавливается ли данная программа наданном входе (процедура с параметром)сводимость: в одну сторону можно добавитьфиктивный параметрв другую: compiled-in constantзависит ли от процессора, ОС, языкапрограммирования? эмуляторы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 30: Александр Шень — Неразрешимые задачи и нижние оценки

Варианты проблемы остановки сводятся друг к другу

останавливается ли программа без входа?(exe-файл, процедура без параметров)останавливается ли данная программа наданном входе (процедура с параметром)

сводимость: в одну сторону можно добавитьфиктивный параметрв другую: compiled-in constantзависит ли от процессора, ОС, языкапрограммирования? эмуляторы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 31: Александр Шень — Неразрешимые задачи и нижние оценки

Варианты проблемы остановки сводятся друг к другу

останавливается ли программа без входа?(exe-файл, процедура без параметров)останавливается ли данная программа наданном входе (процедура с параметром)сводимость: в одну сторону можно добавитьфиктивный параметр

в другую: compiled-in constantзависит ли от процессора, ОС, языкапрограммирования? эмуляторы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 32: Александр Шень — Неразрешимые задачи и нижние оценки

Варианты проблемы остановки сводятся друг к другу

останавливается ли программа без входа?(exe-файл, процедура без параметров)останавливается ли данная программа наданном входе (процедура с параметром)сводимость: в одну сторону можно добавитьфиктивный параметрв другую: compiled-in constant

зависит ли от процессора, ОС, языкапрограммирования? эмуляторы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 33: Александр Шень — Неразрешимые задачи и нижние оценки

Варианты проблемы остановки сводятся друг к другу

останавливается ли программа без входа?(exe-файл, процедура без параметров)останавливается ли данная программа наданном входе (процедура с параметром)сводимость: в одну сторону можно добавитьфиктивный параметрв другую: compiled-in constantзависит ли от процессора, ОС, языкапрограммирования? эмуляторы

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 34: Александр Шень — Неразрешимые задачи и нижние оценки

В чём сила проблемы остановки?

к ней сводятся многие другие проблемыесли бы она была разрешима, то и многодругих проблем было бы разрешимоверна ли теорема Ферма: xn + yn 6= zn принатуральных x , y , z > 0 и n > 2есть ли нечётные совершенные числабесконечно ли множество простых близнецов(двухшаговая сводимость)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 35: Александр Шень — Неразрешимые задачи и нижние оценки

В чём сила проблемы остановки?

к ней сводятся многие другие проблемы

если бы она была разрешима, то и многодругих проблем было бы разрешимоверна ли теорема Ферма: xn + yn 6= zn принатуральных x , y , z > 0 и n > 2есть ли нечётные совершенные числабесконечно ли множество простых близнецов(двухшаговая сводимость)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 36: Александр Шень — Неразрешимые задачи и нижние оценки

В чём сила проблемы остановки?

к ней сводятся многие другие проблемыесли бы она была разрешима, то и многодругих проблем было бы разрешимо

верна ли теорема Ферма: xn + yn 6= zn принатуральных x , y , z > 0 и n > 2есть ли нечётные совершенные числабесконечно ли множество простых близнецов(двухшаговая сводимость)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 37: Александр Шень — Неразрешимые задачи и нижние оценки

В чём сила проблемы остановки?

к ней сводятся многие другие проблемыесли бы она была разрешима, то и многодругих проблем было бы разрешимоверна ли теорема Ферма: xn + yn 6= zn принатуральных x , y , z > 0 и n > 2

есть ли нечётные совершенные числабесконечно ли множество простых близнецов(двухшаговая сводимость)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 38: Александр Шень — Неразрешимые задачи и нижние оценки

В чём сила проблемы остановки?

к ней сводятся многие другие проблемыесли бы она была разрешима, то и многодругих проблем было бы разрешимоверна ли теорема Ферма: xn + yn 6= zn принатуральных x , y , z > 0 и n > 2есть ли нечётные совершенные числа

бесконечно ли множество простых близнецов(двухшаговая сводимость)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 39: Александр Шень — Неразрешимые задачи и нижние оценки

В чём сила проблемы остановки?

к ней сводятся многие другие проблемыесли бы она была разрешима, то и многодругих проблем было бы разрешимоверна ли теорема Ферма: xn + yn 6= zn принатуральных x , y , z > 0 и n > 2есть ли нечётные совершенные числабесконечно ли множество простых близнецов(двухшаговая сводимость)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 40: Александр Шень — Неразрешимые задачи и нижние оценки

Диагональный аргумент Кантора

бесконечные двоичные дроби: .0100101111 . . .множество всех таких дробей несчётнонельзя их все пронумероватьесли есть последовательность дробейa1 = .a1

1a12a

13 . . ., a2 = a2

1a22a

23 . . ., a3 = . . ., то

есть и дробь, не входящая в этупоследовательностьпочему: добиваемся отличия от i-ой дроби впозиции ibi = ai

i ⊕ 1

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 41: Александр Шень — Неразрешимые задачи и нижние оценки

Диагональный аргумент Кантора

бесконечные двоичные дроби: .0100101111 . . .

множество всех таких дробей несчётнонельзя их все пронумероватьесли есть последовательность дробейa1 = .a1

1a12a

13 . . ., a2 = a2

1a22a

23 . . ., a3 = . . ., то

есть и дробь, не входящая в этупоследовательностьпочему: добиваемся отличия от i-ой дроби впозиции ibi = ai

i ⊕ 1

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 42: Александр Шень — Неразрешимые задачи и нижние оценки

Диагональный аргумент Кантора

бесконечные двоичные дроби: .0100101111 . . .множество всех таких дробей несчётно

нельзя их все пронумероватьесли есть последовательность дробейa1 = .a1

1a12a

13 . . ., a2 = a2

1a22a

23 . . ., a3 = . . ., то

есть и дробь, не входящая в этупоследовательностьпочему: добиваемся отличия от i-ой дроби впозиции ibi = ai

i ⊕ 1

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 43: Александр Шень — Неразрешимые задачи и нижние оценки

Диагональный аргумент Кантора

бесконечные двоичные дроби: .0100101111 . . .множество всех таких дробей несчётнонельзя их все пронумеровать

если есть последовательность дробейa1 = .a1

1a12a

13 . . ., a2 = a2

1a22a

23 . . ., a3 = . . ., то

есть и дробь, не входящая в этупоследовательностьпочему: добиваемся отличия от i-ой дроби впозиции ibi = ai

i ⊕ 1

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 44: Александр Шень — Неразрешимые задачи и нижние оценки

Диагональный аргумент Кантора

бесконечные двоичные дроби: .0100101111 . . .множество всех таких дробей несчётнонельзя их все пронумероватьесли есть последовательность дробейa1 = .a1

1a12a

13 . . ., a2 = a2

1a22a

23 . . ., a3 = . . ., то

есть и дробь, не входящая в этупоследовательность

почему: добиваемся отличия от i-ой дроби впозиции ibi = ai

i ⊕ 1

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 45: Александр Шень — Неразрешимые задачи и нижние оценки

Диагональный аргумент Кантора

бесконечные двоичные дроби: .0100101111 . . .множество всех таких дробей несчётнонельзя их все пронумероватьесли есть последовательность дробейa1 = .a1

1a12a

13 . . ., a2 = a2

1a22a

23 . . ., a3 = . . ., то

есть и дробь, не входящая в этупоследовательностьпочему: добиваемся отличия от i-ой дроби впозиции i

bi = aii ⊕ 1

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 46: Александр Шень — Неразрешимые задачи и нижние оценки

Диагональный аргумент Кантора

бесконечные двоичные дроби: .0100101111 . . .множество всех таких дробей несчётнонельзя их все пронумероватьесли есть последовательность дробейa1 = .a1

1a12a

13 . . ., a2 = a2

1a22a

23 . . ., a3 = . . ., то

есть и дробь, не входящая в этупоследовательностьпочему: добиваемся отличия от i-ой дроби впозиции ibi = ai

i ⊕ 1

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 47: Александр Шень — Неразрешимые задачи и нижние оценки

Вычислимый вариант диагонального аргумента

вычислимая дробь: есть алгоритм,вычисляющий, что стоит на любом заданномместевариант: есть программа, печатающая знакидроби (по очереди, никогда неостанавливается)все «известные» числа вычислимыно есть и невычислимые дробирасположим все программы впоследовательность, вычеркнем те, которые незадают дроби, и применим рассуждениеКантора

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 48: Александр Шень — Неразрешимые задачи и нижние оценки

Вычислимый вариант диагонального аргумента

вычислимая дробь: есть алгоритм,вычисляющий, что стоит на любом заданномместе

вариант: есть программа, печатающая знакидроби (по очереди, никогда неостанавливается)все «известные» числа вычислимыно есть и невычислимые дробирасположим все программы впоследовательность, вычеркнем те, которые незадают дроби, и применим рассуждениеКантора

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 49: Александр Шень — Неразрешимые задачи и нижние оценки

Вычислимый вариант диагонального аргумента

вычислимая дробь: есть алгоритм,вычисляющий, что стоит на любом заданномместевариант: есть программа, печатающая знакидроби (по очереди, никогда неостанавливается)

все «известные» числа вычислимыно есть и невычислимые дробирасположим все программы впоследовательность, вычеркнем те, которые незадают дроби, и применим рассуждениеКантора

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 50: Александр Шень — Неразрешимые задачи и нижние оценки

Вычислимый вариант диагонального аргумента

вычислимая дробь: есть алгоритм,вычисляющий, что стоит на любом заданномместевариант: есть программа, печатающая знакидроби (по очереди, никогда неостанавливается)все «известные» числа вычислимы

но есть и невычислимые дробирасположим все программы впоследовательность, вычеркнем те, которые незадают дроби, и применим рассуждениеКантора

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 51: Александр Шень — Неразрешимые задачи и нижние оценки

Вычислимый вариант диагонального аргумента

вычислимая дробь: есть алгоритм,вычисляющий, что стоит на любом заданномместевариант: есть программа, печатающая знакидроби (по очереди, никогда неостанавливается)все «известные» числа вычислимыно есть и невычислимые дроби

расположим все программы впоследовательность, вычеркнем те, которые незадают дроби, и применим рассуждениеКантора

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 52: Александр Шень — Неразрешимые задачи и нижние оценки

Вычислимый вариант диагонального аргумента

вычислимая дробь: есть алгоритм,вычисляющий, что стоит на любом заданномместевариант: есть программа, печатающая знакидроби (по очереди, никогда неостанавливается)все «известные» числа вычислимыно есть и невычислимые дробирасположим все программы впоследовательность, вычеркнем те, которые незадают дроби, и применим рассуждениеКантора

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 53: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимость проблемы остановки

почему в предыдущем нет противоречия?пусть проблема остановки разрешима (совходом)тогда построим вычислимую дробь,отличающуюся от всех вычислимых дробейпусть p1, p2, . . . , pn, . . . — все программы (вкаком-то порядке)некоторые вычисляют дроби (определены привсех i и дают нули и единицы)если pi(i) не останавливается, то bi = 0, а еслиостанавливается, то bi = 0 или 1, но bi 6= pi(i).

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 54: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимость проблемы остановки

почему в предыдущем нет противоречия?

пусть проблема остановки разрешима (совходом)тогда построим вычислимую дробь,отличающуюся от всех вычислимых дробейпусть p1, p2, . . . , pn, . . . — все программы (вкаком-то порядке)некоторые вычисляют дроби (определены привсех i и дают нули и единицы)если pi(i) не останавливается, то bi = 0, а еслиостанавливается, то bi = 0 или 1, но bi 6= pi(i).

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 55: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимость проблемы остановки

почему в предыдущем нет противоречия?пусть проблема остановки разрешима (совходом)

тогда построим вычислимую дробь,отличающуюся от всех вычислимых дробейпусть p1, p2, . . . , pn, . . . — все программы (вкаком-то порядке)некоторые вычисляют дроби (определены привсех i и дают нули и единицы)если pi(i) не останавливается, то bi = 0, а еслиостанавливается, то bi = 0 или 1, но bi 6= pi(i).

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 56: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимость проблемы остановки

почему в предыдущем нет противоречия?пусть проблема остановки разрешима (совходом)тогда построим вычислимую дробь,отличающуюся от всех вычислимых дробей

пусть p1, p2, . . . , pn, . . . — все программы (вкаком-то порядке)некоторые вычисляют дроби (определены привсех i и дают нули и единицы)если pi(i) не останавливается, то bi = 0, а еслиостанавливается, то bi = 0 или 1, но bi 6= pi(i).

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 57: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимость проблемы остановки

почему в предыдущем нет противоречия?пусть проблема остановки разрешима (совходом)тогда построим вычислимую дробь,отличающуюся от всех вычислимых дробейпусть p1, p2, . . . , pn, . . . — все программы (вкаком-то порядке)

некоторые вычисляют дроби (определены привсех i и дают нули и единицы)если pi(i) не останавливается, то bi = 0, а еслиостанавливается, то bi = 0 или 1, но bi 6= pi(i).

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 58: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимость проблемы остановки

почему в предыдущем нет противоречия?пусть проблема остановки разрешима (совходом)тогда построим вычислимую дробь,отличающуюся от всех вычислимых дробейпусть p1, p2, . . . , pn, . . . — все программы (вкаком-то порядке)некоторые вычисляют дроби (определены привсех i и дают нули и единицы)

если pi(i) не останавливается, то bi = 0, а еслиостанавливается, то bi = 0 или 1, но bi 6= pi(i).

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 59: Александр Шень — Неразрешимые задачи и нижние оценки

Неразрешимость проблемы остановки

почему в предыдущем нет противоречия?пусть проблема остановки разрешима (совходом)тогда построим вычислимую дробь,отличающуюся от всех вычислимых дробейпусть p1, p2, . . . , pn, . . . — все программы (вкаком-то порядке)некоторые вычисляют дроби (определены привсех i и дают нули и единицы)если pi(i) не останавливается, то bi = 0, а еслиостанавливается, то bi = 0 или 1, но bi 6= pi(i).

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 60: Александр Шень — Неразрешимые задачи и нижние оценки

Парадоксы самоприменимости

цирюльник, который бреет всех тех, кто небреется самприлагательные бывают самоприменимые(«русский», «трехсложный») инесамоприменимые («английский»,«односложный») – а «несамоприменимый»?множество всех множеств, которые несодержат себя в качестве элементапрограмма p: на входе x останавливается,если программа x несамоприменима (неостанавливается на входе x); будет ли pсамоприменимой?

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 61: Александр Шень — Неразрешимые задачи и нижние оценки

Парадоксы самоприменимости

цирюльник, который бреет всех тех, кто небреется сам

прилагательные бывают самоприменимые(«русский», «трехсложный») инесамоприменимые («английский»,«односложный») – а «несамоприменимый»?множество всех множеств, которые несодержат себя в качестве элементапрограмма p: на входе x останавливается,если программа x несамоприменима (неостанавливается на входе x); будет ли pсамоприменимой?

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 62: Александр Шень — Неразрешимые задачи и нижние оценки

Парадоксы самоприменимости

цирюльник, который бреет всех тех, кто небреется самприлагательные бывают самоприменимые(«русский», «трехсложный») инесамоприменимые («английский»,«односложный») – а «несамоприменимый»?

множество всех множеств, которые несодержат себя в качестве элементапрограмма p: на входе x останавливается,если программа x несамоприменима (неостанавливается на входе x); будет ли pсамоприменимой?

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 63: Александр Шень — Неразрешимые задачи и нижние оценки

Парадоксы самоприменимости

цирюльник, который бреет всех тех, кто небреется самприлагательные бывают самоприменимые(«русский», «трехсложный») инесамоприменимые («английский»,«односложный») – а «несамоприменимый»?множество всех множеств, которые несодержат себя в качестве элемента

программа p: на входе x останавливается,если программа x несамоприменима (неостанавливается на входе x); будет ли pсамоприменимой?

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 64: Александр Шень — Неразрешимые задачи и нижние оценки

Парадоксы самоприменимости

цирюльник, который бреет всех тех, кто небреется самприлагательные бывают самоприменимые(«русский», «трехсложный») инесамоприменимые («английский»,«односложный») – а «несамоприменимый»?множество всех множеств, которые несодержат себя в качестве элементапрограмма p: на входе x останавливается,если программа x несамоприменима (неостанавливается на входе x); будет ли pсамоприменимой?

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 65: Александр Шень — Неразрешимые задачи и нижние оценки

Проблема остановки неразрешима, и что?

мы уже видели, что многие задачи сводятся костановке (разрешимость проблемы остановкисделала бы их разрешимыми)но иногда верно и обратноепроблема остановки сводится к задаче X :любой алгоритм, решающий X , можно былобы использовать для решения проблемыостановкии потому задача X алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 66: Александр Шень — Неразрешимые задачи и нижние оценки

Проблема остановки неразрешима, и что?

мы уже видели, что многие задачи сводятся костановке (разрешимость проблемы остановкисделала бы их разрешимыми)

но иногда верно и обратноепроблема остановки сводится к задаче X :любой алгоритм, решающий X , можно былобы использовать для решения проблемыостановкии потому задача X алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 67: Александр Шень — Неразрешимые задачи и нижние оценки

Проблема остановки неразрешима, и что?

мы уже видели, что многие задачи сводятся костановке (разрешимость проблемы остановкисделала бы их разрешимыми)но иногда верно и обратное

проблема остановки сводится к задаче X :любой алгоритм, решающий X , можно былобы использовать для решения проблемыостановкии потому задача X алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 68: Александр Шень — Неразрешимые задачи и нижние оценки

Проблема остановки неразрешима, и что?

мы уже видели, что многие задачи сводятся костановке (разрешимость проблемы остановкисделала бы их разрешимыми)но иногда верно и обратноепроблема остановки сводится к задаче X :любой алгоритм, решающий X , можно былобы использовать для решения проблемыостановки

и потому задача X алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 69: Александр Шень — Неразрешимые задачи и нижние оценки

Проблема остановки неразрешима, и что?

мы уже видели, что многие задачи сводятся костановке (разрешимость проблемы остановкисделала бы их разрешимыми)но иногда верно и обратноепроблема остановки сводится к задаче X :любой алгоритм, решающий X , можно былобы использовать для решения проблемыостановкии потому задача X алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 70: Александр Шень — Неразрешимые задачи и нижние оценки

Игра FRACTRAN Конвея

игровое поле: целое положительное число N исписок дробей r1, . . . , rkесли можно умножить число на какую-тодробь, оставив его целым, то умножаем напервую подходящую из спискаесли нельзя, игра заканчиваетсязадача: дано игровое поле, узнать, закончитсяли игратеорема: эта задача алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 71: Александр Шень — Неразрешимые задачи и нижние оценки

Игра FRACTRAN Конвея

игровое поле: целое положительное число N исписок дробей r1, . . . , rk

если можно умножить число на какую-тодробь, оставив его целым, то умножаем напервую подходящую из спискаесли нельзя, игра заканчиваетсязадача: дано игровое поле, узнать, закончитсяли игратеорема: эта задача алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 72: Александр Шень — Неразрешимые задачи и нижние оценки

Игра FRACTRAN Конвея

игровое поле: целое положительное число N исписок дробей r1, . . . , rkесли можно умножить число на какую-тодробь, оставив его целым, то умножаем напервую подходящую из списка

если нельзя, игра заканчиваетсязадача: дано игровое поле, узнать, закончитсяли игратеорема: эта задача алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 73: Александр Шень — Неразрешимые задачи и нижние оценки

Игра FRACTRAN Конвея

игровое поле: целое положительное число N исписок дробей r1, . . . , rkесли можно умножить число на какую-тодробь, оставив его целым, то умножаем напервую подходящую из спискаесли нельзя, игра заканчивается

задача: дано игровое поле, узнать, закончитсяли игратеорема: эта задача алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 74: Александр Шень — Неразрешимые задачи и нижние оценки

Игра FRACTRAN Конвея

игровое поле: целое положительное число N исписок дробей r1, . . . , rkесли можно умножить число на какую-тодробь, оставив его целым, то умножаем напервую подходящую из спискаесли нельзя, игра заканчиваетсязадача: дано игровое поле, узнать, закончитсяли игра

теорема: эта задача алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 75: Александр Шень — Неразрешимые задачи и нижние оценки

Игра FRACTRAN Конвея

игровое поле: целое положительное число N исписок дробей r1, . . . , rkесли можно умножить число на какую-тодробь, оставив его целым, то умножаем напервую подходящую из спискаесли нельзя, игра заканчиваетсязадача: дано игровое поле, узнать, закончитсяли игратеорема: эта задача алгоритмическинеразрешима

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 76: Александр Шень — Неразрешимые задачи и нижние оценки

Доказательство неразрешимости

доказательство: сведение вопроса обостановке программы к вопросу об остановкеигрыспециальный простой язык программированияно опытные люди могут любую программупереписать на этот языкпрограмма: конечное число целыхнеотрицательных переменных, изначальнонулиx ← x + 1x ← x − 1, exception: goto A

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 77: Александр Шень — Неразрешимые задачи и нижние оценки

Доказательство неразрешимости

доказательство: сведение вопроса обостановке программы к вопросу об остановкеигры

специальный простой язык программированияно опытные люди могут любую программупереписать на этот языкпрограмма: конечное число целыхнеотрицательных переменных, изначальнонулиx ← x + 1x ← x − 1, exception: goto A

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 78: Александр Шень — Неразрешимые задачи и нижние оценки

Доказательство неразрешимости

доказательство: сведение вопроса обостановке программы к вопросу об остановкеигрыспециальный простой язык программирования

но опытные люди могут любую программупереписать на этот языкпрограмма: конечное число целыхнеотрицательных переменных, изначальнонулиx ← x + 1x ← x − 1, exception: goto A

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 79: Александр Шень — Неразрешимые задачи и нижние оценки

Доказательство неразрешимости

доказательство: сведение вопроса обостановке программы к вопросу об остановкеигрыспециальный простой язык программированияно опытные люди могут любую программупереписать на этот язык

программа: конечное число целыхнеотрицательных переменных, изначальнонулиx ← x + 1x ← x − 1, exception: goto A

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 80: Александр Шень — Неразрешимые задачи и нижние оценки

Доказательство неразрешимости

доказательство: сведение вопроса обостановке программы к вопросу об остановкеигрыспециальный простой язык программированияно опытные люди могут любую программупереписать на этот языкпрограмма: конечное число целыхнеотрицательных переменных, изначальнонули

x ← x + 1x ← x − 1, exception: goto A

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 81: Александр Шень — Неразрешимые задачи и нижние оценки

Доказательство неразрешимости

доказательство: сведение вопроса обостановке программы к вопросу об остановкеигрыспециальный простой язык программированияно опытные люди могут любую программупереписать на этот языкпрограмма: конечное число целыхнеотрицательных переменных, изначальнонулиx ← x + 1

x ← x − 1, exception: goto A

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 82: Александр Шень — Неразрешимые задачи и нижние оценки

Доказательство неразрешимости

доказательство: сведение вопроса обостановке программы к вопросу об остановкеигрыспециальный простой язык программированияно опытные люди могут любую программупереписать на этот языкпрограмма: конечное число целыхнеотрицательных переменных, изначальнонулиx ← x + 1x ← x − 1, exception: goto A

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 83: Александр Шень — Неразрешимые задачи и нижние оценки

Как что-то запрограммировать

безусловный переход goto A (специальнаяпеременная, всегда равная нулю)if x>0 then goto A else goto Bx ← x − 1 exception: goto Bx ← x + 1goto Aцикл while с помощью ifарифметика, n-е простое числомассив x1, . . . , xn кодируется как 2x13x2 . . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 84: Александр Шень — Неразрешимые задачи и нижние оценки

Как что-то запрограммировать

безусловный переход goto A

(специальнаяпеременная, всегда равная нулю)if x>0 then goto A else goto Bx ← x − 1 exception: goto Bx ← x + 1goto Aцикл while с помощью ifарифметика, n-е простое числомассив x1, . . . , xn кодируется как 2x13x2 . . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 85: Александр Шень — Неразрешимые задачи и нижние оценки

Как что-то запрограммировать

безусловный переход goto A (специальнаяпеременная, всегда равная нулю)

if x>0 then goto A else goto Bx ← x − 1 exception: goto Bx ← x + 1goto Aцикл while с помощью ifарифметика, n-е простое числомассив x1, . . . , xn кодируется как 2x13x2 . . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 86: Александр Шень — Неразрешимые задачи и нижние оценки

Как что-то запрограммировать

безусловный переход goto A (специальнаяпеременная, всегда равная нулю)if x>0 then goto A else goto B

x ← x − 1 exception: goto Bx ← x + 1goto Aцикл while с помощью ifарифметика, n-е простое числомассив x1, . . . , xn кодируется как 2x13x2 . . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 87: Александр Шень — Неразрешимые задачи и нижние оценки

Как что-то запрограммировать

безусловный переход goto A (специальнаяпеременная, всегда равная нулю)if x>0 then goto A else goto Bx ← x − 1 exception: goto Bx ← x + 1goto A

цикл while с помощью ifарифметика, n-е простое числомассив x1, . . . , xn кодируется как 2x13x2 . . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 88: Александр Шень — Неразрешимые задачи и нижние оценки

Как что-то запрограммировать

безусловный переход goto A (специальнаяпеременная, всегда равная нулю)if x>0 then goto A else goto Bx ← x − 1 exception: goto Bx ← x + 1goto Aцикл while с помощью if

арифметика, n-е простое числомассив x1, . . . , xn кодируется как 2x13x2 . . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 89: Александр Шень — Неразрешимые задачи и нижние оценки

Как что-то запрограммировать

безусловный переход goto A (специальнаяпеременная, всегда равная нулю)if x>0 then goto A else goto Bx ← x − 1 exception: goto Bx ← x + 1goto Aцикл while с помощью ifарифметика, n-е простое число

массив x1, . . . , xn кодируется как 2x13x2 . . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 90: Александр Шень — Неразрешимые задачи и нижние оценки

Как что-то запрограммировать

безусловный переход goto A (специальнаяпеременная, всегда равная нулю)if x>0 then goto A else goto Bx ← x − 1 exception: goto Bx ← x + 1goto Aцикл while с помощью ifарифметика, n-е простое числомассив x1, . . . , xn кодируется как 2x13x2 . . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 91: Александр Шень — Неразрешимые задачи и нижние оценки

Сведение программы к игре

значения n переменных хранятся какпоказатели степени при n простыха команды пронумерованы другими простыми,код значений переменных умножается наномер текущей командыпусть x — показатель при 217 x ← x + 119 ???кодируется 2·19

1717 x ← x − 1 exception: goto 2319 ???кодируется 19

2·17 ;2317

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 92: Александр Шень — Неразрешимые задачи и нижние оценки

Сведение программы к игре

значения n переменных хранятся какпоказатели степени при n простых

а команды пронумерованы другими простыми,код значений переменных умножается наномер текущей командыпусть x — показатель при 217 x ← x + 119 ???кодируется 2·19

1717 x ← x − 1 exception: goto 2319 ???кодируется 19

2·17 ;2317

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 93: Александр Шень — Неразрешимые задачи и нижние оценки

Сведение программы к игре

значения n переменных хранятся какпоказатели степени при n простыха команды пронумерованы другими простыми,код значений переменных умножается наномер текущей команды

пусть x — показатель при 217 x ← x + 119 ???кодируется 2·19

1717 x ← x − 1 exception: goto 2319 ???кодируется 19

2·17 ;2317

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 94: Александр Шень — Неразрешимые задачи и нижние оценки

Сведение программы к игре

значения n переменных хранятся какпоказатели степени при n простыха команды пронумерованы другими простыми,код значений переменных умножается наномер текущей командыпусть x — показатель при 217 x ← x + 119 ???кодируется

2·1917

17 x ← x − 1 exception: goto 2319 ???кодируется 19

2·17 ;2317

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 95: Александр Шень — Неразрешимые задачи и нижние оценки

Сведение программы к игре

значения n переменных хранятся какпоказатели степени при n простыха команды пронумерованы другими простыми,код значений переменных умножается наномер текущей командыпусть x — показатель при 217 x ← x + 119 ???кодируется 2·19

17

17 x ← x − 1 exception: goto 2319 ???кодируется 19

2·17 ;2317

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 96: Александр Шень — Неразрешимые задачи и нижние оценки

Сведение программы к игре

значения n переменных хранятся какпоказатели степени при n простыха команды пронумерованы другими простыми,код значений переменных умножается наномер текущей командыпусть x — показатель при 217 x ← x + 119 ???кодируется 2·19

1717 x ← x − 1 exception: goto 2319 ???кодируется

192·17 ;

2317

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 97: Александр Шень — Неразрешимые задачи и нижние оценки

Сведение программы к игре

значения n переменных хранятся какпоказатели степени при n простыха команды пронумерованы другими простыми,код значений переменных умножается наномер текущей командыпусть x — показатель при 217 x ← x + 119 ???кодируется 2·19

1717 x ← x − 1 exception: goto 2319 ???кодируется 19

2·17 ;2317

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 98: Александр Шень — Неразрешимые задачи и нижние оценки

Теоретическая и практическая разрешимость

многие задачи могут быть решены переборомв шахматах кто-то из игроков заведомо можетобеспечить ничьюрассыпанный puzzle всегда можно собратьможно проверить, простое или число, а еслине простое,тем не менее: чемпионаты по шахматамконкурс en.wikipedia.org/wiki/Eternity_II_puzzleкриптография, SSL, банки,. . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 99: Александр Шень — Неразрешимые задачи и нижние оценки

Теоретическая и практическая разрешимость

многие задачи могут быть решены перебором

в шахматах кто-то из игроков заведомо можетобеспечить ничьюрассыпанный puzzle всегда можно собратьможно проверить, простое или число, а еслине простое,тем не менее: чемпионаты по шахматамконкурс en.wikipedia.org/wiki/Eternity_II_puzzleкриптография, SSL, банки,. . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 100: Александр Шень — Неразрешимые задачи и нижние оценки

Теоретическая и практическая разрешимость

многие задачи могут быть решены переборомв шахматах кто-то из игроков заведомо можетобеспечить ничью

рассыпанный puzzle всегда можно собратьможно проверить, простое или число, а еслине простое,тем не менее: чемпионаты по шахматамконкурс en.wikipedia.org/wiki/Eternity_II_puzzleкриптография, SSL, банки,. . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 101: Александр Шень — Неразрешимые задачи и нижние оценки

Теоретическая и практическая разрешимость

многие задачи могут быть решены переборомв шахматах кто-то из игроков заведомо можетобеспечить ничьюрассыпанный puzzle всегда можно собрать

можно проверить, простое или число, а еслине простое,тем не менее: чемпионаты по шахматамконкурс en.wikipedia.org/wiki/Eternity_II_puzzleкриптография, SSL, банки,. . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 102: Александр Шень — Неразрешимые задачи и нижние оценки

Теоретическая и практическая разрешимость

многие задачи могут быть решены переборомв шахматах кто-то из игроков заведомо можетобеспечить ничьюрассыпанный puzzle всегда можно собратьможно проверить, простое или число, а еслине простое,

тем не менее: чемпионаты по шахматамконкурс en.wikipedia.org/wiki/Eternity_II_puzzleкриптография, SSL, банки,. . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 103: Александр Шень — Неразрешимые задачи и нижние оценки

Теоретическая и практическая разрешимость

многие задачи могут быть решены переборомв шахматах кто-то из игроков заведомо можетобеспечить ничьюрассыпанный puzzle всегда можно собратьможно проверить, простое или число, а еслине простое,тем не менее: чемпионаты по шахматам

конкурс en.wikipedia.org/wiki/Eternity_II_puzzleкриптография, SSL, банки,. . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 104: Александр Шень — Неразрешимые задачи и нижние оценки

Теоретическая и практическая разрешимость

многие задачи могут быть решены переборомв шахматах кто-то из игроков заведомо можетобеспечить ничьюрассыпанный puzzle всегда можно собратьможно проверить, простое или число, а еслине простое,тем не менее: чемпионаты по шахматамконкурс en.wikipedia.org/wiki/Eternity_II_puzzle

криптография, SSL, банки,. . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 105: Александр Шень — Неразрешимые задачи и нижние оценки

Теоретическая и практическая разрешимость

многие задачи могут быть решены переборомв шахматах кто-то из игроков заведомо можетобеспечить ничьюрассыпанный puzzle всегда можно собратьможно проверить, простое или число, а еслине простое,тем не менее: чемпионаты по шахматамконкурс en.wikipedia.org/wiki/Eternity_II_puzzleкриптография, SSL, банки,. . .

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 106: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входапример: умножение длинных чисел столбикомделение длинных чисел уголком (вычитание негодится!)сортировка массива даже пузырькомсоответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 107: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входа

пример: умножение длинных чисел столбикомделение длинных чисел уголком (вычитание негодится!)сортировка массива даже пузырькомсоответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 108: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входапример: умножение длинных чисел

столбикомделение длинных чисел уголком (вычитание негодится!)сортировка массива даже пузырькомсоответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 109: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входапример: умножение длинных чисел столбиком

деление длинных чисел уголком (вычитание негодится!)сортировка массива даже пузырькомсоответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 110: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входапример: умножение длинных чисел столбикомделение длинных чисел

уголком (вычитание негодится!)сортировка массива даже пузырькомсоответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 111: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входапример: умножение длинных чисел столбикомделение длинных чисел уголком (вычитание негодится!)

сортировка массива даже пузырькомсоответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 112: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входапример: умножение длинных чисел столбикомделение длинных чисел уголком (вычитание негодится!)сортировка массива

даже пузырькомсоответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 113: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входапример: умножение длинных чисел столбикомделение длинных чисел уголком (вычитание негодится!)сортировка массива даже пузырьком

соответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 114: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи

полиномиальные задачи: количество действийне больше n, где c — некоторая константа, а n— размер входапример: умножение длинных чисел столбикомделение длинных чисел уголком (вычитание негодится!)сортировка массива даже пузырькомсоответствие между теорией и практикой:разрешимые на практике = полиномиальные(первое приближение)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 115: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи с нетривиальнымиалгоритмами

паросочетание (можно ли поставить ладей навыбранных клетках, чтобы они не били другдруга)проверка, составное ли числоэйлеров цикл (обойти все рёбра графа по разуи вернуться в исходную точку)разрешимость системы линейных неравенств врациональных числах

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 116: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи с нетривиальнымиалгоритмами

паросочетание (можно ли поставить ладей навыбранных клетках, чтобы они не били другдруга)

проверка, составное ли числоэйлеров цикл (обойти все рёбра графа по разуи вернуться в исходную точку)разрешимость системы линейных неравенств врациональных числах

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 117: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи с нетривиальнымиалгоритмами

паросочетание (можно ли поставить ладей навыбранных клетках, чтобы они не били другдруга)проверка, составное ли число

эйлеров цикл (обойти все рёбра графа по разуи вернуться в исходную точку)разрешимость системы линейных неравенств врациональных числах

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 118: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи с нетривиальнымиалгоритмами

паросочетание (можно ли поставить ладей навыбранных клетках, чтобы они не били другдруга)проверка, составное ли числоэйлеров цикл (обойти все рёбра графа по разуи вернуться в исходную точку)

разрешимость системы линейных неравенств врациональных числах

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 119: Александр Шень — Неразрешимые задачи и нижние оценки

Полиномиальные задачи с нетривиальнымиалгоритмами

паросочетание (можно ли поставить ладей навыбранных клетках, чтобы они не били другдруга)проверка, составное ли числоэйлеров цикл (обойти все рёбра графа по разуи вернуться в исходную точку)разрешимость системы линейных неравенств врациональных числах

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 120: Александр Шень — Неразрешимые задачи и нижние оценки

Переборные задачи (NP)

спрашивается, есть ли объект с некоторымсвойствомобъект разумного размераи свойство легко проверяемоено объектов много(скажем, проверить разложение на множителиумножением легко, но вариантов много)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 121: Александр Шень — Неразрешимые задачи и нижние оценки

Переборные задачи (NP)

спрашивается, есть ли объект с некоторымсвойством

объект разумного размераи свойство легко проверяемоено объектов много(скажем, проверить разложение на множителиумножением легко, но вариантов много)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 122: Александр Шень — Неразрешимые задачи и нижние оценки

Переборные задачи (NP)

спрашивается, есть ли объект с некоторымсвойствомобъект разумного размера

и свойство легко проверяемоено объектов много(скажем, проверить разложение на множителиумножением легко, но вариантов много)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 123: Александр Шень — Неразрешимые задачи и нижние оценки

Переборные задачи (NP)

спрашивается, есть ли объект с некоторымсвойствомобъект разумного размераи свойство легко проверяемое

но объектов много(скажем, проверить разложение на множителиумножением легко, но вариантов много)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 124: Александр Шень — Неразрешимые задачи и нижние оценки

Переборные задачи (NP)

спрашивается, есть ли объект с некоторымсвойствомобъект разумного размераи свойство легко проверяемоено объектов много

(скажем, проверить разложение на множителиумножением легко, но вариантов много)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 125: Александр Шень — Неразрешимые задачи и нижние оценки

Переборные задачи (NP)

спрашивается, есть ли объект с некоторымсвойствомобъект разумного размераи свойство легко проверяемоено объектов много(скажем, проверить разложение на множителиумножением легко, но вариантов много)

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 126: Александр Шень — Неразрешимые задачи и нижние оценки

P=NP?

многие важные переборные задачи покабыстро решать не умеютпримеры: разрешимость системы линейныхнеравенств в целых числахгамильтонов цикл (обход всех вершин графапо разу)разложение на множителино теоретически не исключено, что любуюпереборную задачу можно решить заполиномиальное время (P=NP)не доказано (но правдоподобно), что P6=NP

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 127: Александр Шень — Неразрешимые задачи и нижние оценки

P=NP?

многие важные переборные задачи покабыстро решать не умеют

примеры: разрешимость системы линейныхнеравенств в целых числахгамильтонов цикл (обход всех вершин графапо разу)разложение на множителино теоретически не исключено, что любуюпереборную задачу можно решить заполиномиальное время (P=NP)не доказано (но правдоподобно), что P6=NP

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 128: Александр Шень — Неразрешимые задачи и нижние оценки

P=NP?

многие важные переборные задачи покабыстро решать не умеютпримеры: разрешимость системы линейныхнеравенств в целых числах

гамильтонов цикл (обход всех вершин графапо разу)разложение на множителино теоретически не исключено, что любуюпереборную задачу можно решить заполиномиальное время (P=NP)не доказано (но правдоподобно), что P6=NP

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 129: Александр Шень — Неразрешимые задачи и нижние оценки

P=NP?

многие важные переборные задачи покабыстро решать не умеютпримеры: разрешимость системы линейныхнеравенств в целых числахгамильтонов цикл (обход всех вершин графапо разу)

разложение на множителино теоретически не исключено, что любуюпереборную задачу можно решить заполиномиальное время (P=NP)не доказано (но правдоподобно), что P6=NP

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 130: Александр Шень — Неразрешимые задачи и нижние оценки

P=NP?

многие важные переборные задачи покабыстро решать не умеютпримеры: разрешимость системы линейныхнеравенств в целых числахгамильтонов цикл (обход всех вершин графапо разу)разложение на множители

но теоретически не исключено, что любуюпереборную задачу можно решить заполиномиальное время (P=NP)не доказано (но правдоподобно), что P6=NP

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 131: Александр Шень — Неразрешимые задачи и нижние оценки

P=NP?

многие важные переборные задачи покабыстро решать не умеютпримеры: разрешимость системы линейныхнеравенств в целых числахгамильтонов цикл (обход всех вершин графапо разу)разложение на множителино теоретически не исключено, что любуюпереборную задачу можно решить заполиномиальное время (P=NP)

не доказано (но правдоподобно), что P6=NP

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 132: Александр Шень — Неразрешимые задачи и нижние оценки

P=NP?

многие важные переборные задачи покабыстро решать не умеютпримеры: разрешимость системы линейныхнеравенств в целых числахгамильтонов цикл (обход всех вершин графапо разу)разложение на множителино теоретически не исключено, что любуюпереборную задачу можно решить заполиномиальное время (P=NP)не доказано (но правдоподобно), что P6=NP

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 133: Александр Шень — Неразрешимые задачи и нижние оценки

И что же, совсем ничего не известно?

NP-задача называется NP-полной, если к нейсводится любая NP-задачанаучившись быстро решать её, мы научимсярешать все переборные задачи(аналог проблемы остановки)про некоторые задачи (гамильтонов цикл,уравнения в целых числах,. . . ) доказанаNP-полнотас практической точки зрения почти чтодоказана неразрешимость

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 134: Александр Шень — Неразрешимые задачи и нижние оценки

И что же, совсем ничего не известно?

NP-задача называется NP-полной, если к нейсводится любая NP-задача

научившись быстро решать её, мы научимсярешать все переборные задачи(аналог проблемы остановки)про некоторые задачи (гамильтонов цикл,уравнения в целых числах,. . . ) доказанаNP-полнотас практической точки зрения почти чтодоказана неразрешимость

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 135: Александр Шень — Неразрешимые задачи и нижние оценки

И что же, совсем ничего не известно?

NP-задача называется NP-полной, если к нейсводится любая NP-задачанаучившись быстро решать её, мы научимсярешать все переборные задачи

(аналог проблемы остановки)про некоторые задачи (гамильтонов цикл,уравнения в целых числах,. . . ) доказанаNP-полнотас практической точки зрения почти чтодоказана неразрешимость

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 136: Александр Шень — Неразрешимые задачи и нижние оценки

И что же, совсем ничего не известно?

NP-задача называется NP-полной, если к нейсводится любая NP-задачанаучившись быстро решать её, мы научимсярешать все переборные задачи(аналог проблемы остановки)

про некоторые задачи (гамильтонов цикл,уравнения в целых числах,. . . ) доказанаNP-полнотас практической точки зрения почти чтодоказана неразрешимость

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 137: Александр Шень — Неразрешимые задачи и нижние оценки

И что же, совсем ничего не известно?

NP-задача называется NP-полной, если к нейсводится любая NP-задачанаучившись быстро решать её, мы научимсярешать все переборные задачи(аналог проблемы остановки)про некоторые задачи (гамильтонов цикл,уравнения в целых числах,. . . ) доказанаNP-полнота

с практической точки зрения почти чтодоказана неразрешимость

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 138: Александр Шень — Неразрешимые задачи и нижние оценки

И что же, совсем ничего не известно?

NP-задача называется NP-полной, если к нейсводится любая NP-задачанаучившись быстро решать её, мы научимсярешать все переборные задачи(аналог проблемы остановки)про некоторые задачи (гамильтонов цикл,уравнения в целых числах,. . . ) доказанаNP-полнотас практической точки зрения почти чтодоказана неразрешимость

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 139: Александр Шень — Неразрешимые задачи и нижние оценки

Ближе к жизни

нижние оценки времени работы — делосложноеболее ограниченные классы алгоритмовскажем, число сравнений при сортировкедля сортировки n объектов нужно порядкаn log n сравнений (с точностью до постоянногомножителя)для отгадывания числа 1 . . . n нужно log2 nда-нет-вопросов

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 140: Александр Шень — Неразрешимые задачи и нижние оценки

Ближе к жизни

нижние оценки времени работы — делосложное

более ограниченные классы алгоритмовскажем, число сравнений при сортировкедля сортировки n объектов нужно порядкаn log n сравнений (с точностью до постоянногомножителя)для отгадывания числа 1 . . . n нужно log2 nда-нет-вопросов

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 141: Александр Шень — Неразрешимые задачи и нижние оценки

Ближе к жизни

нижние оценки времени работы — делосложноеболее ограниченные классы алгоритмов

скажем, число сравнений при сортировкедля сортировки n объектов нужно порядкаn log n сравнений (с точностью до постоянногомножителя)для отгадывания числа 1 . . . n нужно log2 nда-нет-вопросов

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 142: Александр Шень — Неразрешимые задачи и нижние оценки

Ближе к жизни

нижние оценки времени работы — делосложноеболее ограниченные классы алгоритмовскажем, число сравнений при сортировке

для сортировки n объектов нужно порядкаn log n сравнений (с точностью до постоянногомножителя)для отгадывания числа 1 . . . n нужно log2 nда-нет-вопросов

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 143: Александр Шень — Неразрешимые задачи и нижние оценки

Ближе к жизни

нижние оценки времени работы — делосложноеболее ограниченные классы алгоритмовскажем, число сравнений при сортировкедля сортировки n объектов нужно порядкаn log n сравнений (с точностью до постоянногомножителя)

для отгадывания числа 1 . . . n нужно log2 nда-нет-вопросов

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки

Page 144: Александр Шень — Неразрешимые задачи и нижние оценки

Ближе к жизни

нижние оценки времени работы — делосложноеболее ограниченные классы алгоритмовскажем, число сравнений при сортировкедля сортировки n объектов нужно порядкаn log n сравнений (с точностью до постоянногомножителя)для отгадывания числа 1 . . . n нужно log2 nда-нет-вопросов

[email protected], LIRMM, Montpellier, ИППИ Неразрешимые задачи и нижние оценки