Definieren Sie die folgende Klasse von "zirkulären" Sprachen über ein endliches Alphabet Sigma. Tatsächlich gibt es den Namen bereits, um etwas anderes zu bezeichnen, das auf dem Gebiet des DNA-Computing verwendet wird. AFAICT, das ist eine andere Klasse von Sprachen.
Eine Sprache L Kreis iff für alle Wörter ist w
w
Ist diese Sprachklasse bekannt? Ich interessiere mich für die Kreissprachen, die auch regelmäßig sind, insbesondere für:
ein Name für sie, wenn sie bereits bekannt sind
Entscheidbarkeit des Problems, vorausgesetzt, ein Automat (insbesondere ein DFA), ob die akzeptierte Sprache der obigen Definition entspricht
fl.formal-languages
automata-theory
regular-language
Vincenzoml
quelle
quelle
Antworten:
Im ersten Teil zeigen wir einen exponentiellen Algorithmus zur Bestimmung der Zirkularität. Im zweiten Teil zeigen wir, dass das Problem coNP-schwer ist. Im dritten Teil zeigen wir, dass jede Kreissprache eine Vereinigung von Sprachen der Form r + ist (hier könnte r der leere reguläre Ausdruck sein); Die Gewerkschaft ist nicht unbedingt unzusammenhängend. Im vierten Teil zeigen wir eine Kreissprache, die nicht als disjunkte Summe ∑ r + i geschrieben werden kann .r+ r ∑r+i
Bearbeiten: Einige Korrekturen wurden nach Marks Kommentaren eingefügt. Insbesondere meine früheren Behauptungen, dass die Zirkularität coNP-vollständig oder NP-hart ist, werden korrigiert.
Edit: Normalform von ∑ r ∗ i nach ∑ r + i korrigiert∑r∗i ∑r+i . Stellte eine "inhärent mehrdeutige" Sprache aus.
In Fortsetzung von Peter Taylors Kommentar erfahren Sie hier, wie Sie (äußerst ineffizient) entscheiden können, ob eine Sprache aufgrund ihres DFA zirkulär ist. Konstruieren Sie einen neuen DFA, dessen Zustände n- Tupel der alten Zustände sind. Dieser neue DFA führt n Kopien des alten DFA parallel aus.n n
Wenn die Sprache nicht zirkulär ist, gibt es ein Wort w, so dass wir, wenn wir es wiederholt durch den DFA laufen lassen, beginnend mit dem Anfangszustand s 0 , die Zustände s 1 , ... , s n erhalten, so dass s 1 nur eins akzeptiert der anderen akzeptiert nicht (wenn alle akzeptieren , muss die Sequenz s 0 , ... , s n zyklisch ablaufen, damit w ∗ immer in der Sprache ist). Mit anderen Worten, wir haben einen Pfad von s 0 , ... , s nw s0 s1,…,sn s1 s0,…,sn w∗ - 1 zu ss0,…,sn−1 1 , … , s n, wobei s 1 akzeptiert, aber einer der anderen nicht akzeptiert. Umgekehrt kann dies nicht passieren, wenn die Sprache zirkulär ist.s1,…,sn s1
Daher haben wir das Problem auf einen einfachen gerichteten Erreichbarkeitstest reduziert (überprüfen Sie einfach alle möglichen "schlechten" n- Tupel).n
Das Problem der Zirkularität ist coNP-schwer. Angenommen , wir haben ein 3SAT - Instanz mit gegebenen n Variablen → x und m Klauseln C 1 , ... , C m . Wir können annehmen, dass n = m (Dummy-Variablen hinzufügen) und n Primzahl ist (andernfalls finden wir eine Primzahl zwischen n und 2 n)n x⃗ m C1,…,Cm n=m n n 2n mit AKS-Primalitätstests finden und Dummy-Variablen und -Klauseln hinzufügen).
Betrachten Sie die folgende Sprache: "Die Eingabe hat nicht die Form → x 1 ⋯ → x n, wobei → x i eine befriedigende Zuweisung für C i ist ". Es ist einfach, einen O ( n 2 ) -DFA für diese Sprache zu erstellen. Wenn die Sprache nicht zirkulär ist, gibt es ein Wort w in der Sprache, von dem eine Kraft nicht in der Sprache liegt. Da die einzigen Wörter, die nicht in der Sprache sind, die Länge n 2 haben , muss w die Länge 1 oder n 1 habenx⃗ 1⋯x⃗ n x⃗ i Ci O(n2) w n2 w 1 n . Wenn es lang ist1 stattdessen w n (es ist immer noch in der Sprache), so dass w in der Sprache ist und w n nicht in der Sprache ist. Die Tatsache, dass w n nicht in der Sprache ist, bedeutet, dass w eine zufriedenstellende Aufgabe ist.wn w wn wn w
Umgekehrt wird jede befriedigende Zuweisung zu einem Wort übersetzt, das die Unrundheit der Sprache beweist: Die befriedigende Zuweisung w gehört zur Sprache, w n jedoch nicht. Daher ist die Sprache zirkulär, wenn die 3SAT-Instanz nicht erfüllt werden kann.w wn
In diesem Teil diskutieren wir eine normale Form für Kreissprachen. Betrachten wir einige DFA für eine Kreis Sprache L . Eine Folge C = C 0 , ... ist real, wenn C 0 = s (der Anfangszustand) ist, alle anderen Zustände akzeptieren, und C i = C j impliziert C i + 1 = C j + 1 . Somit ist jede reale Sequenz schließlich periodisch, und es gibt nur endlich viele reale Sequenzen (da der DFA endlich viele Zustände hat).L C=C0,… C0=s Ci=Cj Ci+1=Cj+1
We say that a word behaves according to CC if the word takes the DFA from state cici to state ci+1ci+1 , for all ii . The set of all such words E(C)E(C) is regular (the argument is similar to the first part of this answer). Note that E(C)E(C) is a subset of LL .
Given a real sequence CC , define CkCk to be the sequence Ck(t)=C(kt)Ck(t)=C(kt) . The sequence CkCk is also real. Since there are only finitely many different sequences CkCk , the language D(C)D(C) which is the union of all E(Ck)E(Ck) is also regular.
We claim that D(C)D(C) has the property that if x,y∈D(C)x,y∈D(C) then xy∈D(C)xy∈D(C) . Indeed, suppose that x∈Ckx∈Ck and y∈Cly∈Cl . Then xy∈Ck+lxy∈Ck+l . Thus D(C)=D(C)+D(C)=D(C)+ can be written in the form r+r+ for some regular expression rr .
Every word ww in the language corresponds to some real sequence CC , i.e. there exists a real sequence CC that ww behaves according to. Thus LL is the union of D(C)D(C) over all real sequence CC . Therefore every circular language has a representation of the form ∑r+i∑r+i . Conversely, every such language is circular (trivially).
Consider the circular language LL of all words over a,ba,b that contain either an even number or aa 's or an even number of bb 's (or both). We show that it cannot be written as a disjoint sum ∑r+i∑r+i ; by "disjoint" we mean that r+i∩r+j=∅r+i∩r+j=∅ .
Let NiNi be the size of the some DFA for r+ir+i , and N>maxNiN>maxNi be some odd integer. Consider x=aNbN!x=aNbN! . Since x∈Lx∈L , x∈r+ix∈r+i for some ii . By the pumping lemma, we can pump a prefix of xx of length at most NN . Thus r+ir+i generates z=aN!bN!z=aN!bN! . Similarly, y=aN!bNy=aN!bN is generated by some r+jr+j , which also generates zz . Note that i≠ji≠j since xy∉Lxy∉L . Thus the representation cannot be disjoint.
quelle
Here are some papers that discuss these languages:
Thierry Cachat, The power of one-letter rational languages, DLT 2001, Springer LNCS #2295 (2002), 145-154.
S. Hovath, P. Leupold, and G. Lischke, Roots and powers of regular languages, DLT 2002, Springer LNCS #2450 (2003), 220-230.
H. Bordihn, Context-freeness of the power of context-free languages is undecidable, TCS 314 (2004), 445-449.
quelle
@Dave Clarke, L = a*|b* would be circular, but L* would be (a|b)*.
In terms of decidability, a language LL is circular if there is an L′L′ such that LL is the closure under + of L′L′ or if it is a finite union of circular languages.
(I'm dying to redefine "circular" replacing your >> with ≥≥ . It simplifies things a lot. We can then characterise the circular languages as those for which there exists a NDFA whose starting state has only epsilon-transitions to accepting states and has an epsilon-transition to each accepting state).
quelle
Edit: A complete (simplified) PSPACE-completeness proof appears below.
Two updates. First, the normal form described in my other answer appears already in a paper by Calbrix and Nivat titled Prefix and period languages of rational ωω -langauges, unfortunately not available online.
Second, deciding whether a language is circular given its DFA is PSPACE-complete.
Circularity in PSPACE. Since NPSPACE=PSPACE by Savitch's theorem, it is enough to give an NPSPACE algorithm for non-circularity. Let A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F) be a DFA with |Q|=n|Q|=n states. The fact that the syntactic monoid of L(A)L(A) has size at most nnnn implies that if L(A)L(A) is not circular then there is a word ww of length at most nnnn such that w∈L(A)w∈L(A) but wk∉L(A)wk∉L(A) for some k≤nk≤n . The algorithm guesses ww and computes δw(q)=δ(q,w)δw(q)=δ(q,w) for all q∈Qq∈Q , using O(nlogn)O(nlogn) space (used to count up to nnnn ). It then verifies that δw(q0)∈Fδw(q0)∈F but δ(k)w∉Fδ(k)w∉F for some k≤nk≤n .
Circularity is PSPACE-hard. Kozen showed in his classic 1977 paper Lower bounds for natural proof systems that it is PSPACE-hard to decide, given a list of DFAs, whether the intersection of the languages accepted by them is empty. We reduce this problem to circularity. Given binary DFAs A1,…,AnA1,…,An , we find a prime p∈[n,2n]p∈[n,2n] and construct a ternary DFA AA accepting the language
L(A)=¯{2w12w2⋯2wp:wi∈L(A1+(imodn))}.
quelle
Every s∈L of length p>0 can be written as xyiz where x=z=ϵ , y=w≠ϵ . It's obvious that |xy|≤p and |y|=|w|>0. It follows that the language is regular for non-empty inputs, by the pumping lemma.
For w=ϵ , the definition holds, since a NDFA that accepts the empty string will also accept any number of empty strings.
The union of the above languages is the language L and since regular languages are closed under union, it follows that every circular language is regular.
By Rice's theorem, CIRCULARITY/TM is undecidable. The proof is similar to regularity.
quelle