Automaadid, keeled, translaatorid

Seotud dokumendid
Automaadid, keeled, translaatorid

loeng2

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k

(loeng3-ohtlikud_koodiloigud)

Programmeerimiskeel APL Raivo Laanemets 17. mai a.

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

loeng7.key

Andmed arvuti mälus Bitid ja baidid

Funktsionaalne Programmeerimine

untitled

Variant A

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

my_lauluema

IMO 2000 Eesti võistkonna valikvõistlus Tartus, aprillil a. Ülesannete lahendused Esimene päev 1. Olgu vaadeldavad arvud a 1, a 2, a 3,

prakt8.dvi

PHP

Xi5 juhtmevaba versioon

Võistlusülesanne Vastutuulelaev Finaal

ITI Loogika arvutiteaduses

Relatsiooniline andmebaaside teooria II. 6. Loeng

vv05lah.dvi

Peafail3_2.dvi

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Kommunikatsiooniteenuste arendus (IRT0080) loeng 8/2014 Võrkude haldus Avo 1

Linux süsteemi administreerimine

Polünoomi juured Juure definitsioon ja Bézout teoreem Vaadelgem polünoomi kus K on mingi korpus. f = a 0 x n + a 1 x n a n 1 x

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

Microsoft PowerPoint - EMCS13

Rakenduste loomise ja programmeerimise alused

Slide 1

Kliinilise keemia uuringud, südamemarkerite uuringud lapsed Kompleksanalüüsi nimetus Analüüsi nimetus Lühend Referentsväärtused Vanus Sugu

4PET B_2016_02

TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala Roman Jagomägis Programmeerimiskeel privaatsust säilit

+/- 7(chomsky???) Deduktiivne jama 1.Hulkade spetsifitseerimine. Hulk on samalaadsete objektide järjestamata kogum, mida käsitlet

VRG 2, VRG 3

GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev Versioon

Paigaldusjuhend Daikin Altherma madalatemperatuurilise monoploki valikute plokk EK2CB07CAV3 Paigaldusjuhend Daikin Altherma madalatemperatuurilise mon

Conseil UE Euroopa Liidu Nõukogu Brüssel, 30. november 2016 (OR. en) 14723/16 PROTOKOLLI KAVAND 1 Teema: LIMITE PUBLIC PV/CONS 61 EDUC 391 JEUN 103 CU

AWK Aho Weinberger Kernighan struktuurse teksti töötlemise keel rikkalikult tekstitöötlusvahendeid omal alal suhteliselt lihtne ja kiiresti realiseeri

01_ACO PIPE 2011.ai

Word Pro - digiTUNDkaug.lwp

Statistiline andmetöötlus 1997

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Karl Riis Bayesi isotoonilise kalibreerimise algoritm ja selle optimeerimine Bakalaureuset

Tartu Ülikool Loodus- ja täppisteaduste valdkond Arvutiteaduse instituut Sandra Puusepp CVE Referaat Tartu 2018

PowerPoint Presentation

Start time of charring of timber members protected with gypsum plasterboards

Microsoft PowerPoint - BPP_MLHvaade_juuni2012 (2)

Manual PC 15 D,GB,F

Materjaliõpetuse ja keemia lõimimine õppetöös.

Andmebaasid, MTAT loeng Normaalkujud

untitled

Eesti Energia arenguplaanidest Raine Pajo

Microsoft PowerPoint - MKarelson_TA_ ppt

Matemaatiline analüüs III 1 4. Diferentseeruvad funktsioonid 1. Diferentseeruvus antud punktis. Olgu funktsiooni f : D R määramispiirkond D R selles p

Osakogumite kitsendustega hinnang Kaja Sõstra 1 Eesti Statistikaamet Sissejuhatus Valikuuringute üheks oluliseks ülesandeks on osakogumite hindamine.

Ruutvormid Denitsioon 1. P n Ütleme, et avaldis i;j=1 a ijx i x j ; kus a ij = a ji ; a ij 2 K ja K on korpus, on ruutvorm üle korpuse K muutujate x 1

Microsoft Word - TM70_SP-MG_kasutusjuhend.docx

Microsoft PowerPoint - Ettekanne_3Dprojekt_ESTGIS.ppt [Compatibility Mode]

Mining Meaningful Patterns

3D mänguarenduse kursus (MTAT ) Loeng 3 Jaanus Uri 2013

LEAN põhimõtete, 5S-i ja Pideva Parenduse Protsessi rakendamise kogemus Eestis.

FTXP20M5V1B FTXP25M5V1B FTXP35M5V1B Eesti

PowerPoint Presentation

Microsoft Word - Alaru.doc

SOOJUSSÕLMEDE REGULEERIMINE JA KÜTTESÜSTEEMI TASAKAALUSTAMINE Maja küttesüsteemi tasakaalustamine ja ventilatsiooni vajalikkus Toomas Rähmonen Termopi

Operatsioonisüsteemide ehitus

Microsoft Word _se-et_ok_korr_C.doc

untitled

Slide 1

Lisa 2 Maanteeameti peadirektori käskkirjale nr 0250 Kattega riigimaanteede taastusremondi objektide valikumetoodika Maanteeamet Tallinn 20

(Microsoft Word - Purgatsi j\344rve supluskoha suplusvee profiil l\374hike)

E-õppe tehnoloogiad kõrgkoolis E-learning Technologies in Higher Education MTAT

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Mirjam Iher Nõrgima eeltingimuse staatiline analüüs pinukeeltele Bakalaureusetöö (9 EAP) J

T A R T U Ü L I K O O L MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Tarkvarasüsteemide õppetool Natalia Tomassova Grammatika-põhine kon

E-õppe ajalugu

Microsoft Word - Vorm_TSD_Lisa_1_juhend_2015

1. AKE Ajalise keerukuse empiiriline hindamine

PIDEVSIGNAALIDE TÖÖTLEMINE

K Kell AKK saal N Kell Kab. 14 N Kell AKK saal N Kell AKK saal N Kell AKK saal R.04.

untitled

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs

Microsoft Word - RM_ _17lisa2.rtf

Maksu- ja Tolliamet MAKSUKOHUSTUSLANE Vorm KMD INF Nimi Registri- või isikukood A-osa ANDMED VÄLJASTATUD ARVETE KOHTA. Esitatakse koos käibedeklaratsi

Tehniline andmeleht Sadulventiilid (PN 16) VRG 2 2-tee ventiil, väliskeermega VRG 3 3-tee ventiil, väliskeermega Kirjeldus Ventiilid on kasutatavad ko

Andmebaasid, MTAT Andmebaasikeeled 11.loeng

Matemaatiline analüüs IV 1 3. Mitme muutuja funktsioonide diferentseerimine 1. Mitme muutuja funktsiooni osatuletised Üleminekul ühe muutuja funktsioo

Treeningvõistlus Balti tee 2014 võistkonnale Tartus, 4. novembril 2014 Vastused ja lahendused 1. Vastus: 15, 18, 45 ja kõik 0-ga lõppevad arvud. Olgu

Väljavõte:

Leksiline nluus

Leksiline nluus Leksiline nluus kontrolli progrmmi s~onde (literlsumolite) vstvust leksilistele reeglitele ning teisend progrmmi sumolite (tokens) jdks: { eemld tuhisumolid j kommentrid; { identitseeri v~otmes~ond, identiktorid j konstndid; { konstrueeri sumolite teli; { lei sumolite re- j veerunumrid; { tevit vjdusel leksilistest vigdest. Leksilist nluusi kutsutkse skneerimiseks (scnning) ning vstvt nlustorit nimettkse sknneriks (scnner). nlüüs süntees lähtetekst leksiline nlüüs lekseemide jd süntksnlüüs süntksipuu semntiline nlüüs tri. süntksipuu vhekoodi gen. vhekood optimeerimine vhekood koodi genereerimine lõppkood 2 / 22

Leksiline nluus lhtetekst Sknner lekseemide jd telid v~oi kood spetsiktsioon Sknnerite genertor Progrmmi s~onde leksilised reeglid esittkse tvliselt regulrvldiste il. Sknneri v~oi progrmmeerid ksitsi, kuid tvliselt genereeritkse utomtselt sknnerite genertori il. 3 / 22

Regulrvldised Regulrvldised ule (l~opliku) thestiku kus 2. E ::= ; j j j (E E) j (E j E) j E? Regulrvldis E deneeri keele L(E)? L(;) = ; L(E 1 E 2 ) = fuv j u 2 L(E 1 ); v 2 L(E 2 )g L() = fg L(E 1 j E 2 ) = L(E 1 ) [ L(E 2 ) L() = fg L(E? ) = fw i j w 2 L(E); i 0g kus w 0 = j w n+1 = ww n. 4 / 22

Regulrvldised Niteid: Regulrvldis Deneeritv keel j f; g fg? f; ; ; ; : : :g ()? f; ; ; ; : : :g Regulrvldistes esinevte sulgude vhendmiseks on opertoritele mrtud prioriteedid: { sulundiopertor ( )? seo k~oige tugevmlt; { vlikuopertor ( j ) seo k~oige n~orgemlt. 5 / 22

Regulrvldised Regulrne kirjeldus thestikus on reeglite hulk d 1! E 1 d 2! E 2 : : : d n! E n kus d i on (uniklne) nimi j E i on regulrvldis thestikus [ fd 1 ; : : : ; d i 1 g. Luhendvid thistusi regulrvldiste esitmiseks: { mittetuhi sulund: E + = EE? ; { optsioon: E? = j E; { mrgiklssid: nit. [; ; c] = j j c v~oi [ z ] = j : : : j z. 6 / 22

Regulrvldised Niteid regulrsetest kirjeldustest: Identiktorid: Arvkonstndid: Letter! [ z ; A Z ] Digit! [0 9 ] Identier! Letter (Letter j Digit)? Sign! (+ j )? Integer! 0 j Sign [1 9 ] Digit? Deciml! Integer : Digit + Rel! (Integer j Deciml) E Integer 7 / 22

L~oplikud utomdid L~oplik utomt on viisik A = hq; ; ; q 0 ; F i, kus { Q on l~oplik olekute hulk; { on l~oplik thestik; { Q ( [ ) Q on uleminekureltsioon; { q 0 2 Q on lgolek; { F Q on l~oppolekute hulk. L~oplik utomt on determineeritud (DFA), kui uleminekureltsioon on funktsioon : Q! Q. Vstsel korrl on l~oplik utomt mittedetermineeritud (NFA). 8 / 22

L~oplikud utomdid L~oplike utomte esittkse tihti uleminekudigrmmiden: q0 q1 q2 L~oplik utomt A = hq; ; ; q 0 ; F i ktsepteeri keele L(A) = fw 2? j (q 0 ; w; q f ) 2? ; q f 2 F g kus? Q? Q on uleminekureltsiooni reeksiivne trnsitiivne sulund. Teoreem: L~oplike utomtide poolt ktsepteeritvte keelte klss lnge kokku regulrsete keelteg. 9 / 22

L~oplikud utomdid Determineeritud l~opliku utomdi simuleerimine: Chr := next chrcter ; Stte := q 0 ; while Chr 6= EOF do Stte := (Stte; Chr); Chr := next chrcter ; end if (Stte 2 F ) then return(success); else return(filure); 10 / 22

L~oplikud utomdid q0 q1 q2 Determineeritud l~opliku utomdi simuleerimine: Chr := next chrcter ; Stte := q 0 ; while Chr 6= EOF do Stte := (Stte; Chr); Chr := next chrcter ; end if (Stte 2 F ) then return(success); else return(filure); x q 0 q 1 Error Error q 1 q 2 q 1 Error q 2 Error Error Error 10 / 22

Regulrvldise teisendmine utomdiks Thompsoni konstruktsioon regulrvldise teisendmiseks (mittedetermineeritud) l~oplikuks utomdiks: regulrvldisele E seme vstvusse utomdi: q0 E q f teisendme utomti jrgmiste reeglite il, kuni k~oik uleminekud on ks v~oi uksikud thed: q E1 E2 p E1 E2 q q1 p E1 q E1 j E2 p q p E2 E q E? p q q1 q2 p 11 / 22

Regulrvldise teisendmine utomdiks Nide: ( j )? q0 q ( j )? f q0 q1 q f j q0 q1 q2 q3 q f q0 q1 q2 q3 q f 12 / 22

Regulrvldise teisendmine utomdiks Nide: ( j )? q0 q ( j )? f q0 q1 q f j q0 q1 q2 q3 q f q0 q1 q2 q3 q f 12 / 22

Regulrvldise teisendmine utomdiks Nide: ( j )? q0 q ( j )? f q0 q1 q f j q0 q1 q2 q3 q f q0 q1 q2 q3 q f 12 / 22

Regulrvldise teisendmine utomdiks Nide: ( j )? q0 q ( j )? f q0 q1 q f j q0 q1 q2 q3 q f q0 q1 q2 q3 q f 12 / 22

Determineeritud l~opliku utomdi koostmine Mittedetermineeritud l~opliku utomdig A = hq; ; ; q 0 ; F i ekvivlentse determineeritud l~opliku utomdi A 0 = hq 0 ; ; 0 ; q 0 0 ; F 0 i konstrueerimine oshulkde moodustmise il. Aifuntsioonid: { tuhikigusulundi funktsioon -closure : 2 Q! 2 Q -closure(s) = fp j q 2 S; (q; ; p) 2? g { uhe smmu funktsioon move : 2 Q! 2 Q move(s; ) = fp j q 2 S; (q; ; p) 2 g 13 / 22

Determineeritud l~opliku utomdi koostmine Algoritm: Q 0 := ;; F 0 := ;; 0 := ;; q 0 0 := -closure(fq 0g); U := fq 0 0 g; while 9S 2 U do U := U n S; Q 0 := Q 0 [ fsg; forech 2 do T := -closure(move(s; )); if T 62 U [ Q 0 then U := U [ ft g; 0 := 0 [ f(s; ) 7! T g; end end F 0 := fs 2 Q 0 j S \ F 6= ;g; 14 / 22

Determineeritud l~opliku utomdi koostmine Nide: q0 q1 q2 q3 q f 15 / 22

Determineeritud l~opliku utomdi koostmine Nide: q0 q1 q2 q3 q f q 0 0 15 / 22

Determineeritud l~opliku utomdi koostmine Nide: q0 q1 q2 q3 q f q0 0 q1 0 15 / 22

Determineeritud l~opliku utomdi koostmine Nide: q0 q1 q2 q3 q f q0 0 q1 0 q2 0 15 / 22

Determineeritud l~opliku utomdi koostmine Nide: q0 q1 q2 q3 q f q0 0 q1 0 q2 0 15 / 22

Determineeritud l~opliku utomdi koostmine Nide: q0 q1 q2 q3 q f q0 0 q1 0 q2 0 15 / 22

Determineeritud l~opliku utomdi minimiseerimine Regulrvldisest ( j )? konstrueeritud determineeritud l~oplik utomt: q0 q1 q2 Temg ekvivlentne, vhem olekute rvug, utomt: q0 q1 16 / 22

Determineeritud l~opliku utomdi minimiseerimine Determineeritud l~oplik utomt on minimlne, kui ei leidu temg ekvivlentset, vhemte olekute rvug, determineeritud l~oplikku utomti. Ig determineeritud l~opliku utomdi A = hq; ; ; q 0 ; F i korrl leidu (uniklne) temg ekvivlentne minimlne determineeritud l~oplik utomt A 0 = hq 0 ; ; 0 ; q 0 0 ; F 0 i. Idee: tukeldme olekute hulg ekvivlentsiklssideks. { Olekud p; q 2 Q on ekvivlentsed ehk eristmtud, kui ig s~on w 2? korrl utomt, lustdes neist olekutest, m~oleml juhul ks ~onnestu v~oi e~onnestu. { Ig theg uleminek vii ekvivlentsed olekud ekvivlentseteks olekuteks. 17 / 22

Determineeritud l~opliku utomdi minimiseerimine Minimiseerimise lgoritm: Eemdme k~oik lgolekust q 0 kttesmtud olekud. Jrelejnud olekute hulgl leime suurim tukelduse ekvivlentsiklssideks. Konstrueerime uue utomdi A 0 = hq 0 ; ; 0 ; q 0 0 ; F 0 i, kus { olekutehulk Q 0 = ; { lgolek q 0 0 = P 0, kus P 0 2 j q 0 2 P 0 ; { l~oppolekute hulk F 0 = fp 2 j P \ F 6= ;g; { uleminekufunktsioon 0 = f(p i ; ) 7! P j j P j 2 move(p i ; )g. 18 / 22

Determineeritud l~opliku utomdi minimiseerimine Niivne lgoritm tukelduse leidmiseks: P := ff; Q n F g; do := P ; P := ;; forech S 2 do forech 2 do U := ft 2 j T \ move(s; ) 6= ;g; V := fs \ move 1 (T ) j T 2 Ug; P := P [ V ; end end until = P ; 19 / 22

Determineeritud l~opliku utomdi minimiseerimine Toodud lgoritm proovi igs itertsioonis peenendd k~oiki tukke. { Hlviml juhul ruutkeerukuseg. { Piis, kui vdeld inult neid tukke, millest on v~oimlik liikud m~ond l~ohenenud tukki. Hopcroft'i lgoritm tukelduse leidmiseks: { ksut toolisti veel li vtmt peenenenud tukkide hoidmiseks; { kui m~oni vljspool toolisti olev tukk l~ohene, siis piguttkse inult uks (viksem) lmtukk toolisti. 20 / 22

Determineeritud l~opliku utomdi minimiseerimine Hopcroft'i lgoritm: := ff; Q n F g; W := ; while 9S 2 W do W := W n S; forech 2 do P := move 1 (S); forech R 2 ft 2 j T \ P 6= ;; T 6 P g do R 1 := R \ P ; R 2 := R n R 1 ; := ( n R) [ fr 1 ; R 2 g; if R 2 W then W := (W n R) [ fr 1 ; R 2 g; else if jr 1 j jr 2 j then W := W [ fr 1 g; else W := W [ fr 2 g; end end end 21 / 22

Determineeritud l~opliku utomdi minimiseerimine Nide { regulrvldisele ( j )? vstv DFA minimiseerimine: q0 q1 q3 q4 q2 22 / 22

Determineeritud l~opliku utomdi minimiseerimine Nide { regulrvldisele ( j )? vstv DFA minimiseerimine: q0 q1 q3 q4 q2 22 / 22

Determineeritud l~opliku utomdi minimiseerimine Nide { regulrvldisele ( j )? vstv DFA minimiseerimine: q0 q1 q3 q4 q2 22 / 22

Determineeritud l~opliku utomdi minimiseerimine Nide { regulrvldisele ( j )? vstv DFA minimiseerimine: q0 q1 q3 q4 q2 22 / 22

Determineeritud l~opliku utomdi minimiseerimine Nide { regulrvldisele ( j )? vstv DFA minimiseerimine: q0 q1 q3 q4 q2 22 / 22

Determineeritud l~opliku utomdi minimiseerimine Nide { regulrvldisele ( j )? vstv DFA minimiseerimine: q0 q1 q3 q4 22 / 22