Упражнение 2.1.25 |
Алгоритмические проблемы
Основная цель этой лекции - дать определения понятий, необходимых для математически строгой формулировки результатов следующих двух лекций. Для более подробного ознакомления с вычислимостью, разрешимостью, перечислимостью и универсальными моделями вычислений следует обратиться к какому-либо вводному курсу по теории алгоритмов, например [30, с. 93-106, 109-121] или [5,с. 8-20, 112-123]. В разделе 14.1 фиксируется конкретная модель вычислений - машина Тьюринга и даются определения (недетерминированной) машины Тьюринга, детерминированной машины Тьюринга и вычислимой функции. В разделе 14.2 определяются разрешимые и перечислимые множества. В разделе 14.3 вводятся термины "массовая задача", "индивидуальная задача", "схема кодирования", "задача распознавания", "алгоритмическая проблема". В 14.4* формулируется теорема о соответствии машин Тьюринга грамматикам типа 0, а также теорема о нормальной форме для грамматик типа 0. В разделе 14.5 формулируется известная неразрешимая проблема - проблема соответствий Поста. На сведEнии именно к этой алгоритмической проблеме основываются все доказательства неразрешимости в "Алгоритмически неразрешимые проблемы" , где рассматриваются алгоритмические проблемы, связанные с контекстно-свободными грамматиками.
14.1. Машины Тьюринга
Определение 14.1.1. Машиной Тьюринга называется семерка











Определение 14.1.2. Конфигурацией
машины Тьюринга называется любая четверка ,
где
,
,
,
.
Определение 14.1.3.
Определим на множестве всех конфигураций машины Тьюринга M
бинарное отношение
( такт работы )
следующим образом.
Если ,
то



Если ,
то




Если ,
то




Замечание 14.1.4.
Если из контекста ясно, о какой
машине Тьюринга идет речь,
вместо
будем писать просто
.
Определение 14.1.5.
Как и для МП-автомата, для машины Тьюринга
бинарное отношение
определяется как рефлексивное, транзитивное замыкание отношения
.
Замечание 14.1.6.
Если ,
то
для любых
и
найдутся такие
и
,
что
.
Замечание 14.1.7.
Конфигурацию
иногда изображают сокращенно
.
Замечание 14.1.8.
Машины Тьюринга можно изображать в виде диаграмм.
При этом каждое состояние обозначается кружком,
а переход - стрелкой.
Каждое начальное состояние распознается
по ведущей в него короткой стрелке.
Каждое заключительное состояние отмечается на диаграмме
двойным кружком.
Стрелка с пометкой a:ck,
ведущая из p в q,
показывает, что
является переходом данной машины Тьюринга.
Обычно на диаграммах вместо чисел -1, 0, 1
(обозначающих движение влево, стояние на месте, движение вправо)
используются буквы L, N, R
соответственно.
Пример 14.1.9. Рассмотрим машину Тьюринга








![\objectwidth={5mm} \objectheight={5mm} \let\objectstyle=\scriptstyle
\xymatrix {
*=[o][F-]{0}
\ar @`{+/l16mm/} [] ^{}
\ar "1,2" ^{b:b\dr}
& *=[o][F-]{1}
\ar "2,2" <0.6mm> ^{a:b\dr}
\ar "1,3" ^{b:b\dn}
& *=[o][F=]{3}
\\
%
& *=[o][F-]{2}
\ar "1,2" <0.6mm> ^{a:b\dr}
&
}](/sites/default/files/tex_cache/f5844230c3c05fbf017c37fdb76ea4ae.png)


Определение 14.1.10. Машина Тьюринга




Пример 14.1.11 Машина Тьюринга из примера 14.1.9 является детерминированной.