1 / 11

Formální definice

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. Automat na kávu. Q= {0,1,2,3,4,5} A={1,2,5} q 0 =0 K={5}. Automat na rozpozn ávání jazyka. Vstupní abeceda A

jenis
Download Presentation

Formální definice

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formální definice • Konečná množina vnitřních stavů Q • Konečná vstupní abeceda A • Počáteční stav q0 • Množina přijímacích stavů K

  2. Automat na kávu • Q={0,1,2,3,4,5} • A={1,2,5} • q0=0 • K={5}

  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={qs, qL} • q0 = qs • p(qs,0)= qs, p(qL,0)= qL, p(qS,1)= qL, p(qL,1)= qs qs 1 qL

  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 0,1 • Přechodová funkce není jednoznačná • Příklad: automat rozpoznává jazyk tvořený slovy zakončenými posloupností 010 q0 0 0,1 0,1 q1 0,1 1 q2 qK 0

  9. Převod NKA na KA q012K q0 q012 q01 q01K 1 q0K q1 q02K q2K q02 q12 q2 q12K qK q1K 0 1

  10. Převod NKA na KA 1 0 q012K q0 q012 q01 0 q01K 1 q0K 1 q1 q02K q2K 0 q02 q12 q2 q12K qK q1K

  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ž 2n 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á.

More Related