Haenelt EA Introx -...

15
Karin Haenelt, 2010 Seite 1 von 15 Endliche Automaten: Einführung Einführung Inhalt Einführung ....................................................................................................................... 1 1 Informelle Einführung: Was sind endliche Automaten? ............................................. 1 1.1 Abstrakte Automaten ........................................................................................... 1 1.2 Endliche abstrakte Automaten ............................................................................. 2 2 Beispiele ................................................................................................................... 2 2.1 Beispiel: Kippschalter ........................................................................................... 2 2.2 Beispiel: Worterkennung ...................................................................................... 3 2.3 Beispiel: Lexikon .................................................................................................. 4 3 Typen endlicher Automaten ...................................................................................... 5 4 Definitionen............................................................................................................... 6 4.1 Abstrakte Automaten als mathematische Strukturen ............................................ 6 4.2 Endliche abstrakte Automaten ............................................................................10 5 Einordnung in die Automatentheorie und die Theorie formaler Sprachen.................11 5.1 Klassifizierung von Algorithmen ..........................................................................11 5.1.1 Automatentheorie ............................................................................................12 5.1.2 Komplexitätstheorie.........................................................................................12 5.2 Theorie formaler Sprachen .................................................................................12 6 Anwendungsgebiete und Attraktivität endlicher Automaten......................................13 6.1 softwaretechnische Vorteile ................................................................................14 6.2 Modellierung von Objekten .................................................................................15 1 Informelle Einführung: Was sind endliche Automaten? 1.1 Abstrakte Automaten Ein abstrakter Automat ist ein mathematisches Modell für einfache Maschinen oder Programme, die bestimmte Probleme lösen. Ein solches Modell beschreibt nicht einen bestimmten Automaten, sondern gemeinsame Grundprinzipien einer Klasse von Automaten. Abstrakte Automaten dienen als Muster, die für verschiedene Modellierungen wiederverwendbar sind. Grundlegende Komponenten abstrakter Automaten sind - Zustände

Transcript of Haenelt EA Introx -...

Karin Haenelt, 2010 Seite 1 von 15

Endliche Automaten: Einführung

Einführung

Inhalt

Einführung ....................................................................................................................... 1

1 Informelle Einführung: Was sind endliche Automaten? ............................................. 1

1.1 Abstrakte Automaten ........................................................................................... 1

1.2 Endliche abstrakte Automaten ............................................................................. 2

2 Beispiele ................................................................................................................... 2

2.1 Beispiel: Kippschalter ........................................................................................... 2

2.2 Beispiel: Worterkennung ...................................................................................... 3

2.3 Beispiel: Lexikon .................................................................................................. 4

3 Typen endlicher Automaten ...................................................................................... 5

4 Definitionen ............................................................................................................... 6

4.1 Abstrakte Automaten als mathematische Strukturen ............................................ 6

4.2 Endliche abstrakte Automaten ............................................................................10

5 Einordnung in die Automatentheorie und die Theorie formaler Sprachen.................11

5.1 Klassifizierung von Algorithmen ..........................................................................11

5.1.1 Automatentheorie ............................................................................................12

5.1.2 Komplexitätstheorie .........................................................................................12

5.2 Theorie formaler Sprachen .................................................................................12

6 Anwendungsgebiete und Attraktivität endlicher Automaten ......................................13

6.1 softwaretechnische Vorteile ................................................................................14

6.2 Modellierung von Objekten .................................................................................15

1 Informelle Einführung: Was sind endliche Automate n?

1.1 Abstrakte Automaten

Ein abstrakter Automat ist ein mathematisches Modell für einfache Maschinen oder

Programme, die bestimmte Probleme lösen. Ein solches Modell beschreibt nicht

einen bestimmten Automaten, sondern gemeinsame Grundprinzipien einer Klasse

von Automaten. Abstrakte Automaten dienen als Muster, die für verschiedene

Modellierungen wiederverwendbar sind.

Grundlegende Komponenten abstrakter Automaten sind

- Zustände

Karin Haenelt, 2010 Seite 2 von 15

Endliche Automaten: Einführung

- Eingabesymbole

- Zustandsübergänge

D.h. ein Automat verfügt über innere Zustände und reagiert auf Eingaben, indem er

von einem Zustand in einen anderen übergeht. Eine mögliche Reaktion eines

Automaten ist die Erzeugung einer Ausgabe.

Abbildung 1 einfaches Modell eines Automaten

1.2 Endliche abstrakte Automaten

Ein abstrakter Automat ist ein „endlicher Automat“, wenn die Anzahl der Zustände,

der Eingaben und der Ausgaben endlich ist.

Die wesentlichen Komponenten dieser Modelle sind

- eine endliche Menge von Zuständen, die die internen Konfigurationen darstellen, in

denen sich ein System befinden kann

- eine zeitliche Ordnung, die die möglichen Sequenzen von Zuständen definiert

- eine endliche Menge von Eingaben,

- eine endliche Menge von Ausgaben (Reaktionen),

- Ein endlicher Automat arbeitet in Takten (Zeitintervallen): In jedem Takt befindet er

sich in genau einem Zustand. Durch Eingabe einer Einwirkung auf das System erfolgt

eine bestimmte Reaktion (Ausgabe) und der Übergang zum nächsten Takt.

2 Beispiele

2.1 Beispiel: Kippschalter

Ein einfacher endlicher Automat ist ein Kippschalter (Hopcroft/Motwani/Ullmann,

2001). Ein Beispiel ist in Abbildung 2 gezeigt. Der dargestellte Automat hat zwei

Zustände. Die Zustände werden standardmäßig durch Kreise symbolisiert. Im

Beispiel werden die Zustände mit „an“ und „aus“ bezeichnet. Der Automat hat

einen Startzustand, nämlich „aus“. Dieser Zustand ist durch einen Pfeil mit der

Beschriftung „Start“ gekennzeichnet. Ein Endzustand wurde nicht festgelegt. Die

Zustände

des

Automaten Eingabe Ausgabe

Karin Haenelt, 2010 Seite 3 von 15

Endliche Automaten: Einführung

Eingaben, die auf das System wirken, sind durch Pfeile zwischen den Zuständen

und Beschriftungen der Pfeile dargestellt. Die Pfeile zeigen an, in welchen Zustand

das System bei welcher Eingabe wechselt. Im Beispiel reagiert der Automat in

jedem Zustand auf die Eingabe „drücken“. Wenn der Automat im Zustand „aus“ ist,

gelangt er durch „drücken“ in den Zustand „ein“ und umgekehrt. Der Automat kann

eine unendliche Folge von Eingaben verarbeiten, braucht dafür aber nur eine

endliche Anzahl von Zuständen

Abbildung 2 Kippschalter als Beispiel eines einfachen endlichen Automaten

2.2 Beispiel: Worterkennung

Abbildung 3 zeigt ein weiteres Beispiel, und zwar die Modellierung der Erkennung

eines Wortes (Hopcroft/Motwani/Ullman, 2001: 14). In diesem Beispiel gibt es fünf

Zustände. Diese sind nach der Teilkette des Wortes benannt, die bei Erreichen des

Zustandes erkannt wurde. Eingaben in den Zuständen sind die einzelnen

Buchstaben des Wortes. Im Startzustand wurde noch kein Buchstabe erkannt.

Wird in diesem Zustand ein „t“ eingeben, geht der Automat in den Zustand ‚t’ über.

Wird in Zustand ‚t’ ein „h“ eingegeben, geht der Automat in den Zustand ‚th’ über.

Nach Eingabe aller Zeichen des Wortes „then“ erreicht der Automat schließlich den

Zustand ‚then’. Dieser Zustand ist durch einen Doppelkreis markiert. Das bedeutet,

dass es sich um einen Endzustand handelt. Endet die Betrachtung einer

Eingabekette in einem Endzustand, so gibt der Automat „accept“ aus. D.h. die

betrachtete Kette gehört zur Menge der Ketten, die der Automat akzeptiert. Die

Betrachtung des Wortes „the“ würde in Zustand ‚the’ enden, der aber im Beispiel

kein Endzustand ist. Damit wird „the“ in diesem Automaten nicht als ein Wort

akzeptiert. Die Betrachtung des Wortes „that“ würde im Zustand ‚th’ mit negativem

Resultat abgebrochen („reject“), weil in diesem Zustand eine Eingabe „a“ im

Beispielautomaten nicht definiert ist.

Eingabe Zustand drücken aus an an aus

Start

drücken

drücken

aus an

Karin Haenelt, 2010 Seite 4 von 15

Endliche Automaten: Einführung

Abbildung 3 Darstellung der Erkennung des Wortes „then“ als endlicher Automat (Hopcroft/Motwani/Ullman, 2001: 14)

2.3 Beispiel: Lexikon

Abbildung 4 zeigt ein Lexikon der deutschen Artikel „dem“, „den“, „der“, „des“ und

„dessen“ in der Modellierung als endlicher Automat. Der Automat hat drei

Endzustände, nämlich Zustand 3, Zustand 4 und Zustand 7. Der Automat

akzeptiert alle Zeichenreihen, die in einem dieser Zustände enden. Der Automat

kann verwendet werden, um Texte nach diesen Artikelwörtern abzusuchen. Wird

im Text ein „d“ gefunden geht der Automat von Zustand 0 in Zustand 1 über. Folgt

darauf ein „e“ geht der Automat in Zustand 2 über. Folgt darauf ein „m“, „n“ oder „r“,

geht er in Zustand 3 über, folgt ein „s“, geht er in Zustand 4 über. Bei jeder

anderen Eingabe bricht die Suche ergebnislos ab. Die Modellierung von Lexika mit

endlichen Automaten ist sehr Platz sparend, und sie erlaubt eine sehr effiziente

Verwendung. Im endlichen Automaten werden gleiche Wortanfänge nur einmal

gespeichert, in Textdateien hingegen mehrmals. Das Aufsuchen von Wörtern im

Lexikon erfolgt im endlichen Automaten durch einfaches Verfolgen von Pfaden, die

durch das Suchwort vorgegeben werden. In einer Textdatei müsste ein Suchwort

hingegen solange mit jedem Wort im Lexikon verglichen werden bis eine

Übereinstimmung gefunden würde oder bis das Ende des Lexikons ergebnislos

erreicht würde. Der Vergleich eines Textwortes mit einem Lexikonwort müsste

zeichenweise erfolgen. Jedes Textzeichen würde bei diesem Vorgang viele Male

mit einem Lexikonzeichen verglichen.

n

d 0 1

e 2

m 3

n

r

5 s

4 s

7 e

6

t th the then

Start t h e n

Karin Haenelt, 2010

Endliche Automaten: Einführung

Abbildung 4 Darstellung eines Lexikons ausgewählter Artikel des Deutschen als endlicher Automat

3 Typen endlicher Automaten

Man unterscheidet nach der Art der Ausgabe

endlicher Akzeptor ist ein endlicher Automat, der

oder reject ausgibt. Er dient nur der Feststellung, ob eine gegebene Eingabe zur

Menge der für den Akzeptor gültigen Eingaben gehört oder nicht.

Transduktor ist ein endlicher

zuordnet.

Nach dem Grad der Übergangsmöglichkeiten

und nicht-deterministische

für jede Eingabe höchstens eine Übergangsmöglichkeit in einen Folgezustand, ein

nicht-deterministischer Automat kann für eine Eingabe mehr als eine

Übergangsmöglichkeit in einen Folgezustand haben

Ein stochastischer Automat ordnet einem Zustandsübergang zusätzlich eine

Wahrscheinlichkeit zu. Sowohl Akzeptoren als auch Transduktoren können

stochastische Automaten sein.

2010

Endliche Automaten: Einführung

Darstellung eines Lexikons ausgewählter Artikel des Deutschen als endlicher Automat

Typen endlicher Automaten

Man unterscheidet nach der Art der Ausgabe Akzeptoren und Transduktoren

ist ein endlicher Automat, der zu einer Eingabe lediglich

ausgibt. Er dient nur der Feststellung, ob eine gegebene Eingabe zur

Menge der für den Akzeptor gültigen Eingaben gehört oder nicht.

in endlicher Automat, der einer Eingabe zusätzlich eine Ausgabe

Nach dem Grad der Übergangsmöglichkeiten unterscheidet man deterministische

deterministische endliche Automaten: Ein deterministischer Automat hat

höchstens eine Übergangsmöglichkeit in einen Folgezustand, ein

deterministischer Automat kann für eine Eingabe mehr als eine

Übergangsmöglichkeit in einen Folgezustand haben

Ein stochastischer Automat ordnet einem Zustandsübergang zusätzlich eine

hrscheinlichkeit zu. Sowohl Akzeptoren als auch Transduktoren können

stochastische Automaten sein.

Seite 5 von 15

Darstellung eines Lexikons ausgewählter Artikel des Deutschen

Transduktoren. Ein

zu einer Eingabe lediglich accept

ausgibt. Er dient nur der Feststellung, ob eine gegebene Eingabe zur

Menge der für den Akzeptor gültigen Eingaben gehört oder nicht. Ein endlicher

Automat, der einer Eingabe zusätzlich eine Ausgabe

rscheidet man deterministische

deterministischer Automat hat

höchstens eine Übergangsmöglichkeit in einen Folgezustand, ein

deterministischer Automat kann für eine Eingabe mehr als eine

Ein stochastischer Automat ordnet einem Zustandsübergang zusätzlich eine

hrscheinlichkeit zu. Sowohl Akzeptoren als auch Transduktoren können

Karin Haenelt, 2010

Endliche Automaten: Einführung

Die allgemeine Form ein

Transduktor. Alle anderen Formen können als Spezialfälle des stochastischen

Transduktors dargestellt werden. Im nichtdeterministischen Transduktor haben alle

Übergänge dieselbe Wahrscheinlichkeit. Ein Akzeptor kann als ein Transduktor

betrachtet werden, der eine leere Zeichenkette ausgibt.

Abbildung 5 zeigt Beispiele der unterschiedlichen Automaten. D

modellieren eine Beziehung zwischen der Phonemfolge [

Wörtern „Stadt“ und „

Verschriftlichung von [

der Verschriftlichung durch „

Auswertung von Beispielsammlungen gewonnen. Der nicht

Transduktor ordnet alle

deterministische Transduktor ist die determinisierte Version des nicht

deterministischen Transduktors.

Abbildung 5 Akzeptoren und Transduktoren

4 Definitionen

4.1 Abstrakte Automaten als mathematische Strukturen

David A. Huffman (1954), George H. Mealy (1955) und Edward F. Moore (1956)

untersuchten Schaltkreise und beschreiben voneinander unabhängig den

2010

Endliche Automaten: Einführung

allgemeine Form eines endlichen Automaten ist ein stochastischer

Alle anderen Formen können als Spezialfälle des stochastischen

dargestellt werden. Im nichtdeterministischen Transduktor haben alle

Übergänge dieselbe Wahrscheinlichkeit. Ein Akzeptor kann als ein Transduktor

betrachtet werden, der eine leere Zeichenkette ausgibt.

zeigt Beispiele der unterschiedlichen Automaten. Die

eine Beziehung zwischen der Phonemfolge [ʃtat] und den beiden

“ und „statt“. Der stochastische Transduktor ordnet der

Verschriftlichung von [ʃtat] durch „Stadt“ eine Wahrscheinlichkeit von 65% zu, und

der Verschriftlichung durch „statt“ von 35%. Solche Werte werden durch

Auswertung von Beispielsammlungen gewonnen. Der nicht-deterministische

Transduktor ordnet allen Varianten dieselbe Wahrscheinlichkeit zu. Der

deterministische Transduktor ist die determinisierte Version des nicht

deterministischen Transduktors.

Akzeptoren und Transduktoren

Abstrakte Automaten als mathematische Strukturen

David A. Huffman (1954), George H. Mealy (1955) und Edward F. Moore (1956)

untersuchten Schaltkreise und beschreiben voneinander unabhängig den

Seite 6 von 15

ein stochastischer

Alle anderen Formen können als Spezialfälle des stochastischen

dargestellt werden. Im nichtdeterministischen Transduktor haben alle

Übergänge dieselbe Wahrscheinlichkeit. Ein Akzeptor kann als ein Transduktor

ie Transduktoren

tat] und den beiden

net der

tat] durch „Stadt“ eine Wahrscheinlichkeit von 65% zu, und

“ von 35%. Solche Werte werden durch

deterministische

n Varianten dieselbe Wahrscheinlichkeit zu. Der

deterministische Transduktor ist die determinisierte Version des nicht-

David A. Huffman (1954), George H. Mealy (1955) und Edward F. Moore (1956)

untersuchten Schaltkreise und beschreiben voneinander unabhängig den

Karin Haenelt, 2010 Seite 7 von 15

Endliche Automaten: Einführung

konventionellen deterministischen Automaten auf ähnliche Weise. Huffman

entwickelte den Begriff des abstrakten Automaten, und Mealy und Moore führten

abstrakte Automaten als mathematische Strukturen ein.

Eine Struktur im mathematischen Sinne ist eine Zusammenfassung einer Menge

und ausgewählter interessanter Eigenschaften dieser Menge zu einem

gemeinsamen Objekt. Die Eigenschaften definieren eine Struktur auf der Menge.

