Kontekstivabad keeled

Σχετικά έγγραφα
Kontekstivabad keeled

T~oestatavalt korrektne transleerimine

HULGATEOORIA ELEMENTE

Formaalsete keelte teooria. Mati Pentus

Lokaalsed ekstreemumid

Kirjeldab kuidas toimub programmide täitmine Tähendus spetsifitseeritakse olekuteisendussüsteemi abil Loomulik semantika

Funktsiooni diferentsiaal

ITI 0041 Loogika arvutiteaduses Sügis 2005 / Tarmo Uustalu Loeng 4 PREDIKAATLOOGIKA

HAPE-ALUS TASAKAAL. Teema nr 2

Kompleksarvu algebraline kuju

KOMBINATSIOONID, PERMUTATSIOOND JA BINOOMKORDAJAD

Geomeetrilised vektorid

Keerukusteooria elemente

MATEMAATIKA TÄIENDUSÕPE MÕISTED, VALEMID, NÄITED LEA PALLAS XII OSA

Graafiteooria üldmõisteid. Graaf G ( X, A ) Tippude hulk: X={ x 1, x 2,.., x n } Servade (kaarte) hulk: A={ a 1, a 2,.., a m } Orienteeritud graafid

MATEMAATIKA TÄIENDUSÕPE MÕISTED, VALEMID, NÄITED, ÜLESANDED LEA PALLAS VII OSA

Arvuteooria. Diskreetse matemaatika elemendid. Sügis 2008

2.2.1 Geomeetriline interpretatsioon

Ruumilise jõusüsteemi taandamine lihtsaimale kujule

Mudeliteooria. Kursust luges: Kalle Kaarli september a. 1 Käesoleva konspekti on L A TEX-kujule viinud Indrek Zolk.

Θεωρία Υπολογισμού και Πολυπλοκότητα

28. Sirgvoolu, solenoidi ja toroidi magnetinduktsiooni arvutamine koguvooluseaduse abil.

Punktide jaotus: kodutööd 15, nädalatestid 5, kontrolltööd 20+20, eksam 40, lisapunktid Kontrolltööd sisaldavad ka testile vastamist

9. AM ja FM detektorid

YMM3740 Matemaatilne analüüs II

ALGEBRA I. Kevad Lektor: Valdis Laan

2. HULGATEOORIA ELEMENTE

Matemaatiline analüüs I iseseisvad ülesanded

Eesti koolinoorte XLVIII täppisteaduste olümpiaadi

Ehitusmehaanika harjutus

KATEGOORIATEOORIA. Kevad 2016

Lambda-arvutus. λ-termide süntaks. Näiteid λ-termidest. Sulgudest hoidumine. E ::= V muutuja (E 1 E 2 ) aplikatsioon (λv.

KATEGOORIATEOORIA. Kevad 2010

MATEMAATILISEST LOOGIKAST (Lausearvutus)

Diskreetne matemaatika 2016/2017. õ. a. Professor Peeter Puusemp

4.1 Funktsiooni lähendamine. Taylori polünoom.

1 Funktsioon, piirväärtus, pidevus

Suhteline salajasus. Peeter Laud. Tartu Ülikool. peeter TTÜ, p.1/27

1 Reaalarvud ja kompleksarvud Reaalarvud Kompleksarvud Kompleksarvu algebraline kuju... 5

1.1. NATURAAL-, TÄIS- JA RATSIONAALARVUD

4.2.5 Täiustatud meetod tuletõkestusvõime määramiseks

2017/2018. õa keemiaolümpiaadi piirkonnavooru lahendused klass

Matemaatiline analüüs I iseseisvad ülesanded

Jätkusuutlikud isolatsioonilahendused. U-arvude koondtabel. VÄLISSEIN - COLUMBIA TÄISVALATUD ÕÕNESPLOKK 190 mm + SOOJUSTUS + KROHV

Algebraliste võrrandite lahenduvus radikaalides. Raido Paas Juhendaja: Mart Abel

,millest avaldub 21) 23)

PLASTSED DEFORMATSIOONID

Vektorid II. Analüütiline geomeetria 3D Modelleerimise ja visualiseerimise erialale

Eesti koolinoorte XLI täppisteaduste olümpiaad

Planeedi Maa kaardistamine G O R. Planeedi Maa kõige lihtsamaks mudeliks on kera. Joon 1

