Математическая логика

Вид материалаДокументы

Содержание


Машина Тьюринга Т – название, закрепившееся за вычислительными абстрактными машинами некоторого точно охарактеризованного типа.
Подобный материал:
1   2   3   4   5   6   7

Машина Тьюринга Т – название, закрепившееся за вычислительными абстрактными машинами некоторого точно охарактеризованного типа.


Содержательное понятие машины.

Машину Тьюринга Т=0, qz, > удобно представлять в виде автоматически функционирующего устройства, способного находиться в конечном числе внутренних состояний Q=q1…qn-2, qz и снабженного бесконечной внешней памятью – лентой. Среди состояний Q имеются два выделенных – начальное q1 и заключительное qz. Лента разделена на ячейки и потенциально бесконечна в обе стороны. В каждой ячейке ленты может быть записана любая из букв внешнего алфавита А=a0, a1…am (a0 – пустая буква, то есть считается, что в пустой ячейке записана a0). Функционирование машины обуславливает программа =qj ai  qk aL dt.

Схема такого устройства как совокупность стуктурно-связанных внутренней и внешней памяти, блока управления и управляемой головки



a0

a2

a5

ai

a9

a3

a5

a0






дает возможность имитировать алгоритмические процессы распознавания и порождения цепочек языка произвольного типа (по Хомскому).

На схеме:

а) Блок управления производит преобразование пары (цепочки из двух символов) qj aiQ*A в тройку qk aL dt Q*A*D. Это означает, что если машина находится в состоянии qj (то есть вычисляет инструкцию qj), а управляемая головка считывает символ ai из обозреваемой ячейки внешней памяти, то блок управления вырабатывает команду qk aL dt, согласно которой:
  1. машина переходит в состояние qk (допускается k=j);
  2. в обозреваемую ячейку ленты вместо символа ai записывается символ aL (допускается i =L);
  3. управляющая головка (лента) перемещается на один шаг или остается на прежнем месте (dЛ – перемещение на один шаг влево, dп – перемещение на один шаг вправо, dн – оставаться на месте; dЛ, dп, dнD).

Итак, если блок управления осуществляет функциональное отображение:

Гf: Q*A Q*A*D,

где qj aiQ*A, qk aL dt Q*A*D, ai, aLА, qj, qkQ, dt D= dЛ, dп, dн, то машину Тьюринга будем называть детерминированной и всюду определенной.

б) Данные (исходные, промежуточные и окончательные) машины есть цепочки символов (слова) в алфавите А, которые записываются на бесконечной ленте внешней памяти (каждый символ слова в отдельной ячейке) (А=Аисх АпромАрез, а0Аисх, а0Арез).

в) Элементарные шаги в рассматриваемой машине следующие:
  1. изменение состояния машины и содержимого ячейки, обозреваемой управляемой головкой;
  2. перемещение управляемой головки на один шаг влево ( вправо);

г) Детерминированность работы машины обуславливается программой ее работы , то есть совокупностью выражений (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.

В дальнейшем программу будем записывать в табличном виде:

A \ Q

q0

q1



qj



qz

a0



















a1







































ai










qk aL dt



























am




















или диаграммой переходов вида:




д) Начальная атрибуция (конфигурация машины) характеризуется следующим образом:
  1. на ленте записано слово А*;
  2. управляемая головка указывает на ячейку ленты, в которой записан самый левый символ цепочки (слова),
  3. машина находится в начальном состоянии q0  Q;

Пример начальной конфигурации машины:



a0

a0

a2

a4

a7

a3

a9

a0

a0

a0



Символически эта конфигурация записывается как машинное слово q0= q0 a2 a4 a7 a3 a9= k0.

e) Текущая (промежуточная) ситуация (конфигурация) kp есть машинное слова вида 1 qj ai2, где 1 и 2 – цепочки символов алфавита А.

ж) Заключительная ситуация (конфигурация) kz имеет вид qz, где qz – заключительное состояние машины, qzQ, - результат работы машины из исходной ситуации по заданной программе, А*.

Очевидно, что последовательность конфигураций k0 k1 k2… однозначно определяется исходной конфигурацией k0 и полностью описывает работу машины Тьюринга Т= =0, qz, >, начиная с k0= q0 (А*исх, АисхА). Эта последовательность конечна, если в ней встретится заключительная конфигурация kz= qz, и бесконечна в противном случае.

Пример: