Скачать презентацию Машина Тьюринга Имеется некоторое конечное множество символов S Скачать презентацию Машина Тьюринга Имеется некоторое конечное множество символов S

lek12ml.ppt

  • Количество слайдов: 16

Машина Тьюринга Имеется некоторое конечное множество символов S 0, S 1, . . , Машина Тьюринга Имеется некоторое конечное множество символов S 0, S 1, . . , Sn, которое называется алфавитом машины. В каждой ячейке может быть записан только один из символов - букв алфавита машины. Машина обладает некоторым конечным множеством внутренних состояний {q 0, q 1, . . . , qm}. В каждый данный момент времени машина находится только в одном из этих состояний. Считаем, что внутренним состоянием q 0 обладает каждая машина и q 0 называется начальным состоянием.

Машина обладает некоторым конечным множеством внутренних состояний {q 0, q 1, . . . Машина обладает некоторым конечным множеством внутренних состояний {q 0, q 1, . . . , qm}. В каждый данный момент времени машина находится только в одном из этих состояний. Считаем, что внутренним состоянием q 0 обладает каждая машина и q 0 называется начальным состоянием.

Если в какой-то момент времени t читающая головка воспринимает квадрат (т. е. стоит на Если в какой-то момент времени t читающая головка воспринимает квадрат (т. е. стоит на квадрате), содержащий символ Si, и машина находится во внутреннем состоянии qj, то действие машины определено, и она совершает одно из следующих четырех действий: 1) головка стирает символ Si и записывает на том же квадрате символ Sk; 2) головка перемещается в соседний слева квадрат; 3) головка перемещается в соседний справа квадрат; 4) машина останавливается.

В случаях 1)-3) машина переходит во внутреннее состояние qr и готова к действию в В случаях 1)-3) машина переходит во внутреннее состояние qr и готова к действию в следующий момент времени t+1. Первые три из возможных актов действия машины могут быть описаны соответственно следующими упорядоченными четверками символов, которые в дальнейшем будем называть командами: 1) qj Si Sk qr; 2) qj Si L qr; 3) qj Si R qr. Любая машина имеет конечное (непустое) множество команд.

Машина останавливается, если она находится в некотором внутреннем состоянии qj, читающая головка обозревает какой-то Машина останавливается, если она находится в некотором внутреннем состоянии qj, читающая головка обозревает какой-то символ Sk, а среди команд машины нет команды, начинающейся с qj. Sk. Если на ленте имеется какое-нибудь слово Р (или пустое слово), читающая головка помещена на квадрат с первой левой буквой слова Р и машина приведена во внутреннее состояние q 0, то ее головка стирает и пишет символы и перемещается из одного квадрата в другой (соседний). Если при этом машина когда-нибудь останавливается, то находящееся в момент остановки слово на ленте считается результатом применения машины Т к данному слову Р и обозначается через Т(Р). Если процесс переработки машиной Т слова Р бесконечен, то говорят, что машина Т не применима к слову Р.

Задание машины Тьюринга Машина Тьюринга Т считается заданной, если задано непустое конечное множество упорядоченных Задание машины Тьюринга Машина Тьюринга Т считается заданной, если задано непустое конечное множество упорядоченных четверок символов (команд), удовлетворяющих условиям: а) каждая четверка символов принадлежит к одному из трех типов команд, б) никакие две четверки одной машины не имеют совпадающие первые два символа, в) среди команд любой машины всегда есть хотя бы одна команда, начинающаяся с q 0. Множество всех символов типа Sm, входящих в команды машины, называется алфавитом заданной машины, а входящие в эти команды символы qi называются внутренними состояниями заданной машины Т.

В исходном (начальном) состоянии машина обладает внутренним состоянием q 0. Для преобразования слова Р В исходном (начальном) состоянии машина обладает внутренним состоянием q 0. Для преобразования слова Р машиной Т обязательно указывается положение слова на ленте относительно читающей головки. Если это не сделано, то предполагается, что читающая головка находится на первой (самой левой) букве слова Р. 1. Пусть задана машина Т командами: q 01 Rq 1 q 1 S 01 q 0, а на ленте записано слово Р=1, машина Т, начав работу с первой буквы слова Р, приписывает к нему справа по одной букве 1 на каждом шаге, никогда при этом не останавливаясь. Следовательно, эта машина неприменима к слову Р.

2. Машина, заданная командами: q 0 S 0 Rq 0 q 0 S 1 2. Машина, заданная командами: q 0 S 0 Rq 0 q 0 S 1 Rq 0 q 0 S 2 Rq 0 q 0 Sk. Rq 0 ……… q 011 q 1, где ни одно из Si(1≤i≤k) не совпадает с символом 1, двигается по ленте вправо, пока не встретит вхождение (если такое вообще имеется) символа 1, после чего останавливается.

3. Машина Т, заданная командами q 0 a. Rq 0 q 0 b. Rq 3. Машина Т, заданная командами q 0 a. Rq 0 q 0 b. Rq 0 q 0 S 0 aq 1, приписывает к любому слову Р алфавита {a, b} справа букву а и останавливается.

Алгоритм Тьюринга. Вычислимость по Тьюрингу С каждой машиной Тьюринга можно связать некоторый алгоритм AT, Алгоритм Тьюринга. Вычислимость по Тьюрингу С каждой машиной Тьюринга можно связать некоторый алгоритм AT, A в алфавите А машины Т. Возьмем произвольное слово Р алфавита А и запишем его слева направо в квадратах чистой ленты, причем так, чтобы первая (самая левая) буква Р находилась под читающей головкой. Приведем машину Т во внутреннее состояние q 0. Машина начинает работать. Если она когданибудь остановится, то появившееся в результате на ленте слово алфавита А является значением алгоритма AT, A. Такой алгоритм AT, A называется алгоритмом Тьюринга.

Машина Тьюринга Т с алфавитом А, включающим 1 и *, частично вычисляет частичную арифметическую Машина Тьюринга Т с алфавитом А, включающим 1 и *, частично вычисляет частичную арифметическую функцию f(x 1, x 2, . . . , xn), если для любых натуральных k 1, k 2, . . . , kn и некоторых r и m имеем: тогда и только тогда, когда определена хотя бы одна из частей этого равенства. Это означает, что применение алгоритма Тьюринга AT, A к слову даст слово, означающее с точностью до слов и r 0 Sm 0 S значение функции f(k 1, k 2, . . . , kn) (SΟ - интерпретируется как изображение пустого квадрата ленты).

Арифметическая функция f(x 1, x 2, . . . , xn) называется вычислимой по Арифметическая функция f(x 1, x 2, . . . , xn) называется вычислимой по Тьюрингу, если для любых натуральных k 1, k 2, . . . , kn и некоторых r и m имеем: Это означает, что применение алгоритма Тьюринга AT, A даст слово, означающее с к слову точностью до слов значение функции f(k 1, k 2, . . . , kn), иначе существует машина Тьюринга, вычисляющая эту функцию для любых значений её аргументов.

Пример. Рассмотрим всюду определенную функцию сложения f(x, y)=x+y. Покажем, что эта функция вычислима по Пример. Рассмотрим всюду определенную функцию сложения f(x, y)=x+y. Покажем, что эта функция вычислима по Тьюрингу. Для этого построим машину Тьюринга: эта машина переводит слово а последнее слово означает число m+n, следовательно, эта машина Тьюринга вычисляет функцию х+у. Итак, функция х+у вычислима по Тьюрингу.

Связь между машинами Тьюринга и нормальными алгоритмами Теорема Пусть Т - машина Тьюринга с Связь между машинами Тьюринга и нормальными алгоритмами Теорема Пусть Т - машина Тьюринга с алфавитом А. Тогда существует нормальный алгоритм B над А, вполне эквивалентный относительно А алгоритму Тьюринга AT, A. . Следствие. Всякая частично вычислимая (вычислимая) по Тьюрингу функция является частично вычислимой (вычислимой) по Маркову функцией.

Основная гипотеза теории алгоритмов (принцип нормализации или тезис Черча) С целью дать строгое (с Основная гипотеза теории алгоритмов (принцип нормализации или тезис Черча) С целью дать строгое (с некоторых позиций) определение алгоритма были введены понятия нормального алгоритма и алгоритма (машин) Тьюринга. Было выяснено, что оба эти подхода приводят к равносильным понятиям алгоритма, т. е. то, что можно осуществить с помощью одного из этих алгоритмов, можно осуществить с помощью другого, и наоборот.

Для всякого алгоритма В в алфавите А существует вполне эквивалентный ему нормальный алгоритм С Для всякого алгоритма В в алфавите А существует вполне эквивалентный ему нормальный алгоритм С над А, т. е. ∀P в А: В(Р) ≈ С(Р). Иначе эта гипотеза формулируется так. Всякий алгоритм может быть задан посредством некоторой машины Тьюринга и реализован в этой машине. Эту гипотезу называют основной гипотезой, или основным тезисом теории алгоритмов, или принципом нормализации, или тезисом Черча.