Semantiline analüüs. Süntaksipuu dekoreeritakse tüübi- ja muu kontekstist sõltuva

Eesti koolinoorte 43. keemiaolümpiaad

Koduseid ülesandeid IMO 2017 Eesti võistkonna kandidaatidele vol 4 lahendused

Sisukord. 3 T~oenäosuse piirteoreemid Suurte arvude seadus (Law of Large Numbers)... 32

Funktsioonide õpetamisest põhikooli matemaatikakursuses

Keemia lahtise võistluse ülesannete lahendused Noorem rühm (9. ja 10. klass) 16. november a.

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)

1 Kompleksarvud Imaginaararvud Praktiline väärtus Kõige ilusam valem? Kompleksarvu erinevad kujud...

Prisma. Lõik, mis ühendab kahte mitte kuuluvat tippu on prisma diagonaal d. Tasand, mis. prisma diagonaal d ja diagonaaltasand (roheline).

Sisukord. 4 Tõenäosuse piirteoreemid 36

6 Mitme muutuja funktsioonid

Krüptoloogia II: Sissejuhatus teoreetilisse krüptograafiasse. Ahto Buldas

Ivar Tammeraid itammeraid/ MATEMAATILINE ANALÜÜS I. Elektrooniline õppevahend

Lexical-Functional Grammar

Aritmeetilised ja loogilised operaatorid. Vektor- ja maatriksoperaatorid

3. LOENDAMISE JA KOMBINATOORIKA ELEMENTE

Joonis 1. Teist järku aperioodilise lüli ülekandefunktsiooni saab teisendada võnkelüli ülekandefunktsiooni kujul, kui

Eesti koolinoorte XLIX täppisteaduste olümpiaad

Avaliku võtmega krüptograafia

ΔΗΜΟΤΙΚΕΣ ΕΚΛΟΓΕΣ 18/5/2014 ΑΚΥΡΑ

20. SIRGE VÕRRANDID. Joonis 20.1

sin 2 α + cos 2 sin cos cos 2α = cos² - sin² tan 2α =

I. Keemiline termodünaamika. II. Keemiline kineetika ja tasakaal

LOOGIKA ELEMENTE MATEMAATIKAS. GEOMEETRIA AKSIOMAATILISEST ÜLESEHITUSEST. Koostanud Hilja Afanasjeva

4 T~oenäosuse piirteoreemid Tsentraalne piirteoreem Suurte arvude seadus (Law of Large Numbers)... 32

Vektori u skalaarkorrutist iseendaga nimetatakse selle vektori skalaarruuduks ja tähistatakse (u ) 2 või u 2 u. u v cos α = u 2 + v 2 PQ 2

Matemaatiline analüüs II praktikumiülesannete kogu a. kevadsemester

Eesti LIV matemaatikaolümpiaad

ibemo Kazakhstan Republic of Kazakhstan, West Kazakhstan Oblast, Aksai, Pramzone, BKKS office complex Phone: ; Fax:

!"#$ %"&'$!&!"(!)%*+, -$!!.!$"("-#$&"%-

KORDAMINE RIIGIEKSAMIKS VII teema Vektor. Joone võrrandid.

1 Entroopia ja informatsioon

DEF. Kolmnurgaks nim hulknurka, millel on 3 tippu. / Kolmnurgaks nim tasandi osa, mida piiravad kolme erinevat punkti ühendavad lõigud.

Ivar Tammeraid itammeraid/ MATEMAATILINE ANALÜÜS I. Elektrooniline õppevahend

HSM TT 1578 EST EE (04.08) RBLV /G

8. KEEVISLIITED. Sele 8.1. Kattekeevisliide. Arvutada kahepoolne otsõmblus terasplaatide (S235J2G3) ühendamiseks. F = 40 kn; δ = 5 mm.

Analüütilise geomeetria praktikum II. L. Tuulmets

Skalaar, vektor, tensor

Sissejuhatus mehhatroonikasse MHK0120

Matemaatiline analüüs IV praktikumiülesannete kogu a. kevadsemester

Tuletis ja diferentsiaal

Krüptoräsid (Hash- funktsioonid) ja autentimine. Kasutatavaimad algoritmid. MD5, SHA-1, SHA-2. Erika Matsak, PhD

