Pumpelemmaet for kontekstfrie språk

Fra Wikisida.no
Sideversjon per 25. apr. 2024 kl. 21:15 av Wikisida (diskusjon | bidrag) (Én sideversjon ble importert)
(diff) ← Eldre sideversjon | Nåværende sideversjon (diff) | Nyere sideversjon → (diff)
Hopp til navigering Hopp til søk

I teorien om formelle språk beskriver pumpelemmaet for kontekstfrie språk en fundamental egenskap for kontekstfrie språk. Lemmaet er en generalisering av pumpelemmaet for regulære språk.

Det brukes ofte for å føre et motsigelsesbevis for at et språk ikke er kontekstfritt. Det kan ikke brukes til å bevise at et språk faktisk er kontekstfritt.

Formell definisjon[rediger | rediger kilde]

Hvis et språk L er kontekstfritt eksisterer det ei pumpelengde som er større enn én sånn at enhver streng s i språket som er lengde enn pumpelengda kan deles inn i følgende streng . hvor u, v, w, x og y er substrenger. Videre må følgende krav være oppfylt for at det skal være et kontekstfritt språk

1. |vwx| ≤ p,
2. |vx| ≥ 1, og
3. uvnwxny er i L for enhver n ≥ 0.

Uformell forklaring av definisjonen[rediger | rediger kilde]

Hvis vi[hvem?] følger den formelle definisjonen sies det at v og x gjentas et vilkårlig antall ganger i strengen og utgjør pumpingen av strengen. Alle kontekstfrie språk har denne egenskapen, hvis ikke er det ikke et kontekstfritt språk. Endelige språk oppfyller pumpelemmaet ved å la pumpelengda være den maksimale strenglengda i språket pluss én. Pluss én følger fra prinsippet om at det skal kunne pumpes, dvs. at det er en substreng som skal kunne repetere et vilkårlig antall ganger.

Litteratur[rediger | rediger kilde]