Verkürzt kann man auch sagen; eine Struktur ist eine Menge, die durch bestimmte

Eigenschaften strukturiert ist. Als strukturbildende Eigenschaften von Mengen sind

in diesem Zusammenhang zugelassen: Relationen, Funktionen und

ausgezeichnete Elemente. Eine Struktur wird in der Form eines Tupels notiert.

Beispielsweise ist (ℕ, +,×, 0,1 eine Struktur. In der Betrachtungsweise dieses

Beispiels ist Menge der natürlichen Zahlen strukturiert durch die Verknüpfungen

der Addition (Nachfolgerelation) und der Multiplikation (iterative Addition) sowie

durch zwei Elemente, 0 und 1, die in bestimmter Weise ausgezeichnete Elemente

sind. Mit Strukturen beschäftigt sich die abstrakte Algebra. Diese abstrahiert von

spezifischen Mengen, Verknüpfungen und ausgezeichneten Elementen und

untersucht die abstrakten Eigenschaften von Strukturen. Im Sinne der abstrakten

Algebra handelt es sich bei der Struktur des Beispiels um einen Semiring. Ein

Semiring ist eine Struktur, die folgende Bedingungen erfüllt: Kommutativität der

ersten Verknüpfung (hier: Addition), Distributivität der zweiten Verknüpfung (hier:

Multiplikation) über die erste Verknüpfung (hier: Addition), neutrale Elemente (hier:

0 und 1), neutrales Element der ersten Verknüpfung (0 als neutrales Element der

Addition) ist nihilierendes Element der zweiten Verknüpfung (hier: Multiplikation; 0

x a = 0). Semiringe spielen in der Theorie der endlichen Automaten eine große

Rolle.

Definition 1 Struktur

Eine Struktur ist ein Tupel A, dessen erste Komponente eine nichtleere Menge A

ist, die Grundmenge oder Grundbereich von A genannt wird. Die weiteren

Komponenten repräsentieren eine Folge von Funktionen, Relationen und

Elementen von A. ■ (Schulz, 2004:156)

Starke (1969) gibt zunächst eine allgemeine Definition abstrakter Automaten, die

alle Klassen abstrakter Automaten umfasst (Turing-Maschine, Kellerautomat und

Karin Haenelt, 2010 Seite 8 von 15

Endliche Automaten: Einführung

endlicher Automat). Die einzelnen Automaten-Klassen werden dann jeweils durch

Angabe zusätzlicher Bedingungen spezifiziert. Die allgemeine Definition

unterscheidet die drei Arten abstrakter Automaten: determinierte, nicht-

determinierte und stochastische Automaten. Wir zitieren zunächst die Definitionen

für allgemeine Automaten und geben dann die Zusatzbedingungen für die hier

interessierenden endlichen Automaten an.

Definition 2 determinierter abstrakter Automat

A = (X, Y, Z, γ) heißt determinierter abstrakter Automat, falls

1. X, Y, Z beliebige nichtleere Mengen sind, und

2. γ eine auf Z × X definierte Funktion ist, deren Werte in Y × Z liegen. ■

(Starke 1969: 22)

„Interpretation. Die Elemente x aus der Menge X, dem Eingabealphabet von A

heißen Eingabesignale von A, die y aus dem Ausgabealphabet Y Ausgabesignale

von A und die z aus Z Zustände von A.“ (Starke 1969:22). Die Funktion γ liefert

also zu einem Paar aus einem Zustand und einem Eingabesignal ein Paar aus

einem Folgezustand und einem Ausgabebsymbol.

Abbildung 6 zeigt ein Beispiel zu dieser Definition.

Abbildung 6 Beispiel zur Definition des determinierten abstrakten Automaten

M

0 1

Z × X

m n

0 Y Z Y Z

M 1 N 1

m

N n

X Eingabealphabet des Automaten A

x ∈ X Eingabesignal, hier: {m,n}

Y Ausgabealphabet des Automaten A

y ∈ Y Ausgabesignal, hier: {M,N}

Z Zustandsmenge des Automaten A

z ∈ Z Zustände, hier {0,1}

Karin Haenelt, 2010 Seite 9 von 15

Endliche Automaten: Einführung

An Stelle der Funktion γ kann man den Automaten auch durch Angabe der

Funktionen δ und λ beschreiben. Man erhält dann die Form der Definition, in der

Mealy (1955) sie gegeben hat.

Definition 3 determinierter Mealy-Automat

Ein determinierter Automat A = (X, Y, Z, γ) heißt determinierter Mealy-Automat,

falls für alle x ∈X, z∈Z,

γ(z,x) = [λ(z,x),δ(z,x)] ist,

wobei λ die Ergebnis- und δ die Überführungsfunktion von A ist. ■ (Starke 1969:

22)

Abbildung 7 zeigt ein Beispiel zu dieser Definition.

Abbildung 7 Beispiel zur Definition des determinierten Mealy-Automaten

Definition 4 nicht-deterministischer Automat

B = (X, Y, Z, h) heißt nicht-deterministischer Automat, falls

1. X, Y, Z nichtleere Mengen sind, und

2. h eine eindeutige Abbildung von Z × X in P(Z × Y) ist. ■ (Starke 1969: 121)

P(Z × Y) ist die Potenzmenge von (Z × Y), also die Menge aller Teilmengen, die

sich aus Paaren von Z und Y bilden lassen. Im Beispiel der Abbildung 7 lassen

sich die folgenden 4 Paare bilden: (0,M), (0,N), (1,M), (1,N). Die Potenzmenge P(Z

× Y) umfasst alle 24 möglichen Teilmengen, die sich aus diesen Paaren bilden

lassen: {

{(0,M), (0,N), (1,M), (1,N)},

M

0 1

λ(z,x)

m n

0 M N

m

N n

δ(z,x)

m n

0 1 1

Karin Haenelt, 2010 Seite 10 von 15

Endliche Automaten: Einführung

{(0,M), (0,N), (1,M), (1,N)},

{(0,M), (0,N), (1,M), (1,N)},

{(0,M), (0,N), (1,M), (1,N)},

{(0,M),) (0,N, (1,M), (1,N)},

{(0,M), (0,N), (1,M), (1,N)},

∅ }

D.h. ein Eingabesymbol kann im nicht-deterministischen Automaten eine Menge

von Zustandsübergängen auslösen (beschrieben als eine Teilmenge der

Potenzmenge).

Definition 5 stochastischer Automat

C = (X, Y, Z, H) heißt stochastischer Automat, wenn

1. X, Y, Z beliebige nichtleere Mengen sind, und

2. H eine auf Z × X definierte Funktion ist, die diskrete Wahrscheinlichkeitsmaße

über Y × Z als Werte H(z,x) hat. ■ (Starke 1969: 211)

4.2 Endliche abstrakte Automaten

Definition 6 endlicher Automat

A heißt X-endlich, Y-endlich bzw. Z-endlich bzw. (X,Y)-endlich usw., wenn die

jeweils angegebenen Mengen endlich sind. (X,Y,Z)-endliche Automaten

bezeichnen wir schlechthin als endlich ■ (Starke 1969: 25)

Die Definitionen sind für allgemeine Mengen formuliert. D.h. alle Mengen, die auf

diese angegebene Art strukturiert sind, bilden eine Struktur, für die hier die Namen

„determinierter Automat“ „nicht-deterministischer Automat“ bzw. stochastischer

Automat festgelegt werden. Die Buchstaben für die Bezeichnungen sind nicht

festgelegt. Im Gebiet der endlichen Automaten findet man häufig auch die

folgenden Bezeichner:

Z (oft auch mit Q bezeichnet) Menge der Zustände

X (oft auch mit Σ bezeichnet) Menge der Eingabesymbole

Y (oft auch mit ∆ bezeichnet) Menge der Ausgabesymbole

Eine mögliche Notation ist also:

Karin Haenelt, 2010 Seite 11 von 15

Endliche Automaten: Einführung

5 Einordnung in die Automatentheorie und die Theori e formaler Sprachen

5.1 Klassifizierung von Algorithmen

Alan Turing hatte 1936 die Grenze zwischen dem, was eine abstrakte

Rechenmaschine berechnen kann und was nicht, untersucht. Er erfand die

Turingmaschine, das abstrakte Modell eines Rechners, der mit nur drei

Operationen (lesen, schreiben, Lesekopf bewegen) sämtliche berechenbare

Probleme lösen kann. Anfangs galt das Interesse der Mathematik der Bestimmung

der Grenze zwischen berechenbaren und nicht berechenbaren Problemen, d.h.

zwischen solchen, für deren Lösung Algorithmen möglich sind und solchen, für

deren Lösung es keine Algorithmen gibt. Die Tatsache, dass es einen Algorithmus

gibt, bedeutet auch, dass es möglich ist, ein Programm für die Lösung eines

Problems zu schreiben. Mit der Implementierung der Algorithmen auf Rechnern

kam die Frage hinzu, wie effizient die Programme sind, und Programme wurden

nach ihrer Effizienz klassifiziert. Zwei Ansätze zur Klassifizierung von Algorithmen

wurden entwickelt: Die Komplexitätstheorie klassifiziert Algorithmen nach ihrem

Laufzeitverhalten, die Automatentheorie klassifiziert Algorithmen nach der Art des

Speichers, die für die Implementierung zum Merken von Zwischenergebnissen

gebraucht wird.

Karin Haenelt, 2010 Seite 12 von 15

Endliche Automaten: Einführung

5.1.1 Automatentheorie

Die Theorie unterscheidet nach der Art des Speichers, der für das Merken von

Zwischenergebnissen gebraucht wird, u.a die folgenden Klassen von Automaten:

Automat Speicher

Turingmaschine unendlich großer Speicher

linear beschränkter Automat endlich großer Speicher

Kellerautomat (push down automaton) Kellerspeicher (stack)

endlicher Automat kein zusätzlicher Speicher

Nach der Art des Speichers ist der endliche Automat der einfachste Automat: er

hat nur endlich viele Zustände und darüberhinaus keinen zusätzlichen Speicher

zum Merken von Zwischenergebnissen. Er hat lediglich eine Variable zur

Speicherung des aktuellen Zustandes, aber keine Variable zur Speicherung

durchlaufener Zustände. Ein Übergang von einem Zustand zur Zeit t in einen

Zustand zur Zeit t+1 nur ist abhängig vom Zustand zur Zeit t und der Eingabe im

Zustand zur Zeit t. Vorhergehende Zustände sind nur dadurch wirksam, dass sie

über eine bestimmte Eingabe in den aktuellen Zustand geführt haben, und dieser

aktuelle Zustand ein bestimmtes Ergebnis repräsentiert. Man sagt auch: „endliche

Automaten haben kein Gedächtnis“.

5.1.2 Komplexitätstheorie

Zur Komplexität werden wir bei der Vorstellung der einzelnen Algorithmen etwas

sagen. Wir können hier jedoch vorwegnehmen, dass die Traversion

deterministischer endlicher Automaten in die Komplexitätsklasse O(n) gehört: d.h.

im schlechtesten Fall braucht der Algorithmus eine Anzahl von Rechenschritten,

die linear zur Länge der Eingabe (n) ist. D.h. deterministische endliche Automaten

haben ein sehr effizientes Laufzeitverhalten.

5.2 Theorie formaler Sprachen

Die Theorie der formalen Sprachen beschäftigt sich mit solchen Sprachen, für die

eine formale Definition existiert. Es handelt sich dabei primär um künstlich

t th the then

Start t h e n

Karin Haenelt, 2010 Seite 13 von 15

Endliche Automaten: Einführung

geschaffene Sprachen wie etwa Programmiersprachen. Noam Chomsky hat 1956

eine Hierarchie formaler Sprachen nach der Komplexität der Regeln ihrer

Grammatik erstellt (bekannt als Chomsky-Hierarchie). Die allgemeinste Form einer

Grammatik ist eine Typ-0 Grammatik, bei der es keinerlei Einschränkungen für

Regeln gibt. Die Klassen Typ-1-Grammatiken, Typ-2-Grammatiken und Typ-0-

Grammtiken werden von Ebene zu Ebene spezieller, d.h. es gelten zunehmende

Einschränkungen für die Regelformulierung. Jedem Grammatik-Typ entspricht ein

Automat, der die Sprache erkennen kann, die durch die jeweilige Grammatik

beschrieben wird.

Sprachklasse Hierarchie Grammatik Regelformat Automat

rekursiv

aufzählbare

Sprachen

Typ 0 allgemeine

Regelgrammatik

α→β

α ≠ε

Turing-Maschine

kontext-sensitive

Sprachen

Typ 1 kontextsensitive

Grammatik

α1Aα2→α1βα2

β ≠ε

linear

beschränkter

Automat

kontextfreie

Sprachen

Typ 2 kontextfreie

Grammatik

A→α

Kellerautomat

reguläre

Sprachen

Typ 3 reguläre

Grammatik

rechtslinear:

A → wB

A → w

linkslinear:

A → Bw

A → w

Endlicher

Automat

6 Anwendungsgebiete und Attraktivität endlicher Aut omaten

Endliche Automaten haben sich zur Beschreibung der Struktur und des Verhaltens

vieler Objekte aus unterschiedlichen Bereichen als nützlich erwiesen. Hierzu

gehören Systeme und Organismen verschiedener Art wie Roboter, Computer oder

Computerprogramme, Schaltkreise, Neuronen, Aspekte der menschlichen Sprache

oder auch Geschäftsprozesse.

Vorteile des Modells sind

Karin Haenelt, 2010 Seite 14 von 15

Endliche Automaten: Einführung

■ Das Modell ist mathematisch wohl-fundiert und daher systematisch und

kontrolliert handhabbar.

■ Für das Modell sind direkte Umsetzungen in Computerprogramme entwickelt

worden.

■ Das Arbeiten mit einer endlichen Anzahl von Zuständen ermöglicht die

Implementierung des Systems mit einer fixen Menge von Ressourcen.

■ Das Modell bietet eine Reihe softwaretechnischer Vorteile (s. 6.1)

6.1 softwaretechnische Vorteile

Aus softwaretechnischer Sicht gibt es mindestens vier attraktive Eigenschaften

endlicher Automaten:

■ Implementierungen mit endlichen Automaten zeichnen sich in der Regel durch

ein besonders effizientes Laufzeit- und Speicherplatzverhalten aus

■ Für endliche Automaten gibt es eine abstrakte Spezifikation, nämlich reguläre

Ausdrücke

■ Endliche Automaten lassen sich vielfältig komponieren. Dies erleichtert die

modulare Modellierung von Anwendungen

■ Für kleinere endliche Automaten kann man Visualisierungswerkzeuge

verwenden

Endliche Automaten zeichnen sich durch eine besondere Rechenzeit- und

Speicherplatz-Effizienz aus. Unabhängig von der Größe eines Automaten laufen

Traversionsalgorithmen in deterministischen Akzeptoren in linearer Zeit. Nicht-

deterministische Akzeptoren lassen sich in deterministische umformen. Auch

Transduktoren lassen sich häufig sequentialisieren oder auf einen geringen Grad

an Nicht-Determinismus reduzieren. Für die Speicherplatzoptimierung gibt es

Minimierungsalgorithmen.

Die Vielfalt der Umformungsmöglichkeiten erleichtert die praktische Handhabung:

Die mathematischen Darstellungsformen umfassen Funktionen, Relationen,

Graphen, reguläre Mengen und Matrizen.

Mit den regulären Ausdrücken steht eine abstrakte Notation zur Verfügung, die

eine kompositionelle und implizite Spezifikation ermöglicht. Meist sind reguläre

Ausdrücke als Beschreibungsmittel einfacher zu handhaben als die Automaten

selbst. Allerdings können auch reguläre Ausdrücke so komplex werden, dass sie

nicht mehr einfach zu handhaben sind. Ein weiterer Vorteil endlicher Automaten

ergibt sich aus ihrem kompositionellen Charakter: Den Bildungsprinzipien regulärer

Ausdrücke entsprechend können Modellierungen aus Teilkomponenten aufgebaut

Karin Haenelt, 2010 Seite 15 von 15

Endliche Automaten: Einführung

werden. Analog können größere Automaten aus den entsprechenden

Teilautomaten zusammengesetzt werden. Dies ermöglicht eine modulare und

inkrementelle Entwicklung größerer Systeme.

Die Äquivalenz endlicher Automaten mit Graphen ermöglicht die Darstellung

zumindest kleinerer Automaten mit Visualisierungswerkzeugen in einem leicht

überschaubaren Format.

6.2 Modellierung von Objekten

Die Automatentheorie gibt natürlich keine Antwort auf die Frage, mit welchen

Zuständen, Eingaben und Zustandsübergängen ein konkretes Objekt zu

modellieren ist, sie kann aber sehr wohl dem Erkenntnisgewinn über Objekte

dienen. Die Untersuchung, ob und wieweit ein Objekt (z.B. menschliche Sprache)

mit endlichen Automaten modelliert werden kann, führt zu nicht-trivialen

Erkenntnissen über die Natur des Objekts.

Das Modell stellt zum Beispiel das Inventar für Untersuchungen zur Verfügung,

wieweit bestimmte Objekte und ihre Eigenschaften als reguläre Objekte oder

Eigenschaften beschreibbar sind.