Ist die Chomsky-Hierarchie veraltet?


45

Die Chomsky (-Schützenberger) -Hierarchie wird in Lehrbüchern der theoretischen Informatik verwendet, deckt jedoch im Vergleich zum vollständigen Komplexitäts-Zoo-Diagramm offensichtlich nur einen sehr kleinen Teil der formalen Sprachen (REG, CFL, CSL, RE) ab . Spielt die Hierarchie in der aktuellen Forschung keine Rolle mehr? Ich habe hier bei cstheory.stackexchange nur wenige Hinweise auf Chomsky gefunden, und im Complexity Zoo werden die Namen Chomsky und Schützenberger überhaupt nicht erwähnt.

Konzentriert sich die aktuelle Forschung mehr auf andere Beschreibungsmittel als auf formale Grammatiken? Ich suchte nach praktischen Methoden, um formale Sprachen mit unterschiedlicher Ausdruckskraft zu beschreiben, und stieß auf wachsende kontextsensitive Sprachen (GCSL) und sichtbare Pushdown-Sprachen (VPL), die beide zwischen den klassischen Chomsky-Sprachen liegen. Sollte die Chomsky-Hierarchie nicht aktualisiert werden, um sie einzuschließen? Oder ist es nicht sinnvoll, eine bestimmte Hierarchie aus der Gesamtheit der Komplexitätsklassen auszuwählen? Ich habe versucht, nur die Sprachen auszuwählen, die meines Wissens in Lücken der Chomsky-Hierarchie passen:

REG (= Chomsky 3) PL VPL ⊊ DCFL ⊊ CFL (= Chomsky 2) ⊊ GCSL ⊊ CSL (= Chomsky 1) ⊊ R ⊊ RE

Ich verstehe immer noch nicht, in welche Bereiche "leicht kontextsensitive Sprachen" und "indizierte Sprachen" passen (irgendwo zwischen CFL und CSL), obwohl es praktisch relevant für die Verarbeitung natürlicher Sprachen zu sein scheint (aber vielleicht ist alles, was praktisch relevant ist, weniger interessant in der theoretischen Forschung ;-). Zusätzlich können Sie GCSL (P) NP (PSPACE) und CSL (PSPACE) R erwähnen, um die Beziehung zu den berühmten Klassen P und NP zu verdeutlichen.

Ich fand auf GCSL und VPL:

Ich würde mich auch freuen, wenn Sie ein neueres Lehrbuch über formale Grammatiken kennen, das sich auch mit VPL, DCLF, GCSL und indizierten Grammatiken befasst, vorzugsweise mit Hinweisen auf praktische Anwendungen.


7
Ein kleiner Punkt: Ich sehe das Fehlen der Namen Chomsky und Schützenberger im Komplexitätszoo nicht als Beweis dafür, dass „die Chomsky-Hierarchie veraltet ist“. Die Chomsky-Hierarchie ist ein Begriff in der formalen Sprachtheorie. The Complexity Zoo ist eine Website, die sich hauptsächlich mit der Komplexitätstheorie befasst, obwohl sie in der formalen Sprachtheorie einige Begriffe wie kontextfreie Sprachen enthält. Sie sind verwandte, aber unterschiedliche Bereiche. Es wäre veraltet, wenn es nicht in einem Lehrbuch der formalen Sprachtheorie erwähnt würde, aber ich weiß nicht, ob dies der Fall ist.
Tsuyoshi Ito

7
Guter Punkt, Tsuyoshi. Ehrlich gesagt, würde ich gerne einen "Formal Languages ​​Zoo" mit guter theoretischer Grundlage (Verweise auf Forschungsarbeiten!), Aber auch praktischen Ressourcen sehen. Beispielsweise gibt es Dutzende von Syntaxvarianten von Backus-Naur-Form und Varianten von regulären Ausdrücken (von denen einige sogar nicht regulär sind). Neben der einfachen Chomsky-Hierarchie fiel es mir schwer, einen klaren Überblick über den aktuellen Forschungsstand in formalen Sprachen zu bekommen.
Jakob

Sie können auch sternfreie Sprachen ausschließlich unterhalb der regulären Sprachen hinzufügen. Sie sind wie normale, aber ohne den Kleene-Stern. Sehr bekannt. Gut benommen.
Wren Romano

Wie mir mehrere Antworten gezeigt haben, sind formale Grammatiken à la Chomsky eine historische Methode zur Beschreibung formaler Sprachen, die an ihre Grenzen gestoßen ist. Ich bin immer noch auf der Suche nach einer guten Übersicht über formale Grammatiken, die sich nicht auf die Komplexitätstheorie konzentrieren, aber danke für alle weiteren Hinweise! Ich akzeptiere die Antwort von mgalle, weil er bisher den geringsten Ruf hat.
Jakob

2
In der Informatik sind Computersprachendesign, Softwaredesign und -programmierung, kontextfreie Grammatiken und Sprachen sowie reguläre Ausdrücke und Sprachen die grundlegende Arbeitsausrüstung und nach wie vor wichtig. Für beliebige Grammatiken, LBAs und kontextsensitive Sprachen habe ich dagegen nur wenige oder gar keine Anwendungen gesehen.
reinierpost

Antworten:


20

Nach dem, was ich in der Natural Language Processing Community gesehen habe, werden formale Grammatiken à la Chomsky nicht mehr so ​​oft verwendet. Sie denken (auch), dass die Chomsky-Hierarchie veraltet ist, um Sprache zu modellieren.

An seine Stelle traten Dinge wie das Umschreiben von Regeln (der Lars-Algorithmus), Abhängigkeitsmodelle (Dan Klein), Baumsubstitutionsgrammatiken (das DOP-Modell) und Grammatiken mit binären Merkmalen (Alex Clark).


Wenn ich meine Antwort noch einmal lese, hört es sich negativer an, als ich wollte, dass es auch klingt. RL und CFL sollten niemals realistische Modelle der natürlichen Sprache sein, und die meisten "neuen" Modelle sind tatsächlich von ihnen inspiriert.
mgalle

Ich dachte, dass RL nicht als Modell für natürliche Sprachen entworfen wurde, sondern als Modell für ein bestimmtes Systemverhalten. [Kleenes Originaltext verwendet auch nicht die formale Terminologie.]
DG_

26

Kurzum: ja.

Insbesondere: Chomsky war einer der Ersten, der eine Hierarchie in Bezug auf Sprachen, Grammatiken und Automaten formalisierte. Diese Einsicht ist nach wie vor sehr relevant und wird in allen Einführungskursen zur Automatentheorie vermittelt. Die spezielle Hierarchie, die sich Chomsky ausgedacht hat, und die Namen für die Elemente der Hierarchie sind jedoch nicht mehr wirklich von Bedeutung. Seitdem haben wir zahlreiche Formalismen erfunden, die zwischen den Ebenen von Chomskys Hierarchie liegen, darüber oder darunter. Und die Namen, die Chomsky verwendete, sind nicht besonders interessant, dh sie basieren nicht auf einem interessanten Maß an Komplexität oder irgendetwas, sondern sind nur Zahlen. Sollten leicht kontextsensitive Sprachen vom Typ 1,5 oder vom Typ 1,7 oder vom Typ 1,3 sein? Wen interessiert das. "Mild kontextsensitiv" ist ein viel informativerer Name.

Der Komplexitätszoo ist ein bisschen anders, weil er voller allerlei bedingter Äquivalenzen und dergleichen ist. Eine modernere Hierarchie für die Automatentheorie wäre nicht linear (z. B. Vergleich von CFG und PEG), hätte aber dennoch eine bekannte Topologie. Um eine Perspektive auf die moderne Automatentheorie zu erhalten, sollten Sie sich die Arbeit an Parser-Kombinator-Bibliotheken und einige Dinge zur Vereinheitlichung und Typentheorie ansehen (obwohl sich beide weit auseinander setzen).


4
Wir haben bessere Namen gefunden, ja. Das bedeutet nicht, dass die Ergebnisse veraltet sind.
Raphael

4
@Raphael: Die Veraltetheit liegt nicht an den Namen, sondern daran, dass die von Chomsky eingeführte spezifische Hierarchie nicht mehr verwendet wird. Die von der Chomsky-Hierarchie beschriebenen Einschlüsse sind (a) immer noch korrekt und (b) gehören zu den Einschlüssen in jeder modernen Hierarchie; Aber die Chomsky-Hierarchie als solche ist nicht sonderlich relevant, mit der Ausnahme, dass sie zufällig einige der bekannten Höhepunkte erreicht. Die Leute forschen nicht mehr über die Chomsky-Hierarchie, sie forschen anderswo. Dies ist nicht wie der Polynomturm, der Gründe für seine Namen / Strukturen hat.
Wren Romano

26

Wenn etwas in TCS veraltet ist, ist es diese Einschlusshierarchie der winzigen Untergruppe von Komplexitätsklassen, die 1956 als bekannt / interessant galt.

Ruhe in Frieden, Chomsky-Hierarchie, und lass dich nicht länger vom Lehrplan der Grundlagentheorie leiten.


12
Wie Juris Hartmanis einmal rief: "Was ist mit Chomsky-Klassen? Chomsky-Klassen sind ein Gräuel !!"
Ryan Williams

1
Ryan: Ich erinnere mich auch, dass Juris den CH als "Greuel" bezeichnet hat! Während ich meine Antwort schrieb, überlegte ich, ob er seine Bemerkung veröffentlichen wollte. Aber du kennst ihn besser als ich ... :-D
Scott Aaronson

Dieser Kommentar könnte auch zumindest ein wenig durch die abwertende Sichtweise einiger theoretischer Informatiker und Mathematiker gegenüber der Linguistik und anderen "schwachen" Wissenschaften motiviert sein : xkcd.com/435 . Aber sicher, dass die heutige Chomsky-Hierarchie den Blick auf die moderne Komplexitätstheorie verdeckt, also beantwortet dies meine Frage. Dennoch wäre es schön, einen aktualisierten Ersatz für den Grundlagentheorie-Lehrplan zu haben, besonders wenn Sie sich mehr für formale Sprachen und Grammatiken für praktische Anwendungen interessieren.
Jakob

