Top Banner
dr hab. inż. Joanna Józefowska, prof. PP 1 Odmiany maszyny Turinga
38

Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

Feb 27, 2019

Download

Documents

hoangliem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP 1

Odmiany maszynyTuringa

Page 2: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

2

Uniwersalna maszyna Turinga

Uniwersalna maszyna U nad alfabetem Ak jest tomaszyna definiująca funkcje:

fU, n+1 = {((w(I1, I2, ..., In)),y) | w - opis maszyny T za

pomocą słowa, zaś ((I1, I2, ..., In),y) ∈ fT, n }

- argument w odpowiada programowi

- krotka I1, I2, ..., In odpowiada danym wejściowymprogramu

Page 3: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

3

Przykład: A3 = {0, 1, B}

• słowo w jest opisem maszyny definiującej fT, 1 = E

• T=⟨{q0,q1}, A3, B, {q00BRq0, q01BRq0, q0BBRq1}, q0⟩

• wprowadzamy porządek P na zbiorze stanów

P: Q → N

P(q0) = 1, P(q1) = 2

• niech S ∉ A3; instrukcję qaa’Dq’ wyrażamy:

SP(q)aa’D SP(q’)

Page 4: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

4

Przykład c.d.

• kodujemy instrukcje T nad A3 ∪ {S, L, R}:

S0BRSS1BRSSBBRSS

• niech P1 będzie porządkiem określonym dla A3, zaś

P2 niech będzie porządkiem nad A3 ∪ {S, L, R}

P2 = P1 ∪ {(S, 4), (L, 5), (R, 6)}

• rozważamy funkcję K: (Ak ∪ {S, L, R})* → (Ak)*

skonstruowaną z wykorzystaniem numeracji

elementów dziedziny i przeciwdziedziny

Page 5: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

5

Przykład c.d.

• niech N1: (A3 ∪ {S, L, R})* → N oraz

N1(S0BRSS1BRSSBBRSS)=n1

• niech N2: (A3)* → N

• wybieramy słowo e∈ A3*, którego numer

porządkowy w numeracji N2 równy jest n1, słowo e

jest kodem słowa w:

K(w) = e

Page 6: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

6

Niedeterministyczna maszyna Turinga

NDTM =⟨Q, Ak, B, δ, q0⟩

δ: Q I Ak → 2Q I Ak I {L, R}

Deterministyczną maszynę Turinga z dwomastanami końcowymi qn i qy wyposażamy w modułgenerujący słowa należące do Ak

*.

Page 7: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

7

Niedeterministyczna maszyna Turinga

Maszyna NDTM działa w dwóch etapach:

1. moduł generujący generuje słowo s ∈ Ak*

i umieszcza je w lewej części taśmy,począwszy od komórki „-1”

2. następuje sprawdzenie, czy słowo s spełniawarunki określone w postawionym pytaniu

Page 8: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

8

Niedeterministyczna maszyna Turinga

NDTM rozwiązuje problem decyzyjny π, jeżeli dlakażdej instancji tego problemu wygenerowanyłańcuch s powoduje, że po wykonaniu programuNDTM są spełnione warunki:

• jeżeli odpowiedź brzmi „tak”, to maszynazatrzymuje się w stanie końcowym qy,

• jeżeli odpowiedź brzmi „nie”, to maszyna osiągastan qn albo faza sprawdzania nie zakończy się wskończonym czasie.

Page 9: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

9

Wielotaśmowa maszyna Turinga

k-DTM =⟨Q, Z1, Z2,... Zk, B, δ, q0⟩

δ: Q I Z1 I Z2 I...I Zk → Q I Z1 I Z2 I...I Zk I {L, R}k

k-NDTM =⟨Q, Z1, Z2,... Zk, B, δ, q0⟩

δ: Q I Z1 I Z2 I...I Zk → 2 Q I Z1

I Z2

I...I Zk I {L, R}k

Page 10: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

10

Odmiany pojęcia maszyny Turinga

Twierdzenie 1

Każda k-taśmowa maszyna Turinga może byćsymulowana przez jednotaśmową maszynęTuringa.

Twierdzenie 2

Każda NDTM może być symulowana przez 3-DTM.

Wniosek

Każda NDTM może być symulowana przez DTM.

Page 11: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

11

Maszyna Turinga z wyrocznią

OTM =⟨Q, Ak, Σ, B, δ, q0, qh , qc , qr⟩

Ak - skończony, niepusty zbiór symboli taśmy pierwotnej

