UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUKA VIKTOR ROGAČ KONČNI AVTOMATI DIPLOMSKO DELO

Size: px
Start display at page:

Download "UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUKA VIKTOR ROGAČ KONČNI AVTOMATI DIPLOMSKO DELO"

Transcription

1 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUKA VIKTOR ROGAČ KONČNI AVTOMATI DIPLOMSKO DELO LJUBLJANA, 2015

2

3 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Univerzitetni študijski program 1. stopnje: Dvopredmetni učitelj LUKA VIKTOR ROGAČ Mentor: red. prof. dr. ALEKSANDER MALNIČ Somentor: asist. MATEJ ZAPUŠEK KONČNI AVTOMATI DIPLOMSKO DELO LJUBLJANA, 2015

4

5 Mentorju red. prof. dr. Aleksandru Malnič in somentorju asist. Mateju Zapušek hvala za strokovno pomoč, nasvete in vodenje pri nastajanju diplomskega dela. Družini, prijateljem in podjetju Blejski otok d.o.o. hvala za vso podporo in razumevanje.

6

7 Kazalo 1 Uvod 1 2 Neformalna motivacija 2 3 Jezik [1] 4 4 Končni avtomati Neformalni opis [4] Formalni opis [1,2] Formalni opis procesiranja [1] Deterministični in nedeterministični končni avtomat [1,2] 11 6 Regularni izrazi in regularni jeziki [1,2] 12 7 Regularni jeziki in končni avtomati [1] 13 8 Didaktična aplikacija: procesiranje končnega avtomata Predstavitev okolja Adobe Flash Professional [5,6] Opis didaktične aplikacije Koda Navodila za uporabo Splošna navodila Uporaba aplikacije v Adobe Flash Player Standalone [7] Uporaba aplikacije v spletnih brskalnikih na računalniku [8] Uporaba aplikacije na napravah z operacijskim sistemom Android [9,10] Uporaba pri računalniških krožkih Zaključek Literatura Priloge 26

8 Slike 1 Kavni avtomat Končni avtomat letov med Ljubljano in Dunajem Začetno stanje Končno stanje Prehod med stanjema Diagram končnega avtomata iz zgleda Diagram končnega avtomata iz zgleda L(N) = L(r) = L(ε) = {ε} L(N) = L(r) = L( ) = L(N) = L(r) = L(x) = {x} L(r 1 + r 2 ) = L(r 1 ) L(r 2 ) L(N) = L(r 1 r 2 ) = L(r 1 )L(r 2 ) L(N) = L(r ) = L(r) Programsko okno programa Adobe Flash Professional Primer končnega avtomata v didaktični aplikaciji Shematski prikaz programske kode Uvodna stran didaktične aplikacije Prvi primer končnega avtomata v aplikaciji Tabele 1 Krajši zapis letalskih letov med Ljubljano in Dunajem Tabela prehodov med stanji končnega avtomata iz zgleda Tabela prehodov med stanji končnega avtomata iz zgleda

9 Povzetek V diplomskem delu je predstavljen formalni koncept jezika, kjer se seznanimo s pojmi, povezanimi s formalnim konceptom jezika in operacije nad jeziki. Neformalno in formalno spoznamo pojem končni avtomat ter si ogledamo podobnosti in razlike med determinističnim in nedeterminističnim končnim avtomatom. Opisan je koncept regularnega izraza in regularnega jezika, s katerim jezike, ki jih končni avtomati sprejmajo, zapišemo v pregledni in krajši obliki. V okviru diplomskega del je bila izdelana didaktična aplikacija, ki animirano ponazarja procesiranje končnega avtomata glede na vnešeno vhodno besedo. Podrobno je opisano programsko okolje aplikacije z razlago programske kode in navodili za uporabo. Naveden je tudi primer uporabe didaktične aplikacije v praksi, na primer pri računalniškem krožku. MSC (2010) klasifikacija: 68Q45. Ključne besede: končni avtomat, regularni izraz, regularni jezik, animiran prikaz procesiranja končnega avtomata.

10 Abstract In this diploma work the concept of formal language is presented, introducing the ideas related to the concept of formal language and operations over languages. Informal and formal recognition of the concept of the finite state automata is given together with the similarities and differences between deterministic and nondeterministic finite state automata. The concept of regular expression and regular language is described, enabling a transparent and shorter form at writing of the language acceptable by the finite state automata. As a part of the diploma work the didactic application illustrating the processing of the finite state automata according to the entered input word was developed. The programming environment of the application and the interpretation of the source code with instructions for its using are described in detail. An example for the usage of the application at teaching, for example in a computer club, is presented. MSC (2010) classification: 68Q45. Key words: finite state automata, regular expression, regular language, animated processing of the finite automata.

11 1 Uvod Teorija avtomatov je temeljna disciplina računalništva in predstavlja teoretično področje, ki se je začelo razvijati sredi 20. stoletja. Zaradi potreb so takrat matematiki pričeli načrtovati stroje, ki bi hitreje in zanesljivejše izvajali izračune ter celo posnemali nekatere miselne procese človeka. Beseda avtomat prihaja iz grške besede automaton, kar pomeni samodelujoč. Avtomat je abstraktni model stroja s stanji, ki se glede na vhodno besedo nad dano abecedo premika po stanjih v skladu s funkcijo prehodov med stanji. Temu rečemo procesiranje avtomata. Ko avtomat, potem ko prebere vhodno besedo in prek prehodov po stanjih obstane v končnem stanju, pravimo, da avtomat prepozna ali sprejme to vhodno besedo. Na tak način lahko z avtomatom formalno generiramo določene jezike nad abecedo. Na temo končni avtomati najdemo kar nekaj zanimive in pomembne tuje literature. Med najbolj pomembno literaturo spadajo dela Sipserja [1] ter Hopcrofta s sodelavci [2]. Iz tega področja najdemo tudi nekaj diplomskih del [3]. Vsi se zavedamo, da se računalništvo vedno bolj uveljavlja v šolstvu in marsikje vključuje tudi uporabo končnih avtomatov. V okviru diplomskega dela je bila izdelana didaktična aplikacija, ki animirano ilustrira procesiranje determinističnega končnega avtomata glede na uporabnikovo vnešeno vhodno besedo. Podobnih aplikacij oziroma programov vsaj v taki obliki - pogosto ne zasledimo. Diplomsko delo sestavlja sedem poglavij. Po uvodu je v drugem poglavju predstavljena neformalna motivacija, kjer sta za lažje razumevanje predstavljena dva primera končnega avtomata: vstavljanje in vračanje denarja kavnega avtomata ter možnih izbir letalskih letov med Ljubljan in Dunajem. V naslednjem poglavju si ogledamo formalni koncept jezika, kjer spoznamo pojme, povezane s formalnim konceptom jezika in operacije nad jeziki. V tretjem poglavju spoznamo neformalni opis in formalno definicijo končnega avtomata, v naslednjem poglavju pa si ogledamo podobnosti in razlike med determinističnim in nedeterminističnim končnim avtomatom. V petem poglavju vpeljemo koncept regularnega izraza in regularnega jezika, s katerim jezike, ki jih končni avtomat sprejema, zapišemo v pregledni in krajši obliki, v naslednjem poglavju pa to tudi dokažemo. Zadnje poglavje opisuje lastno didaktično aplikacijo, ki animirano ponazarja procesiranje končnega avtomata glede na vnešeno vhodno besedo, izdelano v okviru diplomskega dela s predstavitvijo samega programskega okolja, opisom aplikacije, razlago programske kode, navodila za uporabo in primer uporabe didaktične aplikacije v praksi, npr. pri računalniškem krožku. 1

12 2 Neformalna motivacija Predno preidemo na formalno obravnavo končnih avtomatov, si za lažje razumevanje oglejmo dva enostavna primera. Diagram na Sliki 1 prikazuje, kako kavni avtomat sprejema denar, preden izberemo kavo. Zaradi enostavnosti se dogovorimo, da imamo na voljo le kovance za 0, 10 e in 0, 20 e ter da med vstavljanem denarja lahko proces prekinemo, kavni avtomat denar pa vrne. Slika 1: Kavni avtomat. Ob vstavljanju kovancev kavni aparat natančno ve, koliko denarja je že sprejel. Krogi v diagramu ponazarjajo, koliko denarja je trenutno prejel, puščice pa ponazarjajo vstavljanje kovanca v kavni avtomat. Na začetku pred vstavljanjem kovancev, je seveda trenutno stanje denarja 0 e, vstaviti pa moramo natanko 0, 30 e ali več, da lahko nato izberemo, kakšno kavo bomo pili. Po izbiri avtomat presežeka denarja ne vrača. Ni težko uvideti, da imamo naslednje možnosti vstavljanja kovancev: 0 e 0,10 e 0,10 e 0,10 e izbira; 0 e 0,20 e 0,10 e izbira; 0 e 0,10 e 0,20 e izbira. 0 e 0,10 e 0,10 e 0,20 e izbira. 0 e 0,20 e 0,20 e izbira. Oglejmo si še primer končnega avtomata, ki ponazarja letalske poti med Ljubljano in Dunajem. Vzemimo dve letališči Ljubljano in Dunaj, kjer imamo lete iz Ljubljane na Dunaj in z Dunaja v Ljubljano ter posebne turistične lete, kjer obletimo Slovenijo z letališča Ljubljana s pristankom v Ljubljani ter turistične lete, kjer obletimo Avstrijo z letališča Dunaj s pristankom na Dunaju. Za lažjo predstavo si oglejmo Tabelo 1, kjer bomo za lete uporabili krajši zapis s simboloma 0 in 1: Tabela 1: Krajši zapis letalskih letov med Ljubljano in Dunajem. Letališče Ljubljana: Letališče Dunaj: 0 oblet Slovenije - vzlet in pristanek v Ljubljani, 1 let na Dunaj. 0 oblet Avstrije - vzlet in pristanek na Dunaju, 1 let v Ljubljano. Denimo, da lahko zgoraj naštete lete opravimo poljubno mnogokrat. Ker smo doma v Sloveniji in nam je bližje letališče Ljubljana, lete začnemo in končamo v Ljubljani. 2

