/1: Teoretická informatika(ti) přednáška 4

Podobné dokumenty
/01: Teoretická informatika(ti) přednáška 5

Překladač sestrojující k regulárnímu výrazu ekvivalentní konečný automat Připomeňme si jednoznačnou gramatiku G pro jazyk RV({a, b})

Formální jazyky a gramatiky Teorie programovacích jazyků

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Bezkontextové gramatiky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května / 49

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE.

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

Jednoznačné a nejednoznačné gramatiky

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

Automaty a gramatiky

Vztah jazyků Chomskeho hierarchie a jazyků TS

Na rozšiřující přednášce minulý týden jsme se věnovali zejména. algoritmu, který k zadanému konečnému automatu sestrojí ekvivalentní regulární výraz

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

Výroková a predikátová logika - II

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Formální jazyky a automaty Petr Šimeček

Syntaxí řízený překlad

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března / 50

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Matematická logika. Rostislav Horčík. horcik

Teoretická informatika - Úkol č.1

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března / 32

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/31

Učební texty k státní bakalářské zkoušce Programování Základy teoretické informatiky. študenti MFF 15. augusta 2008

Popište a na příkladu ilustrujte(rychlý) algoritmus testující, zda dané dva automaty jsou izomorfní.

1.Charakterizujte křížový překladač 2.Objasněte pojem silikonový překladač 3.Co to jsou formátory textu? Uveďte příklad

4.2 Syntaxe predikátové logiky

Výroková a predikátová logika - II

Úvod do teoretické informatiky

Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva:

Výroková logika syntaxe a sémantika

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

Výroková a predikátová logika - II

Strukturální rozpoznávání

Matematika B101MA1, B101MA2

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Formální systém výrokové logiky

Úvod do programovacích jazyků (Java)

Výroková logika. Teoretická informatika Tomáš Foltýnek

Modely Herbrandovské interpretace

Ekvivalence. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 5

1. Definujte překladač. Jaký je rozdíl mezi interpretačním a kompilačním překladačem? Co je to konverzační překladač?

Obor: Informatika Únor 2006 Okruh: Základy matematiky Otázka: 1. Jméno: Bodů:...

15 Maticový a vektorový počet II

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

AUTOMATY A GRAMATIKY

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

Lexikální analýza Teorie programovacích jazyků

Teoretická informatika průběh výuky v semestru 1

Teoretická informatika TIN 2013/2014

Bakalářská matematika I

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

LOGIKA VÝROKOVÁ LOGIKA

Návrh algoritmů pro sémantické akce při výstavbě interpretu metodou rekurzivního sestupu

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Implementace LL(1) překladů

Teoretická informatika

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Úvod do databázových systémů

2 Formální jazyky a gramatiky

Výroková a predikátová logika - VI

Vysoké učení technické v Brně Fakulta informačních technologií. Gramatiky nad volnými grupami Petr Blatný

Sémantiky programovacích jazyků

Teoretická informatika

Určete (v závislosti na parametru), zda daný integrál konverguje, respektive zda konverguje. dx = t 1/α 1 dt. sin x α dx =

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

Matematická analýza 1

Výroková logika - opakování

Výroková a predikátová logika - III

: Teoretická informatika(ti)

Matematika vzorce. Ing. Petr Šídlo. verze

Matematika pro informatiky KMA/MATA

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE FORMALISMY PRO SYNTAXÍ ŘÍZENÝ PŘEKLAD: PŘEKLADOVÉ A ATRIBUTOVÉ GRAMATIKY.

Rezoluční kalkulus pro výrokovou logiku

Interpolace, ortogonální polynomy, Gaussova kvadratura

Kapitola Výroky

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

Základy teoretické informatiky Formální jazyky a automaty

Logické programy Deklarativní interpretace

Vlastnosti regulárních jazyků

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2016


Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem

Matematická logika. Miroslav Kolařík

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

Fluktuace termodynamických veličin

Aplikace: Znalostní báze

Logika III. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Automaty a gramatiky. Roman Barták, KTIML. Separované gramatiky. Kontextové gramatiky. Chomského hierarchie

