Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| msz:vlastnosti_jazyku [06. 06. 2012, 13.17:18] – [Typ 2 – Bezkontextové jazyky] pitel | msz:vlastnosti_jazyku [17. 08. 2026, 09.18:07] (aktuální) – odstraněno - upraveno mimo DokuWiki (Neznámé datum) 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Vlastnosti formálních jazyků ====== | ||
| - | ===== Uzavřenost jazyků vůči operacím ===== | ||
| - | * **Substituce** -- každý symbol věty nahradíme za některou větu substitučního jazyka pro daný symbol (substituční jazyk je stejné třídy jako jazyk) | ||
| - | * **Morfismus** -- speciální případ substituce, kdy substituční jazyk má vždy jen jednu větu (symbol vždy nahrazujeme za jednu a tu samou větu) | ||
| - | * **Inverzní morfismus** -- je operace opačná k morfismu - tj. každá věta jazyka je nahrazena za symbol tak aby náhrada byla inverzní k nějakému morfismu | ||
| - | Ostatní operace jsou obvyklé množinové operace. | ||
| - | |||
| - | ^ Jazyk ^ Sjednocení | ||
| - | ^ 3 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ||
| - | ^ 2 (deterministické) | ||
| - | ^ 2 | ✔ | ✘ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ | ✔ | | ||
| - | ^ 1 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ||
| - | ^ 0 (rekurzivní) | ||
| - | ^ 0 | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ | ✔ | | ||
| - | |||
| - | ===== Rozhodnutelnost problémů v jazycích ===== | ||
| - | * **Neprázdnost** -- obsahuje jazyk alespoň jeden řetezec? | ||
| - | * **Prázdnost** -- jazyk neobsahuje žádný řetezec? | ||
| - | * **Konečnost** -- obsahuje jazyk konečný počet řetezců? | ||
| - | * **Náležitost řetezce do jazyka** -- je daný řetezec řetezcem jazyka? | ||
| - | * **Inkluze** --je jazyk generovaný jednou gramatikou podmnožinou jazyku generovaného druhou gramtikou? | ||
| - | * **Ekvivalence gramatik** -- generují dvě gramatiky stejné jazyky? | ||
| - | |||
| - | ^ Jazyk ^ Neprázdnost | ||
| - | ^ 3 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ||
| - | ^ 2 (deterministické) | ||
| - | ^ 2 | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | | ||
| - | ^ 1 | částečně | ||
| - | ^ 0 (rekurzivní) | ||
| - | ^ 0 | částečně | ||
| - | |||
| - | ===== Vlastnosti jazyků ===== | ||
| - | ==== Typ 3 – Regulární jazyky ==== | ||
| - | === Pumping lemma === | ||
| - | Nechť //L// je nekonečný regulární jazyk. Pak existuje celočíselná konstanta //p// ≥ 0 taková, že platí: | ||
| - | |||
| - | //w// ∈ //L// ∧ |//w//| ≥ //p// => //w// = //xyz// ∧ 0 < |//y//| ≤ //p// ∧ //xyⁱz// ∈ //L// (//i// ≥ 0) | ||
| - | |||
| - | Neformálně: | ||
| - | |||
| - | <note important> | ||
| - | |||
| - | === Prefixová ekvivalence ~L === | ||
| - | Dva prvky //u//, //v// jsou prefixově ekvivalentí (//u// ~< | ||
| - | |||
| - | ∀ //w// ∈ // | ||
| - | |||
| - | Tj. pokud lze oba řetězce přidat jako prefix jakémukoli řetězci jazyka a vzniklá slova buď obě budou nebo obě nebudou v jazyce //L// | ||
| - | < | ||
| - | |||
| - | === Pravá konguruence === | ||
| - | Ekvivalence je pravou kongruencí pokud platí, že za dva ekvivalentní prvky lze připojit nějaký symbol abecedy a prvky budou stále ekvivalentní. | ||
| - | |||
| - | === Myhill-Nerodova věta === | ||
| - | - Nechť //L// je jazyk nad //Σ//, pak následující tvrzení jsou ekvivalntní: | ||
| - | * //L// je jazyk přijímaný deterministickým konečným automatem. | ||
| - | * //L// je sjednocení některých tříd rozkladu určeného pravou kongruencí na // | ||
| - | * Relace ~< | ||
| - | - Počet stavů libovolného minimálního deterministického konečného automatu přijímajícího //L// je roven indexu ~< | ||
| - | |||
| - | <note tip> | ||
| - | |||
| - | === Uzavřenost === | ||
| - | * Sjednocení, | ||
| - | * Komplement -- KA, množina koncových stavů = Q\F | ||
| - | * Průnik -- deMorganovy zákony | ||
| - | |||
| - | === Rozhodnutelnost === | ||
| - | * Neprázdnost -- ano -- DKA: // | ||
| - | * Náležitost -- ano -- DKA: //w// ∈ //L// <=> (//q//₀, //w//) ⊢< | ||
| - | * Ekvivalence -- ano -- pro každý jazyk sestavíme KA, kde množiny //Q//₁ a //Q//₂ neobsahují stejný stav. Sestrojíme KA, kde nové množiny vzniknou sjednocením původních dvou a počateční stav bude počáteční stav prvního automatu. Vypočítáme relaci nerozlišitelnosti stavů z //Q//₁ ∪ //Q//₂. Potom // | ||
| - | |||
| - | ==== Typ 2 – Bezkontextové jazyky ==== | ||
| - | === Pumpig lemma === | ||
| - | Pokud je jazyk //L// bezkontextový, | ||
| - | |||
| - | //w// = //uvxyz//, |//vy//| > 0, |//vxy//| ≤ //p//, a // | ||
| - | |||
| - | Problém, zda daný bezkontextový jazyk je deterministický bezkontextový jazyk, není obecně rozhodnutelný. | ||
| - | |||
| - | Problém, zda daná gramatika je nebo není víceznačná, | ||
| - | |||
| - | === Uzavřenost === | ||
| - | * Substituce jazyků | ||
| - | * Sjednocení -- plyne ze substituce //Lₘ//, //Lₙ// do jazyka {//m//, //n//} | ||
| - | * Konkatenace -- plyne ze substituce //Lₘ//, //Lₙ// do jazyka {//mn//} | ||
| - | * Iterace -- plyne ze substituce //Lₘ// do jazyka {// | ||
| - | * Pozitivní iterace -- plyne ze substituce //Lₘ// do jazyka {//m//}⁺ | ||
| - | * Morfismus | ||
| - | * Inverzní morfismus | ||
| - | * Průnik s regulárními jazyky -- ZA přijímající průnik na konečném řízení, zásobníkové operace zůstavají | ||
| - | * | ||
| - | === Neuzavřenost === | ||
| - | * Průnik -- jazyky // | ||
| - | * Doplněk -- deMorganových zákonů a uzavřenosti vůči sjednocení | ||
| - | |||
| - | === Rozhodnutelnost === | ||
| - | * Neprázdnost jazyka -- ano -- algoritmus určující množinu neterminálů generujících terminální řetězce | ||
| - | * Příslušnost řetězce do jazyka -- ano -- průnik NZA s KA přijímajícím řetězec //w// | ||
| - | * Konečnost jazyka -- ano -- Pumping lemma | ||
| - | * Ekvivalence jazyků -- ne -- redukce z nerozhodnutelného Postova korespondenčního problému | ||
| - | * Inkluze jazyků -- ne -- redukce z nerozhodnutelného Postova korespondenčního problému | ||
| - | ==== Deterministické bezkontextové jazyky ==== | ||
| - | === Uzavřenost === | ||
| - | * průnik s regulárními jazyky | ||
| - | * doplněk | ||
| - | |||
| - | ==== Neuzavřenost ==== | ||
| - | * průnik - stejně jako BKG | ||
| - | * sjednocení - stejně jako BKG | ||
| - | * konkatenace - jazyky < | ||
| - | * iterace | ||
| - | |||
| - | ==== Typ 1 - Kontextové jazyky ==== | ||
| - | === Uzavřenost === | ||
| - | * sjednocení | ||
| - | * průnik | ||
| - | * konkatenace | ||
| - | * iterace | ||
| - | * doplněk | ||
| - | |||
| - | === Rozhodnutelnost === | ||
| - | * členství věty - ano - rekurzivnost | ||
| - | * inkluze jazyků - ne | ||
| - | |||
| - | ==== Typ 0 - Rekurzivně vyčíslitelné jazyky ==== | ||
| - | ;Riceova věta | ||
| - | : Každá netriviální vlastnost rekurzivně vyčíslitelných jazyků je nerozhodnutelná. | ||
| - | : Každá netriviální nemonotónní vlastnost rekurzivně vyčíslitelných jazyků není ani částečně rozhodnutelná. | ||
| - | * Pozn.: Triviální vlastnost - je vždy pro všechny množiny pravdivá nebo nepravdivá | ||
| - | * Pozn.: Monotónní vlastnost - pokud monotónní vlastnost platí v podmnožině tak platí i v nadmnožině | ||
| - | |||
| - | ; Jsou-li jazyky < | ||
| - | |||
| - | === Uzavřenost === | ||
| - | * sjednocení | ||
| - | * průnik | ||
| - | * konkatenace | ||
| - | * iterace | ||
| - | |||
| - | === Neuzavřenost === | ||
| - | * doplněk - nelze požít postup jako u úplného TS, cyklení zůstane | ||
| - | |||
| - | === Rozhodnutelnost === | ||
| - | * náležitost jazyka - částečně - úplný TS, který bude simulovat TS nad daným řetězcem w | ||
| - | |||
| - | ==== Rekurzivní jazyky ==== | ||
| - | === Uzavřenost === | ||
| - | * doplněk - TS vždy zastaví, při nepřijetí řetězce přejde do stavu REJECT. Doplněk dostaneme záměnou stavu REJECT s původním koncovým stavem. | ||