Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul,...
Transcript of Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul,...
![Page 1: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/1.jpg)
Informatikaje tudi
znanost
8. marec2014
![Page 2: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/2.jpg)
Predstavitev
Andrej (Andy) Brodnik Uroš Čibej
2Nataša Kristan Jurij Mihelič
![Page 3: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/3.jpg)
Zakaj proučevati avtomate?
● Uporabnost v praksi– Obdelava in iskanje v besedilih
● Opis programskih innaravnih jezikov
– Programiranje in algoritmi● Razumevanje pravilnosti programov
– Modeliranje realnih problemov● Postopki, protokoli, elektronska vezja, itd.
3
![Page 4: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/4.jpg)
Zakaj proučevati avtomate?
● Razumevanje omejitevračunalnikov in programov– Kaj je možno izračunati v teoriji?
● Neizračunljivi oz. neodločljivi problemi(incomputable/undecidable problems)
– Kaj je možno izračunati v praksi?● Težko obvladljivi problemi
(intractable problems)
4
![Page 5: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/5.jpg)
Zakaj teoretične osnove RIN in področje formalnih jezikov in avtomatov?
● PIK 2015● Matura● Bober● ...
5
![Page 6: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/6.jpg)
PIK 2015 – izpitni cilji
● Diskretne strukture● Osnove programiranja● Algoritmi in zahtevnost (ACM kurikul, 2008)● Arhitektura in organiziranost računalniških sistemov● Operacijski sistemi● Omrežno računalništvo● Programski jeziki● Vmesnik človek računalnik● Grafično in vizualno računalništvo● Inteligentni sistemi● Upravljanje informacij● Družbena in poklicna vprašanja● Programsko inženirstvo● Računska znanost
6
Pridobivanje in razvijanje temeljnega znanja
iz informatike
Sposobnost uporabe IKTv povezavi z
drugim znanjem
Razvoj digitalne in informacijske pismenosti
![Page 7: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/7.jpg)
Malce zgodovine
Pascal, 17. st Leibniz, 17. st. Babbage, 19. st. Lovelace, 19. st.
7
![Page 8: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/8.jpg)
Malce zgodovine
● McCulloch in Pitts, 19{42,47}– nevrofiziologija
● Mealey in Moore, 19{55,56}● Myhill in Nerode, 1958● Rabin, Scott, 1959
8
![Page 9: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/9.jpg)
Ogrevanje zakončne avtomate
8. marec2014
![Page 10: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/10.jpg)
Končni avtomat
● Avtomat?– Formalni (matematični) model
– Opis računalnika oz.računskega stroja
– Odločitveni (da/ne) stroj
– Dovolj preprost, da je matematično obvladljiv
10
![Page 11: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/11.jpg)
Končni avtomat
● Končni?– Opis avtomata je končen
● Za opis ne porabimo preveč papirja in črnila● Opisan s končno mnogo simboli
– Pomni lahko le končno mnogo podatkov
– Kljub temu lahko opiše neskončnost
11
![Page 12: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/12.jpg)
Stikalo za luč
● Vezje sestavljeno iz:– baterije, stikala in luči.
● Stikalo pritisnemo n-krat:– Kdaj luč sveti?
12
![Page 13: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/13.jpg)
Stikalo za luč
13
nesveti
sveti
pritisni
pritisni
start
Razpoznavazaporedja pritiskov stikala
lihe dolžine.
![Page 14: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/14.jpg)
Brodníkov problem – volk, koza, zelje
14
2
● Čoln le za dva● Brodník vedno vesla
● Volk (brez brodníka) poje kozo● Koza (brez brodníka) poje zelje
● Čoln le za dva● Brodník vedno vesla
● Volk (brez brodníka) poje kozo● Koza (brez brodníka) poje zelje
![Page 16: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/16.jpg)
Brodníkov problem
16
b v k zb v k z
2
Kdo se pelje v čolnu?● b – samo brodnik● v – volk in brodnik● k – koza in brodnik● z – zelje in brodnik
bvkz
-
bvkz
-
-
bvkz
-
bvkz
Na kateristrani reke
je čoln?
Na kateristrani reke
je čoln?
![Page 17: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/17.jpg)
Brodníkov problem
17
bvkz-
-bvkz
vzbk
k
vkzb
kzbv
vkbz
b
v
z
bvkz-
b
bkzv
b
v
bvzk
b
bvkz
b
z …
![Page 18: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/18.jpg)
Brodníkov problem
18
bvkz-
vzbk
k b bvzk
b, v, z
kbvz
z v
b, vb, z
b, v, z
v, z
bkvz
bkzv
k k
b, zb, v
zbvk
vbkz
v z
k
bkvz
b
k
-bvkz
k
v, z
b, v, k, z
![Page 19: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/19.jpg)
Brodníkov problem
19
bvkz-
vzbk
k b bvzk
kbvz
z v
bkvz
bkzv
k k
zbvk
vbkz
v z
bkvz
b-bvkz
k
![Page 20: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/20.jpg)
Brodníkov problem
20
● kbvkzbk● kbzkvbk● kbv● kvz● zzz● kbvkzbkk● kbzkvzkzbk● kbzkvzkkzbk● kbvkzvkzvkzbk
● kbvkzbk● kbzkvbk● kbv● kvz● zzz● kbvkzbkk● kbzkvzkzbk● kbzkvzkkzbk● kbvkzvkzvkzbk
bvkz-
vzbk
k b bvzk
kbvz
z v
bkvz
bkzv
k k
zbvk
vbkz
v z
bkvz
b-bvkz
k
![Page 21: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/21.jpg)
Množice
8. marec2014
![Page 22: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/22.jpg)
Množice
● Množica je zbirka različnih objektov– S = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
– A = { a, b, c, …, ž }
– { 1, 2 } = { 2, 1 } = { 1, 1, 2, 2, 1, 2, 1 }
● Relacija pripadnosti– 1 ∈ S, ž ∈ A, ž ∉ S
22
01 2
3 4 56 7 8 9
![Page 23: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/23.jpg)
Množice
● Množica je zbirka različnih objektov– S = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
– A = { a, b, c, …, ž }
– { 1, 2 } = { 2, 1 } = { 1, 1, 2, 2, 1, 2, 1 }
● Moč množice (število elementov v množici)– |S| = 10, |A| = 25
– { 1, 2 }| = 2, |{ 1, 1, 2, 2, 1, 2, 1 }| = 2
23
![Page 24: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/24.jpg)
Množice
● Podmnožice– A ⊆ B: vsak element mn. A je tudi element mn. B
– A ⊂ B: stroga vsebovanost
● Nadmnožice– B ⊇ A ≡ A ⊆ B
– B ⊃ A ≡ A ⊂ B
24
a e i o u
A
B
b c č d f g … ž
![Page 25: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/25.jpg)
Množice
● Potenčna množica– Vsebuje vse možne podmnožice neke množice A
– Oznaka: P(A) ali 2A
● A = { a, b, c }
● P(A) = { ∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a,b,c} }
25
![Page 26: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/26.jpg)
Množice
● Operacije nad množicami– A = { j, a, n, k, o }
– B = { m, e, t, k, a }
– Unija: A ∪ B = { j, a, n, k, o, m, e, t }
– Presek: A ∩ B = { a, k }
– Razlika: A \ B = { j, n, o }B \ A = { m, e, t }
26
j n
o
k a
met
A
B
![Page 27: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/27.jpg)
Množice
● Univerzalna množica U
– množica vseh objektov o kateri razpravljamo v okviru nekega problema
● Komplement: AC = U \ A
● U = črke abecede● A = samoglasniki● AC = soglasniki
27
a e i o u
A
U
![Page 28: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/28.jpg)
Množice
● Urejeni par in n-terka– (s, t), (t, s), (9,8,7), (8,9,7), (l,3,3,t)
● Kartezični produkt množic– A × B = { (x, y) : x ∈ A in y ∈ B }
– A = { 1, 2, 3 }, B = { a, b }
– A × B = { (1,a), (2, a), (3, a), (1, b), (2, b), (3, b) }
28
Vsimožnipari
![Page 29: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/29.jpg)
Abecedein
nizi
8. marec2014
![Page 30: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/30.jpg)
Abeceda
● Abeceda je končna množica simbolov
● Oznaka Σ, tudi A.
– slovenska abeceda: { a, b, c, …, ž }
– ASCII, Unicode, …
– binarna abeceda: { 0, 1 }
– genska abeceda: { a, c, t, g }
– brodníkov problem: { b, v, k, z }30
![Page 31: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/31.jpg)
Niz
● Niz ali beseda nad abecedo Σ
– zaporedje simbolov abecede Σ● 011, 01010, 11001, 000, 1, 0
● fri, abrakadabra, avtomat
● kbvkzkb
● Pozor– 0 kot niz in 0 kot simbol
– Prazni niz ε (včasih tudi λ)
31
● Σ = { 0, 1 }● Σ = { 0, 1, 2 }● Σ = { 0, 1, ž }
Oznakew, v, x, y, z
![Page 32: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/32.jpg)
Niz
● Dolžina niza– je število pozicij/simbolov v nizu
● |ε| = 0
● |1| = 1
● |10| = 2
● |011| = 3
● |0100| = 4
● |abrakadabra| = 11
● |εεεεεabraεεkaεdaεεbraεεεεεεε| = 11
32
![Page 33: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/33.jpg)
Niz
● Stik oz. konkatenacija nizov:– w = 100, x = 110
● wx = 100110
● xw = 110100
● ww = w2 = 100100
● www = w3 = 100100100
● wxwx = (wx)2 = 100110100110
● εw = w = 100
33
![Page 34: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/34.jpg)
Σ* – sigma zvezdica
● Abeceda Σ
● Množica Σ*
– Vsi možni nizi nad Σ
● Kako velika je Σ*?
● Znamo vse nizenašteti?
34
0, 1Σ
ε0, 1,
00, 01, 10, 11,000, 001, 010, 011,100, 101, 110, 111,
0000, 0001, 0010, 0011,0100, 0101, 0110, 0111,
…
Σ*
![Page 35: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/35.jpg)
Σ* – sigma zvezdica
● Vsi nizi brodníkovega problema
35
b, v, k, zΣ
εb, v, k, z,
bb, bv, bk, bz, vb, vv, vk, vz,kb, kv, kk, kz, zb, zv, zk, zz,
bbb, bbv, bbk, bbz, bvb, bvv, bvk, bvz,bkb, bkv, bkk, bkz, bzb, bzv, bzk, bzz,vbb, vbv, vbk, vbz, vvb, vvv, vvk, vvz,vkb, vkv, vkk, vkz, vzb, vzv, vzk, vzz,
…
Σ*
![Page 36: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/36.jpg)
Jeziki
8. marec2014
![Page 37: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/37.jpg)
Jezik
● Jezik L nad abecedo Σ
– L je podmnožica množice Σ*
– L ⊆ Σ*
– Jezik je množica dopustnih nizov● lahko končna ali● neskončna ali● celo prazna.
37
Jezikje torej
v kontekstuavtomatovdrug izraz
za množiconizov
![Page 38: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/38.jpg)
Primeri jezikov
● Abeceda Σ = { 0, 1 }
– L = ∅
– L = { 0 }
– L = { 00, 01, 10, 11 }
– L = { 1, 010, 00100, 0001000, … }
– L = { 1, 10, 100, 1000, 10000, 10000, … }
– L = { ε, 0, 1, 00, 01, 10, 000, 001, 010, 100, 101, 0000, 0001, 0010, 0100, 0101, 1000, 1001, 1010, 00000, … }
38
0, 1Σ
![Page 39: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/39.jpg)
Primeri jezikov
● Jezik lahko tudi opišemo– Dvojiški nizi, kjer je na sredini 1, ostalo je 0
– Dvojiška števila, ki so potence števila 2
– Nizi nad { 0,1 }, ki ne vsebujejo zaporednih 1
– L = { 0n1n | n ≥ 0}
– L = { w | #0(w) = #
1(w) }
39
![Page 40: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/40.jpg)
Primeri jezikov
40
● Rešitve brodníkovega problema● kbvkzbk, kbzkvbk,● kkkbvkzbk, kbbbvkzbk, kbvvvkzbk, kbvkkkzbk, kbvkzzzbk, kbvkzvvbk, kbvkzbbbk, kbvkzbkkk,
● kbbkkbvkzbk, kkkbbbvkzbk, …
bvkz-
vzbk
k b bvzk
kbvz
z v
bkvz
bkzv
k k
zbvk
vbkz
v z
bkvz
b-bvkz
k
![Page 41: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/41.jpg)
Regularni izrazi
● Način opisovanja nizov oz. jezikov● Podprti v večini programskih jezikov● Formalni vs. praktični RI● Jezike, ki jih je moč opisati z
regularnimi izrazi imenujemo regularni jeziki.● Obstajajo tudi jeziki, ki niso regularni.
41
![Page 42: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/42.jpg)
Regularni izrazi
42
0 100000 0101010
00011100011110011001111
0, 1Σ
izraz0 + 1
00 + 01 + 001 + 101ε + 10 + 100
00(ε + 0 + 1 + 11)11
jezik0, 100, 01, 001, 101ε, 10, 1000011, 00011, 00111, 001111
izraz0*
(11)*(0 + 1)*
(0 + 11)*(ε + 0)*
jezikε, 0, 00, 000, 0000, 00000, 00000, 000000, …ε, 11, 1111, 111111, 11111111, 1111111111, 111111111111, …ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, 101, 110, 111, … ε, 0, 11, 00, 011, 110, 1111, 000, 0011, 0110, ...ε, 0, 00, 000, 000, 0000, 00000, 000000, …
![Page 43: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/43.jpg)
Regularniizrazi
(bonus)
8. marec2014
![Page 44: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/44.jpg)
Regularni izrazi
● Osnovni/atomični regularni izrazi– ∅ opisuje prazen jezik L(∅) = { }
– ε opisuje jezik L(ε) = { ε }
– a ∈ ∑ opisuje jezik L(a) = { a }
44
![Page 45: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/45.jpg)
Regularni izrazi
● Sestavljeni regularni izrazi– Jih tvorimo iz že obstoječih izrazov
– (p + r) opisuje unijo jezikov L(p + r) = L(p) ∪ L(r)
– (p r) opisuje stik jezikov L(p r) = L(p) L(r)
– (p*) opisuje iteracijo jezika L(p*) = (L(p))*
45
![Page 46: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/46.jpg)
Jezik
● Stik oz. konkatenacija jezikov A in B
– AB = vse besede xy, kjer x ∈ A in y ∈ B
– A = { 123, 456, 789 }, B = { čšž, aeiou }
– AB = { 123čšž, 456čšž, 789čšž, 123aeiou, 456aeiou, 789aeiou }
46
![Page 47: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/47.jpg)
Jezik
● Potenca jezika Ln
– Stik jezika samega s seboj– L = { b, v, k, z }
– L0 = { ε }
– L1 = L
– L2 = { bb, bv, bk, bz, vb, vv, …, zk, zz }
– L3 = { bbb, bbv, bbk, …, zzk, zzz }
47
![Page 48: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/48.jpg)
Jezik
● Iteracija L*
– L* = L0 ∪ L1 ∪ L2 ∪ L3 ∪ …
– L = { b, v, k, z }
– L* = { ε, b, v, k, z, bb, bv, … }
48
![Page 49: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/49.jpg)
Primeri
49
L(∅) = { }L(ε) = { ε }L(b) = { b }L(v) = { v }L(k) = { k }L(z) = { z }
L(∅) = { }L(ε) = { ε }L(b) = { b }L(v) = { v }L(k) = { k }L(z) = { z }
L(v + k) = L(v) ∪ L(k) = { v, k }L(v + k + z) = { v, k, z }L(v + ∅) = { v }L(v + ε) = { ε, v }
L(v + k) = L(v) ∪ L(k) = { v, k }L(v + k + z) = { v, k, z }L(v + ∅) = { v }L(v + ε) = { ε, v }
L(vk) = L(v) L(k) = { vk }L(vkz) = { vkz }L(v∅) = { }L(vε) = { v }
L(vk) = L(v) L(k) = { vk }L(vkz) = { vkz }L(v∅) = { }L(vε) = { v }
L(b*) = { ε, b, bb, bbb, bbbb, … }L(ε*) = { ε }L(∅*) = { }
L(b*) = { ε, b, bb, bbb, bbbb, … }L(ε*) = { ε }L(∅*) = { }
b, v, k, zΣ
L(vk + kz) = { vk, kz }L((v + k)bb(k + z) = { vbbk, vbbz, kbbk, kbbz }L((ε + vv)bbb) = { bbb, vvbbb }L((b + v + k + z)*) = množica vseh nizov na ∑L(kb(v + k + z)*bk) = {kbbk ,kbvbk, kbkkkzzzvvvkzkzvbk, … }L((b + v + k + z)*zz(b + v + k + z)*zz(b + v + k + z)*) = 2x zaporedoma zz
L(vk + kz) = { vk, kz }L((v + k)bb(k + z) = { vbbk, vbbz, kbbk, kbbz }L((ε + vv)bbb) = { bbb, vvbbb }L((b + v + k + z)*) = množica vseh nizov na ∑L(kb(v + k + z)*bk) = {kbbk ,kbvbk, kbkkkzzzvvvkzkzvbk, … }L((b + v + k + z)*zz(b + v + k + z)*zz(b + v + k + z)*) = 2x zaporedoma zz
![Page 50: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/50.jpg)
Problemi
8. marec2014
![Page 51: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/51.jpg)
Odločitveni problemi
● Problem– Računski problem (angl. computational problem)
– Problem, ki ga (lahko) rešuje računalnik
– Ne gre (le) za aritmetično računanje
– Primeri problemov:● iskanje najmanjšega elementa● urejanje zaporedja● iskanje poti v labirintu
51
![Page 52: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/52.jpg)
Odločitveni problemi
● Naloga oz. primerek problema– Za problem je možnih mnogo različnih nalog
– Primeri nalog za problem iskanja poti v labirintu
52
![Page 53: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/53.jpg)
Odločitveni problemi
● Odločitveni problem– Računski problem katerega rešitev je lahko le
odgovor: da ali ne
– Gre torej za vprašanja
53
Naloga x, algoritem A, rešitev da/ne
![Page 54: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/54.jpg)
Odločitveni problemi
● Še več problemov– Se dani program zacikla/ustavi?
– Ima dani sudoku/iskalec min/... rešitev?
– Ima dana enačba ničlo?
– Je mogoče dani zemljevid pobarvati s štirimi barvami?
54
![Page 55: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/55.jpg)
Odločitveni problemi
● Je dano število potenca števila 2?– 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, …, 32,
…, 64, …, 128, …, 256, …, 512, …, 1024, …
● Je dano dvojiško število potenca števila 2?– 1, 10, 100, 1000, 10000, 100000, 1000000, …
55
![Page 56: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/56.jpg)
*Odločitveni problemi
● Smo z da/ne problemi preveč omejeni?
– Niti ne, če le znamo pametno spraševati– Lahko rešimo tudi optimizacijske probleme
● Problem najmanjše število zaporedja
56
Zaporedje 5 7 4 5 7 8 9 6 4 6 4 7 6 6 5 5 6 4 8 8 8 9 8 8
Lahko sprašujemo po vrsti● Je 0 najmanjše število danega zaporedja?● Je 1 najmanjše število danega zaporedja?● Je 2 najmanjše število danega zaporedja?● Je 3 najmanjše število danega zaporedja?● Je 4 najmanjše število danega zaporedja?
Ali pa uporabimo binarno iskanje● Je najmanjše število danega zaporedja < 5?● Je najmanjše število danega zaporedja < 3?
![Page 57: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/57.jpg)
Problemi in jeziki
● Pozitivne naloge– So naloge problema, za katere je odgovor da.
57
pozitivne negativnenaloge naloge
● Negativne naloge– So naloge problema, za katere je odgovor ne.
![Page 58: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/58.jpg)
Problemi in jeziki
● Množica vseh pozitivnih nalogo je jezik– PS: Tudi množica negativnih nalog je jezik
● Reševanje problema je torej enakovredno razpoznavanju jezika– Ugotavljanje pripadnosti naloge jeziku
58
pozitivne negativnenaloge naloge
![Page 59: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/59.jpg)
Deterministični končni avtomat
8. marec2014
![Page 60: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/60.jpg)
Kaj je končni avtomat?
● Formalni sistem● Pomni le končno količino informacije● Informacija predstavljena s stanjem● Stanje se spremeni glede na vhod● Pravila spreminjanja stanj se imenujejo
prehodi
60
![Page 61: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/61.jpg)
Definicija DKA
● Peterka 〈Q, Σ, δ, q0, F 〉
– Q – končna množica stanj,
● npr. Q = { q0, q
1, q
2, …, q
n }
– Σ – vhodna abeceda (tudi končna)
– δ – funkcija prehodov
– q0 – začetno stanje, q
0 ∈ Q
– F – množica končnih stanj, F ⊆ Q
61
Q
F
q0
Σ
q1
q2q
3
q4
q5
q6
a b cd e
f
![Page 62: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/62.jpg)
Definicija DKA
● Funkcija prehodov δ(q, x)
– δ: Q × Σ → Q
– δ(q, x) = r
● Če je avtomat v stanju q in je na vhodu simbol x,potem gre avtomat v novo stanje r.
– Totalna funkcija prehodov● Če za nek par q in x
ni posebej podano δ(q, x),potem gre avtomat v slepo stanje.
62
q rx
ostalisimboli
![Page 63: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/63.jpg)
Definicija DKA
● Funkcija prehodov δ(q, x)
– Diagram prehodov
– Tabela prehodov
– Spisek prehodov
![Page 64: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/64.jpg)
Funkcija prehodov δ(q, x)
● Diagram prehodov bvkz
-vzbk
k b bvzk
kbvz
z v
bkvz
bkzv
k k
zbvk
vbkz
v z
bkvz
b-bvkz
k
![Page 65: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/65.jpg)
Funkcija prehodov δ(q, x)
● Tabela prehodov
b v k zbvkz/- - - vz/bk -vz/bk bvz/k - bvkz/- -bvz/k vz/bk z/bvk - v/bkzz/bvk - bvz/k bkz/v -v/bkz - - bkv/z bvz/kbkz/v - - z/bvk k/bvzbkv/z - k/bvz v/bkz -k/bvz bk/vz bkv/z - bkz/vbk/vz k/bvz - -/bvkz -
bvkz-
vzbk
k b bvzk
kbvz
z v
bkvz
bkzv
k k
zbvk
vbkz
v z
bkvz
b-bvkz
k
![Page 66: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/66.jpg)
Funkcija prehodov δ(q, x)
● Spisek prehodov
● δ(bvkz/-, k) = vz/bk● δ(vz/bk, b) = bvz/k● δ(bvz/k, v) = z/bvk● δ(z/bvk, k) = bkz/v● δ(bkz/v, z) = k/bvz● δ(bvz/k, z) = v/bkz● δ(v/bkz, k) = bkv/z● δ(bkv/z, v) = k/bvz● δ(k/bvz, b) = bk/vz● δ(bk/vz, k) = -/bvkz● … kaj še manjka?
bvkz-
vzbk
k b bvzk
kbvz
z v
bkvz
bkzv
k k
zbvk
vbkz
v z
bkvz
b-bvkz
k
![Page 67: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/67.jpg)
Jezik avtomata
● Avtomat kot razpoznavalnik jezika– Bere vhodni niz simbol za simbolom
– Ko prebere celoten niz se ustavi
– Izvaja prehode glede natrenutno stanje inprebrani simbol
– Če se ustavi v stanju q ∈ F,potem reče da, sicer ne
![Page 68: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/68.jpg)
Jezik avtomata
● Funkcija prehodov– Razširimo iz simbolov na nize.– δ'(q, ε) = q
– δ'(q, wa) = δ(δ'(q, w), a)
68
q
pw
ra
p = δ'(q, w) r = δ(p, a)
![Page 69: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/69.jpg)
Jezik avtomata
● Formalna definicija jezika
– Množica vseh besed, ki iz q0 pripeljejo v
poljubno končno stanje
– L(A) = { w ∈ Σ* | δ'(q0, w) ∈ F }
q0
qw
w qw = δ'(q
0, w)
q0
qx
x qx = δ'(q
0, x)
qw
∈ F, odgovor da
qx ∉ F, odgovor ne
![Page 70: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/70.jpg)
Jezik avtomata
● Avtomat sprejema nize– Če w ∈ L(A), potem pravimo, da A sprejema w
– Avtomat sprejema le en jezik
– Lahko sprejme veliko različnih nizov
– Lahko ne sprejme nobenega● prazen jezik
70
![Page 71: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/71.jpg)
Gremo v JFlap
● JFlap.org
71
![Page 72: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/72.jpg)
Univerzalni avtomatUDKA
8. marec2014
![Page 73: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/73.jpg)
Kako deluje avtomat?
● Avtomat kot razpoznavalnik jezika– Bere vhodni niz simbol za simbolom
– Ko prebere celoten niz se ustavi
– Izvaja prehode glede natrenutno stanje inprebrani simbol
– Če se ustavi v stanju q ∈ F,potem reče da, sicer ne
73
![Page 74: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/74.jpg)
Univerzalni avtomat
● Je avtomat● Zna oponašati avtomate
– Simulator avtomatov
● Katere?– VSE (univerzalnost)
● vse končne avtomate
74
![Page 75: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/75.jpg)
Simulacija
75
Univerzalni avtomatsimulator
Simulirani avtomatsimuliranec
A
U
![Page 76: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/76.jpg)
Vhod
76
Univerzalni avtomatsimulator
Simulirani avtomatsimuliranec
x da/ne
da/nex, A
A
U
![Page 77: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/77.jpg)
Gremo v python
● Python online interpreter– http://www.compileonline.com/execute_python_online.php
● Ali lokalno– SicTE urejevalnik
77
![Page 78: Informatika je tudi znanost - Redmine · Osnove programiranja Algoritmi in zahtevnost (ACM kurikul, 2008) Arhitektura in organiziranost računalniških sistemov Operacijski sistemi](https://reader030.fdocuments.net/reader030/viewer/2022040704/5e0112bc090dcd61fe470154/html5/thumbnails/78.jpg)
Viri● Knjiga: Introduction to Automata Theory, Languages,
and Computation – Hopcroft, Motwani, Ullman
– Kasnejše izdaje so manj zahtevne
● Wikipedia
– Večina slik● Coursera
– Tečaj o avtomatih, Ullman
78