13 Dogovorimo se, da je koda zaporedje simbolov in tako glede na dogovor na primer, koda opiše zaporedje letov: Ljubljana Ljubljana Ljubljana Dunaj Ljubljana Ljubljana. Slika 2: Končni avtomat letov med Ljubljano in Dunajem. Vprašajmo se, kakšno zaporedje letov nam ustraza, da začnemo in končamo pot v Ljubljani. Za lažjo predstavo si oglejmo letališča in lete s pomočjo diagrama na Sliki 2. Če začnemo v Ljubljani, imamo lahko poljubno mnogo obletov Slovenije (0), kar ustreza našemu pogoju, saj začnemo v Ljubljani in končamo v Ljubljani. Iz Ljubljane gremo lahko tudi na Dunaj (1), na Dunaju imamo lahko oblet Avstrije (0) ter let nazaj v Ljubljano (1), kar pomeni, da če letimo iz Ljubljane na Dunaj, moramo še nazaj v Ljubljano, vmes pa lahko poljubno mnogokrat obletimo Avstrijo. Lahko se tudi ponovno odpravimo na Dunaj, obletimo Avstrijo, ter vrnemo v Ljubljano, kjer lahko obletimo Slovenijo. Oglejmo si vse možnosti, ki nam ustrezajo: končno mnogo obletov Slovenije (0). To zakodiramo z zaporedjem ; končno mnogo obletov Slovenije (0) ter nato let na Dunaj in nazaj (11). To zakodiramo z zaporedjem ; končno mnogo obletov Slovenije (0), let na Dunaj, končno mnogo obletov Avstrije, ter let z Dunaja v Ljubljano. To zakodiramo z zaporedjem ; kombinacije zgornjih letov. Katere kode zadoščajo pogoju? Ni težko uvideti, da potrebujemo besedo s sodim številom enic, kar pomeni, da če že letimo iz Ljubljane na Dunaj, je potrebno leteti tudi nazaj. Teorija končnih avtomatov preučuje lastnosti matematičnega koncepta, ki smo ga na dveh preprosih zgledih zgolj ponazorili. V nadaljevanju bomo koncept končnega avtomata vpeljali tudi formalno. Koncept ni pomembem zgolj teoretično; v praksi se uporablja za procesiranje besedil v prevajalnikih, za zasnovo strojne opreme, itd. 3

14 3 Jezik [1] Predno pojem končnega avtomata vpeljemo formalno, si za začetek oglejmo pojem jezika. Jezik je temeljno sredstvo sporazumevanja. Pri ljudeh je jezik naravnega izvora, ki se je izoblikoval skozi čas, v računalništvu pa je jezik umeten, potrebno ga je strogo definirati. Naravni jezik sestavljajo besede, besede pa so tvorjene iz glasov. Za zapis besed uporabljamo abecedo, to so črke, ki so izpeljanke glasov in se jih v uporablja kot zaporedje črk za zapis besede. Podobno ravnamo pri vpeljavi formalnega jezika. Pri formalni vpeljavi jezik vpeljemo postopoma. Namesto pojma črka uporabimo izraz simbol. Formalno je abeceda končen nabor simbolov in jo običajno označimo s Σ. Beseda nad abecedo Σ pa je končno zaporedje simbolov iz abecede Σ, ki jih pišemo brez presledkov; beseda je lahko tudi prazna beseda, to je, ne vsebuje nobenega simbola. Prazno besedo označimo z ε. Zgled 1: Naj bo abeceda Σ = {0, 1}. Potem je zaporedje simbolov beseda nad abecedo Σ. Vse besede nad abecedo Σ so vsa možna končna zaporedja simbolov nad abecedo Σ. To množico nad dano abecedo Σ označimo s Σ. V množico Σ vpeljemo notranjo operacijo, ki ji rečemo konkatenacija. Konkatenacija zlepi ločene poljubno dolge besede v eno. Množica Σ je skupaj z operacijo konkatenacije polgrupa z nevtralnim elementom ε. Zgled 2: Oglejmo si primer, kjer imamo podano abecedo Σ = {a, b}, besedo w 1 = abab in besedo w 2 = abbab. S konkatenacijo besed w 1 in w 2 dobimo besedo w 1 w 2 = abababbab. Po definiciji je jezik nad abecedo Σ vsaka podmnožica L Σ. Jezik bomo na kratko označevali s črko L, ki je okrajšava za angleško besedo language. Jezik lahko podamo na vsaj dva načina, in sicer tako, da: naštejemo vse besede, ki pripadajo določenemu jeziku L, kar pa je mogoče le, kadar imamo končno mnogo besed; besede jezika L opišemo s karakteristično lastnostjo; L = {w Σ P (w)}, kjer je P predikat. Zgled 3: Imamo podano abecedo Σ = {0, 1}. Oglejmo si nekaj primerov jezikov, ki so podani s karakteristično lastnostjo: L = {w Σ w = w 1 }; pri čemer w 1 pomeni, da simbole iz besede w zapišemo v obratnem zaporedju. S tem predikatom smo definirali palindrom; L = {w Σ w vsebuje sodo število 1}, na primer: 011, 1111, ,...; L = {w Σ prvi simbol v w je 0, ostali 1}, na primer: 01, 011, 01111,... Množica vseh jezikov nad abecedo Σ je seveda kar potenčna množica P (Σ ) množice Σ. Definirajmo naslednje operacije nad jeziki iz P (Σ ). 4

15 Komplement jezika L sestavljajo natanko vse tiste besede iz Σ, ki niso vsebovane v jeziku L, torej L = Σ \ L. Unija združi besede jezika L 1 in besede jezika L 2 v en skupni jezik, to je L 1 L 2. Presek je množica besed, ki so skupne jezikoma L 1 in L 2, kar podamo kot L 1 L 2. Operacija konkatenacija dveh jezikov zlepi besedo jezika L 1 pred besedo jezika L 2 na vse možne načine, kar zapišemo Operacijo Kleenovo zaprtje definiramo kot L 1 L 2 = L 1 L 2 = {w 1 w 2 w 1 L 1, w 2 L 2 }. L = L k, k=0 kar pomeni, da besede jezika L med seboj poljubno mnogokrat konkateniramo. Za k = 0 tako dobimo besedo dolžine 0, torej prazno besedo ε, ki je vedno vsebovana v L. Zgled 4: Oglejmo si primer, kjer ponazorimo uporabo operacij nad jeziki. Imamo podano abecedo Σ = {a, b, c, d,...z, ž} in jezika L 1 = {miška, tipkovnica} ter L 2 = {tiskalnik, zaslon}. Potem je: L 1 L 2 = {miška, tipkovnica, tiskalnik, zaslon}, L 1 L 2 = { miškatiskalnik, miškazaslon, tipkovnicatiskalnik, tipkovnicazaslon} L 1 = {miška, tipkovnica, miškatipkovnica, tipkovnicamiška miškamiškatipkovnica, miškamiškatipkovnicatipkovnica,...} Potrebno je opozoriti, da je pri formalni obravnavi jezikov - vsaj v tem kontekstu - pomen besed irelevanten. 5

16 4 Končni avtomati 4.1 Neformalni opis [4] Računalnik v grobem sestavlja procesna enota, ki izvaja logične in računske operacije, pomnilniška enota ter vhodno/izhodno enota. To so bistvene komponente, ostale lahko pustimo ob strani, saj bomo tako lažje uvideli podobnost med računalnikom in končnim avtomatom. Končni avtomat sestavlja centralna procesna enota brez internega pomnilnika, zunanji pomnilnik, ki je kar trak, na katerem je zapisana beseda nad abecedo Σ, ter bralna glava, ki sekvenčno bere vsakič po en simbol dane besede na traku. Procesno enoto sestavljajo stanja in kazalec na stanja; eno od stanj je začetno stanje, nekatera pa so končna stanja. Kazalec stanj se premika glede na simbol, ki ga prebere bralna glava. Če se kazalec z začetega stanja po branju vhodne besede prestavi na končno stanje, pravimo, da avtomat prepozna vhodno besedo in jo sprejme. Jezik avtomata so natanko vse tiste besede nad abecedo Σ, ki jih avtomat sprejme. 4.2 Formalni opis [1,2] Za natančno matematično analizo končnih avtomatov potrebujemo formalno definicijo. Formalno je končni avtomat urejena peterica pri čemer je: Q - množica stanj, Σ - abeceda, s Q - začetno stanje, M = {Q, Σ, δ, s, F }, F Q - neprazna množica končnih stanj, δ - funkcija prehodov med stanji, δ : Q Σ Q. Funkcijo prehodov med stanji lahko predstavimo v obliki tabele. Bolj nazorno avtomat predstavimo v obliki diagrama, pri čemer so stanja narisana kot krogi, prehodi med stanji pa kot usmerjene povezave med stanji. Posebej so označeni začetno in končna stanja. 6

17 Natančneje: krog s širšo puščico nanj označuje začetno stanje (Slika 3); Slika 3: Začetno stanje. krog s posebno obrobo, označuje končno stanje (Slika 4); Slika 4: Končno stanje. funkcija prehodov je upodobljena kot usmerjena povezava s pripadajočo oznako, pomen pa je naslednji: če je avtomat v trenutnem stanju q in prebere bralna glava simbol x, se v naslednjem koraku prestavi v stanje δ(q, x) (Slika 5). Slika 5: Prehod med stanjema. Zgled 5: Formalno definirajmo končni avtomat letov med Ljubljano in Dunajem. Q = {q 0, q 1 }; kjer stanje q 0 označuje stanje Ljubljana, q 1 pa predstavlja stanje Dunaj. Σ = {0, 1}; v vsakem stanju imamo dva različna leta, z 0 smo označili oblet države, z 1 pa let v drugo državo. s = {q 0 }; po dogovoru je začetno stanje, kjer se začnejo izvajati leti, stanje Ljubljana. F = {q 0 }; po dogovoru je končno stanje, kjer se končajo leti, stanje Ljubljana. Funkcija prehodov δ med stanji je glede na stanje in prebrani simbol upodobljena v spodnji tabeli. 7

18 Tabela 2: Tabela prehodov med stanji končnega avtomata iz zgleda 5. q n Q x Σ δ(q, x) q 0 0 q 0 q 0 1 q 1 q 1 0 q 1 q 1 1 q 0 Prikaz tega končnega avtomata v obliki diagrama stanj je predstavljen na Sliki 6. Slika 6: Diagram končnega avtomata iz zgleda 5. Na nekaj primerih vhodnih besed si oglejmo, kako končni avtomat deluje. Puščica s simbolom nad njo ( ) x ponazarja trenutni prebrani simbol bralne glave in prehod v naslednjo stanje. Na primer: : q 0 0 q 0 0 q 0 1 q 1 0 q 1 1 q 0 ; to besedo naš končni avtomat sprejme; : q 0 1 q 1 0 q 1 0 q 1 0 q 1 0 q 1 1 q 0 ; to besedo naš končni avtomat sprejme; 010 : q 0 0 q 0 1 q 1 0 q 1 ; te besede naš končni avtomat ne sprejme, saj po prehodih, glede na vhodno besedo, ne obstane v končnem stanju; : q 0 0 q 0 1 q 1 1 q 0 0 q 0 1 q 1 0 q 1 1 q 0 ; to besedo naš končni avtomat sprejme. Razvidno je, da zgornji avtomat sprejme natanko vse tiste besede, ki vsebujejo sodo število enic, se pravi L(M) = {w Σ = {0, 1} sodo mnogo pojavitev simbola 1 v besedi w}. 8

