UNIVERZITET U NIŠU PRIRODNO MATEMATIČKI FAKULTET DEPARTMAN ZA RAČUNARSKE NAUKE Algoritmi za determinizaciju i minimizaciju nedeterminističkih automata

Величина: px
Почињати приказ од странице:

Download "UNIVERZITET U NIŠU PRIRODNO MATEMATIČKI FAKULTET DEPARTMAN ZA RAČUNARSKE NAUKE Algoritmi za determinizaciju i minimizaciju nedeterminističkih automata"

Транскрипт

1 UNIVERZITET U NIŠU PRIRODNO MTEMTIČKI FKULTET DEPRTMN Z RČUNRSKE NUKE lgoritmi za determinizaciju i minimizaciju nedeterminističkih automata Master rad Student: Nemanja Vučković Mentor: Prof. dr. Miroslav Ćirić Niš, Oktobar 2016.

2 Predgovor Tokom prve godine master akademskih studija upoznao sam se sa oblašću informatike pod nazivom Teorija automata. U drugoj godini, interesovanje za ovu oblast je poraslo kada sam u okviru predmeta Konstrukcija prevodioca i interpetatora saznao za konkretnu primenu automata u programiranju. Zbog toga sam odlučio da svoj Master rad posvetim ovoj oblasti, odnosno delu koji se odnosi na Determinaciju i minimizaciju nedeterminističkih automata. Veliku zahvalnost dugujem svom mentoru, prof. dr. Miroslavu Ćiriću, koji je samnom podelio svoje znanje iz oblasti koja se bavi determinizacijom automata i pomogao mi je da napišem ovaj rad. Takođe se zahvaljujem i prof. dr. Jeleni Ignjatović, koja me je uvela u oblast Teorije automata, i svojim zanimljivim predavanjima i poznavanjem te oblasti doprinela daljem interesovanju. Zahvaljujem se i svim ostalim profesorima, koji su usavršili moje znanje iz oblasti informatike i programiranja i bili tu da odgovore na sva moja pitanja. Najveću zahvalnost dugujem porodici i prijateljima, koji su mi pomagali i podržavali me kadgod je bilo potrebno. 1

3 Sadržaj 1. Uvod Osnovni pojmovi Bulova algebra Skupovi, relacije i funkcije lfabet, reči i jezici Konačni automati Deterministički konačan automat Nedeterministički konačan automat Reverzni automat i podautomat Izomorfni automati Količnički automat i redukcija broja stanja Količnički automat Redukcija broja stanja Redukcija pomoću desno invarijantnih kvazi-uređenja Redukcija pomoću slabo desno invarijantnih kvazi-uređenja Determinizacija Osnovni algoritam determinizacije podskupovna konstrukcija Konstrukcija Nerodovog automata Reverzni Nerodov automat Determinizacija pomoću slabo-invarijantnih kvazi-uređenja Determinizacija pomoću slabog desno invarijantnog kvazi-uređenja Determinizacija pomoću slabog levo invarijantnog kvazi-uređenja Determinizacija konstrukcijom dečjeg automata Kanonizacioni metod Brzozovskog Poboljšani metod Brzozovskog Kanonizacija jezičkom inkluzijom Implementacija i testiranje Rezultati testiranja Zaključak Literatura Biografija

4 1. Uvod Teorija automata je nauka o apstraktnim mašinama i automatima, kao i problemima koji se mogu rešiti pomoću njih. Reč automat vodi poreklo od grčke reči αὐτόματα (automata), koja znači radi sam od sebe. Teorija automata je usko povezana sa formalnom teorijom jezika, zato što je automat konačni prikaz nekog formalnog jezika koji može biti i beskonačan. U mnogim slučajevima automati se klasifikuju po formalnim jezicima koje oni prepoznaju. Slika 1.1: Teorija automata podela U ovom radu će biti reči o konačnim determinističkim i nedeterminističkim automatima i biće opisani algoritmi za determinizaciju, odnosno proces prevođenja nedeterminističkog automata u ekvivalentni deterministički. U drugoj glavi ovog rada biće opisani skupovi i relacije kao osnovni matematički pojmovi koji su nam potrebni za dalji rad. Pored toga biće predstavljena i Bulova algebra koja će nam poslužiti za jednostavnije predstavljanje relacija. Na kraju druge glave biće uvedeni osnovni pojmovi teorije jezika koji su neophodni za rad sa automatima. Treća glava se bavi konačnim automatima. Biće pomenuto nekoliko načina za njihovo predstavljanje, podela na determinističke i nedeterminističke automate i koja je njihova razlika. Biće navedene i formalne definicije ovih automata koje se koriste u literaturi. U četvrtoj glavi se uvode pojmovi i postulati koji su potrebni da bi se u procesu determinizacije dobio minimalni deterministički automat. Ovde će biti opisan količnički automat nekog automata i postupak redukcije broja stanja nekog automata. U petoj glavi će biti definisan pojam determinizacije. Pored toga ova glava opisuje i algoritme za determinizaciju počevši od najjednostavnijeg pa sve do algoritama koji za rezultat dobijaju minimalni deterministički automat. C#. Šesta glava predstavlja rezultate implementacije ovih algoritama u programskom jeziku 3

5 2. Osnovni pojmovi 2.1. Bulova algebra Iskazna algebra je algebra ({0,1},,,,, ) sa binarnim operacijama (konjunkcija), (disjunkcija), (implikacija) i (ekvivalencija) i unarnom operacijom (negacija) na skupu {0,1}, definisanim sledećim tabelama: Sa druge strane, algebru ({0,1},,, ) zovemo dvoelementna Bulova algebra. Bulovom matricom se naziva matrica čiji su svi elementi iz skupa {0,1}, a množenje Bulovih matrica se definiše pomoću operacija i. Naime, proizvod Bulovih matrica U = [u ij ] m n i V = [v jk ] n p je Bulova matrica čiji su članovi definisani sa: U V = W = [w ik ] m p n w ik = u ij v jk. j=1 Bulove matrice tipa 1 m i n 1 tretiramo kao vektore i nazivamo ih Bulovim vektorima, pri čemu matricu tipa 1 m zovemo vektor vrste, a matricu n 1 vektor kolone. Proizvod vektora tipa 1 m i m 1 daje element iz skupa {0,1} koji nazivamo skalarni proizvod tih vektora. Zbog čega se koristi operator za proizvod Bulovih matrica biće objašnjeno u narednom poglavlju. 4

6 2.2. Skupovi, relacije i funkcije U matematici, skup je pojam koji se obično ne definiše, već se uzima kao osnovni. Za označavanje skupova se najčešće koriste velika slova latinice, B.ko je neki skup konačan ili prebrojivo beskonačan, pa se njegovi elementi mogu nabrojati, koriste se zapisi: = {x 1, x 2,, x n }, odnosno = {x 1, x 2, }. Dakle, skup je određen svojim elementima. Pripadnost elementa x skupu označava se sa x, a nepripadnost sa x. Između skupova se uvode dve osnovne relacije - jednakost i podskup: = B ( x)(x x B); B ( x)(x x B). Kardinalnost skupa se označava sa i predstavlja broj elemenata skupa. Prazan skup, koji se označava sa može se definisati kao = {x x x}. Za važi, za bilo koji skup i = 0. Za date skupove i B, definišemo uniju i presek na sledeći način: B ( x)(x x B); B ( x)(x x B). Dekartov proizvod skupova i B, u oznaci B, predstavlja skup svih mogućih uređenih parova kod kojih je prva komponenta element skupa a druga komponenta element skupa B. Dekartov proizvod se matematički zapisuje kao: B = {(a, b) a b B}. Neka je neprazan skup i n N. Pod pojmom n-arne relacije na podrazumavamo svaki podskup R skupa n =, pri čemu R može biti i prazan skup. Broj n se naziva n dužina relacije. Relacije dužine 2 se nazivaju binarne relacije ili samo relacije. ko je R relacija na skupu i (a, b) R, tada kažemo da su a i b u relaciji R i često izraz (a, b) R zamenjujemo izrazom arb. Specijalne vrste relacija na proizvoljnom skupu koje su vredne pažnje su prazna relacija, sa oznakom, relacija jednakosti = {(x, x) x }, koja se takođe naziva i dijagonalna ili identička relacija, i univerzalna ili puna relacija =. U slučajevima kada ne postoji opasnost od zabune, indeks se izostavlja i pišemo prosto i. Osim relacija između elemenata jednog skupa značajne su i relacije između elemenata dva različita skupa. Za neprazne skupove i B, svaki podskup R B naziva se relacija iz u B. Za relaciju R B, relaciju R 1 B definisanu sa (b, a) R 1 ako i samo ako je (a, b) R, za sve a i b B, nazivamo inverz relacije R. Podskupove Dom R i Im R B definisane sa: Dom R = {a ( b B)(a, b) R}, Im R = {b B ( a )(a, b) R} nazivamo redom domen i slika relacije R. 5

7 Pomoću ovih pojmova definišemo jedan od osnovnih matematičkih pojmova a to je funkcija. Funkcija predstavlja preslikavanje iz skupa domena u skup kodomena (slika) koje mora biti jedinstveno, to jest svaki član domena se slika u tačno jedan član kodomena. Prema tome, funkija je specijalan slučaj relacija. Za neprazne skupove, B i C, i relacije R B i S B C, kompozicija ili proizvod od R i S je relacija R S C definisana sa: (a, c) (R S) ( b B)((a, b) R (b, c) S), za svako a i c C. Neka su, B i C neprazni skupovi, i neka su date relacije R B, S B C i T C. Desni rezidual od T sa R je relacija R\T B C definisana sa: (b, c) R\T ( a )((a, b) R (a, c) T), za svako (b, c) B C, a levi rezidual od T sa S je relacija T/S B definisana sa: (a, b) T/S ( c C)((b, c) S (a, c) T), za svako (a, b) B. Osim reziduala relacija, postoje i reziduali skupova. Za skupove α i β B, desni rezidual od β sa α je relacija α\β B definisana sa: (b, a) α\β (a α b β), za sve (a, b) B, a levi rezidual od β sa α je relacija β/α B definisana sa: (a, b) β/α (a α b β), za sve (b, a) B. Neka je neprazan skup. Relacija R na skupu je: - refleksivna, ako je ara, za svaki a, tj. ako je Δ R; - simetrična, ako za a, b, iz arb sledi bra, tj. ako je R R 1 ; - anti-simetrična, ako za a, b, iz arb i bra sledi da je a = b, tj. ako je R R 1 Δ ; - tranzitivna, ako za a, b, c, iz arb i brc sledi arc, tj. ako je R R R. Refleksivnu i tranzitivnu relaciju zovemo kvazi-uređenje. Refleksivnu, anti-simetričnu i tranzitivnu relaciju zovemo uređenje ili relacija poretka, a refleksivnu, simetričnu i tranzitivnu relaciju zovemo relacija ekvivalencije, ili samo ekvivalencija. Neka su, B i C konačni skupovi za koje važi: = m, B = n i C = p. Relacije R B, S B C i T C tretiraćemo kao Bulove matrice a skupove α i β B kao Bulove vektore, odnosno: R = [r ij ] m n, S = [s jk ] n p, T = [t ik ] m p, α = [α i ] m, β = [β j ] n. Pritom za Bulove matrice i i {1,2,, m}, j {1,2,, n}, k {1,2,, p} važi: r ij = { 0, (a i, b j ) R 1, (a i, b j ) R, s jk = { 0, (b j, c k ) S 1, (b j, c k ) S, t ik = { 0, (a i, c k ) T 1, (a i, c k ) T, dok za Bulove vektore važi: α i = { 0, a i α 1, a i α, β j = { 0, b j β 1, b j β, gde su a i, b j B i c k C. Bulov proizvod matrica R i S (R S), predstavlja matricu kompozicije relacija R i S. 6

8 Reziduale skupova α\β i β/α izračunavamo uz pomoć sledećih formula: α\β = [α i β j ] m n, β/α = (α\β) 1 = ([α i β j ] m n ) 1. Sa druge strane, u izračunavanju reziduala relacija koristićemo jednu novu operaciju na Bulovim matricama koju definišemo na sledeći način: za Bulove matrice U = [u ij ] m n i V = [υ jk ] n p, njihov proizvod je Bulova matrica U V = W = [w ik ] m p čiji su članovi definisani sa za sve i {1,2,, m} i j {1,2,, n}. n w ik = u ij υ jk, j= lfabet, reči i jezici Neka je X neprazan skup koji nazivamo alfabetom, a čije elemente nazivamo slovima. Reč (engl. string) nad alfabetom X definiše se kao konačni niz: x 1 x 2 x n, gde su x 1, x 2,, x n X slova. Iz ove definicije jasno je da se jednakost reči definiše kao jednakost nizova. To znači da su dve reči: u = x 1 x 2 x n i v = y 1 y 2 y m jednake ako i samo ako je m = n i x i = y i, za svako i {1,2,, n}. Za reč u = x 1 x 2 x n, gde su x 1, x 2,, x n X, broj n, to jest broj elemenata (slova) u nizu x 1 x 2 x n, označavamo sa u, i nazivamo dužinom reči u. Sadržaj reči u je skup svih slova koja se pojavljuju u reči u i označava se sa c(u). Prazan niz slova označava se sa e i naziva prazna reč. Jasno je da je e = 0. Osnovna operacija nad rečima je operacija nadovezivanja ili konkatenacije. Konkatenacijom reči u = x 1 x 2 x n i v = y 1 y 2 y m dobijamo reč: u v = uv = x 1 x 2 x n y 1 y 2 y m. Ova operacija je asocijativna i uvodimo oznake: x 0 = e, x 1 = x i x k = xx x k Reverzna reč date reči u = x 1 x 2 x n jeste reč u = x n x 2 x 1. Skup svih reči nad alfabetom X, uključujući i praznu reč, označavaćemo sa X, a sa X + ćemo označavati skup svih nepraznih reči nad tim alfabetom, odnosno X + = X {e}. Jezik L nad alfabetom X definišemo kao proizvoljan skup reči nad tim alfabetom, odnosno kao L X. 7

9 3. Konačni automati Konačni automati se dele na determinističke i nedeterminističke konačne automate. Postoji nekoliko načina za predstavljanje konačnih automata. Prvi način i ujedno način koji se najviše primenjuje u literaturi jeste grafički prikaz. Ovim prikazom automat se predstavlja kao označeni usmereni graf sa nekim malim izmenama. Naime, početna stanja automata se označavaju sa strelicom ispred, odnosno: Takođe, završna stanja su uokvirena sa duplim kružićima, na sledeći način: Prelazi koji postoje kod automata se predstavljaju kao i prelazi kod označenih usmerenih grafova, to jest: Konačni automati se mogu predstaviti i tablicama prelaza. Tablica prelaza automata je pravougaona tablica sa vrstama koje odgovaraju svim simbolima prelaza i kolonama koje odgovaraju stanjima. a x δ (a, x) Ovde su sa δ (a, x) označena sva stanja u koja automat prelazi kada se nalazi u stanju a i na ulazu se pojavi simbol x. utomati se mogu predstaviti i pomoću Bulovih vektora i matrica, gde matrice označavaju relacije prelaza a vektori skupove inicijalnih i završnih stanja. Kako vršimo predstavljanje automata na navedene načine najbolje će biti ilustrovano sledećim primerom: Primer 3.1: Dat je automat sa sledećim karakteristikama: Skup stanja:, B, C; Početno stanje: ; Završno stanje: ; Prelazi: 0, 1 B, B 0 C, B 1, C 0 B, C 1 C. 8

10 1) Grafički prikaz: 2) Tablica prelaza: B C 0 C B 1 B C 3) Bulovi vektori i matrice: Vektor početnih stanja: σ = [1 0 0]; 1 Vektor završnog stanja: τ = [ 0]; Matrice prelaza: δ 0 = [ 0 0 1], δ 1 = [ 1 0 0] U prethodnom primeru vidimo da je: σ δ 0 = [1 0 0] [ 0 0 1] = [1 0 0], σ δ 1 = [1 0 0] [ 1 0 0] = [0 1 0] Vidimo da se primenom operatora za vektor početnog stanja i neku matricu prelaza dobija odgovarajuće naredno stanje automata. Ovaj postupak se može nastavljati sve dok postoji ulazna sekvenca simbola. Za vektor završnog stanja i neku matricu prelaza primenom operatora dobija se odgovarajuće prethodno stanje automata: δ 0 τ = [ 0 0 1] [ 0] = [ 0], δ 1 τ = [ 1 0 0] [ 0] = [ 1] Bulovi vektori i matrice nam omogućavaju lakše predstavljanje automata u programskim jezicima. 9

11 utomati (deterministički i nedeterministički) prihvataju (prepoznaju) neku ulaznu sekvencu (reč) ako se iz nekog od početnih stanja automata, pod dejstvom simbola te sekvence, dolazi u neko od završnih stanja. U suprotnom, automat ne prihvata reč. utomat prepoznaje praznu reč e, ako i samo ako važi jednakost: σ τ = 1. Lako je zaključiti da automat iz prethodnog primera zadovoljava ovu jednakost, odnosno prihvata praznu reč. utomat prepoznaje reč u = x 1 x 2 x n, x 1, x 2,..., x n X, ako i samo ako važi sledeća jednakost: σ δ x1 δ x2 δ xn τ = 1. Sada ćemo navesti formalne definicije determinističkih i nedeterminističkih konačnih automata Deterministički konačan automat Deterministički konačan automat je uređena petorka = (, X, δ, a 0, τ ) gde je: konačan, neprazan skup stanja; X ulazni alfabet; δ : X funkcija prelaza; a 0 inicijalno (početno) stanje; τ neprazan skup završnih (finalnih) stanja. Kako je δ : X, to postoji tačno jedno stanje b tako da je b = δ (a, x) gde a i x X, odnosno postoji tačno jedno stanje u koje se sa x prelazi iz a. Primer 3.2 (Deterministički automat): Slika 3.1: Deterministički automat Skup stanja ovog automata je = {q0, q1, q2, q3, q4, q5, q6, q7}, a ulazni alfabet je X = {0, 1}. Početno stanje automata je q0, a završno stanje je q2. utomat prihvata reči: 10, 01, , 10010, 00110, utomat ne prihvata reči: 111, , 100, , 10

12 Nedeterministički konačan automat Nedeterministički konačan automat je petorka = (, X, δ, σ, τ ) gde je: konačan, neprazan skup stanja; X ulazni alfabet; δ : X P() funkcija prelaza, gde je sa P() označen partitivni skup skupa, odnosno skup svih podskupova skupa ; σ skup inicijalnih stanja; τ skup završnih (finalnih) stanja. Kod nedeterminističkog automata se iz stanja a, pod uticajem ulaznog simbola x, može preći u bilo koje stanje iz skupa δ (a, x). Kako P() sadrži i prazan skup, to prema definiciji znači da i δ (a, x) može biti i prazan skup, što dalje znači da se iz stanja a, pod uticajem ulaznog simbola x, ne može preći ni u jedno drugo stanje. Primer 3.3 (Nedeterministički automat): Slika 3.2: Nedeterministički automat Skup stanja ovog automata je = {s, w1, w2, d1, d2, d3, f1, f2, f3, f4, i1, i2, F}, a ulazni alfabet je X = {λ, statement, while, condition, do, for, if, init, step}. Skup inicijalnih stanja je σ = {s}, dok je skup finalnih stanja τ = {s, F}. utomat prihvata reči: praznu reč, statement, do statement while condition, statement λ, utomat ne prihvata reči: while, λ, if condition statement, condition, 11

13 Reverzni automat i podautomat Neka je dat automat, = (, X, δ, σ, τ ). Njegov reverzni automat je = (, X, δ, σ, τ ), čija relacija prelaza i skupovi inicijalnih i završnih stanja su definisani sa: δ (a, x, b) = δ (b, x, a) za svako x X i a, b ; σ = τ i τ = σ. utomat B = (B, X, δ B, σ B, τ B ) je podautomat automata = (, X, δ, σ, τ ), ako važi: B ; δ x B je restrikcija od δ x na B B, za svako x X (δ x B = δ x B B) i σ B, τ B su restrikcije od σ, τ na B (σ B = σ B, τ B = τ B) Izomorfni automati Neka su dati automati = (, X, δ, σ, τ ) i B = (B, X, δ B, σ B, τ B ). Za funkciju φ: B, kažemo da je izomorfizam automata i B, ako je bijektivna i ako za sve a, a 1, a 2 i x X važi sledeće: (a 1, a 2 ) δ x (φ(a 1 ), φ(a 2 )) δ x B ; a σ φ(a) σ B i a τ φ(a) τ B. ko postoji izomorfizam između automata i B, tada kažemo da su i B izomorfni automati, i pišemo B. Drugim rečima, dva automata su izomorfna ako u suštini imaju istu strukturu, odnosno ako se jedan od drugog razlikuju samo u označavanju njihovih stanja. 12

14 4. Količnički automat i redukcija broja stanja 4.1. Količnički automat Zbog jednostavnijeg pisanja, za relacije na skupu stanja automata pisaćemo relacija na automatu. Neka je R proizvoljno kvazi-uređenje na automatu = (, X, δ, σ, τ ) i neka je R skup svih R-aftersetova (skupova koji su dobijeni primenom relacije R na automat ). Primenom relacije R možemo definisati novu relaciju prelaza nad skupovima R-aftersetova, na sledeći način: (R a1, x, R a2 ) δ R ( a 1, a 2 )((a 1, a 1 ) R (a 1, x, a 2 ) δ (a 2, a 2 ) R) (a 1, a 2 ) R δ x R za sve a 1, a 2 i x X, i možemo definisati σ R, τ R R : R a σ R ( a )(a σ (a, a) R) a σ R R a τ R ( a )(a τ (a, a ) R) a R τ za svako a. Na isti način se definiše i automat R, čija stanja predstavljaju skup R-foresetova: (R a1, x, R a2 ) δ R ( a 1, a 2 )((a 1, a 1 ) R (a 1, x, a 2 ) δ (a 2, a 2 ) R) (a 1, a 2 ) R δ x R za sve a 1, a 2 i x X, i možemo definisati σ R, τ R R : R a σ R ( a )(a σ (a, a) R) a σ R R a τ R ( a )(a τ (a, a ) R) a R τ za svako a. Iz ovih definicija vidimo da su automati R i R izomorfni za dato kvazi-uređenje R. Zbog toga ćemo nadalje koristiti samo automat R i njega ćemo nazvati količnički automat automata u odnosu na kvazi-uređenje R. Neka su R i S dva kvazi-uređenja na automatu = (, X, δ, σ, τ ) takva da je R S. Tada relacija S // R na R definisana sa (R a, R b ) S // R (a, b) S, za sve a, b, predstavlja kvazi-uređenje na R i količnički automati ( R)//( S // R) i // S su izomorfni. Osim toga, ako je S relacija ekvivalencije, onda je i S // R relacija ekvivalencije. Neka je R kvazi-uređenje na automatu = (, X, δ, σ, τ ). utomat i njegov količnički automat // R imaju isti broj stanja kao ako i samo ako je R uređenje. 13

15 4.2. Redukcija broja stanja Za proizvoljno kvazi-uređenje R na automatu = (, X, δ, σ, τ ), pravilom a R a je definisana sirjektivna funkcija iz na // R, što znači da količnički automat //R uvek ima manji ili jednak broj stanja od originalnog automata. Osim toga, ako su R i S dva kvaziuređenja na takva da je R S, tada automat //S ima manji ili jednak broj stanja od automata //R. To znači da bi se broj stanja automata mogao redukovati pomoću nekog pogodnog kvazi-uređenja na skupu stanja tog automata, formiranjem odgovarajućeg količničkog automata. Međutim, u opštem slučaju količnički automat ne mora biti ekvivalentan originalnom automatu, tj. ne mora raspoznavati isti jezik. Prema tome, problem redukcije broja stanja nedeterminističkih automata, svodi se na problem nalaženja takvih kvazi-uređenja na skupu stanja automata koja daju količnički automat ekvivalentan originalnom automatu. Pri tome, poželjno je da to kvazi-uređenje bude što je moguće veće, jer će se na taj način dobiti količnički automat sa što je moguće manjim brojem stanja. Naka je dat automat = (, X, δ, σ, τ ) i kvazi-uređenje R na. Setimo se da za reč u = x 1 x 2... x n X +, gde su x 1, x 2,..., x n X, n N, važi: dok za praznu reč važi: u [[]] σ δ x1 δ x2 e [[]] σ τ = 1. δ xn τ = 1, Sa druge strane, koristeći asocijativnost kompozicije relacija i činjenicu da je R R = R, jer je R kvazi-uređenje, dobijamo da u automatu // R za reč u važi: u [[ // R]] σ R δ x1 R δ x2 R R δ xn R τ = 1, dok za praznu reč važi: e [[ // R]] σ R τ = 1. Prema tome, količnički automat // R će biti ekvivalentan originalnom automatu, ako i samo kvazi-uređenje R zadovoljava sledeće uslove: σ τ = σ R τ, σ δ x1 δ x2 δ xn τ = σ R δ x1 R δ x2 R R δ xn R τ, za sve x 1, x 2,..., x n X, n N. Setimo se da je skup stanja automata po definiciji konačan, pa ako relacije na tretiramo kao Bulove matrice a podskupove od kao Bulove vektore, tada ovi uslovi predstavljaju sistem Bulovih matričnih jednačina koji ćemo nazivati opšti sistem pridružen automatu. Za kvaziuređenja koja zadovoljavaju te uslove govorićemo da su rešenja opšteg sistema. ko malo bolje pogledamo sistem, videćemo da on uvek ima trivijalno rešenje. Međutim, to rešenje nam ne odgovara jer se preko njega dobija automat identičan početnom automatu. ko je S proizvoljno rešenje opšteg sistema pridruženog automatu = (, X, δ, σ, τ ), onda je svako kvazi-uređenje na sadržano u S takođe rešenje opšteg sistema. 14

16 Redukcija pomoću desno invarijantnih kvazi-uređenja Neka je = (, X, δ, σ, τ ) proizvoljni automat. Za kvazi-uređenje R na koje zadovoljava uslove: R δ x R = δ x R, za svako x X, R τ = τ, kažemo da je desno invarijantno kvazi-uređenje na, a ako za R važi: R δ x R = R δ x, za svako x X, σ R = σ, onda kažemo da je R levo invarijantno kvazi-uređenje na. Sva desno invarijantna i levo invarijantna kvazi-uređenja na automatu su rešenja opšteg sistema pridruženog tom automatu. Neka je R kvazi-uređenje na automatu = (, X, δ, σ, τ ). Tada su sledeći uslovi ekvivalentni: (i) R je desno invarijantno kvazi-uređenje na ; (ii) R δ x δ x R, za svaki x X; (iii) Važi sledeća inkluzija: R x X (δ x R)/(δ x R). Za automat = (, X, δ, σ, τ ), definišemo induktivno niz {R k } k N relacija na na sledeći način: R 1 = τ /τ, R k+1 = R k x X (δ x R k )/(δ x R k ), za svako k N. Tada važi: a) {R k } k N je opadajući niz kvazi-uređenja na ; b) Postoji n N tako da je R n = R n+1, i u tom slučaju R n je najveće desno invarijantno kvazi-uređenje na. Sada možemo formirati algoritam za nalaženje najvećeg desno invarijantnog kvazi-uređenja. lgoritam 4.1 (Najveće desno invarijantno kvazi-uređenje): Ulaz algoritma je automat = (, X, δ, σ, τ ). lgoritam izračunava najveće desno invarijantno kvazi-uređenje na. Postupak se sastoji u konstrukciji niza kvazi-uređenja {R k } k N, na sledeći način: U prvom koraku stavljamo R 1 = τ /τ ; Posle k-tog koraka neka je R k kvazi-uređenje koje je konstruisano ; U narednom koraku konstruišemo kvazi-uređenje R k+1 pomoću formule R k+1 = R k x X (δ x R k )/(δ x R k ) i istovremeno, proveravamo da li je R k+1 = R k ; Kada nađemo najmanji prirodan broj n takav da je R n+1 = R n, postupak formiranja niza {R k } k N se završava i R n je najveće desno invarijantno kvazi-uređenje na. 15

17 Na sličan način možemo formirati i algoritam za nalaženje najvećeg levo invarijantnog kvaziuređenja. Najveće desno invarijantno kvazi-uređenje: R 1 = τ / τ R k+1 = R k (δ x R k )/(δ x R k ) x X Najveće levo ivarijantno kvazi-uređenje: R 1 = σ \ σ R k+1 = R k (R k δ x )\(R k δ x ) x X Najveća desno invarijantna ekvivalencija: R 1 = (τ / τ ) (τ / τ ) 1 R k+1 = R k ((δ x R k )/(δ x R k )) ((δ x R k )/(δ x R k )) 1 x X Najveća levo invarijantna ekvivalencija: R 1 = (σ \ σ ) (σ \ σ ) 1 R k+1 = R k ((R k δ x )\(R k δ x )) ((R k δ x )\(R k δ x )) 1 x X function LRIQO: Input: = (, X, δ, σ, τ ): utomaton; Output: result: boolean matrix; Variables: i: integer, n: integer, R: array of boolean matrix; begin R[1] τ /τ ; R[0] is any boolean matrix different then R[1]; i 0; n 1; while R[i] R[i + 1] do R[i + 2] R[i + 1]; for every x in X do R[i + 2] R[i + 2] ((δ x R k )/(δ x R k )); i i + 1; n i; end while; result R[n]; end function. 16

18 Redukcija pomoću slabo desno invarijantnih kvazi-uređenja Neka je = (, X, δ, σ, τ ) proizvoljni automat. Za svaku reč u X definišemo skupove σ u, τ u sa: σ u = σ δ u = {a ( b ) b σ (b, a) δ u }, τ u = δ u τ = {a ( b ) (a, b) δ u b τ }. Drugim rečima, σ u je skup svih stanja automata u koja se može stići iz nekog inicijalnog stanja pod uticajem ulaznih simbola reči u, dok je τ u skup svih stanja iz kojih se može stići u neko završno stanje pod uticajem simbola te reči. Očigledno, za praznu reč e X je σ e = σ i τ e = τ. Na sličan način, za svako stanje a definišemo jezike σ a, τ a X sa: σ a = {u X ( b ) b σ (b, a) δ u } = {u X a σ u }, τ a = {u X ( b ) (a, b) δ u b τ } = {u X a τ u }. Dakle, σ a je skup svih reči koje iz nekog inicijalnog stanja vode do stanja a, a τ a je skup svih reči koje iz stanja a vode do nekog završnog stanja. Jasno je da u σ a ako i samo ako a σ u, dok u τ a ako i samo ako a τ u. Jezike σ a i τ a zovemo redom levi jezik i desni jezik pridružen stanju a. Kvazi-uređenje R na koje zadovoljava jednakost: R τ u = τ u, za svako u X, nazivaćemo slabo desno invarijantnim kvazi-uređenjem na automatu, a ako R zadovoljava σ u R = σ u, za svako u X, zvaćemo ga slabo levo invarijantnim kvazi-uređenjem na. Primetimo da je τ u R τ u i σ u σ u R ispunjeno kadgod je R refleksivna relacija, pa su gore navedene jednačine za slaba kvazi-uređenja redom ekvivalentna sa R τ u τ u, za svako u X, tj. sa σ u R σ u, za svako u X. Za automat = (, X, δ, σ, τ ) važi: a) Svako slabo desno invarijantno kvazi-uređenje na je rešenje opšteg sistema pridruženog tom automatu. b) Svako desno invarijantno kvazi-uređenje na je slabo desno invarijantno. Neka je Q wri relacija na automatu = (, X, δ, σ, τ ) definisana izrazom: Q wri = τ u X u /τ u. Tada važi sledeće: a) Kvazi-uređenje R na je slabo desno invarijantno ako i samo ako je R Q wri. b) Q wri je najveće slabo desno invarijantno kvazi-uređenje na. Sada možemo formirati algoritam za izračunavanje nejvećeg slabo desno invarijantnog kvaziuređenja, ali pre toga navodimo pomoćni algoritam za izračunavanje svih članova kolekcije {τ u } u X. 17

19 lgoritam 4.2 (Izračunavanje svih članova kolekcije {τ u } u X ): Ulaz ovog algoritma je automat = (, X, δ, σ, τ ). lgoritam izračunava sve članove kolekcije {τ u } u X. Postupak se sastoji u konstrukciji stabla kolekcije {τ u } u X. Stablo se konstruiše induktivno, na sledeći način: Koren stabla je τ e, i mi stavljamo T 0 = {τ e } ; Nakon i-tog koraka neka je konstruisano stablo T i, i neka su čvorovi u T i označeni i lisa zatvoren i lisa nezatvoren. Značenja ova dva izraza biće razjašnjena u nastavku; Konstruišemo stablo T i+1 dograđivanjem stabla T i na sledeći način: za svaki nezatvoren list τ u koji se pojavljuje u T i, gde je u X, i svako x X, mi dodajemo čvor τ xu = δ x τ u i granu iz τ u u τ xu. Istovremeno, proveravamo da li se τ xu poklapa sa nekim skupom koji je već konstruisan, i ako je to tačno, ako je skup τ xu jednak nekom ranije izračunatom skupu τ v,onda čvor τ xu označavamo kao zatvoren i stavljamo s(τ xu ) = s(τ v ). Postupak se završava kada svi listovi budu označeni kao zatvoreni; Kada je stablo kolekcije {τ u } u X konstruisano, njegovi unutrašnji čvorovi odgovaraju različitim članovima te kolekcije. function collection_calculation: Input: = (, X, δ, σ, τ ): utomaton; Output: result: Tree; Variables: i, counter: integer, T: Tree; begin T[0] {τ e }; τ e. is_open true; s(τ e ) 1; i 0; counter 1; while T[i]. has_open_node() do for every open node τ u in T[i] do for every x in X do τ xu δ x τ u ; s(τ xu ) = 0; for every node τ v in T do if τ xu = τ v then s(τ xu ) s(τ v ); τ xu. is_open false; if s(τ xu ) = 0 then s(τ xu ) counter + 1; counter counter + 1; τ xu. is_open true; T[i + 1]. add_node(τ xu ); T. add_edge(τ u, x, τ xu ); i i + 1; end while; result T. remove_closed_edges(); end function. 18

20 lgoritam 4.3 (Najveće slabo desno invarijantno kvazi-uređenje): Ulaz ovog algoritma je automat = (, X, δ, σ, τ ). lgoritam izračunava najveće slabo desno invarijantno kvaziuređenje Q wri na, na sledeći način: Najpre izračunavamo skupove τ u, za sve u X, koristeći prethodni algoritam; Potom izračunavamo Q wri pomoću formule Q wri = τ u /τ u function LWRIQO: Input: = (, X, δ, σ, τ ): utomaton; Output: result: boolean matrix; Variables: Q wri : boolean matrix; begin Q wri all_ones_matrix(); for every τ u in collection_calculation() do Q wri Q wri (τ u /τ u ) result Q wri ; end function. u X. Za računanje najvećeg slabo levo invarijantnog kvazi-uređenja Q wli, možemo dati slične formule i algoritme. Najveće slabo desno invarijantno kvazi-uređenje: Q wri = τ u u X /τ u Najveće slabo levo ivarijantno kvazi-uređenje: Q wli = σ u u X \σ u Najveća slabo desno invarijantna ekvivalencija: E wri = (τ u u X /τ u ) (τ u /τ u ) 1 Najveća slabo levo invarijantna ekvivalencija: E wli = (σ u u X \σ u ) (σ u \σ u ) 1 19

21 5. Determinizacija Svaki nedeterministički konačan automat se može prevesti u ekvivalentan deterministički konačan automat i taj proces se naziva determinizacija. lgoritmi za determinizaciju koji će biti opisani u daljem tekstu su: 1) Podskupovna konstrukcija; 2) Konstrukcija Nerodovog i reverznog Nerodovog automata; 3) lgoritmi za determinizaciju pomoću slabo invarijantnih kvazi-uređenja; 4) Konstrukcija dečjeg automata; 5) Kanonizacioni metod Brzozovskog i poboljšani metod Brzozovskog; 6) Kanonizacija pomoću jezičke inkluzije Osnovni algoritam determinizacije podskupovna konstrukcija Klasičan način da se nedeterministički konačni automat = (, X, δ, σ, τ ) preobrati u deterministički je da se formira deterministički konačni automat p = ( p, X, δ p, σ p, τ p ), čiji skup stanja je p = 2, skup svih podskupova od, jedinstveno inicijalno stanje je σ p, funkcija prelaza δ p : p X p je definisana sa δ p(α, x) = α δ x, i skup τ p završnih stanja je zadat sa za sve α p i x X, τ p = {α p α τ } = {α p α τ = 1}. Za automat p kažemo da je nastao iz podskupovnom konstrukcijom (engl. subset construction). lgoritam 5.1 (Podskupovna konstrukcija): Ulaz ovog algoritma je nedeterministički konačni automat = (, X, δ, σ, τ ) nad konačnim alfabetom X, a izlaz je deterministički konačni automat, p = ( p, X, δ p, σ p, τ p ). Postupak se sastoji iz konstrukcije grafa G automata p, što se čini na sledeći način: Čvorove grafa G formiramo kao sve podskupove skupa, a čvor koji odgovara skupu σ označavamo kao početni čvor automata p ; Za svaki čvor α p proveravamo da li je α τ, i ako jeste, onda čvor koji odgovara skupu α označavamo kao završno stanje automata p ; Za svaki čvor α p i svako x X izračunavamo α δ x i formiramo granu iz čvora koji odgovara skupu α u čvor koji odgovara skupu α δ x, koju označavamo sa x. Dijagram koji je dobijen nako realizacije ova tri koraka je graf automata p. 20

22 function subset_construction: Input: = (, X, δ, σ, τ ): utomaton; Output: result: utomaton; Variables: G: Graph; begin G. nodes P(); G. start_node σ ; for every α in G. nodes do if α τ then G. final_nodes. add(α); for every x in X do for every β in G. nodes do if α δ x = β then G. add_edge(α, x, β); result G. toutomaton(); end function. Iako ovaj algoritam predstavlja jednostavan način da se od nedeterminističkog automata dobije ekvivalentan deterministički, on ima dosta nedostataka zbog kojih se ne koristi u praksi. Očigledan nedostatak podskupovne konstrukcije je u tome što se njegovom primenom eksponencijalno povećava broj stanja. Naime, nedeterministički automat se n stanja se podskupovnom konstrukcijom pretvara u deterministički automat p sa 2 n stanja. Pritom mnoga stanja automata p mogu biti suvišna, jer su nedostižna iz početnog stanja. Najjednostavnija modifikacija podskupovne konstrukcije, pomoću koje se gradi samo dostižni deo automata p, poznata je kao dostižna podskupovna konstrukcija (engl. accessible subset construction). Primer 5.1: Slika 4: Dostižna podskupovna konstrukcija 21

23 5.2. Konstrukcija Nerodovog automata Za nedeterministički automat = (, X, δ, σ, τ ), ovom konstrukcijom se gradi deterministički automat N = ( N, X, δ N, σ N e, τ N), čiji skup stanja je N = {σ u u X } a funkcija prelaza δ N: N X N je definisana kao u algoritmu podskupovne konstrukcije, to jest izrazima: δ N(α, x) = α δ x, za sve α N i x X, odnosno: δ N(σ u, x) = σ ux, za sve u X i x X. Skup završnih stanja τ N je takođe zadat kao u algoritmu podskupovne konstrukcije, odnosno: τ N = {α N α τ } = {α N α τ = 1}. utomat N se naziva Nerodov automat (. Nerode). Efektivan postupak za konstukciju ovog automata definisan je sledećim algoritmom: lgoritam 5.2 (Konstrukcija Nerodovog automata N ): Ulaz ovog algoritma je nedeterministički konačni automat = (, X, δ, σ, τ ) nad konačnim alfabetom X, a izlaz je Nerodov deterministički automat, N = ( N, X, δ N, σ N e, τ N). Postupak se sastoji u konstrukciji stabla prelaza Nerodovog automata N direktno iz, koristeći pokazivače s( ), kojima čvorovima stabla pridružujemo odgovarajuće prirodne brojeve. Stablo prelaza Nerodovog automata N konstruiše se induktivno, na sledeći način: Koren stabla je σ N e i postavljamo T0 = {σ N e } i s(σ N e ) = 1. Istovremeno, proveravamo da li je σ N e τ N, i ako je to tačno σ N e je završno stanje; Posle i-tog koraka neka je dobijeno stablo T i, koje sadrži zatvorene i nezatvorene čvorove; U narednom koraku konstruišemo stablo prelaza T i+1, na sledeći način: za svaki nezatvoreni list σ N u u stablu Ti, gde je u X, i svako x X dodajemo čvor σ N ux = σ N u δ N x i granu iz N σu u N σux označenu sa x. Istovremeno, proveravamo da li je σ N ux skup koji je već konstruisan, i ako jeste, tj. ako je N σux jednak nekom već konstruisanom σ N v, onda označavamo σ N ux zatvorenim i stavljamo N s(σux ) = s(σ N v ). U suprotnom, stavljamo da je s(σ N ux ) sledeći nepridružen prirodan broj i proveravamo da li je σ N ux τ, i ako je to tačno σ N ux je završno stanje. Postupak se završava kada svi listovi budu označeni kao zatvoreni; Kada je stablo prelaza automata N konstruisano, brišemo oznake za zatvorenost listova i preklapamo listove sa unutrašnjim čvorovima koji imaju istu vrednost pokazivača. Dijagram koji je dobijen na ovakav način, dopunjen oznakama za početno i završna stanja je Nerodov automat N. 22

24 function Nerode_algorithm: Input: = (, X, δ, σ, τ ): utomaton; Output: result: utomaton; Variables: i, counter: integer, T: Tree; begin T[0]. add_node(σ e ); σ e. is_open true; if σ e τ then T. final_states. add(σ e ); s(σ e ) 1; i 0; counter 1; while T[i]. has_open_node() do for every open node σ u in T[i] do for every x in X do σ ux σ u δ x ; s(σ ux ) = 0; for every node σ v in T do if σ ux = σ v then s(σ ux ) s(σ v ); σ ux. is_open false; if s(σ ux ) = 0 then s(σ ux ) counter + 1; counter counter + 1; σ ux. is_open true; T[i + 1]. add_node(σ ux ); if σ ux τ then T. final_states. add(σ ux ); T. add_edge(σ u, x, σ ux ); i i + 1; end while; result T. toutomaton(); end function. 23

25 Reverzni Nerodov automat Za nedeterministički automat = (, X, δ, σ, τ ), ovom konstrukcijom se gradi deterministički automat N = ( N, X, δ N, τ e N, τ N ), čiji skup stanja je N = {τ u N u X } a funkcija prelaza δ N : N X N je definisana kao u algoritmu podskupovne konstrukcije, to jest izrazima: δ N (α, x) = δ x α, za sve α N i x X, odnosno: δ N (τ u, x) = τ xu, za sve u X i x X. Skup završnih stanja τ N je takođe zadat kao u algoritmu podskupovne konstrukcije, odnosno: τ N = {α N α σ } = {α N σ α = 1}. utomat N se naziva reverzni Nerodov automat. Reverzni (inverzni) Nerodov automat se konstruiše na sličan način kao i Nerodov automat. lgoritam 5.3 (Konstrukcija reverznog Nerodovog automata N ): Ulaz ovog algoritma je nedeterministički konačni automat = (, X, δ, σ, τ ) nad konačnim alfabetom X, a izlaz je reverzni Nerodov deterministički automat, N = ( N, X, δ N, τ e N, τ N ). Postupak se sastoji u konstrukciji stabla prelaza reverznog Nerodovog automata N direktno iz, koristeći pokazivače s( ), kojima čvorovima stabla pridružujemo odgovarajuće prirodne brojeve. Stablo prelaza reverznog Nerodovog automata N konstruiše se induktivno, na sledeći način: Koren stabla je τ e i postavljamo T 0 = {τ e N } i s(τ e N ) = 1. Istovremeno, proveravamo da li je σ τ N e, i ako je to tačno τ N e je završno stanje; Posle i-tog koraka neka je dobijeno stablo T i, koje sadrži zatvorene i nezatvorene čvorove; U narednom koraku konstruišemo stablo prelaza T i+1, na sledeći način: za svaki nezatvoreni list τ N u u stablu T i, gde je u X, i svako x X dodajemo čvor τ N xu = δ x τ N u i granu iz τ N u u τ N xu označenu sa x. Istovremeno, proveravamo da li je τ N xu skup koji je već konstruisan, i ako jeste, tj. ako je τ N xu jednak nekom već konstruisanom τ N v, onda označavamo τ N xu zatvorenim i stavljamo s(τ N xu ) = s(τ N v ). U suprotnom, stavljamo da je s(τ N xu ) sledeći nepridružen prirodan broj i proveravamo da li je σ τ N xu, i ako je to tačno τ N xu je završno stanje. Postupak se završava kada svi listovi budu označeni kao zatvoreni; Kada je stablo prelaza automata N konstruisano, brišemo oznake za zatvorenost listova i preklapamo listove sa unutrašnjim čvorovima koji imaju istu vrednost pokazivača. Dijagram koji je dobijen na ovakav način, dopunjen oznakama za početno i završna stanja je inverzni Nerodov automat N. 24

26 function reverse_nerode_algorithm: Input: = (, X, δ, σ, τ ): utomaton; Output: result: utomaton; Variables: i, counter: integer, T: Tree; begin T[0]. add_node(τ e ); τ e. is_open true; if σ τ e then T. final_states. add(σ e ); s(τ e ) 1; i 0; counter 1; while T[i]. has_open_node() do for every open node τ u in T[i] do for every x in X do τ xu δ x τ u ; s(τ xu ) = 0; for every node τ v in T do if τ xu = τ v then s(τ xu ) s(τ v ); τ xu. is_open false; if s(τ xu ) = 0 then s(τ xu ) counter + 1; counter counter + 1; τ xu. is_open true; T[i + 1]. add_node(τ xu ); if σ τ xu then T. final_states. add(σ xu ); T. add_edge(τ u, x, τ xu ); i i + 1; end while; result T. toutomaton(); end function. 25

27 5.3. Determinizacija pomoću slabo-invarijantnih kvazi-uređenja Determinizacija pomoću slabog desno invarijantnog kvazi-uređenja Neka je = (, X, δ, σ, τ ) nedeterministički automat i neka je R relacija na. Za svako u X definišemo podskup R u induktivno, na sledeći način: za praznu reč e stavljamo da je: R e = σ R, a za proizvoljne u X i x X stavljamo da je: R ux = R u δ x R. Jasno, ako je u = x 1 x n, gde su x 1,, x n X, tada je R u = σ R δ x1 R δ xn R. Sada, stavimo da je R = {R u u X }, i definišimo δ R: R X R sa: δ R(R u, x) = R ux, za sve u X i x X. Skup završnih stanja τ N je takođe zadat kao u algoritmu podskupovne konstrukcije, odnosno: τ R = {α R α τ } = {α N α τ = 1}. ko je R u = R v, za neke u X, tada za svako x X imamo da je: δ R(R u, x) = R ux = R u δ x R = R v δ x R = R vx = δ R(R v, x) što znači da je δ R dobro definisana funkcija. Odatle neposredno dobijamo da je R = ( R, X, δ R, σ e R, τ R) dobro definisan deterministički automat. Osnovno pitanje koje se ovde nameće je kako izabrati relaciju R tako da automat R bude ekvivalentan polaznom automatu. lgoritam 5.4 (Konstrukcija automata R ): Ulaz ovog algoritma je nedeterministički konačni automat = (, X, δ, σ, τ ) nad konačnim alfabetom X i slabo desno invarijantno kvazi-uređenje R na, a izlaz je automat R = ( R, X, δ R, R e, τ R). Postupak se sastoji u konstrukciji stabla prelaza automata R direktno iz, koristeći pokazivače s( ), kojima čvorovima stabla pridružujemo odgovarajuće prirodne brojeve. Stablo prelaza automata R konstruiše se induktivno, na sledeći način: Koren stabla je R e i postavljamo T 0 = {R e } i s(r e ) = 1. Istovremeno, proveravamo da li je R e τ, i ako je to tačno R e je završno stanje; Posle i-tog koraka neka je dobijeno stablo T i, koje sadrži zatvorene i nezatvorene čvorove; U narednom koraku konstruišemo stablo prelaza T i+1, na sledeći način: za svaki nezatvoreni list R u u stablu T i, gde je u X, i svako x X dodajemo čvor R ux = R u δ x i granu iz R u u R ux označenu sa x. Istovremeno, proveravamo da li je R ux skup koji je već konstruisan, i ako jeste, tj. ako je R ux jednak nekom već konstruisanom R v,onda označavamo R ux zatvorenim i stavljamo s(r ux ) = s(r v ). U suprotnom, stavljamo da je s(r ux ) sledeći nepridružen prirodan broj i proveravamo da li je R ux τ, i ako je to tačno R ux je završno stanje. Postupak se završava kada svi listovi budu označeni kao zatvoreni; 26

28 Kada je stablo prelaza automata R konstruisano, brišemo oznake za zatvorenost listova i preklapamo listove sa unutrašnjim čvorovima koji imaju istu vrednost pokazivača. Dijagram koji je dobijen na ovakav način, dopunjen oznakama za početno i završna stanja je graf automata R. function LWRIQ: Input: = (, X, δ, σ, τ ): utomaton; Output: result: utomaton; Variables: i, counter: integer, T: Tree, R: boolean matrix; begin R LWRIQO(); R e σ R; T[0]. add_node(r e ); if R e τ then T. final_states. add(r e ); R e. is_open true; s(r e ) 1; i 0; counter 1; while T[i]. has_open_node() do for every open node R u in T[i] do for every x in X do R ux R u δ x ; s(s xu ) = 0; for every node R v in T do if R ux = R v then s(r ux ) s(r v ); R ux. is_open false; if s(r ux ) = 0 then s(r ux ) counter + 1; counter counter + 1; R ux. is_open true; T[i + 1]. add_node(r ux ); if R ux τ then T. final_states. add(r ux ); T. add_edge(r u, x, R ux ); i i + 1; end while; result T. toutomaton(); end function. 27

29 Determinizacija pomoću slabog levo invarijantnog kvazi-uređenja Neka je = (, X, δ, σ, τ ) nedeterministički automat i neka je S relacija na. Za svako u X definišemo podskup S u induktivno, na sledeći način: - za praznu reč e stavljamo da je: S e = S τ ; - za proizvoljne u X i x X stavljamo da je: S xu = S δ x S u. Jasno, ako je u = x 1 x n, gde su x 1,, x n X, tada je: S u = S δ x1 S δ xn S τ. Sada, stavimo da je S = {S u u X }, i definišimo δ S: S X S sa: δ S(S u, x) = S xu, za sve u X i x X. Skup završnih stanja τ S je takođe zadat kao u algoritmu podskupovne konstrukcije, odnosno: τ S = {α R α σ } = {α N σ α = 1}. ko je R u = R v, za neke u X, tada za svako x X imamo da je: δ S(S u, x) = S xu = S δ x S u = S δ x S v = R vx = δ S(R v, x) što znači da je δ S dobro definisana funkcija. Dakle, S = ( S, X, δ S, σ e S, τ S) je dobro definisan deterministički automat. lgoritam 5.5 (Konstrukcija automata S ): Ulaz ovog algoritma je nedeterministički konačni automat = (, X, δ, σ, τ ) nad konačnim alfabetom X i slabo levo invarijantno kvazi-uređenje S na, a izlaz je automat S = ( S, X, δ S, S e, τ S). Postupak se sastoji u konstrukciji stabla prelaza automata S direktno iz, koristeći pokazivače s( ), kojima čvorovima stabla pridružujemo odgovarajuće prirodne brojeve. Stablo prelaza automata S konstruiše se induktivno, na sledeći način: Koren stabla je S e i postavljamo T 0 = {S e } i s(s e ) = 1. Istovremeno, proveravamo da li je σ S e, i ako je to tačno S e je završno stanje; Posle i-tog koraka neka je dobijeno stablo T i, koje sadrži zatvorene i nezatvorene čvorove; U narednom koraku konstruišemo stablo prelaza T i+1, na sledeći način: za svaki nezatvoreni list S u u stablu T i, gde je u X, i svako x X dodajemo čvor S xu = δ x S u i granu iz S u u S xu označenu sa x. Istovremeno, proveravamo da li je S xu skup koji je već konstruisan, i ako jeste, tj. ako je S xu jednak nekom već konstruisanom S v, onda označavamo S xu zatvorenim i stavljamo s(s xu ) = s(s v ). U suprotnom, stavljamo da je s(s xu ) sledeći nepridružen prirodan broj i proveravamo da li je σ S xu, i ako je to tačno S xu je završno stanje. Postupak se završava kada svi listovi budu označeni kao zatvoreni; Kada je stablo prelaza automata S konstruisano, brišemo oznake za zatvorenost listova i preklapamo listove sa unutrašnjim čvorovima koji imaju istu vrednost pokazivača. Dijagram koji je dobijen na ovakav način, dopunjen oznakama za početno i završna stanja je graf automata S. 28

30 function LWLIQ: Input: = (, X, δ, σ, τ ): utomaton; Output: result: utomaton; Variables: i, counter: integer, T: Tree, S: boolean matrix; begin S LWLIQO(); S e S τ ; T[0]. add_node(s e ); if σ S e then T. final_states. add(s e ); S e. is_open true; s(s e ) 1; i 0; counter 1; while T[i]. has_open_node() do for every open node S u in T[i] do for every x in X do S xu δ x S u ; s(s xu ) = 0; for every node S v in T do if S xu = S v then s(s xu ) s(s v ); S xu. is_open false; if s(s xu ) = 0 then s(s xu ) counter + 1; counter counter + 1; S xu. is_open true; T[i + 1]. add_node(s xu ); if σ S xu then T. final_states. add(s xu ); T. add_edge(s u, x, S xu ); i i + 1; end while; result T. toutomaton(); end function. 29

31 5.4. Determinizacija konstrukcijom dečjeg automata Neka je = (, X, δ, σ, τ ) nedeterministički automat nad konačnim alfabetom X = {x 1,, x m } i neka je R relacija na. Za svako u X definišemo (m + 1)-torku R u c sa: R c u = (R ux1,, R uxm, R u τ ) = (R u δ x1,, R u δ xm, R u τ ), gde su R u, R ux1,, R uxm skupovi definisani formulama: = R u δ xi R, za svako i = {1,, m} R uxi R u = σ R δ x1 R δ xn R, za u = x 1 x n, gde su x 1,, x n X. Dalje, stavimo da je c R = {R c u u X }, i definišimo δ c R: c c R X R sa: δ R c (R c u, x) = R c ux, za sve u X i x X. Skup završnih stanja τ R c je zadat formulom: τ R c = {R u c R c R u τ } = {R u c R c R u τ = 1}. Uočimo da prvih m koordinata u (m + 1)-torci R u c čine deca čvora R u u stablu prelaza automata R algoritma 5.4, a poslednja koordinata je Bulova promenljiva koja nam kaže da li je R u završno stanje u automatu R. Iz tog razloga, automat R c se naziva dečji automat automata R. lgoritam 5.6 (Konstrukcija dečjeg automata R c ): Ulaz ovog algoritma je nedeterministički konačni automat = (, X, δ, σ, τ ) nad konačnim alfabetom X = {x 1,, x m } i relaciju R na, a izlaz je automat R c = ( R c, X, δ R c, R e c, τ R c ). Postupak se sastoji iz simultane konstrukcije stabla prelaza T automata R i grafa G automata R c direktno iz, koristeći pokazivače s( ) i pokazivače t( ), kojima čvorovima stabla i grafa pridružujemo određene prirodne brojeve. Stablo prelaza automata R i graf automata R c konstruišu se na sledeći način: Stablo prelaza T automata R konstruišemo primenom slabo desno invarijantog kvaziuređenja (lgoritam 5.4); Svakom nezatvorenom čvoru R u stabla T, pridružujemo čvor R u c grafa G, na sledeći način: Kada su formirana sva deca R ux1,, R uxm čvora R u u stablu T, onda formiramo čvor R u c = (R ux1,, R uxm, R u τ ) u grafu G. Istovremeno, proveravamo da li je R u c m + 1-torka koja je već konstruisana, i ako jeste, tj. ako je R u c jednaka nekoj već konstruisanoj m + 1-torci R v c, onda označavamo R u c zatvorenim i stavljamo t(r u c ) = t(r v c ). U suprotnom, stavljamo da je t(r u c ) sledeći prirodan broj koji nije bio pridružen t( ) i proveravamo da li je R u τ, i ako je to tačno R u c je završno stanje; Za svaki nezatvoreni čvor R u c grafa G i svako x X, ako je R v nezatvoreni čvor u stablu T, takav da je s(r ux ) = s(r v ), u grafu G dodajemo granu iz R u c u R v c označenu sa x; Kada je graf G automata R c konstruisan, preklapamo nezatvorene čvorove sa zatvorenim čvorovima koji imaju istu vrednost pokazivača t( ) i brišemo oznake za zatvorenost. Dijagram koji je dobijen na ovakav način, dopunjen oznakama za početno i završna stanja je graf automata R c. 30

