definizioni
Definizione 1 : Sia un insieme di parole. Diciamo che è privo di prefissi piacevolmente infinito (nome ai fini di questa risposta) se ci sono parole e tali che:S SS Su 0 , ... , u n , ... v 1 , ... , v n , ...u0,…,un,…v1,…,vn,…
Per ogni , e sono non vuoti e iniziano con lettere distinte;n ≥ 1 n≥1u n unv nvn
S = { u 0 v 1 , … , u 0 … u n v n + 1 , … }S={u0v1,…,u0…unvn+1,…} .
L'intuizione è che puoi mettere tutte quelle parole su un infinito albero radicato (la ■
radice è, le ▲
foglie •
sono e i rimanenti nodi interni) della forma seguente in modo che le parole in siano esattamente le etichette dei percorsi dalla radice a una foglia:SS
u₀ u₁ u₂
■-----•-----•-----•⋅⋅⋅
| | |
| v₁ | v₂ | v₃
| | |
▲ ▲ ▲
Proposizione 1.1 : Un set senza prefisso piacevolmente infinito è senza prefisso.
Prova della proposizione 1.1 : Supponiamo che sia un prefisso rigoroso di . Esistono due casi:u 0 … u n v n + 1u0…unvn+1 u 0 … u m v m + 1u0…umvm+1
Se allora è un prefisso di . Questo è impossibile perché e hanno le prime lettere distinte.n < m n<mv n + 1vn+1 u n + 1 … u m v m + 1un+1…umvm+1 u n + 1un+1 v n + 1vn+1
Se allora è un prefisso di . Questo è impossibile perché e hanno le prime lettere distinte.n > m n>mu m + 1 … u n v n + 1um+1…unvn+1 v m + 1vm+1 u m + 1um+1 v m + 1vm+1
Proposizione 1.2 : Un set senza prefissi piacevolmente infinito è infinito.
Prova della proposizione 1.2 : nella prova 1.1, abbiamo dimostrato che se allora e non sono comparabili per l'ordine dei prefissi. Non sono quindi uguali.n ≠ m n≠mu 0 … u n v n + 1u0…unvn+1 u 0 … u m v m + 1u0…umvm+1
Prova principale
Proposizione 2 : qualsiasi set infinito senza prefisso contiene un bel set infinito senza prefisso.
Proposizione 3 : una lingua contiene un set senza prefisso infinito se e solo se contiene un set senza prefisso piacevolmente infinito.
Prova di seguito.
Prova della proposizione 3 : della proposizione 2. proposizioni 1.1 e 1.2.⇒ ⇒⇐⇐
Proposizione 4 : l'insieme di sottoinsiemi ben privi di prefissi di un linguaggio normale (codificato come una parola infinita ) è -regolare (e la dimensione dell'automa di Büchi che lo riconosce è polinomiale nella dimensione dell'NFA che riconosce il linguaggio normale).¯ u 0 ^ v 1 ¯ u 1 ^ v 2 ¯ u 2 …u0¯¯¯¯¯v1ˆu1¯¯¯¯¯v2ˆu2¯¯¯¯¯…ωω
Prova di seguito.
Teorema 5 : Decidere se un linguaggio regolare descritto da un NFA contiene un sottoinsieme infinito senza prefisso può essere fatto in un polinomio temporale nella dimensione del NFA.
Prova del teorema 5 : secondo la proposizione 3, è sufficiente verificare se contiene un sottoinsieme privo di prefissi piacevolmente infinito, che può essere fatto in un tempo polinomiale costruendo l'automa di Büchi dato dalla proposizione 4 e verificando la non vuoto del suo linguaggio (che può essere fatto in tempo lineare nella dimensione dell'automa di Büchi).
Prova della proposizione 2
Lemma 2.1 : Se è un set privo di prefissi, allora lo è anche (per qualsiasi parola ).S Sw - 1 S w−1Sww
Prova 2.1 : per definizione.
Lemma 2.2 : Sia un insieme infinito di parole. Let sia comune prefisso più lungo di tutte le parole di . e hanno lo stesso cardinale.S Sw : = lcp ( S n ) w:=lcp(Sn)S SS Sw - 1 Sw−1S
Prova 2.2 : Definisci con . È ben definito per definizione di , iniettivo per definizione di e suriettivo per definizione di .f : w - 1 S → S f:w−1S→Sf ( x ) = w x f(x)=wxw - 1 S w−1Sf fww
Prova della proposizione 2 : costruiamo e per induzione su , con l'ipotesi di induzione composta dalle seguenti parti:u n unv nvn n nH nHn
( P 1 ) (P1) Per tutti , ;k ∈ { 1 , … , n } k∈{1,…,n}u 0 … u k - 1 v k ∈ Su0…uk−1vk∈S
( P 2 ) (P2) Per tutti , e sono non vuoti e iniziano con lettere distinte;k ∈ { 1 , … , n } k∈{1,…,n}u k ukv kvk
( P 3 ) (P3) S n : = ( u 0 … u n ) - 1 SSn:=(u0…un)−1S è infinito;
( P 4 ) (P4)S n a S n ⊆ a Σ ∗ Non esiste un prefisso non vuoto comune a tutte le parole in . In altre parole: non esiste lettera tale che .SnaSn⊆aΣ∗
Nota 2.3 : Se abbiamo sequenze che verificano senza , possiamo modificare per farle soddisfare anche . In effetti, è sufficiente sostituire con . non è interessato. è banale. è di costruzione. è di lemma 3.H nHn ( P 4 ) (P4)u nun ( P 4 ) (P4)u n unu n lcp ( S n ) unlcp(Sn)( P 1 ) (P1)( P 2 ) (P2)( P 4 ) (P4)( P 3 )(P3)
Costruiamo ora le sequenze per induzione su :nn
Inizializzazione: è vero prendendo (cioè prendendo e applicando l'osservazione 3.1).H 0 H0u 0 : = lcp ( S ) u0:=lcp(S)u 0 : = εu0:=ε
Fase di induzione: supponiamo di avere parole e tali che per qualche . Costruiremo e tale che .u 1 , … , u n u1,…,unv 1 , … , v n v1,…,vnH nHn n nu n + 1un+1 v n + 1vn+1 H n + 1Hn+1
Poiché è infinito e privo di prefissi (per il lemma 1), non contiene modo che . Poiché è infinito, esiste una lettera tale che è infinito. Per , c'è una lettera distinta da tale che non è vuoto. Scegli . Prendendo per essere sarebbero soddisfare , eS nSn ε εS n = ⨆ a ∈ Σ ( S n ∩ a Σ ∗ ) Sn=⨆a∈Σ(Sn∩aΣ∗)S nSn a aS n ∩ a Σ ∗Sn∩aΣ∗ ( P 4 ) (P4)b ba aS n ∩ b Σ ∗ v n + 1 ∈ S n ∩ b Σ ∗ u n + 1 a ( P 1 ) ( P2 ) ( P 3 ) quindi applichiamo l'osservazione 3.1 per ottenere : .( P 4 ) u n + 1 : = a lcp ( a - 1 S n )
( P 1 ) u 1 … u n v n + 1 ∈ u 1 … u n ( S n ∩ b Σ ∗ ) ⊆ S .
( P 2 ) Per definizione di e .u n + 1 v n + 1
( P 3 ) a - 1 S n a S n + 1 è infinito per definizione di , e è quindi infinito per lemma 3.
( P 4 ) u n + 1 Per definizione di .
Prova della proposta 4
Prova della proposizione 4 : Sia essere un NFA.A = ( Q , → , Δ , q 0 , F )
L'idea è la seguente: leggiamo , ricordiamo dove siamo, leggiamo , torniamo indietro a dove eravamo dopo aver letto , leggiamo , ricordati dove siamo, ... Ricordiamo anche la prima lettera che è stata letta in ogni per garantire che inizi con un'altra lettera.u 0 v 1 u 0 u 1 v n u n
Mi è stato detto che questo potrebbe essere più semplice con gli automi multi-testa, ma non ho molta familiarità con il formalismo, quindi lo descriverò semplicemente usando un automa Büchi (con una sola testa).
Abbiamo impostato , in cui verranno utilizzati i simboli overlined per descrive s ed i simboli con i cappelli per l' s.Σ ' : = ¯ Σ ⊔ Σ u k v k
Abbiamo impostato , dove:Q ′ : = Q × ( { ⊥ } ⊔ ( Q × Σ ) )
( q , ⊥ ) significa che stai leggendo un po 'di ;u n
( q , ( p , a ) ) significa che hai finito di leggere nello stato , che ora stai leggendo che inizia con una e che, una volta terminato , tornerai a per leggere un che non inizia con .u n p v n + 1 a p u n + 1 a
Abbiamo impostato , perché si parte dalla lettura .q ′ 0 : = ( q 0 , ⊥ ) u 0
Definiamo come .F ′ F × Q × Σ
L'insieme delle transizioni è definito come segue:→ ′
" " Per ogni transizione , aggiungi ;u n q a → q ′ ( q , ⊥ ) ¯ a → ′ ( q ′ , ⊥ )
" to " Per ogni transizione , aggiungi ;u n v n + 1 q un → q ' ( q , ⊥ ) un → ' ( q ' , ( q , un ) )
" " Per ogni transizione , aggiungi ;v n q un → q ' ( q , ( p , un ) ) un → ' ( q ' , ( p , un ) )
" a " Per ogni transizione dove è finale e la lettera distinta da , aggiungi ;v n u n p a → p ′ p b a ( q , ( p , b ) ) ¯ a → ′ ( p ′ , ⊥ )
Lemma 4.1 : è accettato da iff per ogni , e non sono vuoti e iniziano con lettere distinte e per ogni , .¯ u 0 ^ v 1 ¯ u 1 ^ v 2 … ¯ u n ^ v n + 1 A′n≥1unvnn≥0u0…unvn+1∈L(A)
Prova del lemma 4.1 : lasciato al lettore.