Unione di lingue regolari che non è regolare


12

Mi sono imbattuto in questa domanda: "Fornisci esempi di due lingue normali che la loro unione non produce una lingua normale".

Questo è abbastanza scioccante per me perché credo che le lingue normali siano chiuse sotto il sindacato. Il che significa per me che se prendo due linguaggi regolari e loro unione, io devo ottenere un linguaggio regolare.

E penso di averne capito la prova: nelle mie parole, se le lingue sono regolari, allora esistono degli automatismi che le riconoscono. Se prendiamo tutti gli stati (unione) e aggiungiamo un nuovo stato per il punto di ingresso e modifichiamo la funzione di transizione per il nuovo stato con epsilon, stiamo bene. Mostriamo anche che esiste un percorso da ogni stato ecc.

Puoi dirmi dove sbaglio o forse un altro modo di affrontare la domanda.

Fonte della domanda, esercizio 4, in francese.

Inoltre, la stessa domanda viene posta con l'intersezione.


Un altro modo di vederlo. Supponiamo che un'unione così infinita produca un linguaggio regolare. Prendere in considerazione qualsiasi non regolare la lingua . Puoi dividere i suoi elementi in un numero infinito di lingue secondarie cui ciascuna è finita (e quindi regolare). Ora fai l'unione di tutti gli . Presumendo che questo sia un linguaggio normale, ma abbiamo ipotizzato che sia un linguaggio non regolare, quindi una contraddizione. Consentire la chiusura in unione infinita renderebbe regolari tutte le lingue. L i L i L i LLLiLiLiL
Bakuriu,

Per l'unione infinita: prendi qualsiasi lingua non regolare e considera ogni . Chiaramente è regolare. L i = { w i }L={w1,w2,w3,}Li={wi}Li
Pål GD,

Risposte:


26

C'è una differenza significativa tra la domanda mentre la poni e la domanda posta nell'esercizio. La domanda richiede un esempio di un insieme di lingue regolari tali che la loro unione non è regolare. Nota l'intervallo dell'unione: da a . Le lingue regolari sono chiuse in unione finita e le prove corrono lungo le linee che tracciate nella domanda, tuttavia ciò cade a pezzi in unione infinita . Possiamo dimostrarlo prendendo per ogni (conL = i = 1 L i 1 L i = { 0 i 1 i } i Σ = { 0 , 1 } L = { 0 i 1 ii N }L1,L2,

L=i=1Li
1Li={0i1i}iΣ={0,1}). L'unione infinita di queste lingue fornisce ovviamente il linguaggio canonico non regolare (senza contesto) .L={0i1iiN}

A parte, possiamo vedere facilmente dove la normale prova fallisce. Immagina la stessa costruzione in cui aggiungiamo un nuovo stato iniziale e le transizioni ai vecchi stati iniziali. Se lo facciamo con un insieme infinito di automi, abbiamo creato un automa con un numero infinito di stati, contraddicendo ovviamente la definizione di automi finiti .ε

Infine, immagino che la confusione possa sorgere dalla frase della domanda originale, che inizia "Donner deux esemples des suites de langages ...", che è ( approssimativamente , il mio francese è un po 'arrugginito, ma verificato esternamente!) "Fornisci due esempi di sequenze di lingue ...", piuttosto che "Fornisci due esempi di lingue ...". Una lettura incautaria può confondere la seconda con la prima.


1
E definendo come set-complemento di , anche la loro intersezione sarebbe non regolare. La tua lettura in francese è corretta, non solo approssimativamente . L iMiLi
Laurent LA RIZZA,

Hai ragione sulla parte della traduzione francese. Pensavo che quella parte della sequenza non fosse importante. haha. Grazie per la risposta, la differenza ora è chiara per me.
Dave,

3

Per la tua seconda domanda, considera le lingue definite da Nota che per ogni , è regolare, poiché (1) l'insieme sinistro è finito e quindi regolare, (2) l'insieme destro è indicato dall'espressione regolare quindi è regolare, e (3) le lingue regolari sono chiuse sotto unioni finite, come già sapete.

Mn={ak21kn}{ajj(n+1)2}
n1Mnanaa

Non è troppo difficile dimostrare che per qualsiasi numero intero abbiamo e quindi così induttivamente abbiamo (di cui in realtà non abbiamo bisogno qui, ma è troppo bello per lasciarlo fuori).n1Mn+1MnMnMn+1=Mn+1

i=0nMi=Mn

Ora osserva che non contiene , quindi nessuna di queste stringhe sarà nell'intersezione completa. Di conseguenza avremo che è noto per non essere un linguaggio normale. (Se non lo sapevi, è in molti testi teorici e la prova vale la pena di leggerlo.)Mnan2+1,an2+2,,a(n+1)21

i=0Mi={an2n1}

1

Perché scegliere linguaggi regolari complicati per mostrare che i set regolari non sono chiusi in unione infinita? I linguaggi Singleton sono sufficienti per mostrare che qualsiasi linguaggio RE è un'unione infinita di insiemi regolari.

Prendere qualsiasi lingua ricorsivamente enumerabile . Ogni stringa ha un indice di enumerazione . Lascia . Ogni è un insieme singleton, quindi regolare. Ma è RE.LwLi=index(w)Li={wi=index(w)}LiL=i=1Li

Allo stesso modo, definendo , abbiamo gli insiemi che sono regolari come complementi di un insieme singleton. Quindi che è il complemento di , quindi co-RE. E ciò può essere ottenuto con qualsiasi set di co-RE.Mi=ΣLiMii=1Mi=ΣLL

Quindi qualsiasi linguaggio ricorsivo è un'unione infinita di insiemi regolari e anche un'intersezione infinita di insiemi regolari (non gli stessi, ma i loro complementi :).

L'infinito è pieno di sorprese e ciò che è vero per valori arbitrariamente grandi potrebbe non essere vero all'infinito.


1

Se fai l'unione di infiniti set di unità, puoi creare qualsiasi lingua (beh, almeno qualsiasi re lingua, perché se è indecidibile, non puoi specificare l'elenco di tutte le sue stringhe). Ad esempio, l'unione di insiemi di unità in cui ciascuno contiene una stringa palindromo diversa su {a, b}, fornisce come risultato il linguaggio palindromo (senza contesto): questo è {ϵ}{a}{b}{aa}{bb}{aaa}{aba}{bab}{bbb} ...

Si può fare qualcosa di simile con incrocio, rendendo infinitamente molti set in cui ciascuno è , dove è la esima parola palindroma, conseguente la lingua di tutti non palindromi parole (complemento del linguaggio palindromo, non -regolare).Σ{pi}pii

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.