Главная страница
Навигация по странице:

  • Формальное определение машины Тьюринга.

  • МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ. Математическая логика


    Скачать 1.08 Mb.
    НазваниеМатематическая логика
    АнкорМАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ.doc
    Дата05.04.2018
    Размер1.08 Mb.
    Формат файлаdoc
    Имя файлаМАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ.doc
    ТипДокументы
    #17626
    КатегорияМатематика
    страница6 из 8
    1   2   3   4   5   6   7   8

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


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

    Машину Тьюринга Т=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, и бесконечна в противном случае.

    Пример:
    1) Пусть последовательность k0 k2 kz имеет вид q0 a2 a1 a4 q1 a1 qz a4 a2 (очевидно, что последовательность команд следующая: q0 a2  q1 a4 dп, q1 a1 qz a2 dЛ).
    Имеем следующую интерпретацию смены ситуаций:


    a0

    a2

    a1

    a0

    a0
    k0



    a0

    a4

    a1

    a0

    a0
    k1


    a0

    a4

    a2

    a0

    a0
    kz
    2) Машина Т=<a0, a, q0, qz, q0 a0 q0 a dп, q0 a q0 a dп> будет работать бесконечно, заполняя все ячейки ленты символами а вправо от начальной пустой ячейки (исходная информация на ленте - пустые символы а0 в каждой ячейке ленты).

    Примечания:

    1. Соответствие, устанавливаемое машиной Тьюринга между теми исходными данными, к которым она применима ( то есть если она приводит к результату) и результатами ее работы представляет собой некоторую словарную функцию (в математическом смысле) Т(*исх*резисхрезпром.

    2. Если для функции имеется машина ее реализующая, то говорят, что эта функция вычислима по Тьюрингу. Функция, для вычисления которой существует алгоритм, называется вычислимой.

    3. Поскольку слово (*, m) можно отождествить с натуральным числом (в m-ичной системе счисления), то уточнение понятия вычислимой словарной функции приводит и к уточнению понятия вычислимой числовой функции f:NkN, kN. Тьюринг доказал. что класс числовых функций, вычислимых на машине Тьюринга, совпадает с классом частично-рекурсивных функций.


    Формальное определение машины Тьюринга.

    1   2   3   4   5   6   7   8


    написать администратору сайта