Una classe speciale di lingue: lingue "circolari". È noto?


20

Definire la seguente classe di lingue "circolari" su un alfabeto finito Sigma. In realtà, il nome esiste già per indicare una cosa diversa che sembra, utilizzata nel campo dell'informatica del DNA. AFAICT, questa è una diversa classe di lingue.

Una lingua L è circolare iff per tutte le parole w in Σ , abbiamo:

w appartiene a L se e solo se per tutti gli interik>0 ,wk appartiene a L.

Questa classe di lingue è nota? Sono interessato alle lingue circolari che sono anche regolari e in particolare a:

  • un nome per loro, se sono già noti

  • decidibilità del problema, dato un automa (in particolare: un DFA), se la lingua accettata obbedisce alla definizione di cui sopra


1
Questa è una domanda molto interessante Due domande correlate: 1) se abbiamo un linguaggio L regolare e un DFA associato, possiamo renderlo circolare? 2) Data la lingua L, è il caso che circ (L) sia regolare o abbia delle belle proprietà?
Suresh Venkat,

ps forse questo è ovvio, ma perché pensi che le lingue circolari siano una sottoclasse di lingue normali?
Suresh Venkat,

3
@Suresh, penso che stia definendo una lingua circolare se è a) regolare; b) soddisfa una proprietà di chiusura wL,nN:wnL .
Peter Taylor,


1
Forse grazie non dovrebbe essere pubblicato, ma questa è stata la mia prima domanda e ho apprezzato molto la qualità dei commenti, delle risposte e della discussione. Grazie.
vincenzoml,

Risposte:


19

Nella prima parte, mostriamo un algoritmo esponenziale per decidere la circolarità. Nella seconda parte, mostriamo che questo è un problema difficile. Nella terza parte, mostriamo che ogni lingua circolare è un'unione di lingue nella forma (qui r potrebbe essere la regexp vuota); l'unione non è necessariamente disgiunta. Nella quarta parte, mostriamo un linguaggio circolare che non può essere scritto come somma disgiunta r + i .r+rri+

Modifica: incorporate alcune correzioni a seguito dei commenti di Mark. In particolare, le mie precedenti affermazioni che la circolarità è completa o NP-difficile sono state corrette.

Modifica: corretto modulo normale da a r + i . Esibiva un linguaggio "intrinsecamente ambiguo".riri+


Continuando il commento di Peter Taylor, ecco come decidere (estremamente inefficientemente) se una lingua è circolare dato il suo DFA. Costruisci un nuovo DFA i cui stati sono tuple dei vecchi stati. Questo nuovo DFA esegue in parallelo n copie del vecchio DFA.nn

Se la lingua non è circolare, allora esiste una parola tale che se la eseguiamo ripetutamente attraverso il DFA, iniziando con lo stato iniziale s 0 , otteniamo stati s 1 , ... , s n tali che s 1 accetta ma uno degli altri non accetta (se tutti accettano, allora la sequenza s 0 , , s n deve scorrere in modo che w sia sempre nella lingua). In altre parole, abbiamo un percorso da s 0 , ... , s nws0s1,,sns1s0,,snw a s 1 ,, s n dove s 1 accetta ma uno degli altri non accetta. Al contrario, se la lingua è circolare, ciò non può accadere.s0,,sn1s1,,sns1

Quindi abbiamo ridotto il problema a un semplice test di raggiungibilità diretto (basta controllare tutte le possibili -tuple "cattive" ).n


Il problema della circolarità è difficile da affrontare. Supponiamo di avere un'istanza 3SAT con variabili x e m clausole C 1 , , C m . Possiamo supporre che n = m (aggiungi variabili fittizie) e che n sia primo (altrimenti trova un numero primo tra n e 2 n usando il test di primalità AKS e aggiungi variabili e clausole fittizie).nxmC1,,Cmn=mnn2n

