Сновные сведения из теории
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. Вычислить определитель матрицы Ввести матрицу (по одному элементу в каждую ячейку). В пустой ячейке ввести функцию МОПРЕД (категория…