Prof. Dr. Th. Ottmann

Click here to load reader

  • date post

    30-Dec-2015
  • Category

    Documents

  • view

    31
  • download

    0

Embed Size (px)

description

Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε -Transitionen ). Prof. Dr. Th. Ottmann. Deterministische endliche Automaten. Ein deterministischer endlicher Automat (DFA) ist gegeben durch eine endliche Menge S von Zuständen - PowerPoint PPT Presentation

Transcript of Prof. Dr. Th. Ottmann

  • Vorlesung Informatik 3Einfhrung in die Theoretische Informatik

    (04 Automaten mit -Transitionen)Prof. Dr. Th. Ottmann

  • Deterministische endliche AutomatenEin deterministischer endlicher Automat (DFA) ist gegeben durcheine endliche Menge S von Zustndeneine endliche Menge von Eingabezeicheneinen Anfangszustand s0 Seine Endzustandsmenge F Seine bergangsfunktion : S x SKurz: A = (, S, , s0, F) kann auch durch einen Zustandsbergangs Graphen oder als Menge von Tripeln (s, a, t) mit (s, a) = t gegeben sein ist manchmal nicht total (berall definiert)

  • Konfiguration eines endlichen Automaten

  • Nichtdeterministische endliche AutomatenEin Nichtdeterministischer endlicher Automat (NFA) besteht auseiner endlichen Menge S von Zustndeneiner endlichen Menge von EingabezeichenEiner Menge von Anfangszustnden S0 Seiner Endzustandsmenge F Seiner Zustandsbergangsrelation S x x SKurz: A = (S, , , S0, F) kann als Menge von Tripeln (s, a, t) oder als Tabelle mit Mengen-Eintrgen notiert werden, Bsp.:

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

  • quivalenz von DFA und NFASatz: Zu jedem NFA A = (S, , , S0, F) kann man einen DFA A konstruieren, so dass L(A) = L(A). Beweis: Mit Hilfe der Potenzmengenkonstruktion.

  • Motivation endlicher Automaten mit -bergngenBei DFA und NFA wird bei jedem Zustandsbergang immer genau ein Zeichen aus verbrauchtFr bestimmte Aufgaben lassen sich die Automaten einfacher entwerfen, wenn es mglich ist, Nachfolgezustnde durch -Transitionen zu erreichenBsp.: Entwerfe Automaten Aabc fr die SpracheLabc = {aibjck; i,j,k 0}Aabc darf beliebig viele a lesen, dann beliebig viele b, anschlieend beliebig viele cProblem: Woher wei Aabc , wann eine Folge gleicher Zeichen zu Ende ist?Lsung: Aabc knnte irgendwann ohne zu lesen in neuen Zustand umschalten

  • Endlicher Automat mit -bergngenEin endlicher -Automat (FA) ist ein Quintupel A = (S, , , S0, F);Dabei sind S, , S0 und F wie bei NFA definiert, und ist die Zustandsbergangsrelation, die auch -Transitionen zulsst: S x ( {}) x SKonfigurationen k = (s, w) sind wie bei NFA definiertFr Konfigurationsbergnge gilt:(s, aw) (t, w) gdw. (s, a, t) , a {}, w *Die von einem FA A akzeptierte Sprache ist dann wiederL(A) = {w *; (s0, w) * (s, ), s0 S0, s F}

  • quivalenz von -Automaten und NFASatz: Die Klasse der jeweils von -Automaten und NFA akzeptierbaren Sprachen sind gleich.Beweis:1. Jeder NFA ist ein spezieller FA (ohne -bergnge)2. Wir konstruieren zu einem beliebig gegebenen FA A = (S, , , S0, F) in vier Schritten einen NFA A, der dieselbe Sprache akzeptiert, fr den also L(A) = L(A) ist.

  • Transformation von FA in NFA, 1. SchrittA erhlt einen neuen Startzustand s0 und einen neuen Endzustand f, die mit den bisherigen Start- bzw. Endzustnden ber -Transitionen verbunden werden:

    (Falls A nur einen Start- oder Endzustand hat, kann auf das Schaffen neuer Zustnde verzichtet werden.)

  • Transformation von FA in NFA, 2. SchrittEntferne alle -Zykel, Zustandsfolgen s1, s2, , sm , die zyklisch ber -Transitionen durchlaufen werden knnen, ersetze sie durch neuen Zustand s. Zu und von s fhren alle Transitionen der ersetzten Zustnde.

    Anschlieend werden alle Transitionen der Art (s, , s) entfernt.

  • Transformation von FA in NFA, 3. SchrittJetzt noch enthaltene -Transitionen werden durch alternative bergnge ergnzt, die Zeichen aus bentigen. (Ziel ist es, die -Transitionen berflssig zu machen.) Kommt man mit (erst dann a) von s nach t, dann auch mit (nur a).

    Diese Operation wird so oft angewandt, bis sich keine nderungen mehr ergeben.

  • Transformation von FA in NFA, 4. SchrittEin neu eingefgter Endzustand f (der nur das Ziel von -Transitionen ist) wird wieder entfernt und in die Endzustandsmenge F werden alle die Zustnde aufgenommen, von denen aus f per -Transitionen erreichbar war.F = {t S; (t, ) * (f, )}Anschlieend knnen alle -Transitionen entfernt werden.Da alle Transformationsschritte quivalenzerhaltend waren, akzeptiert der so konstruierte Automat dieselbe Sprache wie der gegebene FA A.

  • Beispiel: Transformation von Aabc in einen NFA

  • Beispiel: Transformation von Aabc in einen NFA

  • AbgeschlossenheitseigenschaftenSatz: Die Klasse der regulren Sprachen ist abgeschlossen gegenber den Operationen Vereinigung , Verkettung , Kleene-Stern *.Bew.: Abgeschlossenheit gegenber booleschen Operationen wurde schon bewiesen! Neuer, einfacherer Beweis fr Abgeschlossenheit gegen :Konstruiere zu zwei DFAs B und C den FA wie folgt:

  • VerkettungSeien zwei DFAs B und C gegeben, die die Sprachen L(B) und L(C) akzeptieren. Konstruiere einen FA A wie folgt:

    Dann ist L(A) = L(B) L(C)

  • Kleene SternSei ein DFA B gegeben, der die Menge L(B) akzeptiert. Dann konstruiere den FA A wie folgt:

    Offenbar ist L(A) = (L(B))*

  • BemerkungIm Nachweis der Abgeschlossenheit regulrer Mengen gegenber , , * steckt implizit die Potenzmengenkonstruktion zur Umwandlung von NFAs in DFAs. Daher knnen die konstruierten DFAs u.U. sehr viele Zustnde haben!Minimierungsproblem: Konstruiere zu einem gegebenen DFA A einen quivalenten DFA A mit minimaler Zustandszahl!