Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ml_shpora(А4).doc
Скачиваний:
9
Добавлен:
24.12.2018
Размер:
747.01 Кб
Скачать

Вопрос 17. Определение машины Тьюринга

ai

qj

Конечная лента разбитая на ячейки + рабочая головка

Е=0,1,2,…..

Алфавит: А={a0,a1,….,an}

(внешн. алф-т машина)

Множество внутр. сос-й: Q={q0,q1,…,qn}

q0=>СТОП (работа машины заканч.)

Операции: -сдвиг головки влево

- // - // - вправо

- замена буквы в тек. Ячейке

Команды: aiqj ->

Машина Тьюринга

T=<A,Q,П>

П=

T(i,j)=

Работа машины Тьюринга есть изменение конф-ии, т.е. распр-ие букв, сост. головки, полож-ие тек. Ячейки

K0,K1,K2…. – конфигурации

Машинное слово

М1=α qjqi β

Вопрос 18. Основные машины Тьюринга.

  1. А – перенос нуля

q1001x0 ׀≡> q001x00

  1. Б+ - сдвиг вправо

q1ai1x0 ׀≡> ai1x q00

  1. Б- - сдвиг влево

01x q1 ai ׀≡> q001x ai

  1. В – транспозиция

q101x01y0 ≡> q001y01x0

  1. К – кодирование

q101x00x0 ׀≡> q001x01x0

  1. Л – стирающая машина

q101x0 ׀≡> q000x0

  1. R – удаление 1

q101x+10 ׀≡> q001x00

  1. S – добавление 1

q101x0 ׀≡> q001x+1

  1. Сложение

q101x+101y+10 ׀≡> q001x+y+1000

  1. Умножение

q101x+101y+10 ≡> q001x*y+10

Операции над машинами Тьюринга.

  1. Т=Т1◦Т2 – композиция машин

М1 =Т1> М2 = α q0T1 β

α q0T2 β = [М2]q0 T1 q0 T2 =Т2> М3

М1=Т> М3

Q1∩Q2 = Ø, A1=A2=A

T=<A, (Q1\{q0T1})UQ2, [П1]q0 T1 q0 T2U[П2]>

- последвательное выполнение

  1. Условный оператор

Т1, Т2

Т=Е{T1T2

  1. αq1Tabc β, abc=010 и αq1T1abc β = M1, то αq1Tabc β =Т1

  2. если abc≠010 и αq1T2abc β = М2, то αq1Tabc β =Т2

Q1∩Q2 ≠ Ø, A1=A2=A

T=<A, (Q1\{q0T1})U(Q2\{q0T2})U{q0T, … , qrT}, П>

П=(П1 q0 T1q0 T2 )U(П2 q0 T2q0 T1)U {проверка условия и задание альтернатив}

  1. Условный оператор с циклом

Т1, Т2, Т3

• {Т2, если авс=010

Т=Т1 Е {

3 в прот. случае

Работает Т1

М1 = > αq1T1abc β

Проверка условия (заменяем q0T1 на q2).

После работы T2 следует остановка.

После работы Т3 переход к Т1 и цикл повторяется, q0T3 заменяется на q1T1,

а q0T2 на q0T.

Вопрос 19. Вычисление функций на машинах Тьюринга.

f: X→ N , XNK. f называется вычислимой на машине Тьюринга Tf, если:

1) (n1,…,nk)  X, q1Tf 0n1 0n2 0 … 0nk (Машина работает бесконечно, т.е. не переходит в q0Tf )

n=11…1  n+1 раз.

2) (n1,…,nk)  X, то q1Tf 0n1 0n2 0 … 0nk 0 Tf  q0Tf 0 f (n1,…,nk) 0 

f правильно вычислима на М.Т. Tf если выполняется 1), 2) и не достраиваются ячейки слова.

Примеры:

1) x+y и x  y – правильно вычислимы на М.Т.

2) Если f, q1,…,qn правильно вычислимы, то f(q1(x1,…,xk),q2(x1,…,xk),…,qn(x1,…,xk)) правильно вычислима.

f (g1(x1,x2,x3), g2(x1,x2,x3)).

q1 0 x1 0 x2 0 x3 0 К3

q2 0x1 0x2 0x3 0 x1 0x2 0x3 0 (Б+)3Tq1

0x1 0x2 0x3 q 0 q1(x1,x2,x3) 0 (Б-)3Ц4

q 0 g1 (x1,x2,x3) 0 g2(x1,x2,x3) 0 (Б+)Tq2Б-

q0 0 f(g1(x1,x2,x3),g2(x1,x2,x3)) 0