Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
my=ps=KSR1=samoilik=13052013.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
744.96 Кб
Скачать

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

Согласно определению машины Тьюринга это тройка   T = <A, Q, П>, в которой A - алфавит, Qвнутренние состояния машины, Q - программа, которая и отличает одну машину от другой. В общем случае (для всех машин) программа может выглядеть, например, так:

П: qi aj    qr as St , = 1, 2, …, k, где  S1  - R, S2  - L, S3  - C.           (*)

При этом можно считать, что существуют некоторые общие алфавиты A0 и Q0, в которых записываются символы a и q для всех машин Тьюринга.  Тогда символы  qia, aja , qra, asa, Sta  являются символами  алфавитов A0 и Q0.

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

Геделева нумерация машин Тьюринга. Пусть p1, p2, p3, … - последовательность простых чисел, расположенная в порядке возрастания, например, 2, 3, 5, 7, 11, 13, …

Номером машины Тьюринга  с программой  (*) называется  число

n(T) = .

Пример 

         Машина, реализующая функцию S(x) = x + 1, имеет программу в алфавите {0, }. Номер этой программы с учетом того, что a0 = 0, a1 = | будет число: .

n(T) = 21 31 51 71 111 131 170 190 231 293.

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

            Машина T, применимая  к слову  n(T) (то есть к коду своего собственного номера), называется самоприменимой.

            Можно построить как самоприменимые машины, так и несамоприменимые машины. Например, машина из выданного примера – самоприменима. Машина T, у которой в правых частях программы (в теле таблицы) отсутствует символ останова, неприменима ни к какому слову, а, следовательно, и к слову n(T).

Проблема самоприменимости состоит в следующем: указать алгоритм, который по любой машине Тьюринга устанавливал бы, самоприменима она или нет.

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

Пусть, например, данная машина  T  применяется к коду  n(T*). Если машина T* самоприменима, то заключительная конфигурация машины T  имеет вид  a' q0| B', а в случае, если машина  T* несамоприменима, то заключительная конфигурация машины T  имеет вид  a" q00 B". Здесь a', B', a", B" – слова. 

Теорема Проблема самоприменимости алгоритмически неразрешима, то есть не существует машины Тьюринга, решающей эту проблему в указанном выше смысле.

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

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

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

            В терминах машин Тьюринга, аналогично формулировке проблемы самоприменимости,  эта проблема формулируется так: можно ли построить машину, которая была бы применима ко всем словам вида n(T)0X, где  T произвольная машина, X – произвольное слово, и в случае, если машина T применима  к слову X, приводила бы к заключительной конфигурации  a' q0|B', а в случае, если машина  T не применима к слову Х, приводила бы  к заключительной конфигурации    a"q0 0 B". Здесь   a' , B' и a", B" – произвольные слова.

            Теорема Проблема применимости к начальному слову алгоритмически неразрешима, то есть не существует машины Тьюринга, решающей эту проблему в указанном выше смысле.

Как было вышесформулировано для проблемы самоприменимости первым предварительным шагом является нумерация. Поэтому ниже этот вопрос последовательно рассматривается и решается для алгоритмов и его трех основных типов алгоритмических моделей.

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