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:
- Robert McNaughton: Eine Einführung in die Chomsky-Hierarchie ?. In: Jewels are Forever, Beiträge zur theoretischen Informatik zu Ehren von Arto Salomaa. S. 204-212, 1999
- http://en.wikipedia.org/wiki/Nested_word#References (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.
Antworten:
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).
quelle
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).
quelle
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.
quelle
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.
quelle
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).
quelle