Formální jazyky a gramatiky

Slides:



Advertisements
Podobné prezentace
Přednáška 10 Určitý integrál
Advertisements

Deduktivní soustava výrokové logiky
GRAMATIKY Bori · Brkos 2011.
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Fakulta životního prostředí Katedra informatiky a geoinformatiky
7. Přednáška limita a spojitost funkce
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Ústav technologie, mechanizace a řízení staveb
Úvod do Teorie množin.
BRVKA Georg F.B. Riemann ( ). BRVKA Známe různé inverzní procesy (i matematické), integrování je inverzní proces k derivování. Definice: I je.
Příklady použití zásobníkového automatu
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
MATEMATIKA I.
Abeceda a formální jazyk
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Příklady jazyků Příklad 1: G=({S}, {0,1}, P, S)
Syntaxí řízený překlad
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Matice.
Predikátová logika.
V matematice existují i seskupení objektů, které nejsou množinami.
Definiční obory. Množiny řešení. Intervaly.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Pre-algebra Antonín Jančařík.
Výroková logika.
AUTOMATY Bori · Brkos Formální jazyk {a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb} nad abecedou {a, b}
Úvod do předmětu Opakování
Funkce více proměnných.
Vztah bezkontextových jazyků a ZA
Regulární výrazy Regulární výrazy představují další možnost popisu regulárních jazyků (právě od nich dostaly své jméno). Definice: Množina všech regulárních.
Lineární zobrazení.
Vztah mezi koloniemi s paralelním přepisováním Šárka Vavrečková
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Turingův stroj.
Automaty a gramatiky.
MATEMATIKA Obsah přednášky Funkce. 3. Limita funkce
Výroková logika.
2. Vybrané základní pojmy matematické statistiky
Reprezentace znalostí
String-distributing systems Top-Down / Bottom-Up Ing. Zbyněk Křivka Školitel: Doc. Alexander Meduna.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
LIMITA FUNKCE Mgr. Martina Fainová TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČR POZNÁMKY ve formátu PDF.
Matice Přednáška č.4. Definice: Soubor prvků nazýváme maticí typu i-tý řádek j-tý sloupec prvky matice.
Funkce Lineární funkce a její vlastnosti 2. Funkce − definice Funkce je předpis, který každému číslu z definičního oboru, který je podmnožinou množiny.
Číslo projektuCZ.1.07/1.5.00/ Název školyGymnázium, Soběslav, Dr. Edvarda Beneše 449/II Kód materiáluVY_42_INOVACE_12_19 Název materiáluZákladní.
MNOŽINY RNDr. Jiří Kocourek. Množina: skupina (souhrn, soubor) nějakých objektů.
Úvod do databázových systémů
Funkce Funkce je zobrazení z jedné číselné množiny do druhé, nejčastěji Buď A a B množiny, f zobrazení. Potom definiční obor a obor hodnot nazveme množiny:
ALGEBRAICKÉ STRUKTURY
Nerovnice Ekvivalentní úpravy.
1. Spojité funkce Funkce je spojitá na intervalu I, lze-li její graf nakreslit plynulou čarou, aniž zdvihneme tužku z papíru. Znamená to, že tužku nemůžeme.
Definiční obor a obor hodnot
Obsah a rozsah pojmu Pojem lze vymezit buď definicí, jež určí nutné specifické vlastnosti, anebo výčtem všech předmětů, které pod tento pojem spadají.
Výpočetní technika Akademický rok 2008/2009 Letní semestr
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
Překladače 5. Syntaktická analýza
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Soustava lineárních nerovnic
PERMUTACE BEZ OPAKOVÁNÍ
Nerovnice Ekvivalentní úpravy - 1..
Provozováno Výzkumným ústavem pedagogickým v Praze.
Provozováno Výzkumným ústavem pedagogickým v Praze.
Gödelova(y) věta(y).
MNOŽINY RNDr. Jiří Kocourek.
Sémantika PL1 Interpretace, modely
Predikátová logika.
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