Vlastní čísla a vlastní vektory

Transkript:

456-330/1: Teoretická informatika(ti) přednáška 4 prof. RNDr Petr Jančar, CSc. katedra informatiky FI VŠB-TUO www.cs.vsb.cz/jancar LS 2009/2010 Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 1/ 16

(Procedury) konstrukce ZNKA k regulárnímu výrazu Sjednocení(Union) Zřetězení(Conc) Iterace(Iter) Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 2/ 16

Syntaxí řízený překlad RV na ZNKA regulárnívýraz (1 0 +10) 1 syntaktický strom 1 + 0 1 0 Conc Iter 1 Union Conc Conc Iter 0 1 0 1 lineární zápis Conc(Iter(Union(Conc(Iter(1), 0), Conc(1, 0))), 1) 1 Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 3/ 16

Bezkontextové gramatiky Příklad:aritmetickévýrazyvabecedě {a, +,, (, ) } konkrétnířetězce: a +a a, (a +a) a (a je zde atom, reprezentuje např. celé číslo) XPR a XPR XPR + XPR XPR XPR XPR XPR ( XPR ) a + () Odvození(derivace),slovaa +a a: + a + a + a +a a +a a leváderivace,praváderivace... + + + a +a a a +a a A ještě příklad derivace, která není ani levá ani pravá: + + +a a +a a +a a Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 4/ 16

Derivační strom strom odvození(derivační strom) + a + a a a a a Těmto různým stromům odpovídají různé levé derivace: + a + a + a +a a +a a + a + a +a a +a a Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 5/ 16

Bezkontextová gramatika- formálně Bezkontextová gramatika G = (Π, Σ,S,P): Π... konečná množina neterminálů, Σ...konečnámnožinaterminálů (Π Σ = ), S Π...počátečníneterminál P...konečnámnožinapravideltypu A β, kde A Π, β (Π Σ). Relace (resp. G )na (Π Σ) : jestliže ( µ 1, µ 2,A, β :) γ δ γ = µ 1 Aµ 2, δ = µ 1 βµ 2, (A β) P Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 6/ 16

Bezkontextové jazyky...reflexivníatranzitivníuzávěrrelace (nejmenší relace, která obsahuje a je reflexivní a tranzitivní) Tedy γ δ ex.posloupnost µ 0, µ 1,...,µ n tak,že γ = µ 0 µ 1 µ n = δ. (Derivace(délkyn)slova δzeslova γ.) JazykgenerovanýgramatikouG:L(G) = {w Σ S w } JazykLjebezkontextový df ex.bggtak,žel(g) =L. Značení: a,b,c,.....(proměnné,jejichžhodnotyjsou)terminály u,v,w,.....řetězceterminálů A,B,C,...,X,Y,Z...neterminály α, β, γ,.....řetězceneterminálůaterminálů(prvkyz(π Σ) ) Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 7/ 16

Levá derivace ProG = (Π, Σ,S,P) α L β(βvzniknezαlevýmpřepsáním) df u Σ, δ (Π Σ), (X γ) P: α =uxδ, β =uγδ α 0 α 1 α n jelevouderivací df α i L α i+1 (0 i n 1). Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 8/ 16

Derivační strom- formálně Derivačnístrom(vztahujícísekeG = (Π, Σ,S,P)),jeuspořádaný kořenový strom, v němž -vrcholyohodnocenyprvky Π Σ, - kořen ohodnocen S, -vrcholohodnocenýx( Π)mánásledníkyohodnocenéY 1,Y 2,...,Y n (Y i Π Σ),kde (X Y 1 Y 2...Y n ) P, - vrchol ohodnocený a ( Σ) je listem. Derivačnístromprow =a 1 a 2...a n...málistyzlevadopravaohodnoceny a 1,a 2,...,a n. Věta.Každémuderivačnímustromuproslovow(vdanégramaticeG) přirozeně odpovídá právě jedná levá derivace slova w(vyvozená z levého průchodu stromem); naopak každé levé derivaci slova w přirozeně odpovídá právě jeden derivační strom pro w. Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 9/ 16

Syntaxe, sémantika Gramatika slouží nejen pro popis syntaxe jazyka; syntaktická struktura (derivační strom) konkrétního slova je obvykle základem také pro vyhodnocení sémantiky(významu) slova. Tím významem může být např. hodnota z nějaké množiny(domény). Např. u dříve uvedených aritmetických výrazů je to(celé) číslo či program (cílovýkód)kjehovýpočtu...(interpret,kompilátor...) + 17 5 42 Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 10/ 16

Překlad RV na(zn)ka na základě derivačního stromu BG Omezmesenaabecedu Σ = {a,b}.množinaregulárníchvýrazůnad Σje dána např. následující gramatikou(symboly, ǫ zde neuvažujeme) R a b R+R R R RR R (R) regulárnívýraz syntaktický strom + a a b (a b +a) derivační strom R ( R ) R + R R R a R b a Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 11/ 16

Konstrukce(ZN)KA na základě derivačního stromu pro vrchol označený derivační strom R ( R ) R + R R R a R a b a, b: vydej příslušný(elementární) automat; RsnásledníkyR, +,R: sestavautomata 1 pro1.následníka,a 2 pro3. následníka,apaksestavavydejautomata prol(a 1 ) L(A 2 ); RsnásledníkyR,,R(podobněproR,R): sestavautomata 1 pro1.následníka,a 2 pro3. následníka,apaksestavavydejautomata prol(a 1 ) L(A 2 ); RsnásledníkyR, :sestavautomata 1 pro1. následníka,apaksestavavydejautomata prol(a 1 ) ; Rsnásledníky (,R, ):vydejautomatsestavený pro 2. následníka. Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 12/ 16

Nejednoznačné gramatiky xistence dvou různých derivačních stromů(levých derivací) pro jedno a totéž slovo... pro překlad(vyhodnocení sémantiky) závada! Připomeňme si + a + a a a a ugramatiky a + () a Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 13/ 16

Jednoznačné gramatiky a jazyky BGGjejednoznačná df každéslovozl(g)máprávějedenderivační strom(tj. právě jednu levou derivaci). V opačném případě je G nejednoznačná(či víceznačná). BezkontextovýjazykLjejednoznačný df ex.jednoznačnágtž. L(G) = L; jinak se L nazývá(vnitřně) nejednoznačný(víceznačný). Např.: L 1 = {a n b n n 0 }: S asb (jejednoznačný) L 2 = {a i b j c k (i =j) (j =k) }: S S 1 C AS 2 S 1 as 1 b S 2 bs 2 c C cc A aa Fakt:Neex.jednoznačnáBGGtž.L(G) =L 2.(L 2 jevíceznačný.) Pozn.: problém jednoznačnosti bezkontextové gramatiky je algoritmicky nerozhodnutelný(ukážeme později...). Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 14/ 16

Jednoznačné gramatiky a jazyky K(nejednoznačné) gramatice R a b R+R RR R (R) lze sestrojit ekvivalentní gramatiku, která je jednoznačná: R T +R T T FT F F F (R) C C a b Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 15/ 16

Gramatika pro booleovské formule(cvičení) Uvažujme jazyk sestávající ze všech booleovských formulí s proměnnými x1,x2,...alogickýmispojkami,, ;mohousevnichpoužívatzávorky (, ),alenenínutnéplnězávorkovat.každátakováformulejetedy řetězcem v abecedě Σ = {x,0,1,2,3,4,5,6,7,8,9,,,, (, ) } ; jakopříkladmůžesloužitřetězec ( x15 x2 x5) x21 (x2 x5), který do jazyka patří.(samozřejmě zde můžeme preferovat přehlednější zápis ( x 15 x 2 x 5 ) x 21 (x 2 x 5 ),aletonenípodstatné.) Navrhněte co nejjednodušší bezkontextovou gramatiku generující uvedený jazyk. Takto navržená(jednoduchá) gramatika asi není jednoznačná; ověřte. Zkonstruujte pak pro stejný jazyk jednoznačnou gramatiku, u níž derivační stromy přirozeně odpovídají obvyklé prioritě operátorů: negace váže silněji než konjunkce a konjunkce váže silněji než disjunkce. Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010 16/ 16