19 Zgled 6: Oglejmo si diagram prikazan na Sliki 7, ki predstavlja končni avtomat M. Slika 7: Diagram končnega avtomata iz zgleda 6. Na diagramu na Sliki 7 lahko razberemo vse sestavne elemente končnega avtomata M. Torej imamo: množico stanj Q = {q 0, q 1, q 2, q 3, q 4 }, abecedo Σ = {1, 0}, začetno stanje s = {q 0 }, množico končnih stanj F = {q 1, q 2 }, in funkcijo prehodov δ : Q Σ Q. V Tabeli 3 so zbrane njene vrednosti glede na stanje in prebrani simbol. Tabela 3: Tabela prehodov med stanji končnega avtomata iz zgleda 6. q n Q x Σ δ(q, x) q 0 0 q 2 q 0 1 q 1 q 1 0 q 3 q 1 1 q 1 q 2 0 q 2 q 2 1 q 4 q 3 0 q 3 q 3 1 q 1 q 4 0 q 2 q 4 1 q 4 Na nekaj primerih vhodnih besed si oglejmo delovanje tega končnega avtomata. Kot smo že povedali v prejšnjem zgledu, puščica s simbolom nad njo ( x ) ponazarja trenutni prebrani simbol bralne glave in prehod v naslednjo stanje. 101 : q 0 1 q 1 0 q 3 1 q 1 ; to besedo naš končni avtomat sprejme : q 0 0 q 2 1 q 4 1 q 4 1 q 4 ; te besede končni avtomat ne sprejme, saj ne obstane v končnem stanju. 9

20 01010 : q 0 0 q 2 1 q 4 0 q 2 1 q 4 0 q 2 ; to besedo naš končni avtomat sprejme : q 0 1 q 1 1 q 1 1 q 1 0 q 3 ; te besede končni avtomat ne sprejme, saj ne obstane v končnem stanju q 1 ali q : q 0 0 q 2 1 q 4 0 q 2 0 q 2 1 q 4 0 q 2 ; to besedo končni avtomat sprejme, saj obstane v končnem stanju q 2. Na podlagi zgornjih primerov in diagrama lahko uvidimo, da podani končni avtomat sprejema besede, ki se začnejo in končajo z istim simbolom. Torej L(M) = {w Σ = {0, 1}, enak prvi in zadnji simbol v besedi w}. 4.3 Formalni opis procesiranja [1] V podpoglavju 2.2 smo spoznali neformalni opis procesiranja končnega avtomata. To bomo sedaj tudi matematično formulirali. Naj bo M = (Q, Σ, δ, s, F ) končni avtomat, pri čemer je začetno stanje s = q 0. Naj bo w = w 1 w 2...w n vhodna beseda nad dano abecedo Σ. Končni avtomat M sprejme besedo w, če obstaja tako zaporedje stanj p 0, p 1,..., p n v Q, za katere velja: 1. p 0 = q 0, 2. δ(p i, w i+1 ) = p i+1, za i = 0, 1,..., n 1 in 3. p n F. 1. pogoj nam pove, da končni avtomat začne procesirati vhodno besedo v začetnem stanju. 2. pogoj nam pove, da končni avtomat prehaja med stanji glede na dano funkcijo prehodov δ med stanji. Pri 3. pogoju se zahteva, da končni avtomat sprejme vhodno besedo le v primeru, če obstane v končnem stanju oziroma je zadnji prehod med stanji prehod v končno stanje. Pravimo, da končni avtomat M prepozna jezik L, če je L = {w M sprejme w}. Spoznali smo formalni opis procesiranja končnega avtomata. Sedaj lahko povemo nekaj o ekvivalenci končnih avtomatov. Denimo, da imamo dva končna avtomata M 1 = {Q 1, Σ, δ 1, s 1, F 1 } in M 2 {Q 2, Σ, δ 2, s 2, F 2 }, ki se v abecedi Σ ne razlikujeta, razlikujeta pa se lahko v drugih elementih urejene peterice, na primer v množici stanj oziroma v funkciji prehodov med stanji. Če končni avtomat M 1 sprejema isti jezik kot končni avtomat M 2, pravimo, da sta končna avtomata ekvivalentna. Ekvivalentnost označimo s simbolom. Simbolni zapis ekvivaletnosti končnih avtomatov M 1 in M 2 je tedaj M 1 M 2. 10

21 5 Deterministični in nedeterministični končni avtomat [1,2] Do sedaj smo obravnavali končne avtomate, ki jim bolj natančno pravimo deterministični končni avtomati (M). Deterministični končni avtomat smo v 4. poglavju formalno definirali kot urejeno peterico M = {Q, Σ, δ, s, F }. Tudi nedeterministični končni avtomat (N) je formalno definiran kot urejena peterica N = {Q, Σ, δ, s, F }. Bistvena razlika med njima se pojavi pri funkciji prehodov med stanji. Pri determinističnem končnem avtomatu je funkcija prehodov med stanji opredeljena kot δ : Q Σ Q, kar pomeni, da se v trenutnem stanju in prebranem vhodnem simbolu avtomat prestavi v natačno določeno naslednje stanje. Pri nedeterminističnem končnem avtomatu pa je funkcija prehodov med stanji drugačna: definirana je kot δ : Q Σ ε P (Q). Kaj pravzaprav to pomeni? P (Q) predstavlja potenčno množico množice stanj oziroma vse možne podmnožice množice stanj. Tako lahko rečemo, da se na podlagi trenutnega stanja in prebranega simbola avtomat prestavi v enega izmed možnih stanj, ki je vsebovano v podmnožici δ(q, x) P (Q). Poleg tega pa deterministični končni avtomat ne omogoča prehrajanja med stanji v primeru, ko je prebrana beseda prazna beseda ε, to je, da prehod ni možen, ne da bi avtomat dejansko prebral nek simbol. Nedeterministični avtomat pa to dovoljuje; takim prehodom pravimo tihi prehodi. Formalno to dopustimo s tem, da abecedo Σ razširimo s prazno besedo ε, se pravi Σ ε = Σ {ε}. Formalno lahko pokažemo, da deterministični in nedeterministični končni avtomati sprejemajo isti razred jezikov, kljub temu, da se na prvi pogledi zdi, da so nedeterministični končni avtomati močnejših zaradi širše funkcije prehodov in bi zato morda lahko sprejemali večji razred jezikov. Uporabnost ekvivaletnosti determinističnih in nedeterminističnih končnih avtomatov je v tem, da je za določeni jezik lažje skonstruirati nedeterministični končni avtomat kot determinističnega. Izrek: Za vsak nedeterministični končni avtomat obstaja ekvivalentni deterministični končni avtomat. Dokaz lahko najdemo v literaturi [1] in [2]. V nadaljevanju si poglejmo, kako lahko jezike, ki jih sprejema končni avtomat, zapišemo v pregledni krajši obliki. V naslednjem poglavju si bomo v ta namen ogledali koncept regularnega izraza. 11

22 6 Regularni izrazi in regularni jeziki [1,2] Definirajmo najprej regularne izraze. Neformalno je regularni izraz niz simbolov, ki opisuje besede pripadajočega regularnega jezika v skladu s sintaktičnimi pravili. Množico regularnih izrazov Reg(Σ) nad abecedo Σ in pripadajočih regularnih jezikov definiramo rekurzivno na naslednji način: 1. Regularni izraz definira regularni jezik L( ) =, regularni izraz ε pa regularni jezik L(ε) = {ε}. 2. Naj bo a Σ. Potem je a Reg(Σ) regularni izraz, ki definira regularni jezik L(a) = {a}. 3. Če sta r 1 Reg(Σ) in r 2 Reg(Σ) regularna izraza, potem je tudi njuna konkatenacija r 1 r 2 Reg(Σ) regularni izraz; jezik, ki mu pripada, pa je konkatenacija jezikov, ki pripadata regularnima izrazoma r 1 in r 2, to je, L(r 1 r 2 ) = L(r 1 )L(r 2 ). 4. Če sta r 1 Reg(Σ) in r 2 Reg(Σ) regularna izraza, potem je r 1 + r 2 Reg(Σ) prav tako regularni izraz; jezik, ki mu pripada, pa je L(r 1 + r 2 ) = L(r 1 ) L(r 2 ), torej unija regularnih jezikov, ki pripadata izrazoma r 1 in r Če je r Reg(Σ) regularni izraz, potem je njegov Kleenovo zaprtje r Reg(Σ) danega regularnega izraza tudi regularni izraz, ki mu pripada ustrezeno Kleenovo zaprtje jezika L(r), torej L(r ) = L(r). 6. Regularni izrazi so natanko tiste besede nad razširjeno abecedo Σ {+,,, (, )}, ki jih iz 1. in 2. točke izpeljemo po 3., 4. in 5. pravilu. Zaradi enostavnejšega zapisa se dogovorimo za prioritetni vrstni red operacij. Operacija z najvišjo prioriteto je operacija Kleenovo zaprtje, sledi konkatenacija in nato unija. Zgled 7: Naj bo podana abeceda Σ = {0, 1}. Na konkretnem zgledu si oglejmo, kako besede danega regularnega jezika opišemo v obliki regularnih izrazov: regularni jezik, ki vsebuje vse besede nad abecedo Σ, zapišemo z regularnim izrazom (0 + 1) ; regularni jezik vseh tistih besed abecede Σ, ki se zaključijo s tremi enicami, zapišemo z regularnim izrazom (0 + 1) 111; regularni jezik, ki vsebuje besede nad abecedo Σ z največ eno enico, zapišemo z regularnim izrazom regularni jezik vseh besed nad abecedo Σ, ki vsebujejo podniz 11, zapišemo z regularnim izrazom (0 + 1) 11(0 + 1). V naslednjem poglavju bomo dokazali, da razred regularnih jezikov sovpada z razredom jezikov končnih avtomatov. 12

23 7 Regularni jeziki in končni avtomati [1] V tem poglavju bomo dokazali, da regularni izrazi in končni avtomati opisujejo isti razred jezikov, namreč razred regularnih jezikov. Natančneje, za vsak regularni izraz obstaja tak končni avtomat, ki sprejema jezik regularnega izraza in obratno. V ta namen bomo dokazali tri leme. Lema 1: Za vsak regularni izraz r nad abecedo Σ obstaja tak deterministični končni avtomat M nad abecedo Σ, da je jezik avtomata enak jeziku danega regularnega izraza, L(M) = L(r). Dokaz. Naj bo r neki reguralni izraz. Konstruirali bomo nedeterministični končni avtomat N, katerega jezik L(N) je natanko regularni jezik L(r) regularnega izraza r. Avtomat zgradimo postopno. 1. Naj bo r =ε. Nedeterministični končni avtomat N, katerega jezik je L(N) = L(r) = L(ε) = {ε} prikazuje Slika 8. Slika 8: L(N) = L(r) = L(ε) = {ε}. 2. Naj bo r =. Nedeterministični končni avtomat N, katerega jezik je L(N) = L(r) = L( ) =, je podan na Sliki 9. Slika 9: L(N) = L(r) = L( ) =. 3. Naj bo r =x, pri čemer je x simbol iz abecede Σ. Nedeterministični končni avtomat N, katerega jezik je L(N) = L(r) = L(x) = {x}, je shematsko prikazan na Sliki 10. Slika 10: L(N) = L(r) = L(x) = {x}. 13