Formální jazyky a gramatiky Gramatika = generativní způsob určení jazyka Považujme nyní za základní symbol slovo, vyšší je věta. Struktura věty je definována určitými pravidly: pravidla věta

Formální jazyky a gramatiky Způsob zápisu gramatických pravidel: <definovaná jednotka>  definice Lomené závorky naznačují, že jednotku je nutné dále specifikovat pomocí dalších jednotek Gramatická pravidla použitá k definici předchozí věty: <věta>  <podmětná část> <přísudková část> <podmětná část >  <podstatné jméno> <podstatné jméno >  tom < přísudková část >  <sloveso> <předmětná část> < sloveso >  hraje <předmětná část>  <podstatné jméno> <podstatné jméno >  hokej

Formální jazyky a gramatiky Přestože se to zdá být snadné, formalizace přirozeného jazyka není vůbec jednoduchá Tom hraje golf. – Golf hraje Tom.  slovosled Tom s Jirkou …. Jirka s Tomem …  skloňování Tom má rád Evu. Eva má ráda Toma.  časování I po překonání těchto obtíží budeme mít velký problém, protože každá gramatika umožňuje generovat gramaticky správné věty (syntakticky správné, přípustné), ale nezaručuje sémantickou správnost Hokej hraje hokej. Tom jí polévku. – Polévka jí Toma.

Gramatika K definici gramatiky jsou potřebné neterminální symboly = symboly, které musí být dále definovány terminální symboly = prvotní symboly jazyka přepisovací pravidla = gramatická pravidla potřebná k tvorbě vět počáteční symbol = neterminál, od něhož odvozování začíná DEF: Gramatikou nazýváme čtveřici G=(N,T,P,S), kde N je konečná množina neterminálů T je konečná množina terminálů, přičemž NT=Ø SN je počáteční (startovní, iniciační) symbol a P je množina přepisovacích pravidel, která je konečnou podmnožinou množiny (NT)*N (NT)* x (NT)*

Gramatika Poznámky k definici gramatiky: Zápis (NT)*N (NT)* x (NT)* znamená požadavek na alespoň jeden neterminál na levé straně pravidla Konečnost množin je vyžadována proto,že nekonečné množiny jednak nemají praktický smysl, nebo je lze zakódovat Užitečné konvence (BNF – Backus-Naurova forma /ALGOL/): Neterminály označujeme velkými latinskými písmeny Terminály označujeme malými latinskými písmeny Slova složená z neterminálů a terminálů označujeme malými řeckými písmeny Přepisovací pravidla se stejnou levou stranou, tj. 1, 2, …, k zapíšeme jako   1| 2| … | k

Příklady gramatik Příklad 1: G = ({A}, {a, b}, P, A), přičemž P = { A  aAb | e } Příklad 2: G = ({A, B, C}, {a, b, 0, 1}, P, B), přičemž P = { B  A | C A  aA | bA | e C  0C | 1C | e } Příklad 3: G = ({A, B, C}, {a, b, 0, 1}, P, B), přičemž P = { B  AC A  a | b | aA | bA C  0 | 1 | 0C | 1C }

Použití gramatiky Základem generování vět jazyka jsou přepisovací pravidla DEF: Buď G=(N, T, P, S) gramatika. Potom nad množinou (NT)* definujeme relaci derivace G následujícím způsobem: jestliže  (NT)* a  (NT)* , potom dané řetězce jsou v relaci G , tj.  G , pokud v P existuje pravidlo . Jestliže ,  (NT)* a platí  G , potom říkáme, že  je možné v jednom kroku odvodit (derivovat) z  (přímo odvodit).

Použití gramatiky Příklad: G = ({A, B, C}, {a, b, 0, 1}, P, B), přičemž P = { B  AC A  a | b | aA | bA C  0 | 1 | 0C | 1C } AC G aAC … přímé odvození (A  aA) AC G aAC G aaAC … postupné odvození (AC 2G aaAC ) B G AC G aAC G abC G ab1C G ab11C G ab111 (B 6G ab111 )  G …… G ……. G  ( *G  )