Compress 6000 LW Bosch Compress LW C 35 C A ++ A + A B C D E F G. db kw kw /2013

Digitaaltehnika Loengukonspekt

aab aabb aaabb aaaabb aaaabb aaaabb

!"#$ "%&$ ##%&%'()) *..$ /. 0-1$ )$.'-

5. TUGEVUSARVUTUSED PAINDELE

KORDAMINE RIIGIEKSAMIKS V teema Vektor. Joone võrrandid.

Mathcadi tööleht ja vormistamisvahendid

Skalaar, vektor, tensor

Transcript:

Kontekstivabad keeled Teema 2.1 Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 1 / 27

Loengu kava 1 Kontekstivabad grammatikad 2 Süntaksipuud 3 Chomsky normaalkuju Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 2 / 27

Järgmine punkt 1 Kontekstivabad grammatikad 2 Süntaksipuud 3 Chomsky normaalkuju Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 3 / 27

Programmi struktuur puuna i f a=b then x :=2 ( a 3) e l s e x := a b a+b ; IF = := := a b x * x * 2 - abs abs a 3 - + a b a b Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 4 / 27

Programmipuu interpreteerimine Avaldis: Puu: c (a + b) * c + a b P r o c e d u r e e x e c u t e ( puu ) ; b e g i n w h i l e r e a d ( e l )!= empty do i f a r i t y ( e l )=0 then push ( e l ) f i ; i f a r i t y ( e l )=1 then push ( a p p l y ( e l, pop ( ) ) ) f i ; i f a r i t y ( e l e m e n t )=2 then push ( a p p l y 2 ( e l, pop ( ), pop ( ) ) ) f i ; od ; r e t u r n ( pop ( ) ) ; end ; Puu lõppjärjekorras: c a b + Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 5 / 27

Loomuliku keele lause struktuur S NF TF N OMF N T NF Päkapiku M OM kasv tingib NF N liiga napp N N jõuluvanaks tema sobimatuse (Слишком маленький рост гнома заставляет его несовместимость быть Дед Морозом.) Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 6 / 27

Fraasistruktuuri grammatika eelmise näite korral S NF TF NF N OMF N NF NF N NF N N TF T NF OMF M OM N Päkapiku N kasv N tema N sobimatuse N jõuluvanaks M liiga OM napp Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 7 / 27

Fraasistruktuuri grammatika eelmise näite korral... ehk sama lühemalt: S NF TF NF N OMF N NF N N N TF T NF OMF M OM N Päkapiku kasv tema sobimatuse jõuluvanaks M liiga OM napp Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 7 / 27

Fraasistruktuuri grammatika eelmise näite korral... ehk sama lühemalt: S NF TF NF N OMF N NF N N N TF T NF OMF M OM Tuletus grammatikas: N Päkapiku kasv tema sobimatuse jõuluvanaks M liiga OM napp S NF TF N OMF N TF Päkapiku OMF N TF Päkapiku M OM N TF Päkapiku liiga OM N TF Päkapiku liiga napp N TF Päkapiku liiga napp kasv TF Päkapiku liiga napp kasv T NF Päkapiku liiga napp kasv tingib NF Päkapiku liiga napp kasv tingib N NF Päkapiku liiga napp kasv tingib tema NF Päkapiku liiga napp kasv tingib tema N N Päkapiku liiga napp kasv tingib tema sobimatuse N Päkapiku liiga napp kasv tingib tema sobimatuse jõuluvanaks Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 7 / 27

Terminoloogiast seoses fraasistruktuuri grammatikatega Sõnad nagu päkapiku, tingib, sobimatuse jne on terminaalid; Tähised nagu S, T, OMF jne on mitteterminaalid ehk muutujad; terminaalide järjendit nimetatakse terminaalseks sõneks või lauseks, näiteks Päkapiku liiga napp kasv ; Sõne (erijuhul ε), mis sisaldab mitteterminaale ja terminaale (terminaalid võivad ka puududa) nimetatakse lausevormiks, näiteks NF TF või Päkapiku liiga OM N tingib NF Grammatikareeglit nagu NF N OMF N või N kasv nimetatakse produktsiooniks; Kui lausevormi β saab lausevormist α ühe tuletussammuga, st tema saamiseks on α üks mitteterminaal asendatud ühe produktsiooni parema poolega, öeldakse, et β on lausevormist α vahetult tuletatav ja kirjutatakse α β; Kui lausevormi β saab lausevormist α mitme järjestikuse vahetu tuletatavuse sammuga, on β lausevormist α tuletatav ja kirjutatakse α + β; Kui β on lausevormist α tuletatav k sammuga, kirjutatakse α k β; Kui α = β või α + β, kirjutatakse α β Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 8 / 27

Vahetu tuletatavus ja tuletatavus KV grammatika korral Definitsioon Lausevorm β on vahetult tuletatav lausevormist α (tähistus α β), kui mitteterminaali N ja lausevormide γ, δ ja ϕ korral on täidetud tingimused α = γnδ; β = γϕδ; grammatikas leidub produktsioon N ϕ. Definitsioon Lausevorm β on tuletatav lausevormist α (tähistus α β), kui leiduvad lausevormid γ 0,γ 1,...,γ k, kus k {0,1,2,...}, nii et α = γ 0 ; β = γ k ; γ 0 γ 1 γ k. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 9 / 27

Vahetu tuletatavus ja tuletatavus KV grammatika korral Definitsioon Lausevorm β on vahetult tuletatav lausevormist α (tähistus α β), kui mitteterminaali N ja lausevormide γ, δ ja ϕ korral on täidetud tingimused α = γnδ; β = γϕδ; grammatikas leidub produktsioon N ϕ. Alternatiivne definitsioon: Definitsioon Lausevorm β on tuletatav lausevormist α (tähistus α β), kui mingi k {0,1,2,...} korral α k β. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 9 / 27

KV grammatika ja KV keel Definitsioon Kontekstivabaks grammatikaks (lühemalt KV grammatikaks) nimetatakse nelikut G = (N,Σ,P,S), kus 1 N on mitteterminaalide tähestik; 2 Σ on terminaalide tähestik (eeldatakse, et N Σ = ); 3 P N V on produktsioonide lõplik hulk, kus V = N Σ; 4 S N on lähtesümbol. Definitsioon KV grammatikaga G = (N,Σ,P,S) genereeritav keel on sõnede hulk L (G) = {x S x ning x Σ }. Definitsioon Sõnede hulk L on kontekstivaba keel (KV keel), kui leidub KV grammatika G, nii et L = L (G). Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 10 / 27

Kokkuleppelised tähistused a,b,c,... ja 0,1,...,9 terminaalid; A,B,C,...,S mitteterminaalid, kusjuures S on grammatika lähtesümbol; T,U,V,...,Z terminaalid või mitteterminaalid; α,β,... lausevormid; u,v,...,z terminaalsed sõned. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 11 / 27

Aritmeetilise avaldise grammatika S S + T S T T T F T F F (S) F a Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 12 / 27

Millise keele genereerib grammatika? Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 13 / 27

Millise keele genereerib grammatika? (2) Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 14 / 27

Järgmine punkt 1 Kontekstivabad grammatikad 2 Süntaksipuud 3 Chomsky normaalkuju Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 15 / 27

Süntaksipuud KV-grammatikate produktsioonid on esitatavad elementaarpuudena: Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 16 / 27

Süntaksipuud (2) Elementaarpuude ühendamise tulemusena saadud puud nimetatakse süntaksipuuks grammatikas G. Süntaksipuu t: S T Süntaksipuu krooniks on lausevorm: Kr(t) = a (S + a) T * F F a ( S S + T ) Täielikku süntaksipuud nimetatakse (oma krooni) tuletuspuuks. F a Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 17 / 27

Ühesed keeled ja grammatikad Olgu antud grammatika G produktsioonidega L 1 = L (G) = (a(b + c)) a S SbS S ScS S a Sõnel abaca on grammatika G korral kaks tuletuspuud Tuletuspuud a) b) S S S b S S c S a S c S S b S a a a a a Igale vasaktuletusele vastab täpselt üks tuletuspuu: a) S SbS abs abscs abacs abaca b) S ScS SbScS abscs abacs abaca Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 18 / 27

Ühesed keeled ja grammatikad (2) Definitsioon KV-grammatika G on ühene, kui iga sõne x L (G) korral leidub ainult üks tuletuspuu (= üks vasaktuletus). Definitsioon KV-keel L on ühene, kui kui leidub ühene KV-grammatika G, nii et L = L (G). Keel L 1 on ühene S a S aa A bs A cs Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 19 / 27

Ühesed keeled ja grammatikad (3) Teoreem Olgu L 1 ja L 2 ühesed keeled. Kui L 1 L 2 =, siis on keel L 1 L 2 samuti ühene. Kui üheste keelte ühisosa ei ole tühi, ei pruugi nende ühend olla ühene. Keeled L 2 = {a n b n c m n,m > 0} ja L 3 = {a m b n c n n,m > 0} on ühesed, vastavad grammatikad on: G 1 : {S AB,A aab,a ab,b cb,b c} G 2 : {S AB,A aa,a a,b bbc,b bc} Keel L = {a n b n c m n,m > 0} {a m b n c n n,m > 0} on mitmene! Teoreem KV-keelte ühesuse probleem pole algoritmiliselt lahenduv. Me tõestame selle hiljem. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 20 / 27

Ühesed keeled ja grammatikad (3) Teoreem Olgu L 1 ja L 2 ühesed keeled. Kui L 1 L 2 =, siis on keel L 1 L 2 samuti ühene. Kui üheste keelte ühisosa ei ole tühi, ei pruugi nende ühend olla ühene. Keeled L 2 = {a n b n c m n,m > 0} ja L 3 = {a m b n c n n,m > 0} on ühesed, vastavad grammatikad on: G 1 : {S AB,A aab,a ab,b cb,b c} G 2 : {S AB,A aa,a a,b bbc,b bc} Keel L = {a n b n c m n,m > 0} {a m b n c n n,m > 0} on mitmene! Teoreem KV-keelte ühesuse probleem pole algoritmiliselt lahenduv. Me tõestame selle hiljem. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 20 / 27

Järgmine punkt 1 Kontekstivabad grammatikad 2 Süntaksipuud 3 Chomsky normaalkuju Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 21 / 27

Chomsky normaalkuju Definitsioon KV gramaatika G = (N,Σ,P,S) on Chomsky normaalkujul, kui tema produktsioonid on ühel järgmisetst kujudest A BC A a S ε kus S on grammatika lähtesümbol ning A, B ja C on mitteterminaalid ning B ja C ei ole lähtesümbolid. Teoreem Iga KV keel on genereeritav KV grammatikaga Chomsky normaalkujul. Tõestuse idee: Teisendada KV grammatika ekvivalentseks grammatikaks Chomsky normaalkujul järgmiste sammudega: Lisame uue lähtesümboli S 0 ; Elimineerime tühja sõne produktsioonidest kujul A ε; Elimineerime ahelproduktsioonid kujul A B Sobitame produktsioone nii, et grammatika genereeriks sama keele; Teisendame produktsioonid nõutud kujule. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 22 / 27

Chomsky normaalkuju Definitsioon KV gramaatika G = (N,Σ,P,S) on Chomsky normaalkujul, kui tema produktsioonid on ühel järgmisetst kujudest A BC A a S ε kus S on grammatika lähtesümbol ning A, B ja C on mitteterminaalid ning B ja C ei ole lähtesümbolid. Teoreem Iga KV keel on genereeritav KV grammatikaga Chomsky normaalkujul. Tõestuse idee: Teisendada KV grammatika ekvivalentseks grammatikaks Chomsky normaalkujul järgmiste sammudega: Lisame uue lähtesümboli S 0 ; Elimineerime tühja sõne produktsioonidest kujul A ε; Elimineerime ahelproduktsioonid kujul A B Sobitame produktsioone nii, et grammatika genereeriks sama keele; Teisendame produktsioonid nõutud kujule. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 22 / 27

Chomsky normaalkuju: tõestus Samm 1: Lisada grammatikale uus algsümbol S 0 ja produktsioon S 0 S. Tagab selle, et ühegi produktsiooni parem pool ei sisalda lähtesümbolit. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 23 / 27

Chomsky normaalkuju: tõestus Samm 2: Elimineerida tühja parema poolega produktsioonid. Iga produktsiooni jaoks kujul A ε korrata järgmisi samme seni, kuni kõik tühja parema poolega produktsioonid on kustutatud, välja arvatud produktsioon S 0 ε: Kustutada produktsioon A ε; Iga produktsiooni R uav jaoks lisada produktsioon R uv; Iga produktsiooni R uavaw jaoks lisada produktsioonid R uvaw, R uavw ja R uvw; Analoogiliselt eelmisele punktile lisada uued produktsioonid iga produktsiooni jaoks, mille paremas pooles on 3 või enam mitteterminaali A; Iga produktsiooni R A jaoks lisada produktsioon R ε, välja arvatud juhul, kui eelnevate sammude jooksul ei ole produktsioon R ε kustutatud. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 23 / 27