24 Ker so regularni izrazi definirani rekurzivno, bomo v tem smislu konstruirali tudi pripadajoče končne avtomate. 4. Naj bo r = r 1 + r 2, pri čemer induktivno predpostavljamo, da smo že skontruirali nedeterministična avtomata N 1 in N 2, za katera velja L(N 1 ) = L(r 1 ) in L(N 2 ) = L(r 2 ). Končni avtomat N, katerega jezik L(N) je enak L(r 1 + r 2 ) = L(r 1 ) L(r 2 ), je shematično prikazan na Sliki 11. Slika 11: L(r 1 + r 2 ) = L(r 1 ) L(r 2 ). Pri tem so končna stanja avtomata N enaka uniji končnih stanj F 1 in F 2 avtomatov N 1 in N Naj bo r = r 1 r 2, pri čemer induktivno predpostavljamo, da smo že skonstruirali nedeterministična avtomata N 1 in N 2, ki sprejemata jezika L(N 1 ) = L(r 1 ) in L(N 2 ) = L(r 2 ). Končni avtomat N, katerega jezik L(N) je enak L(r 1 r 2 ) = L(r 1 )L(r 2 ), je shematsko podan na Sliki 12. Slika 12: L(N) = L(r 1 r 2 ) = L(r 1 )L(r 2 ) Končna stanja avtomata N so natanko končna stanja avtomata N 2, kjer N pride v začetno stanje avtomata N 2 posredno preko končnih stanj avtomata N 1. 14

25 6. Naj bo r = r 1 in N 1 nedeterministični končni avtomat, katerega jezik je natančno enak jeziku regularnega izraza r 1, to je L(N 1 ) = L(r 1 ). Končni avtomat N, za katerega je jezik avtomata L(N) enak L(r ) = L(r), je shematično prikazan na Sliki 13. Slika 13: L(N) = L(r ) = L(r) Množica novih končnih stanj je unija končnih stanj F 1 avtomata N 1 in novega začetnega stanja s. Tako smo pokazali, da za vsak regularni izraz obstaja tak avtomat, da je jezik avtomata enak jeziku danega regularnega izraza. Predno preidemo na naslednjo lemo, definirajmo tako imenovani generalizirani nedeterministični končni avtomat. Generalizirani nedeterministični končni avtomat je formalno definiran kot urejena peterica G = {Q, Σ, δ, q start, q accept }, pri čemer je Q množica stanj, Σ abeceda končnega avtomata, q start začetno stanje, q accept končno stanje in δ funkcija prehodov med stanji. Funkcija prehodov je tu definirana nekoliko drugače kot pri končnih avtomatih. Bistvena razlika je v tem, da lahko avtomat spremeni stanje - kar grafično ponazorimo z usmerjeno povezavo - z branjem ne zgolj posameznih simbolov, temveč nekega regularnega izraza. Poleg tega pa je funkcija definirana na vseh stanjih s to izjemo, da nobena usmerjena povezava ne vodi v stanje q start, iz stanja q accept pa ne izhaja nobena usmerjena povezava. Formalno, funkcija prehodov je funkcija δ : (Q {q accept }) (Q {q start }) R, kjer je R množica vseh regularnih izrazov nad abecedo Σ. Vrednost prehodne funkcije δ(q i, q j ) = R med stanjema q i in q j, ponazorimo z usmerjeno povezavo od stanja q i do stanja q j, ki jo označimo z regularnim izrazom R. Oglejmo si še procesiranje takega avtomata. Avtomat sprejme besedo w = w 1 w 2 w 3...w n Σ, če obstaja zaporedje stanj p 0, p 1,..., p n, za katero velja: 1. p 0 = q start je začetno stanje, 2. p k = q accept je končno stanje in, 3. za vsak indeks i velja w i L(R i ), kjer je R i = δ(p i 1, p i ). 15

26 Lema 2: Naj bo G = {Q, Σ, δ, q start, q accept } generalizirani nedeterministični končni avtomat z več kot dvema stanjema. Potem postopek POENOSTAVI(G), ki je zapisan spodaj, prevede dani avtomat G na ekvivalentni avtomat G, ki ima eno stanje manj. Postopek POENOSTAVI(G) Generalizirani nedeterministični končni avtomat G = {Q, Σ, δ, q start, q accept } naj ima k stanj. if k > 2 then poljubno izberi neko stanje q temp Q, ki je različno od začetnega stanja q start in končnega stanja q accept. Naj bo G generalizirani nedeterministični končni avtomat {Q, Σ, δ, q start, q accept }, pri čemer je množica stanj Q = Q {q temp }, za vsak q i Q {q accept } in vsak q j Q {q start } pa naj bo δ (q i, q j ) = (R 1 )(R 2 ) (R 3 ) + (R 4 ), kjer je R 1 = δ(q i, q temp ), R 2 = δ(q temp, q temp ), R 3 = δ(q temp, q j ) in R 4 = δ(q i, q j ). return G end if Dokaz. Po izvedenem postopku POENOSTAVI(G) ima avtomat G eno stanje manj kot G. Pokazali bomo, da G in G = POENOSTAVI( G) sprejemata isti jezik. Denimo, da G sprejme besedo w. Naj bo p 0 = q start, p 1, p 2, p 3,...p n = q accept ustrezno zaporedje stanj, ki ga dobimo s procesiranjem besede w. Če v zaporedju ni stanja q temp, potem G očitno sprejme besedo w. Razlog je v tem, da vsak novi regularni izraz δ (q i, q j ) nad usmerjeno povezavo v G vsebuje stari regularni izraz δ(q i, q j ) kot sumand. Če se q temp pojavi v zaporedju, potem se tvori novi regularni izraz, na primer med stanjema q i in q j, ki opisuje prehode od q i do q j preko q temp. Torej G sprejme besedo w tudi v tem primeru. Dokažimo še obratno. Denimo, da G sprejme besedo w. Za vsako usmerjeno povezavo med stanjema q i in q j v G regularni izraz opisuje besede, ki vodijo od q i do q j v G bodisi neposredno, bodisi preko stanja q temp, zato mora tudi G sprejeti besedo w. Sledi, da sta avtomata G in G ekvivalentna. Lema 3: Za vsak avtomat M nad abecedo Σ obstaja tak regularni izraz r nad abecedo Σ, da je L(M) = L(r). Dokaz. Najprej pokažemo, da deterministični končni avtomat M lahko prevedemo na ekvivalenten generalizirani nedeterministični končni avtomat G, nato pa bomo jezik tega generaliziranega avtomata prevedli v regulareni izraz. 16

27 Prevedba je enostavna: dodamo novo začetno in novo končno stanje ter ustrezno priredimo funkcijo prehodov med stanji: Iz stanja q start dodamo usmerjeno povezavo z oznako ε do vseh ostalih stanj, z izjemo do q accept, torej δ(q start, q) = ε, za vse q Q\q accept. Iz vseh stanj, z izjemo q start, dodamo usmerjno povezavo z oznako ε do končnega stanja q accept, to je δ(q, q accept ) = ε, za vse q Q\q start. Če nad dana stanjema avtomata M ni prehoda, dodamo usmerjeno povezavo z oznako, torej δ(q i, q j ) =, vsi ostali prehodi med stanji pa ostanejo enaki; δ(q i, x) = q j postane δ(q i, q j ) = x. Očitno je avtomat G ekvivaleten danemu avtomatu M. Z rekurzivni klicem postopka POENOSTAVI(G) iz Leme 2 dobimo avtomat z dvema stanjema. Tako lahko razberemo reguralni izraz R, saj imamo le eno usmerjeno povezavo, ki vodi od začetnega stanja do končnega stanja. Regularni izraz, označen na usmerjeni povezavi, opisuje vse besede, ki jih avtomat G in tudi avtomat M sprejema. Postopek PREVEDI(G) A = G if k = 2 then return R else while k > 2 do A = POENOSTAVI(A) k = k 1 end while end if Z prevedbo generaliziranega nedeterminističnega končnega avtomata v regularni izraz smo s pomočjo postopka POENOSTAVI(G) in PREVEDI(G) pokazali, da za vsak avtomat M obstaja nek regularni izraz, da je L(M) = L(r). Z dokazi zgornjih treh lem smo dokazali naslednji pomemben izrek. Izrek: Regularni izrazi in končni avtomati generirajo isti razred jezikov, namreč razred regularnih jezikov. V naslednjem poglavju sledi opis lastne didaktične aplikacije, ki ponazarja procesiranje končnega avtomata. Aplikacija je izdelana za platformo Adobe Flash. Poleg opisa didaktične aplikacije je tudi na kratko predstavljeno programsko okolje, koda, navodila za uporabo in primer uporabe aplikacije pri računalniškem krožku. 17

28 8 Didaktična aplikacija: procesiranje končnega avtomata 8.1 Predstavitev okolja Adobe Flash Professional [5,6] Adobe Flash Professional je program za kreiranje programske vsebine, ki jo je mogoče izvajati na platformi imenovani Adobe Flash. Adobe Flash, krajše Flash, je multimedijska programska platforma, ki nam omogoča prikaz grafike, animacij, spletnih iger, videov in aplikacij v Flash predvajalniku, ki se mu angleško reče Adobe Flash Player. Flash, naprej imenovan FutureSplash, je bil razvit sredi devetdesetih v podjetju FutureWave zaradi potreb programa SmartSketch v okolju PenOS. S pretvorbo na operacijska sistema Microsoft Windows in Mac OS so opazili ogromen potencial FutureSplasha. Nato je FutureSplash prišel pod okrilje podjetja Macromedia, ki je v platformo implementiral programski jezik JavaScript in kasneje tudi ActionScript. Leta 2005 pa je podjetje Adobe, svetovno znani razvijalec programske opreme, odkupil celotno podjetje Macromedia, z vsemi produkti, tudi FutureSplash Animator, ki je predhodnik današnjega Adobe Flash Professional. Podjetje Adobe je današnji lastnik in razvijalec Adobe Flash in Adobe Flash Professional. Adobe Flash Professional omogoča programiranje v treh programskih jezikih, ki jih podpira Flash, namreč v JavaScript, HTML5 Canvas in ActionScript 3. Programski jezik ActionScript 3, ki je implementiran v Adobe Flash Professional, omogoča kreiranje interaktivnih aplikacij preko vhodno-izhodnih naprav v Flashu. ActionScript 3 je objektno orientiran programski jezik. Omogoča manipuliranje 2D ali 3D objekov, ki jih naredimo sami v programu ali uvozimo in mu pripišemo skripte v programskem jeziku. Na razvoj ActionScripta sta močno vplivala programska jezika JavaScript in ECMA, kjer lahko najdemo sintaktične podobnosti. Ko odpremo program Adobe Flash Professional imamo najprej možnost izbire programskega jezika, s katerim želimo izdelovati projekt. Nato se pojavi programsko okno, ki ga prikazuje Slika 14. Programsko okno sestavlja zaslon, na katerem bomo oblikovali aplikacijo, časovnico oziroma timeline, orodje za oblikovanje gradnikov ter knjižnico narejenih ali uvoženih gradnikov. Vsak gradnik, ki mu želimo pripisati kodo, moramo pretvoriti v Symbol oziroma objekt in mu šele takrat lahko dodamo kodo v izbranem programskem jeziku. Gradnike lahko oblikuje sami v programu prek orodij za oblikovanje ali pa jih uvozimo iz drugih programov, vendar mora uvoz gradnikov Adobe Flash Professional podpirati. Adobe Flash Professional samostojno ponuja velik nabor različnih knjižnic. Ena najbolj zanimivih je knjižnica Tween, kjer lahko objektom s programsko kodo sprogramiramo želeno animacijo objekta. Knjižnica Tween omogoča naslednje vrst animacije na objektih: prikaz oziroma skrivanje objektov, premikanje objektov, rotiranje objektov, ukrivljanje objektov, 18

29 povečanje oziroma zmanjšanje objektov, barvne efekte objektov in nekatere specialne filtre. Slika 14: Programsko okno programa Adobe Flash Professional. V delu je bila uporabljena verzija Adobe Flash Professional CC (14.1). 19

30 8.2 Opis didaktične aplikacije Izdelana didaktična aplikacija animirano ilustrira procesiranje determinističnega končnega avtomata glede na uporabnikovo vnešeno vhodno besedo (Slika 15). Uporabnik vnese vhodno besedo s pomočjo označenih gumbov simbolov, nato pritisne gumb za zagon procesiranja; v naslednjem koraku se animirano prikazujejo stanja in prehodi med stanji, v zeleni barvi, glede na vhodno besedo. Po koncu procesiranja se na ekranu izpiše, ali je vhodna beseda sprejeta ali ne, kar napelje na koncept jezika končnega avtomata. Aplikacija vsebuje pet v naprej določenih primerov končnega avtomata. Na podlagi vnašanja različnih besed lahko uporabnik poskuša ugotoviti, katere besede oziroma kateri jezik sprejema prikazani avtomat. Slika 15: Primer končnega avtomata v didaktični aplikaciji. 8.3 Koda Oglejmo si opis programske kode didaktične aplikacije, ki je za lažje razumevanje prikazan na Sliki 16. Slika 16: Shematski prikaz programske kode Pred uporabo aplikacije je potrebno pripraviti določene podatke. Za vsak končni avtomat posebej se ob zagonu definira dvodimenzionalna tabela prehodov med stanji, animacije 20

31 oziroma tweeni posameznih objektov (usmerjene povezave in stanja) in inicializacija vhodne besede. Ko aplikacija pripravi potrebne elemente je pripravljena za uporabo oziroma za vnos vhodne besede. Vhodno besedo se vnese preko gumbov simbolov; s pritiskom na gumb ZAGON se začne vhodna beseda procesirati. Glede na začetno stanje, tabelo prehodov med stanji in vhodno besedo se polni tabela tweenov v zaporedju glede na vhodno besedo. Tabela prehodov med stanji je dvodimenzionalna tabela, kjer je vsaka celica označena z dvema indeksoma. V tem primeru prvi indeks predstavlja trenutno stanje, drugi indeks predstavlja prebrani simbol, sama vrednost celice pa predstavlja prehod v naslednjo stanje. V skladu s tabelo prehodov in vhodno besedo se polni enodimenzionalna tabela tweenov, ki je sestavljena iz animacij oziroma tweenov posameznih objektov. Nato se začnejo izvajati animacije iz tabele tweenov v zaporednem vrstne redu. V primeru, da je objekt zadnje animacije končno stanje, je vnešena vhodna beseda sprejeta; v primeru, da objekt zadnje animacije ni končno stanje, vnešena vhodna beseda ni sprejeta. 8.4 Navodila za uporabo Splošna navodila Ko odpremo didaktično aplikacijo, se najprej pojavi uvodna stran (Sliki 17). Slika 17: Uvodna stran didaktične aplikacije. S pritiskom na gumb VSTOP pridemo že do prvega podanega avtomata (Sliki 18). Vnašanje vhodne besede je pri vseh avtomatih enako. Vhodne besede vnesemo s poljubnim številom pritiskov na gumbe simbolov abecede, ki so na spodnjem delu zaslona (na primer simbola 0 in 1). Procesiranje vhodne besede pa zaženemo z gumbom ZAGON poleg gumbov simbolov. Ko vnesemo vhodno besedo in pritisnemo gumb ZAGON, se procesiranje vhodne besede začne animirano izvajati. Ko dani končni avtomat zaključi s procesiranjem, se v zgornjem delu izpiše, ali je vhodna beseda sprejeta ali ne. Ker aplikacija vsebuje več različnih končnih avtomatov sta v kotih spodnjega dela zaslona dve puščici, s katerimi lahko prehajamo med končnimi avtomati. Izhod aplikacije je omogočen preko gumba IZHOD v zgornjem desnem kotu zaslona. 21

32 Slika 18: Prvi primer končnega avtomata v aplikaciji Uporaba aplikacije v Adobe Flash Player Standalone [7] Adobe Flash Player najdemo na spletni strani flashplayer.html. Zelo pomembno je, da prenesemo na svoj računalnik Adobe Flash Player verzije Standalone. Za zagon Adobe Flash Player Standalone ne potrebujemo dodatnih priprav in namestitev. Ko odpremo Flash Player Standalone se predvajalnika pojavi na začetni strani, kjer moramo odpreti še.swf datoteko. To naredimo tako, da zgoraj v zavihku File kliknemo Open in vnesemo ali poiščemo pot.swf datoteke. Z odprtjem.swf datoteke se aplikacija zažene in pojavi na uvodni strani. Na gumbe aplikacije klikamo s pomočjo miške Uporaba aplikacije v spletnih brskalnikih na računalniku [8] Za uporabo aplikacije v spletnem brskalniku potrebujemo specifično verzijo Adobe Flash Playera, ki natanko pripada operacijskemu sistemu in spletnemu brskalniku, ki ga uporabljamo. Na spletni strani izberemo operacijski sistem in spletni brskalnik in prenesemo datoteko za namestitev programa na svoj računalnik. Adobe Flash Player namestimo in.swf datoteko odpremo s pomočjo spletnega brskalnika. Aplikacija se zažene in pojaviti na uvodni strani aplikacije. Potrebno je opozoriti, da gumb IZHOD pri uporabi aplikacije preko brskalnikov ne deluje. Na gumbe aplikacije klikamo s pomočjo miške Uporaba aplikacije na napravah z operacijskim sistemom Android [9,10] Za uporabo aplikacije na napravah z operacijskim sistemom Android potrebujemo dve dodatni aplikaciji, ki ju najdemo na Google Play Store: 1. Adobe Air - dostopno na spletnem naslovu 22

33 2. SWF Player - dostopno na spletnem naslovu sl, Predno namestimo dodatni aplikaciji na napravo, moramo najprej prenesti.swf datoteko in nato namestimo obe dodatni aplikaciji. Aplikacije Adobe Air ne bomo neposredno uporabljali, vendar jo potrebujemo, da bo aplikacija SWF Player delovala in bo zmožna poganjati.swf datoteke. Zaženemo aplikacijo SWF Player in izberemo.swf datoteko, kamor smo jo prenesli na napravo; aplikacija se zažene in se pojavi na uvodni strani. Za uporabo gumbov v aplikaciji uporabljamo prstni dotik. 8.5 Uporaba pri računalniških krožkih V podpoglavju 2.3 smo spoznali formalni opis procesiranja končnega avtomata. Na podlagi vhodne besede w = w 1 w 2...w n, ki jo končni avtomat bere sekvenčno (vsakič po en simbol) in funkcije prehodov δ med stanji, končni avtomat prehaja med stanji v zaporedju p 0, p 1,..., p n. Zaporedje stanj in prehode med njimi lahko grafično nazorno predstavimo s pomočjo diagrama stanj in prehodov ter tako lažje ponazorimo, kako procesiranje končnega avtomata poteka, pri čemer lahko uporabimo didaktično aplikacijo, ki je bila izdelana v okviru diplomskega dela. Aplikacija deluje tako, da uporabnik vnese poljubno vhodno besedo za podan diagram končnega avtomata; zaporedje stanj se izvrši sekvenčno in animirano, tako lahko delovanje končnega avtomata razumemo brez kakršnekoli formalne vpeljave. Za podane končne avtomate v aplikaciji skušamo ugotoviti, katere besede sprejemajo, kar nas pripelje do elementov koncepta jezika: abeceda, beseda in jezik. S pomočjo aplikacije so elementi jezika bolj poudarjeni in v tem primeru tudi učni cilj računalniškega krožka. Priporočljivo je, da aplikacijo vsak udeleženec računalniškega krožka uporablja samostojno, torej, da ima vsak svoj računalnik oziroma tablico. Potek računalniškega krožka si lahko zamislimo na več načinov: naprej formalna obravnava koncepta jezika, nato uporaba didaktične aplikacije; najprej uporaba didaktične aplikacije in nato formalna obravnava jezika; formalna obravnava končnega avtomata, sledi uporaba aplikacije in nato formalna obravnava jezika; formalna obravnava končnega avtomata in koncepta jezika ter uporaba didaktične aplikacije za domačo nalogo. Pojme koncepta jezika obravnavamo v smeri abeceda beseda jezik; ali v obratnem vrstnem redu: jezik beseda abeceda. Te tri pojme je priporočljivo vpeljati kar preko slovenskega jezika z vprašanji, kot na primer: Kaj je abeceda slovenskega jezika? Iz česa so sestavljene besede? Kakšna je razlika med slovenskim in angleškim jezikom? 23

