Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilRostislav Zeman
1
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
2
Automat na kávu Q={0,1,2,3,4,5} A={1,2,5} q 0 =0 K={5} 012345 1123455 2234555 5555555
3
Automat na rozpoznávání jazyka Vstupní abeceda A Množina A * všech posloupností symbolů z A (slov) Jazyk J je podmnožina A * Pokud se po přečtení slova dostane do stavu z K, přijímá slovo Automat přijímá právě slova z J, rozpoznává J
4
Příklad A={0,1} J je jazyk tvořený slovy se sudým počtem jedniček Q={q s, q L } q 0 = q s p(q s,0)= q s, p(q L,0)= q L, p(q S,1)= q L, p(q L,1)= q s qsqs qLqL 1
5
Úkol Navrhněte konečný automat nad abecedou {0,1}, který bude rozpoznávat jazyk tvořený slovy, kde je každý znak zdvojený Například 001100, 00, 00001111 má být přijato 00110, 001101, 0 nemá být přijato
6
Úkol Navrhněte konečný automat nad abecedou {0,1}, který bude rozpoznávat jazyk tvořený souměrnými slovy o sudé délce. Například 001100, 00, 0000110000 má být přijato 00110, 001101, 0, 00100 nemá být přijato
7
Regulární jazyky Jazyky rozpoznatelné konečným automatem Pro manipulaci nepotřebují ukládat do paměti nic kromě konečně mnoha hodnot Vzato do důsledku jsou všechny jazyky regulární a všechny počítače konečné automaty Ve skutečnosti se jedná o jazyky, které lze interpretovat (Basic, Python, makra pro Excel) Jazyky typu Pascalu, C, vyžadují paměť, zásobník
8
Nedeterministický konečný automat Přechodová funkce není jednoznačná Příklad: automat rozpoznává jazyk tvořený slovy zakončenými posloupností 010 q0q0 q1q1 q2q2 qKqK 0,1 1 0 0
9
Převod NKA na KA q0q0 q1q1 q 02 q2q2 q 01 q 0K q 12 q 1K q 012 q 2K q 12K q 01K q 02K q 012K qKqK 1 0 1
10
Převod NKA na KA q0q0 q1q1 q 02 q2q2 q 01 q 0K q 12 q 1K q 012 q 2K q 12K q 01K q 02K q 012K qKqK 1 0 0 1 0 1
11
Převod NKA na KA Každý nedeterministický konečný automat lze převést na deterministický konečný automat. Množina rozpoznávaných jazyků je stejná (regulární jazyky) Takto vzniklý deterministický konečný automat může mít až 2 n vnitřních stavů, efektivita výpočtu tedy může být katastrofální. Často se ale většina stavů nevyužije a efektivita výpočtu je přijatelná.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.