Parikhs Theorem: CFLs "enthalten" reguläre Sprachen?

7

Der erste Satz des Wikipedia-Artikels zu Parikhs Theorem lautet:

"Parikhs Theorem in der theoretischen Informatik besagt, dass die Sprache nicht von einer regulären Sprache zu unterscheiden ist, wenn man nur die relative Anzahl der Vorkommen von Terminalsymbolen in einer kontextfreien Sprache ohne Rücksicht auf ihre Reihenfolge betrachtet."

Ich habe Probleme, diesen Satz zu verstehen. Ich verstehe, dass unäre CFLs als die Vereinigung endlich vieler arithmetischer Sequenzen beschrieben werden können. Bedeutet dies, dass, wenn wir einen Morphismus auf eine CFL anwenden , die beispielsweise und für einige und für alle mit c \ neq a abbildet , dann ist h (L) eine unäre reguläre Sprache? Könnte jemand darauf näher eingehen?hLaacϵaΣcΣcah(L)

David Smith
quelle

Antworten:

12

Das Parikh-Bild Ψ eines Wortes ist ein Vektor, der die Nummer jedes Buchstabens im Alphabet zählt: zum Beispiel Ψ(abbabaaca)=(5,3,1) vorausgesetzt, das Alphabet ist {a,b,c}.

Das Parikh-Bild einer Sprache ist die Menge der Parikh-Bilder der Zeichenfolgen in der Sprache: Ψ({anbncnn0})={(n,n,n)n0}.

Der Satz besagt, dass die Parikh-Bilder kontextfreier Sprachen tatsächlich Parikh-Bilder regulärer Sprachen sind Ψ({(ab)ncnn0})=Ψ((abc)).

(In einer früheren Bearbeitung hatte ich das Beispiel Ψ({anbncnn0})=Ψ((abc)). Technisch korrekt, aber der Leser wird feststellen, dass die Sprache nicht kontextfrei ist.)

Hendrik Jan.
quelle
5

Ich bin damit einverstanden, dass der Wortlaut auf Wikipedia nicht sehr klar ist, aber ich glaube, dass er sich auf die folgende Beziehung bezieht:

Nennen Sie zwei Wörter Buchstabenäquivalent, wenn sie gleich sind, wenn Sie die Reihenfolge der Zeichen außer Acht lassen. Das heißt: Die lexikografische Sortierung ihrer Zeichen (Beibehaltung von Duplikaten) ergibt dasselbe Wort. (Mit anderen Worten: Ihre Parikh-Bilder sind die gleichen.)

Nennen Sie zwei Sprachen Buchstabenäquivalent, wenn ihre Wörter sind, das heißt: lexikographisches Sortieren ihrer Wörter erzeugt dieselbe Sprache. (Mit anderen Worten: Ihre Parikh-Bilder sind die gleichen.)

Der Satz impliziert, dass jede kontextfreie Sprache ein Buchstabe ist, der einer regulären Sprache entspricht. Zum Beispiel,{anbnn0} ist ein Buchstabe äquivalent zu (ab).

(Der Begriff Brief Äquivalent kann in zB gefunden werden Eine vereinfachte Nachweis von Parikh Theorem von J. Goldstine (1977) .)

Reinierpost
quelle
Es wäre sogar noch besser, wenn Sie Ihrer Antwort einen Verweis hinzufügen könnten.
John L.
Übrigens glaube ich, dass Ihre Hinzufügung von "(Aufbewahren von Duplikaten)" mehr Verwirrung als Klarstellung bringt, da das Aufbewahren von Duplikaten allgemein die Norm ist. Keine Sortierung bedeutet das Entfernen von Duplikaten, sofern dies nicht ausdrücklich erforderlich ist. Kurz gesagt, das Standardverhalten sollte nicht explizit erwähnt werden (außer in Ausnahmefällen). Nur meine 2 Cent. Ich picke nicht, da dies hier sowieso eine Kleinigkeit ist (was mich betrifft, ist natürlich, wenn Sie Ihre Gewohnheit überall anwenden) und da es hier sowieso nichts wirklich ändert.
John L.
Ich wundere mich auch darüber; aber ihre Zeichen sind mehrdeutig, man könnte es so verstehen: jedes andere Zeichen, das vorkommt.
Reinierpost
OK, ich sehe deine Besorgnis. Angemessen.
John L.
1
Ich habe die Referenz hinzugefügt, aber die Antwort wird aufgebläht. Ich wollte Hendrik Jans Antwort nicht duplizieren.
Reinierpost