Automaty a gramatiky.

Slides:



Advertisements
Podobné prezentace
Dynamické systémy.
Advertisements

ENVIRONMENTÁLNÍ INFORMATIKA A REPORTING
Základy informatiky přednášky Kódování.
Varianty Turingova stroje Výpočet funkcí pomocí TS
Implementace konečného automatu v Prologu Tato část popisuje strukturu konkrétního automatu a bude se lišit pro každý automat. 1.Definice přechodové funkce:
Název projektu: Moderní výuka s využitím ICT
Lexikální a syntaktická analýza Jakub Yaghob
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Informatika pro ekonomy II přednáška 1
Algoritmizace a programování
Časová hodnota peněz ..
 Diskrétní  Abstraktní  Sekvenční  Deterministický  Dynamický.
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)
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
POSLOUPNOSTI Mgr. Hana Križanová Střední škola, Havířov-Šumbark, Sýkorova 1/613, příspěvková organizace Tento výukový materiál byl zpracován v rámci akce.
ČÍSELNÉ SOUSTAVY Desítková Dvojková.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
3. Přednáška posloupnosti
POČET PRAVDĚPODOBNOSTI
AUTOMATY Bori · Brkos Formální jazyk {a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb} nad abecedou {a, b}
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.
Znaky dělitelnosti pěti, deseti a dvěma Mgr. Ladislava Paterová.
Dělitelnost přirozených čísel 6. ročník - Matematika
Formální modely výpočtu Tomáš Vaníček Katedra inženýrské informatiky Stavební fakulta ČVUT Thákurova 7, Praha 6 Dejvice, b407
KOMBINATORIKA 2 VARIACE k-té TŘÍDY Z n PRVKŮ S OPAKOVÁNÍM
Srovnání Petriho sítí a HDA David Ježek. Vícedimensionální automaty Klasické automaty –nemají metodu jak vyjádřit „pravou“ souběžnost událostí A, B 0.
Markéta Zakouřilová ZŠ Jenišovice VY_32_INOVACE_170
Turingův stroj.
Úvod do teorie konečných automatů
Vektorové prostory.
Mlhavost Fuzzy logika, fuzzy množiny, fuzzy čísla
2. Vybrané základní pojmy matematické statistiky
Konečné automaty a vyhledávání
Algebra v informatice Antonín Jančařík.
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.
DĚLITELNOST PŘIROZENÝCH ČÍSEL
Formální definice Konečná množina vnitřních stavů Q Konečná vstupní abeceda A Počáteční stav q 0 Množina přijímacích stavů K.
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.
Materiály jsou určeny pro výuku matematiky: 3. ročník
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Název školy: ZŠ A MŠ ÚDOLÍ DESNÉ, DRUŽSTEVNÍ 125, RAPOTÍN Název projektu: Ve svazkové škole aktivně - interaktivně Číslo projektu: CZ.1.07/1.4.00/
Název školy: ZŠ A MŠ ÚDOLÍ DESNÉ, DRUŽSTEVNÍ 125, RAPOTÍN Název projektu: Ve svazkové škole aktivně - interaktivně Číslo projektu: CZ.1.07/1.4.00/
Název školy: ZŠ A MŠ ÚDOLÍ DESNÉ, DRUŽSTEVNÍ 125, RAPOTÍN Název projektu: Ve svazkové škole aktivně - interaktivně Číslo projektu: CZ.1.07/1.4.00/
2. Hra v normálním tvaru, hra s konstantním součtem Martin Dlouhý VŠE v Praze.
Funkce. Funkce - definice Funkce je zobrazení, které každému číslu z podmnožiny množiny reálných čísel R přiřazuje právě jedno reálné číslo. Funkci značíme.
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.
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.
Dělitelnost přirozených čísel
KOMBINATORIKA Je část matematiky, která se zabývá uspořádáním daných prvků podle určitých pravidel do určitých skupin Máme množinu n různých prvků, z níž.
Definiční obor a obor hodnot
Vzdělávání pro konkurenceschopnost
DIGITÁLNÍ UČEBNÍ MATERIÁL
OZNAČENÍ MATERIÁLU: VY_32_INOVACE_104_M6
Konstrukce trojúhelníku
Dělitelnost přirozených čísel
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Informatika pro ekonomy přednáška 3
Číselné soustavy Číselné soustavy reprezentují čísla, která jsou pro nás symbolem určitého množství – kvantity. Desítkovou soustavu se učíme již v první.
Informatika pro ekonomy přednáška 3
PERMUTACE BEZ OPAKOVÁNÍ
Provozováno Výzkumným ústavem pedagogickým v Praze.
Lineární funkce a její vlastnosti
Konstrukce trojúhelníku
Dělitelnost 2 Znaky dělitelnosti dvěma Příklady
Autor: Honnerová Helena
Grafy kvadratických funkcí
Algoritmizace a datové struktury (14ASD)
Grafy kvadratických funkcí
Transkript prezentace:

Automaty a gramatiky

Automaty Jak již název napovídá, teorie automatů se zabývá studiem automatů. Nejjednodušší automat si můžeme představit jako stroj, který má omezenou paměť. Automat funguje tak, že čte znaky ze vstupu a po přečtení každého znaku vyhodnotí situaci a na základě stavu, ve kterém se nachází jeho paměť a přečteného znaku přejde do nějakého stavu paměti.

Fungování automatu Automat má vždy výchozí stav, ve kterém se nachází na začátku, před přečtením prvního znaku zadání a jeden nebo více znaků koncových. Pokud se po přečtení posledního znaku zadání automat nachází v koncovém stavu, skončil výpočet úspěchem a automat akceptoval zadání. V opačném případě automat vstupní informaci neakceptoval.

Vstupní abeceda Aby bylo vůbec možné automat vytvořit, musí být dopředu známé, jaké znaky se mohou vyskytovat na vstupu. Množinu znaků, které lze pro zadání automatu použít, nazýváme vstupní abeceda.

Konečný automat Strojem – automatem nemusí být jen nějaká černá skříňka. Příkladem automatu je například i Rubikova kostka. Vstupní abecedu tvoří všechny možné tahy, které lze s Rubikovou kostkou provést. Stavy automatu jsou všechny pozice, které lze na Rubikově kostce získat. Jedna pozice tvoří výchozí stav. Koncové stavy tvoří složená kostka. Posloupnost tahů je automatem „Rubikova kostka“ akceptována, pokud po jejím provedení je Rubikova kostka složena.

Konečný automat Automat Rubikova kostka má ohromné (ale konečné) množství stavů, ve kterých se může nacházet. Podívejme se na automat, který bude mít pouze tři stavy (0,1,2). Vstupní abecedu budou tvořit všechny číslice. Výchozí stav bude stav 0. Automat po přečtení číslice přejde do stavu, který odpovídá zbytku po dělení třemi součtu stavu, ve kterém se automat nacházel a přečtené číslice.

Kolik znaků má vstupní abeceda? 10

Popis automatu tabulkou 1 2 3 4 5 6 7 8 9

Popis grafem

Co automat dělá? Nyní se zamysleme nad tím, co vlastně uvedený automat dělá. Navržený automat čte čísla a v každém kroku se nachází ve stavu, který odpovídá zbytku přečteného čísla po dělení třemi. Pokud jako koncový stav zvolíme 0, tak číslo je automatem akceptováno právě tehdy, když je dělitelné třemi.

Co vrátí automat pro vaše rodné číslo? 1 2 3 4 5 6 7 8 9 10

Co vyšlo?

Rodné číslo 7301273254 1 2 3 4 5 6 7 8 9 10

Redukovaný konečný automat   1 2 3 4 5 6 7 8 9

Dělitelnost kolika ověřoval? 5 00

Redukce automatu Tento automat je však zbytečně komplikovaný. O dělitelnosti pěti rozhoduje pouze poslední číslice. Nemusíme tedy používat pět stavů, ale stačí nám pouze dva:

Redukce automatu Postup, při kterém je konstruován ekvivalentní automat s nižším počtem stavů, se nazývá redukce. Automat, který má nejmenší možný počet stavů, se nazývá redukovaný. V redukovaném konečném automatu je možné dosáhnout všech stavů. Odstraněním stavů, kterých automat nemůže nikdy nabýt, dostáváme vždy ekvivalentní automat.

Kolik stavů musí mít redukovaný konečný automat ověřující dělitelnost 15? 6

Formální definice konečného automatu Formálně je konečný automat definován jako uspořádaná pětice , kde: S je konečná množina stavů (např. {Ano,Ne}) Σ je konečná množina vstupních symbolů, nazývaná abeceda (např. { 0,1,2,3,4,5,6,7,8,9}). σ je tzv. přechodová funkce (též přechodová tabulka), popisující pravidla přechodů mezi stavy. Může má podobu S × Σ → S. s je počáteční stav, s je prvek S (V předchozím příkladu Ano). A je množina přijímajících stavů, A je podmnožina S (V předchozím příkladu Ano).

Sestrojte konečný automat ověřující dělitelnost 6   1 2 3 4 5 6 7 8 9

Sestrojte konečný automat ověřující dělitelnost 7 1 2 3 4 5 6 7 8 9