Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MLTA_shpory2.doc
Скачиваний:
101
Добавлен:
23.12.2018
Размер:
2.34 Mб
Скачать

73. Вычислимость и разрешимость. Нумерация алгоритмов. Алгоритмически разрешимые и неразрешимые задачи. Проблема остановки, проблема самоприменимости, проблема пустой ленты.

Основные понятия инвариантной теории (общей теорией алгоритмов) — это алгоритм (рекурсивное описание функции, система команд машины Тьюринга или описание в какой-либо другой модели; считается, что выбрана какая-то модель, но какая именно — неважно) и вычислимая функция. Функция называется вычислимой, если существует вычисляющий ее алгоритм. При этом несущественно, числовая функция это или нет.

Нумерация алгоритмов:

Множество всех алгоритмов счетно. Счетность множества алгоритмов означает наличие функции типа j: N®Al*, взаимно однозначно отображающей в слова в алфавите Al, выбранном для описания алгоритмов, числа натурального ряда.

Такая функция j(n)= A называется нумерацией алгоритмов, а ее аргумент n —номером алгоритма А при нумерации j. Из взаимной однозначности отображения j следует существование обратной функции, восстанавливающей по описанию алгоритма Аn его номер n.

Существование нумераций позволяет работать с алгоритмами как с числами. Это особенно удобно при исследовании алгоритмов над алгоритмами. Такие алгоритмы уже рассматривались при построении универсальной машины Тьюринга и в связи с проблемой остановки. Полученные результаты теперь можно сформулировать в инвариантном виде.

Теорема 9. Существует универсальный алгоритм U(х, у), такой, что для любого алгоритма А с номером j–1(A) U(j–1(A), y) = A(y), в других обозначениях U(х, у) = Ax(y).

Теорема 4'. Не существует алгоритма, который по номеру х любого алгоритма и исходным данным у определял бы, остановится алгоритм при этих данных или нет; иначе говоря, не существует алгоритма В(х, у), такого, что для любого алгоритма Ах (с номером j–1(A) = х) В(х, у)=1, если Ах(у) определен и В(х, у)= 0, если Ах(у) не определен

Проблема самоприменимости

Частный случай проблемы остановки имеет вполне самостоятельную интерпретацию. При доказательстве теоремы 4 была рассмотрена машина Т1, которая решала проблему остановки для машины Т в случае, когда на ленте машины Т написана ее собственная система команд. Такая проблема называется проблемой самоприменимости машин Тьюринга. Было показано, что такая машина невозможна. В инвариантном виде соответствующее утверждение формулируется так.

Теорема 10. Проблема самоприменимости алгоритмов алгоритмически неразрешима

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

74. Требование результативности и теория алгоритмов.

Первый удар по этому требованию — неразрешимость проблемы остановки, означающая, что если алгоритм А может быть частичным, то по алгоритму А и данным к нельзя узнать, даст А результат на данных х или нет).

Можно либо вообще убрать частичные алгоритмы из общей теории алгоритмов, либо ввести стандартный метод доопределения частичных алгоритмов. Однако ни первое, ни второе эффективными методами сделать нельзя.

Дилемма — либо определение алгоритма должно быть достаточно общим, либо сохраняется требование об обязательной результативности алгоритма. В первом случае этому определению будут удовлетворять частичные алгоритмы, и избавиться от них конструктивными методами нельзя; во втором случае никакую процедуру нельзя называть алгоритмом до тех пор, пока для нее не будет решена проблема остановки, а единого метода решения этой проблемы не существует.

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

Теория алгоритмов — раздел математики, изучающий общие свойства алгоритмов.

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

Область применимости алгоритма - — совокупность тех объектов, к которым он применим, т.е. в применении к которым дает результат.

Про алгоритм А говорят, что он

1) вычисляет функцию f, коль скоро его область применимости совпадает с областью определения f, и А перерабатывает всякий x из своей области применимости в f(x);

2) разрешает множество A относительно множества X, коль скоро он применим ко всякому x из X, и перерабатывает всякий x из X Ç A в слово «да», а всякий x из X \ A — в слово «нет»;

3) перечисляет множество B, коль скоро его область применимости есть натуральный ряд, а совокупность результатов есть B.

Дескриптивная (качественная) и метрическая (количественная) ТА

Первая исследует алгоритмы с точки зрения устанавливаемого ими соответствия между исходными данными и результатами; к ней относятся, в частности, проблемы построения алгоритма, обладающего теми или иными свойствами, — алгоритмические проблемы.

Вторая исследует алгоритмы с точки зрения сложности как самих алгоритмов, так и задаваемых ими вычислений, т.е. процессов последовательного преобразования конструктивных объектов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]