Obsah
IN-POS 10. Konečné automaty (FA) a logiky nad slovy
Zadání
- Logika 1.řádu (FOL) a monadická logika 2.řádu (MSOL):
- syntax a sémantika FOL a MSOL,
- principy převoditelnosti mezi FA a formulemi MSOL.
- Automaty nad nekonečnými slovy a omega-regulární jazyky.
- IA006
Vypracování
Logika prvního řádu (FOL) nad slovy
FOL obecně je zpracována v jiné otázce:
http://statnice.dqd.cz/home:inf:ap14
Syntax
| pozice | |
unární predikát značící, že na pozici a |
|
| pozice |
|
| logické spojky | |
| kvantifikace | |
| + rovnost |
Monadická logika druhého řádu (MSO) nad slovy
Syntax
| pozice | |
unární predikát značící, že na pozici a |
|
| pozice |
|
| logické spojky | |
| kvantifikace | |
| proměnné druhého řádu (množiny pozic) | |
| |
|
| kvantifikace nad množinami pozic |
Proměnné ve formuli mohou být:
- vázané pomocí kvantifikátoru
- volné (zpravidla píšeme za jméno formule)
Sentence
sentence = uzavřená formule = formule bez volných proměnných
Jazyky zadané sentencí MSO
- Sentence MSO
= vlastnost slov
- Slovo
vlastnost
:
- má:
- nemá:
Valuace formulí
Valuace přiřazuje hodnotu volným proměnným.
Vztah FA a formulí MSOL
Regulární jazyky = jazyky definovatelné MSO.
Převod NFA na formuli MSO
NFA → sentence MSO
t.ž.
| máme množinu pozic odpovídající stavům původního automatu | |
| každá pozice odpovídá některému stavu | |
| každá pozice neodpovídá dvěma různým stavům | |
| první prvek odpovídá počátečnímu stavu | |
| definice přechodů | |
| poslední prvek odpovídá finálnímu stavu | |
First, Succ, Last jsou jednoduše definovatelná makra
Dle slidů je někde chybka..;-(
Převod sentence MSOL na NFA
Využijeme čisté MSOL (logika bez prvního řádu):
| proměnné jen druhého řádu (množiny pozic) | |
unární predikát značící, že na všech pozicách z a |
|
| něco z |
|
| logické spojky | |
| kvantifikace (jen 2. řád) | |
- „Čistá“ MSOL je ekvivalentní MSOL.
- Pro zápis čisté MSOL v MSOL máme makra pro syntaxi, která v MSOL není.
- Pro zápis MSOL v čísté MSOL nahradíme všechny prvořádové proměnné
druhořádovou proměnnou
a přidáme
.
- 1. zakódujeme valuace MSOL
- pro formuli s k proměnnými půjde o k+1-tici
- 2. máme překlad pro jednotlivé výrazy MSOL
- začínáme u podformulí a spojujeme dohromady
- Složitost
- NFA → MSOL:
- MSOL → NFA:
Automaty nad nekonečnými slovy a omega-regulární jazyky
- Automaty
- NFA A =
- Por nekonečná slova máme rozdílné akceptační podmínky (
značí stavy, které běh
navštíví
:
- Büchi
- cíl:
- Muller
- cíl:
- Rabin
- cíl:
Omega-regulární jazyky
Jazyky akceptované:
- nedeterministickými Büchiho automaty (BA)
- (ne)deterministickými Mullerovy automaty
- (ne)deterministickými Rabinovy automaty
Jazyky jsou uzavřeny na:
a
.
- doplněk
- Jazyky akceptované deterministickým BA nejsou uzavřeny na doplněk ⇒ det. BA nepopisují celou třídu omega-regulárních jazyků.