Considera la seguente lingua: "l'input non è nel formato dove x i è un compito soddisfacente per C i ". È facile costruire un DFA O ( n 2 ) per questa lingua. Se la lingua non è circolare, allora c'è una parola w nella lingua, un certo potere che non è nella lingua. Poiché le uniche parole non nella lingua hanno lunghezza n 2 , w deve essere di lunghezza 1 o n . Se è di lunghezzax1xnxiCiO(n2)wn2w1n , si consideri w n , invece (è ancora in lingua), in modo che w è nella lingua e w n non è nella lingua. Il fatto che w n non è nei mezzi linguistici che w è un soddisfacente assegnazione.1wnwwnwnw

Al contrario, ogni incarico soddisfacente si traduce in una parola dimostrare la non circolarità della lingua: l'assegnazione soddisfare appartiene al linguaggio, ma w n non lo fa. Pertanto la lingua è circolare se l'istanza 3SAT non è soddisfacente.wwn


In questa parte, discutiamo di una forma normale per le lingue circolari. Consideriamo alcuni DFA per un linguaggio circolare . Una sequenza C = C 0 , ... è reale se C 0 = s (lo stato iniziale), tutti gli altri stati accettano, e C i = C j implica C i + 1 = C j + 1 . Quindi ogni sequenza reale è infine periodica e ci sono solo finitamente molte sequenze reali (poiché il DFA ha finitamente molti stati).LC=C0,C0=sCi=CjCi+1=Cj+1

Diciamo che una parola si comporta secondo C se la parola prende il DFA dallo stato allo stato c i + 1 , per tutti i . L'insieme di tutte queste parole E ( C ) è regolare (l'argomento è simile alla prima parte di questa risposta). Si noti che E ( C ) è un sottoinsieme di L .cici+1iE(C)E(C)L

Data una sequenza reale , definisci C k come sequenza C k ( t ) = C ( k t ) . Anche la sequenza C k è reale. Poiché ci sono solo molte sequenze finite C k , anche la lingua D ( C ) che è l'unione di tutte le E ( C k ) è regolare.CCkCk(t)=C(kt)CkCkD(C)E(Ck)

Affermiamo che ha la proprietà che se x , y D ( C ) quindi x y D ( C ) . Supponiamo infatti che x C k e y C l . Quindi x y C k + l . Quindi D ( C ) = D ( C ) + può essere scritto nella forma rD(C)x,yD(C)xyD(C)xCkyClxyCk+lD(C)=D(C)+ per alcune espressioni regolari r .r+r

Ogni parola nei corrisponde lingua in una certa sequenza reale C , vale a dire che esiste una vera e propria sequenza di C che w comporta secondo. Quindi L è l'unione di D ( C ) su tutto il settore sequenza C . Pertanto ogni linguaggio circolare ha una rappresentazione della forma r + i . Al contrario, ogni linguaggio di questo tipo è circolare (banalmente).wCCwLD(C)Cri+


Considera il linguaggio circolare di tutte le parole sopra a , b che contengono un numero pari o un 'o un numero pari di b ' (o entrambi). Mostriamo che non può essere scritto come una somma disgiunta r + i ; per "disgiunto" intendiamo che r + ir + j = .La,babri+ri+rj+=

Niri+ x = a N b N ! x L x r + i i x N r + i z = a N ! b N ! y = a N ! b N r + j z i j x y LN>maxNix=aNbN!xLxri+ixNri+z=aN!bN!y=aN!bNrj+zijxyL . Pertanto la rappresentazione non può essere disgiunta.


Sembra che ci siano un certo numero di errori qui. Stai riducendo da UNSAT, non da SAT, quindi stai mostrando che è difficile da usare. Qual è il tuo testimone temporale polinomiale per (non) membri?
Mark Reitblatt,

"Dato che le uniche parole non nella lingua hanno lunghezza " Non dovrebbe essere ? n mn2nm
Mark Reitblatt,

