1 / 17

Endliche Automaten

Endliche Automaten. Stoyan Mutafchiev Betreuer: Ilhan, Tim. Gert Smolka PS – Lab Universität des Saarlandes. Beispiel für endlichen Automaten. Drücken. Aus. Start. Ein. Drücken. EA akzeptiert ungerade Anzahl von „Drücken “. Übersicht.

muriel
Download Presentation

Endliche Automaten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Endliche Automaten Stoyan Mutafchiev Betreuer: Ilhan, Tim Gert Smolka PS – Lab Universität des Saarlandes

  2. Beispiel für endlichen Automaten Drücken Aus Start Ein Drücken EA akzeptiert ungerade Anzahl von „Drücken“

  3. Übersicht • Was ist ein endlichen Automat • Abschlusseigenschaften - Vereinigung - Komplement - Schnitt • Probleme für EA •Tupel-Automaten und Projektion der Sprache

  4. Nichtdeterministische endliche Automaten (Q, , , S, F) mit • Q : endliche Menge von Zuständen •  : endliche Menge von Symbolen •  : Q   {ε} 2 Übergangsfunktion • S Q : Menge von Startzustände • F Q : Menge der Endzustände |Q| a > b a b L(A) = (ab  aba) *

  5. Detrministische endliche Automaten DEA ist Teilmenge von NEA mit: • genauein Startzustand • Übergangsfunktion δ: Q    Q a a b a > b a b b a,b L(A) = (ab  aba) *

  6. Equivalenz von DEA und NEA Satz. (Rabin,Scott) Jede von einem NEA akzeptierbare Sprache ist auch durch einen DEA akzeptierbar. NEA = (Q, ,  δN, q0, FN)  DEA D = (2 , ,  δD, {q0}, FD) |Q| • • δD(Q´, a) = UδN (q, a) • • FD = {Q´ 2 | Q´ enthält mindestens ein Endzustand aus FN} * qQ´ |Q|

  7. Beispiel für Teilmengekonstruktion 1 0 z0 1 z0z1z2 0,1 1 z0z2 z0 z1 0 0 1 0 z0z1 z1z2 0 0 0 z2 1 z2 0,1 0 Ø z1 1 0,1 NEA akzeptiert auf 00 endendeWörter equivalenter DEA

  8. Abschlusseigenschaften Komplexitätim Speicher Vereinigung L(A1)  L(A2) linear Komplement L(A1) exponential Schnitt L(A1) ∩L(A2) quadratisch

  9. Vereinigung A1 A1 = ( Q1, , δ1, S1, F1) > q1 A2 = ( Q2, , δ2, S2, F2) ε q0 > A=({q0}Q1Q2, , δ, q0, F1F2) • q0 - Startzustand • δ = δ1δ2(q0, ε, q1)(q0, ε,q2) A2 ε q2 >

  10. Komplement EA A über  = {a, b} a > s f b a,b z a,b EA vervollständigen und determinisieren a > s f a,b b z a,b End- und Nichtendzustände jeweils vertauschen

  11. Schnitt A = (Q1 x Q2, , δ, (q1,q2), F1 x F2) A1 = (Q1, , δ1, S1, F1) mit δ((p, q), a) = (δ(p1, a), δ(q2, a)) A2 = (Q2, , δ2, S2, F2) Produktautomat Beispiel: 1 1 1 s1s2 s1e2 e1 > s1 0,1 > 0 0 0 0 1 e1e2 0,1 e1s2 e2 s2 > 0,1 1 0

  12. Probleme für endliche Automaten Komplexität Leerheit L(A) Ø P ? = ? Universalität L(A)  PSPACE * =

  13. Leerheit Frage:Gibt es irgendeinen Pfad vom Start- zum Endzustand ? Mit dem Algorithmus aus der Graphentheorie die Menge der erreichbaren Zustände rekursiv berechnen: -Startzustand ist vom Startzustand erreichbar - Annahme: p von Startzustand aus erreichbar - gibt es einen Übergang von p nach q mit Eingabesymbol oder ε , dann ist q erreichbar - überprüfen, ob es einen Endzustand in der Menge von erreichbare Zustände gibt

  14. Universalität •Pumping Lemma: Wenn A mit n Zustände das Wort u = w1vw2mit |u|≥ n, |w1w2|≤n und v ≠ ε akzeptiert, dann auch alle Wörter w1v w2 für k≥0. k hiernach suchen 1 2 |Q| 2 1 1 2 > Suche nach einen Wort w L(A) oberer Teil auffalten

  15. k-Tupel Automat a b •Untersuchen Sprache aus ( ) . * k > • k-Tupelautomat über  ist ein EA über (  { }) . b a k ┴ Beispiel: k = 2 (a, a) (b, b) ( , b) ( , a) w ┴ ┴ Die Wörter haben unterschiedlichen Shape

  16. Projektion und Zylindrifikation der Sprachen L ist Sprache über  ┴ u . v . u u . . u 1 1 Proi(L) = {  i  L für ein v } k-1 * ┴ k-1 k-1 u . v . u 1 u . . u 1 Zyli(L) = {i L für ein v  } * k-1 ┴ k-1 k-1 a b a b b b Pro1(L) b Zyl1(L) > > > a b a b b b b

  17. Referenzen -Nerode A., Koussainov B.: Automata Theory and its Applications. Birkhäuser2001 -John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. Addison Wesley 1990 -Uwe Schöning: Theoretische Informatik – kurzgefasst. Spektrum Akademischer Verlag 1995 -Michael Sipser: Introduction to the Theory of Computation. Addison Wesley 1997

More Related