34 Koncepte, kot so unija, konkatenacija ali Kleenovo zaprtje, je priporočljivo pri začetni obravnavi opustiti, saj niso ključni za razumevanje. V primeru, da jih želimo vpeljati, bi lahko matematične izraze nadomestili s posplošenimi pomeni, na primer operacijo konkatenacija bi lahko pripisali ukaz zlepi, operaciji Kleenovo zaprtje pa ponavljaj. Nato sledi uporaba didaktične aplikacije, kjer najprej razložimo pomen usmerjenih povezav in stanj. Priporočljivo je, da se pred uporabo učencem poudari, da se sklop narisanih usmerjenih povezav in stanj v aplikaciji imenuje končni avtomat. Sledila bi samostojna uporaba aplikacije, kjer bi učencem zadali nalogo, naj za Diagram 1, prikazan v aplikaciji (Slika 18), skušajo ugotoviti, katere besede sprejema podan končni avtomat. Način ugotavljanja ni važen. Ko imajo manjšo zbirko besed jih lahko vprašamo po abecedi sprejetih besed in kako bi lahko te besede posplošeno opisali ter tako prišli do jezika, ki ga sestavljajo zbrane besede. V primeru končnega avtomata pri Diagramu 1 jezik sestavljajo besede s sodim številom enic. Ob koncu učne enote je pomembno poudariti, da množico besed, ki jih končni avtomat sprejme, imenujemo jezik končnega avtomata. Prav tako opozorimo, da se postopek, s katerim smo iskali besede imenuje procesiranje končnega avtomata. Za domačo nalogo učenci lahko poiščejo jezike končnih avtomatov za ostale avtomate, podane v aplikaciji. Pri drugem načinu je potek ure računalniškega krožka skoraj v obratnem vrstnem redu. Vsak učenec samostojno zažene aplikacijo, kjer najprej razložimo uporabo in samostojno skuša ugotoviti, katere besede sprejema za podani končni avtomat Diagram 1. Sprejete besede si učenci zapisujejo na ločen list. Ko imajo manjšo zbirko besed jih izzovemo, naj na podlagi zapisanih besed skušajo samostojno zapisati, kaj v tem kontekstu za njih pomeni abeceda, beseda in jezik. Preko uporabe aplikacije in ugotovitev bi lahko prešli na intuitiven pomen elementov jezika in nato formalni opis abecede, besede in jezika, podobno kot v prej opisanem načinu ure. Ob koncu ure je potrebno omeniti pojma jezik končnega avtomata in procesiranje končnega avtomata. Zamislili smo si kratek oris uporabe didaktične aplikacije z namenom, da bi z učenci pri računalniškem krožku lažje obravnavali oziroma utrjevali pojme povezane s formalnim konceptom jezika. Didaktično aplikacijo lahko ponovno uporabimo pri formalni obravnavi končnega avtomata; učenci za podani diagram v aplikaciji zapišejo urejeno peterico {Q, Σ, δ, s, F }, kot pri vpeljavi regularnega izraza, kjer bi učenci podanim končnim avtomatom v aplikaciji pripisali pripadajoče regularne izraze oziroma regularne jezike. 24

35 9 Zaključek V diplomskem delu smo neformalno in formalno vpeljali in predstavili deterministični in nedeterministični končni avtomat ter prav tako koncept jezika in regularnega izraza. V okviru diplomskega dela smo dokazali, da jeziki končnih avtomatov in jeziki regularnih izrazov sovpadajo. Cilj diplomskega dela je bil bolje spoznati koncept končnega avtomata in z njim povezane pojme. Z razvojem lastne didaktične aplikacije smo želeli smiselno vključiti didaktično aplikacijo v računalniški krožek. Nadaljno delo bi lahko temeljilo na razširitvi teorije avtomatov ali na dodelavi didaktične aplikacije, kjer bi lahko uporabnik sam oblikoval lastni primer končnega avtomata in na njem preizkušal različne vhodne besede. 25

36 10 Literatura (1) Sipser, Michael, 2006: Introduction to the Theory of Computation (2nd ed.). Boston Mass: Thomson Course Technology. (2) Hopcroft, John E., Motwani, Rajeev, Ullman, Jeffrey D. 2006: Introduction to Automata Theory, Languages, and Computation (3nd ed.). Reading Mass: Addison Wesley. (3) Justin, Aleš, 2006: Regularni izrazi, končni avtomati in njihov prikaz (diplomsko delo). Univerza v Ljubljani, Fakulteta za matematiko in fiziko. (4) Malnič, Aleksander, 2013: Predavanja pri predmetu Računalniška matematika v študijskem letu 2012/2013 (lastni zapiski). Univerza v Ljubljani: Pedagoška fakulteta. (5) Wikipedia contributors, 2015: Adobe Flash, dostopno na: org/wiki/adobe_flash. ( ) (6) Adobe Systems Inc., 2015: Adobe Flash Professional, dostopno na: adobe.com/si/products/flash.html. ( ) (7) Adobe Systems Inc., 2015: Adobe Flash Player Standalone, dostopno na: labs.adobe.com/downloads/flashplayer.html. ( ) (8) Adobe Systems Inc., 2015: Adobe Flash Player, dostopno na: com/flashplayer/. ( ) (9) Adobe Systems Inc., 2015: Adobe Air, dostopno na: store/apps/details?id=com.adobe.air&hl=sl. ( ) (10) Issess, 2014: SWF Player - Flash File Viewer, dostopno na: com/store/apps/details?id=com.issess.flashplayer&hl=sl. ( ) 11 Priloge 1. Didaktična aplikacija: procesiranje končnega avtomata. 26

NEODLOČLJIVI PROBLEMI V TEORIJI IZRAČUNLJIVOSTI

NEODLOČLJIVI PROBLEMI V TEORIJI IZRAČUNLJIVOSTI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUKA VIKTOR ROGAČ NEODLOČLJIVI PROBLEMI V TEORIJI IZRAČUNLJIVOSTI MAGISTRSKO DELO LJUBLJANA, 2017 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POUČEVANJE, PREDMETNO

More information

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

AKSIOMATSKA KONSTRUKCIJA NARAVNIH UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Poučevanje: Predmetno poučevanje ŠPELA ZOBAVNIK AKSIOMATSKA KONSTRUKCIJA NARAVNIH ŠTEVIL MAGISTRSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

NIKJER-NIČELNI PRETOKI

NIKJER-NIČELNI PRETOKI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ALJA ŠUBIC NIKJER-NIČELNI PRETOKI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Dvopredmetni učitelj: matematika - računalništvo ALJA

More information

Reševanje problemov in algoritmi

Reševanje problemov in algoritmi Reševanje problemov in algoritmi Vhod Algoritem Izhod Kaj bomo spoznali Zgodovina algoritmov. Primeri algoritmov. Algoritmi in programi. Kaj je algoritem? Algoritem je postopek, kako korak za korakom rešimo

More information

POLDIREKTNI PRODUKT GRUP

POLDIREKTNI PRODUKT GRUP UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUCIJA ŽNIDARIČ POLDIREKTNI PRODUKT GRUP DIPLOMSKO DELO LJUBLJANA 2014 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Univerzitetni študijski program 1. stopnje: Dvopredmetni

More information

Problem umetnostne galerije

Problem umetnostne galerije Problem umetnostne galerije Marko Kandič 17. september 2006 Za začetek si oglejmo naslednji primer. Recimo, da imamo v galeriji polno vrednih slik in nočemo, da bi jih kdo ukradel. Seveda si želimo, da

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO.

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Sabina Skornšek Maribor, 2012 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

Sekvenčna preklopna vezja

Sekvenčna preklopna vezja - Sekvenčna preklopna vezja (delovna verzija 5..27) Prosojnica št. 7- Primer vezja s povratno povezavo Osnovni pomnilni element je izveden s kaskadno vezavo invertorjev Osnovni element: invertor (INV)

More information

Računalnik iz domin. Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan

Računalnik iz domin. Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan Računalnik iz domin Primož Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan Povzetek Naša naloga je bila ugotoviti kako sestaviti računalnik (Turingov stroj) iz domin in logičnih izrazov.

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Kvadratne forme nad končnimi obsegi (Quadratic Forms over Finite Fields) Ime in priimek: Borut

More information

R V P 2 Predavanje 05

R V P 2 Predavanje 05 R V P 2 Predavanje 05 Kreiranje programskih modulov - Scripts RVP2 Kreiranje programskih modulov 1/44 Programski moduli -Scripts Možnosti: Omogočajo: Izvajanje ukazov Izvajanje logičnih operacij Ob določenih

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO Ljubljana, 2013 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ODDELEK ZA MATEMATIKO IN RAČUNALNIŠTVO SAŠO ZUPANEC Mentor:

More information

Iskanje najcenejše poti v grafih preko polkolobarjev

Iskanje najcenejše poti v grafih preko polkolobarjev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Veronika Horvat Iskanje najcenejše poti v grafih preko polkolobarjev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM

Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Matematika - uporabna smer (UNI) Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM Diplomsko delo Ljubljana, 2006 Zahvala Zahvaljujem

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Verjetnostni algoritmi za testiranje praštevilskosti (Algorithms for testing primality) Ime in

More information

TOPLJENEC ASOCIIRA LE V VODNI FAZI

TOPLJENEC ASOCIIRA LE V VODNI FAZI TOPLJENEC ASOCIIRA LE V VODNI FAZI V primeru asociacij molekul topljenca v vodni ali organski fazi eksperimentalno določeni navidezni porazdelitveni koeficient (P n ) v odvisnosti od koncentracije ni konstanten.

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA Tina Lešnik Maribor, 2014 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

APLIKACIJA ZA DELO Z GRAFI

APLIKACIJA ZA DELO Z GRAFI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: MATEMATIKA IN RAČUNALNIŠTVO APLIKACIJA ZA DELO Z GRAFI DIPLOMSKO DELO Mentor: doc. dr. Primož Šparl Kandidat: Luka Jurković Somentor: asist.

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Simetrije cirkulantnih grafov

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Simetrije cirkulantnih grafov UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Magistrsko delo Simetrije cirkulantnih grafov (Symmetry of circulant graphs) Ime in priimek: Maruša Saksida Študijski

More information

TEORIJA GRAFOV IN LOGISTIKA

TEORIJA GRAFOV IN LOGISTIKA TEORIJA GRAFOV IN LOGISTIKA Maja Fošner in Tomaž Kramberger Univerza v Mariboru Fakulteta za logistiko Mariborska cesta 2 3000 Celje Slovenija maja.fosner@uni-mb.si tomaz.kramberger@uni-mb.si Povzetek

More information

Razvoj spletnega slovarja slovenskega znakovnega jezika

Razvoj spletnega slovarja slovenskega znakovnega jezika Univerza v Ljubljani Fakulteta za računalništvo in informatiko Luka Cempre Razvoj spletnega slovarja slovenskega znakovnega jezika DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVA IN INFORMATIKE Mentor:

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

JERNEJ TONEJC. Fakulteta za matematiko in fiziko

JERNEJ TONEJC. Fakulteta za matematiko in fiziko . ARITMETIKA DVOJIŠKIH KONČNIH OBSEGOV JERNEJ TONEJC Fakulteta za matematiko in fiziko Math. Subj. Class. (2010): 11T{06, 22, 55, 71}, 12E{05, 20, 30}, 68R05 V članku predstavimo končne obsege in aritmetiko

More information

Jernej Azarija. Štetje vpetih dreves v grafih

Jernej Azarija. Štetje vpetih dreves v grafih UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO FAKULTETA ZA MATEMATIKO IN FIZIKO Jernej Azarija Štetje vpetih dreves v grafih DIPLOMSKO DELO NA INTERDISCIPLINARNEM UNIVERZITETNEM ŠTUDIJU

More information

Miha Drole. Sintaksna analiza rahlo kontekstno odvisnih jezikov

Miha Drole. Sintaksna analiza rahlo kontekstno odvisnih jezikov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Drole Sintaksna analiza rahlo kontekstno odvisnih jezikov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Igor Kononenko Ljubljana,

