Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Turing iz vjezbi (zadatak)
WWW:
Idite na Prethodno  1, 2
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
JANKRI
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 07. 2008. (02:30:58)
Postovi: (10F)16
Spol: muško
Sarma = la pohva - posuda
97 = 132 - 35
Lokacija: Zagreb

PostPostano: 14:19 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

[b]Zadatak.[/b] Na traci Turingovog stroja nalazi se niz znakova iz skupa [latex]S = \left\{a,\, b,\, c\right\}[/latex], pri čemu se svaki znak može pojaviti nula ili više puta. Konstruirajte Turingov stroj koji ispred svakog znaka "[latex]b[/latex]" dodaje znak "[latex]x[/latex]". Pri tome niti jedan znak ne smije biti izbrisan.

[b]Rješenje.[/b] U početku neka je glava pozicirana na najdesnijem znaku u nizu. Ukoliko ne postoji niti jedan znak na traci, neka se glava nalazi bilo gdje na traci. Sada se krećemo prema početku niza. Ukoliko naiđemo na znak "[latex]b[/latex]", iza njega ćemo upisati znak "[latex]x[/latex]", te sve znakove iza pomaknuti za jedno mjesto u lijevo. Zatim se vraćamo na upisani znak "[latex]x[/latex]", te se ponašamo kao da je znak prije njega u nizu zapravo kraj rječi koja se nalazi lijevo od toga [latex]x[/latex]-a. Rješenje ću napisati pomoću funkcijskog zapisa. Imajmo na umu da se krećemo u lijevo, dakle, čitati ćemo rječ s desna na lijevo.

[latex]\delta\left(q_0,\, \_\right) = \left(q_{\textrm{f}},\, \_,\, \textrm{S}\right)[/latex]
Ukoliko na traci ne postoji niti jedan znak ili ako nema više znakova "[latex]b[/latex]" onda smo gotovi.

[latex]\delta\left(q_0,\, z\right) = \left(q_0,\, z,\, \textrm{L}\right)[/latex], gdje je [latex]z \in \left\{a,\, c\right\}[/latex]
Glava "prelazi" preko svih znakova "[latex]a[/latex]" i "[latex]c[/latex]" jer nam oni nisu "zanimljivi".

[latex]\delta\left(q_0,\, b\right) = \left(q_x,\, b,\, \textrm{L}\right)[/latex]
Naišli smo na znak "[latex]b[/latex]".

[latex]\delta\left(q_x,\, z\right) = \left(q_z,\, x,\, \textrm{L}\right)[/latex], gdje je [latex]z \in \left\{a,\, b,\, c\right\}[/latex]
Nakon tog znaka "[latex]b[/latex]" (ako se nakon njega nalazi još koji znak) stavljamo znak "[latex]x[/latex]".

[latex]\delta\left(q_x,\, \_\right) = \left(q_{\textrm{f}},\, x,\, \textrm{S}\right)[/latex]
Ukoliko je taj znak "[latex]b[/latex]" prvi u rječi, tj. zadnji gledano s desna (jer se tako krećemo), onda prije njega (na prazno mjesto) upisujemo znak "[latex]x[/latex]" i gotovi smo.

[latex]\delta\left(q_z,\, z'\right) = \left(q_{z'},\, z,\, \textrm{L}\right)[/latex], gdje su [latex]z,\, z' \in \left\{a,\, b,\, c\right\}[/latex]
"Standardni" postupak pomicanja svih znakova za jedno mjesto u lijevo.

[latex]\delta\left(q_z,\, \_\right) = \left(q_{\textrm{n}},\, z,\, \textrm{D}\right)[/latex], gdje je [latex]z \in \left\{a,\, b,\, c\right\}[/latex]
Kada prilikom pomicanja znakova u lijevo naiđemo na razmak, upišemo znak koji trebamo upisati te se pomaknemo za jedno mjesto u desno. Sad se počinjemo vraćati do znaka "[latex]x[/latex]" kojeg smo zadnjeg upisali.

[latex]\delta\left(q_{\textrm{n}},\, z\right) = \left(q_{\textrm{n}},\, z,\, \textrm{D}\right)[/latex], gdje je [latex]z \in \left\{a,\, b,\, c\right\}[/latex]
Krećemo se od početka rječi prema prvom znaku "[latex]x[/latex]" na kojega naiđemo.

[latex]\delta\left(q_{\textrm{n}},\, x\right) = \left(q_0,\, x,\, \textrm{L}\right)[/latex]
Naišli smo na "[latex]x[/latex]" kojeg smo zadnjeg upisali, pozicioniramo glavu na znak prije tog znaka "[latex]x[/latex]" i dalje se ponašamo kao da je taj znak nad kojim se glava nalazi zapravo zadnji znak u rječi.

Nadam se da je dobro... :-), te da sam dovoljno objasnio... :-)
Zadatak. Na traci Turingovog stroja nalazi se niz znakova iz skupa , pri čemu se svaki znak može pojaviti nula ili više puta. Konstruirajte Turingov stroj koji ispred svakog znaka "" dodaje znak "". Pri tome niti jedan znak ne smije biti izbrisan.

Rješenje. U početku neka je glava pozicirana na najdesnijem znaku u nizu. Ukoliko ne postoji niti jedan znak na traci, neka se glava nalazi bilo gdje na traci. Sada se krećemo prema početku niza. Ukoliko naiđemo na znak "", iza njega ćemo upisati znak "", te sve znakove iza pomaknuti za jedno mjesto u lijevo. Zatim se vraćamo na upisani znak "", te se ponašamo kao da je znak prije njega u nizu zapravo kraj rječi koja se nalazi lijevo od toga -a. Rješenje ću napisati pomoću funkcijskog zapisa. Imajmo na umu da se krećemo u lijevo, dakle, čitati ćemo rječ s desna na lijevo.


Ukoliko na traci ne postoji niti jedan znak ili ako nema više znakova "" onda smo gotovi.

, gdje je
Glava "prelazi" preko svih znakova "" i "" jer nam oni nisu "zanimljivi".


Naišli smo na znak "".

, gdje je
Nakon tog znaka "" (ako se nakon njega nalazi još koji znak) stavljamo znak "".


Ukoliko je taj znak "" prvi u rječi, tj. zadnji gledano s desna (jer se tako krećemo), onda prije njega (na prazno mjesto) upisujemo znak "" i gotovi smo.

, gdje su
"Standardni" postupak pomicanja svih znakova za jedno mjesto u lijevo.

, gdje je
Kada prilikom pomicanja znakova u lijevo naiđemo na razmak, upišemo znak koji trebamo upisati te se pomaknemo za jedno mjesto u desno. Sad se počinjemo vraćati do znaka "" kojeg smo zadnjeg upisali.

, gdje je
Krećemo se od početka rječi prema prvom znaku "" na kojega naiđemo.


Naišli smo na "" kojeg smo zadnjeg upisali, pozicioniramo glavu na znak prije tog znaka "" i dalje se ponašamo kao da je taj znak nad kojim se glava nalazi zapravo zadnji znak u rječi.

Nadam se da je dobro... Smile, te da sam dovoljno objasnio... Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Anna Lee
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 07. 2008. (00:49:44)
Postovi: (114)16
Spol: žensko
Sarma = la pohva - posuda
= 11 - 9
Lokacija: Zagreb

PostPostano: 19:57 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

pitanje sto se tice onog 3.10:
zasto x zamjenjujemo sa A? cini mi se da je vise posla, a potpuno nepotrebno. jel bi netko to malo pojasnio?

edit: moje isprike, skuzila sam.
pitanje sto se tice onog 3.10:
zasto x zamjenjujemo sa A? cini mi se da je vise posla, a potpuno nepotrebno. jel bi netko to malo pojasnio?

edit: moje isprike, skuzila sam.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
umpa_lumpa
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 11. 2008. (10:55:57)
Postovi: (C)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 22:47 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

hvala, hvala, hvala Jankri!!! :wob: :wob: :wob: :mosh:
hvala, hvala, hvala Jankri!!! Bow to the left Bow to the left Bow to the left Moshpit


[Vrh]
Korisnički profil Pošaljite privatnu poruku
gobanja
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 11. 2007. (15:57:17)
Postovi: (2C)16
Sarma = la pohva - posuda
= 3 - 2

PostPostano: 23:10 pon, 24. 11. 2008    Naslov: Citirajte i odgovorite

Da li će mi biti biti krivo ako u rješavanju Turinga stavim koje stanje više nego što oni očekuju u rješenju?? :?
Jer ja to sve sebi rastavim ko malom djetetu pa imam cijelu noć da počnem to raditi kao student :lol:
Da li će mi biti biti krivo ako u rješavanju Turinga stavim koje stanje više nego što oni očekuju u rješenju?? Confused
Jer ja to sve sebi rastavim ko malom djetetu pa imam cijelu noć da počnem to raditi kao student Laughing


[Vrh]
Korisnički profil Pošaljite privatnu poruku
markotron
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2008. (12:07:29)
Postovi: (95)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 28 - 28
Lokacija: Umag

PostPostano: 0:22 uto, 25. 11. 2008    Naslov: Citirajte i odgovorite

Ti mozes napravit kako god zelis.. koliko god stanja zelis.. i koliko god funkcija stanja zelis... samo da stroj radi tocno :D
Ti mozes napravit kako god zelis.. koliko god stanja zelis.. i koliko god funkcija stanja zelis... samo da stroj radi tocno Very Happy



_________________
reductio ad absurdum
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 0:29 uto, 25. 11. 2008    Naslov: Citirajte i odgovorite

[quote="markotron"]Ti mozes napravit kako god zelis.. koliko god stanja zelis.. i koliko god funkcija stanja zelis... samo da stroj radi tocno :D[/quote]
iliti, cilj opravdava sredstvo ;)
markotron (napisa):
Ti mozes napravit kako god zelis.. koliko god stanja zelis.. i koliko god funkcija stanja zelis... samo da stroj radi tocno Very Happy

iliti, cilj opravdava sredstvo Wink



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2
Stranica 2 / 2.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan