• Keine Ergebnisse gefunden

Nichtdeterministische Automaten

N/A
N/A
Protected

Academic year: 2022

Aktie "Nichtdeterministische Automaten"

Copied!
13
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Automaten und
 Formale Sprachen


Nichtdeterministische
 Endliche Automaten

Ralf Möller

Hamburg Univ. of Technology

(2)

Literatur

•  Gottfried Vossen, Kurt-Ulrich Witt:

Grundkurs Theoretische Informatik,

Vieweg Verlag

(3)

Danksagung

•  Kurs basiert auf 


Präsentationsmaterial von

  G. Vossen (Uni Münster), 


K.-U. Witt (Hochschule Bonn-Rhein-Sieg)

  Christian Sohler (TU Dortmund)

  Thomas Ottmann (Uni Freiburg)

  Lenore Blum (CMU)

(4)

Motivation für nichtdeterministische Automaten

•  Bei DFA ist der Nachfolgezustand immer eindeutig bestimmt, δ ist Funktion

•  Für bestimmte Aufgaben lassen sich die Automaten einfacher entwerfen, wenn mehr als ein Nachfolgezustand zur Verfügung steht.

•  Bsp.: Entwerfe Ar3n1 für die Sprache

Lr3n1 = {w ∈ {0, 1}*; w = u0v, u ∈ {0, 1}*, v ∈ {0, 1}2 }

•  Problem: Ar3n1 kann nicht voraussehen, wie viele Zeichen des Wortes noch folgen.

•  Lösung: Ar3n1 darf raten, wann der drittletzte Übergang stattfindet.

Ein Wort wird akzeptiert, wenn es eine Folge von

Zustandsübergängen gibt, die zu einem Finalzustand führen.

(5)

5

Nichtdeterministische endliche Automaten

Ein Nichtdeterministischer endlicher Automat (NFA) besteht aus

•  einer endlichen Menge S von Zuständen

•  einer endlichen Menge Σ von Eingabezeichen

•  Einer Menge von Anfangszuständen S0 ⊆ S

•  einer Endzustandsmenge F ⊆ S

•  einer Zustandsübergangsrelation δ ⊆ S x Σ x S Kurz: A = (S, Σ, δ, S0, F)

δ kann als Menge von Tripeln (s, a, t) oder als Tabelle mit Mengen- Einträgen notiert werden, Bsp.:

δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)}

(6)

Übergangsrelation

δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)}

δ s0 s1 s2 s3

0

1

Fasst man die Folgezustände je Paar (Zustand, Eingabezeichen) zu einer Menge zusammen, kann man δ auch als mengenwertige Funktion auffassen:

δ : S x Σ → 2S

(7)

7

Konfigurationen, Übergänge, Sprache eines NFA

Konfigurationen k = (s, v) und

Konfigurationsübergänge (s, v) ├ (t, w) werden für einen NFA analog zu DFAs definiert:

K = (s, v) mit s ∈ S, v ∈ Σ * ist der aktuelle Verarbeitungszustand.

Der Übergang (s, v) ├ (t, w) kann erfolgen, wenn v

=aw und t ∈ δ(s, a)

Die von einem NFA A = (S, Σ , δ, S

0

, F) 
 akzeptierte Sprache ist

L(A) = {w ∈ Σ * ; (s

0

, w) ├* (s, ε), s

0

∈ S

0

, s ∈ F}

(8)

DFAs sind spezielle NFAs

Jeder DFA A = (S, Σ , δ, s

0

, F) kann als spezieller NFA aufgefasst werden, der dieselbe Menge von Worten akzeptiert.

Beispiel:

(9)

9

Erweiterung der

Zustandsüberführung bei NFA

Die mengenwertige Zustandsüberführung δ : S x Σ → 2

S

kann leicht erweitert werden zu

δ* : 2

S

x Σ * → 2

S

definiert durch δ* (R, ε) = R für alle R ⊆ S

δ* (R, aw) = δ* ( ∪

s R

δ (s, a) , w) für alle R ⊆ S, a ∈Σ , w ∈ Σ * Für einen NFA A kann die Sprache L(A) daher auch so definiert

werden:

L(A) = {w ∈ Σ *; δ* (S

0

, w) ∩ F ≠ ∅ }

(10)

Beispiel

δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)}

δ s0 s1 s2 s3

0 {s0, s1} {s2} {s3} {}

1 {s0} {s2} {s3} {}

δ*({s0}, 00011) =

(11)

11

Äquivalenz von DFA und NFA

Satz: Zu jedem NFA A = (S, Σ , δ, S

0

, F) kann man einen DFA A‘ konstruieren, so dass L(A) = L(A‘).

Beweis: Mit Hilfe der Potenzmengenkonstruktion.

[Rabin/Scott (1959)]

(12)

Potenzautomat für A r3n1

2S δ(. ,0) δ(. ,1) Fd letzte 3 Zeichen {s0}

{s0, s1} {s0, s2} {s0, s3} {s0, s1, s2} {s0, s1, s3} {s0, s2, s3} {s0, s1, s2, s3}

(13)

13

Deterministischer Automat für L(A r3n1 )

Referenzen

ÄHNLICHE DOKUMENTE

I Jeder Thread hat einen Identifier: abstrakter Typ ThreadId I Neuen Thread erzeugen: forkIO :: IO()→ IO ThreadId I Thread stoppen: killThread :: ThreadId → IO () I

Forderung nach einem schwachen Plan zum Ziel φ , durch Formel EF φ.. Forderung nach einem starken Plan zum Ziel φ, durch Formel

Damit lassen sich neue Impf- stoffe auch gegen Bakterien herstellen, die nicht gezüchtet oder deren Zucker nicht isoliert werden können.. Sein Plan: Man stelle ein Glykan von

A erhält einen neuen Startzustand s 0 und einen neuen Endzustand f, die mit den bisherigen Start- bzw.. Endzuständen über ε-Transitionen

– Specify requirement properties and build system model – Generate possible states from the model and then check. whether given requirement properties are satisfied

Aller- dings unterscheidet sich die Akzeptanzbedingung von der eines Rabin-Automaten. Der Streett-Automat A akzeptiert ein Wort

Zu jedem endlichen nichtdeterministischen Automaten gibt es einen endlichen deterministischen Automaten, der dieselbe Sprache akzeptiert.. Bemerkung: Jeder Automat mit ε -Übergängen

Man zeichnet alle Kanten ein, die benötigt werden, damit sich die von dem Automaten akzeptierte Sprache nicht ändert, wenn man die -Kante wegläÿt. Hierzu kann man sich überlegen,