Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

2. Vorlesung Theoretische Informatik (TI) | Endliche Automaten

Informatik2:12:11 23.323 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 790 Zeilen
Herunterladen
  1. wir hatten uns in der vorhergehenden Vorlesung neben einem themenüberblick vor allem mit dem Punkt formale Sprachen beschäftigt und haben damit begonnen
  2. verschiedene formale Definitionen aufzustellen mit deren Hilfe wir Alphabete also Sammlungen von Buchstaben Sammlungen von Ziffern
  3. Sammlungen von irgendwelchen Zeichen in allgemeine Sprachen verwandeln können also Sammlungen von die sich aus den Zeichen eines Alphabets aufbauen ich
  4. hatte im Überblick bemerkt dass ein großer Teil der Vorlesung also ungefähr zwei Drittel der Vorlesung sich mit den beiden Themen formale Sprachen und
  5. Automaten Theorie beschäftigen wird bei formalen Sprachen denke ich es intuitiv ganz gut klar was es geht sie müssen halt
  6. irgendwelche Sammlungen von Wörtern beschreiben sie müssen Mechanismen finden wie Sie die Wörter zueinander gruppieren und
  7. Sie müssen mechan finden um das wortproblem zu lösen wir haben uns in der letzten Vorlesung bereits kurz mit dem wortproblem beschäftigt wir
  8. haben festgestellt eine formale Sprache L ist nichts anderes als eine Menge als eine Menge von Wörtern eine Menge von Wörtern über dem Alphabet Sigma nachdem
  9. die Wörter beliebig normalen im allgemeinen Fall beliebig lang sein können ist die formale Sprache L
  10. eine Teilmenge von σ hoch Stern σ hoch Stern war ja wenn sie sich an die Definitionen der letzten Stunde zurückerinnern die Menge aller
  11. beliebigen Wörter über dem Alphabet Sigma Wörter beliebiger Länge Wörter der Länge 1 Wörter der Länge 2 Wörter der Länge 1li17 und so weiter und auch des
  12. leerenwtes also das Wortes der Länge Null das wortproblem besteht jetzt darin wenn man sich grafisch veranschaulicht die Menge
  13. sig Stern ist eine große Menge eine unendlich große Menge ich kann die natürlich nur endlich repräsentieren und die Sprache L ist eine Teilmenge dieser
  14. Menge die Menge Sigma stn wird also in zwei Mengen geteilt einmal in die Teilmenge l in der sich sämtliche Wörter der Sprache befinden das ist die Menge
  15. die Teilmenge die uns interessiert und in den Rest in die restlichen Wörter die sich in sigmasn befinden die sich nicht in der Sprache l befinden und da wissen
  16. sie aus der Mathematik bereit das ist die Menge l quer also die komplementärmenge von L alles was in L nicht enthalten ist ist in der Menge l
  17. Komplement oder L quer enthalten so eine Sprache teilt also die Menge σ Stern in zwei Bestandteile auf einmal die interessanten Wörter einmal die
  18. uninteressanten Wörter und das wortproblem besteht jetzt formal betrachtet darin für irgendein Wort P Hans Huber Meer 21 57 was auch immer
  19. fest Z stellen ist dieses Wort P in der Sprache l enthalten oder nicht und das kann man ebenfalls mit mengenschreibweise formal darstellen
  20. indem wir die Frage stellen ist P ein Element aus der Menge L ist P in der Sprache l enthalten oder ist P nicht in der Sprache l enthalten diese sehr
  21. einfache Fragestellung die grundlegende mathematische Fragestellung ist irg ein Element in einer Menge enthalten oder nicht die kennen Sie ja schon seit
  22. Jahren aus der Schule diese sehr grundlegende Fragestellung macht also das wortproblem aus und mit diesem wortproblem werden wir uns einen
  23. Großteil des Semesters beschäftigen da steckt also durchaus noch mehr dahinter als man aufgrund dieser mathematisch doch
  24. relativ einfachen Problemstellung vermuten möchte die interessante Frage beim wortproblem ist jetzt nicht dass für irgendeine gegebene endliche Menge
  25. von WN zu beantworten ja wenn ich sage die die Wörter Hans Meer und Müller sind eine formale Sprache dann ist es extrem einfach festzustellen ob irgendein Wort
  26. in dieser Sprache enthalten ist oder nicht dann müssen sie Hal einfach Ihre Liste durchgehen mit den Wörtern schauen ist das Wort Hans ist das Wort Meer oder
  27. ist das Wort Müller wenn ja dann ist es in der Sprache enthalten wenn nein dann nicht interessanter wird das Ganze wenn die Sprachen allgemeiner definiert sind
  28. wie z.B Bankleitzahlen da müssen Sie schon überprüfen besteht das Wort nur aus de alziffern und besteht das Wort aus a Dezimalziffern erfüllt das Wort
  29. möglicherweise noch irgendwelche quersummenbedingungen irgendwelche prüfsummenbedingungen und so weiter das unterscheidet sich von der
  30. vorher angegebenen beispielsprache insbesondere dadurch dass es praktisch nicht mehr möglich sein wird alle Bankleitzahlen hinzuschreiben ja wenn
  31. Sie eine sie eine acht stellige Zahl betrachten über den Dezimalziffern dann gibt's 10 hoch 8 verschiedene Möglichkeiten der Wörter zu generieren
  32. und 10 no8 Wörter hinzuschreiben ist eine äußerst unpraktische Angelegenheit man muss also Möglichkeiten finden um die Sprache allgemeiner zu
  33. charakterisieren kommen wir möglicherweise heute im Verlauf der Vorlesung noch dazu zum einen Sprache allgemeiner charakterisieren und zum
  34. anderen sie wollen natürlich auch nicht manuell in der Tabelle nachgucken ist ein gegebenes Wort drin oder ist das Wort nicht drin sondern sie wollen die
  35. Aufgabe einem Computer überlassen jetzt wissen wir aber zumindest aus Hinsicht dieser Vorlesung nch gar nicht was ein Computer eigentlich ist was das
  36. allereinfachste Modell ist um den Computer zu definieren also zumen wir das Pferd von hinten rum auf und überlegen uns na jetzt lassen wir mal
  37. die Frage vom Computer beiseite sondern wir überlegen uns nur ein mechanisches ein möglichst einfaches Rechenmodell um dieses wortprem zu lösen
  38. auf was wir heute also raus wollen ist letzten Endes eine Maschine die ich mal als Blackbox hinzeichne eine Maschine der
  39. ich irgendein Wort P als Eingabe reingebe diese Maschine hat Kenntnis über die formale Sprache l die ich betrachten möchte und die Maschine löst
  40. jetzt die Frage ist das Wort Mitglied der Sprache oder ist das Wort kein Mitglied der Sprache also spuckt entweder die Antwort ja aus das Wort ist
  41. ein Mitglied der Sprache oder spuckt die Antwort nein aus das Wort ist kein Mitglied der Sprache auf so eine Maschine wollen wir heute
  42. rauskommen bevor wir uns an die konkrete Konstruktion dieser Maschine fürs wortproblem machen möchte ich aber auf ein etwas verwandtes Problem eingehen
  43. weil ja die Verwendung von Automaten zur Erkennung des wortproblems ist jetzt auf den ersten Blick vielleicht gar nicht so offensichtlich wie das funktionieren
  44. kann was aber offensichtlich ist ist ein anderes Beispiel aus dem praktischen Leben wo ebenfalls Automaten zum Einsatz kommen sehr einfache
  45. Automaten zum Einsatz kommen von denen sie sich alle sehr schnell klar machen werden dass hier bestimmte Dinge gerechnet werden dass das auch ein
  46. praktisch relevantes Problem ist das wir betrachten bei dem aber ebenfalls klar ist dass das sicher noch kein vollständiger Computer ist den wir
  47. betrachten das Problem dem ich mich heute stellen möchte mit dem ich sie heute konfrontieren möchte ist das schwierige Problem von automatischen
  48. Türen in Einkaufszentren sie kennen das ja alle sie betreiben Einkaufszentrum da scheint es eine gewisse Grundvoraussetzung zu sein dass
  49. sie da Türen haben ja die Leute sollen irgendwie rein und rauskommen in das Einkaufszentrum und sie wollen den Leuten natürlich maximalen Komfort
  50. bieten also sind die Türen nicht manuell zu betätigen sondern die Türen sollen automatisch aufgehen wenn da jemand rein und rauskommt im Rahmen meiner Zeichner
  51. Fähigkeiten die automatische Tür hat zwei Türflügel und die können geöffnet sein ich zeichne die Tür mal so im geöffneten
  52. Zustand auf die Tür kann sich natürlich auch schließen das markiere ich mal hier so durch den Weg den die Türflügel gehen also sie können sich jetzt alle mehr
  53. oder weniger vorstellen die beiden Türflügel die können sind offen die können zuklappen die können aufgehen da brauchen sie halt
  54. hier und hier irgendwelche kleinen servomotörchen das kann man aber bauen und jetzt soll die Tür natürlich nicht zufällig aufgehen sondern die Tür soll
  55. aufgehen wenn hier von vorne mal hier ist vorne oder außen und hier ist hinten oder innen wenn von vorne die
  56. wohlverhrt die Kundschaft ankommt dann soll die Tür aufgehen sie müssen also irgendwie erkennen dass da eine Kundschaft ankommt kommt das heißt sie
  57. machen hier einen Sensor hin irgendeinen druckempfindlichen Sensor oder nichtschranke oder was auch immer einen
  58. Sensor für vorne und wenn dann jemand reinkommt wenn dann jemand auf die Tür zugeht geht die auf jetzt soll ihr Produkt natürlich auch auf dem
  59. internationalen Markt erfolgreich sein angenommen sie verkaufen diese Türe nach Amerika was passiert jetzt wenn die Türe zu ist und hier steht jemand und dann
  60. kommt jemand von vorne her dann geht die Tür auf räumt oder diejenige die hinter der Tür steht erstmal über ein Haufen sie haben eine Sammelklage am Hals und
  61. das war dann ihr Profit der letzten 300 Millionen verkauften Türen das wollen sie natürlich vermeiden also bauen sie auch hinten
  62. einen Sensor ein der erkennen kann ob jemand hinter der Tür steht und wenn jemand hinter der Tür steht und die Tür und jemand kommt V vorne rein ja dann
  63. müssen sie halt abwägen wird der der von vorne reinkommt so viel einkaufen dass sich die Sammelklage rentiert oder wird wollen sie es eher
  64. den konservativen Ansatz fahren und öffnen die Tür dann halt nicht und warten bis der hinter der Tür oder diejenige hinter der Tür wieder
  65. weggegangen ist so also auf den ersten Blick eine relativ einfache Steuerungsaufgabe das könnte man jetzt natürlich lösen indem man hier einen der
  66. bekannten rechenmechanismen die ich ihen in der ersten Vorlesung gezeigt habe ein Tablet einen Computer ein Cray y MP Supercomputer was auch immer einbaut das
  67. funktioniert natürlich kein Frage aber sie wollen es etwas kostengünstiger erledigen also überlegen Sie sich ob man da nicht irgendeine kleine
  68. spezialelektronik oder irgendein alten 4Bit Computer oder was auch immer einsetzen kann dazu müssen sie aber erstmal das Problem so formalisieren das
  69. Problem so abstrakt beschreiben so konkret beschreiben gleichzeitig dass sie im Computer erklären können was er machen soll und
  70. dazu werden wir jetzt das Konzept Verwenden des Ihnen bereits aus dem nullten Übungsblatt bekannt ist das Konzept eines
  71. grafens die Tür kann sich im Wesentlichen in zwei möglichen Zuständen oder nicht im Wesentlichen sondern die Tür kann sich in zwei Zuständen befinden
  72. die Tür kann entweder geschlossen sein oder schreiben wir mal zu die kann die kann zu sein das ist ein möglicher Zustand der Tür und die
  73. Tür kann offen sein so und jetzt ist die Kunst der Steuerung ähm zwischen diesen beiden Zuständen zu und offen sogenannte Übergänge zu machen
  74. oder wenn Sie es etwas wissenschaftlicher ausdrücken wollen sogenannte Transitionen zu machen diese Transitionen werden natürlich ausgelöst
  75. von den Eingaben von den Meldungen die die beiden Sensoren vorne und hinten liefern und angenommen die Tür ist zu es kommt kommt vorne eine Kundschaft zu auf
  76. die Tür zugelaufen und hinten steht keine Kundschaft dann wollen sie die Tür öffnen also gehen sie vom Zustand zu in den Zustand offen und das machen sie
  77. wenn vorne jemand steht aber hinten niemand steht so wenn die Tür mal offen ist solange vorne Leute reinkommen
  78. lassen sie die Tür offen solange hinten Leute rausgehen wollen lassen Sie die Tür offen wenn ähm aber niemand mehr vorne und hinten
  79. steht dann macht's keinen Sinn die Tür offen zu lassen dann ähm heizen sie nur aus dem Gebäude raus hängt auch wieder vom Kontinent ab wenn sie in Europa sind
  80. heizen sie aus dem Gebäude raus wenn sie in Amerika sind dann haben sie ja im Gebäude -10° von ihrer Klimaanlage dann kühlen Sie aus dem Gebäude raus ist
  81. beides aber thermodynamisch wenig sinnvoll äh wie sie entweder vom gesunden Menschenverstand her wissen oder noch im
  82. Rahmen ihrer Physikvorlesung erfahren werden also sie wollen wenn vor und hinten keiner steht die Türe schließen und das würde dann mit einem Übergang
  83. passieren die Tür geht vom Zustand offen in den Zustand zu wenn vorne niemand und hinten niemand steht ich verwende da jetzt mal eine gewisse
  84. abkürzungschreibweise so und da können Sie jetzt sämtliche sol lang durcharbeiten bis sie sämtliche Kombinationen gefunden haben was
  85. passieren kann hinten steht jemand vor steht niemand die Tür ist offen vorne steht niemand hinten steht jemand die Tür ist zu vorne und hinten steht jemand
  86. die Tür ist offen und so weiter und so fort da gibt's also selbst bei so einem einfachen System sehr viele Möglichkeiten um jetzt zum einen Klagen
  87. zu entgehen weil sie irgendeine Möglichkeit übersehen haben und zum anderen natürlich fehlerfreie Software zu schreiben sie wollen ja in ihrer
  88. Software jeden möglichen Fall Abfangen der auftreten kann und nicht in irgendeine undefiniertes Situation reinrauschen sich überlegen wie man
  89. systematisch sämtliche Möglichkeiten konstruiert die bei so Tür auftreten können und das habe ich mal hier auf dieser Folie
  90. gemacht welche potenziellen Möglichkeiten haben wir um die Zustände der Tür zu und offen mit den möglichen Sensordaten zu
  91. kombinieren an Sensordaten haben wir vier Möglichkeiten entweder steht nirgendsjemand also beide Sensoren zeigen nichts an oder es steht vorne
  92. jemand oder es steht hinten jemand oder es steht sowohl vorne als auch hinten jemand also beide Sensoren zeigen Möglichkeiten an vier Möglichkeiten von
  93. den Sensoren zwei Möglichkeiten von den Zuständen also habe ich insgesamt acht Situationen auf die ich reagieren muss und diese acht Situationen kann man
  94. übersichtlich in der Tabelle zusammenfassen bei der ich hier alle möglichen Zustände auftrage die beiden Zustände zu und offen und bei
  95. denen ich auf dieser Achse alle möglichen sensoreingaben auftrage also alle ja Inputs die auftreten können unabhängig vom Zustand so dann kann
  96. jetzt diese Tabelle ausfüllen und kommen da zu bestimmten Entscheidungen die ich halt als Programmierer dann treffen muss was ich machen möchte wenn die Tür zu
  97. ist und wenn nirgends jemand steht dann lasse ich die Tür natürlich zu wenn die Tür offen ist und sich nirgends jemand befindet weder vorne
  98. noch hinten da macht's keinen Sinn die Tür offen zu lassen dann mache ich die Tür zu geh also in den über Übergang zu sie sehen hier habe ich immer
  99. Zustandsübergänge das ist mein Ausgangszustand offen das ist was mit die Sensoren liefern nirgends steht jemand und das ist der Zustand in den
  100. ich übergehe in den Zustand zu so das gleiche machen wir mit wenn vorne jemand steht wenn die Tür zu ist und wenn vorne jemand steht dann wollen wir den Kunden
  101. ins Einkaufszentrum reinlassen dann machen wir die Tür auf gehen über in den Zustand offen wenn die Tür bereits offen ist und wenn jemand vorne steht sind wir
  102. natürlich nicht unhöflich und schlagen dem die Tür von der Nase zu sondern lassen die Tür offen gehen also vom Zustand offen in den Zustand offen ja
  103. dann wird das Ganze jetzt langsam etwas Fahrt wenn die Tür zu ist und wenn hinten je man steht dann wollen wir dem die Tür nicht drauf knallen und lassen
  104. die Tür zu das ist jetzt eine Frage der Geschäftslogik oder des geschäftsinteresses es kam vorher außerhalb der Aufzeichnung die Frage ja
  105. was ist jetzt wenn jemand aus dem Einkaufszentrum raus will dann ist natürlich ganz klar die Entscheidung der soll nur etwas mehr einkaufen also wir
  106. sind ja Geist des Kapitalismus beflügelt also lassen wir die Tür zu hat zwei Effekte zum einen wir vermeiden die Klage dass die Tür drauf knallt und zum
  107. anderen er kann mehr Geld im Einkauf Zentrum ausgeben ist also aus Sicht der Betriebswirtschaft eine vernünftige Entscheidung das so zu
  108. programmieren gut wenn die Tür offen ist und wenn hinten jemand steht dann lassen wir es natürlich offen also wenn der das Gute Glück hatte dass vorher jemand
  109. rausgegangen ist jetzt kommt von hinten jemand rein dann darfausgehen so und dann haben wir nur den letzten Fall wenn vorne und hinten jemand steht und die
  110. Tür zu ist dann lassen wir die Tür zu warum der vorne möchte zwar rein aber dem hinten oder derjenigen hinten wollen wir die Tür nicht draufschlagen und wenn
  111. die Tür offen ist und vorne und hinten jemand steht dann lassen wir die Tür natürlich ebenso offen um den vorne reinzulassen und derjenigen hinten die
  112. Tür nicht diejenige hinten nicht in die Tür einzuklemmen so wenn man sich die Tabelle jetzt so aufschreibt dann kann man sicher sein nachdem wir systematisch
  113. konstruiert nachdem wir die systematisch konstruiert haben wir haben alle Zustände berücksichtigt wir haben alle Eingaben berücksichtigt und wenn Sie
  114. hier in dieser Tabelle ke keine unausgefüllten Felder keine weißen Flecken drin stehen haben dann wissen sie ihr Programm kann mit jeder
  115. eingabesituation vernünftig umgehen es gibt keinen undefinierten Fall ihr Programm wird nie abstürzen und sie wissen aus ihrer persönlichen Erfahrung
  116. der letzten Jahre mit Smartphones mit Computern es wäre sehr wünschenswert wenn die Programmierer programmiererinnen der entsprechenden
  117. Apps so an Probleme rangehen würden wenn Sie bedenken wie oft Applikationen Abstürzen wie oft und definierte Situationen laufen also es macht
  118. durchaus Sinn selbst bei so einfachen Problemen auf systematische beschreibungsweisen zu gehen auf formale beschreibungsweisen zu gehen um gute
  119. Softwarequalität sicherzustellen so diese Tabelle hier ist jetzt hilfreich wenn Sie systematisch Lösung konstruieren wollen für ein Problem es
  120. ist allerdings nicht allzu hilfreich wenn sie sich intuitiv einen Überblick verschaffen wollen was eigentlich vorgeht in ihrem Programm das wird aus
  121. dieser Tabelle nicht ganz so einfach ersichtlich und deswegen gibt's eine zweite Darstellungsmöglichkeit die
  122. Darstellungsmöglichkeit durch einen Grafen der genau die gleiche Information oder sogar noch bisschen mehr Information komme ich gleich dazu wie
  123. die Tabelle enthält die aber Ihnen für Menschen etwas übersichtlicherer Form darstellt ich habe hier die beiden über die beiden Zustände der Tür zu und offen
  124. als Zustände als Knoten eines Grafen eingezeichnet und habe die Übergänge zwischen den Zuständen als Kanten als beschriftete
  125. Kanten eingezeichnet sie sehen hier z.B den bereits besprochenen Übergang wenn die Tür zu ist und wenn jemand vorne steht dann geht die Tür auf das
  126. korrespondiert zu dem Eintrag in der Tabelle hier die Tür ist zu es steht vorne jemand also geht die Tür auf sie sehen wir haben den überg von zu nach
  127. offen wenn vorne jemand steht im Grafen Übergang von zu nach offen wenn vorne jemand steht und analog können wir jetzt sämtliche anderen Informationen aus der
  128. Tabelle in den Grafen überführen vom Zustand offen gehen wir wenn nirgendsjemand steht in den Zustand zu das entspricht dem tabellenelement
  129. wenn die Tür offen ist und wenn nirgendsjemand steht geht die Tür zu also diese Kante hier die beschriftete Kante hier entspricht diesen drei
  130. Feldern und genauso funktioniert es für alle anderen Felder wenn Sie die Tabelle mal in Ruhe vergleichen mit dem Automaten mit dem Grafen des Automaten
  131. dann werden Sie sehen da ist exakt die gleiche Information drin wir haben in der Tabelle acht Einträge und wenn man nachzählt haben wir im Automaten 1 2 3 4
  132. 5 6 7 Übergänge also es ist genau die gleiche inform repräsentiert nur dass der Graf offensichtlich etwas leichter für
  133. Menschen zu interpretieren ist als die Tabelle andererseits wenn sie so eine Steuerung jetzt in ein Computersystem eingeben wollen wenn Sie die
  134. Steuerungslogik in irgendeinen kleinen Chip eingeben wollen dann ist es sehen sie glaube ich auch alle relativ offensichtlich deutlich einfacher so
  135. eine Tabelle in den Chip zu transferieren als so ein Bild ich sagt im Grafen findet sich etwas mehr Information als in der
  136. Tabelle und das ist in der Tat auch korrekt sie sehen hier im Grafen ist eine Kante eingezeichnet mit der Beschriftung Start die aus dem Nichts
  137. auf einen Zustand zeigt und diese Kante ist erforderlich weil sie das System ja irgendwann starten müssen sie programmieren Ihr System beispielsweise
  138. in Form einer elektronischen Schaltung und dann muss ich das System aber irgendwann einschalten muss da Strom drauf geben und dann befindet sich das
  139. System entweder im Zustand zu oder im Zustand offen ja je nachdem wie man die Tür dieolmäßig ausliefert normalerweise wird eine Tür dieolmäßig geschlossen
  140. ausgeliefert also soll die ganze Steuerungslogik im Zustand zu anfangen und nachdem am Anfang ja noch keine Information aus den Sensoren vorliegt
  141. brauchen wir diesen ST Pfeil der einen Startzustand markiert um zu wissen wo die ganze Steuerungslogik beginnt wenn ich das System einschalte gehen wir also
  142. per Konvention die stkante entlang befinden uns dann in diesem Zustand und warten dann auf die Eingaben der Sensoren und dann läuft das im Prinzip
  143. endlos weiter in der Realität wird die Steuerung natürlich irgendwann beendet werden wenn sie den Strom ausschalten wenn sie abends
  144. das Einkaufszentrum zusperren aber aus Sicht der Steuerungslogik läuft dieses Programm und es handelt sich bei diesem Automaten ja haben nichts anderes als um
  145. ein sehr einfaches Programm und damit auch nichts anderes als einen sehr einfachen Rechner wird dieser sehr einfache Rechner
  146. beliebig lang ohne Ende weiterlaufen so damit haben wir jetzt also zwei Dinge erledigt wir haben zum einen das hochkomplexe Problem der
  147. automatischen Türsteuerung gelöst wir haben zum anderen was aber deutlich relevanter ist ein erstes Modell für einen vollständig automatisierbaren
  148. Rechner entwickelt ja das ist offensichtlich noch kein kein richtiger Computer dazu ist das viel zu einfach das ist denke ich Ihnen
  149. allen klar aber es ist nichts desto weniger ein einfaches Berechnungsmodell und dieses einfache Berechnungsmodell kann ich auch sehr
  150. schön mit mathematischen Objekten darstellen ich kann es entweder als Grafen darstellen da haben sie ja im nullten
  151. Übungsblatt schon gelernt wie man den Grafen sehr schön mathematisch darstellen kann über Tupel über Mengen und so weiter und man kann das ganze
  152. auch in Form einer Matrix darstellen und das eine Matrix ein sehr schönes mathematisches Objekt ist über das man viele Aussagen treffen kann das ist
  153. ihnen entweder schon aus der Schule bekannt oder sie werden noch sehr viel im weiteren Verlauf ihres ersten Semesters in der Mathematik Verlesung
  154. hören solche Automaten hatte ich Ihnen ja bereits angedroht die kommen in der täglichen Arbeit in ihrer Zukunft vor ich kann jetzt da nicht im Detail auf
  155. jeden möglichen Einsatzzweck eingehen macht da keinen Sinn ja will mich ja mit den Automaten selbst beschäftigen und nicht mit den Einsatzzwecken aber sie
  156. dürfen mit durchaus glauben dass das wirklich eines der universellen Arbeitspferde der Informatik ist in Steuerungsaufgaben in industriellen
  157. Steuerungsaufgaben wenn sie an die vorher genannten Dinge denken wie Förderbänder irgendwelche industriellen Fertigungsstraßen wie irgendwelche
  158. verpackungsstraßen und der gleichen Dinge dann steuert man solche Straßen nicht mit Sprachen wie C oder wie Python oder wie c#ar sondern da verwendet man
  159. einfachere für die Zwecke der Steuerung angepasste Sprachen die haben dann so hübsche Namen wie Anweisungsliste oder wie
  160. strukturierter Text und dergleichen im Wesentlichen vereinigen diese Sprachen die Nachteile einer strukturierten Hochsprache mit den Nachteilen einer Low
  161. Level Maschinensprache aber das hat sie halt in der industriellen Steuerung bei den Maschinenbauern so eingebürgert und diese Sprachen sind im Großen und Ganzen
  162. nichts anderes als etwas komfortablere Front für die Automaten die ich Ihnen jetzt beschrieben habe solche Automaten haben
  163. sie alle zum einen in ihrem bisherigen Leben schon verwendet und zum anderen wahrscheinlich alle heute schon millionenfach eingesetzt jedes Mal wenn
  164. sie im Internet irgendeine Seite aufmachen mit Ihrem Browser dann macht er wie Sie vielleicht wissen eine sogenannte TCP Verbindung auf das ist
  165. die Standard Internetverbindung und das Netzwerkprotokoll bei TCP verbind also der Ablauf zwischen Client und
  166. Server wenn Sie mit Ihrem Mobiltelefon eine Seite im Netz aufmachen dann muss das Mobiltelefon eine Anfrage an den Webserver schicken ich würde mal gerne
  167. die Seite anschauen der Webserver muss Antworten ja kannst anschauen dann sagt Mobiltelefon ich möchte das und das anschauen dann schickt der Webserver die
  168. Daten dann sagt der Telefon ja die Daten habe ich empfangen dann sagt der Webserver okay gut ist schönes jetzt beenden wir wieder die Verbindung weil
  169. alles weil alles übertragen wurde und verbindungsschritte die werden definiert in dem sogenannten RFC in dem request for comments heißen diese
  170. Dokumente das sind die offiziellen Internetstandards und darin verwendet man exakt so einen endlichen Automaten ich habe hier mal die entsprechende
  171. Seite aus dem Internet standandard rauskopiert sie müssen jetzt natürlich nicht im Detail verstehen was da passiert sie werden es dann im weiteren
  172. Verlauf ihres Studiums genauer kennenlernen was hier vor sich geht aber ich denke es ist relativ offensichtlich dass dass es sich hier um den Grafen
  173. handelt der aus Knoten und Kanten zusammengesetzt ist die Kanten geben protokollaktionen an die passieren die Knoten geben Zustände an in denen sich
  174. Client und Server befinden und wenn sie später in imem Studium mal in eine konkrete netzwerkimplementierung reinschauen werden dann werden Sie sehen
  175. dann geht wir hier wirklich so vor dass man diesen Automaten implementiert was nichts anderes als ein endlicher Automat ist und dieser Code der läuft dann
  176. Millionen und milliardenfach und billiardenfach wahrscheinlich sogar täglich auf allen möglichen Servern und Clients ab die das Internet betreiben
  177. also falls Sie ähm bislang noch nicht überzeugt waren dass endliche Automaten wie man diese Sachen nennt oder Automaten wichtig sind in der Informatik
  178. dann äh denke ich sollte das durchaus ein Argument sein dass das wirklich jeder von ihnen tagtäglich sehr oft verwendet
  179. und dass man deswegen sich auch mit den entsprechenden Grundlagen des ganzen beschäftigen muss nicht nur bei
  180. netzwerkaugaben kommen diese endlichen Automaten zum Einsatz es gibt das sehr viele weitere Anwendungszwecke die ich jetzt nicht im Detail darstellen möchte
  181. sie dürfen mir das aber durchaus Glauben z.B bei der schnellen Mustererkennung in Daten also wenn Sie irgendwelche Genomsequenzen beispielsweise
  182. durchsuchen oder wenn sie Stichwort Big Data irgendwelche sozialen Netzwerke bei Facebook durchsuchen nach Inhalten oder wenn Sie
  183. die NSA sind und Millionen Fach unbescholenee Bürger ausspionieren wollen indem sie der Mails lesen dann brauchen Sie endliche Automaten weil die
  184. sehr schnell die sind sehr einfach also können die sehr schnell implementiert werden sehr performant implementiert werden und werden deswegen
  185. beispielsweise bei der Mustersuche in Daten eingesetzt also die NSA hat wahrscheinlich sehr schnelle endliche Automaten die nach bin Laden
  186. suchen oder nach was weiß ich Kim Jong Un Obama für was man sich Hal so passessiert es gibt auch eine Verallgemeinerung des ganzen Konzepts
  187. die markaufketten die wenn sie dann in me wahrscheinlich im Masterstudium mal kennenlernen die dann für so Sachen wie Schriftklassifikation
  188. oder Bilderkennung zum Einsatz kommen in der Sprachverarbeitung in Einsatz finden oder selbst im hochfrequenzaktienhandel also alles was
  189. sie in dieser Vorlesung lernen können Sie für die unterschiedlichsten Zwecke einsetzen einschließlich dazu Stichwort hochfrequenzaktienhandel um ganze
  190. Volkswirtschaft vor die Wand zu fahren ist also wirklich ein sehr eine sehr sehr universelle Lösungsmöglichkeit eine sehr universelle
  191. Berechnungsmöglichkeit auch wenn es noch kein vollständiger Computer ist für unsere Automaten die wir jetzt kennengelernt haben gibt's im
  192. wesentlichen drei verschiedene Anwendungsmöglichkeiten wir haben bei dem Beispiel der Tür einen automatentyp kennengelernt bei dem es
  193. nur um die Zustands Übergänge geht ja da ging es drum wann geht die Tür von zu nach offen wann geht die Tür von offen nach zu wann bleibt die Tür zu wann
  194. bleibt die Tür offen diese vier Zustandsübergänge waren relevant die Kanten also die Eingabe der Sensoren die sind Mittel zum Zweck der Automat gibt
  195. in dem sin nichts aus sondern der Macht nur Zustandsübergänge das ist eine mögliche Anwendung für solche Automaten es gibt zwei weitere Anwendungen ähm die
  196. zweite ist das Übersetzen von Eingaben in Ausgaben ähm kann also so Automaten verwenden um von einer Form der Eingabe in die andere
  197. Form der Eingabe zu übersetzen beispielsweise hat ich Ihnen ja am Anfang der Vorlesung gezeigt wie ein Compiler funktioniert und wir
  198. hatten dabei gesehen dass der Compiler im Endeffekt eine Eingabe in Programmiersprachen Form in eine Datei in ähm in binärform übersetzt die für
  199. einen Rechner verständlich ist sowas wäre auch eine Anwendungsmöglichkeit für endliche Automaten und mit was wir uns insbesondere in dieser Vorlesung
  200. beschäftigen werden ist das Erkennen von Sprachen also das Lösen des wortproblems der Zusammenhang ist jetzt vermutlich noch nicht ganz offensichtlich wie man
  201. von solchen Automaten wie ich sie für die Türsteuerung verwendet habe auf eine mechanisierte auf eine automatisierte Möglichkeit kommt wie man das
  202. wortproblem löst damit werden wir uns jetzt aber beschäftigen und und damit den ersten Zusammenhang zwischen diesen beiden großen Themenfeldern formale
  203. Sprachen und endliche Automaten herzustellen der auf den ersten Blick vollkommen unklar ist warum das zusammenhängen soll bei dem S jetzt aber
  204. gleich sehen werden warum diese beiden Felder sehr sehr eng miteinander verknüpft sind lassen Sie uns um den Zusammenhang
  205. zwischen endlichen Automaten und dem sprach dem wortproblem herzustellen einen weiteren Automaten Betrachten der erstmal sehr ähnlich aussieht zu dem
  206. steuerungsautomaten den sie schon kennen der Automat hier zeichnet sich durch drei Zustände aus ich habe die Zustände jetzt etwas weniger anschaulich Q1 Q2
  207. und Q3 genannt aber Bezeichnungen und Namen sind ja vor allem in der theoretischen Informatik Schall und Rauch ob ich die zuständ jetzt zu offen
  208. und vertret oder Hans Hubert und Friedrich oder Q1 Q2 Q3 bezeichnen ist vollkommen wurscht solange die Bezeichnungen eindeutig sind ich habe
  209. hier wieder einen statzustand ich lasse da die Beschriftung Start jetzt bei den folgenden Automaten künftig weg weil er klar ist wenn ein Zustand aus dem Nichts
  210. auf einen Zustand wenn wenn eine Kante Entschuldigung aus dem Nichts auf einen Zustand zeigt dann soll der Zustand auf den die Kante zeigt als staatzustand
  211. markiert werden bei dem geht die Rechnung los und sie sehen ebenfalls dass ich die Kanten jetzt nicht mehr mit irgendwelchen sensoreingaben beschriftet
  212. habe sondern ich habe die Kanten beschriftet mit Nullen und Einsen so jetzt kennen sie aus der letzten Vorlesung bereits das Alphabet σma ist
  213. 0,1 das einfachst oder eines der einfachst möglichen Alphabete das binäre Alphabet das sich nur aus den Ziffern 0 und 1 zusammensetzt und da könnte man
  214. sich jetzt über diesem Alphabet durchaus eine formale Sprache vorstellen die Wörter dieser Sprache setzen sich aus Nullen und Einsen zusammen und die
  215. Wörter sollen jetzt bestimmte Eigenschaften erfüllen ähm damit ich nicht jedes mögliche Wort aus Nullen und einzen betrachte was
  216. dieser Automat hier jetzt leisten soll ist das wortproblem zu lösen und dazu stellen wir uns den Automaten jetzt als Maschine vor als eine konzeptionell
  217. etwas andere Maschine als eine Maschine ein Wort bekommt als Eingabe die Maschine soll das
  218. Wort auf einem Band bekommen das Band hat offensichtlich endliche Länge ja weil jedes Wort das wir betrachten ist endlich lang unendlich lange Wörter
  219. machen für uns erstmal keinen Sinn weil für unendlich langes Wort müsste unendlich lang zwangsweise rechnen um entscheiden zu können ob das in der
  220. Sprache drin ist oder nicht also ist dieser Fall uninteressant wir betrachten nur Wörter endlicher Länge und diese Wörter schreiben wir jetzt auf ein Band
  221. das mag aus S der heutigen Informatik wieder etwas archaisch erscheinen aber sie wissen alle aus der Einführung es gab durchaus Rechner die mit 35 mm
  222. Lochstreifen gearbeitet haben oder mit Papierstreifen und im Endeffekt ob sie es jetzt auf eine Festplatte schreiben oder auf einen sdchip oder auf ein
  223. Papierband das ist lediglich eine Form der Technologie eine Wahl der informationsspeichertechnologie die aber konzeptionell vollkommen wurcht ist also
  224. Betracht irgendein Wort z.B 0 10 10 von mir aus und von diesem Wort möchte ich jetzt entscheiden ist es in einer Sprache drin oder nicht dazu sage
  225. ich habe eine Maschine die ich durch ein Kästchen repräsentiere und die Maschine die kann jetzt immer ein einziges Kästchen auf
  226. dem Band anziehen ist wieder eine sehr primitive Maschine aber wir wollen ja erstmal sehr einfache Rechnermodelle kstuieren damit
  227. wir die mathematisch noch einigermaßen in Griff bekommen können so diese Maschine schaut jetzt auf ein Zeichen kann dieses Zeichen lesen und kann dann
  228. einen Zustandsübergang machen die Maschine befindet sich in einem der Zustände aus Q aus einer Menge groß Q in dieser Menge groß Q sollen
  229. alle Zustände versammelt sein die sich im Automaten hier befinden also in unserem Fall Q1 Q2 Q3 und die Maschine befindet sich zu jedem Schritt in dem
  230. Zustand die kann sich entweder im Zustand Q1 oder im Zustand Q2 oder im Zustand Q3 befinden und abhängig davon welches Zeichen gelesen wird wechselt
  231. die Maschine in irgendeinen anderen Zustand so nachdem das Zeichen gelesen wurde schiebt die Maschine das Band einen Schritt nach links weiter liest
  232. also zunächst das Zeichen 0 macht den Zustandsübergang liest das Zeichen 1 macht den Zustandsübergang dies das Zeichen 0 macht den Zustandsübergang und
  233. so weiter und so weiter und und so weiter bis sie das letzte Zeichen 1 gelesen hat und einen Zustandsübergang gemacht hat die schiebt also das Band
  234. durch liest Zeichen verzeichnen macht den Zustandsübergang die Zustandsübergänge wie die ausgeführt
  235. werden ist jetzt natürlich festgelegt wie sie sich alle denken können durch dieses Diagramm hier durch diesen Grafen hier und die Kanten geben auch genau an
  236. wie sich der Zustand ändert nach dem Lesen eines Zeichens wie sie Seen gehen von jedem zust ausgehend immer genauwei Kanten raus
  237. eine fürs les vonull und eine fürs Lesen von ein also sie sehen hier vom Zustand Q1 aus haben wir eine Kante die rausgeht für ull eine Kante die rausgeht für 1
  238. vom Zustand Q2 aus haben wir eine Kante die rausgeht für ein eine Kante die rausgt für ull und vom Zustand Q3 aus haben wir ebenfall eine Kante für 0 und
  239. eine Kante für 1 nachdem beide auf den gleichen Zustand zeigen war ich hier so frei das so zusammenzufassen dass ich 0,1 an die Kante schreibe das
  240. kennzeichnet dass die Kante sowohl für ull als auch für eins gilt so was wir aber feststellen können ist der Automat legt jetzt eindeutig fest wenn sie sich
  241. in dem Zustand befinden und wenn sie ein Zeichen lesen in welchem Zustand der als nächstes übergeht so jetzt können wir ein Wort
  242. durchlaufen und können das Buchstabe für Buchstabe durchgehen dann müs man nur am Ende des Tages entscheiden und der Ende des Tages
  243. ist für uns Ende des Gelesenen Bandes ja wird das Wort jetzt eigentlich akzeptiert also ist das Wort ein Mitglied der Sprache oder ist das Wort
  244. kein Mitglied der Sprache weil diese Entscheidung soll uns der automater liefern ist es Mitglied der Sprache ist es kein Mitglied der Sprache und dazu
  245. habe ich jetzt einen speziellen weiteren einen speziellen und und einen Zustand speziell ausgezeichnet sie sehen dieser Zustand Q2 hier der ist nicht mit einem
  246. einfachkreis eingekreist wie Q1 und Q3 sondern der ist mit einem zweifachkreis eingekreist und dieser zweifachkreis bedeutet akzeptierender
  247. Endzustand das heißt wenn sich die Maschine nach dem Lesen des Wortes die hat ja angefangen hat dann alle Buchstaben eingelesen hat die Übergänge
  248. gemacht zwischen den Zuständen und wenn das Wort fertig gelesen ist und die Maschine sich in diesem akzeptierenden Endzustand befindet dann wird das Wort
  249. akzeptiert wenn die Maschine in diesem oder diesem Zustand rauskommt in einfach eingekreisten Zuständen in sogenannten nicht akzeptierenden Zuständen dann wird
  250. das Wort abgelehnt und da sehen sie es gibt genau zwei Möglichkeiten ich gebe Wort in die Maschine rein die vollzieht die Übergänge und kann dann kommt dann
  251. entweder bei diesem Zustand raus oder kommt bei diesen beiden Zuständen raus die Maschine wird uns also immer eine Antwort liefern ja das Wort wird
  252. akzeptiert ist Teil der Sprache oder nein das Wort wird nicht akzeptiert ist kein Teil der Sprache so und damit ist jetzt das ganze Problem wenn Sie das
  253. wortprem lösen wollen dass Sie sich halt über die Struktur ihrer Sprache klar werden müssen und dann versuchen müssen so einen Automaten zu konstruieren der
  254. zu ihrer Sprache passt und der für jedes zu akzeptierende Wort am Ende des Tages in dem akzeptierenden Endzustand rauskommen klingt erstmal leicht ist
  255. natürlich wie Sie sich vorstellen können wenn sie eine konkrete Sprache vor sich haben gar nicht so leicht aber da haben wir jetzt
  256. die nächsten 10 11 12 13 Vorlesungen Zeit um uns da zu überlegen wie man von der gegebenen Sprache auf einen passenden Automaten kommen
  257. kann wir möchten jetzt maschinenautomaten dieser Art verwenden um das wortproblem automatisiert zu lösen ja Sie können es kann jetzt jeder
  258. von ihnen kann hergehen und kann so eine Eingabe z.B die Eingabe 1101 oder 00 kann er in den Automaten eingeben oder kann sie in
  259. den Automaten eingeben und sieht dann ob das Wort akzeptiert wird oder nicht wir wollen aber letztlich drauf raus dass wir diese
  260. fade repetitive Aufgabe meinem Computer überlassen also haben wir zwei Ziele oder ein Ziel im Wesentlichen jetzt wir wollen diesen Automaten so stark formal
  261. beschreiben dass wir n Computer und da meine ich jetzt ein richtigen Computer oder irgendeiner anderen automatischen Maschine die auf gabe des
  262. nachvollziehens von Wörtern überlassen können und damit das wortproblem mechanistisch lösen können bevor wir das machen schauen wir uns aber mal zwei
  263. konkrete Beispiele an einmal das Wort 101 wird dieses Wort akzeptiert oder nicht wir haben das Wort 1 01 so das mal ich jetzt auch schön auf
  264. ein Band und die Maschine fängt an den ersten Buchstaben zu lesen und befindet sich dafür im Anfangszustand Q1
  265. ja der stadzustandspfeil gibt uns an wir fangen im Zustand Q1 an die Maschine liest die Ziffer 1 na und dann schauen wir nach hier den Übergang für ull hier
  266. haben wir ein Übergang für 1 also geht die Maschine diesen Übergang für die Eingabe 1 entlang geht vom Zustand Q1 indem sie sich ursprünglich befunden
  267. hat durch lesen der in den Zustand Q2 so und liest jetzt das nächste Zeichen also wir
  268. haben wir befinden uns jetzt im Zustand Q2 und der Zeiger welches Feld gelesen wird bewegt sich eines eine Position weiter sie entschuldigen hier meinen
  269. Löschversuch falls irgendjemand von ihnen im Auditorium rausbekommt wie man mit explain everything Sachen löschen kann eigentlich im Jahr 2000 16 möglich
  270. sein sollte der darf mir dann gerne E-Mail schicken ähm ich hoffe die Tatsache dass ich theoretische Informatik und Berichte
  271. entschuldigt mich für das entsprechende Unvermögen so wir befinden uns jetzt im Zustand Q2 und lesen das Zeichen 1 also schauen wir nach von Q2 geht eine Kante
  272. für 1 raus die Kante geht von Q2 nach Q2 also bleibt der Automat im gleichen Zustand er geht von Q2 nach Q2 über ist auch ein Übergang und wir gehen
  273. natürlich auch in der Eingabe ein Feld weiter und lesen jetzt im Zustand Q2 das Zeichen 0 schauen wir wieder nach im Zustand Q2
  274. geht diese Kante für den Buchstaben Null weg also machen wir diesen Übergang nach Q3 befinden uns jetzt im Zustand Q3 schieben den schreiblesekopf ein weiter
  275. wer in der Physik aufgepasst hat weiß er es ist wurscht ob ich das Band von rechts nach links oder den schreiblesekopf von links nach rechts
  276. schiebe im Rahmen der klassischen Mechanik ist es egal also lesen wir jetzt das Zeichen 1 im Zustand Q3 n dann machen wir das was
  277. wir jetzt schon kennen wir befinden uns im Zustand Q3 schauen nach wo kommen wir unterlesen einer 1 hin das ist diese Kante die uns weiterführt und die führt
  278. uns in den Zustand Q2 also gehen wir über in den Zustand Q2 und haben jetzt auch das komplette Band bearbeitet da ist es nichts mehr zu
  279. lesen übrig der Automat bleibt dann stehen ja hat keine weiteren Buchstaben mehr am Übergänge zu machen bleibt stehen und er bleibt stehen im Zustand
  280. Q2 das bedeutet wir haben einen akzeptierend Endzustand erreicht am Ende des Bandes und das Wort 1101 wird also gemäß unserer Konvention
  281. akzeptiert wir stellen fest 101 ist ein Element der Sprache l die wir betrachten ja wir identifizieren jetzt die Sprache l implizit mit allen
  282. Wörtern die der Automat akzeptiert betrachten wir das Wort 0 ich habe jetzt hier mal absichtlich ein etwas einfacheres Wort gewählt dass wir
  283. schneller zum Schluss kommen wir fangen wieder sie kennen den Prozess jetzt mittlerweile wir fangen an beim Startzustand lesen die erste Null
  284. sehen wir müssen diesen Übergang nachvollziehen also wir gehen von Q1 nach Q1 und lesen dann die zweite Null gehen
  285. also wieder von Q1 nach Q1 der Automat hat also in Q1 angefangen ist dann nach Q1 gegangen und ist dann noch mal nach Q1 gegangen dann haben wir
  286. beide Buchstaben gelesen es kommt kein weiterer Buchstabe der Automat bleibt stehen er bleibt aber diesmal in einem einfach umrandeten Zustand stehen also
  287. in dem nicht akzeptierenden Zustand und das bedeutet gemäß unserer Konvention ist das Wort 00 kein Element der Sprache l weil es vom Automaten abgelehnt wird
  288. und nicht akzeptiert wird und dieses Spiel können Sie jetzt mit jedem beliebigen Wort wiederholen sie geben das in den Automaten ein und er
  289. akzeptiert oder er akzeptiert nichts und je nachdem ist das Wort Bestandteil der Sprache oder nicht m den zustehen Vorgang habe ich Ihnen hier
  290. zusammengefasst ist im Endeffekt ja relativ einfach sie lesen ein Wort Buchstabe für Buchstabe ein durchlaufen die Übergänge zwischen den Zuständen bzw
  291. etwas wissenschaftlicher ausgedrückt durchlufen die Transitionen zwischen den Zuständen und wenn sie am Ende der Eingabe sind dann schauen sie Hal nach
  292. sind sie in dem akzeptierenden Zustand in dem doppelt eingekreisten Zustand oder nicht wenn ja akzeptieren wenn nein ablehnen so jetzt kam bereits die Frage
  293. auf welche Sprache definiert dieser Automat eigentlich welche Sprache erkennt dieser Automat und da äh sind wir jetzt am Ende des Formalismus
  294. angelangt da um das intuitiv zu verstehen als Mensch welche Sprache der Automat akzeptiert müssen sie jetzt in ihrer eigen Kreativität tätig werden und
  295. sie werden im Verlaufe dieses semest das hoffentlich an sehen dass die Theoretische Informatik eigentlich ein sehr kreatives Fach ist da müssen sie es
  296. ja oft um die Ecke denken hier muss man jetzt noch gar nicht so sehr um die Ecke denken aber Sie müssen jetzt übersetzen und das ist ihre Aufgabe als
  297. Informatiker und InformatikerInnen sie müssen zwischen dem Übersetzen was für eine Maschine einfach ist also zwischen dieser Darstellung und dem was für Sie
  298. als Mensch einfach ist traut sich irgendjemand ähm eine Spekulation abzugeben wie man die Sprache die der Automat erkennt mit
  299. menschlichen Worten beschreiben könnte da muss man im Wesentlichen schauen was macht der Automat und unter welchen Bedingungen äh kann ich auf einen
  300. akzeptierenden Endzustand kommen ähm die menschlich verständlichere Beschreibung der die Sprache die der
  301. Automat erkennt kann man auch für Menschen etwas verständlicher beschreiben indem man die Struktur des automatens analysiert sie sehen hier so
  302. wir fangen immer von diesem stzustand aus an und müssen um ein Wort zu erkennen um ein Wort zu akzeptieren irgendwie in den akzeptierend Endzustand
  303. gelangen um in diesen akzeptierendten Endzustand zu gelangen muss mindest muss diese Kante hier überschritten werden ja sonst komme ich nicht von Q1 nach Q2 und
  304. das bedeutet in dem Wort in jedem Wort das erkannt wird findet sich mindestens eine Eins es können also keine Wörter erkannt werden die nur aus Nullen
  305. bestehen weil ich mindestens einmal diese Kante traversieren muss so und wenn ich jetzt im akzeptierend Zustand bin dann ich kann dann auf
  306. zwei mögliche weitere Arten zu dem nzustand kommen entweder ich durchlaufe diese Kante hier mit der ein das das bedeutet eine ein befindet sich am Ende
  307. des Wortes das kann ich einem ich diese Kanten durchlaufe realisieren mit 01 dann befindet sich ebenfalls eine eins am Ende des Wortes
  308. oder ich durchlaufe diese beiden Kanten so dass ich 00 lese dann bedeutet dass es befinden sich zwei Nullen am Ende des Wortes heißt kann nicht vorkommen dass
  309. ich nur eine Null am Ende des Wortes befindet und das dieses Verhalten fasse ich hier etwas allgemeiner zusammen die Sprache enthält
  310. mindestens eine eins haben wir festgestellt wegen dieser Kante und das Wort endet auf eine Gerade Anzer von Null also 2 4 6 8 und so weiter oder mit
  311. einer 1 das wäre jetzt eine etwas oder das ist jetzt eine menschlich verständlichere Beschreibung der Sprache des Automaten die habe ich hier etwas
  312. semiformal aufgeschrieben als Menge a die Menge enthält alle Wörter mit dieser Eigenschaft also Wort enthält mindestens eine Eins und so weiter und habe damit
  313. eine mathematische Menge definiert ich denke es ist auch relativ offensichtlich dass sie mit so einer Beschreibung nur sehr schwer einen
  314. Automaten erzeugen können der die Sprache mechanisch erkennt ja die Beschreibung ist für Menschen gut aber nicht für Maschinen verständlich dass
  315. sie aber diese Beschreibung sehr einfach in Form eines Programms angeben können oder in Form ein einfachen Elektronik angeben können oder in Form von
  316. irgendwelchen Playmobil Maschinen die ein papierbanders Eingabe erhalten angeben können dass das also eine saubere mechanische oder eine saubere
  317. formal definierte Beschreibung der formalen Sprache L ist so jetzt beschreibt dieser jeder Automat beschreibt eine unterschiedliche formale
  318. Sprache und um den Zusammenhang zwischen Sprache und Automat auszudrücken gibt es die Schreibweise g l von Automat den Automaten bezeichne
  319. ich als M1 wir kommen gleich drauf zurück was in dieser formalen Beschreibung alles mit drin sein muss und die Sprache die der Automat erkennt
  320. die language l für language des automatens ist nichts anderes als eine Menge a eine Sammlung von Wörtern diese Menge kann unendlich oder endlich groß
  321. sein ist aber in jedem Fall eine Teilmenge des Alphabets σ stn wir haben also hier unser Alphabet Sigma unser unsere Menge σ stn die Menge aller
  322. Wörter über dem Alphabet sigσma ein Teil der Menge l von M ist die Sprache die vom Automaten erkannt wird und hier sind alle anderen Wörter oder a quer je
  323. nachdem wie Sie das Ganze bezeichnen wollen so in Kurzform sagt man dass die Maschine und das ist eine relativ offensichtliche Bezeichnung sagt man
  324. dass die Maschine M1 die Sprache a erkennt und in unserem Fall ist die Sprache menschlich betrachtet so
  325. festgelegt wir müssen jetzt zwischen zwei unterschiedlichen Konzepten unterscheiden wir müssen unterscheiden zwischen der Tatsache wenn ich ein Wort
  326. in die Maschine eingebe dann wird das Wort von der Maschine akzeptiert oder nicht die Maschine M1 die akzeptiert bestimmte Wörter wir wissen jetzt
  327. nachdem wir wissen wie die Sprache ausschaut dass z.B die Wörter 1 101 akzeptiert werden das endet auf eine 1 oder das Wort
  328. 100 das endet auf eine gerade Anzahl von Nullen oder 1 10 wird akzeptiert oder diese Wörter werden akzeptiert jedes dieser Wörter wird
  329. akzeptiert wenn man aber alle Wörter in Gesamtheit betrachtet die die Maschine akzeptiert dann spricht man von der Sprache und dann spricht man davon dass
  330. die Maschine M1 eine Sprache erkennt welche Sprache die Maschine M1 erkennt haben wir uns bereits überlegt in der theoretischen Informatik
  331. muss man sich immer die Sonderfälle die Grenzfälle besonders betrachten weil hier oft das interessante passiert eine Maschine wird im allgemeinen mehrere
  332. Wörter akzeptieren man ich kann natürlich apatologische Maschine bauen die nur ein einziges Wort akzeptiert oder die gar
  333. kein Wort akzeptiert im Allgemeinen wird eine Maschine aber mehrere Wörter akzeptieren sie erkennt aber immer nur eine einzige Sprache ja die Sprache ist
  334. per Definition die Menge aller Wörter die die Maschine akzeptiert das ist Terminologie da steckt nichts größeres dahinter machen sie sich aber bitte mit
  335. dieser Terminologie trotzdem vertraut was dann erfahrungsgemäß in den Übungen sehr oft dazu kommt dass sie das durcheinander bringen ist jetzt was wird
  336. akzeptiert was ist nicht akzeptiert was ist eine Sprache was ist ein Wort das ist ein Alphabet was ist das Universum über dem alphab geht und so weiter und
  337. Sie sollten sich mit diesen sprachlichen Dingen auch wenn da nichts groß dahinter steckt sollten Sie trotzdem sehr wohl vertraut sein weil man halt irgendwie
  338. ein Fachvokabular braucht um sich gemeinsam über Tatbestände zu unterhalten und um gemeinsam dann dran zu arbeiten dass man diese Bestände in
  339. konkrete Mathematik in saubere Definitionen in Maschinen verstehbare Definitionen bringt so jetzt ist ihnen allen klar wie
  340. so ein Automat funktioniert sie können den anwenden es ist denke ich auch eben klar dass man diese Modelle sehr leicht mechanisch
  341. umsetzen könnte gehen wir also zum nächsten Schritt über und überlegen uns was ist die oder wie kann ich einen Automaten jetzt mathematisch beschreiben
  342. dass ich die Beschreibung wirklich auf die ganz elementaren Konstituenten reduziere und dass ich so viel von der Mathematik übernehme wie möglich weil
  343. wir dann natürlich auf den gesammelten Erfahrungs und den gesammelten theoremschatz der Mathematik zurückgreifen können um mit den
  344. Automaten zu arbeiten ein deterministischche endlicher Automat besteht aus im Wesentlichen fünf Komponenten bevor ich auf die
  345. Komponenten eingehe zunächst zwei Bemerkungen so deterministisch und zu endlich der Automat man bezeichnet den Automaten als ich nicht deswegen weil er
  346. nur endliche Wörter erkennt er erkennt zwar in der Tat nur endliche Wörter aber die können beliebig lang sein also die können ein Millionen Zeichen 3 Millionen
  347. Zeichen 17 Millionen Zeichen langsin es gibt da keine Obergrenze dass man sagt der Automat kann nur Wörter bis zu der Länge und weiter nicht
  348. erkennen sondern der heißt endlicher Automat weil er mit einer endlichen Menge von Zuständen auskommt und eine endliche Menge von Zuständen ist
  349. natürlich ein notwendiges Kriterium wenn Sie den Automaten der in der Praxis sinnvoll ist angeben möchten weil eine unendliche Menge von Zuständen können
  350. sie nicht repräsentieren können sie nicht in den Speicher schreiben die muss endlich sein und das endlich bezieht sich genau auf die Tatsache dass es hier
  351. nur endlich viele Zustände gibt die Komponente deterministisch bezieht sich auf die Tatsache dass in jedem Rechenschritt des automatens genau
  352. festgelegt ist was zu tun ist der Automat kann also keine Wahl treffen der kann sie nie entscheiden zwischen mehreren Möglichkeiten sondern der hat
  353. immer nur genau eine Möglichkeit um voranzuschreiten und das ist dadurch gegeben dass aus jedem Knoten genau eine einzige Kante rausgeht für jeden
  354. Buchstaben also es geht genau eine Kante für null raus und es geht genau eine Kante für eins raus das trifft hier auf jede Kante zu wenn sie da Kanten
  355. weglassen dürften wenn also hier z.B keine Kante für null rausgehen würde ja dann wüsste der Automat nicht was er machen soll wenn er eine Null ist das
  356. möchte man nicht haben wenn hier mehrere Kanten für null rausgehen könnten wenn hier also z.B noch eine zweite Kante für null rausgehen könnte von Q1 nach Q3
  357. dann müsste sich der Automat auf irgendeine Art und Weise entscheiden geht er jetzt diese Kante entlang oder geht er diese Kante entlang und solche
  358. Entscheidungen möchte man ebenfalls vermeiden der Automat soll immer eindeutig wissen was er zu tun hat deswegen die Einschränkung auch für
  359. jeden Zustand muss für genau jeden Buchstab haben genau eine Kante rausgehen und wir lassen entsprechend solche Kanten wie die eben
  360. eingezeichnete Weg ähm die fünf Komponenten die einen Automaten ausmachen habe ich Ihnen hier
  361. zunächst in menschenverständlicher Textform zusammengefasst der endlicher Automat besteht aus folgenden fünf Komponenten und mehr die Komponenten
  362. sind eigentlich relativ offensichtlich sie brauchen zunächst die Zustände in denen sich der Automat befinden kann ja wenn sie keine Zustände haben dann haben
  363. sie keinen Automaten sie müssen also irgendwie aufschreiben es gibt in dem Fall z.B die drei Zustände Q1 Q2 Q3 dann brauchen Sie ein Alphabet aus dem die
  364. Eingabe generiert wird das ist auch klar sie lassen nicht beliebige Zeichen zu sondern sie müssen sich festlegen auf dem Alphabet vorab weil sie überprüfen
  365. müssen dass es für genau jeden Buchstaben genau eine Kante gibt die aus jben Zustand rausgeht im Fall dieses automatens be des Alphabet das binäre
  366. Alphabet 01 dann brauchen Sie was ebenso offensichtliches eine Festlegung der Übergänge sie müssen irgendwie angeben
  367. wie die Kanten zwischen den einzelnen Knoten verlaufen also ich muss angeben es verläuft eine Kante von Q1 nach Q1 mit
  368. Beschriftung 0 es verläuft eine Kante von Q2 nach Q3 mit Beschriftung 0 es verläuft eine Kante von Q1 nach Q2 mit Beschriftung 1 wie man das dann genau
  369. macht das werden wir uns nch überlegen aber es muss offensichtlich eine Festlegung dieser Übergänge geben dann muss es einen ausgezeichneten Zustand
  370. geben ind dem der Automat startet das ist der Startzustand der durch diesen Pfeil hier gekennzeichnet wird das ist auch offensichtlich ich muss einen
  371. Zustand haben bei dem die Verarbeitung losgeht hier ist zu beachten es ist genau ein einziger stzustand also es darf nicht keinen stzustand geben es
  372. darf mehrere Zustände geben dann hätten wir wieder eine Auswahl das wollen wir vermeiden es muss genau einen einzigen statzustand geben und zu guter Letzt
  373. muss es Endzustände geben hier ist die Einschränkung auf genau einen allerdings nicht vorhanden es kann Automaten geben mit keinem akzeptierenden Endzustand der
  374. Automat wird halt dann kein Wort erkennen da gibt's aber legitime Anwendungen dafür er kann einen akzeptierenden Endzustand haben er kann
  375. mehrere akzeptieren die Endzustände haben im Extremfall hat der Automat genauso viel akzep die Endzustände wie Zustände hat da sind also sämtliche
  376. Varianten zwischendrin möglich so denk das macht oder das ist relativ offensichtlich aus vom gesunden Menschenverstand aus
  377. betrachtet dass ich diese fünf Dinge brauche um einen Automaten eindeutig festzulegen was wir allerdings wollen ist eine mathematische Beschreibung des
  378. ganzen Automaten und da überlegen wir uns jetzt noch wie die einzelnen Punkte mathematisch schon dargestellt werden können zunächst ähm sagen wir nimmer
  379. endlicher Automat besteht aus fünf Komponenten sondern ein endlicher Automat ist ein fünft Tupel also eine Zusammenfassung dieser fünf Dinge hier Q
  380. sig Delta q0 F und da sind wir jetzt auch schon bei den griechischen Buchstaben das groß Sigma kennen sie bereits was neu hinzukomt ist das klein
  381. Delta da komme ich gleich drauf was das genau bedeutet aber diese fünf Punkte hier fassen wir durch diese fünf Buchstaben zusammen also jedes Element
  382. steht für einen der Punkte so die Zustände in denen sich der Automat befinden kann fassen wir zusammen in einer Menge Q Q ist eine endliche
  383. zustandsmenge das kennen Sie auch bereits aus der Mathematik im Fall dieses automatens ist die Menge Q enthält alle Zustände die im Automaten
  384. drin sind das der Zustand Q1 das ist der Zustand Q2 und das ist der Zustand Q3 und die fasse ich in einer Menge Q
  385. zusammen das Alphabet aus dem die Eingabe generiert wird ist auch klar da schreibt man etwas mathematischer wir brauchen ein endliches Alphabet ma dass
  386. das Alphabet endlich sein muss ist wieder klar und Sigma ist einfach eine Konvention wie ich das bezeichne im Fall dieses
  387. automatens wenden wir das Alphabet sigσma dass die beiden Buchstaben 0 und 1 enthält ja andere Buchstaben dürfen
  388. nicht an den Kanten stehen dann brauchen wir eine Festlegung der Übergänge die wird jetzt durch Delta angegeben das ist jetzt schon etwas interessanter wie man
  389. das formalisiert im Endeffekt wissen sie aber aus dem nullten Übungsblatt dass ein Übergang eine Kante in dem Grafen festgelegt ist durch den Knoten von dem
  390. die Kante ausgeht und durch den Knoten auf den die Kante auftrifft also diese Kante hier ist beispielsweise dadurch festgelegt dass sie von Q1 losgeht in Q2
  391. endet und mit eins beschriftet ist so das heißt anders betrachtet aber die geht von irgendeinem Zustand aus der Menge Q
  392. los dann wird ein Zeichen aus der Menge gelesen das schreibt man mathematisch so Q Sigma wir kriegen als Eingabe einen Zustand unter Zeichen das wir lesen und
  393. dann müssen wir festlegen auf welchen Zustand trifft die Kante auf n der Zustand ist wieder aus der Menge Q das gibt uns also die Blaupause wie die
  394. übergangsfunktion die transitionsfunktion aufgebaut sein muss die bekommt als Eingabe einen Zustand und einen Buchstaben und liefert als
  395. Ausgabe einen Zustand so und die übergangsfunktion bezeichnen wir mit Delta und schreiben deswegen oder wir lesen diese Definition so die Funktion
  396. Delta hat die Signatur Q K Sigma geht über nach Q und das bedeutet die Funktion Delta kriegt das Eingabe in den Zustand und den Buchstaben und liefert
  397. als Ausgabe einen Zustand wie man dann die Funktion Delta konkret spezifiziert für Automaten seh wir gleich das wird natürlich für jeden Automaten
  398. unterschiedlich sein jeder Automat hat unterschiedliche Z Festlegungen der übergangsfunktion für alle Automaten ist aber gleich dass die
  399. übergangsfunktion diese Form haben muss so die letzten beiden Punkte wir brauchen einen ausgezeichneten Zustand indem der Automat startet na da
  400. schreiben wir in die Menge einfach zeichnen wir einen Zustand q0 als Startzustand aus der Zustand q0 muss natürlich aus der Menge Q sein in
  401. unserem Fall wä jetzt das hier der Startzustand Q1 also würd man dann für diesen spezifischen Automaten M1 an dieser Stelle im fün Tupel Q1
  402. reinschreiben und dann braucht man noch eine Festlegung welche Zustände akzeptieren die nendzustände sein sollen das bezeichnen wir als Menge F F für
  403. Final also Endzustand und das ist offensichtlich eine Teilmenge von Q hier ist zu beachten die Menge F kann leer sein ja
  404. nicht die leere Menge ist eine Teilmenge der zustandsmenge die Menge F wie sie an diesem Querstrich hier unten sehen kann auch gleich der Menge Q sein also es
  405. kann jeder Zustand ein akzeptierender nzustand sein oder irgendwas dazwischen so damit haben wir jetzt aber sind wir übergegangen von der reinen
  406. menschenverstehbaren Schreibweise zu einer formal sauberen Schreibweise zu einer mathematisch sauber definierten Schreibweise die nichts anderes sagt als
  407. die textuelle Beschreibung die ich Ihnen vorher präsentiert habe die jeder sofort verstanden hat nur halt jetzt mit etwas mathematischer
  408. Präzision nachdem nun mathematisch betrachtet klar ist was ein deterministischer endlicher Automat ist nämlich nichts anderes als dieses Tupel
  409. aus fünf Elementen Q ma Delta q0 und F lassen Sie uns die Definition mal konkret anwenden für diesen Automaten hier also lassen Sie uns diese Maschine
  410. in eine eindeutige mathematische Beschreibung überführen wir gehen oder wir benennen die Maschine M1 ja das ist eine Konvention die können
  411. Sie wiederum beliebig wählen wie Sie die Maschine nennen wollen wichtig ist dass die Maschine M1 ein fünftupel ist aus zustandsmenge
  412. Q alpab Sigma wir werden diese Größen gleich noch mal sauber definieren der übergangsfunktion Delta einem stzustand und da müssen sie jetzt
  413. aufpassen der statzustand ist der Zustand Q1 also tragen wir als Startzustand in das fünftupel den Zustand Q1 ein und eine Menge F eine
  414. ebenfalls noch weiter zu definierende Menge F aus akzeptierenden nzuständen passen Sie auf bei ein Tupel das durch runde Klammern gekennzeichnet ist spielt
  415. die Reihenfolge im Gegensatz zu einer Menge die ja bekanntlich durch geschweifte Klammern gekennzeichnet ist eine Rolle es macht also einen
  416. Unterschied ob sie hier schreiben qσma Delta q1f oder Delta sig q1f m ja was auch immer nur übrig bleibt also achten Sie drauf dass bei diesem
  417. fünftupel die an die Anordnung der Elemente immer gleich ist sie kennen dieses Problem dass Elemente gleich angeordnet sein müssen bereits aus
  418. programmiert Sprachen wenn sie in der Programmiersprache eine Funktion aufrufen z.B eine Funktion
  419. ad die einen Namen und ein alter in eine Datenbank schreiben soll dann hätte diese Funktion beispielsweise in pseudo Programmiersprache den Prototyp add von
  420. String Name Komma in AG das wäre ein möglicher wenn Sie die Funktion add aufrufen mit
  421. herbert27 dann wird der Compiler diesen Aufruf akzeptieren wenn sie jetzt hingegen die Argumente vertauschen wenn sie schreiben add von 27 komm
  422. Franz dann wird der Compiler natürlich eine Fehlermeldung werfen wird sagen die Argumente passen nicht zur Funktion sie haben zwar die richtigen Argumente
  423. angegeben aber in der falschen Reihenfolge das sind Programmiersprachen sensibel drauf und genauso müssen Sie hier drauf achten hier haben Sie zwar
  424. keinen Compiler der überprüft ob ihre Spezifikation richtig war aber sie haben mich als Compiler Ersatz der ihre Klausur korrigieren muss und
  425. der dann feststellen wird ist die ist die Reihenfolge der Argumente richtig oder nicht das macht auch Sinn die Argumente richtig angeben zu müssen wenn
  426. sie hier beispielsweise Q und Sigma vertauschen werden plötzlich sie vertauschen zwei endliche Alphabete aber dann werden plötzlich die Buchstaben die
  427. Zustände und die Zustände die Buchstaben und das ergibt dann offensichtlich unsinnige Definitionen also achten Sie drauf dieses Tupel richtig rum anzugeben
  428. okay wir haben jetzt die den Rahmen gelegt für die Definition des automatens und müssen nun noch die Details ausfüllen wir müssen zunächst festlegen
  429. wie die Menge Q genau zusammengesetzt ist offensichtlich befinden sich in der Menge Q die drei Zustände Q1 Q2 und Q3 das Endliche Alphabet Sigma setzt
  430. sich zusammen aus den Buchstaben 0 und 1 für den Startzustand Q1 muss nichts weiter spezifiziert werden der ist bereits durch die Position im fünftupel
  431. eindeutig festgelegt und die Menge F der akzeptierenden nendzustände setzt sich zusammen aus einem einzigen Zustand nämlich Q2 achten Sie hier ebenfalls
  432. drauf bei der Menge der Endzustände die mengenschreibweise zu verwenden auch wenn sich nur ein einziger auch wenn nur
  433. ein einziger Zustand als akzeptierender nzustand ausgezeichnet ist sie müssen hier wieder als Typ eine Menge angeben und nicht nur einen einzigen
  434. Zustand bleibt also noch die übergangsfunktion Delta zu definieren und für die übergangsfunktion Delta gibt's im Wesentlichen zwei
  435. Möglichkeiten zum einen können Sie zur Definition von Delta eine Tabelle verwenden wie sie bereits aus dem Beispiel des
  436. türsteuerungsautomatens bekannt ist in der wir sämtliche Zustände Eintragen von oben nach unten und in der wir sämtliche Buchstaben des Alphabets
  437. von links nach rechts eintragen wir haben die Buchstaben 0 und 1 die sich im Alphabet befinden und wir haben die Zustände Q1 Q2 und Q3
  438. die sich in der zustandsmenge befinden damit bekommen wir 2 x 3 ist 6 Möglichkeiten um Übergänge zu machen wenn Sie die Anzahl der Kanten
  439. nachzählen sehen Sie natürlich wir haben 1 2 3 4 56 Kanten diese Kante hier unten oder diese Schreibweise hier unten repräsentiert zweik Kanten und müssen
  440. nun in die Tabelle einfüllen welche Übergänge im Automaten vorhanden sind wenn wir uns im Zustand Q1 befinden und den Buchstaben 0 lesen sehen wir aus der
  441. grafischen Darstellung bleiben wir im Zustand Q1 tragen also an dieser Stelle in der Tabelle Q1 ein wenn sich der Automat im Zustand Q1 befindet und eine
  442. 1 liest dann ist dieses tabellenelement hierfür relevant Zustand Q1 führt nach Lesen einer 1 in den Zustand Q2 also muss hier Q2 eingetragen werden die
  443. gleiche Vorgehensweise wenden wir nun an für diese vier verbleibenden Felder im Zustand Q2 gelangen wir durch Lesen einer Null in den Zustand Q3 tragen also
  444. hier Q3 ein wir lesen wir sind in Q2 Lesen eine 0 und gehen über nach Q3 wenn wir in Q2 sind und eine 1 lesen sehen wir anhand dieser Kante dass wir im
  445. Zustand Q2 bleiben also muss hier Q2 eingetragen werden die letzte Spalte wird analog ausgefüllt sie sehen wenn wir uns im
  446. Zustand Q3 befinden dann ist es egal ob wir eine 0 oder eine 1 lesen wir gehen in beiden Fällen in den Zustand Q2 über müssen also sowohl hier als auch hier
  447. wir befinden uns in Q3 Lesen eine 0 oder wir befinden uns in Q3 und lesen 1 müssen wir in beiden Fällen den Zustand Q2 als Zielzustand eintragen und damit
  448. haben wir eine vollständige Charakterisierung der übergangsfunktion erreicht wir haben für jeden Zustand und für jeden Buchstaben genau einen
  449. einzigen Zielzustand angegeben in den sich der Automat bewegt wenn ausgehend von diesem Zustand dieser Buchstabe gelesen wurde und damit ist die formale
  450. Definition des Automaten beendet wenn ich also in der Klasur oder in der Übungsaufgabe Ihnen einen Automaten zur verfügungstelle in Form eines Grafen und
  451. dann Frage geben Sie bitte eine vollständige formale Charakterisierung eines automatens an dann schreiben Sie bitte all diese Elemente hin sie
  452. schreiben hin der Automat ist ein fünftupel aus Zuständen Alphabet übergangsfunktion statzustand und nendzuständen die Zustände sind so
  453. definiert die das Alphabet ist so definiert die Endzustände sind so definiert und die übergangsfunktion ist auf diese Art und Weise angegeben komm
  454. gleich noch auf eine Alternative Definition für die übergangsfunktion sie könnten jetzt anstatt das fün Tupel erst mit den
  455. allgemeinen Buchstaben hinzuschreiben und dann zu definieren was die Buchstaben Q Sigma und F bedeuten könnten Sie alternativ auch schreiben
  456. lassen Sie mich etwas mehr Platz machen der Automat M1 ist ein fünftupel aus der zustandsmenge Q1 Q 2
  457. Q3 aus dem Alphabet 01 aus der noch zu über definierend übergangsfunktion Delta aus dem Startzustand Q1 und aus der Menge
  458. Q2 der akzeptierend Endzustände sie sehen wir haben hier genauso ein fünftupel nur dass ich jetzt unmittelbar die Definition der Mengen in das
  459. fünftupel eingetragen habe und das ist ebenfalls wieder ein Hinweis darauf warum es wichtig ist die reih Folge korrekt
  460. beizubehalten bei der Definition des fünftupels sie können ja die Zustände irgendwie benennen sie könnten die Zustände also auch ABC benennen und dann
  461. ist es natürlich nur aus der Reihenfolge ersichtlich dass ABC die Zustände und 01 das Alphabet darstellen es könnte ja genauso sein dass sie die Zustände 01
  462. nennen und das Alphabet ABC um zwischen diesen beiden Möglichkeiten eindeutig unterscheiden zu können ist die reihenf in der Definition
  463. des Tupels von Interesse bei der Spezifikation der übergangsfunktion können Sie neben der
  464. Darstellung als Tabelle noch auf eine weitere Variante zurückgreifen die die Signatur der übergangsfunktion
  465. also diese Festlegung hier ebenfalls etwas klarer erscheinen lässt die Signatur bedeutet also wenn wenn Sie die Signatur auf die Tabelle wenden dann
  466. sehen Sie die Eingaben spezifizieren die tabellenachsen die Hochachse machen die Zustände aus die rechtsachse machen die Buchstaben aus des Alphabets und die
  467. Inhalte der Tabelle sind wiederum zuständig sie können die Signatur der übergangsfunktion aber auch als Prototyp als definitionsmuster für eine Funktion
  468. lesen nämlich für eine Funktion Delta die zwei Argumente nimmt Zustand und Buchstabe und einen Zustand als Resultat liefert und mit Hilfe dieser
  469. funktionalen Schreibweise ist es genauso möglich die übergangsfunktion eindeutig festzulegen beispielsweise im Fall des ersten Übergangs Q1 unterlesen einer ull
  470. wenn sich der Automat im Zustand Q1 befindet und die Ziffer ull liest das eingabesymbol Null liest sollle in den
  471. Zustand Q1 übergehen und das ist eindeutig durch diese Zeile festgelegt Delta von q0 von q1,0 ergibt Q1 als Resultat also eine Funktion mit zwei
  472. eingabeparametern die einen Ausgabeparameter liefert wenn sich der Automat im Zustand Q1 befindet und eine 1 als Eingabe erhält dann wissen Sie er
  473. geht über in den Zustand Q2 also gilt Delta von q1,1 ist Q2 und entsprechend können Sie die Definition jetzt weiterführen del
  474. von q2,0 ist Q3 Delta von q2,1 ist Q2 und die letzten beiden
  475. Definitionen Delta von q3,0 ist Q2 und Delta von q3,1 ist Q2 sie sehen die Arbeit der Arbeitsaufwand ist bei dieser Form der
  476. Beschreibung natürlich etwas höher aber am Ende des Tages ist es vollkommen gleichgültig welche Beschreibungsweise sie verwenden solange beide eindeutig
  477. definieren welche Übergänge im Automaten vorhanden sind sie können sich hier auch wenn der Automat eine gewisse Struktur besitzt bei der
  478. sich Dinge wiederholen gibt's bei dieser Schreibweise hier die ich eben gezeigt habe Möglichkeiten Sachen zu vereinfachen mit Hilfe mathematischer
  479. quantterchreibweise sie sehen wir haben hier im Endeffekt zweimal den gleichen Übergang vom Zustand Q3 aus auf den Zustand Q2 unabhängig davon ob in 0 oder
  480. eine 1 gelesen wird diese beiden Übergänge könnten sie jetzt etwas kürzer zusammengefasst schreiben indem sie sagen Delta von
  481. ausgehend vom Zustand Q3 unterlesen eines Zeichens x gehen wir über in den Zustand Q2 und das soll gelten für alle x
  482. aus dem Alphabet sig was wir also hier stehen haben ist letztlich nichts anderes wieder als eine
  483. einfache Form einer programmiersprachlichen Beschreibung wir sagen bitte über iteriere über
  484. alle für den allquantter fehlt noch ein Querstrich bitte iteriere über alle Zeichen x aus dem Alphabet Sigma also macht das für eine 0 und macht das für
  485. eine 1 und ere dann den Übergang Delta von Q3 X ist Q2 wir machen das einmal für 0 Delta von q3,0 ist Q2 dieser Übergang hier und wir machen das einmal
  486. für x = 1 Delta von q3,1 ist Q2 also dieser Übergang hier sie sehen wenn es im Automaten Regelmäßigkeiten gibt oder wenn Sie allgemeine Automaten definieren
  487. sollen dann empfiehlt sich diese explizite funktionsschreibweise weil es Möglichkeiten zur Abkürzung gibt bei der Tabelle
  488. haben Sie die Möglichkeiten zur Abkürzung nicht dann müssen sie jeden Eintrag ausfüllen wenn es ihnen hingen drum geht sicher zustellen dass sie bei
  489. dem Automaten keinen Übergang vergessen dass sie keine Kombination aus eingangszustand und Buchstabe vergessen zu berücksichtigen dann bietet sich die
  490. tabellenschreibweise an weil sie hier sofort sehen ist ein Feld noch unbefüllt muss also befüllt werden oder sind alle Felder mit genau einem einzigen Eintrag
  491. befüllt lassen Sie uns um die formale Definition von Automaten noch etwas weiter zu üben
  492. ein zusätzliches Beispiel betrachten natürlich gibt's im Jahr 2016 keine Tafel mehr sondern nur noch die elektronische Aufzeichnung also ma ich
  493. eine neue Folie auf und gebe Ihnen einen neuen Automaten vor hier erfinde ich wieder einen Automaten der besteht aus zwei Zuständen dem z q0 und dem Zustand
  494. Q1 der Zustand q0 soll der Startzustand sein der Zustand Q1 ist ein akzeptierender Endzustand und ich definiere jetzt folgende
  495. Zustandsübergänge folgende Transitionen mit einer 0 von q0 nach q0 mit einer 1 von q0 nach Q1 mit einer 1 von Q1 nach Q1 und mit ein 0 von Q1 nach q0 sie
  496. sehen der Automat erfüllt offensichtlich die Anforderungen an einen deterministischen endlichen Automaten es geht von jedem Zustand für jeden
  497. Buchstaben eine Kante aus überprüfen Sie das aber immer auch in der Klausur wenn Sie den Automaten in deterministischen endlichen Automaten
  498. angegeben haben überprüfen Sie immer kurz für jeden Zustand geht da wirklich genau eine Kante für jeden Buchstaben aus hier ist es der Fall in der kannst
  499. dann aber durchaus im Eifer des Gefechts mal dazu kommen dass sie Kanten vergessen und das können sie dann mit einem leichten crosscheck überprüfen ich
  500. nenne diesen Automaten jetzt liebevoll m2 weil M1 ist ja schon bereits vergeben aber das ist natürlich eine beliebige Bezeichnung wie sie das Ding nennen ist
  501. vollkommen Ihnen überlassen lassen Sie uns an die formale Definition des Automaten schreiten der Automat m2 ist ich wieder ein fupel
  502. bestehend aus einer zustandsmenge Q aus einem endlichen Alphabet Sigma aus einer übergangsfunktion Delta aus einem statzustand der statzustand ist in
  503. diesem Fall der Zustand q0 also trage ich den Zustand q0 ins fünftupel ein und wir haben eine Menge F der akzeptierend nendzustände die Menge Q ist gegeben als
  504. Menge von zwei Elementen q0 und Q1 sigσma ist wieder das Alphabet das binäre Alphabet aus 0 und 1 im Allgemeinen wird das auch das Alphabet
  505. sein dass ich in 95% aller Beispiele in dieser Vorlesung verwende schlicht und einfach wei das standardalphabet der Informatik ist und die Menge F der
  506. akzeptierenden nzustände ist wiederum eine einelementige Menge aus bestehend aus dem Zustand Q1 ich spezifiziere die
  507. übergangsfunktion Delta wiederum in Form einer Tabelle die zuständig Q trage ich von oben nach unten auf die Buchstaben σma trage ich von links nach rechts auf
  508. wir haben die beiden Buchstaben 0 und 1 und wir haben die beiden Zustände q0 und Q1 so und dann geht's wieder drum die Tabelle schrittweise einzufüllen vom
  509. Zustand q0 ausgehend gehen wir unterlesen das Buchstabens 0 oder der Ziffer n0 Buchstabe ist die allgemeinere Bezeichnung natürlich Hand dabei
  510. technisch gesehen um eine Ziffer aber ein Element eines Alphabets ist immer ein Buchstaben das bezieht sich nicht auf lateinische Buchstaben sondern auf
  511. irgendwelche Elemente des Alphabets von q0 ausgehend gehen wir unterlesen des Buchstabens 0 in den Zustand q0 und unter Lesen des Buchstabens 1 gehen wir
  512. in den Zustand Q1 und von Q1 ausgehend gehen wir wenn eine 0 gelesen wird in den Zustand q0 und unterlesen einer 1 in den Zustand Q1 sie sehen
  513. wiederum diese Festlegung hier repräsentiert exakt die gleiche Information die in der grafischen
  514. Darstellung in der Darstellung als gerichteter Graf festgehalten ist nur dass diese Form der Darstellung besser für menschliche Beobachter besser
  515. für intuitive Aussagen über den Automaten geeignet ist wohingegen sie diese Darstellung ohne Probleme in ein mechanisches Modell übergeben
  516. könnten in ein Computerprogramm übergeben könnten und so weiter dass dann die Aktionen des automatens
  517. ausführt nachdem nun klar ist wie gegebene Automaten formal beschrieben werden möchte ich auf das eigentlich auf das praktisch relevantere Problem
  518. übergehen sie werden in der Praxis sehr selten mit dem Problem konfrontiert seind dass ein Automat gegeben ist und sie sollen rekonstruieren welche Frage
  519. dieser welche Sprache dieser Automat erkennt sondern die praktischere Fragestellung ist sie haben irgendeine Vorstellung wie eine Sprache aussehen
  520. soll und sollen jetzt einen endlichen Automaten konstruieren der genau diese Sprache erkennt momentan steht uns zur Beschreibung der Sprache nur die
  521. semiformale Beschreibungsweise in dieser Form zu zur Verfügung wir definieren uns also eine Sprache die wir
  522. mit demem endlichen Automaten erkennen möchten in diesem Fall ist es die Sprache l die aus allen Wörtern besteht mit der Eigenschaft dass ein Wort mit
  523. eins beginnen soll und mit 0 enden soll also z. das Wort 10 wäre Mitglied der Sprache oder das Wort 10 10 wäre Mitglied der Sprache oder das Wort
  524. 11 wäre Mitglied der Sprache kein Mitglied der Sprache wärden hingegen die Wörter z.B 01 oder das Wort 111 oder das Wort
  525. 00 1 1 all diese Wörter sind kein Element der Sprache die roten Wörter die blauen Wörter sind elementer Sprache es ist offensichtlich wenn ich jetzt
  526. jemanden von ihnen als studentische Hilfskraft anstelle dann kann der oder diejenige sofort zwischen Mitgliedern der Sprache und nichtmgliedern der
  527. Sprache unterscheiden sie können also so fort das wortproblem lösen die Wörter über dem Universum 01 hoch Stern beliebiger binäre Wörter in
  528. zwei Klassen zu unterteilen Wörter die in der Sprache l enthalten sind und Wörter die in der Sprache l nicht enthalten sind die also in der
  529. komplementärsprache L quer enthalten sind aber das ist ja nicht der Sinn der Übung dass man einen menschlichen Bearbeiter das Problem lösen lässt der
  530. kann es natürlich sondern wir wollen eine mechanisierte Maschine das Problem lösen lassen wir möchten also oder wir müssen einen deterministischen endlichen
  531. Automaten konstruieren der das wortproblem für die Sprache l löst jetzt ist es natürlich a priori erstmal nicht klar ob ein endlicher Automat
  532. leistungsfähig genug ist um eine bestimmte Sprache erkennen zu können in diesem Fall habe ich die Sprache natürlich so gewählt dass sie den
  533. Automaten konstruieren können und im Allgemeinen dürfen sie auch davon ausgehen wenn ich Ihnen eine Sprache zur Verfügung stelle und dann drum bitte
  534. einen Automaten für die Sprache zu konstruieren dass diese Sprache im Bereich des Möglichen für endliche Automaten liegt wir werden uns aber wie
  535. bereits angesprochen im hinteren Teil der Vorlesung im zweiten Teil der Vorlesung noch genauer damit beschäftigen müssen um Kriterien zu
  536. finden die gegeben eine Sprache die dann natürlich notwendigerweise selbst etwas formaler beschrieben sein muss um geben so eine formal beschriebene Sprache
  537. erkennen zu können Aussagen zu können ja ein endlicher Automat ist in der Lage diese Sprache zu akzeptieren oder nein die Sprache ist zu komplex um von einem
  538. endlichen Automaten entschieden zu werden lassen Sie uns aber jetzt zunächst eine einen endlichen Automaten konstruieren für diese Sprache dafür
  539. gibt's keinen formalen Prozess oder keine Schritt für Schritt Vorgehensweise wir fangen ja bei informellen Beschreibung an wir können aus dieser
  540. informellen Beschreibung keinen formalen Algorithmus konstruieren um einen endlichen Automaten zu erzeugen für die Sprache sondern wir müssen uns wieder
  541. auf die ja Eigenkreativität stützen um einen Automaten zu erzeugen der die Sprache erkennt der Prozess muss
  542. allerdings natürlich nicht vollkommen zufällig sein und vollkommen tril und error Prozess sondern man kann systematisch dabei vorgehen solche
  543. Sprachen zu konst und das werde ich Ihnen anhand dieser Sprache jetzt mal kurz vorführen anhand eines Beispiels wir betrachten die Sprache
  544. l die aus allen Wörtern über dem Universum 01 h Stern besteht mit der Eigenschaft dass der erste Buchstabe der Sprache 1 und der let erste Buchstabe
  545. des Wortes 1 und der letzte Buchstabe des Wortes Null sein soll im ersten Schritt formuliere ich diese Bedingungen jetzt
  546. etwas mathematisch griffiger um auf den ersten und letzten Buchstaben eines Wortes zugreifen zu können verwende ich eine indexschreibweise W ist das Wort
  547. das ich betrachte und W Index 1 soll der erste Buchstabe des Wortes sein ja kann sich wieder vorstellen wenn man wie als Vektor aus Buchstaben betrachtet dann
  548. ist wie1 der erste Buchstabe des Wortes also W1 ist erster Buchstabe von W um den letzten Buchstaben von W zu
  549. kennen müssten wir wissen wie lang das Wort ist das wissen wir natürlich erstmal nicht weil das Wort kann ja beliebige Länge besitzen aber wir wissen
  550. dass das Wort W formal Betrag von W Buchstaben lang ist diese Schreibweise haben wir beim ersten Mal eingeführt wenn das Wort W Betrag von W
  551. z.B Buchstaben lang ist dann ist natürlich W Index 8 der let Buchstabe des Wortes we Z Buchstaben lang ist dann ergibt Betrag von W 10 also ist W Index
  552. 10 der letzte Buchstabe des Wortes und unabhängig davon wie lange das Wort W ist gibt W Index Betrag von W immer den letzten Buchstaben des Wortes an also W
  553. indexbetrag von W ist der letzte Buchstabe das Wortes W und mit diesen beiden formalen Schreibweisen kann ich
  554. jetzt die sprach etwas formeller definieren ich kann sagen das Wort aus dem Universum über 01 soll die Eigenschaft haben der erste Buchstabe
  555. wie1 ist eine 1 und das logische und sollten Sie auch bereits in der Mathematik kennengelernt haben und der letzte Buchstabe W
  556. indexbetrag von W ist 0 so damit habe ich jetzt schon mal eine etwas äh genauer definierte od eine etwas genauere Vorstellung darüber wie
  557. die Sprache aussehen soll die ich bei der Konstruktion eines automatens für die Sprache ausnutzen kann um den Automaten zu konstruieren
  558. der die Sprache erkennt nutzen wir jetzt systematisch die Bedingungen aus die beiden Bedingungen die logischen Bedingungen die hier angegeben sind
  559. zunächst gilt dass der erste Buchstabe eine ein sein muss das bedeutet im Umkehr wenn der erste Buchstabe eine Null ist
  560. dann können wir nicht mehr zu einem gültigen Wort gelangen also wenn wir ausgehen von einem
  561. stzustand den ich als q0 bezeichne wenn wir ausgehen von dem Startzustand q0 den Buchstaben 0 lesen dann wissen wir dann kann der Automat egal was später kommt
  562. welche Buchstaben im Anschluss kommen es kann nicht mehr ähm ein gültiges Wort konstruiert werden wir müssen natürlich in den Zustand übergehen aber wir wissen
  563. von diesem Zustand ausgehend kann man nicht mE einen akzeptierenden Endzustand gelangen deswegen bezeichne ich diesen Zustand als Qt für qtraap einen
  564. fangzustand einen nicht akzeptierenden fangzustand von dem aus beliebige Buchstaben gelesen werden können in unserem Fall 0 oder 1 eine gängige
  565. Bezeichnung wenn in einer Kante alle Buchstaben des Alphabets gelesen werden können ist es auch die Kante mit sigσma zu beschriften sie sehen hier wenn Sie
  566. den ersten Buchstaben ull gelesen haben dann ist es egal welche Buchstaben drauf Folgen der Automat wird jeden Buchstaben lesen bleibt aber immer in dem
  567. fangzustand qtraap behaftet und wird das Wort ablehnen völlig sinnvoll weil der erste Buchstabe ein sein muss und bereits diese Bedingung nicht erfüllt
  568. Word so also haben wir schon mal den ersten Automat Teil der die erste Bedingung ausnutzt wenn das erste Zeichen ein ist
  569. ich konstruere jetzt den Automaten Schritt für Schritt und setze dann die Automaten Bestandteile am Schluss zu einem vollständigen Automaten zusammen
  570. wenn wir beim Startzustand q0 starten und eine 1 lesen dann können wir weiterhin ein gültiges Wort
  571. konstruieren das Wort ist aber noch nicht ähm abgeschlossen gültig weil wir noch keine Null gelesen haben weil wir noch nicht die zweite Bedingung ähm
  572. erfüllt haben wir können aber auf jeden Fall bereits sicher bereits feststellen dass wir eine beliebige Anzahl weiterer Einsen lesen können nach der ersten 1
  573. das wird noch nicht zu einem vollständigen wortfen aber es wird diese Wörter akzeptieren wir erstmal ähm lesen Sie ein und bleiben im Zustand Q1
  574. behaftet so wenn wir jetzt ausgehen wenn wir uns im Zustand Q1 befinden haben wir schon festgestellt wir können beliebige
  575. Anzahlen von Einsen lesen was noch nicht zu dem akzeptierenden Wort führt aber sobald wir die erste Null lesen haben wir ein poteniell
  576. akzeptanzfähiges Wort erreicht da wir haben eins am Anfang und wir haben eine 0 gelesen gehen über inen neuen Zustand Q2 und diesen Zustand Q2 muss ich jetzt
  577. als akzeptierenden Endzustand gestalten weil wenn die Null der letzte Buchstabe sein sollte wir dann das Wort akzeptieren wir
  578. wissen bei der Konstruktion des Automaten nicht wann der letzte Buchstabe gelesen wird weil wir immer nur einen Buchstaben zur gleichen Zeit
  579. sehen aber wenn wir eine Null sehen dann ist das Wort potentiell akzeptierbar da wir im Zustand Q1 wissen die eins am Anfang wurde gelesen und im Zustand Q2
  580. wissen wir es wurde eine Null gelesen so wenn wir jetzt eine weitere Null lesen dann bleibt das Wort offensichtlich akzeptierbar ja wir haben
  581. die Null am Schluss wir haben noch mal die Null am Schluss noch mal die Null am Schluss das Wort bleibt akzeptierbar wenn wir hingegen aus dem Zustand Q2
  582. ausgehend eine 1 lesen dann war's das wieder mit der akzeptierbarkeit des Wortes weil dann eine ein am aktuellen Schluss des Wortes steht und wir
  583. entsprechend wieder zum Zustand Q1 zurückgehen müssen so damit haben wir jetzt aber sämtliche
  584. Fälle abgehandelt die im Automaten auftreten können wir haben beim Übergang von q0 nach qtap mit einer Null den Fall berücksichtigt dass eine Null sich am
  585. Anfang des Wortes befindet und es nicht mehr zu einem gültigen Wort kommen kann wenn wir ein Lesen von q0 ausgehend dann haben wir die Möglichkeit geschaffen
  586. beliebig viele einzen zu lesen was uns potenziell ein akzeptierbares Wort ergeben kann aber noch eine Null erfordert und wenn wir von Q1 ausgehend
  587. eine Null gelesen haben gehen wir in einen akzeptierenden Zustand über wir bleiben in diesem akzeptierenden Zustand solange Nullen kommen wenn die Null der
  588. letzte Buchstabe ist befindet sich da Automat im akzeptierenden Endzustand und das Wort wird akzeptiert wenn hingegen eine 1 Auftritt im Zustand Q2 dann wird
  589. das Wort nicht mehr akzeptierbar dann steht das aktuell letzter Buchstabe ein 1 am Ende des Wortes und wir gehen wieder in den Zustand Q1 zurück wenn
  590. dann wieder eine Null kommt als neuer letzter Buchstabe dann wird das Wort wieder akzeptabel lassen Sie mich diese
  591. automatenkponenten zusammenfassen in einen gesamtautomaten wir hatten begonnen beim Startzustand q0 hatten gesagt wenn
  592. eine 1 am Anfang nee wenn eine Null Entschuldigung wenn eine Null am Anfang gelesen wird dann ist das Wort nicht mehr in eine akzeptable Form zu bringen
  593. wir gehen also über in den Zustand qtrap der beliebige Zeichen des Alphabets liest aber den Automaten nie mehr in einen akzeptierenden Endzustand führt
  594. wenn wir eine ein lesen gehen wir über in den Zustand Q1 der beliebig viele einzen lesen kann potentiell ein akzeptables Wort noch
  595. noch empfangen kann aber eine Null braucht und wenn diese Null Auftritt gehen wir über in den akzeptierend nzustand Q2 gekennzeichnet
  596. durch eine doppelte außenumrandung der beliebige Nullen lesen darf im akzeptierenden Zustand bleibt und durch Lesen einer 1 wieder in
  597. den Zustand Q1 zurückgeworfen wird weil dann eine 1 am Ende des Wortes steht überprüfen wir kurz ob es ähm der Automat vollständig ist sie sehen hier
  598. für q0 gibt's genau einen Übergang für 0 und für 1 für qtap gibt's genau einen Übergang für 0 und 1 für Q1 existiert genau ein Übergang für 0 und 1 und für
  599. Q2 existiert genau ein Übergang für 0 und 1 also erfüllt der Automat die vollständigkeitskriterien
  600. ähm anhand der Überlegung die wir gemacht haben ist jetzt sollte auch klar sein dass der Automat die gewünschte Sprache akzeptiert überprüfen wir das
  601. kurz anhand zweier Wörter zum einen das Wort 01 0 0 bei diesem Wort wird der Automat
  602. folgende zustandssequenz durchlaufen wir starten im Zustand q0 lesen den Buchstaben 1 gehen über nach Q1 lesen den Buchstaben 0 gehen über nach Q2
  603. lesen die zwe ull und lesen die dritte ull bleiben also im Zustand Q2 verhaftet und akzeptieren das Wort die zustandsequenz diesem Fall ist Q1 dann
  604. q0 dann Q1 dann Q2 dann Q2 und nochmals Q2 also das Wort wird akzeptiert weil sich da Automat nach lesen des letzten Buchstab
  605. in einem akzeptierten Endzustand befindet wenn wir hingegen das Wort 0 100 betrachten dann sehen wir der Automat
  606. startet wieder bei q0 liest den ersten Buchstaben 0 liest die folgende 1 liest die folgende ull und landet im Zustand Q trap erführt den Zustand die
  607. Zustandsübergänge von q0 nach Q trap nach Q trap aus nee noch mal nach qtraap wir lesen bei diesem Übergang die
  608. erste Null wir lesen bei diesem Übergang die mittlere 1 wir lesen bei diesem Übergang die letzte Null befinden uns aber nach dem Lesen des Wortes im
  609. Zustand qtraap qtraap ist ein nicht akzeptierende nzustand oder kein akzeptierender nzustand und entsprechend wird das Wort abgelehnt also wenn
  610. sich hierbei um den Automaten M3 handelt dann gilt formal betrachtet das Wort 0 100 ist kein Element der Sprache des automatens M3 so
  611. wie das der Fall sein soll und das Wort 100 ist ein Element der Sprache des automatens M3 also der Automat akzeptiert
  612. tatsächlich genau die Wörter die wir akzeptieren möchten und kennt deshalb die gewünschte Sprache lassen Sie mich ein weiteres
  613. Beispiel betrachten bei dem ich die Sprache für die ich einen endlichen Automaten konstruieren möchte Wied das semiformal angegeben habe wir betrachten
  614. jetzt eine neue Sprache l die sich zusammensetzt aus allen Wörtern der Form ab hoch n mit der Eigenschaft dass N eine natürliche Zahl sein soll also n
  615. echt größer als 0 sein s zur Erinnerung ich definiere in dieser Vorlesung die natürlichen Zahlen ohne die Zahl 0 also 1 2 3 4 bis beliebig groß was sie
  616. möglicherweise etwas überrascht ist diese Schreibweise hier ab hoch n sie sind aus der Arithmetik gewohnt wenn A und B natürliche Zahlen wären oder
  617. irgendwelche Zahlen weren a b angenommen A und B sind reelle Zahlen dann würde gelten ab hoch n ist a hoch n mal B hoch n
  618. technisch gesehen nutze ich h n aus dass A und B miteinander komutieren das also a mal b = b mal a ist das seid aber mal als Detail dahingestellt diese diesen
  619. Zusammenhang kennen sie aus der Schulmathematik und der ist auch für Zahlen vollkommen korrekt allerdings spreche ich im Fall dieses
  620. automaens nicht von Zahlen sondern ich spreche von den Buchstaben a und b ich betrachte also ein Sprache über dem Alphabet
  621. a b und wenn ich von Buchstaben und nicht von Zahlen spreche dann erinnern Sie sich an die definitionsfolie aus der
  622. ersten Vorlesung bei der ich ihnen eingeschafft habe bitte prägen Sie sich diese Definitionen ein dann wissen sie das exponentition also hoch N stellen
  623. nicht numerische exponentiation bedeutet sondern n nfe konkattination also nfaches hintereinander schreiben sie erinnern sich an die Schreibweise σ hoch
  624. n das bedeutet die n Buchstaben aus dem Alphabet Sigma also nichts anderes als Sigma und so weiter bis ma und das ganze n mal
  625. entsprechend kann man das auf ab hoch n anwenden bei ab hoch 1 muss ich ab einmal hintereinander wiederholen das
  626. entspricht also ab bei ab hoch 2 muss ich die Zeichenkette ab zal wiederholen das entspricht also
  627. ab ab der Zeichenkette ab ab und dann geht's und so weiter und sofort weiter ab hoch 3 ist eine dreifache Wiederholung bedeutet also ab ab ab und
  628. sprich die Zeichenketten die wir erkennen wollen sind immer in der Form ab ab ab ab ab ab ab ab und so weiter beliebiger
  629. Länge machen wir uns also dran einen Automaten einen dea m zu konstruieren der diese Sprache hier erkennt die konkattination von
  630. Abis und gemäß unserer bisherigen nomenklaturischen Definition soll also gelten die Sprache des geschwungene l für language des deterministischen
  631. endlichen Automaten m ist die Menge aller Wörter l die wie hier gegeben definiert ist wir beginnen unsere Arbeit wieder
  632. bei einem Startzustand q0 wenn ich als ersten Buchstaben ein B lese dann ist klar da kann kein gültiges
  633. Wort mehr draus werden ja wenn am Anfang B steht dann kann keine zeichenk ab ab ab draus entstehen also wenn wir hier im ersten Schritt ein B lesen dann gelangen
  634. wir in den trap Zustand qtap der beliebige Buchstaben aus dem Alphabet Sigma also a und b ist akzeptiert der aber nie mehr
  635. aus dem nicht akzeptierenden nzustand rausführt wenn wir von q0 ausgehen den gegen ein a lesen dann kann sein dass wir ein vollständiges Wort
  636. erzeugen gehen in den Zustand Q1 über der Zustand Q1 ist noch kein akzeptierend nzustand weil uns fehlt ein B am Schluss wir haben das a am Anfang
  637. uns fehlt ein B am Schluss aber wenn wir von diesem Zustand Q1 ausgehen jetzt ein B lesen kommen wir in den neuen Zustand Q2 und in diesem Zustand Q2 sehen wir
  638. das erste akzeptable Wort nämlich ab machen also Q2 zu einem akzeptierenden nzustand wenn wir von Q1 ausgehend haben
  639. wir noch eine zweite Möglichkeit ausem B können wir ein a lesen wenn wir in Q1 ein a lesen haben wir die Zeichenkette AA sobald die Zeichenkette AA irgendwo
  640. im Wort Auftritt gibt's keine Möglichkeit mehr dass die Zeichenkette die Form ab ab ab besitzt also mssen wir auch hier ist Schicht im Schacht da kann
  641. es kein gültiges Wort mehr werden also gehen wir von Q1 in den trap Zustand über wenn ein a gelesen wird der wiederum sämtliche verbleibenden Zeichen
  642. liest aber immer nicht akzeptieren bleibt so damit haben wir den einfachsten Fall ab behandelt das kürzeste erkennbare
  643. Wort wird akzeptiert wir müssen uns jetzt noch drum sorgen dass auch ab ab ab ab ab und so weiter erkannt werden dass also wenn von diesem Zustand aus
  644. ein A und ein B gelesen wird diese Wörter erkannt werden so die Wörter können jetzt beliebig lang werden wir können also nicht eine nicht weitere
  645. Ketten anfügen hier noch ein a lesen in den Zustand Q3 dann ein B lesen in den Zustand Q4 der akzeptiert die Kette weiter verlängern und so weiter und so
  646. fort damit würden wir Probleme bekommen mit der Definition des endlichen automatens wir dürfen nur endlich viele Zustände verwenden um eine unendlich
  647. große Sprache zu erkennen ja diese Sprache hier ist unendlich groß nachdem es unendlich viele natürliche Zahlen gibt sind unendlich viele Wörter in der
  648. Sprache enthalten nichts desto weniger müssen wir mit endlich vielen Zuständen diese unendlich große Sprache erkennen und da sehen sie bereits dass endliche
  649. Automaten zwar sehr einfach sind aber trotzdem schon ein sehr interessantes berechnungskonzept weil sie mit endlich großem Aufwand unendlich große Mengen
  650. entscheiden können so ich lösche diese dieses Anhängsel weg da haben wir uns überlegt das kann nicht zum Erfolg
  651. führen wir müssen also mit endlich mit den vorhandenen oder mit endlich vielen Zuständen die weiteren Wörter erkennen und das ist aber möglich indem wir wenn
  652. wir von Q2 ausgehen und ein a Lesen wieder in den Zustand Q1 zurückgehen ja wir sind dann nicht mehr
  653. bei einem akzeptablen Wort beispielsweise können wir dann das Wort ab a betrachten wenn nach ab a die Eingabe aus wäre müsste das Wort
  654. abgelehnt werden weil nicht in der Form ab ab ab ist wenn wir hingegen ein weiteres B lesen also ab B ab kommen wir wieder in den
  655. akzeptierenden nzustand wir kennen also ab ab ab und wir erkennen genauso die dreifache hintereinander die dreifache Wiederholung ab ab ab und sie sehen
  656. diesen Kreis diesen Zyklus einen Kreis in dem Automaten bezeichnet man als Zyklus diesen Zyklus kann ich jetzt beliebig oft durchlaufen und kann damit
  657. immer längere Ketten von ABS erkennen dreifach vierfach fünfach sechsfach damit sind wir am Ende bei der Konstruktion des automatens angelangt
  658. wir werden wir erkennen alle Wörter die wir erkennen wollen und was genauso wichtig ist wir lehnen alle Wörter ab die wir ablehnen möchten lassen Sie mich
  659. kurz die Standard Prüfung durchführen ob unser Automat vollständig ist von q0 ausgehend haben wir genau einen Übergang für a genau einen Übergang für B vom
  660. trapzustand ausgehend gibt's genau einen Übergang für jeden Buchstaben von Q1 ausgehend gibt's einen Übergang für a und einen für B ah und ich sehe Automat
  661. ist noch nicht vollständig deswegen ist es so wichtig zu überprüfen ob die Automaten vollständig ist sind von Q2 ausgehend haben wir nur einen Übergang
  662. für a also habe ich vergessen den Fall zu betrachten was passiert wenn wir in Q2 ein B lesen na ja wir hätten dann ein Wort der Form ab B da kann natürlich
  663. kein gültiges Wort mehr draus werden also müssen wir noch eine Kante von Q2 nach kraap eintragen und sie sehen ich habe ihnen damit jetzt live demonstriert
  664. wie wichtig es ist diese vermeintlich lästige Überprüfung auf Vollständigkeit vorzunehmen weil selbst wenn man den Automaten Zeichn kann es immer noch
  665. passieren dass man einen Fall vergisst man ist bei dieser Sprache bei der gegebenen Sprache versucht den
  666. Automaten etwas anders zu konstruieren ich zeichne das hier mal mit Blau ein sie fangen bei einem Zustand q0 an der nicht nur der stzustand des automatens
  667. ist sondern auch gleichzeitig ein akzeptierender nendzustand legen dann den abzyklus so an beliebige Wiederholungen
  668. von ab zu einem akzeptierenden Endzustand führen und bringen entsprechend die trapzustände in den Automaten ein hier gelangen Sie den
  669. trapzustand wenn Sie ein B Lesen von hier aus gelangen Sie durch Lesen eines a in den trapzustand der Automat ist dann vollständig das wirkt auf den
  670. ersten Blick als etwas einfachere Lösung die mit weniger Zuständen auskommt als der ursprüngliche Automat allerdings ist das Problem dass dieser dieser Automat
  671. erkennt zwar alle Wörter der blaue Automat erkennt jedes Wort das der schwarze Automat erkennt aber er erkennt ein zusätzliches Wort der blaue Automat
  672. erkennt das Wort EPS das leere Wort wenn sie dem Automaten keine Eingabe geben beginnt der Automat im Zustand q0 liest kein keinen Buchstaben beendet seine
  673. Arbeit und akzeptiert die Eingabe akzeptiert also das leere Wort das leere Wort ist nichts anderes als heiß das Wort
  674. ab hoch 0 wenn ich ab n0 mal hintereinander schreibe erhalte ich das leere Wort also wäre wenn mich diesen Automaten als m Strich
  675. bezeichne wäre die Sprache die der blaue Automat m Strich erkennt die Sprache von M Strich wäre sehr ähnlich es wäre die Menge aller konkatinierten Fragmente ab
  676. mit der Eigenschaft n Element aus n0 also den natürlichen Zahlen einschließlich das Wortes das der Ziffer Null und hier liegt dann der Unterschied
  677. zwischen dem schwarzen und den blauen Automaten der blaue erkennt alles was der schwarze erkennt erkennt aber ein zusätzliches Wort dass der schwarze
  678. ablehnt fürs Erkennen einer Sprache sind aber nicht nur die Wörter relevant die der Automat erkennt sondern genauso auch die Wörter die der Automat
  679. ablgt wir haben mler eine sehr stringente eine sehr mathematische Charakterisierung unserer deterministischen endlichen Automaten
  680. erreicht wir können mit fünf verschiedenen Komponenten alles angeben was den Automaten ausmacht aus welchen Komponenten er sich zusammensetzt und
  681. wie diese zusammenspielen das wenn sie an einen mechanischen Vorgang denken definiert die Statik des ganzen Gebildes ja sie
  682. bauen ein Auto das Auto setzt sich zusammen aus einer gewissen Anzahl von Reifen aus ein L gerade aus einer Karosserie aus einer gewissen ansah von
  683. Scheiben sie können beispielsweise die Farbe der Karosserie variieren sie können die Größe der Reifen variieren sowas wde alles angegeben in unserem
  684. fünftupel wenn es sowas für ein Auto gäbe dieses fünftupel sagt aber nichts drüber aus wie das Auto fährt und entsprechend haben wir bei unseren
  685. endlichen Automaten jetzt genau definiert wie die Black Box aussieht der der Automat ist diese
  686. Blackbox ist unser fünftupel Q Sigma Delta q0 und F wir haben aber bislang nicht mathematisch sauber definiert was
  687. eigentlich passiert wenn ich ein Wort W in den Automaten eingebe und wieder Automat dann zu seiner Entscheidung ja Wort akzeptieren ja Wort in der Sprache
  688. oder Nein Wort ablehnen Wort nicht in der Sprache kommt ich habe Ihnen anschaulich erläutert wie das ganze funktioniert ich ich habe Ihnen ja
  689. vorgeführt ich fange bei dem und dem Zustand an ich fahre dann im Endeffekt mit dem Finger oder mit dem Stift oder mit geeigneten Mitteln meine Übergänge
  690. im Automaten nachstreiche die Z die Buchstaben ab die ich bereits gelesen habe und komme dann irgendwann auf einen akzeptierenden Endzustand oder nicht
  691. aber das wäre noch nicht ausreichend um eineer Maschine zu erklären wie ein Automat funktioniert wenn wenn Sie ein Programm schreiben wollten ein
  692. C-Programm oder Java prramm oder Pascal prramm das einen Automaten entsprechend simuliert dann müssten sie nicht nur die Definition des automatens die Zustände
  693. und so weiter an das Programm übergeben sondern sie müssten auch eindeutig festlegen wie der Automat auf neue Wörter reagiert
  694. wie Wörter durchlaufen werden und wie formal betrachtet die Entscheidung getroffen wird ob ein Wort akzeptiert wird oder
  695. nicht was wir festhalten können zunächst ist wenn Sie ein Wort in den Automaten eingeben ein Wort W das sich von mir aus den Buchstaben W1
  696. W2 und W3 zusammensetzt die Buchstaben W sollen natürlich oder müssen jeweils ein Element aus dem Alphabet des Automaten sein dann durchläuft der Automat eine
  697. Sequenz von Zuständen wir beginnen in einem stzustand im stzustand q0 lesen dann den Buchstaben W1 und
  698. gehen über in einen neuen Zustand Q wir lesen den Buchstaben W2 gehenüber in einen Zustand Q Schlange und lesen den Buchstaben Q3 und gehen über in einen
  699. Zustand Q Schlange Schlange also sie sehen wenn wir drei Buchstaben als Eingabe lesen dann durchlaufen wir eine Sequenz von vier Zuständen natürlich
  700. sind die Zustände q0 Q Schlange Q doppelschlange und q ohne Schlange Elemente aus der zustandsmenge Q das kann man etwas verallgemeinen wenn wir
  701. sagen wir lesen ein Wort W dessen Länge n Buchstaben beträgt also wenn das Wort W Struktur hat Buchstabe 1
  702. Buchstabe 2 und so weiter bis Buchstabe n dann durchlaufen wir eine Kette aus n + 1 Zuständen ja Wort hat drei Buchstaben wir durchlaufen vier Zustände
  703. Wort hat vier Buchstaben wir durchlaufen fünf Zustände W hat fünf Buchstaben wir durchlaufen sechs Zustände und so weiter wir wissen jetzt erstmal nicht welche
  704. Zustände wir durchlaufen das hängt natürlich vom Automaten ab aber wir wissen wir werden eine zustandssequenz und nachdem wir die genauen Zustände
  705. nicht kennen bezeichne ich die Zustände jetzt R0 R1 R2 und so weiter bis rn durchlaufen die Buchstaben wie i sind weiterhin alle Elemente des Alphabet
  706. sigσma und die zuständig R sind alle samt Elemente des der zustandsmenge Q so das können wir für jeden Automaten festhalten unabhängig von dessen
  707. Struktur unabhängig V eingegebenen Wort unabhängig davon ob das Wort akzeptiert wird oder nicht werden wir für jeden für jedes Wort aus n Buchstaben 1 bis n
  708. immer n + 1 zuständig Durchlaufen von R0 bis rn also ich halte fest Wort hat n
  709. buchstauen folgt draus der Automat durchläuft n + 1
  710. Zustände schauen wir also wie wir die eben gemachten Überlegungen nutzen können um den Rechenvorgang die Dynamik des automatens formal zu beschreiben die
  711. Statik ist die Zusammensetzung aus Zuständen aus Alphabeten und so weiter die immer gleich ist unabhängig von der Eingabe die Dynamik des Automaten ist
  712. die Reaktion des automatens auf ein gegebenes eingabewort welche zustandsketten werden durchlufen wird das Wort akzeptiert oder nicht wir
  713. fangen an die Eingangssituation formal zu beschreiben wir haben angenommen m ist ein deterministischer endlicher Automat also wir gehen davon aus dass
  714. wir irgendein 5 DUP m haben das einen deterministischen endlichen Automaten repräsentiert wir haben eine Eingabe W die sich wie besprochen aus n Buchstaben
  715. zusammensetzt und die Buchstaben sind natürlich aus dem Alphabet so und jetzt müssen wir uns ein Kriterium überlegen wann der Automat
  716. ein Wort akzeptiert und wann der Automat ein Wort nicht akzeptiert für dieses Kriterium dürfen wir lediglich die Elemente verwenden die in der statischen
  717. Definition im fünftupel der Definition des autom enthalten sind wir sagen m akzeptiert die Eingabe W zuerst mal vom gesunden Menschenverstand her wann
  718. akzeptiert der Automat die Eingabe wie wenn er plangemäß die ganzen Übergänge durchläuft wenn er vom statzustand ausgt
  719. die ganzen Übergänge durchläuft und wenn er zum Schluss in dem akzeptierenden Endzustand landet etwas formaler gesprochen akzeptiert Automat m die
  720. Eingabe W wenn es eine Sequenz aus Zuständen gibt R0 bis rn diese Sequenz fängt an bei Index 0 das Wort beginnt bei Index 1 also wir durchlaufen einen
  721. Zustand mehr als wir Buchstaben haben wie besprochen und diese zustandssequenz muss ein paar Bedingungen erfüllen damit
  722. das Wort akzeptiert wird das sind zwei Bedingungen oder die drei Bedingungen sind eigentlich relativ offensichtlich ja die erste Bedingung sagt der Automat
  723. beginnt im stzustand das ist ihnen klar da gibt's ja ein stzustand wenn sie aber ein Programm schreiben das so den Automaten simuliert dann müssen Sie dem
  724. Programm explizit sagen die Reise beginnt im stadzustand der Computer kann das nicht mit irgendeinem gesunden Menschenverstand
  725. ableiten der nächste Punkt besagt der Automat verhält sich in jedem Schritt gemäß der übergangsfunktion das klingt wieder relativ offensichtlich ist es
  726. aber nicht weil sie müssen das dem Programm explizit mitteilen das Programm weiß das wie um nicht vom gesunden Menschenverstand her und der dritte
  727. Punkt ist wieder genauso offensichtlich der sagt die Erkennung muss in einem Endzustand enden in dem akzeptierenden Endzustand enden wenn m die Eingabe
  728. akzeptieren soll so damit haben wir jetzt das was wir bis langang mit dem gesunden Menschenverstand betrachtet haben zumindest malim ersten Schritt auf
  729. drei wiederum relativ offensichtliche Kriterien runtergebrochen diese drei kriter kann man jetzt aber sehr leicht mathematisch
  730. präziser ausformulieren mit der ganzen Vorbereitung die ich hier gemacht habe und diese mathematische Ausformulierung dient dann dazu dass sie
  731. sehr leicht ein Programm schreiben können das so den Automaten die Dynamik von dem Automaten simuliert lassen Sie mich wieder da rein nach die drei
  732. informellen informell spezifizierten Bedingungen durch mathematisch präzise Bedingungen ersetzen zum einen derut beginnt im stzustand wie könnte ich das
  733. mathematisch präzise aufschreiben so der Automat beginnt im statzustand bedeutet dass der erste Zustand in dieser Kette R0 bis n der
  734. statzustand sein muss und das ist nicht anderes als R0 ist q0 ja erste Zustand ist der Startzustand soweit so einfach der Automat verhält sich in jedem
  735. Schritt gemäß der übergangsfunktion das ist ab wieder klar sie haben ein Zustand sie Buchstaben und kommen in einen neuen Zustand den die übergangsfunktion
  736. vorgibt das schreibt man sauber soohin und da sind wir jetzt wieder biss sie bei der indexschlacht wenn sie sich im eten Zustand befinden dann lesen Sie den
  737. Buchstaben der einen Index weiter ist nämlich den Buchstaben I + 1 ja wenn sie sich im nullten Zustand befinden lesen Sie den Buchstaben B1 sie befinden sich
  738. im nullten Zustand und lesen den Buchstaben 1 und gehen in den ersten Zustand über also wenn i = 0 ist befinden sie sich hier im
  739. Zustand R0 lesen den Buchstaben W1 und gehen über in den Zustand R1 der Übergang muss natürlich gemess der übergangsfunktion stattfinden sie dürfen
  740. nichts erfinden das kommt auch ganz gerne in Klausuren vor dass man dann plötzlich Übergänge erfindet die der Automat machen darf die aber nicht in
  741. der übergangsfunktion festgelegt sind er muss sie natürlich an seine Definition halten wenn sie jetzt vom ersten Zustand ausgehend den nächsten Buchstaben lesen
  742. ist das der Buchstabe W2 und der führt sie in den Zustand R2 jetzt ist also I = 1 sie fangen an im Zustand R1 lesen den Buchstaben W2 und
  743. gehen über in den Zustand R2 und das geht dann so weiter vom Zustand R2 ausgehend lesen Sie den Buchstaben W3 und gehen in den Zustand
  744. R3 und so weiter und so fort bis sie ganz am Ende angelangt sind im Zustand R n- 1 im vorletzten
  745. Zustand dort den letzten Buchstaben WN lesen und dann in den Zustand rn übergehen ja wenn sie das alles gemäß der Definition der übergangsfunktion
  746. machen dann sehen sie dass sie für alle is von 0 bis n- 1 genau das hinschreiben was die übergangsfunktion innen vorgibt also ich habe jetzt in dieser Zeile das
  747. zusammengefasst was wir gemacht haben indem wir entweder mit dem Finger oder mit dem Stift oder wie auch immer die einzelnen Übergänge durchlaufen sind
  748. haben das ist sehr kompakt in dieser Bedingung zusammengefasst wenn Sie sich jetzt mit den Indizes ein bisschen verwirrt fühlen dann schauen sie das
  749. daheim einmal no in Ruhe an gehen sie los von i = 0 dann schreiben Sie es hin für i= 1 dann schreiben Sie es hin für i= 2 und und so weiter und Sie werden
  750. sehen da kommt nichts anderes raus als was sie die ganze Zeit machen mit dem Automaten nur halt in der sehr komprimierten mathematischen
  751. Darstellung die letzte Bedingung die Erkennung endet in einem Endzustand und damit meine ich natürlich die Erkennung endet in einem
  752. akzeptierenden Endzustand damit das auch ganz klar ist die Erkennung endet in einem akzeptierenden
  753. Endzustand da müssen wir nur den letzten Zustand betrachten in der Kette der letzte Zustand ist dieser Zustand rn in diesem Zustand befindet sich der Automat
  754. nachdem man den letzten Buchstaben gelesen hat und dieser Zustand muss ein akzeptierender nzustand sein wie könnte man das mathematisch präzise
  755. aufschreiben wir schreiben das auf als rn ist ein Element aus F ich habe mehrere potenielle akzeptierende die nzustände es reicht mir natürlich wenn
  756. ich in einem ein dieser Endzustände bin das kann aussuchen es ist egal welchen akzeptierend Endzustand ich erreiche solange der Automat irgendeinen
  757. akzeptierten nzustand erreicht und die mathematische Formulierung ist rn ist ein Element aus F so und wenn sie jetzt hergehen und ein Programm schreiben dann
  758. können Sie diese drei Bedingungen sehr leicht implementieren das ist eine einfache Zuweisung das sagen sie okay unser erster Zustand der nullte Zustand
  759. ist der stzustand das muss immer der Fall sein dann können sie was sie hier stehen haben ist im Endeffekt eine vorschleife sie gehen vor i = 0 bis n- 1
  760. also sie würden ein Programm schreiben vor i = [Musik] 0 n- 1 und schauen dann in jedem Schritt
  761. nach was steht in meiner übergangsfunktion drin also sie schreiben hier r0ppelk g q0 sie schauen dann was steht in meiner
  762. übergangsfunktion drin wenn ich Imen Zustand bin und den I plus ersten Zustand lese da rufen Sie diese Funktion auf die Funktion liefert
  763. Ihnen dann den neuen Zustand zurück das ist der Zustand r I + 1 hier ist die vorschleife zu Ende nend vor und hier testen Sie dann nur ist
  764. rn Element aus F ma wir if davor if rn ist Element aus F den accept
  765. els reject also was hier da steht ist nichts anderes diese drei Bedingungen sind nichts anderes als noch mal ein sehr kompakt dargestelltes Programm halt
  766. in etwas mathematischer Schreibweise statt in Programmiersprachen Schreibweise um jeden x beliebigen endlichen Automaten simulieren zu können
  767. so und damit haben wir jetzt nicht nur eine mathematisch präzise Definition der Statik des Automaten also der Komponenten aus denen sich der
  768. zusammensetzt sondern wir haben auch eine mathematisch präzise Definition der Dynamik des automatens
  769. also sämtlicher Arbeitsschritt die der Automat unternimmt und können jetzt den Automaten mit beliebigen Mechanismen mit beliebigen Programmiersprachen und so
  770. weiter simulieren wenn s jetzt an eine der ersten Folien zurückdenken bei denen ich Ihnen verschiedene Rechenmodelle gezeigt habe haben wir jetzt sofort eine
  771. möglich an der Hand um zu zeigen dass Programmiersprachen mindestens genauso mächtig sind wie endliche Automaten indem sie in ihre
  772. lieblingsprogrammiersprache hergehen diesen Algorithmus implementieren und damit sehen alles was er endlicher Automat kann kann auch die
  773. Programmiersprache C oder kann auch die Programmiersprache Pascal und so weiter also steht schon mal fest dass Programmiersprachen genauso mächtig sind
  774. wie endliche Automaten das ist denke ja relativ relativ offensichtlich ohne das ganze Form Gedöns klar aber so ist das wie man das mathematisch sauber zeigt
  775. andersrum betrachtet haben sie natürlich gewisse Schwierigkeiten es wird ihnen nicht gelingen mit einem endlichen Automaten eine Programmiersprache zu
  776. simulieren da stoßen sie sehr schnell an Grenzen kann ja jeder mal daheim probieren aber das ist relativ klar dass das nicht geht also können wir jetzt
  777. abschließend festhalten wir haben jetzt den ersten Schritt vollzogen bei unserer Suche nach einem allgemeinen Computer nach nach ein mathematisch definierten
  778. Computer wir haben jetzt ein erstes einfaches Rechenmodell dass wir wirklich durch und durch mathematisch definieren können D können wir die Statik
  779. mathematisch definieren da können wir die Dynamik mathematisch definieren wir können jetzt versuchen Aussagen drüber zu machen was dieses Rechenmodell kann
  780. und was nicht und wir können vor allem die Grenzen dieses Rechenmodells feststellen und jedes Mal wenn wir an die Grenzen des Rechenmodells gelangen
  781. werden dann können wir das entsprechend erweit bis wir am Ende des Tages am Schluss der Vorlesung auf das kommen werden was ein
  782. allgemeines Rechnermodell ist als kleine Vorschau möchte nur sagen es ist erstaunlich wenig Unterschied zwischen diesem Pillepalle
  783. automatenmodell und dem was man unter einem allgemeinen Rechner versteht nur so kurz als Vorschau die wesentliche Erweiterung die wir machen werden ja wir
  784. haben jetzt ein Band das nur von links nach rechts gelesen werden kann die zwei
  785. wesentlichen Erweiterungen die wir bei diesem Rechnermodell machen werden müssen ist dass man das Band nicht nur von ähm rechts nach links sondern auch
  786. von links nach rechts schieben darf dass sie also beliebig auf dem Band hin und her fahren darf das ist die erste Erweiterung und die zweite Erweiterung
  787. ist dass ich hier nicht nur Buchstaben lesen darf sondern dass ich auch Buchstaben schreiben darf aber das sind die einzigen beiden Erweiterungen die
  788. notwendig sein werden um von diesem einfachen einfachsten Modell zu demem vollständigen Rechnermodell zu gelangen nichts desto weniger wird uns das noch
  789. den restlichen Teil des Semesters Kosten also sie sehen da ist schon einige mathematische Schwierigkeit dazwischen aber die grundlegenden Elemente sind
  790. jetzt auf jeden Fall schon vorhanden

Zum Nachlesen