share: true
aliases:
- pumping lemma
- PL
- věta o pumpování
Pumping lemma
(Česky "věta o pumpování")
-
Vlastnost regulárního jazyka
-
Platí pro každý regulární jazyk
- (ale ne obráceně - tedy pokud platí PL, jazyk může a nemusí být regulární)
-
Lze využít k důkazu, že nějaký jazyk není regulární
-
Pro automat, který obsahuje nějakou smyčku (ze stavu do sebe samého), tedy lze opakovat/pumpovat symboly nekonečněkrát
Podstata problému
- Předpokládejme jazyk by regulární
- V takovém případě by byl přijímán konečným automatem s stavy
- Nechť čte posloupnost , jednou dojde přes stavů do posledního stavu automatu - označme ho (Princip holubníku)
- tj.
- Neformálně - nemůže mít nekonečno stavů, takže po stavech zavedeme další poslední se smyčkou, kde se budou znaky hromadit
- tedy nelze poté určit jejich počet
- Mohl by nám vzniknout automat, který přijímá jiný počet než , ale to už nesplňuje zadání
- jazyk není regulární
-
Nechť je regulární jazyk, pak pro něj existuje konstanta taková, že pro každou větu platí:
-
Jestliže , pak lze zapsat ve tvaru tak, že:
- (tj. ) (smyčka nemůže být , musí mít alespoň 1 znak)
- (určitě se v první části věty () projde smyčkou)
- (smyčka se opakuje -krát)
-
Pro všechny věty , které jsou delší jak , platí, že při přijímání věty pomocí automatu se alespoň jednou projde cyklem
Příklad
- Minimální
- Jakékoliv věty délky 6 a více musí nutně procházet smyčkou, aby byly přijaty

- U konečného jazyka je minimální rovno nejdelší přijímající větě + 1
- Protože PL musí platit u všech regulárních jazyků, určením větší než nejdelší přijímanou větu ho tedy stále budeme splňovat
Vytvořeno: 7. 8. 2024, 13:25
Poslední aktualizace: 7. 8. 2024, 13:25