32 function children_automaton: Input: = (, X, δ, σ, τ ): utomaton; Output: result: utomaton; Variables: counter: integer, T: Tree, R: boolean matrix, G: Graph; begin T Tree from LWRIQ(); counter 1; for every open node R u in T do R u c = (R ux1,, R uxm, R u τ ); t(r u c ) = 0; for every node R v c in G do if R u c = R v c then t(r u c ) t(r v c ); R u c. is_open false; if t(r u c ) = 0 then t(r u c ) counter + 1; counter counter + 1; R u c. is_open true; if R u τ then T. final_states. add(r u c ); G. add_node(r u c ); for every open node R i c in G do for every open node R v in T do for every x in X do if s(r ix ) = s(r v ) and R v. is_open then G. add_edge(r i c, x, R v c ); result G. toutomaton(); end function. 31

33 5.5. Kanonizacioni metod Brzozovskog Neka je nedeterministički automat. utomat Brzozovskog (J. Brzozowski) automata, u oznaci B, je deterministički automat dobijen konstrukcijom reverznog Nerodovog automata dva puta, to jest: B = ( N ) N = (( ) )N N. lgoritam 5.7 (Kanonizacioni metod Brzozovskog): Ulaz ovog algoritma je nedeterministički konačni automat = (, X, δ, σ, τ ) nad konačnim alfabetom X, a izlaz je minimalni deterministički automat B, koji se konstruiše na sledeeći način: Konstruišemo reverzni Nerodov automat N za automat ; Koristeći isti algoritam, ponovo konstruišemo reverzni Nerodov automat automata N. Dobijeni automat je automat Brzozovskog. function Brzozowski_algorithm: Input: = (, X, δ, σ, τ ): utomaton; Output: result: utomaton; Variables: nr: utomaton; begin nr reverse_nerode_algorithm(); result reverse_nerode_algorithm(nr); end function Poboljšani metod Brzozovskog Neka je nedeterministički automat. Poboljšani algoritam Brzozovskog podrazumeva dobijanje determinističkog automata B kao reverzni Nerodov automat automata S (algoritam 5.5), odnosno: B = ( S ) N. lgoritam 5.8 (Poboljšani metod Brzozovskog): Ulaz ovog algoritma je nedeterministički konačni automat = (, X, δ, σ, τ ) nad konačnim alfabetom X, a izlaz je minimalni deterministički automat B, koji se konstruiše na sledeeći način: Konstruišemo S za automat, koristeći slabo levo invarijantno kvazi-uređenje; Koristeći algoritam za konstrukciju reverznog Nerodovog automata, konstruišemo reverzni Nerodov automat automata S. Dobijeni automat je automat Brzozovskog. function upgraded_brzozowski_algorithm: Input: = (, X, δ, σ, τ ): utomaton; Output: result: utomaton; Variables: s: utomaton; begin s determinization_with_lwliqo(); result reverse_nerode_algorithm(s); end function. 32

Skripte2013

Skripte2013 Chapter 2 Algebarske strukture Preslikivanje f : A n! A se naziva n-arna operacija na skupu A Ako je n =2, kažemo da je f : A A! A binarna operacija na A Kažemo da je operacija f arnosti n, u oznaci ar

Више

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja 2018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) (a) (2 boda) Definirajte (općenitu) vanjsku mjeru. (b) (2 boda) Definirajte

Више

Microsoft Word - 1.Operacije i zakoni operacija

Microsoft Word - 1.Operacije i zakoni operacija 1. Operacije i zakoni operacija Neka je S neprazan skup. Operacija dužine n skupa S jeste svako preslikavanje : n n f S S ( S = S S S... S) Ako je n = 1, onda operaciju nazivamo unarna. ( f : S S ) Ako

Више

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odrediti njene krajeve. b) Odrediti sledeće skupove: -

Више

Teorija skupova - blog.sake.ba

Teorija skupova - blog.sake.ba Uvod Matematika je jedan od najomraženijih predmeta kod većine učenika S pravom, dakako! Zapitajmo se šta je uzrok tome? Da li je matematika zaista toliko teška, komplikovana? Odgovor je jednostavan, naravno

Више

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe 6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe, očekuje se da su koordinate celobrojne. U slučaju

Више

1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan

1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan 1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan jednačinom oblika: a 11 x 2 + 2a 12 xy + a 22 y 2

Више

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica dimenzije m n, b Z m, c Z n. Takođe, očekuje se da

Више

Орт колоквијум

Орт колоквијум II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу

Више

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 2 Sadržaj 1 5 1.1 Specifikacija sintakse programskih

Више

Matrice. Algebarske operacije s matricama. - Predavanje I

Matrice. Algebarske operacije s matricama. - Predavanje I Matrice.. Predavanje I Ines Radošević inesr@math.uniri.hr Odjel za matematiku Sveučilišta u Rijeci Matrice... Matrice... Podsjeti se... skup, element skupa,..., matematička logika skupovi brojeva N,...,

Више

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc Konstrukcija i analiza algoritama 2 (prvi kolokvijum, smer R) 1. a) Konstruisati AVL stablo od brojeva 100, 132, 134, 170, 180, 112, 188, 184, 181, 165 (2 poena) b) Konkatenacija je operacija nad dva skupa

Више

Microsoft Word - 15ms261

Microsoft Word - 15ms261 Zadatak 6 (Mirko, elektrotehnička škola) Rješenje 6 Odredite sup S, inf S, ma S i min S u skupu R ako je S = { R } a b = a a b + b a b, c < 0 a c b c. ( ), : 5. Skratiti razlomak znači brojnik i nazivnik

Више

P2.1 Formalne gramatike

P2.1 Formalne gramatike Превођење Полазни језик? Одредишни језик 1 Превођење Полазни језик? Одредишни језик Како знање неког језика стиче и складишти човек, а како рачунар? 2 Два аспекта језика Синтакса Семантика значење То су

Више

МАТЕМАТИЧКА ГИМНАЗИЈА У БЕОГРАДУ МАТУРСКИ РАД из математике ТЕОРИЈА СКУПОВА ментор: Славко Моцоња ученик: Матија Срећковић, IVБ Београд, јун 2015.

МАТЕМАТИЧКА ГИМНАЗИЈА У БЕОГРАДУ МАТУРСКИ РАД из математике ТЕОРИЈА СКУПОВА ментор: Славко Моцоња ученик: Матија Срећковић, IVБ Београд, јун 2015. МАТЕМАТИЧКА ГИМНАЗИЈА У БЕОГРАДУ МАТУРСКИ РАД из математике ТЕОРИЈА СКУПОВА ментор: Славко Моцоња ученик: Матија Срећковић, IVБ Београд, јун 2015. САДРЖАЈ УВОД... 2 УВОД У СКУПОВЕ... 4 ЕЛЕМЕНТАРНЕ АКСИОМЕ...

Више

ПРИКАЗ НАУЧНИХ И СТРУЧНИХ РАДОВА КАНДИДАТА који садрже резултате истраживања у оквиру докторске дисертације Р. бр. Аутор-и, наслов, часопис, година, б

ПРИКАЗ НАУЧНИХ И СТРУЧНИХ РАДОВА КАНДИДАТА који садрже резултате истраживања у оквиру докторске дисертације Р. бр. Аутор-и, наслов, часопис, година, б ПРИКАЗ НАУЧНИХ И СТРУЧНИХ РАДОВА КАНДИДАТА који садрже резултате истраживања у оквиру докторске дисертације Р. бр. Аутор-и, наслов, часопис, година, број волумена, странице Категорија S. Stanimirović,

Више

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K. 1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K. Elementi a k K su koeficijenti polinoma P (x). Ako

Више

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc. SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.dr.sc. Zvonko Iljazović Zagreb, rujan, 2015. Ovaj diplomski

Више

P1.1 Analiza efikasnosti algoritama 1

P1.1 Analiza efikasnosti algoritama 1 Analiza efikasnosti algoritama I Asimptotske notacije Master metoda (teorema) 1 Asimptotske notacije (1/2) Služe za opis vremena izvršenja algoritma T(n) gde je n N veličina ulaznih podataka npr. br. elemenata

Више

P11.3 Analiza zivotnog veka, Graf smetnji

P11.3 Analiza zivotnog veka, Graf smetnji Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи

Више

Београд, МАТРИЧНА АНАЛИЗА КОНСТРУКЦИЈА ЗАДАТАК 1 За носач приказан на слици: а) одредити дужине извијања свих штапова носача, ако на носач

Београд, МАТРИЧНА АНАЛИЗА КОНСТРУКЦИЈА ЗАДАТАК 1 За носач приказан на слици: а) одредити дужине извијања свих штапова носача, ако на носач Београд, 30.01.2016. а) одредити дужине извијања свих штапова носача, ако на носач делују само концентрисане силе, б) ако је P = 0.8P cr, и на носач делује расподељено оптерећење f, одредити моменат савијања

Више

DR DRAGOŚ CVETKOVIC DR SLOBODAN SIMIC DISKRETNA MATEMATIKA MATEMATIKA ZA KOMPJUTERSKE NAUKĘ DRUGO ISPRAYLJENO I PROSIRENO IZDANJE HMUJ

DR DRAGOŚ CVETKOVIC DR SLOBODAN SIMIC DISKRETNA MATEMATIKA MATEMATIKA ZA KOMPJUTERSKE NAUKĘ DRUGO ISPRAYLJENO I PROSIRENO IZDANJE HMUJ DR DRAGOŚ CVETKOVIC DR SLOBODAN SIMIC DISKRETNA MATEMATIKA MATEMATIKA ZA KOMPJUTERSKE NAUKĘ DRUGO ISPRAYLJENO I PROSIRENO IZDANJE HMUJ Sadrżaj Predgovor Iz predgovora prvoni izdanju knjige "Diskretne mateiuatićke

Више

Konacne grupe, dizajni i kodovi

Konacne grupe, dizajni i kodovi Konačne grupe, dizajni i kodovi Andrea Švob (asvob@math.uniri.hr) 1. veljače 2011. Andrea Švob (asvob@math.uniri.hr) () Konačne grupe, dizajni i kodovi 1. veljače 2011. 1 / 36 J. Moori, Finite Groups,

Више

My_ST_FTNIspiti_Free

My_ST_FTNIspiti_Free ИСПИТНИ ЗАДАЦИ СУ ГРУПИСАНИ ПО ТЕМАМА: ЛИМЕСИ ИЗВОДИ ФУНКЦИЈЕ ЈЕДНЕ ПРОМЕНЉИВЕ ИСПИТИВАЊЕ ТОКА ФУНКЦИЈЕ ЕКСТРЕМИ ФУНКЦИЈЕ СА ВИШЕ ПРОМЕНЉИВИХ 5 ИНТЕГРАЛИ ДОДАТАК ФТН Испити С т р а н а Лимеси Одредити

Више

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)

Више

Microsoft Word - 6ms001

Microsoft Word - 6ms001 Zadatak 001 (Anela, ekonomska škola) Riješi sustav jednadžbi: 5 z = 0 + + z = 14 4 + + z = 16 Rješenje 001 Sustav rješavamo Gaussovom metodom eliminacije (isključivanja). Gaussova metoda provodi se pomoću

Више

Kombinatorno testiranje

Kombinatorno testiranje Kombinatorno testiranje Uvod Na ponašanje aplikacije utiče puno faktora, npr. ulazne vrednosti, konfiguracije okruženja. Tehnike kao što je podela na klase ekvivalencije ili analiza graničnih vrednosti

Више

УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке Писмени део испита из предмета Увод у рачунарство 1. [7 пое

УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке Писмени део испита из предмета Увод у рачунарство 1. [7 пое УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке 30.06.2018. Писмени део испита из предмета Увод у рачунарство 1. [7 поена] Методом МакКласкија минимизарити систем прекидачких

Више

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun Konstrukcija i analiza algoritama Nina Radojičić februar 2018. 1 Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne funkcije od argumenta n iz skupa N prirodnih brojeva.

Више

ФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА

ФАКУЛТЕТ  ОРГАНИЗАЦИОНИХ  НАУКА Питања за усмени део испита из Математике 3 I. ДИФЕРЕНЦИЈАЛНЕ ЈЕДНАЧИНЕ 1. Појам диференцијалне једначине. Пикарова теорема. - Написати општи и нормални облик диференцијалне једначине првог реда. - Дефинисати:

Више

UAAG Osnovne algebarske strukture 5. Vektorski prostori Borka Jadrijević

UAAG Osnovne algebarske strukture 5. Vektorski prostori Borka Jadrijević Osnovne algebarske strukture 5. Vektorski prostori Borka Jadrijević Osnovne algebarske strukture5. Vektorski prostori 2 5.1 Unutarnja i vanjska množenja Imamo dvije vrste algebarskih operacija, tzv. unutarnja

Више

Орт колоквијум

Орт колоквијум Испит из Основа рачунарске технике - / (6.6.. Р е ш е њ е Задатак Комбинациона мрежа има пет улаза, по два за број освојених сетова тенисера и један сигнал који одлучује ко је бољи уколико је резултат

Више

ALIP1_udzb_2019.indb

ALIP1_udzb_2019.indb Razmislimo Kako u memoriji računala prikazujemo tekst, brojeve, slike? Gdje se spremaju svi ti podatci? Kako uopće izgleda memorija računala i koji ju elektronički sklopovi čine? Kako biste znali odgovoriti

Више

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1.

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. MJERA I INTEGRAL završni ispit 6. srpnja 208. (Knjige bilježnice dodatni papiri i kalkulatori nisu dozvoljeni!). (8 bodova) Kao na predavanjima za d N sa P d : a b ] a d b d ] : a i b i R a i b i za i

Више

knjiga.dvi

knjiga.dvi 1. Vjerojatnost 1. lgebra dogadaja......................... 1 2. Vjerojatnost............................. 9 3. Klasični vjerojatnosni prostor................. 14 4. eskonačni vjerojatnosni prostor...............

Више

Sadržaj 1 Diskretan slučajan vektor Definicija slučajnog vektora Diskretan slučajan vektor

Sadržaj 1 Diskretan slučajan vektor Definicija slučajnog vektora Diskretan slučajan vektor Sadržaj Diskretan slučajan vektor Definicija slučajnog vektora 2 Diskretan slučajan vektor Funkcija distribucije slučajnog vektora 2 4 Nezavisnost slučajnih vektora 2 5 Očekivanje slučajnog vektora 6 Kovarijanca

Више

Електротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију

Електротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију Електротехнички факултет Универзитета у Београду 19.11.017. Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквијум траје h. Напуштање сале дозвољено је након 1h. Употреба

Више

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo

Више

Орт колоквијум

Орт колоквијум I колоквијум из Основа рачунарске технике I - надокнада СИ - 008/009 (10.05.009.) Р е ш е њ е Задатак 1 a) Пошто постоје вектори на којима се функција f не јавља и вектори на којима има вредност један,

Више

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Igor Sušić LOKALNA IZRAČUNLJIVOST Diplomski rad Voditelj rada: doc.dr.sc.

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Igor Sušić LOKALNA IZRAČUNLJIVOST Diplomski rad Voditelj rada: doc.dr.sc. SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Igor Sušić LOKALNA IZRAČUNLJIVOST Diplomski rad Voditelj rada: doc.dr.sc. Zvonko Iljazović Zagreb, lipanj 015. Ovaj diplomski

Више

Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вуји

Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вуји Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аутори: Велибор

Више

СТРАХИЊА РАДИЋ КЛАСИФИКАЦИJА ИЗОМЕТРИJА И СЛИЧНОСТИ Према књизи [1], свака изометриjа σ се може представити ком позици - jом неке транслациjе за векто

СТРАХИЊА РАДИЋ КЛАСИФИКАЦИJА ИЗОМЕТРИJА И СЛИЧНОСТИ Према књизи [1], свака изометриjа σ се може представити ком позици - jом неке транслациjе за векто СТРАХИЊА РАДИЋ КЛАСИФИКАЦИJА ИЗОМЕТРИJА И СЛИЧНОСТИ Према књизи [1], свака изометриjа σ се може представити ком позици - jом неке транслациjе за вектор a (коjи може бити и дужине нула) и неке изометриjе

Више

Рачунарска интелигенција

Рачунарска интелигенција Рачунарска интелигенција Генетско програмирање Александар Картељ kartelj@matf.bg.ac.rs Ови слајдови представљају прилагођење слајдова: A.E. Eiben, J.E. Smith, Introduction to Evolutionary computing: Genetic

Више

P9.1 Dodela resursa, Bojenje grafa

P9.1 Dodela resursa, Bojenje grafa Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.

Више

LAB PRAKTIKUM OR1 _ETR_

LAB PRAKTIKUM OR1 _ETR_ UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA

Више

ALGEBRA I (2010/11)

ALGEBRA I (2010/11) ALGEBRA I (2010/11) ALGEBRA I(20010/11), KOLOKVIJUM I-NOVEMBAR, 24. novembar 2010. GRUPA I 1. Da li je tautologija: p ( q r) (p q) (p r). 2. Pronaći KKF i KDF za r ( p q). 3. Pronaći jean primer interpretacije

Више

Inženjering informacionih sistema

Inženjering informacionih sistema Fakultet tehničkih nauka, Novi Sad Inženjering informacionih sistema Dr Ivan Luković Dr Slavica Kordić Nikola Obrenović Milanka Bjelica Dr Jelena Borocki Dr Milan Delić UML UML (Unified Modeling Language)

Више

Математика основни ниво 1. Одреди елементе скупова A, B, C: a) б) A = B = C = 2. Запиши елементе скупова A, B, C на основу слике: A = B = C = 3. Броје

Математика основни ниво 1. Одреди елементе скупова A, B, C: a) б) A = B = C = 2. Запиши елементе скупова A, B, C на основу слике: A = B = C = 3. Броје 1. Одреди елементе скупова A, B, C: a) б) A = B = C = 2. Запиши елементе скупова A, B, C на основу слике: A = B = C = 3. Бројеве записане римским цифрама запиши арапским: VIII LI XXVI CDXLIX MDCLXVI XXXIX

Више

Dinamičko programiranje Primer 1: Za dati niz naći njegov najduži neopadajući podniz. Defnicija: podniz nekog niza je niz koji se dobija izbacivanjem

Dinamičko programiranje Primer 1: Za dati niz naći njegov najduži neopadajući podniz. Defnicija: podniz nekog niza je niz koji se dobija izbacivanjem Dinamičko programiranje Primer 1: Za dati niz naći njegov najduži neopadajući podniz. Defnicija: podniz nekog niza je niz koji se dobija izbacivanjem nekih (moguće nijednog) elemenata polaznog niza. Formalno,

Више

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www. ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља aleksandar@masstheory.org www.masstheory.org Август 2007 О ауторским правима: Дело

Више

Generalizirani trag i normalne forme za logiku interpretabilnosti Vedran Čačić PMF Matematički odsjek Sveučilište u Zagrebu Dubrovnik radiona Sustavi

Generalizirani trag i normalne forme za logiku interpretabilnosti Vedran Čačić PMF Matematički odsjek Sveučilište u Zagrebu Dubrovnik radiona Sustavi Generalizirani trag i normalne forme za logiku interpretabilnosti Vedran Čačić PMF Matematički odsjek Sveučilište u Zagrebu Dubrovnik radiona Sustavi dokazivanja 28. lipnja 2012. Zašto logika interpretabilnosti?

Више

Linearna algebra Mirko Primc

Linearna algebra Mirko Primc Linearna algebra Mirko Primc Sadržaj Poglavlje 1. Polje realnih brojeva 5 1. Prirodni i cijeli brojevi 5 2. Polje racionalnih brojeva 6 3. Polje realnih brojeva R 9 4. Polje kompleksnih brojeva C 13 5.

Више

Skalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler

Skalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler i parcijalne derivacije Franka Miriam Brückler Jednadžba stanja idealnog plina uz p = nrt V f (x, y, z) = xy z x = n mol, y = T K, z = V L, f == p Pa. Pritom je kodomena od f skup R, a domena je Jednadžba

Више

Classroom Expectations

Classroom Expectations АТ-8: Терминирање производно-технолошких ентитета Проф. др Зоран Миљковић Садржај Пројектовање флексибилних ; Математички модел за оптимизацију флексибилних ; Генетички алгоритми у оптимизацији флексибилних

Више

Талесова 1 теорема и примене - неки задаци из збирке Дефинициjа 1: Нека су a и b две дужи чиjе су дужине изражене преко мерне jединице k > 0, тако да

Талесова 1 теорема и примене - неки задаци из збирке Дефинициjа 1: Нека су a и b две дужи чиjе су дужине изражене преко мерне jединице k > 0, тако да Талесова 1 теорема и примене - неки задаци из збирке Дефинициjа 1: Нека су и две дужи чиjе су дужине изражене преко мерне jединице k > 0, тако да jе m k и n k, где су m, n > 0. Тада кажемо да су дужи и

Више

My_P_Red_Bin_Zbir_Free

My_P_Red_Bin_Zbir_Free БИНОМНА ФОРМУЛА Шт треба знати пре почетка решавања задатака? I Треба знати биному формулу која даје одговор на питање чему је једнак развој једног бинома када га степенујемо са бројем 0 ( ) или ( ) 0!,

Више

VEŽBE IZ OPERACIONIH ISTRAŽIVANJA

VEŽBE IZ OPERACIONIH ISTRAŽIVANJA VEŽBE IZ OPERACIONIH ISTRAŽIVANJA Glava 4 1. Metoda grananja i odsecanja 2. Metoda grananja i ograničavanja 3. Metoda implicitnog prebrojavanja MARIJA IVANOVIĆ marijai@math.rs Metoda grananja i odsecanja

Више

Microsoft Word - Lekcija 11.doc

Microsoft Word - Lekcija 11.doc Лекција : Креирање графова Mathcad олакшава креирање x-y графика. Треба само кликнути на нови фајл, откуцати израз који зависи од једне варијабле, например, sin(x), а онда кликнути на дугме X-Y Plot на

Више

MAT KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XX (2)(2014), PELLOVA JEDNAČINA I PITAGORIN

MAT KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XX (2)(2014), PELLOVA JEDNAČINA I PITAGORIN MAT KOL (Banja Luka) ISSN 0354 6969 (p), ISSN 986 5228 (o) Vol. XX (2)(204), 59 68 http://www.imvibl.org/dmbl/dmbl.htm PELLOVA JEDNAČINA I PITAGORINE TROJKE Amra Duraković Bernadin Ibrahimpašić 2, Sažetak

Више

Matematika 1 - izborna

Matematika 1 - izborna 3.3. NELINEARNE DIOFANTSKE JEDNADŽBE Navest ćemo sada neke metode rješavanja diofantskih jednadžbi koje su drugog i viših stupnjeva. Sve su te metode zapravo posebni oblici jedne opće metode, koja se naziva

Више

CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro

CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup prirodnih brojeva? 4.) Pripada li 0 skupu prirodnih brojeva?

Више

9. : , ( )

9.  :  ,    ( ) 9. Динамика тачке: Енергиjа, рад и снага (први део) др Ратко Маретић др Дамир Мађаревић Департман за Техничку механику, Факултет техничких наука Нови Сад Садржаj - Шта ћемо научити (1) 1. Преглед литературе

