Podatak objekt u obradi. Algoritam uputstvo ( recept ) koje opisuje transformaciju ulaznih podataka u traženi razultat. Izvršitelj?

Similar documents
and Models of Computation

Mathcad sa algoritmima

TEORIJA SKUPOVA Zadaci

Uvod u relacione baze podataka

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

Turingovi strojevi Opis Turingovog stroja Odluµcivost logike prvog reda. Lipanj Odluµcivost i izraµcunljivost

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Prsten cijelih brojeva

Šime Šuljić. Funkcije. Zadavanje funkcije i područje definicije. š2004š 1

Termodinamika. FIZIKA PSS-GRAD 29. studenog Copyright 2015 John Wiley & Sons, Inc. All rights reserved.

Metode praćenja planova

DISTRIBUIRANI ALGORITMI I SISTEMI

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

ALGORITMI. Pojam algoritma Blok dijagram

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

Projektovanje paralelnih algoritama II

Red veze za benzen. Slika 1.

Rešenja zadataka za vežbu na relacionoj algebri i relacionom računu

Matematika (PITUP) Prof.dr.sc. Blaženka Divjak. Matematika (PITUP) FOI, Varaždin

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

ODREĐIVANJE DINAMIČKOG ODZIVA MEHANIČKOG SUSTAVA METODOM RUNGE-KUTTA

Iskazna logika 1. Matematička logika u računarstvu. oktobar 2012

ALGORITMI ZA ISPITIVANJE DJELJIVOSTI

Hornerov algoritam i primjene

ARITMETIČKO LOGIČKA JEDINICA ( ALU ) Davor Bogdanović SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU ELEKTROTEHNIČKI FAKULTET. Sveučilišni studij

BAZE PODATAKA Predavanje 03

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku DIOFANTSKE JEDNADŽBE

Konstekstno slobodne gramatike

Metode izračunavanja determinanti matrica n-tog reda

Fibonaccijev brojevni sustav

FIZIKALNA KOZMOLOGIJA VII. VRLO RANI SVEMIR & INFLACIJA

SINTAKSNA I ALGORITAMSKA NOTACIJA

Pogled u povijest razvoja algoritama

Maja Antolović Algoritmi u teoriji brojeva

Algoritam za odre divanje ukupnog poravnanja dva grafa poravnanja parcijalnog ure daja

1.1 Uvod. 1.1 Uvod Značajke programskog jezika Python Interpretacija me dukôda

pretraživanje teksta Knuth-Morris-Pratt algoritam

ALGORITAM FAKTORIZACIJE GNFS

PREDAVANJA. Igor Vujović. Split, 2016.

Kvaternioni i kvaternionsko rješenje kvadratne jednadžbe

Sveučilište u Zagrebu Fakultet prometnih znanosti Diplomski studij. Umjetna inteligencija - Genetski algoritmi 47895/47816 UMINTELI HG/

Ksenija Doroslovački KOMBINATORIKA INTERPRETIRANA FUNKCIJAMA I NJIHOVIM OSOBINAMA MASTER RAD. NOVI SAD jun 2008

Oracle Spatial Koordinatni sustavi, projekcije i transformacije. Dalibor Kušić, mag. ing. listopad 2010.

NAPREDNI FIZIČKI PRAKTIKUM 1 studij Matematika i fizika; smjer nastavnički MJERENJE MALIH OTPORA

Kontrolni uređaji s vremenskom odgodom za rasvjetu i klimu

The Chemical Basis of Morphogenesis

Numeričke metode u ekonomiji Dr. sc. Josip Matejaš, EFZG

EXPERIMENTAL ANALYSIS OF THE STRENGTH OF A POLYMER PRODUCED FROM RECYCLED MATERIAL

APPROPRIATENESS OF GENETIC ALGORITHM USE FOR DISASSEMBLY SEQUENCE OPTIMIZATION

Vektori u ravnini i prostoru. Rudolf Scitovski, Ivan Vazler. 10. svibnja Uvod 1

ANALYSIS OF INFLUENCE OF PARAMETERS ON TRANSFER FUNCTIONS OF APERIODIC MECHANISMS UDC Života Živković, Miloš Milošević, Ivan Ivanov

Modified Zagreb M 2 Index Comparison with the Randi} Connectivity Index for Benzenoid Systems

Vedska matematika. Marija Miloloža

Pitagorine trojke. Uvod

6. PROGRAMSKE STRUKTURE STRUKTUIRANOG PROGRAMIRANJA

BROJEVNE KONGRUENCIJE

NIPP. Implementing rules for metadata. Ivica Skender NSDI Working group for technical standards.

NAPREDNI FIZIČKI PRAKTIKUM II studij Geofizika POLARIZACIJA SVJETLOSTI

Zadatci sa ciklusima. Zadatak1: Sastaviti progra koji određuje z ir prvih prirod ih rojeva.

Šta je to mašinsko učenje?

AIR CURTAINS VAZDU[NE ZAVESE V H

DES I AES. Ivan Nad PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Diplomski rad. Voditelj rada: doc.dr.sc.

Mehurasto sortiranje Brzo sortiranje Sortiranje učešljavanjem Sortiranje umetanjem. Overviev Problemi pretraživanja Heš tabele.

Matrice u Maple-u. Upisivanje matrica

Fajl koji je korišćen može se naći na

NEURONSKE MREŽE 1. predavanje

U čemu je snaga suvremene algebre?

ALGORITMI PODIJELI PA VLADAJ

Funkcijske jednadºbe

Ivan Soldo. Sažetak. U članku se analiziraju različiti načini množenja matrica. Svaki od njih ilustriran je primjerom.

Mersenneovi i savršeni brojevi

Mjerenje snage. Na kraju sata student treba biti u stanju: Spojevi za jednofazno izmjenično mjerenje snage. Ak. god. 2008/2009

Ariana Trstenjak Kvadratne forme

Metrički prostori i Riman-Stiltjesov integral

Sveučilište Josipa Jurja Strossmayera u Osijeku Odjel za matematiku

Karakteri konačnih Abelovih grupa

THE PROBLEM OF DIOPHANTUS FOR INTEGERS OF Q( 3) Zrinka Franušić and Ivan Soldo

Optimizacija Niza Čerenkovljevih teleskopa (CTA) pomoću Monte Carlo simulacija

Konstrukcija i analiza algoritama

UPUTE ZA OBLIKOVANJE DIPLOMSKOG RADA

Osobine metode rezolucije: zaustavlja se, pouzdanost i kompletnost. Iskazna logika 4

Analiza metagenomskog uzorka dobivenog sekvenciranjem koristeći ure daje treće generacije

O aksiomu izbora, cipelama i čarapama

HIBRIDNI KRIPTOSUSTAVI

Grupiranje podataka u skupine 1 Rudolf Scitovski, Odjela za matematiku, Sveučilište u Osijeku 2

Linearno programiranje i primjene

Položaj nultočaka polinoma

ANIMACIJA TOKA FLUIDA

Determination of Synchronous Generator Armature Leakage Reactance Based on Air Gap Flux Density Signal

DISKRETNI LOGARITAM. 1 Uvod. MAT-KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XVII (2)(2011), 43-52

HRVATSKA MATEMATIČKA OLIMPIJADA

DRUGI KOLOKVIJ ZADACI ZA VJEŽBU. 1. zadatak. Za rad s bazom podataka moja_baza koristimo naredbu:

BERNSTEINOV ALGORITAM ZA VERTIKALNU 3NF NORMALIZACIJU SINTEZOM

PRIMJENA METODE PCA NAD SKUPOM SLIKA ZNAKOVA

AUTOMATIZACIJA AUTOMATIZACIJA. Proces kontrole i upravljanja zahtijeva kontinuirano mjerenje. znanje i informacije. Osnovni tipovi sustava

UNIVERZITET U BEOGRADU MATEMATIČKI FAKULTET

Sveučilišni studijski centar za stručne studije. Zavod za matematiku i fiziku. Uvod u Matlab. Verzija 1.1

1.1 Algoritmi. 2 Uvod

Transcription:

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

Podatak objekt u obradi Algoritam uputstvo ( recept ) koje opisuje transformaciju ulaznih podataka u traženi razultat Izvršitelj?

Algoritam postupci transformacije grupirani u korake algoritma Svojstva algoritma: Određenost Konačnost Širina primjene (područje uporabe)

Primjer: Euklidov algoritam rješava zadatke tipa: Za dana dva prirodna broja a, b trba naći njihovu najveću zajedničku mjeru. 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ženi rezultat obustavite postupak računanja. Ako brojevi nisu jednaki prijeđite na sljedeći korak; 4. korak: Ako je prvi promatrani broj manji od drugog, zamijenite im mjesta. Prijeđite na sljedeći korak; 5. korak: Oduzmite drugi broj od prvog i promatrajte taj drugi broj i ostatak. Prijeđite na korak 2.

Primjer: a = 28 b = 124 1. korak 2. korak 3. korak 4. korak: a = 124; b = 28 5. korak: 124 28 = 96, promatrajte 28 i 96 2. korak 3. korak 4. korak: a = 96; b = 28 5. korak: 96 28 = 68, promatrajte 28 i 68 2. korak 3. korak 4. korak: a = 68, b = 28 5. korak: 68 28 = 40

2. korak 2. korak 3. korak 3. korak 4. korak: a = 40, b = 28 4. korak: a = 8, b = 4 5. korak: 40 28 = 12 5. korak: 8 4 = 4 2. korak 2. korak 3. korak 3. korak: a = b = 4 ZAUSTAVI SE! 4. korak a = 28, b = 12 rezultat: nzm = 4 5. korak: 28 12 = 16 2. korak 3. korak 4. korak: a = 16, b = 12 5. korak: 16 12 = 4 2. korak 3. korak 4. korak 5. korak: 12 4 = 8

Određenost Euklidova algoritma: - osigurana je činjenicom da izvršitelj može izvoditi operacije zadane u pojedinim koracima algoritma i 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 bilo koji par pozitivnih cijelih brojeva dolazi do njihova najvećeg zajedničkog djelitelja;

Euklidov algoritam namijenjen izvršitelju - čovjeku Kako bi izgledao algoritam namijenjen stroju (računalu)?

Drugi pristup: Računanje Računanje je proces određivanja izlazne supstitucije, za zadanu određenu ulaznu supstituciju, koja se pokorava svim specifičnim svojstvima problema. (Garey & Johnson, 1979) izlazna supstitucija? ulazna supstitucija? specifična svojstva problema?

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 w k i vrijednošću v k ; k = 1, 2,..., N; Potrebno je naći udio F k svakog predmeta tako da: a) ne prenatrpate naprtnjaču; b) maksimizirate vrijednost koju nosite (Opaska: Predmeti se mogu rastaviti na dijelove čija je vrijednost proporcionalna njihovoj težini)

Parametri i varijable problema: C, N, w 1, v 1, F 1,..., w N, v N, F N Primjer ulazne supstitucije: C = 14 kg, N = 3, w 1 = 4 kg, v 1 = 30 $ w 2 = 6 kg, v 2 = 48 $ w 3 = 7 kg, v 3 = 50 $ Rješenje (izlazna supstitucija): U naprtnjaču stavljamo: Cijeli predmet 1 i cijeli predmet 2 4/7 predmeta 3 Ukupna vrijednost u naprtnjači: 106,57 $

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 omjerom vrijednost/težina i smjesti ga cijelog u naprtnjaču. 3. korak: Izvadi iz naprtnjače posljednji predmet i razdijeli ga tako da upravo njegovi dijelovi popune naprtnajču.

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 razumijevanje prirodnog jezika;

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, 2 nd Series, 42:pp.230-265, 1936.)

1912 (23 June): Birth, Paddington, London 1926-31: Sherborne School 1930: Death of friend Christopher Morcom 1931-34: Undergraduate at King's College, Cambridge University 1932-35: Quantum mechanics, probability, logic 1935: Elected fellow of King's College, Cambridge 1936: The Turing machine, computability, universal machine 1936-38: Princeton University. Ph.D. Logic, algebra, number theory 1938-39: Return to Cambridge. Introduced to German Enigma cipher machine 1939-40: The Bombe, machine for Enigma decryption 1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic 1943-45: Chief Anglo-American crypto consultant. Electronic work. 1945: National Physical Laboratory, London 1946: Computer and software design leading the world. 1947-48: Programming, neural nets, and artificial intelligence 1948: Manchester University A. Turing (1912 1954) 1949: First serious mathematical use of a computer 1950: The Turing Test for machine intelligence 1951: Elected FRS. Non-linear theory of biological growth 1952: Arrested as a homosexual, loss of security clearance 1953-54: Unfinished work in biology and physics 1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire

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, q 0, q f, δ)

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): s 1, s 2,..., s k koji oblikuju vanjsku abecedu stroja S = {s 1, s 2,..., s k } 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)

Skup T = {t 1, t 2,... t T } skup simbola koji se pojavljuju na vrpci bez 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 u međuinformaciju, itd.; na kraju svakog takta znaci zapisani na vrpci stroja oblikuju odgovarajuću međuinformaciju)

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.

2. Stroj nikad ne staje i nikad ne daje Stop-signal. Stroj nije primjenjiv za početnu informaciju A.

Q = {q 0, q1, q 2,..., q Q-1 } skup unutarnjih stanja q 0 -početno stanje stroja q f -konačno stanje stroja Sustav elementarnih operacija i naredbi: u svakom taktu naredba propisuje samo zamjenu pojedinačnog znaka s i, upisanog u promatranom polju, nekim drugim znakom s j : - ako je j = i sadržaj se promatranog polja ne mijenja; - ako je s j = b sadržaj se promatranog polja briše. - ako je j i tada se s i zamijenjuje sa s j ;

Pri prijelazu s jednog takta na drugi adresa se promatranog polja mož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 desno susjedno polje na vrpci (ili pak isto polje kao u prethodnom taktu). Glava za čitanje ili pisanje može se u jednom taktu pomaknuti za najviš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.

Obrada informacije u Turingovom stroju odvija se u logičkom bloku L koji se može nalaziti u nekom od konačnog broja unutarnjih stanja Q = {q 0, q 1, q 2,..., q Q-1 }. s i q n L s j N q l D ili L P = {N, D, L}

Ulazna dvojka: (s i, q n ) Izlazna trojka: (s j, p, q l ) 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

Logička se funkcija stroja može prikazati tablicom koja se naziva funkcionalna shema TS q 1 q 2 q 3... q 4 D q 3 L q 1 D α... q 2 N α q 4 D q 3 N β... α q 1 D α q 2 D α q 4 N α... β............

Vanjska abeceda Unutarnja stanja trojka trojka Funkcionalna shema stroja

Turingov stroj: TS = (Q, S, T, b, q 0, q f, δ) Q skup unutarnjih stanja stroja; S skup simbola vanjske abecede; T = S / b; b pusti simbol; q 0 početno stanje stroja; q f konačno stanje stroja; δ - logička funkcija stroja

Shematski prikaz TS-a: Vanjska memorija I I I I I I * I I I I Glava za čitanje i pisanje S j S i L q n Q q N/D/L P Prema mehanizmu za pomak glave Polje P Logički blok stroja Polje za pohranu unutarnjeg stanja

Primjer 1: Zbrajanje Turingovim strojem Početno stanje: * q 0 Konačno (željeno) stanje: Zadatak: Napisati program za TS koji zbraja štapiće!

* q 0 Vanjska abeceda: S = {, *, b} Skup unutarnjih stanja: Q = {q 0, q 1, q 2, q f =!}

Rješenje: q 0 q 1 q 2 b q 2 Db q 1 L q 0 Db q 0 Db q 2 D q 1 N *!Nb q 1 L* q 2 D * b =

Analiza rješenja: Početno stanje: * q 0 Prvi takt: Promatrani štapić se briše i glava se pomiče udesno te stroj prelazi u stanje q 2 (, q 0 ) (q 2, D, b)

* q 2 Drugi takt: (, q 2 ) (q 2, D, ) * q 2

Treći takt: (, q 2 ) (q 2, D, ) Četvrti takt: (, q 2 ) (q 2, D, ) Peti takt: (, q 2 ) (q 2, D, )... 7. takt (*, q 2 ) (q 2, D, *)... 11.takt: (, q 2 ) (q 2, D, )

12. takt: (b, q 2 ) (q 1, N, ) 13. takt: (, q 1 ) (q 1, L, ) 14.takt: (, q 1 ) (q 1, L, ) 15.takt: (, q 1 ) (q 1, L, )... 18. takt: (*, q 1 ) (q 1, L, *)...

Definicija k-te konfiguracije Turingovog stroja: Slika vrpce s informacijom koja se na njoj nalazi u početku k-tog takta, pri čemu je ispod promatranog polja zapisan znak stanja koji ulazi u logički blok L u početku k-tog takta.

Ilustracija k-tih konfiguracija: * 1. konfiguracija q 0 * 2. konfiguracija q 2 * 3. konfiguracija q 2

* 12. konfiguracija q 2 * 13. konfiguracija q 1 * 24. konfiguracija q 1 * 25. konfiguracija q 0

Predzadnja konfiguracija: * q 0 Zadnja konfiguracija: q f

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, b Unutarnja stanja stroja: q 0 (početno i ujedno radno stanje) i q f konačno stanje stroja.

Rješenje: Funkcionalna shema stroja q 0 0 1 2 3 4 5 6 7 8 9???!N1!N2!N3!N4!N5!N6!N7!N8!N9 q 0 L0????

3 2 9 9 q 0 0!N1 q 0 1!N2 2!N3 3 2 9 0 3!N4 4!N5 q 0 5!N6 3 2 0 0 6!N7 7!N8 q 0 8!N9 3 3 0 0 9 q 0 L0! b!n1

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

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;

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