Σ - skończony, niepusty zbiór symboli taśmy wyroczni

δ: Q – {qc, qh} I Ak I Σ → Q I Ak I Σ I {L, R} I {L, R}

– qh - wyróżniony stan końcowy

– qc - wyróżniony stan konsultacji z wyrocznią

– qr - wyróżniony stan wznowienia obliczeń (pokonsultacji)

Page 12: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

12

Maszyna Turinga z wyrocznią

0 1 001

0

0100

sterowanie

0 1 0010100

taśma wyroczni

taśma pierwotna

Page 13: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

13

Zasada działania maszyny Turinga z wyrocznią

• w stanie q0 na taśmie pierwotnej zapisane jestsłowo wejściowe, taśma wyroczni jest pusta,maszyna OTM rozpoczyna pracę jak DTM;

• jeśli sterowanie przejdzie do stanu qn, toobliczenia kończą się, a wynik znajduje się nataśmie pierwotnej;

• jeśli OTM znajduje się w stanie q ∈ Q - {qn, q0}, tomaszyna wykonuje czynności zgodnie z δ (jakzwykła 2-DTM);

Page 14: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

14

Zasada działania maszyny Turinga z wyrocznią

• jeśli OTM znajdzie się w stanie qc, to obliczanajest wartość funkcji wyroczni g: Σ* → Σ*, dlasłowa y zapisanego na taśmie wyroczni;

niech g(y) = z, wtedy w jednym kroku następujezmiana zawartości taśmy wyroczni na słowo z,zapisane w komórkach 1 do |z|, głowicaprzesuwa się nad komórką 1, a maszynaprzechodzi do stanu qr, taśma pierwotna nieulega zmianie.

Page 15: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

15

Złożoność maszyny Turinga

Definicja wg C. E. Shanona

Miarą złożoności maszyny Turinga jest iloczynliczby stanów przez liczbę symboli alfabetu.

|Q|•k

Page 16: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

16

Twierdzenie Shanona*

Każda maszyna Turinga P o n stanachzdefiniowana nad alfabetem o m symbolach możebyć symulowana przez maszynę R o dwóchstanach i alfabecie zawierającym 4nm + msymboli.

Każda maszyna Turinga P o n stanachzdefiniowana nad alfabetem o m symbolach możebyć symulowana przez maszynę R o liczbiestanów mniejszej od 8mn i alfabeciezawierającym dwa symbole.

*) Dowód można znaleźć w: Brady J. M., Informatyka teoretyczna w ujęciuprogramistycznym, WNT 1983.

Page 17: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

17

Istnieje przeliczalna liczba maszyn Turinga.

Niech f: N → {zbiór maszyn Turinga}

gdzie f(n) jest maszyną T nad A2 = {1, B} piszącąna taśmie n jedynek

istnieją również inne maszyny Turinga, więc

ℵ 0 ≤ liczba maszyn Turigna (1)

Page 18: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

18

Istnieje przeliczalna liczba maszyn Turinga.

T: Q I A2 → Q I A2 I{L, R} czyli

{zbiór maszyn Turinga} = { }{ }UQ

22 RL,xQxAQxA:T|T →

card{zbiór maszyn Turinga}

= card

= (2)

{ }{ }

→U

Q22 RL,xQxAQxA:T|T

{ }{ }( )∑ →Q

22 RL,xQxAQxA:T|Tcard

( )( ) ( ) ( )∑∑∈

ℵ==Nn

2nQ2card

Q4nQ4card 0

Q - skończonysegment N

Page 19: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

19

Problem stopu maszyny Turinga

• Czy w ogólnym przypadku możnarozstrzygnąć, czy fT, 1(I) dla I ∈ Ak-1 jestokreślone?

• Czy funkcja H(I, y) (gdzie I jest opisemmaszyny, słowo y jest argumentem fT, 1, awartość H(I,y) = a1 jeśli fT, 1(y) jest określone iH(I, y) = ε, gdy fT, 1(y) jest nieokreślone) jestobliczalna?

Page 20: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

20

Funkcje nieobliczalne

Twierdzenie

Istnieją funkcje nieobliczalne według Turinga.

Page 21: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

21

Przykład funkcji nieobliczalnej

Zdefiniujmy funkcję S: N → N, taką, że S(n)oznacza maksymalną liczbę jedynek napisanychprzez maszynę Turinga o n stanach. Maszynazatrzymuje się po napisaniu tych jedynek.

