1.1. Определение машины Тьюринга
Содержательно Машина Тьюринга (МТ) как абстрактный автомат, реализующий алгоритм вычисления некоторой вычислимой функции, состоит из трех компонентов:
1. Управляющее устройство (УУ), которое может находиться в одном из состояний, образующих конечное множество — внутренний алфавит машины Тьюринга;
2. Бесконечная лента, разбитая на ячейки, в каждой из которых может быть записан один из символов конечного алфавита — внешний алфавит машины Тьюринга;
3. Устройство обращения к ленте — считывающая и записывающая головка, которая в текущий момент времени считывает или записывает значение одной (текущей) ячейки ленты;
Рисунок 1 Схема машины Тьюринга
1.2. Принцип функционирования машины Тьюринга
В каждый дискретный момент времени (момент работы машины Тьюринга)
- Машина находится в одном из внутренних состояний;
- Головка обозревает одну из ячеек ленты.
При переходе к следующему такту выполняются следующие действия:
- Машина переходит в некоторое другое состояние (или остается в текущем состоянии).
- В обозреваемую ячейку записывается некоторый символ (или содержимое ячейки не изменяется).
- Головка передвигается на одну ячейку вправо(R), влево(L), или остается в том же положении (E).
<p>Шаг машины представляет собой считывание символа из обозреваемой ячейки; определение состояния, в котором находится управляющее устройство и в зависимости от этого перевод управляющего устройства в новое состояние, запись на ленту нового символа и, перемещение головки вправо (R) или влево (L) или оставление головки на месте (E).
Формальная команда машины Тьюринга может быть задана в следующем виде:
(1)
где:
и — состояние машины до и после выполнения команды и ;
и — обозреваемый символ в ячейке до и после выполнения
команды и ;
– символ, указывающий направление сдвига головки .
Совокупность команд (программа) образует множество P;
Среди символов внутреннего алфавита машины Тьюринга Q можно выделить:
- — начальное состояние МТ,
- — конечное состояние МТ
Машина начинает функционировать, находясь в состоянии ; и заканчивает (останавливается) в состоянии .
Среди символов внешнего алфавита машины Тьюринга выделяют символ – пустой символ, . Запись символа в ячейку ленты означает очистку этой ячейки.
Полным состоянием или конфигурацией машины Тьюринга называется такая совокупность символов из A и Q, которая однозначно определяет дальнейшее поведение машины.
Полное состояние (конфигурация) имеет следующий вид:
,
где:
— слово, находящееся на ленте слева от головки;
— текущее внутренне состояние ;
— слово, образованное символом, обозреваемым головкой и всеми символами справа от него.
Стандартной начальной конфигурацией называется конфигурация вида
,
т.е. конфигурацию, при которой головка обозревает крайний левый символ записанного на ленте слова a, а внутренними состоянием является .
Стандартной конечной конфигурацией называется конфигурация следующего вида:
,
где и любые слова во внешнем алфавите А (в т.ч. и пустые). Внутренним состоянием является заключительное состояние .
Машина Тьюринга – абстрактный автомат задаваемый кортежем следующего вида:
– внутренний алфавит;
– внешний алфавит;
– начальная конфигурация;
– совокупность команд машины.
1.3. Способы задания МТ
Задать вычислительный алгоритм в алгоритмической системе Тьюринга — это значит задать поведение МТ по любым внешним (входным) данным.
Поведение (или функционирование МТ) как и любой другой вычислительной машины (неабстрактной) может быть задано программой, составленной как минимум 3 различными способами:
1) Совокупностью команд МТ, прямым их перечислением;
2) Таблицей переходов МТ;
3) Блок-схемой или диаграммой переходов МТ.
Рассмотрим перечисленные способы на примере:
M = ,
где
Q = { q0 , q1 , q2 , q z } ,
A = {a, b, c, ?},
K0 = q0 a b c ?.
1) Совокупность команд:
P = {q0 aq1 ? R ; q1 bq2 ? R ; q2 cq z ? E }
2) Таблица переходов:
3) Диаграмма переходов:
1.4. Вычисления на МТ
Рассмотрим, каким образом производятся вычисления на МТ.
В общем случае внешний алфавит (A) представляет собой
,
где
Aисх – алфавит, на котором могут быть записаны исходные слова на ленте перед началом работы МТ,
Aрез – множество символов (алфавит), на котором могут быть записаны все слова на ленте после остановки МТ,
Aпромеж – алфавит, символы которого могут появляться во время функционирования МТ.
Замечание: будем рассматривать простейший случай, когда все алфавиты совпадают.
В соответствии с определением стандартной начальной конфигурации (K0) ко всякой незаключительной конфигурации (Ki) применима некоторая команда МТ. После такого применения МТ переходит в новое полное состояние (или конфигурацию) Ki+1 . Этот переход принято обозначать
.
Если для некоторых Ki , Kj существует такая последовательность конфигураций
,
то это принято обозначать
.
Определение:
Дана f-функция, отображающая множество слов из алфавита во множество слов из . Машина Тьюринга М вычисляет (правильно) функцию f, если:
1) f(V)=W и , для – множество слов в алфавите и соответственно.
2) Существует V такое, что f(V) – не определено. Тогда и МТ, запущенная в стандартной начальной конфигурации q0 V, работает бесконечно долго или зацикливается.
Определение:
Если для f существует МТ М, которая ее вычисляет (правильно), то функция f называется (правильно) вычислимой по Тьюрингу.
Замечание: Две МТ, M1 и M2 , с одинаковыми алфавитами являются эквивалентными, если они правильно вычисляют одну и ту же функцию.
1.5. Примеры МТ
Построить МТ, которая бы умножала два натуральных числа.
Условимся обозначать натуральное число a словом, состоящим из такого количества единиц, количество которых равно численному значению a, а разделительный символ между числами будем обозначать «*».
Построить МТ для
1a * 1b 1a+b .
, , , .
Решение:
P = { , , , , , , , , , , , , , , , , }.
1.6. Тезис Тьюринга
Для каждой ли вычислимой функции можно построить реализующий её на МТ алгоритм?
Ответом служит тезис Тьюринга: «Всякий алгоритм может быть реализован на МТ». Доказательства у этого утверждения нет, и не может быть, поскольку само понятие алгоритма является неточным.
Подтверждением тезиса Тьюринга могут служить следующие обстоятельства (неформальные):
— практика создания программ для МТ по всем вычислительным функциям;
— совокупность описания алгоритма в любой алгоритмической системе к МТ.
Этот тезис позволяет утверждать, что если невозможно создать МТ для вычисления какой-либо функции, то алгоритма вычисления этой функции не существует вообще!
В частности, это относится к:
- решению проблемы остановки для произвольной МТ
- проблеме определения выводимости в любой теории и т.д.
- проблеме существования М-транслятора: любой программы на алгоритмическом языке , которая определяет зацикливание
Проблема остановки для произвольной МТ:
— по некоторому алгоритму (?? А и Д ? ) определить, существует ли результат вычислений по алгоритму А?
— построить МТ М0 так, что любые М и любые и Д?
T0(T,?) = «Истина», если М – останавливается.
T0(T,?) = «Ложь», если М — не останавливается.
Статьи к прочтению:
- Сновные типы оперативной памяти по архитектурным особенностям.
- Сновные выдержки из положения о производственной практике
Сведение-просто! Урок 1: Основы теории сведения.
Похожие статьи:
-
Краткие сведения из теории. 3 страница
Excel используются фильтры двух типов: автофильтр и расширенный фильтр, обращение к которым выполняется через меню Данные. Они отличаются способом…
-
Краткие сведения из теории. 2 страница
Задание 6.20. Вычислить определитель матрицы Ввести матрицу (по одному элементу в каждую ячейку). В пустой ячейке ввести функцию МОПРЕД (категория…