Chomsky normaalkuju: tõestus Samm 3: Elimineerida ahelproduktsioonid: Iga produktsiooni jaoks kujul A B korrata järgmisi samme seni, kuni kõik ahelproduktsioonid on kustutatud: Kustutada produktsioon A B. Iga produktsiooni B u jaoks lisada produktsioon A u, välja arvatud juhul, kui see on ahelproduktsioon, mis on varasemate sammude jooksul kustutatud. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 23 / 27

Chomsky normaalkuju: tõestus Samm 4: Teisenda produktsioonid, mis pole veel soovitud kujul: Iga produktsiooni jaoks kujul A u 1 u 2...u k, kus k 3 lisada uued mitteterminaalid N 1 N 2...N k 2 ja produktsioonid A u 1 N 1 N 1 u 2 N 2 N k 3 u k 2 N k 2 N k 2 u k 1 u k Iga eelmistes produktsioonides esineva terminaali u i jaoks lisada uus mitteterminaal U i ja produktsioon U i u i. m.o.t.t Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 23 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika S ASA ab A B S B b ε Uue lähtesümboli lisamine S ASA ab A B S B b ε S 0 S S ASA ab A B S B b ε Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika S ASA ab A B S B b ε S 0 S S ASA ab A B S B b ε Produktsiooni B ε elimineerimine S 0 S S ASA ab a A B S ε B b Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika S ASA ab A B S B b ε S 0 S S ASA ab a A B S ε B b Produktsiooni A ε elimineerimine S 0 S S ASA ab a AS SA S A B S B b Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika S ASA ab A B S B b ε S 0 S S ASA ab a AS SA S A B S B b Produktsiooni S S elimineerimine S 0 S S ASA ab a AS SA A B S B b Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika S ASA ab A B S B b ε S 0 S S ASA ab a AS SA A B S B b Produktsiooni S 0 S elimineerimine S 0 ASA ab a AS SA S ASA ab a AS SA A B S B b Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika S ASA ab A B S B b ε S 0 ASA ab a AS SA S ASA ab a AS SA A B S B b Produktsiooni A B elimineerimine S 0 ASA ab a AS SA S ASA ab a AS SA A S b B b Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika S ASA ab A B S B b ε S 0 ASA ab a AS SA S ASA ab a AS SA A S b B b Produktsiooni A S elimineerimine S 0 ASA ab a AS SA S ASA ab a AS SA A b ASA ab a AS SA B b Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika S ASA ab A B S B b ε S 0 ASA ab a AS SA S ASA ab a AS SA A b ASA ab a AS SA B b Lõputeisendused S 0 AA 1 CB a AS SA S AA 1 CB a AS SA A b AA 1 CB a AS SA B b A 1 SA C a Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Chomsky normaalkujule teisendamine: näide KV grammatika Chomsky normaalkuju S ASA ab A B S B b ε S 0 AA 1 CB a AS SA S AA 1 CB a AS SA A b AA 1 CB a AS SA B b A 1 SA C a S A B b a S B ε A B b A b S 0 S a A 1 A b Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 27

Cocke-Kasami-Younger i algoritm (CKY-algoritm) Antud: KV grammatika G Chomsky normaalkujul ja sõne w = w 1...w n. Tulemus: Kui w L (G), siis accept, vastasel juhul reject. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 25 / 27

CKY algoritm (2) 1,4 1,3 2,4 1,2 2,3 3,4 1,1 2,2 3,3 4,4 Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 26 / 27

CKY algoritm (2) 1,2 1,3 1,1 2,2 w 1 w 2 1,4 2,3 2,4 3,4 3,3 4,4 w 3 w 4 Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 26 / 27

CKY algoritm (2) 1,2 1,3 1,1 2,2 w 1 w 2 1,4 2,3 2,4 3,4 3,3 4,4 w 3 w 4 Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 26 / 27

CKY algoritm (3) Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 27 / 27