S(1) = 1

S(2) = 4

S(3) = 6

S(4) = 13

S(5) ≥ 17

S(6) ≥ 35

S(7) ≥ 22961

S(8) ≥ 8·1044

Page 22: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

22

Szkic dowodu (nie wprost)

Załóżmy, że S(I) jest funkcją obliczalną. Zatem

istnieje k-stanowa maszyna Turinga MS(I)

obliczająca S(I). Jeżeli S(I) jest obliczalna, to

istnieje k’ stanową MS(S(I)) obliczająca S(S(I)).

Zdefiniujmy teraz M*, która:

• zapisuje słowo I na taśmie (I stanów)

• głowica wraca na początek słowa I (c stanów)

• działa jak maszyna MS(S(I)) dla słowa I.

Widać, że M* posiada I + c + k’ stanów

Page 23: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

23

Szkic dowodu (nie wprost)

Z definicji S(I) wynika, że S(I + c + k’) ≥ S(S(I))

(bo MS(S(I)) ma tylko k’ stanów).

Jest to jednak niemożliwe, bo dla dostatecznie

dużych I na podstawie monotoniczności funkcji

S(I) mamy: S(I) > I + c + k’.

Page 24: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

24

Funkcje pierwotnie rekurencyjne

Za pomocą trzech schematów określamy zbiórsłowowych funkcji bazowych:

Funkcja „ścierająca”

E(x) = ε, dla wszystkich x ∈ Ak*

Funkcja j-tego następnika, 1 ≤ j ≤ k

Sj(x) = x • aj, dla wszystkich x ∈ Ak*

Rodzina funkcji projekcji

Pjn(x1, x2, ...xj, ..., xn) = xj,

1 ≤ j ≤ n dla wszystkich x1, x2, ...xj, ..., xn ∈ Ak*

Page 25: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

25

Reguły tworzenia funkcji złożonych

Podstawienie

f(x1, x2, ..., xn) = g(h1(x1, x2, ..., xn), h2(x1, x2, ..., xn), ..., hm(x1,x2, ..., xn))

dla wszystkich x1, x2, ..., xn ∈ Ak*

Rekursja prosta

f(ε, x2, ..., xn) = g(x2, ..., xn)

f(S1(x1), x2, ..., xn) = h1(x1, f(x1, x2, ..., xn), x2, ..., xn)

f(S2(x1), x2, ..., xn) = h2(x1, f(x1, x2, ..., xn), x2, ..., xn)

.................................................................................

f(Sk(x1), x2, ..., xn) = hk(x1, f(x1, x2, ..., xn), x2, ..., xn)

dla wszystkixh x1, x2, ..., xn∈ Ak*

Page 26: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

26

Definicja FPR

Funkcja f jest pierwotnie rekurencyjna (FPR),jeżeli można ją uzyskać z funkcji bazowych przezskończoną liczbę zastosowań schematówpodstawienia i rekursji prostej.

Page 27: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

27

Minimizacja Funkcje n-argumentową uzyskuje się z funkcji

(n+1) argumentowej Ψ przez minimizację nad(aj)*, jeśli dla wszystkich x1, x2,..., xn ∈ Ak

*:

• Φ(x1, x2,..., xn) jest określone wtedy i tylko wtedy,gdy istnieje m ∈ N, takie że dla każdego 0 ≤ p ≤m, Ψ(aj

p, x1, x2,..., xn) jest określone i Ψ(ajp, x1,

x2,..., xn) = ε.

• Gdy Φ(x1, x2,..., xn) jest określone (istnieje takiem), wtedy Φ(x1, x2,..., xn) = aj

q, gdzie q jestnajmniejszym takim m.

Φ(x1, x2,..., xn) = minjy [Ψ(x1, x2,..., xn) = ε]

Page 28: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

28

Definicja FCR

Funkcje nazywamy funkcją rekurencyjnaczęściową (FCR), jeśli można ją otrzymać zfunkcji bazowych przez skończoną liczbęzastosowań operacji podstawienia, rekursji prosteji minimizacji.

Page 29: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

29

Maszyna RAM (Random Access Machine)

Maszyna RAM jest to wyidealizowany komputerze swobodnym dostępem do pamięci.

Ustalamy alfabet Ak. Pamięć maszyny RAMskłada się z nieskończonego zbioru rejestrów R1,R2, ... Każdy z rejestrów może pamiętać dowolnesłowo ze zbioru Ak

*.

Maszyna RAM jest programowalna. Każdyprogram maszyny RAM wykorzystuje tylkoskończony zbiór rejestrów.

Page 30: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

30

Instrukcje maszyny RAM

Oznaczenia:

E etykieta instrukcji

E’ zmodyfikowana postać etykiety (Ea lub Eb)

Y, Z nazwy rejestrów

Page 31: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

31

Instrukcje maszyny RAM

Instrukcja

E addj Y

E del Y

E clr Y

E Y ← Z

E jmp E’

E Y jmpj E’

E continue

Opis działania

dodanie litery aj na prawym końcu słowa wrejestrze Y

usunięcie jednej litery z lewego końca słowaw rejestrze Y

wymazanie zawartości rejestru Y (wpisanie ε)

skopiowanie słowa z rejestru Z do Y

skok do najblizszej instrukcji etykietowanej:Ea (w górę) Eb (w dół)

skok do E’, o ile słowo w rejestrze Yrozpoczyna się literą aj

instrukcja pusta

Typ

1j.

2.

3.

4.

5.

6j.

7.

Page 32: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

32

Program maszyny RAM

• program maszyny RAM jest skończonymciągiem instrukcji, w którym dla każdegoskoku istnieje miejsce, do którego możnaskoczyć i w którym ostatnią instrukcją jestcontinue

• program zatrzymuje się, jeżeli wykonaniedochodzi do ostatniej instrukcji continue

Page 33: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

33

Program maszyny RAM

• program P oblicza funkcję rekurencyjnączęściową ϕ(I1, I2, ..., In), o ile• działanie programu rozpoczyna się od stanu, w

którym zawartością rejestrów R1, R2, ..., Rn sąodpowiednio słowa: I1, I2, ..., In, a pozostałerejestry sa puste,

• program P zatrzymuje się tylko wtedy, gdywartość ϕ(I1, I2, ..., In) jest określona,

• jeśli P się zatrzyma, to końcową zawartościąrejestru R1 jest ϕ(I1, I2, ..., In).

Page 34: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

34

Własności maszyny RAM

Lemat

Wszystkie funkcje podstawowe klasy funkcjipierwotnie rekurencyjnych są RAM-obliczalne.

clr R1 funkcja „ścierająca”continue

addj R1 funkcja nastepnika Sj

continue

R1 ← Ri funkcja projekcji Pin

continue

Page 35: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

35

Własności maszyny RAM

Twierdzenie

Każda częściowa funkcja rekurencyjna jestRAM-obliczalna. Ponadto dla dowolnejzdefiniowanej częściowej funkcji rekurencyjnejzbudowanej z funkcji podstawowych można wsposób efektywny (stosując podstawienie,rekursję i minimalizację) podać program maszynyRAM obliczający tę funkcję.

Page 36: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

36

Przykład programu maszyny RAM

con2(I1, I2) = I1•I2, dla I1, I2 ∈ Ak*

A R2 jmpj Njb 1 ≤ j ≤ k

jmp Bb

Nj addj R1

del R2

jmp Aa

B continue

Page 37: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

37

Zadanie domowe

Podać program maszyny RAM obliczającyfunkcję dell(I)=(I z opuszczoną ostatnią literą),I ∈ Ak*.

Program ma usuwać ostatnią literę z dowolnegosłowa nad alfabetem Ak.

Page 38: Odmiany maszyny Turinga - cs.put.poznan.pl · dr hab. inż. Joanna Józefowska, prof. PP Teoretyczne podstawy informatyki 2 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem

dr hab. inż. Joanna Józefowska, prof. PP

Teo

rety

czne

pod

staw

y in

form

atyk

i

38

Zadanie domowe

Jaki jest wynik działania następującej maszyny Turinga dlaciągu wejściowego: 11110111?

Jaki algorytm realizuje ta maszyna?

T = (Q, A2, 0, I, q0)

A2 = {0, 1}

Q = {q0, q1, q10, q11, q100, q101, q110, q111, q1000, q1001, q1010}

I = {q000Rq0, q011Lq1, q101Rq10, q111Lq1, q1000Rq1010,

q1010Rq11, q1100Rq100, q1111Rq11, q10000Rq100, q10010Rq101,

q10100Lq111, q10111Lq110, q11000Lq110, q11011Lq1, q11100Lq111,

q11111Lq1000, q100000Lq1001, q100011Lq1000, q100100Rq10,

q100111Lq1, q101000STOPq0, q101011Rq1010}