Contesto libero question language (Pumping Lemma)
-
25-09-2019 - |
Domanda
So che questo non è direttamente correlata alla programmazione, ma mi chiedevo se qualcuno sa come applicare il lemma di pompaggio al seguente prova:
Si dimostri che L = {(a ^ n) (b ^ n) (c ^ m): n = m} non è un linguaggio libero dal contesto
Sono abbastanza fiducioso con l'applicazione lemmi di pompaggio, ma questo è veramente mi irking. Cosa ne pensi?
Soluzione
Modifica: ero totalmente pronti a percorrere la pista sbagliata. Ecco cosa succede quando si tenta di dare una mano quando non hanno completamente risolto il problema io stesso.
Ogden Lemma
L Supponiamo che è contesto libero. Per il lemma di Ogden, esiste un intero p che ha le seguenti proprietà:
Data una stringa w in L almeno lungo simboli p, dove p almeno di quei simboli sono "marcato", w può essere rappresentato come uvxyz, che soddisfano:
- x ha almeno un marcato simbolo,
- o uev entrambi hanno segnato simboli o Y e Z hanno segnato entrambi simboli,
- vxy ha al massimo p segnato dei simboli, e
- u v i x y i z è a L per i> = 0
Questo è il lemma di Ogden. Ora, sia q un numero intero divisibile per ogni intero positivo non superiore p. Sia w = a p + q b p + q c p . Segnare ogni c. Entro il 2 #, u o v deve contenere almeno un c. Se uno dei due uo V contiene qualsiasi altro simbolo, quindi # 4 non funziona, in modo da u e v deve contenere solo c. Ma poi # 4 non riesce quando i = q / | uv |. Sappiamo che q è divisibile per | uv | perché p> | uv | > 0 e q è divisibile per tutti i numeri interi positivi minore di p.
Si noti che a turno lemma di Ogden nel lemma di pompaggio quando si segnano tutti i simboli.
Pumping Lemma
L Supponiamo che è contesto libero. Dal lemma di pompaggio, c'è una lunghezza p (non necessariamente la stessa p come sopra) in modo che qualsiasi stringa w in L può essere rappresentato come uvxyz, dove
- | vxy | <= P,
- | vy | > = 1, e
- u v i x y i z è a L per i> = 0.
Data una stringa w in L, sia m> n o m Si supponga che m> n. (Si noti che Λ denota la stringa vuota.) Si supponga che n> m. Questo dimostra che nessuna stringa da L fornisce un controesempio utilizzando il lemma di pompaggio per l'ipotesi che L è un linguaggio libero dal contesto (anche se è sensibile al contesto).