Zum Inhalt springen

„Ω-Automat“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Formale Definition: Abkürzung korrigiert
 
(35 dazwischenliegende Versionen von 27 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{SEITENTITEL:ω-Automat}}
Ein '''ω-Automat''' ist ein mathematisches Modell, der eine Erweiterung des [[endlicher Automat|endlichen Automaten]] auf die Eingabe unendlicher Wörter darstellt. ''Endlich'' heißt der [[Automat (Informatik)|Automat]] deshalb, weil die Anzahl seiner inneren Zustände endlich ist. Ebenso ist das Alphabet, über dem dieser Automat arbeitet endlich.
Ein '''ω-Automat''' (''Omega-Automat'') ist ein mathematisches Modell, das eine Erweiterung des [[Endlicher Automat|endlichen Automaten]] auf die Eingabe unendlicher [[Wort (Theoretische Informatik)|Wörter]] darstellt. ''Endlich'' heißt der [[Automat (Informatik)|Automat]] deshalb, weil die Anzahl seiner inneren Zustände endlich ist. Ebenso ist das Alphabet, über dem dieser Automat arbeitet, endlich.


Der griechische Buchstabe ω ([[Omega|omega]]) steht hier für die kleinste unendliche [[Ordinalzahl]].
Der griechische Buchstabe ω ([[omega]]) steht hier für die kleinste unendliche [[Ordinalzahl]].


Motiviert wird die Betrachtung solcher Automaten durch viele Systeme (z.B. Betriebssysteme), die per Definition eigentlich nicht terminieren sollen, sondern unendlich lange betrieben werden.
Motiviert wird die Betrachtung solcher Automaten durch viele Systeme (zum Beispiel [[Betriebssystem]]e), die per definitionem eigentlich nicht terminieren sollen, sondern unendlich lange betrieben werden.


== Beschreibung ==
== Beschreibung ==
Ausgehend von einem besonderen Zustand (''Startzustand'') liest der ω-Automat eine unendlich abzählbare Folge von Symbolen (''Eingabewort''), die Elemente einer endlichen [[Menge (Mathematik)|Menge]] von Symbolen (''Eingabealphabet'') sind.
Ausgehend von einem besonderen Zustand ''(Startzustand)'' liest der ω-Automat eine [[Abzählbare Menge|abzählbar]] unendliche Folge von Symbolen ''(Eingabewort)'', die Elemente einer endlichen [[Menge (Mathematik)|Menge]] von Symbolen ''(Eingabealphabet)'' sind.


Dabei geht der ω-Automat schrittweise vor, wobei in jedem Schritt das jeweils nächste Symbol des Eingabewortes gelesen wird. Den Folgezustand bestimmt die Zustandsübergangsfunktion <math>\delta</math> in Abhängigkeit des aktuell gelesenen Zeichens und dem momentanen Zustand.
Dabei geht der ω-Automat schrittweise vor, wobei in jedem Schritt das jeweils nächste Symbol des Eingabewortes gelesen wird. Den Folgezustand bestimmt die Zustandsübergangsfunktion <math>\delta</math> in Abhängigkeit vom aktuell gelesenen Zeichen und dem momentanen Zustand.


Die Frage, ob das ''Eingabewort'' akzeptiert wird, ist von der Art des ω-Automaten abhängig. In jedem Fall wird die Menge der Zustände zu Rate gezogen, die unendlich oft durchlaufen werden.
Die Frage, ob das ''Eingabewort'' akzeptiert wird, ist von der Art des ω-Automaten abhängig. In jedem Fall wird die Menge der Zustände zu Rate gezogen, die unendlich oft durchlaufen werden.


== Darstellung ==
== Darstellung ==
Ein ω-Automat läßt sich sowohl als Zustandsdiagramm, als auch als Zustandstabelle darstellen:
Ein ω-Automat lässt sich sowohl als Zustandsdiagramm als auch als Zustandstabelle darstellen:
{|
{|
|[[Bild:Dea01.png|Beispiel für einen DEA]] ||
|[[Datei:Dea01.png|Beispiel für einen DEA]] ||
|
|
{| class="wikitable"
{| border=1
! !! a !! b
| ||bgcolor=ececec|a ||bgcolor=ececec|b
|-
|-
! s0
|S0 ||S0 ||S1
| s0 || s1
|-
|-
! s1
|S1 ||S0 ||S2
| s0 || s2
|-
|-
! s2
|S2 ||S1 ||S2
| s1 || s2
|}
|}
|-
|-
|align="center" |Zustandsdiagramm || ||align="center" |Zustandstabelle
|align="center" |Zustandsdiagramm || || align="center" |Zustandstabelle
|}
|}


Das Diagramm liest sich wie folgt:
Das Diagramm liest sich wie folgt:
* Einfache [[Kreis]]e stellen [[Zustand|Zustände]] dar.
* Einfache [[Kreis]]e stellen [[Zustandsraum (Informatik)|Zustände]] dar.
* Im Kreis steht der Name des Zustands bzw. der Zustand.
* Im Kreis steht der Name des Zustands bzw. der Zustand.
* [[Pfeil]]e stellen [[Transition]]en dar. Auf den Pfeilen steht, welches Zeichen (oder gar welche Wörter) der Automat bei der Transition liest.
* [[Pfeil (Symbol)|Pfeil]]e stellen [[Automat (Informatik)#Verhalten eines Automaten|Transition]]en (Zustandsübergänge) dar. An den Pfeilen steht, welches Zeichen (oder gar welche Wörter) der Automat bei der Transition liest.
* Der Anfangszustand ist dadurch gekennzeichnet, dass er Endpunkt eines Pfeils ist, der keinen Zustand als Ausgangspunkt hat.
* Der Anfangszustand ist dadurch gekennzeichnet, dass er Endpunkt eines Pfeils ist, der keinen Zustand als Ausgangspunkt hat.
* Endzustände sind durch doppelte Kreise gekennzeichnet.
* Endzustände sind durch doppelte Kreise gekennzeichnet (aber nicht bei allen Typen des ω-Automaten gibt es Endzustände; die Akzeptanzmechanismen sind unterschiedlich).

==Typen==


== Typen ==
Wie bei den endlichen Automaten unterscheidet man auch bei den ω-Automaten zwischen deterministischen und nichtdeterministischen Automaten.
Wie bei den endlichen Automaten unterscheidet man auch bei den ω-Automaten zwischen deterministischen und nichtdeterministischen Automaten.


Weiterhin unterscheidet man die Automaten nach der Art, wie entschieden wird, ob ein eingegebenes Wort akzeptiert wird oder nicht. Diese Akzeptanz eines Wortes entscheidet sich in den meisten Fällen nach den unendlich oft angenommenen Zuständen. Beispiele für ω-Automaten sind der [[Büchi-Automat]], der [[Muller-Automat]], der [[Rabin Automat]], der [[Streett Automat]] und der [[parity Automat]].
Weiterhin unterscheidet man die Automaten nach der Art, wie entschieden wird, ob ein eingegebenes Wort akzeptiert wird oder nicht. Diese Akzeptanz eines Wortes entscheidet sich in den meisten Fällen nach den unendlich oft angenommenen Zuständen. Beispiele für ω-Automaten sind der [[Büchi-Automat]], der [[Muller-Automat]], der [[Rabin-Automat]], der [[Streett-Automat]] und der [[Parity-Automat]].


Außer dem deterministischen Büchi-Automaten erkennen alle genannten Automaten die Klasse der [[Ω-regulär|ω-regulären Ausdrücke]] (die Erweiterung der [[Regulärer Ausdruck|regulären Ausdrücke]] auf unendliche Zeichenfolgen). Der deterministische Büchi-Automat erkennt nur eine Teilmenge dieser Ausdrücke und stellt eine echt schwächere Automatenklasse dar.
Außer dem deterministischen Büchi Automaten erkennen alle genannten Automaten die Klasse der [[Omega-Reguläre Ausdrücke |ω-regulären Ausdrücke]] (die Erweiterung der [[regulären Ausdrücke ]] auf unendliche Zeichenfolgen). Der deterministische Büchi Automat erkennt nur eine Teilmenge dieser Ausdrücke und stellt eine echt schwächere Automatenklasse dar.


== Formale Definition ==
== Formale Definition ==
Zeile 51: Zeile 53:
<math>M=(\Sigma,Z,Z_0,\delta,Z_E)</math>
<math>M=(\Sigma,Z,Z_0,\delta,Z_E)</math>


Dabei sind die Elemente wie folgt definiert.
Dabei sind die Elemente wie folgt definiert:
* <math>\Sigma</math> ist eine endliche [[Menge (Mathematik)|Menge]], das Eingabealphabet, aus dessen Elementen die eingegebenen Wörter zusammengesetzt sind.
* <math>Z</math> ist die zu <math>\Sigma</math> [[Disjunkt|disjunkte]] endliche [[Menge (Mathematik)|Menge]] der Zustände des Automaten.
* <math>Z_0 \in Z</math> ist der Startzustand.
* <math>\delta : \Sigma \times Z \rightarrow Z</math> ist die Überführungsfunktion, sie ist gewöhnlich total, d.&nbsp;h. jedes Element der Urbildmenge <math>\Sigma \times Z</math> hat ein Bild.
* <math>Z_E</math> ist eine vom Automatentyp abhängige Komponente, die regelt, wann ein Wort akzeptiert wird, bei Büchi-Automaten zum Beispiel ist dies eine Teilmenge von <math>Z</math>.


Bei nichtdeterministischen Automaten wird die (nicht zwingend totale) Überführungsrelation als <math>\Delta : \Sigma \times Z \rightarrow P(Z)</math> definiert, wobei <math>P(Z)</math> die [[Potenzmenge]] von <math>Z</math> ist. Der Automat kann dann bei der Eingabe eines neuen Zeichens nichtdeterministisch in einen von mehreren Zuständen gehen, die durch das [[Bild (Mathematik)|Bild]] (Menge von Zuständen) der Funktion gegeben werden.
<math>\Sigma</math> - Ist eine endliche [[Menge]].


== Siehe auch ==
<math>Z</math> - Ist eine zu <math>\Sigma</math> [[Disjunkt|disjunkte]] endliche [[Menge]].
* [[Modellprüfung]]

<!--
<math>Z_0</math> - Ist eine Element von <math>Z \qquad \qquad Z_0\in Z</math>
* [[Automatenanalyse]]

* [[Abdeckungsanalyse]]
<math>\delta</math> - Eine Funktion <math>\Sigma \times Z \rightarrow Z</math> (total)

<math>Z_E</math> - Ist eine vom Automatentyp abhängige Komponente

Die Semantik der einzelnen Elemente ist die folgende:

<math>\Sigma</math> - Ist das Eingabealphabet

<math>Z</math> - Ist die Zustandsmenge

<math>Z_0</math> - Ist der Startzustand

<math>\delta</math> - Ist die Überführungsfunktion, sie ist gewöhnlich total, d.h. jedes Element der Ausgangsmenge <math>\Sigma</math> hat ein Bild. Bei nichtdeterministischen Automaten wird an Stelle von <math> Z </math> die [[Potenzmenge]] P(Z) benutzt, da der Automat dann sich in verschiedenen Zuständen gleichzeitig aufhalten kann und sich auch bei der Eingabe eines neuen Zeichens eben nichtdeterministisch in verschiedene Zustände bewegen kann.

<math>Z_E</math> - Diese Komponente regelt, wann ein Wort akzeptiert wird, bei Büchi-Automaten z.B. ist dies eine Teilmenge von <math>Z</math>.

==Siehe auch==
*[[Endlicher Automat]]
*[[Model Checking]]
*[[Automatenanalyse]]
*[[Abdeckungsanalyse]]


== Literatur ==
== Literatur ==
== Weblinks ==
-->


{{SORTIERUNG:OmegaAutomat}}
==Weblinks==
[[Kategorie:Automatentheorie]]

[[kategorie:Automatentheorie]]

Aktuelle Version vom 18. Februar 2018, 17:17 Uhr

Ein ω-Automat (Omega-Automat) ist ein mathematisches Modell, das eine Erweiterung des endlichen Automaten auf die Eingabe unendlicher Wörter darstellt. Endlich heißt der Automat deshalb, weil die Anzahl seiner inneren Zustände endlich ist. Ebenso ist das Alphabet, über dem dieser Automat arbeitet, endlich.

Der griechische Buchstabe ω (omega) steht hier für die kleinste unendliche Ordinalzahl.

Motiviert wird die Betrachtung solcher Automaten durch viele Systeme (zum Beispiel Betriebssysteme), die per definitionem eigentlich nicht terminieren sollen, sondern unendlich lange betrieben werden.

Ausgehend von einem besonderen Zustand (Startzustand) liest der ω-Automat eine abzählbar unendliche Folge von Symbolen (Eingabewort), die Elemente einer endlichen Menge von Symbolen (Eingabealphabet) sind.

Dabei geht der ω-Automat schrittweise vor, wobei in jedem Schritt das jeweils nächste Symbol des Eingabewortes gelesen wird. Den Folgezustand bestimmt die Zustandsübergangsfunktion in Abhängigkeit vom aktuell gelesenen Zeichen und dem momentanen Zustand.

Die Frage, ob das Eingabewort akzeptiert wird, ist von der Art des ω-Automaten abhängig. In jedem Fall wird die Menge der Zustände zu Rate gezogen, die unendlich oft durchlaufen werden.

Ein ω-Automat lässt sich sowohl als Zustandsdiagramm als auch als Zustandstabelle darstellen:

Beispiel für einen DEA
a b
s0 s0 s1
s1 s0 s2
s2 s1 s2
Zustandsdiagramm Zustandstabelle

Das Diagramm liest sich wie folgt:

  • Einfache Kreise stellen Zustände dar.
  • Im Kreis steht der Name des Zustands bzw. der Zustand.
  • Pfeile stellen Transitionen (Zustandsübergänge) dar. An den Pfeilen steht, welches Zeichen (oder gar welche Wörter) der Automat bei der Transition liest.
  • Der Anfangszustand ist dadurch gekennzeichnet, dass er Endpunkt eines Pfeils ist, der keinen Zustand als Ausgangspunkt hat.
  • Endzustände sind durch doppelte Kreise gekennzeichnet (aber nicht bei allen Typen des ω-Automaten gibt es Endzustände; die Akzeptanzmechanismen sind unterschiedlich).

Wie bei den endlichen Automaten unterscheidet man auch bei den ω-Automaten zwischen deterministischen und nichtdeterministischen Automaten.

Weiterhin unterscheidet man die Automaten nach der Art, wie entschieden wird, ob ein eingegebenes Wort akzeptiert wird oder nicht. Diese Akzeptanz eines Wortes entscheidet sich in den meisten Fällen nach den unendlich oft angenommenen Zuständen. Beispiele für ω-Automaten sind der Büchi-Automat, der Muller-Automat, der Rabin-Automat, der Streett-Automat und der Parity-Automat.

Außer dem deterministischen Büchi-Automaten erkennen alle genannten Automaten die Klasse der ω-regulären Ausdrücke (die Erweiterung der regulären Ausdrücke auf unendliche Zeichenfolgen). Der deterministische Büchi-Automat erkennt nur eine Teilmenge dieser Ausdrücke und stellt eine echt schwächere Automatenklasse dar.

Formale Definition

[Bearbeiten | Quelltext bearbeiten]

Ein ω-Automat ist ein 5-Tupel:

Dabei sind die Elemente wie folgt definiert:

  • ist eine endliche Menge, das Eingabealphabet, aus dessen Elementen die eingegebenen Wörter zusammengesetzt sind.
  • ist die zu disjunkte endliche Menge der Zustände des Automaten.
  • ist der Startzustand.
  • ist die Überführungsfunktion, sie ist gewöhnlich total, d. h. jedes Element der Urbildmenge hat ein Bild.
  • ist eine vom Automatentyp abhängige Komponente, die regelt, wann ein Wort akzeptiert wird, bei Büchi-Automaten zum Beispiel ist dies eine Teilmenge von .

Bei nichtdeterministischen Automaten wird die (nicht zwingend totale) Überführungsrelation als definiert, wobei die Potenzmenge von ist. Der Automat kann dann bei der Eingabe eines neuen Zeichens nichtdeterministisch in einen von mehreren Zuständen gehen, die durch das Bild (Menge von Zuständen) der Funktion gegeben werden.