More information

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ 1 OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ Opis problema. Danih je k vhodnih nizov, ki jih označimo s t 1,..., t k. Množico vseh znakov, ki se pojavijo v vsaj enem vhodnem nizu, imenujmo abeceda in jo označimo

More information

DELOVANJA GRUP IN BLOKI NEPRIMITIVNOSTI

DELOVANJA GRUP IN BLOKI NEPRIMITIVNOSTI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DEJAN KREJIĆ DELOVANJA GRUP IN BLOKI NEPRIMITIVNOSTI DIPLOMSKO DELO Ljubljana, 2015 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Dvopredmetni učitelj: matematika -

More information

Ana Mlinar Fulereni. Delo diplomskega seminarja. Mentor: izred. prof. dr. Riste Škrekovski

Ana Mlinar Fulereni. Delo diplomskega seminarja. Mentor: izred. prof. dr. Riste Škrekovski UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Matematika 1. stopnja Ana Mlinar Fulereni Delo diplomskega seminarja Mentor: izred. prof. dr. Riste Škrekovski Ljubljana, 2011 Kazalo 1. Uvod 4 2.

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Statistika Statistics Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika First cycle academic

More information

Attempt to prepare seasonal weather outlook for Slovenia

Attempt to prepare seasonal weather outlook for Slovenia Attempt to prepare seasonal weather outlook for Slovenia Main available sources (ECMWF, EUROSIP, IRI, CPC.NCEP.NOAA,..) Two parameters (T and RR anomally) Textual information ( Met Office like ) Issued

More information

SIMETRIČNI BICIRKULANTI

SIMETRIČNI BICIRKULANTI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA GORAZD VASILJEVIĆ SIMETRIČNI BICIRKULANTI DIPLOMSKO DELO Ljubljana, 2014 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Dvopredmetni učitelj: matematika - računalništvo

More information

Hipohamiltonovi grafi

Hipohamiltonovi grafi Hipohamiltonovi grafi Marko Čmrlec, Bor Grošelj Simić Mentor(ica): Vesna Iršič Matematično raziskovalno srečanje 1. avgust 016 1 Uvod V marsovskem klubu je želel predsednik prirediti večerjo za svoje člane.

More information

Eulerjevi in Hamiltonovi grafi

Eulerjevi in Hamiltonovi grafi Eulerjevi in Hamiltonovi grafi Bojan Možina 30. december 006 1 Eulerjevi grafi Štirje deli mesta Königsberg v Prusiji so bili povezani s sedmimi mostovi (glej levi del slike 1). Zdaj se Königsberg imenuje

More information

Formalni sistem in mehka logika za analizo digitalne slike: osnovni koncept

Formalni sistem in mehka logika za analizo digitalne slike: osnovni koncept Elektrotehniški vestnik 69(2): 143 150, 2002 Electrotechnical Review, Ljubljana, Slovenija Formalni sistem in mehka logika za analizo digitalne slike: osnovni koncept Andrej Košir, Jurij Tasič Fakulteta

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kromatično število in kromatični indeks grafa

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kromatično število in kromatični indeks grafa UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Magistrsko delo Kromatično število in kromatični indeks grafa (The chromatic number and the chromatic index of

More information

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta Matematika 1 Gabrijel Tomšič Bojan Orel Neža Mramor Kosta 15. december 2010 Poglavje 3 Funkcije 3.1 Osnovni pojmi Preslikavam v množico R ali C običajno pravimo funkcije v prvem primeru realne, v drugem

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SARA BREZEC HAUSDORFFOV PARADOKS DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DVOPREDMETNI UČITELJ MATEMATIKA-FIZIKA SARA BREZEC mentor:

More information

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik Univerza v Ljubljani Fakulteta za matematiko in fiziko Oddelek za fiziko Seminar - 3. letnik, I. stopnja Kvantni računalniki Avtor: Tomaž Čegovnik Mentor: prof. dr. Anton Ramšak Ljubljana, marec 01 Povzetek

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ.

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ. UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1 Študijski program in stopnja Study programme and level Univerzitetni študijski program Finančna matematika First cycle

More information

Zgoščevanje podatkov

Zgoščevanje podatkov Zgoščevanje podatkov Pojem zgoščevanje podatkov vključuje tehnike kodiranja, ki omogočajo skrajšan zapis neke datoteke. Poznan program za zgoščevanje datotek je WinZip. Podatke je smiselno zgostiti v primeru

More information

Uporaba preglednic za obdelavo podatkov

Uporaba preglednic za obdelavo podatkov Uporaba preglednic za obdelavo podatkov B. Golli, PeF Pedagoška fakulteta UL Ljubljana 2012 Kazalo 1 Uvod 1 2 Zgled iz kinematike 2 2.1 Izračun hitrosti................................... 2 2.2 Izračun

More information

Hadamardove matrike in misija Mariner 9

Hadamardove matrike in misija Mariner 9 Hadamardove matrike in misija Mariner 9 Aleksandar Jurišić, 25. avgust, 2009 J. Hadamard (1865-1963) je bil eden izmed pomembnejših matematikov na prehodu iz 19. v 20. stoletje. Njegova najpomembnejša

More information

Verifying Time Complexity of Turing Machines

Verifying Time Complexity of Turing Machines UNIVERSITY OF LJUBLJANA FACULTY OF MATHEMATICS AND PHYSICS DEPARTMENT OF MATHEMATICS David Gajser Verifying Time Complexity of Turing Machines Doctoral dissertation Advisor: izred. prof. dr. Sergio Cabello

More information

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida Univerza v Ljubljani Fakulteta za računalništvo in informatiko Grega Kres Razpoznavanje znakov prstne abecede na osnovi računalniškega vida diplomsko delo na visokošolskem strokovnem študiju doc. dr. Iztok

More information

Analogna elektronska vezja. Uvodna vaja

Analogna elektronska vezja. Uvodna vaja Analogna elektronska vezja Uvodna vaja Povzetek Namen uvodne vaje je, da študenti spoznajo orodja, ki jih bojo uporabljali pri laboratorijskih vajah predmeta Analogna elektronska vezja in sicer: podatkovne

More information

Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI

Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA UNIVERZITETNI ŠTUDIJSKI

More information

SIMETRIČNE KOMPONENTE

SIMETRIČNE KOMPONENTE Univerza v Ljubljani Fakulteta za elektrotehniko SIMETRIČNE KOMPONENTE Seminarska naloga pri predmetu Razdelilna in industrijska omrežja Poročilo izdelala: ELIZABETA STOJCHEVA Mentor: prof. dr. Grega Bizjak,

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Gregor Ambrož Maribor, 2010 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

ENAČBA STANJA VODE IN VODNE PARE

ENAČBA STANJA VODE IN VODNE PARE ENAČBA STANJA VODE IN VODNE PARE SEMINARSKA NALOGA PRI PREDMETU JEDRSKA TEHNIKA IN ENERGETIKA TAMARA STOJANOV MENTOR: IZRED. PROF. DR. IZTOK TISELJ NOVEMBER 2011 Enačba stanja idealni plin: pv = RT p tlak,

More information

Distance reduction with the use of UDF and Mathematica. Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica

Distance reduction with the use of UDF and Mathematica. Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica RMZ Materials and Geoenvironment, Vol. 54, No. 2, pp. 265-286, 2007 265 Distance reduction with the use of UDF and Mathematica Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica

More information

Kode za popravljanje napak

Kode za popravljanje napak UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE KOPER MATEMATIČNE ZNANOSTI MAGISTRSKI ŠTUDIJSKI PROGRAM 2. STOPNJE Aljaž Slivnik Kode za popravljanje napak Magistrska

More information

OPTIMIZACIJSKE METODE skripta v pripravi

OPTIMIZACIJSKE METODE skripta v pripravi OPTIMIZACIJSKE METODE skripta v pripravi Vladimir Batagelj Ljubljana 17. december 2003 2 Kazalo Predgovor 5 1 Optimizacijske naloge 7 1.1 Osnovni pojmi........................... 7 1.2 Primeri optimizacijskih

More information

DOMINACIJSKO TEVILO GRAFA

DOMINACIJSKO TEVILO GRAFA UNIVERZA V LJUBLJANI PEDAGO KA FAKULTETA tudijski program: MATEMATIKA in RAƒUNALNI TVO DOMINACIJSKO TEVILO GRAFA DIPLOMSKO DELO Mentor: doc. dr. Primoº parl Kandidatka: Neja Zub i Ljubljana, maj, 2011

More information

USING THE DIRECTION OF THE SHOULDER S ROTATION ANGLE AS AN ABSCISSA AXIS IN COMPARATIVE SHOT PUT ANALYSIS. Matej Supej* Milan Čoh

USING THE DIRECTION OF THE SHOULDER S ROTATION ANGLE AS AN ABSCISSA AXIS IN COMPARATIVE SHOT PUT ANALYSIS. Matej Supej* Milan Čoh Kinesiologia Slovenica, 14, 3, 5 14 (28) Faculty of Sport, University of Ljubljana, ISSN 1318-2269 5 Matej Supej* Milan Čoh USING THE DIRECTION OF THE SHOULDER S ROTATION ANGLE AS AN ABSCISSA AXIS IN COMPARATIVE

More information

SLIKE CANTORJEVE PAHLJAµCE

SLIKE CANTORJEVE PAHLJAµCE UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in raµcunalništvo Diplomsko delo SLIKE CANTORJEVE PAHLJAµCE Mentor: dr. Iztok Baniµc docent Kandidatka: Anja Belošević

More information

SVM = Support Vector Machine = Metoda podpornih vektorjev

SVM = Support Vector Machine = Metoda podpornih vektorjev Uvod 2/60 SVM = Support Vector Machine = Metoda podpornih vektorjev Vapnik in Lerner 1963 (generalized portrait) jedra: Aronszajn 1950; Aizerman 1964; Wahba 1990, Poggio in Girosi 1990 Boser, Guyon in

More information

Sistem za sledenje in analizo uporabe računalniških aplikacij

Sistem za sledenje in analizo uporabe računalniških aplikacij Univerza v Ljubljani Fakulteta za računalništvo in informatiko Dejan Mesar Sistem za sledenje in analizo uporabe računalniških aplikacij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof. dr.

More information

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Troha Robotsko učenje in planiranje potiskanja predmetov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Ivan Bratko Ljubljana,

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Teorija grafov Graph theory Študijski program in stopnja Study programme and level Magistrski študijski program Matematika Master's study

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga (Final project paper) O neeksaknotsti eksaktnega binomskega intervala zaupanja (On the inexactness

More information

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R Multipla koelacia in egesia Multipla egesia, multipla koelacia, statistično zaklučevane o multiplem Multipla egesia osnovni model in ačunane paametov Z multiplo egesio napoveduemo vednost kiteia (odvisne

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerična linearna algebra Numerical linear algebra Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION Table of contents 1 TECHNICAL FIELDS... 2 2 PRESENTING THE SCOPE OF A CALIBRATION LABOORATORY... 2 3 CONSIDERING CHANGES TO SCOPES... 6 4 CHANGES WITH

More information

Izbrana poglavja iz velikih omreºij 1. Zbornik seminarskih nalog iz velikih omreºij

Izbrana poglavja iz velikih omreºij 1. Zbornik seminarskih nalog iz velikih omreºij Izbrana poglavja iz velikih omreºij 1 Zbornik seminarskih nalog iz velikih omreºij Ljubljana, 2015 CIP Kataloºni zapis o publikaciji Narodna in univerzitetna knjiºnica, Ljubljana 123.45(678)(9.012.3) Izbrana

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO Rok Erman BARVANJA RAVNINSKIH IN SORODNIH DRUŽIN GRAFOV Doktorska disertacija MENTOR: prof. dr. Riste Škrekovski Ljubljana,

More information

OPTIMIRANJE IZDELOVALNIH PROCESOV

OPTIMIRANJE IZDELOVALNIH PROCESOV OPTIMIRANJE IZDELOVALNIH PROCESOV asist. Damir GRGURAŠ, mag. inž. str izr. prof. dr. Davorin KRAMAR damir.grguras@fs.uni-lj.si Namen vaje: Ugotoviti/določiti optimalne parametre pri struženju za dosego

More information

Preverjanje optimiziranosti spletnih strani

Preverjanje optimiziranosti spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boštjan Hozjan Preverjanje optimiziranosti spletnih strani DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana, 2016 UNIVERZA V LJUBLJANI

More information

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani FRAKTALNA DIMENZIJA VESNA IRŠIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani PACS: 07.50.Hp, 01.65.+g V članku je predstavljen zgodovinski razvoj teorije fraktalov in natančen opis primerov,

More information

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK POVZETEK. Namen tega dela je prikazati osnove razlik, ki lahko nastanejo pri interpretaciji

More information

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2).

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2). NALOGE ) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih ( in ). 0.8 0.6 0.4 0. 0.0 0.08 0.06 0.04 0.0 0.00 0 0 0 30

More information

Topološka obdelava slik

Topološka obdelava slik Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Matjaž Cerar Topološka obdelava slik DIPLOMSKO DELO UNIVERZITETNI INTERDISCIPLINARNI ŠTUDIJ RAČUNALNIŠTVA

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: Matematika in računalništvo Fibonaccijevo zaporedje in krožna konstanta

More information

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani JEDRSKA URA JAN JURKOVIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani Natančnost časa postaja vse bolj uporabna in pomembna, zato se rojevajo novi načini merjenja časa. Do danes najbolj natančnih

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Uporaba logistične regresije za napovedovanje razreda, ko je število enot v preučevanih razredih

More information

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA UDK621.3:(53+54+621 +66), ISSN0352-9045 Informaclje MIDEM 3~(~UU8)4, Ljubljana ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA Marijan Macek 1,2* Miha Cekada 2 1 University of Ljubljana,

More information

Izvedbe hitrega urejanja za CPE in GPE

Izvedbe hitrega urejanja za CPE in GPE Univerza v Ljubljani Fakulteta za računalništvo in informatiko Jernej Erker Izvedbe hitrega urejanja za CPE in GPE DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVA IN INFORMATIKE Mentor: doc. dr. Tomaž

More information

Platforma Trafika v HTML5

Platforma Trafika v HTML5 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Aleksander Gregorka Platforma Trafika v HTML5 DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

Makroekonomija 1: 4. vaje. Igor Feketija

Makroekonomija 1: 4. vaje. Igor Feketija Makroekonomija 1: 4. vaje Igor Feketija Teorija agregatnega povpraševanja AD = C + I + G + nx padajoča krivulja AD (v modelu AS-AD) učinek ponudbe denarja premiki vzdolž krivulje in premiki krivulje mikro

More information

Metode rangiranja spletnih strani

Metode rangiranja spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE David Primc Metode rangiranja spletnih strani Diplomsko delo Ljubljana, 2015 UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE David Primc Mentor: doc. dr.

More information

Neli Blagus. Iterativni funkcijski sistemi in konstrukcija fraktalov

Neli Blagus. Iterativni funkcijski sistemi in konstrukcija fraktalov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Neli Blagus Iterativni funkcijski sistemi in konstrukcija fraktalov DIPLOMSKO DELO NA INTERDISCIPLINARNEM UNIVERZITETNEM ŠTUDIJU Mentorica:

More information

Vsebina Od problema do načrta programa 1. del

Vsebina Od problema do načrta programa 1. del Vsebina Od problema do načrta programa 1. del Osnovne strategije iskanja rešitev problema Načini opisovanja rešitev problema Osnovni gradniki rešitve problema Primeri Napišite postopek za kuhanje kave

More information

Grafi, igre in še kaj

Grafi, igre in še kaj Grafi, igre in še kaj Martin Milanič martin.milanic@upr.si Inštitut Andrej Marušič Fakulteta za matematiko, naravoslovje in informacijske tehnologije Univerza na Primorskem, Koper Matematika je kul 2016,

More information

Diskretna matematika 1 / Teorija grafov

Diskretna matematika 1 / Teorija grafov Diskretna matematika 1 / Teorija grafov 1. Osnovni pojmi Vladimir Batagelj Univerza v Ljubljani FMF, matematika Finančna matematika Ljubljana, december 2013 / februar 2008 1 / 31 Kazalo 1 2 3 4 5 6 Pajek

More information

Optimizacija delovanja in povečanje obiska na spletni strani

Optimizacija delovanja in povečanje obiska na spletni strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Adlešič Optimizacija delovanja in povečanje obiska na spletni strani DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: doc.

More information

SISTEMSKA INFORMATIKA IN LOGISTIKA. predmet izbirnega modula študijskega programa 2. stopnje smer Avtomatika in informatika

SISTEMSKA INFORMATIKA IN LOGISTIKA. predmet izbirnega modula študijskega programa 2. stopnje smer Avtomatika in informatika SISTEMSKA INFORMATIKA IN LOGISTIKA predmet izbirnega modula študijskega programa 2. stopnje smer Avtomatika in informatika izr. prof. dr. Gašper Mušič Cilji izbirnega modula Predstavitev problematike vodenja

More information

IZPELJANKE ALGORITMA LZW

IZPELJANKE ALGORITMA LZW Jure Sreš IZPELJKE LGORITM LZW Diplomsko delo Maribor, september 2016 IZPELJKE LGORITM LZW Diplomsko delo Študent(ka): Jure Sreš Študijski program: Računalništvo in informacijske tehnologije (U) Smer:

More information

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga Univerza na Primorskem Fakulteta za matematiko, naravoslovje in informacijske tehnologije Boštjan Markežič Zaznavanje gibov Zaključna naloga Koper, september 2011 Mentor: doc. dr. Peter Rogelj Kazalo Slovarček

More information

Naloge iz LA T EXa : 3. del

Naloge iz LA T EXa : 3. del Naloge iz LA T EXa : 3. del 1. V besedilo vklju ite naslednjo tabelo skupaj z napisom Kontrolna naloga Dijak 1 2 Povpre je Janko 67 72 70.5 Metka 72 67 70.5 Povpre je 70.5 70.5 Tabela 1: Rezultati kontrolnih

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Inženirski pristop k načrtovanju in implementaciji reševalca Sudoku za mobilne naprave (Engineering

More information

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA UDK 543.428.2:544.171.7 ISSN 1580-2949 Original scientific article/izvirni znanstveni ~lanek MTAEC9, 49(3)435(2015) B. PONIKU et al.: USING SIMULATED SPECTRA TO TEST THE EFFICIENCY... USING SIMULATED SPECTRA

More information

Spletni sistem za vaje iz jezika SQL

Spletni sistem za vaje iz jezika SQL UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Matematika praktična matematika (VSŠ) Ines Frelih Spletni sistem za vaje iz jezika SQL Diplomska naloga Ljubljana, 2011 Zahvala Zahvalila bi se rada

More information

Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov

Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov Univerza v Ljubljani Fakulteta za elektrotehniko Boštjan Murovec Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov Doktorska disertacija Mentor: prof. dr. Peter

More information

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo)

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo) Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo) Blaž Zupan 29. julij 2017 Kazalo 1 Odkrivanje skupin 7 1.1 Primer podatkov.................................. 7 1.2 Nekaj

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA FAKULTETA ZA MATEMATIKO IN FIZIKO DIPLOMSKO DELO MIHAELA REMIC

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA FAKULTETA ZA MATEMATIKO IN FIZIKO DIPLOMSKO DELO MIHAELA REMIC UNIVERZ V LJULJNI PEDGOŠK FKULTET FKULTET Z MTEMTIKO IN FIZIKO DIPLOMSKO DELO MIHEL REMI UNIVERZ V LJULJNI PEDGOŠK FKULTET FKULTET Z MTEMTIKO IN FIZIKO Študijski program: Matematika in fizika ROUTHOV

More information

Rudarjenje razpoloženja na komentarjih rtvslo.si

Rudarjenje razpoloženja na komentarjih rtvslo.si Univerza v Ljubljani Fakulteta za računalništvo in informatiko Brina Škoda Rudarjenje razpoloženja na komentarjih rtvslo.si DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

More information

DIOFANTSKE ČETVERICE

DIOFANTSKE ČETVERICE Fakulteta za aravoslovje i matematiko Oddelek za matematiko i račualištvo Diplomsko delo DIOFANTSKE ČETVERICE Metor: Doc. dr. Daiel Eremita Kadidatka: Jožica Špec Maribor 009 II ZAHVALA Zahvaljujem se

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3 Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

Multimedijska predstavitev globalne poravnave dveh nizov

Multimedijska predstavitev globalne poravnave dveh nizov Radovan Bajković Multimedijska predstavitev globalne poravnave dveh nizov Diplomsko delo Maribor, september 2011 I Diplomsko delo univerzitetnega študijskega programa MULTIMEDIJSKA PREDSTAVITEV GLOBALNE

More information

Gručenje z omejitvami na podlagi besedil in grafov pri razporejanju akademskih člankov

Gručenje z omejitvami na podlagi besedil in grafov pri razporejanju akademskih člankov Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tadej Škvorc Gručenje z omejitvami na podlagi besedil in grafov pri razporejanju akademskih člankov MAGISTRSKO DELO MAGISTRSKI PROGRAM DRUGE

More information

Vrednotenje gibov in kretenj roke kot vhodne naprave za komunikacijo človek stroj v navideznih okoljih

Vrednotenje gibov in kretenj roke kot vhodne naprave za komunikacijo človek stroj v navideznih okoljih Elektrotehniški vestnik 71(1-2): 13 19, 2004 Electrotechnical Review, Ljubljana, Slovenija Vrednotenje gibov in kretenj roke kot vhodne naprave za komunikacijo človek stroj v navideznih okoljih Peter Rulić,

More information