1
Die Chomsky-Hierarchie listet Sprachklassen nach der Komplexität der Beschreibung und nicht nach der Komplexität der Berechnung auf, die normalerweise impliziert wird, wenn Sie den Begriff "Komplexitätstheorie" verwenden. Sie sind offensichtlich verwandt. Wie auch immer, ich verstehe immer noch nicht, wie eine (raue) Hierarchie verfeinerte Klassen verdecken kann, die kaum zu verstehen sind, ohne aus der Chomsky-Hierarchie gekommen zu sein. Sie sind die Eingangstür!
Raphael

20

Wenn Sie Chomskys Hierarchie mit "modernen" Namen betrachten (dh REG, LIN, CFL, CSL, RE bzw. DFA / NFA, PDA, LBA, TM), sage ich: Nein, es ist nicht veraltet!

Grund 0 : Es ist immer noch richtig in dem Sinne, dass seine Definitionen und Ergebnisse nicht im Widerspruch zu neuerem Wissen stehen.

Grund 1 : Diese Klassen / Rechenmodelle sind immer noch die ersten, die Sie unterrichten - weil sie einfach und gut studiert sind. Versuchen Sie, einem Studenten LR-Automaten beizubringen, ohne zuvor DFA / DPDA zu behandeln.

Grund 2 : Die Klassen sind immer noch der erste / wichtigste Maßstab für neue Erfindungen (ich habe einen Artikel über Multi-CFGs überflogen, in dem natürlich steht: mehr als CFG, weniger als CSG). Das mag zum Teil, weil sie zuerst gelehrt werden, sondern auch , weil sie sind einfach und gut untersucht.

Anti-Reason 3 : Die Ergebnisse sind nicht veraltet, nur weil neue Klassen / Modelle gefunden wurden. Sie behalten ihren Wert als Grundlagen des Feldes, obwohl sie nicht aktiv an der Forschungsgrenze eingesetzt werden.


10
"Mathematik wird nicht alt , sie wird klassisch ." (Ich weiß leider nicht, wem dieses Zitat zugeschrieben wird.)
Heinrich Apfelmus

Meinen Sie nicht "NPDA" statt "DPDA"? Einige kontextfreie Sprachen werden nur von nicht deterministischen Pushdown-Automaten erkannt.
Zsbán Ambrus

@ ZsbánAmbrus Ganz richtig; Ich hätte nur "PDA" schreiben sollen. Vielen Dank!
Raphael

Der letzte Grund ist überhaupt nicht überzeugend (ich denke, deshalb ist es ein Anti-Grund?). Viele Ergebnisse sind veraltet, weil sie durch eine andere Herangehensweise an das Thema subsumiert oder sogar banalisiert werden. Ich sage dies hier nicht, nur dass der angegebene Grund nicht viel aussagt. Auch ein grammatikalischer Nitpick: "outdate" ist kein Verb.
Sasho Nikolov

11

Ich denke, das hängt vom Rechenmodell ab. Wenn Sie die endliche / pushdown / etc. Automaten als Rechenmodell, dann wird die Chomsky-Hierarchie wichtig (siehe zum Beispiel Sipsers Buch). Auf der anderen Seite spielt es im Turing-Berechnungsmodell nur eine geringe Rolle.

Die folgende Abbildung könnte hilfreich sein:

Bearbeiten: Formale Sprachen spielen eine wichtige Rolle beim Entwerfen von Computersprachen (wie Java) und Compilern sowie bei der Verarbeitung natürlicher Sprachen (NLP).


Entschuldigung András, ich kann Ihren Kommentar nicht verstehen. Das OP fragte, ob die Chomsky-Hierarchie veraltet sei. Seine Argumentation war, dass er es im Komplexitätszoo usw. nicht sah. Ich antwortete, dass die Chomsky-Hierarchie relevant wird, wenn er Automaten als Computermodell betrachtet. Außerdem erwähnte ich, dass Klassen dieser Hierarchie für das Compiler-Design und NLP-Algorithmen wichtig sind. IMHO, das hängt total mit der Frage zusammen.
MS Dousti

2
Sicher, die Chomsky-Hierarchie ist nicht wirklich veraltet, sie findet sich in den meisten Einführungen in theoretische Informatik, formale Sprachen, Compiler-Design usw. Aber abgesehen davon scheint es nichts Neues zu geben. Ich denke, dass auch Dankessprachen zwischen REG und CFL sowie zwischen CFL von Bedeutung sein können. Ist es nur eine schlechte Idee, die Hierarchie mit diesen Sprachen zu erweitern, da die Chomsky-Hierarchie nach "veraltet" riecht, was für die aktuelle Forschung nicht wichtig ist?
Jakob,

Ich denke nicht, dass es eine schlechte Idee ist, obwohl man eine Anwendung finden muss, für die die neue Erweiterung passt.
MS Dousti
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.