Non penso che sia "banalmente in coNP". Almeno, non è banalmente ovvio per me. Il certificato "ovvio" sarebbe una stringa nella lingua e un potere tale che non è nella lingua. Ma non è immediatamente ovvio per me perché una parola del genere debba avere dimensioni polinomiali. Forse è un semplice fatto di teoria degli automi che sto trascurando. k l klklk
Mark Reitblatt,

Un difetto apparente ancora più grave è che si salta da ogni clausola per essere soddisfacente individualmente all'intera formula per essere soddisfacente. A meno che non stia leggendo male, ovviamente.
Mark Reitblatt,

Concordo sul fatto che non è chiaro che la circolarità sia in CoNP. D'altra parte, non vedo problemi nel resto dell'argomento (ora che ho messo ). Se ogni clausola è soddisfatta dalla stessa assegnazione, allora l'istanza 3SAT è soddisfatta da questa assegnazione. n=m
Yuval Filmus,

17

Ecco alcuni articoli che parlano di queste lingue:

Thierry Cachat, Il potere dei linguaggi razionali a una lettera, DLT 2001, Springer LNCS # 2295 (2002), 145-154.

S. Hovath, P. Leupold e G. Lischke, Radici e poteri delle lingue normali, DLT 2002, Springer LNCS # 2450 (2003), 220-230.

H. Bordihn, la mancanza di contesto del potere dei linguaggi senza contesto è indecidibile, TCS 314 (2004), 445-449.


6

@Dave Clarke, L = a * | b * sarebbe circolare, ma L * sarebbe (a | b) *.

In termini di decidibilità, una lingua è circolare se esiste una tale che è la chiusura sotto + di o se è un'unione finita di lingue circolari.L L L LLLL

(Sto morendo dalla voglia di ridefinire "circolare" sostituendo il tuo con . Semplifica molto le cose. Possiamo quindi caratterizzare le lingue circolari come quelle per le quali esiste un NDFA il cui stato iniziale ha solo transizioni epsilon per accettare stati e ha una transizione epsilon verso ciascuno stato accettante).>


Hai ragione. Ho rimosso il mio post errato.
Dave Clarke,

Per quanto riguarda l'adattamento con : sto pensando che un DFA minimo dovrebbe sempre avere esattamente uno stato accettante, vale a dire lo stato iniziale. Forse possono accadere più stati di accettazione, ma poi hanno bisogno di una transizione allo stato iniziale. εε
Raphael,

1
@Raphael, considera ancora L = a * | b *. Un DFA il cui stato iniziale è l'unico stato accettante e che accetta aeb deve accettare (a | b) *.
Peter Taylor,

