Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

47
Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za cilj da se iz raspoloživih podataka dobije tražena informacija Komponente: • podatak • algoritam • izvršitelj

Transcript of Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Page 1: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Turingov stroj

Obrada podataka: svrsishodna djelatnost koja ima za ciljda se iz raspoloživih podataka dobije tražena informacijaKomponente:• podatak• algoritam• izvršitelj

Page 2: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

• Podatak – objekt u obradi

• Algoritam – uputstvo (“recept”) koje opisuje transformacijuulaznih podataka u traženi razultat

• Izvršitelj ?

Page 3: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Algoritam – postupci transformacije grupirani u korakealgoritma

Svojstva algoritma:• Određenost• Konačnost• Širina primjene (područje uporabe)

Page 4: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Primjer: Euklidov algoritam – rješava zadatke tipa: Za dana dva prirodna broja a, b trba naći njihovu najveću zajedničkumjeru.

1. korak: Promatrajte dva broja: a i b.Prijeđite na sljedeći korak;

2. korak: Usporedite brojeve a i b.Prijeđite na sljedeći korak;

3. korak: Ako su promatrani brojevi jednaki, svaki daje traženirezultat – obustavite postupak računanja. Ako brojevi nisu jednaki prijeđite na sljedeći korak;

4. korak: Ako je prvi promatrani broj manji od drugog, zamijeniteim mjesta. Prijeđite na sljedeći korak;

5. korak: Oduzmite drugi broj od prvog i promatrajte taj drugi broji ostatak. Prijeđite na korak 2.

Page 5: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Primjer:a = 28b = 124

1. korak 2. korak3. korak4. korak: a = 124; b = 285. korak: 124 – 28 = 96, promatrajte 28 i 962. korak3. korak4. korak: a = 96; b = 285. korak: 96 – 28 = 68, promatrajte 28 i 682. korak3. korak4. korak: a = 68, b = 285. korak: 68 – 28 = 40

Page 6: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

2. korak 2. korak3. korak 3. korak4. korak: a = 40, b = 28 4. korak: a = 8, b = 45. korak: 40 – 28 = 12 5. korak: 8 – 4 = 42. korak 2. korak3. korak 3. korak: a = b = 4 ZAUSTAVI SE!4. korak a = 28, b = 12 rezultat: nzm = 45. korak: 28 – 12 = 162. korak3. korak4. korak: a = 16, b = 125. korak: 16 – 12 = 4 2. korak3. korak4. korak5. korak: 12 – 4 = 8

Page 7: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Određenost Euklidova algoritma:- osigurana je činjenicom da izvršitelj može izvoditi

operacije zadane u pojedinim koracima algoritmai jednoznačno razaznavati koje od operacija treba izvesti u kojem koraku te kojim korakom mora započeti;

Širina primjene:- proizvoljan par pozitivnih cijelih brojeva;

Konačnost:- Euklidov algoritam definira postupak kojim se za bilokoji par pozitivnih cijelih brojeva dolazi do njihovanajvećeg zajedničkog djelitelja;

Page 8: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Euklidov algoritam namijenjen izvršitelju - čovjeku

Kako bi izgledao algoritam namijenjen stroju (računalu)?

Page 9: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Drugi pristup: Računanje

Računanje je proces određivanja izlazne supstitucije, za zadanuodređenu ulaznu supstituciju, koja se pokorava svim specifičnim

svojstvima problema.(Garey & Johnson, 1979)

izlazna supstitucija?ulazna supstitucija?specifična svojstva problema?

Page 10: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Primjer: Problem naprtnjače

Zadano: i) Naprtnjača nosivosti (kapaciteta) C [kg];ii) N objekata (predmeta) koje bi trebalo ponijeti;

Svaki je predmet određen svojom težinom wk i vrijednošću vk; k = 1, 2, ..., N;

Potrebno je naći udio Fk svakog predmeta tako da:a) ne prenatrpate naprtnjaču;b) maksimizirate vrijednost koju nosite

(Opaska: Predmeti se mogu rastaviti na dijelove čija jevrijednost proporcionalna njihovoj težini)

Page 11: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Parametri i varijable problema:C, N, w1, v1, F1, ..., wN, vN, FN

Primjer ulazne supstitucije:

C = 14 kg, N = 3, w1 = 4 kg, v1 = 30 $w2 = 6 kg, v2 = 48 $w3 = 7 kg, v3 = 50 $

Rješenje (izlazna supstitucija):U naprtnjaču stavljamo:• Cijeli predmet 1 i cijeli predmet 2• 4/7 predmeta 3Ukupna vrijednost u naprtnjači: 106,57 $

Page 12: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Algoritam:

1. korak: Razvrstaj objekte na temelju omjera vrijednosti i težine(predmet 2 = 48/6 = 8 $/kg; predmet 1= 30/4 =7,5 $/kg;predmet 3 = 50/7 = 7,14 $/kg)

2. korak: Ponavljaj sve dok se naprtnjača ne prenatrpa:

Iz skupa predmeta uzmi predmet s najvećim omjeromvrijednost/težina i smjesti ga cijelog u naprtnjaču.

3. korak: Izvadi iz naprtnjače posljednji predmet i razdijeli ga takoda upravo njegovi dijelovi popune naprtnajču.

Page 13: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Algoritam namijenjen čovjeku;

Kako bi izgledao algoritam namijenjen stroju?

- Računalo;

- Inteligentni stroj s vidnom percepcijom i drugim senzorima(npr. težine, pritiska) opremljen mehaničkim hvataljkama, bazom znanja, strojem za zaključivanje i sučeljem za razumijevanjeprirodnog jezika;

Page 14: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Specijalan slučaj: Izvršitelj Turingov stroj

(A. M . Turing, “On Computable Numbers, with an Application to the Entscheidungsproblem”, Proc. of the London Math. Society, 2nd Series, 42:pp.230-265, 1936.)

Page 15: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

A. Turing (1912 – 1954)

1912 (23 June): Birth, Paddington, London1926-31: Sherborne School1930: Death of friend Christopher Morcom1931-34: Undergraduate at King's College, Cambridge University1932-35: Quantum mechanics, probability, logic1935: Elected fellow of King's College, Cambridge1936: The Turing machine, computability, universal machine1936-38: Princeton University. Ph.D. Logic, algebra, number theory1938-39: Return to Cambridge. Introduced to German Enigma cipher machine1939-40: The Bombe, machine for Enigma decryption1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic1943-45: Chief Anglo-American crypto consultant. Electronic work.1945: National Physical Laboratory, London1946: Computer and software design leading the world.1947-48: Programming, neural nets, and artificial intelligence1948: Manchester University1949: First serious mathematical use of a computer1950: The Turing Test for machine intelligence1951: Elected FRS. Non-linear theory of biological growth1952: Arrested as a homosexual, loss of security clearance1953-54: Unfinished work in biology and physics1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire

Page 16: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Raščlanjivanje računskog postupka kod Turingovog stroja (TS) svedeno je do graničnih mogućnosti na jednostavne,elementarne operacije;

Definicija TS iz teorije automata:

TS = (Q, S, T, b, q0, qf, δ)

Page 17: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Komponente Turingovog stroja:

Vanjska memorija TS je s obje strane neograničena vrpca (traka)podijeljena na polja – svako polje može sadržavati samo jedan znak.

TS barata konačnim brojem znakova (simbola):s1, s2, ... , sk koji oblikuju vanjsku abecedu stroja

S = {s1, s2, ... , sk }

U skupu S nalazi se i prazni (pusti) simbol b:- upisivanjem praznog znaka u bilo koje polje vrpce briše

se znak koji se tamo nalazio- izraz zapisan na vrpci predstavljen je konačnim nizom

znakova vanjske abecede (različitih od praznog znaka)

Page 18: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Skup T = {t1, t2, ... t|T|} – skup simbola koji se pojavljuju na vrpcibez praznih simbola

Rad Turingovog stroja:• Na početku rada stroja na vrpci se nalazi zapisan početni izraz(početna, ulazna informacija);

• Rad stroja se odvija u taktovima(Odvijanjem taktova stroj početnu informaciju preoblikuje umeđuinformaciju, itd.; na kraju svakog takta znaci zapisani navrpci stroja oblikuju odgovarajuću međuinformaciju)

Page 19: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

A – početna informacija zapisana na vrpci na početku rada stroja

Dva slučaja:

1. Nakon konačnog broja taktova stroj se zaustavlja dajući Stop-signal i pri tomu je na vrpci zapisana informacija B.

Stroj je primjenjiv za početnu informaciju A i

prerađuje je u informaciju ili rezultat B.

Page 20: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

2. Stroj nikad ne staje i nikad ne daje Stop-signal.

Stroj nije primjenjiv za početnu informaciju A.

Page 21: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Q = {q0, q1, q2, ..., q|Q-1| } – skup unutarnjih stanja

q0 - početno stanje strojaqf - konačno stanje stroja

Sustav elementarnih operacija i naredbi:• u svakom taktu naredba propisuje samo zamjenu pojedinačnog znaka si, upisanog u promatranompolju, nekim drugim znakom sj:

- ako je j = i sadržaj se promatranog polja ne mijenja;- ako je sj = b sadržaj se promatranog polja briše.- ako je j ≠ i tada se si zamijenjuje sa sj;

Page 22: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Pri prijelazu s jednog takta na drugi adresa se promatranog poljamože promijeniti najviše za jedinicu;

Turingov stroj ima glavu za čitanje i pisanje (R/W head) –njome stroj može promatrati ili lijevo susjedno polje ili desnosusjedno polje na vrpci (ili pak isto polje kao u prethodnom taktu).

Glava za čitanje ili pisanje može se u jednom taktu pomaknuti zanajviše jedno polje (ulijevo ili udesno) u odnosu na trenutni položaj

Tri “standardne” adresne naredbe:- D – promatraj desno susjedno polje;- L – promatraj lijevo susjedno polje;- ∅ ili N – ostani na istom polju.

Page 23: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Obrada informacije u Turingovom stroju odvija se u logičkombloku L koji se može nalaziti u nekom od konačnog broja unutarnjih stanja Q = {q0, q1, q2, ..., q|Q-1| }.

L

si qn

sj N qlDili L

P = {N, D, L}

Page 24: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Ulazna dvojka: (si, qn)Izlazna trojka: (sj, p, ql)

p ∈ P

Logički blok L ostvaruje funkciju koja svakoj dvojci na ulazu pridružuje izlaznu trojku.

δ - logička funkcija strojaδ: S × Q → S × P × Q

Page 25: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Logička se funkcija stroja može prikazati tablicom koja senaziva funkcionalna shema TS

q1 q2 q3 ...

∧ q4 D ∧ q3 L | q1 D α ...

q2 N α q4 D ∧ q3 N β ...

α q1 D α q2 D α q4 N α ...

β ... ... ... ...

Page 26: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Unutarnja stanja

Vanjska abeceda

trojka

Funkcionalna shema stroja

trojka

Page 27: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

TS = (Q, S, T, b, q0, qf, δ)

Q – skup unutarnjih stanja stroja;S – skup simbola vanjske abecede;T = S / b;b – pusti simbol; q0 – početno stanje stroja;qf – konačno stanje stroja;δ - logička funkcija stroja

Turingov stroj:

Page 28: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

I I I I I I * I I IISi

q

qn

Sj N/D/L

Q PL

Shematski prikaz TS-a:

Glava za čitanje i pisanje

Vanjska memorija

Polje P

Prema mehanizmu za pomakglave

Polje za pohranu unutarnjeg stanja

Logički blok stroja

Page 29: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Primjer 1: Zbrajanje Turingovim strojem

*

Početno stanje:

q0

Konačno (željeno) stanje:

Zadatak: Napisati “program” za TS koji zbraja štapiće!

Page 30: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

*

q0

Vanjska abeceda: S = {, *, b}Skup unutarnjih stanja: Q = {q0, q1, q2, qf = !}

Page 31: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Rješenje:

q0 q1 q2

b

*

q2Db q1L q2D

q0Db q0Db q1N

!Nb q1L* q2D *

b = ∧

Page 32: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Analiza rješenja:

*

Početno stanje:

q0

Prvi takt: Promatrani štapić se briše i glava se pomiče udesnote stroj prelazi u stanje q2

(, q0 ) → (q2, D, b)

Page 33: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

*

q2

Drugi takt:(, q2 ) → (q2, D, )

*

q2

Page 34: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Treći takt:(, q2 ) → (q2, D, )

Četvrti takt:(, q2 ) → (q2, D, )

Peti takt:(, q2 ) → (q2, D, )...7. takt(*, q2 ) → (q2, D, *)...11.takt:(, q2 ) → (q2, D, )

Page 35: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

12. takt:(b, q2) → (q1, N, )

13. takt:(, q1 ) → (q1, L, )

14.takt:(, q1 ) → (q1, L, )

15.takt:(, q1 ) → (q1, L, )...18. takt:(*, q1 ) → (q1, L, *)

...

Page 36: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Definicija k-te konfiguracije Turingovog stroja:

Slika vrpce s informacijom koja se na njoj nalazi u početkuk-tog takta, pri čemu je ispod promatranog polja zapisan znakstanja koji ulazi u logički blok L u početku k-tog takta.

Page 37: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Ilustracija k-tih konfiguracija:

*

q0

1. konfiguracija

*

q2

2. konfiguracija

*

q2

3. konfiguracija

Page 38: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

*

q2

12. konfiguracija

*

q1

13. konfiguracija

*

q1

24. konfiguracija

*

q0

25. konfiguracija

Page 39: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Predzadnja konfiguracija:

*

q0

qf

Zadnja konfiguracija:

Page 40: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

2. Primjer:

Inkrementiranje broja predočenog u dekadskom brojevnom sustavu/n → n + 1/:

Zadan je dekadski zapisan broj n, treba naći dakadski zapis broja n+1

Vanjska abeceda: 0, 1, 2, ..., 9, bUnutarnja stanja stroja: q0 (početno i ujedno radno stanje) i qf –konačno stanje stroja.

Page 41: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Rješenje: Funkcionalna shema stroja

???????

q0L09!N98!N87!N76!N65!N54!N43!N32!N21!N10

q0

Page 42: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

93 2 9

03 2 9

03 2

q0

0

q0

q0

03 3 0

!!N1b

q0L09!N98!N87!N76!N65!N54!N43!N32!N21!N10

q0

Page 43: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Fizička izvedba Turingovog stroja (Diplomski rad D. Krleža, FER, 2000.)

Page 44: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

• Glava za čitanje i pisanje: kombinacija robotske ruke i TV kamere;• Vanjska memorija: Papirna vrpca s označenim poljima;• Umjesto pomaka glave za čitanje i pisanje pomiče se vrpca;• Simboli vanjske abecede su pločice s geometrijskim likovima

u boji;• Logički blok ostvaren osobnim računalom;• Postojanje “poola” simbola vanjske abecede;

Page 45: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...
Page 46: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...
Page 47: Turingov stroj Obrada podataka: svrsishodna djelatnost koja ima za ...

Izgled korisničkog sučelja za programiranje TS-a: