млита-пми / Программа экзамена МЛиТА
.docxОсобенность — реализация проверки «регистр = 0» и ветвления. Нельзя одним дробем сделать проверку нуля, но можно сконструировать цепочки дробей и дополнительные вспомогательные простые-состояния так, чтобы последовательность попыток применить дроби и переходы между вспомогательными состояниями различала случаи «есть требуемый множитель» и «его нет», и направляла поток в соответствующую ветку. В результате для каждой инструкции типа «если регистр = 0 → goto A, иначе декремент и goto B» собирают набор дробей и промежуточных состояний, который по порядку проверяет и реализует нужный переход. В финале получают эффективную процедуру: из описания машины и входа строят список дробей и стартовое так, что FRACTRAN останавливается тогда и только тогда, когда останавливается имитируемая машина.
Связь с теорией
чисел и примером вроде Большой теоремы
Ферма — это не прямая математическая
зависимость, а иллюстрация силы и
пределов алгоритмов. Если бы существовал
универсальный «решатель останова», то
для любой полуразрешимой задачи можно
было бы написать программу-перебор,
которая останавливается при нахождении
контрпримера, и спросить у решателя:
остановится ли она. Положительный ответ
дал бы автоматическое свидетельство
существования решения, отрицательный
— его отсутствие. До доказательства
Ферма этот метод теоретически мог бы
решить вопрос о существовании контрпримера
к
для
;
но так как универсального решателя не
существует, такие автоматические
процедуры недоступны в общем случае.
Более формально, результаты типа MRDP
показывают, что общая задача о целочисленных
решениях диофантовых уравнений
эквивалентна проблемам с той же степенью
неразрешимости, что и halting, поэтому
многие утверждения теории чисел в общем
виде алгоритмически неразрешимы — хотя
отдельные конкретные утверждения (как
теорема Ферма) могут быть доказаны
классическими математическими средствами.
25. Теория сложности алгоритмов. Полиномиальная сводимость. Задачи 3-SAT и 3-COLOR.
