МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ. Математическая логика
Скачать 1.08 Mb.
|
Машина Тьюринга Т – название, закрепившееся за вычислительными абстрактными машинами некоторого точно охарактеризованного типа.Содержательное понятие машины. Машину Тьюринга Т=0, qz, > удобно представлять в виде автоматически функционирующего устройства, способного находиться в конечном числе внутренних состояний Q=q1…qn-2, qz и снабженного бесконечной внешней памятью – лентой. Среди состояний Q имеются два выделенных – начальное q1 и заключительное qz. Лента разделена на ячейки и потенциально бесконечна в обе стороны. В каждой ячейке ленты может быть записана любая из букв внешнего алфавита А=a0, a1…am (a0 – пустая буква, то есть считается, что в пустой ячейке записана a0). Функционирование машины обуславливает программа =qj ai qk aL dt. Схема такого устройства как совокупность стуктурно-связанных внутренней и внешней памяти, блока управления и управляемой головки
дает возможность имитировать алгоритмические процессы распознавания и порождения цепочек языка произвольного типа (по Хомскому). На схеме: а) Блок управления производит преобразование пары (цепочки из двух символов) qj aiQ*A в тройку qk aL dt Q*A*D. Это означает, что если машина находится в состоянии qj (то есть вычисляет инструкцию qj), а управляемая головка считывает символ ai из обозреваемой ячейки внешней памяти, то блок управления вырабатывает команду qk aL dt, согласно которой:
Итак, если блок управления осуществляет функциональное отображение: Гf: Q*A Q*A*D, где qj aiQ*A, qk aL dt Q*A*D, ai, aLА, qj, qkQ, dt D= dЛ, dп, dн, то машину Тьюринга будем называть детерминированной и всюду определенной. б) Данные (исходные, промежуточные и окончательные) машины есть цепочки символов (слова) в алфавите А, которые записываются на бесконечной ленте внешней памяти (каждый символ слова в отдельной ячейке) (А=Аисх АпромАрез, а0Аисх, а0Арез). в) Элементарные шаги в рассматриваемой машине следующие:
г) Детерминированность работы машины обуславливается программой ее работы , то есть совокупностью выражений (j, i) (j=0,n; i= 0,n), каждое из которых имеет один из следующих видов: qj ai qk aL dн qj ai qk aL dЛ qj ai qk aL dп, где 0 k n, 0 L m. В дальнейшем программу будем записывать в табличном виде:
или диаграммой переходов вида: д) Начальная атрибуция (конфигурация машины) характеризуется следующим образом:
Пример начальной конфигурации машины:
Символически эта конфигурация записывается как машинное слово q0= q0 a2 a4 a7 a3 a9= k0. e) Текущая (промежуточная) ситуация (конфигурация) kp есть машинное слова вида 1 qj ai 2, где 1 и 2 – цепочки символов алфавита А. ж) Заключительная ситуация (конфигурация) kz имеет вид qz, где qz – заключительное состояние машины, qzQ, - результат работы машины из исходной ситуации по заданной программе, А*. Очевидно, что последовательность конфигураций k0 k1 k2… однозначно определяется исходной конфигурацией k0 и полностью описывает работу машины Тьюринга Т= =0, qz, >, начиная с k0= q0 (А*исх, АисхА). Эта последовательность конечна, если в ней встретится заключительная конфигурация kz= qz, и бесконечна в противном случае. Пример: 1) Пусть последовательность k0 k2 kz имеет вид q0 a2 a1 a4 q1 a1 qz a4 a2 (очевидно, что последовательность команд следующая: q0 a2 q1 a4 dп, q1 a1 qz a2 dЛ). Имеем следующую интерпретацию смены ситуаций:
2) Машина Т=<a0, a, q0, qz, q0 a0 q0 a dп, q0 a q0 a dп> будет работать бесконечно, заполняя все ячейки ленты символами а вправо от начальной пустой ячейки (исходная информация на ленте - пустые символы а0 в каждой ячейке ленты). Примечания:
Формальное определение машины Тьюринга. |