Automatenheorie

Combinational logic Finite-state machine Pushdown automaton Turing machine Automata theoryAutomata theory.svg
About this image
Kurs von Automaten
(Klicken auf jede Ebene erhält einen Artikel zu diesem Thema)
Der damit beschriebene Automaten Zustandsdiagramm beginnt im Staat s1und ändert die Zustände nach den Pfeilen, die 0 oder 1 gemäß den Eingangssymbolen markiert sind. Der Doppelkreis markiert s s1 Als Akzeptanzstaat. Da alle Wege von s1 Für sich selbst enthält eine gleichmäßige Anzahl von mit 0 gekennzeichneten Pfeilen, dass dieser Automaton Zeichenfolgen mit einer gleichmäßigen Nummern von 0s akzeptiert.

Automatenheorie ist das Studium von Abstrakte Maschinen und Automaten, ebenso wie Rechenprobleme Das kann mit ihnen gelöst werden. Es ist eine Theorie in Theoretische Informatik. Das Wort Automaten Kommt aus dem griechischen Wort αὐτόματος, was "selbstwirksam, selbstweilt, selbstbewegend" bedeutet. Ein Automaton (Automata im Plural) ist ein abstraktes, selbstgedrucktes Computergerät, das automatisch einer vorgegebenen Abfolge von Operationen folgt. Ein Automat mit einer endlichen Anzahl von Zuständen wird als endlicher Automat (FA) oder Finite-State-Maschine (FSM) bezeichnet. Die Figur rechts zeigt a Finite-State-Maschine, was zu einem bekannten Automaton-Typ gehört. Dieser Automat besteht aus Zustände (in der Abbildung durch Kreise dargestellt) und Übergänge (dargestellt durch Pfeile). Wenn der Automaton ein Symbol der Eingabe sieht, macht er einen Übergang (oder springt) in einen anderen Zustand, je nach seiner Angaben Übergangsfunktion, was den vorherigen Status und aktuellem Eingabemymbol als Argumente nimmt.

Die Automatenheorie ist eng mit dem verwandt mit formelle Sprache Theorie. In diesem Zusammenhang werden Automaten als endliche Darstellungen formaler Sprachen verwendet, die möglicherweise unendlich sein. Automaten werden häufig durch die Klasse der formalen Sprachen klassifiziert, die sie erkennen können, wie in der Chomsky -Hierarchie, die eine Verschachtelungsbeziehung zwischen den wichtigsten Automatenklassen beschreibt. Automaten spielen eine wichtige Rolle in Theorie der Berechnung, Compiler -Konstruktion, künstliche Intelligenz, Parsing und formelle Überprüfung.

Geschichte

Die Theorie der abstrakten Automaten wurde Mitte des 20. Jahrhunderts im Zusammenhang mit Finite Automaten.[1] Die Automatenheorie wurde ursprünglich als Zweig der mathematischen Zweigstelle angesehen SystemtheorieUntersuchung des Verhaltens von diskreten Parametersystemen. Frühe Arbeiten in der Automatentheorie unterschieden sich von früheren Arbeiten an Systemen durch Verwendung Zusammenfassung Algebra Informationssysteme zu beschreiben und nicht Differentialrechnung Materialsysteme beschreiben.[2] Die Theorie des Finite-State-Wandlers wurde unter verschiedenen Namen von verschiedenen Forschungsgemeinschaften entwickelt.[3] Das frühere Konzept von Turing -Maschinen wurden auch in der Disziplin zusammen mit neuen Formen von unendlich-staatlichen Automaten enthalten, wie z. Pushdown -Automaten.

1956 sah die Veröffentlichung von Automatenstudien, die Arbeit von Wissenschaftlern sammelte, einschließlich Claude Shannon, W. Ross Ashby, John von Neumann, Marvin Minsky, Edward F. Moore, und Stephen Cole Kleene.[4] Mit der Veröffentlichung dieses Bandes "wurde die Automatentheorie als relativ autonome Disziplin".[5] Das Buch enthielt Kleenes Beschreibung der regulären Ereignisse oder reguläre Sprachenund ein relativ stabiles Maß für die Komplexität in Turing -Maschinenprogrammen von Shannon.[6] Im selben Jahr, Noam Chomsky beschrieben die Chomsky -Hierarchie, eine Korrespondenz zwischen Automaten und formelle Grammatiken,[7] und Ross Ashby veröffentlicht Eine Einführung in die Kybernetik, ein zugängliches Lehrbuch, das Automata und Informationen unter Verwendung der grundlegenden Set -Theorie erläutert.

Die Untersuchung der linearen Automaten[angeben] führte zur Myhill-Nerode-Theorem,[8] Dies gibt einen notwendigen und ausreichenden Zustand, damit eine formale Sprache regelmäßig ist, und eine genaue Anzahl der Zustände in einer minimalen Maschine für die Sprache. Das Lemma für reguläre Sprachen pumpen, auch nützlich in Regelmäßigkeitsergebnissen, wurde in dieser Zeit von nachgewiesen Michael O. Rabin und Dana Scottzusammen mit der rechnerischen Äquivalenz deterministischer und nicht deterministischer endlicher Automata.[9]

In den 1960er Jahren tauchte eine Reihe algebraischer Ergebnisse, die als "Strukturtheorie" oder "algebraische Zersetzungstheorie" bekannt sind, die sich mit der Realisierung von sequentiellen Maschinen aus kleineren Maschinen durch Zusammenhänge befasste.[10] Während jeder endliche Automat mit a simuliert werden kann Universal Gate SetDies erfordert, dass die Simulationsschaltung Schleifen der willkürlichen Komplexität enthält. Die Strukturtheorie befasst sich mit der "schleifenfreien" Realisierbarkeit von Maschinen.[5] Die Theorie von Rechenkomplexität nahm auch in den 1960er Jahren Gestalt an.[11][12] Am Ende des Jahrzehnts wurde die Automatentheorie als "die reine Mathematik der Informatik" angesehen.[5]

Automaten

Was folgt, ist eine allgemeine Definition von Automaton, die eine breitere Definition von beschränkt System zu einem als in diskreten Zeitschritten wirkenden angesehen, wobei sein Zustandsverhalten und die Ausgaben in jedem Schritt durch unveränderliche Funktionen nur seines Zustands und seiner Eingabe definiert werden.[5]

Informelle Beschreibung

Ein Automat läuft Wenn es eine Sequenz von gegeben ist Eingänge in diskreter (individueller) Zeitschritte oder Schritte. Ein Automaten verarbeitet eine Eingabe, die aus einem Satz von ausgewählt wurde Symbole oder Briefe, was als als genannt wird Eingang Alphabet. Die vom Automaten als Eingabe in jedem Schritt empfangenen Symbole sind eine Abfolge von Symbolen, die genannt werden Wörter. Ein Automat hat einen Satz von Zustände. In jedem Moment während eines Automatons ist der Automaton in einer seiner Staaten. Wenn der Automaton eine neue Eingabe erhält, wechselt er in einen anderen Zustand (oder Übergänge) basierend auf a Übergangsfunktion Das nimmt das vorherige Status und das aktuelle Eingangssymbol als Parameter an. Gleichzeitig nannte eine andere Funktion die Ausgangsfunktion erzeugt Symbole aus dem Alphabet ausgebenauch nach dem vorherigen Zustand und dem aktuellen Eingangssymbol. Der Automaten liest die Symbole des Eingangsworts und der Übergänge zwischen den Zuständen, bis das Wort vollständig gelesen wird, wenn es endlich länger ist, an welchem ​​Punkt der Automaton Halt. Ein Zustand, in dem der Automaton anhält Endzustand.

Um die möglichen Status-/Eingangs-/Ausgangssequenzen in einem Automat zu untersuchen formelle Sprache Theorie kann eine Maschine a zugewiesen werden a Startzustand und ein Satz von Staaten akzeptieren. Dann, je nachdem, ob ein Lauf aus dem Startzustand in einem akzeptierenden Zustand endet, kann der Automat gesagt werden annehmen oder ablehnen eine Eingangssequenz. Die Menge aller von einem Automat akzeptierten Wörter wird als die genannt vom Automaten erkannte Sprache. Ein vertrautes Beispiel für eine Maschine, die eine Sprache erkennt, ist eine elektronisches Schloss Dies akzeptiert oder ablehnt Versuche, den richtigen Code einzugeben.

Formale Definition

Automat
Ein Automat kann formell durch a dargestellt werden 5-Tupel , wo:
  • ist ein endlicher Satz von Symbole, genannt Alphabet eingeben des Automatens,
  • ist ein weiterer endlicher Satz von Symbolen, genannt die Alphabet ausgeben des Automatens,
  • ist ein Satz von Zustände,
  • ist der NÄCHSTE EINFAKTIERUNG oder Übergangsfunktion Mapping-State-Input-Paare für Nachfolgerzustände,
  • ist der Nächste Funktion Mapping Status-Input-Paare für Ausgänge.
Wenn ist dann endlich ist ein Finite Automaton.[5]
Eingabewort
Ein Automaten liest ein Finitie Saite von Symbolen , wo , was als als genannt wird Eingabewort. Die Menge aller Wörter wird durch gekennzeichnet .
Laufen
Eine Reihenfolge von Zuständen , wo so dass zum , ist ein Lauf des Automatons auf einem Eingang Ausgehend von Staat . Mit anderen Worten, zunächst ist der Automat am Startzustand und erhält Eingaben . Zum und jede Anhängerschaft In der Eingangszeichenfolge wählt der Automat den nächsten Status aus gemäß der Übergangsfunktion , bis zum letzten Symbol wurde gelesen und die Maschine in der verlassen Endzustand des Laufs, . In ähnlicher Weise emittiert der Automaton in jedem Schritt ein Ausgangssymbol gemäß der Ausgangsfunktion .
Die Übergangsfunktion wird induktiv erweitert in Um das Verhalten der Maschine zu beschreiben, wenn sie ganze Eingangswörter gefüttert haben. Für die leere Zeichenfolge , Für alle Staaten und für Saiten wo ist das letzte Symbol und ist der (möglicherweise leere) Rest der Zeichenfolge, .[10] Die Ausgangsfunktion kann ähnlich erweitert werden in , was die vollständige Ausgabe der Maschine beim Ausführen von Word verleiht vom Staat .
Akzeptor
Um einen Automat mit der Theorie von zu studieren formelle Sprachen, ein Automat kann als als betrachtet werden AkzeptorErsetzen des Ausgangsalphabets und der Funktion und mit
  • , ein bestimmtes Staat starten, und
  • , eine Reihe von Zuständen von (d.h. ) genannt Staaten akzeptieren.
Dies ermöglicht die Definition:
Wort akzeptieren
Ein Wort ist ein Wort akzeptieren für den Automat, wenn Das heißt, wenn nach dem Verzehr der gesamten Saite Die Maschine befindet sich in einem Akzeptieren.
Anerkannte Sprache
Die Sprache anerkannt von einem Automat ist der Satz aller Wörter, die vom Automaten akzeptiert werden. .[13]
Erkennbare Sprachen
Das erkennbare Sprachen sind die Sprachen, die von einem Automaten erkannt werden. Zum Finite Automaten Die erkennbaren Sprachen sind reguläre Sprachen. Für verschiedene Arten von Automata sind die erkennbaren Sprachen unterschiedlich.

Variantendefinitionen von Automata

Automaten werden definiert, um nützliche Maschinen im mathematischen Formalismus zu untersuchen. Die Definition eines Automatens ist also für Variationen gemäß der "realen Weltmaschine" offen, die wir mit dem Automat modellieren möchten. Die Menschen haben viele Variationen von Automaten untersucht. Im Folgenden sind einige beliebte Variationen in der Definition verschiedener Komponenten der Automata aufgeführt.

Eingang
  • Endliche Eingabe: Ein Automat, der nur eine endliche Abfolge von Symbolen akzeptiert. Die obige Einführungsdefinition umfasst nur endliche Wörter.
  • Unendlicher Eingang: Ein Automat, der unendliche Wörter akzeptiert (ω-Wörter). Solche Automaten werden genannt ω-automata.
  • Baumworteingabe: Die Eingabe kann a sein Baum der Symbole anstelle von Sequenz von Symbolen. In diesem Fall nach dem Lesen jedes Symbols der Automaton liest Alle Nachfolgersymbole im Eingabebaum. Es wird gesagt, dass der Automaten macht eine Kopie Für jeden Nachfolger und jede solche Kopie beginnt auf einem der Nachfolgersymbole aus dem Staat gemäß der Übergangsbeziehung des Automatiks zu laufen. Ein solcher Automaten heißt a Baumautomaton.
  • Infinite Baumeingabe: Die beiden oben genannten Erweiterungen können kombiniert werden, sodass der Automat eine Baumstruktur mit (in) endlichen Zweigen liest. Ein solcher Automaten wird als eine genannt Unendlicher Baumautomaton.
Zustände
  • Einzelstaat: Ein Automat mit einem Zustand, auch a genannt Kombinationsschaltungführt eine Transformation durch, die implementiert werden kann Kombinationslogik.[10]
  • Endliche Zustände: Ein Automat, der nur eine begrenzte Anzahl von Zuständen enthält.
  • Unendliche Zustände: Ein Automaten, der möglicherweise keine begrenzte Anzahl von Staaten hat, oder sogar a zählbar Anzahl der Zustände. Verschiedene Arten des abstrakten Gedächtnisses können verwendet werden, um solche Maschinen endliche Beschreibungen zu verleihen.
  • Stapelspeicher: Ein Automat kann auch einen zusätzlichen Speicher in Form von a enthalten Stapel in welchen Symbolen gedrückt und geplagt werden können. Diese Art von Automat wird als als genannt Pushdown -Automaten.
  • Wartespeicher: Ein Automaten kann Speicher in Form von a haben Warteschlange. Eine solche Maschine heißt Warteschlangenmaschine und ist Turing-Complete.
  • Bandspeicher: Die Ein- und Ausgänge von Automaten werden häufig als Eingang und Ausgabe beschrieben Bänder. Einige Maschinen haben zusätzliche Arbeitsbänder, einschließlich der Turing Maschine, linear begrenzter Automaten, und Protokoll-Raum-Wandler.
Übergangsfunktion
  • Deterministisch: Für einen bestimmten aktuellen Zustand und ein Eingabetriebsymbol, wenn ein Automat nur zu einem und nur zu einem Zustand springen kann, dann ist es a deterministischer Automaten.
  • Nichtdeterministisch: Ein Automat, der nach dem Lesen eines Eingabensymbols in eine Reihe von Zuständen springen kann, wie sie durch seine Übergangsbeziehung lizenziert wird. Beachten Sie, dass die Laufzeitübergangsfunktion durch Übergangsbeziehung ersetzt wird: der Automaton nicht deterministisch Beschließt, in eine der erlaubten Entscheidungen zu springen. Solche Automaten werden genannt Nichtdeterministische Automaten.
  • Wechsel: Diese Idee ist dem Baumautomaton, aber orthogonal. Der Automaten kann seine leiten Mehrere Kopien auf der gleich Als nächstes lesen Sie Symbol. Solche Automaten werden genannt Wechselautomaten. Akzeptanzbedingung muss alle Läufe von solchen erfüllen Kopien die Eingabe akzeptieren.
Akzeptanzbedingung
  • Akzeptanz endlicher Wörter: Wie in der obigen informellen Definition beschrieben.
  • Akzeptanz unendlicher Wörter: ein Omega Automaton Kann nicht endgültige Zustände haben, da unendliche Wörter niemals enden. Die Akzeptanz des Wortes wird vielmehr durch Betrachtung der unendlichen Sequenz der besuchten Zustände während des Laufs entschieden.
  • Probabilistische Akzeptanz: Ein Automaten muss eine Eingabe nicht strikt akzeptieren oder ablehnen. Es kann die Eingabe mit einigen akzeptieren Wahrscheinlichkeit zwischen Null und einem. Zum Beispiel Quantenfinite -Automaten, Geometrischer Automaten und Metrikautomaton probabilistische Akzeptanz haben.

Verschiedene Kombinationen der oben genannten Variationen erzeugen viele Automatenklassen.

Die Automatentheorie ist ein Gegenstand, der Eigenschaften verschiedener Arten von Automaten untersucht. Beispielsweise werden die folgenden Fragen zu einer bestimmten Art von Automata untersucht.

  • Welche Klasse von formalen Sprachen ist für eine Art von Automata erkennbar? (Erkennbare Sprachen)
  • Sind bestimmte Automaten abgeschlossen Unter Union, Kreuzung oder Ergänzung formaler Sprachen? (Verschlusseigenschaften)
  • Wie ausdrucksstark ist eine Art von Automaten in Bezug auf die Erkennung einer Klasse formeller Sprachen? Und ihre relative Ausdruckskraft? (Sprachhierarchie)

Die Automatenheorie untersucht auch die Existenz oder Nichtdage von keiner effektive Algorithmen Um Probleme zu lösen, die der folgenden Liste ähneln:

  • Akzeptiert ein Automaten ein Eingabebuch? (Leeresprüfung)
  • Ist es möglich, einen bestimmten nicht deterministischen Automat in deterministische Automaten zu verwandeln, ohne die erkennbare Sprache zu ändern? (Bestimmung)
  • Was ist für eine bestimmte formale Sprache der kleinste Automat, der sie erkennt? (Minimierung)

Arten von Automaten

Das Folgende ist eine unvollständige Liste von Automatenarten.

Automat Erkennbare Sprache
Nichtdeterministische/deterministische Finite-State-Maschine (FSM) reguläre Sprachen
Deterministischer Pushdown -Automaten (DPDA) deterministische kontextfreie Sprachen
Pushdown -Automaten (PDA) Kontextfreie Sprachen
Linear begrenzter Automaten (LBA) Kontextsensitive Sprachen
Turing Maschine rekursiv aufzählbare Sprachen
Deterministisch BÜCHI AUTOMATON ω-Limit-Sprachen
Nichtdeterministisches Büchi Automaton ω-reguläre Sprachen
Rabin Automaton, STRETT AUTOMATON, Paritätsautomat, Müller Automaton
Gewichtter Automaten

Diskrete, kontinuierliche und hybride Automaten

Normalerweise beschreibt Automata -Theorie die Zustände abstrakter Maschinen, aber es gibt diskrete Automaten. Analoge Automaten oder kontinuierliche Automaten oder Hybrid diskrete kontinuierliche Automaten, die digitale Daten, analoge Daten oder kontinuierliche Zeit oder digitale bzw. analoge Daten verwenden.

Hierarchie in Bezug auf Befugnisse

Das Folgende ist eine unvollständige Hierarchie in Bezug auf die Befugnisse verschiedener Arten von virtuellen Maschinen. Die Hierarchie spiegelt die verschachtelten Kategorien von Sprachen wider, die die Maschinen akzeptieren können.[14]

Automat
Deterministische endliche Automaten (DFA) - Niedrigste Leistung

(gleiche Kraft) (gleiche Kraft)
Nichtdeterministisches endliches Automaten (NFA)
(oben ist schwächer) (unten ist stärker)
Deterministischer Drücken nach unten (DPDA-I)
mit 1 Push-Down-Store

Nichtdeterministischer Drücken nach unten (NPDA-I)
mit 1 Push-Down-Store

Linear begrenzter Automaten (LBA)

Deterministischer Drücken nach unten (DPDA-II)
mit 2 Push-Down-Läden

Nichtdeterministischer Drücken nach unten (NPDA-II)
mit 2 Push-Down-Läden

Deterministische Turing -Maschine (DTM)

Nichtdeterministische Turing -Maschine (NTM)

Probabilistische Turing -Maschine (PTM)

Multitape Turing Machine (MTM)

Mehrdimensionale Turing -Maschine

Anwendungen

Jedes Modell in der Automatentheorie spielt eine wichtige Rolle in mehreren angewandten Bereichen. Finite Automaten werden in Textverarbeitung, Compilern und Hardwaredesign verwendet. Kontextfreie Grammatik (CFGs) werden in Programmiersprachen und künstlicher Intelligenz verwendet. Ursprünglich wurden CFGs in der Untersuchung der menschlichen Sprachen verwendet. Mobilfunk Automaten werden im Bereich von verwendet künstliches Leben, das berühmteste Beispiel ist John Conway's Spiel des Lebens. Einige andere Beispiele, die mit der Automatentheorie in der Biologie erklärt werden konnten, sind Wachstums- und Pigmentierungsmuster von Mollusk- und Kiefernkegeln. Eine Theorie, die darauf hindeutet, dass das gesamte Universum von einer Art diskreter Automat berechnet wird, wird von einigen Wissenschaftlern befürwortet. Die Idee entstand aus der Arbeit von Konrad Zuseund wurde in Amerika von populär gemacht von Edward Fredkin. Automaten erscheinen auch in der Theorie endlicher Felder: der Reihe von irreduziblen Polynomen, die als Zusammensetzung des Grades zwei Polynome geschrieben werden können, ist in der Tat eine reguläre Sprache.[15] Ein weiteres Problem, für das Automata verwendet werden kann, ist die Induktion regulärer Sprachen.

Automaten -Simulatoren

Automata -Simulatoren sind pädagogische Tools, mit denen Automatentheorie unterrichtet, gelernt und erforscht wird. Ein Automaten -Simulator nimmt die Beschreibung eines Automatens als Eingabe ein und simuliert dann seine Arbeit für eine beliebige Eingangszeichenfolge. Die Beschreibung des Automatens kann auf verschiedene Weise eingegeben werden. Ein Automat kann in a definiert werden Symbolische Sprache oder seine Spezifikation kann in einer vorgefertigten Form eingegeben werden oder sein Übergangsdiagramm kann durch Klicken und Ziehen der Maus gezeichnet werden. Zu den bekannten Automaten -Simulatoren zählen Turings World, JFLAP, VAS, Tags und Simstudio.[16]

Verbindung zur Kategorie -Theorie

Man kann mehrere unterschiedliche definieren Kategorien von Automaten[17] Nach der Automata -Klassifizierung in verschiedene im vorherige Abschnitt beschriebene Typen. Die mathematische Kategorie deterministischer Automaten, sequentielle Maschinen oder Sequentielle Automatenund Turing -Maschinen mit Automaten -Homomorphismen, die die Pfeile zwischen Automaten definieren, ist a Kartesische Kategorie geschlossen,[18][19] Es hat sowohl kategoriale Grenzen als auch Colimits. Ein Automaten -Homomorphismus kartiert eine Fülle eines Automatens Ai auf die Fülle eines anderen Automatens Aj.[20] Automaten -Homomorphismen können auch als als betrachtet werden Automaten -Transformationen oder als Semigroup -Homomorphismen, wenn der Staatsraum, Sdes Automatons wird als Semigroup definiert Sg. Monoide werden auch als geeignete Einstellung für Automaten in betrachtet Monoidale Kategorien.[21][22][23]

Kategorien variabler Automata

Man könnte auch a definieren Variabler Automaten, im Sinne von Norbert Wiener in seinem Buch über Der menschliche Gebrauch von Menschen über Die Endomorphismen . Dann kann man zeigen, dass solche variablen Automaten -Homomorphismen eine mathematische Gruppe bilden. Bei nicht deterministischen oder anderen komplexen Art von Automaten kann der letztere Satz von Endomorphismen jedoch zu einem werden Variabler Automaten Gruppoid. Daher sind Kategorien variabler Automata jeglicher Art Kategorien von Gruppenkategorien oder Gruppenkategorien. Darüber hinaus ist die Kategorie der reversiblen Automaten dann a2 Kategorieund auch eine Unterkategorie der 2-Kategorie von Gruppenoiden oder der Gruppenkategorie.

Siehe auch

Verweise

  1. ^ Mahoney, Michael S. "Die Berechnungsstrukturen und die mathematische Struktur der Natur". Das Rutherford Journal. Abgerufen 2020-06-07.
  2. ^ Booth, Taylor (1967). Sequentielle Maschinen und Automatentheorie. New York: John Wiley & Sons. p. 1-13. ISBN 0-471-08848-x.
  3. ^ Ashby, William Ross (1967-01-15). "Der Ort des Gehirns in der natürlichen Welt" (PDF). Strömungen in der modernen Biologie. 1 (2): 95–104. doi:10.1016/0303-2647 (67) 90021-4. PMID 6060865.: "Die Theorien, jetzt gut entwickelt, der" Finite-State-Maschine "(Gill, 1962), des" geräuschlosen Wandlers "(Shannon und Weaver, 1949) des" staatlich festgelegten Systems "(Ashby, 1952) und von der "sequentiellen Schaltung" sind im Wesentlichen homolog ".
  4. ^ Ashby, W. R.; et al. (1956). C. E. Shannon; J. McCarthy (Hrsg.). Automatenstudien. Princeton, N.J.: Princeton University Press.
  5. ^ a b c d e Arbib, Michael (1969). Theorien der abstrakten Automaten. Englewood Cliffs, N.J.: Prentice-Hall.
  6. ^ Li, Ming; Paul, Vitanyi (1997). Eine Einführung in die Komplexität von Kolmogorov und ihre Anwendungen. New York: Springer-Verlag. p. 84.
  7. ^ Chomsky, Noam (1956). "Drei Modelle für die Beschreibung der Sprache" (PDF). IRE -Transaktionen zur Informationstheorie. 2 (3): 113–124. doi:10.1109/tit.1956.1056813.
  8. ^ Nerode, A. (1958). "Lineare Automaten -Transformationen". Verfahren der American Mathematical Society. 9 (4): 541. doi:10.1090/S0002-9939-1958-0135681-9.
  9. ^ Rabin, Michael; Scott, Dana (April 1959). "Endliche Automaten und ihre Entscheidungsprobleme" (PDF). IBM Journal of Research and Development. 3 (2): 114–125. doi:10.1147/rd.32.0114. Archiviert vom Original am 2010-12-14.{{}}: CS1 Wartung: Ungeeignete URL (Link)
  10. ^ a b c Hartmanis, J.; Stearns, R.E. (1966). Algebraische Strukturtheorie von sequentiellen Maschinen. Englewood Cliffs, N.J.: Prentice-Hall.
  11. ^ Hartmanis, J.; Stearns, R. E. (1964). "Berechnungskomplexität rekursiver Sequenzen" (PDF).
  12. ^ Fortnow, Lance; Homer, Steve (2002). "Eine kurze Geschichte der rechnerischen Komplexität" (PDF).
  13. ^ Moore, Cristopher (2019-07-31). "Automaten, Sprachen und Grammatiken". Arxiv:1907.12713 [Cs.cc].
  14. ^ Yan, Song Y. (1998). Eine Einführung in formelle Sprachen und Maschinenberechnung. Singapur: World Scientific Publishing Co. Pte. Ltd. S. 155–156. ISBN 9789810234225.
  15. ^ Ferraguti, a.; Micheli, G.; Schnyder, R. (2018), Irreduzierbare Zusammensetzungen von Grad Zwei Polynomen über endliche Felder haben regelmäßig Struktur, The Quarterly Journal of Mathematics, Vol. 69, Oxford University Press, S. 1089–1099, Arxiv:1701.06040, doi:10.1093/qmath/hay015, S2CID 3962424
  16. ^ Chakraborty, P.; Saxena, P. C.; Katti, C. P. (2011). "Fünfzig Jahre Automatensimulation: eine Bewertung". ACM -Einführung. 2 (4): 59–70. doi:10.1145/2038876.2038893. S2CID 6446749.
  17. ^ Jirí Adámek und Věra trnková. 1990. Automaten und Algebren in Kategorien. KLUWER Academic Publishers: Dordrecht und Prag
  18. ^ Mac Lane, Saunders (1971). Kategorien für den arbeitenden Mathematiker. New York: Springer. ISBN 9780387900360.
  19. ^ Kartesische Kategorie geschlossen Archiviert 16. November 2011 bei der Wayback -Maschine
  20. ^ Die Kategorie der Automata Archiviert 15. September 2011 bei der Wayback -Maschine
  21. ^ http://www.math.cornell.edu/~worth/asl2010.pdf James Worthington.2010.ZEERN, VERGESSEN UND AUTOMATA IN MONOIDAL -Kategorien. ASL Nordamerikanische Jahrestagung, 17. März 2010
  22. ^ Aguiar, M. und Mahajan, S.2010. "Monoidalfunktionen, Arten und Hopfalgebren".
  23. ^ Meseguer, J., Montanari, U.: 1990 Petri Nets sind Monoiden. Informationen und Berechnung 88: 105–155

Weitere Lektüre

Externe Links