Mir ist aufgefallen, dass reguläre Sprachen über dem Alphabet natürlich als Poset und in der Tat als Gitter gedacht werden können. Darüber hinaus definiert die Verkettung zusammen mit der leeren Sprache eine strenge monoidale Struktur in dieser Kategorie, die über Joins verteilt ist (ich bin nicht sicher, ob es sich um Meetings handelt). Ist dies ein nützliches Konstrukt in der Theorie oder Praxis regulärer Sprachen? Gibt es einige nette Zusätze, zB können wir den Kleene-Stern als einen definieren?
Dies ist eine Kopie einer Frage, die im Compiler-Kurs bei Coursera gestellt wurde: https://class.coursera.org/compilers/forum/thread?thread_id=311
fl.formal-languages
regular-language
ct.category-theory
Alexei Averchenko
quelle
quelle
Antworten:
Es wurde viel getan, um Kategorietheorie auf reguläre Sprachen und Automaten anzuwenden. Ein Ausgangspunkt sind die jüngsten Arbeiten:
In der ersten dieser Arbeiten wird die Struktur regulärer Ausdrücke algebraisch behandelt und die generierten Sprachen werden kohlebraisch behandelt. Diese beiden Ansichten sind in einer bialgebraischen Einstellung integriert. Eine Bialgebra ist ein Algebra-Kohlegebra-Paar mit einem geeigneten Verteilungsgesetz, das das Zusammenspiel zwischen den syntaktischen Begriffen (regulären Ausdrücken) und dem Rechenverhalten (generierten Sprachen) erfasst. Die Grundlage dieser Arbeit ist Algebra und Kohlegebra, wie sie in der Informatik unter den Schirmen der universellen Algebra und Kohlegebra behandelt werden, und nicht das, was man in der Mathematik (Gruppen usw.) sieht.
Der zweite Artikel verwendet Techniken, die aus der traditionelleren mathematischen Behandlung von Algebra (Modulen usw.) und Kohlegebra stammen, aber ich befürchte, dass ich die Details nicht kenne.
Soweit ich das beurteilen kann, wird Kleene Star auch nicht als Zusatz behandelt.
Generell gibt es eine Menge Arbeit bei der Anwendung der Kategorietheorie auf Automaten anstelle von regulären Ausdrücken. Ein Beispiel dieser Arbeit beinhaltet:
Bloom SL; Sabadini N .; Walters RFC Matrizen, Maschinen und Verhalten. Angewandte kategoriale Strukturen, Band 4, Nummer 4, Dezember 1996, S. 343-360 (18)
Michael A. Arbib, Ernest G. Manes: Die Sicht eines Kategoristen auf Automaten und Systeme. Kategorietheorie für Berechnung und Steuerung 1974: 51-64
MA Arbib und EG Manes. Adjoint-Maschinen, State-Behaviour-Maschinen und Dualität . Journal of Pure and Applied Algebra, 6: 313 & ndash; 344, 1975.
Schließlich gibt es die Arbeit an Iterationstheorien, Iterationstheorien: die Gleichungslogik iterativer Prozesse von Stephen L. Bloom und Zoltán Ésik, die sich auf die Iteration konzentriert (z. B. Kleene-Stern), aber aus einer allgemeineren Perspektive, in der reguläre Sprachen gerecht sind eine Sache, die unter die Theorie fällt.
quelle
Eigentlich denke ich, was Sie suchen, ist Kleene-Algebra. Siehe den klassischen Artikel von Dexter Kozen. Er gibt eine Axiomatisierung von Kleene-Stern. Ich gehe davon aus, dass dies der erste Schritt ist, an dem Sie interessiert sind.
In diesem Artikel wird keine Kategorietheorie verwendet, aber es wird eine gleichungsmäßige Axiomatisierung der Kleene-Algebren angegeben, deren Struktur die der regulären Sprachen einschließt. Kleene-Algebren mit Tests können als Erweiterung regulärer Ausdrücke betrachtet werden, um einfache Programme mit Schleifen und Bedingungen (aber ohne Zuweisungen) zu modellieren. Diese Erweiterung ist nützlich, um solche einfachen Programme auf rein algebraische Weise zu betrachten.
Wie Sie sehen, bilden reguläre Sprachen eine Boolesche Algebra mit zusätzlicher Struktur. Diese Struktur wurde unter dem Gesichtspunkt der Stein-Dualität von Nick Pippenger untersucht.
Der Dualitätsansatz zur Spracherkennung stand kürzlich im Rampenlicht und wurde angewendet, um neue Ergebnisse zur Spracherkennung abzuleiten.
quelle
Mit einer kategorietheoretischen Brille die Welt zu betrachten, nennt man Kategorisierung . Manchmal liefert es wirklich schöne und überraschende Ergebnisse. Die Physiker haben angefangen zu sagen, dass es einen großen Unterschied macht, wenn man sich eine Gruppe als ein Element-Gropoid vorstellt . Ich beginne zu begreifen, dass das Denken an ein Monoid als eine Ein-Element-Kategorie auch viele Dinge vereinfacht. (Zum Beispiel ist eine monoide Aktion dann ein Funktor in Set . Solche Dinge bilden kartesisch geschlossene Kategorien und Toposen. Sie haben also auch eine Lambda-Rechnung und eine intuitionistische Logik!)
Sie möchten reguläre Sprachen kategorisieren. Ich weiß nicht, ob es getan wurde oder ob es uninteressant ist. Ich habe nichts darüber geschrieben gesehen. Die algebraische Struktur regulärer Sprachen, die Kleene-Algebren, ist jedoch ausreichend interessant. Es gibt eine Unmenge an Literatur darüber. Meiner Meinung nach leidet die Theorie der regulären Sprachen und der endlichen Automaten jedoch unter einer vorzeitigen Verpflichtung zur Endlichkeit. (Endliche Gruppen sind interessant und wichtig, aber Sie möchten nicht, dass die Definition von "Gruppe" zu Beginn der Endlichkeit verpflichtet ist.) Daher wäre es nützlich, die Endlichkeit auszuschließen und die Strukturen allgemeiner zu untersuchen.
Die derzeit interessantesten Arbeiten beziehen sich auf Strukturen, die von Hoare als Lokalitäts-Bimonoide bezeichnet werden. Gleichzeitige Kleene-Algebren sind ein Beispiel dafür . Lokalität Bimonoide und Nebenläufigkeit ist eine aktive Forschungsrichtung.
quelle