Машины Тьюринга (автор алан тьюринг) – 3-й способ определения вычислимых функций

Суть способа: лента с “0” и “1” поступает на вход «черного ящика» – ЭВМ. Черный ящик – ЭВМ – используется для входной ленты как пространство памяти ячеек для вычисления в виде инструкций для перехода из одного состояния в другое (модель конечного автомата).

Т.е., «машина Тьюринга» – функция перехода под действием входных данных из одного состояния в другое.

Один шаг действия может быть 3-х типов:

а) предыдущий символ ячейки ленты стирается, а пишется символ (может быть старый); б) лента сдвигается вправо (П) или влево (Л); в) указывается следующая инструкция (ее номер).

Определение 1: Машина Тьюринга – это функция такая, что для некоторого натурального числа область определения этой функции есть подмножество множества , а область значений есть подмножество множества

Например, пусть . То есть, когда машина дойдет до инструкции , а на обозреваемой ячейке написан символ 1, она его стирает, и оставляет 0. Ленту передвигает влево и переходит к инструкции . Если инструкция не определена, то, дойдя до инструкции , а на ячейке написан 1, то машина останавливается.

Входные данные и выходные данные – это строчки из 1, разделенные 0.

Пусть - строчка из 1 длины . Тогда строка, состоящая из строчек из 1, разделенными 0.

Определение 2: Пусть область определения местной функции . Функция называется «вычислимой», если существует машина Тьюринга такая, что как только начинает с инструкции , обозревая самый левый символ строки (вся остальная часть ленты пуста) тогда:

а) если значение функции определено, то в конце концов остановится, обозревая самый левый символ строки , при этом часть, находящаяся справа от этой строки, пустая;

б) если значение не определено, то никогда не останавливается.

ЗАМЕАНИЕ 1: Существует бесконечное число машин Тьюринга, для каждой из которых соответствует своя вычислимая функция.

ЗАМЕАНИЕ 2: Для любой вычислимой функции имеется бесконечное число машин Тьюринга.

ПРИМЕР: построим машину Тьюринга для «». Зададим функцию :

; ; ; ;

; ; ; .

Например, ; обозреваемый символ выделен жирным шрифтом и почеркнут.

Номер инструкции Текущая строка символов Комментарий
  0 1 10110 01 1 0110 Прохождение через первое слагаемое
  011 0 110 Заполнение промежутка
  0111 1 10 01111 1 0 Прохождение через второе слагаемое
  011111 0 Конец второго слагаемого
  01111 1 0 Стирание 1
  0111 1 00 Стирание второй 1
  011 1 000 01 1 1000 0 1 11000 Движение назад
  0 111000 0 1 11000 Остановка

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: