Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_druk1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
577.02 Кб
Скачать

Лекція 2. Машина Тьюрінга

План:

1.Поняття про машини Тьюрінга.

2.Структура та система команд машин Тьюрінга.

3.Приклади роботи машин Тьюрінга.

4. Функції обчислюванні за Тюрінгом.

Література: [2], [4], [10].

Англійський математик А.М.Тьюрінг запропонував 1936 р. клас абстрактних машин, які задають алгоритми, що можуть бути виконані людиною з олівцем і достатнім запасом паперу. Зараз відомо багато різних варіантів машин Тьюрінга та їх узагальнень (багатострічкові машини, машини з еластичною стрічкою і т.п.).

Зупинимось на такому визначенні машини Тьюрінга (МТ). Під МТ розумітимемо впорядковану п’ятірку (Q, Т, δ, q0, F), де

Q(q0 ,q1 ,…, qn) ― скінченна множина внутрішніх станів ;

Т(t1 ,…, tm) ― скінчений алфавіт символів стрічки, причому він обов’язково містить спеціальний символ пустої клітки λ ;

δ : Q × T→Q × T× {R, L, S} - функція переходів ;

q0 Q – початковий стан;

F Q – множина фінальних станів .

Функцію переходів δ на практиці задають скінченою множиною команд одного з трьох видів: qa→pbR, qa→pbL, qa→pbS, де p, q Q; a, b T. При цьому, як правило, не для всіх пар (q, a ) Q × T існує команда з лівою частиною qa. Це означає, що функція δ не всюди визначена. Надалі ,eltv вважати, що δ всюди визначена, тому для всіх пар (q, a) Dδ неявно ( не додаючи відповідні команди виду qa→qa до множини команд) вводимо позначення δ (q, a)=(q,a,ε).

Конструктивно МТ складається із пам’яті, яка утворена з нескінченної в обидва боки стрічки розділеної на клітки, пристрою керування та голівки читання – запису. В кожній клітинці стрічки міститься єдиний символ із алфавіту Т, причому, в кожен конкретний момент стрічка містить скінченну кількість символів, відмінних від символу λ . Голівка читання – запису у кожен дискретний момент оглядає єдину клітку стрічки.

Якщо МТ знаходиться в стані q і голівка читає символ а, то при виконанні команди qa → pbR ( команди qa → pbL, команди qa → pbS) МТ переходить в стан p, замість символу а записує на стрічці символ b і зміщує голівку на одну клітку вправо ( на одну клітку вліво, залишає голівку на місці ).

Конфігурація, або повний стан МТ – це слово виду xqy, де x, y T* , q Q. Неформальне це означає, що на стрічці записане слово ху (зліва і справа від ху – тільки символи λ), МТ знаходиться в стані q , голівка читає перший символ під слова у.

Конфігурацію виду q0x , де перший та останній символи слова х ,відмінні від λ, називають початковою. Конфігурацію виду xqy , де q F , називають фінальною. Після переходу до фінального стану, тобто до фінальної конфігурації, МТ зупиняється . Машина Тьюрінга також зупиняється , якщо для певної конфігурації відповідна клітинка пуста (команда відсутня).

Нехай МТ знаходиться в конфігурації xcqay, де x, y T*, a,c T , q Q .

Після виконання команди qa → pbL (команди qa → pbR , qa → pbS) MT перейде до конфігурації xpcby (конфігурації xcbpy , xcpby ).

Кожна МТ задає деяке словникове відображення Т* → Т*. Будемо вважати, що деяка машина Тьюрінга М переводить слово u T* в слово v T*, якщо вона з початкової конфігурації q0u переходить до фінальної конфігурації xqy , де q F, xy = αvβ , α, β {λ}* , причому перший та останній символи слова v відмінні від λ , або v=ε. Цей факт записуємо так: v=M(u). Якщо МТ М, починаючи роботу з початкової конфігурації q0u, ніколи не зупиняється, то кажуть, що М зациклюється при роботі над словом u. Тоді значеня М (u) не визначене.

Дві машини Тьюрінга М1 та М2 вважаються еквівалентними, якщо вони задають одне і те ж словникове відображення Т* → Т*.

МТ називається детермінованою, якщо функція δ однозначна. Інакше МТ називається не детермінованою .

Не обмежуючи загальності можна вважати , що множина F складається з єдиного фінального стану q*. Справді, нехай М =(Q,T,δ,q0,F). Візьмемо q* Q. Тоді МТ М1 = (Q {q*}, T, δ1, q0, {q*}), де δ1= δ {qa→q*a|q F, a T}, очевидно, еквівалентна машині М.

Надалі розглядатимемо тільки детерміновані МТ з єдиним фінальним станом і позначатимемо їх (Q,T,δ,q0,q*). Конкретні МТ будемо задавати, вказуючи множину команд. При цьому початковий стан завжди позначатимемо q0, фінальний стан позначатимемо q*.

Машина Тьюрінга М обчислює деяку часткову функцію , якщо вона кожне слово виду переводить в слово f( ) у випадку , та машина Тьюрінга не визначена на цьому наборі, якщо . Функція називається обчислювальною за Тьюрінгом, або МТ-обчислювальною, якщо існує МТ, яка її обчислює.

Наведемо приклади машини Тьюрінга .

Приклад 1. Машина Тьюрінга, яка реалізує функцію f(x,y)=x+y в алфафіті Т(1, λ,+) матиме вигляд:

1

+

λ

q0

q1λR

q* λS

q1

q1 1R

q1+R

q21L

q2

q21L

q2+L

q0 λR



Тобто, якщо x=4, y=2, вхідне слово має вигляд 1111+11,

а фінальне слово 111111.

Приклад 2. Машина Тьюрінга, яка реалізує функцію f(x,y)=x-y в алфафіті Т(1, λ,-) матиме вигляд:

1

-

λ

q0

q1λR

q* λS

q1

q1 1R

q1-R

q2 λ L

q2

q3 λ L

q* λ S

q3

q3 1 L

q3-L

q0 λR



Тобто, якщо x=5, y=2, вхідне слово має вигляд 11111-11,

а фінальне слово 111.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]