Komplexität der Überschneidung regulärer Sprachen als kontextfreie Grammatik


20

Gibt es bei regulären Ausdrücken R1,,Rn nicht-triviale Grenzen für die Größe der kleinsten kontextfreien Grammatik für R1Rn ?


??? versuchen, dies zu visualisieren. Gibt es einen Trick? der Schnittpunkt von Rn ist regelmäßig. man kann die minimale DFA (wrt state count) über Standardmethoden finden, die auch eine CFG sind.
VZN

@vzn: du hast recht. Das Problem ist, dass dieser DFA und damit die CFG sehr groß sein können. Ich frage mich, ob man die zusätzliche Kraft von CFGs nutzen kann, um eine prägnantere Beschreibung der Kreuzung zu erhalten.
Max

Vermutung nicht. vermuten, dass jede CFL, die eine RL erkennt (dh dieser entspricht), ihren Stack nicht verwendet oder in eine konvertiert werden kann, bei der die Zustände nicht zunehmen, und der minimale PDA (wrt state count) die gleiche Größe wie der minimale hat DFA. habe noch nie einen Beweis dafür gehört / gesehen. es ist vielleicht nicht schwer? Eine einfachere Frage: Gibt es einen PDA, der einen RL erkennt, der kleiner als der DFA ist? denke nicht.
6.

@vzn: Nützliche Vermutung, aber falsch: Sei Lk die Teilmenge der Dyck-Sprachen in zwei Arten von Klammern, in denen die maximale Verschachtelungstiefe k . Es gibt eine CFG für Lk der Größe O(k) , aber die minimale DFA (auch wenn ich denke, die minimale NFA) hat die Größe O(2k) .
Max

Dyck-Sprachen sind CFLs, aber keine RLs ...? Aber sehen Sie, dass Sie die maximale Verschachtelungstiefe begrenzen? Können Sie dann dieselbe Sprache mit RL-Schnittpunkten aufbauen? Was / Wo ist der Beweis, dass der minimale DFA so groß ist? ist das Staaten ? Sie definieren kein Minimalitätskriterium oder ein anderes & nahmen Staaten als einen natürlichen Fall, aber es ist nicht der einzige. O(2k)
VZN

Antworten:


6

Das ist eine großartige Frage und liegt wirklich in meinem Interesse. Ich bin froh, dass du es Max gefragt hast.

Es seien DFAs mit jeweils höchstens O ( n ) Zuständen gegeben. Es wäre schön, wenn es einen PDA mit subexponentiell vielen Zuständen gäbe, der die Schnittmenge der DFA-Sprachen akzeptiert. Ich schlage jedoch vor, dass ein solcher PDA nicht immer existiert.nO(n)

Beachten Sie die Kopiersprache. Beschränken Sie sich jetzt auf das Kopieren von Zeichenfolgen der Länge n.

Man betrachte formal -copy : = { x xn:= .{xx|x{0,1}n}

Wir stellen -copy als Durchschnitt von n DFA der Größe höchstens O ( n ) . Der kleinste DFA, der n- Kopien akzeptiert, hat jedoch 2 Ω ( n ) Zustände.nnO(n)n2Ω(n)

Wenn wir uns auf ein binäres Stapelalphabet beschränken, vermute ich, dass der kleinste PDA, der Kopien akzeptiert, exponentiell viele Zustände hat.n

PS Sie können mir gerne eine E-Mail senden, wenn Sie weitere Fragen haben. :)


5

Ich glaube nicht, dass es irgendwelche nicht trivialen Unter- oder Obergrenzen geben kann.
Betrachten Sie für untere Schranken die Sprache für ein festes k . Die Größe der kleinsten kontextfreie Grammatik ist in der Größe von logarithmischer L 1 ‚s regulärer Ausdruck, während die Größe des kleinsten Automaten für L 1 linear in der Größe ist , L 1 ‘ s regex. Dieser exponentielle Unterschied bleibt gleich, wenn wir L 1 mit anderen solchen Sprachen schneiden . Betrachten Sie für obere Schranken eine Sprache L 2 , die aus genau einer bestehtL1={a2k}kL1L1L1L1
L2deBruijn-Sequenz der Länge . Es ist bekannt, dass die Größe einer kleinsten Grammatik für L 2 der schlechteste Fall ist, dh O ( nnL2, also ist die Differenz zum "kleinsten" Automaten fürL2einfach ein logarithmischer Faktor, Satz 1 inO(nlogn)L2

Eine nicht triviale allgemeine Unter- oder Obergrenze würde diesen Ergebnissen widersprechen, da das, was für den Schnittpunkt von Sprachen gilt, für den Schnittpunkt von 1 Sprache gilt.n1


Interessant ist die Bemerkung zur Größe der kleinsten Grammatik für die einzelne deBruijn-Sequenz. Könnten Sie bitte eine Referenz angeben. Vielen Dank.
Michael Wehar

Ich könnte mich auch irren, aber Sie haben das Problem anscheinend nur für einen einzelnen regulären Ausdruck angesprochen (und nicht für ein Produkt aus regulären Ausdrücken).
Michael Wehar

@MichaelWehar Ja, ich habe nur einen einzigen regulären Ausdruck berücksichtigt. Denn wenn es für die Schnittmenge von Sprachen gelten soll, muss es für die triviale Schnittmenge gelten. Ich weiß nicht, wie ich die Frage umformulieren soll, um diese Fälle auszuschließen. Ich habe den Verweis hinzugefügt, hätte das sofort tun sollen, sorry. n
john_leo

1
Vielen Dank! Sie konnten ein konkretes Beispiel beschreiben. Hier ist eine einfache Bemerkung, die zur Existenz solcher Beispiele führt. Es sei n gegeben. Es gibt 2 ^ n Zeichenfolgen mit der Länge n. Außerdem gibt es nicht mehr als 2 ^ n Turing-Maschinen mit höchstens n / log (n) Zuständen. Daher muss eine Zeichenfolge x der Länge n so gewählt werden, dass keine Turing-Maschine mit weniger als n / log (n) die Sprache {x} akzeptiert. Daher wird {x} von einem DFA mit n Zuständen akzeptiert und kann von einem PDA mit weniger als n / log (n) Zuständen nicht akzeptiert werden.
Michael Wehar

5

Lassen Sie mich Michaels Urteil hinterfragen, das ist in der Tat eine interessante Frage. Michaels Hauptidee kann mit einem Ergebnis aus der Literatur kombiniert werden, wodurch eine ähnliche Untergrenze mit einem strengen Beweis versehen wird.

Ich beziehe mich auf die Grenzen der CFG-Größe in Bezug auf die Gesamtzahl der alphabetischen Symbole in den regulären Ausdrücken. Diese Zahl sei mit k bezeichnet . (Wie john_leo bemerkte, werden wir keine nützlichen Grenzen in Bezug auf die Anzahl der regulären Ausdrücke finden, die an der Schnittmenge teilnehmen.)nk

Weder das OP noch Michael hielten es für notwendig, dies zu erwähnen, aber eine Obergrenze von (für die Anzahl der Zustände) zur Umwandlung einer Schnittmenge regulärer Ausdrücke in eine NFA kann leicht bewiesen werden. Für die Aufzeichnung hier ist es: Konvertieren Sie die regulären Ausdrücke in Glushkov-Automaten, die alle nicht zurückkehren. Wenden Sie dann die Produktkonstruktion an, um eine NFA für die Schnittmenge dieser Sprachen zu erhalten. (Ich nehme an, dass man die Grenze auf 2 k + 1 oder so verbessern kann .) Ein s- Zustand-NFA kann in eine rechtslineare Grammatik (was ein Sonderfall einer CFG ist) der Größe O ( s 2 ) umgewandelt werden.2k+12k+1sO(s2)(Wenn wir die Grammatikgröße als Gesamtzahl der Symbole auf der linken und rechten Seite der Produktionen messen), ergibt sich Größe . Diese Grenze klingt natürlich schrecklich, wenn Sie praktische Anwendungen im Auge haben. Der Versuch, eine bessere Bindung unter Verwendung von nicht deterministischer Übergangskomplexität anstelle von nicht deterministischer Zustandskomplexität zur Schätzung der Größe der NFA zu beweisen, kann sich lohnen.O(4k)

Der andere Teil besteht darin, eine Zeugensprache zu finden, die sich prägnant als Schnittmenge regulärer Ausdrücke ausdrücken lässt, deren Beschreibung mit einer CFG jedoch mühsam ist. (Hier müssen wir eine Untergrenze für die Größe aller CFGs festlegen, die die Sprache erzeugen, von denen es unendlich viele geben kann.) Das folgende Argument ergibt Untergrenze.2Ω(k/logk)

Betrachte die endliche Sprache , wobei w R die Umkehrung von w bezeichnet . Dann kann L n als Schnittmenge der folgenden 2 n + 1 regulären Ausdrückeausgedrückt werden:Ln={wwRw{a,b}|w|=n}wRwLn2n+1

  • ri=(a+b)ia(a+b)2(ni1)a(a+b)+(a+b)ib(a+b)2(ni1)b(a+b)1in
  • si=(a+b)a(a+b)2(ni1)a(a+b)i+(a+b)b(a+b)2(ni1)b(a+b)i1in;
  • =(a+b)3n

The total number k of alphabetic symbols in this intersection of expressions is in O(n2).

Using an argument given in the proof of Theorem 13 in (1), one can prove that every acyclic CFG that generates Ln must have at least 2n/(2n)=2Ω(k/logk) distinct variables, if the right-hand side of each rule has length at most 2. The latter condition is necessary for arguing about the number of variables, since we can generate a finite language with a single variable. But from the perspective of grammar size, this condition is not really a restriction, since we can transform a CFG into this form with only a linear blowup in size, see (2). Notice that the language used by Arvind et al. is over an alphabet of size n, and this yields a bound of nn/(2n); but the argument carries over with obvious modifications.

Still, a large gap remains between O(4n) and the abovementioned lower bound.

References:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.