Више

Пројектовање Информационих система

Пројектовање Информационих система 1 РЕЧНИК ПОДАТАКА 2 Речник података Увод Правила креирања речника података Хијерархијска декомпозиција ДТП Пример ДТП 3 Увод Речник података даје опис структуре и садржаја свих токова и складишта података.

Више

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. ( MJERA I INTEGRAL. kolokvij 9. lipnja 018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni! 1. (ukupno 6 bodova Neka je (, F, µ prostor s mjerom, neka je (f n n1 niz F-izmjerivih funkcija

Више

Slide 1

Slide 1 0(a) 0(b) 0(c) 0(d) 0(e) :: :: Neke fizikalne veličine poput indeksa loma u anizotropnim sredstvima ovise o iznosu i smjeru, a nisu vektori. Stoga se namede potreba poopdavanja. Međutim, fizikalne veličine,

Више

Microsoft PowerPoint - C-4-1

Microsoft PowerPoint - C-4-1 Pregled iskaza u C-u Izraz; Iskaz dodele, serijski komponovani iskaz; blok Uslovni iskazi i izrazi; složeno grananje Iterativni iskazi Iskaz dodele Promena vrednosti a = Ψ; Izračunava vrednost izraza Ψ,

Више

DISKRETNA MATEMATIKA

DISKRETNA MATEMATIKA DISKRETNA MATEMATIKA Kombinatorika Permutacije, kombinacije, varijacije, binomna formula Ivana Milosavljević - 1 - 1. KOMBINATORIKA PRINCIPI PREBROJAVANJA Predmet kombinatorike je raspoređivanje elemenata

Више

KDP

KDP Региони Региони Програмска парадигма за приступ критичној секцији Увођење посебне синтаксе за експлицитно означавање критичних секција Обезбеђивање међусобног искључивања процеса Условни критични регион

Више

Програмирај!

Програмирај! Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком

Више

Oblikovanje i analiza algoritama 4. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. pr

Oblikovanje i analiza algoritama 4. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. pr Oblikovanje i analiza algoritama 4. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. predavanje p. 1/69 Sadržaj predavanja Složenost u praksi

Више

Veeeeeliki brojevi

Veeeeeliki brojevi Matematička gimnazija Nedelja informatike 3 12. decembar 2016. Uvod Postoji 10 tipova ljudi na svetu, oni koji razumeju binarni sistem, oni koji ne razumeju binarni sistem i oni koji nisu očekivali šalu

Више

Орт колоквијум

Орт колоквијум Задатак 1 I колоквијум из Основа рачунарске технике I - надокнада - 008/009 (16.05.009.) Р е ш е њ е a) Пошто постоје вектори на којима се функција f не јавља и вектори на којима има вредност један, лако

Више

08 RSA1

08 RSA1 Преглед ЗАШТИТА ПОДАТАКА Шифровање јавним кључем и хеш функције RSA алгоритам Биће објашњено: RSA алгоритам алгоритам прорачунски аспекти ефикасност коришћењем јавног кључа генерисање кључа сигурност проблем

Више

Архитектура и организациjа рачунара Милан Банковић 10. април 2019.

Архитектура и организациjа рачунара Милан Банковић 10. април 2019. Архитектура и организациjа рачунара Милан Банковић 10. април 2019. 2 Садржаj I Основи дигиталне логике 5 1 Логичке функциjе и логички изрази 7 1.1 Булова алгебра............................ 7 1.1.1 Аксиоме

Више

SKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau

SKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau Lekcija : Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da naučite sledeće: osnovni pojmovi o razlomcima proširivanje, skraćivanje, upoređivanje; zapis razlomka u okviru mešovitog

Више

Teorija skupova – predavanja

Teorija skupova – predavanja Sveučilište u Zagrebu PMF Matematički odsjek Mladen Vuković Složenost algoritama predavanja i vježbe 21. ožujka 2019. Predgovor Ovaj nastavni materijal namijenjen je prije svega studentima diplomskog

Више

Algoritmi

Algoritmi Projektovanje algoritama L09.1. Topološko sortiranje Današnje teme Topološko sortiranje Povezanost grafa jako povezane komponente Minimum Spanning Trees (razapinjuće stablo) Lektira: 22. Elementary Graph

Више

Osnovni pojmovi teorije verovatnoce

Osnovni pojmovi teorije verovatnoce Osnovni pojmovi teorije verovatnoće Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2019 Milan Merkle Osnovni pojmovi ETF Beograd 1 / 13 Verovatnoća i statistika:

Више

Sveučilište J.J.Strossmayera u Osijeku Odjel za matematiku Preddiplomski studij matematike Margareta Tvrdy Banachovi prostori Završni rad Osijek, 2013

Sveučilište J.J.Strossmayera u Osijeku Odjel za matematiku Preddiplomski studij matematike Margareta Tvrdy Banachovi prostori Završni rad Osijek, 2013 Sveučilište J.J.Strossmayera u Osijeku Odjel za matematiku Preddiplomski studij matematike Margareta Tvrdy Banachovi prostori Završni rad Osijek, 2013. Sveučilište J.J.Strossmayera u Osijeku Odjel za matematiku

Више

Logičke izjave i logičke funkcije

Logičke izjave i logičke funkcije Logičke izjave i logičke funkcije Građa računala, prijenos podataka u računalu Što su logičke izjave? Logička izjava je tvrdnja koja može biti istinita (True) ili lažna (False). Ako je u logičkoj izjavi

Више

Matematiqki fakultet Univerzitet u Beogradu Iracionalne jednaqine i nejednaqine Zlatko Lazovi 29. mart 2017.

Matematiqki fakultet Univerzitet u Beogradu Iracionalne jednaqine i nejednaqine Zlatko Lazovi 29. mart 2017. Matematiqki fakultet Univerzitet u Beogradu 29. mart 2017. Matematiqki fakultet 2 Univerzitet u Beogradu Glava 1 Iracionalne jednaqine i nejednaqine 1.1 Teorijski uvod Pod iracionalnim jednaqinama podrazumevaju

Више

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime Test ispravio: () () Ukupan broj bodova:. veljače 04. od 3:00 do 4:00 Ime i prezime Razred Škola Županija Mentor Sadržaj Upute za natjecatelje... Zadaci... Upute za natjecatelje Vrijeme pisanja: 60 minuta

Више

Title

Title 1. Realni brojevi Prirodno bi bilo konstruisati skup realnih brojeva korak po korak, od prirodnih brojeva preko cijelih, racionalnih i na kraju iracionalnih. Medutim, mi ćemo tom problemu ovdje pristupiti

Више

Slide 1

Slide 1 OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik

Више

Microsoft Word - predavanje8

Microsoft Word - predavanje8 DERIVACIJA KOMPOZICIJE FUNKCIJA Ponekad je potrebno derivirati funkcije koje nisu jednostavne (složene su). Na primjer, funkcija sin2 je kompozicija funkcija sin (vanjska funkcija) i 2 (unutarnja funkcija).

Више

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar 2016 1 Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova strategija rekurzivno razbija problem na 2 ili više potproblema

Више

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijski program: Informacioni inženjering Informacioni inženjering 1 Rekurzivne funkcije Binarna stabla Informacioni

Више

Univerzitet u Nišu Prirodno-matematički fakultet Departman za matematiku Različite karakterizacije proizvoda projektora Master rad Mentor: Prof. dr. D

Univerzitet u Nišu Prirodno-matematički fakultet Departman za matematiku Različite karakterizacije proizvoda projektora Master rad Mentor: Prof. dr. D Univerzitet u Nišu Prirodno-matematički fakultet Departman za matematiku Različite karakterizacije proizvoda projektora Master rad Mentor: Prof. dr. Dragana Cvetković-Ilić Student: Miljan Ilić Niš, 2019.

Више

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch A1 Slanje svima preko fiksiranog razapinjućeg stabla

Више

Test iz Linearne algebre i Linearne algebre A qetvrti tok, U zavisnosti od realnog parametra λ rexiti sistem jednaqina x + y + z = λ x +

Test iz Linearne algebre i Linearne algebre A qetvrti tok, U zavisnosti od realnog parametra λ rexiti sistem jednaqina x + y + z = λ x + Test iz Linearne algebre i Linearne algebre A qetvrti tok, 2122017 1 U zavisnosti od realnog parametra λ rexiti sistem jednaqina x + y + z = λ x + λy + λ 2 z = λ 2 x + λ 2 y + λ 4 z = λ 4 2 Odrediti inverz

Више

Dragoš M. Cvetković Slobodan K. Simić ODABRANA POGLAVLJA IZ DISKRETNE MATEMATIKE Treće izdanje AKADEMSKA MISAO Beograd, 2012.

Dragoš M. Cvetković Slobodan K. Simić ODABRANA POGLAVLJA IZ DISKRETNE MATEMATIKE Treće izdanje AKADEMSKA MISAO Beograd, 2012. Dragoš M. Cvetković Slobodan K. Simić ODABRANA POGLAVLJA IZ DISKRETNE MATEMATIKE Treće izdanje AKADEMSKA MISAO Beograd, 2012. Dragoš M. Cvetković, Slobodan K. Simić ODABRANA POGLAVLJA IZ DISKRETNE MATEMATIKE

Више

PROMENLJIVE, TIPOVI PROMENLJIVIH

PROMENLJIVE, TIPOVI PROMENLJIVIH PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije

Више

3.Kontrlne (upravlja~ke) strukture u Javi

3.Kontrlne (upravlja~ke) strukture u Javi Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ

Више

Univerzitet u Nišu PRIRODNO-MATEMATIČKI FAKULTET Departman za matematiku Master rad GRUPNI INVERZ OPERATORA Mentor: Prof. dr Dijana Mosić Student: Iva

Univerzitet u Nišu PRIRODNO-MATEMATIČKI FAKULTET Departman za matematiku Master rad GRUPNI INVERZ OPERATORA Mentor: Prof. dr Dijana Mosić Student: Iva Univerzitet u Nišu PRIRODNO-MATEMATIČKI FAKULTET Departman za matematiku Master rad GRUPNI INVERZ OPERATORA Mentor: Prof. dr Dijana Mosić Student: Ivana Stamenković Niš, 2018. Sadržaj Predgovor 2 1 Uvod

Више

М А Т Е М А Т И К А Први разред (180) Предмети у простору и односи међу њима (10; 4 + 6) Линија и област (14; 5 + 9) Класификација предмета према свој

М А Т Е М А Т И К А Први разред (180) Предмети у простору и односи међу њима (10; 4 + 6) Линија и област (14; 5 + 9) Класификација предмета према свој М А Т Е М А Т И К А Први разред (180) Предмети у простору и односи међу њима (10; 4 + 6) Линија и област (14; 5 + 9) Класификација предмета према својствима (6; 2 + 4) Природни бројеви до 100 (144; 57

Више

My_P_Trigo_Zbir_Free

My_P_Trigo_Zbir_Free Штa треба знати пре почетка решавања задатака? ТРИГОНОМЕТРИЈА Ниво - Основне формуле које произилазе из дефиниција тригонометријских функција Тригонометријске функције се дефинишу у правоуглом троуглу

Више

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x I колоквијум из Основа рачунарске технике I СИ- / (...) Р е ш е њ е Задатак Тачка А Потребно је прво пронаћи вредности функција f(x, x, x ) и g(x, x, x ) на свим векторима. f(x, x, x ) = x x + x x + x

Више

Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013./ Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani

Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013./ Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013/2014 1 5 Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani s više obilježja (atributa), ta se obilježja mogu međusobno

Више