Použití gramatiky DEF: Nechť G=(N, T, P, S) je gramatika. Množinu řetězců (NT)* , které jsou odvoditelné z počátečního symbolu S, nazýváme množina větných forem. Množina větných forem V je formálně definována jako V={| S *G  ,  (NT)* } DEF: Nechť G=(N, T, P, S) je gramatika. Jazykem L(G) specifikovaným gramatikou G nazýváme množinu řetězců, T*, které jsou odvoditelné z počátečního symbolu S. Formálně tedy: L(G)={| S  *G  ,  T* }

Použití gramatiky Poznámky k definici: Věty jazyka L(G) jsou složeny pouze z terminálů. Pokud je z kontextu zřejmé, kterou gramatiku G při odvozování máme na mysli, stačí psát  místo  G Platí vztah 1 jazyk má 1 gramatiku? Nikoliv – i různé gramatiky mohou mít stejné odvozovací možnosti. DEF: Gramatiky G1 a G2 jsou ekvivalentní, pokud platí L(G1)=L(G2)

Příklad ekvivalentní gramatiky G1 = ({A, B, C}, {a, b,…,z}, P1, A), P1 = { A  B | AC B  a C  a | b | …. | z } G2 = ({D, E}, {a, b,…,z}, P2, D), P2 = { D  a | aE E  EE | a | b | …. | z } L(G1) = ?, L(G2) = ? L(G1) = L(G2) = {všechna slova začínající písmenem a}

Důsledky Nezáleží tedy na druhu, tvaru či počtu přepisovacích pravidel, ale rozhodující jsou odvozovací možnosti. Jelikož lze daný jazyk popsat vícero ekvivalentními gramatikami, je účelné gramatiky dále zkoumat nejen z hlediska toho, jaký jazyk popisují, ale i jakým způsobem ho popisují. Vhodným omezením tvaru přepisovacích pravidel je možné gramatiky rozdělit do tříd a v návaznosti na to klasifikovat i příslušné jazyky.

Klasifikace gramatik Noam Chomski – podle tvaru přepisovacích pravidel DEF: Nechť G=(N,T,P,S) je gramatika. Potom G je gramatika typu O (neomezená), jestliže na přepisovací pravidla neklademe žádná omezení gramatika typu 1 (kontextová), jestliže každé přepisovací pravidlo z P má tvar   , kde  (NT)* N (NT)*,  (NT)+ a platí |||  | gramatika typu 2 (bezkontextová), jestliže každé přepisovací pravidlo z P má tvar A  , A N,  (NT)* gramatika typu 3 (regulární), jestliže každé přepisovací pravidlo z P má tvar A  bB nebo A  b, kde AN, BN, bT

Doplnění prázdného slova Někdy potřebujeme specifikovat jazyk obsahující prázdné slovo i pro kontextové a regulární gramatiky (výše uvedené definice by to vylučovaly) Tradičně se reší přidáním nového počátečního symbolu S1 a dvou přepisovacích pravidel S1  S, S1  e V takovémto případě budeme i nadále mluvit o gramatice kontextové či regulární

Hierarchie gramatik Z definice jednotlivých typů gramatik je automaticky zřejmé, že: Každá regulární gramatika G je bezkontextová Každá bezkontextová gramatika G je kontextová Každá kontextová gramatika G je gramatikou bez omezení

Hierarchie jazyků DEF: Jazyk nazýváme regulární, jestliže je možné jej generovat regulární gramatikou. DEF: Jazyk nazýváme bezkontextový, jestliže je možné jej generovat bezkontextovou gramatikou. DEF: Jazyk nazýváme kontextový, jestliže je možné jej generovat kontextovou gramatikou. DEF: Jazyk nazýváme bez omezení, jestliže je možné jej generovat gramatikou bez omezení. Zřetelně platí: 1 2 3