Sulla questione della decidibilità, di nuovo: supponiamo di avere un DFA con stati di cui accettano. Supponiamo che accetti una parola e accetti anche , , ..., . Quindi accetta per . (Proof è un'applicazione diretta del principio del buco del piccione). Se è possibile dimostrare che il minimo (minimizzando ) controesempio ( , ) per la circolarità del linguaggio accettato dal DFAE ha lunghezza delimitata da una funzione di , allora il test forza bruta è possibile. Sospetto chen a w w 2 w 3 w n a + 1 w x x > 0 | w | w x n | w | < = n + 1nnaww2w3wna+1wxx>0|w|wxn|w|<=n+1, ma non l'ho provato.
Peter Taylor,

Per dare seguito all'idea di @ Raphael sopra. L'idea di start state = accetta solo state è errata per questo problema, ma acquisisce alcune proprietà interessanti. Quando M è un minDFA, lo stato iniziale è l'unico stato accettato se e solo se L (M) è la stella di Kleene di una lingua priva di prefissi. Questa è una delle mie curiosità preferite di DFA e quindi sono veloce a condividerla! ;)
mikero,

5

Modifica: una dimostrazione completa (semplificata) della completezza di PSPACE appare sotto.

Due aggiornamenti. In primo luogo, la forma normale descritto nel mio altra risposta appare già in un articolo di Calbrix e Nivat intitolato Prefisso e lingue d'epoca di razionale -langaugesω in linea, purtroppo non disponibile.

In secondo luogo, decidere se una lingua è circolare dato che il suo DFA è completo per PSPACE.

Circolarità in PSPACE. Poiché NPSPACE = PSPACE dal teorema di Savitch, è sufficiente fornire un algoritmo NPSPACE per la non circolarità. Sia un DFA con stati. Il fatto che il monoide sintattico di abbia dimensione al massimo implica che se non è circolare, allora esiste una parola di lunghezza al massimo tale che ma per alcuni . L'algoritmo indovina e calcola per tutto , usandoA=(Q,Σ,δ,q0,F)|Q|=nL(A)nnL(A)wnnwL(A)wkL(A)knwδw(q)=δ(q,w)qQO(nlogn) spazio (utilizzato per contare fino a ). Quindi verifica che ma per alcuni .nnδw(q0)Fδw(k)Fkn

La circolarità è dura per PSPACE. Kozen mostrò nel suo classico documento del 1977 Limiti inferiori per i sistemi di prove naturali che è difficile per PSPACE, dato un elenco di DFA, se l'intersezione delle lingue accettate da loro fosse vuota. Riduciamo questo problema alla circolarità. Dati i DFA binari , troviamo un primo e costruiamo un DFA ternario accetta la lingua (Con qualche sforzo in più, possiamo anche fare binario.) Non è difficile vedere (usando il fatto che è primo) cheA1,,Anp[n,2n]A

L(A)={2w12w22wp:wiL(A1+(imodn))}¯.
AL ( A ) L ( A 1 ) L ( A n )pL(A)è circolare se e solo se l'intersezione è vuota.L(A1)L(An)

0

Ogni di lunghezza può essere scritto come dove , . È ovvio che e . Ne consegue che la lingua è normale per input non vuoti, dal lemma di pompaggio.sLp>0xyizx=z=ϵy=wϵ|xy|p|y|=|w|>0

Per , la definizione vale, poiché un NDFA che accetta la stringa vuota accetterà anche qualsiasi numero di stringhe vuote.w=ϵ

L'unione delle lingue di cui sopra è la lingua L e poiché le lingue normali sono chiuse sotto unione, ne consegue che ogni lingua circolare è regolare.

Secondo il teorema di Rice, è indecidibile. La prova è simile alla regolarità.CIRCULARITY/TM


1
Il lemma del pompaggio è una condizione necessaria, ma non sufficiente, per la regolarità. In particolare, esistono lingue non regolari che soddisfano le condizioni di pompaggio. Inoltre, il teorema di Rice direbbe che è indecidibile. Ciò non significa che è indecidibile (dove è un DFA, un TM)! Ad esempio, il test di vuoto per DFA è decidibile, mentre non lo è il test di vuoto per TM. { D | L ( D )  è circolare } D M{M|L(M) is circular}{D|L(D) is circular}DM
alpoge

1
Ecco un linguaggio circolare non calcolabile. Sia , dove è un linguaggio non calcolabile (ad esempio codici di arresto delle TM). Quindi è circolare ma chiaramente non calcolabile (un oracolo per può essere usato per decidere ). R D D RD={0x1:xR}RDDR
Yuval Filmus,

2
@Peter, hai letto questa risposta? Stava cercando di dimostrare che qualsiasi linguaggio circolare (senza la condizione di regolarità) è regolare.
Yuval Filmus,

1
@Yuval, errore mio. @chazisop, il lemma del pompaggio è utile per dimostrare la non regolarità delle lingue, ma non la regolarità. (Inoltre, l'affermazione della tua prima frase si riduce a "Ogni di lunghezza può essere scritto come dove ", che è chiaramente falso). p > 0 y i y ϵsLp>0yiyϵ
Peter Taylor,

1
Sì, utilizzo CIRCOLARITÀ / TM per fare riferimento a questo. CIRCOLARITÀ / DFA è probabilmente decidibile.
Chazisop,
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.