Zum Inhalt springen
L

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

Turing-Maschinen

NLogSpace16:50 53.148 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 112 Zeilen
Herunterladen
  1. So, in diesem Video soll es um Touringmaschinen gehen. Ich möchte erklären, was Touringmaschinen sind äh und auch ein bisschen über die
  2. Hintergründe und auch über die Bedeutung in der theoretischen Informatik erzählen. Ja, die Touringmaschinen, die gehen zurück auf Allen Touring. war ein
  3. britischer Mathematiker und Informatiker, der wirklich sehr großen Einfluss auf die ja die Anfänge der theoretischen Informatik hatte in den ja
  4. 40ern, 50ern, glaube ich, ähm war auch beteiligt an der Entschlüsselung der Enigma, ja, der deutschen Verschlüsselungsmaschine,
  5. diese Schreibmaschine. Ähm ja und deswegen hier einmal mit Foto, weil er wirklich für die theoret theoretische Informatik extrem wichtig
  6. ist. Ja, und natürlich die Touringmaschinen sind auch nach ihm benannt. Ja, die Touringmaschinen, die werden wir hier noch mal die Chomski
  7. Hierarchie, ja, die werden wir jetzt hier erstmal einordnen. Ähm, die Touringmaschinen sind ja auch nur ein äh wieder ein Werkzeug, um Sprachen zu
  8. erkennen für uns erstmal. Ja, die Tmaschinen haben auch noch andere Anwendungen, die wir vielleicht später noch sehen werden, aber wir lernen sie
  9. jetzt erstmal nur kennen als ein Werkzeug, mit dem wir Sprachen definieren können, so wie wir Deas und Neas und reguläre Ausdrücke hatten.
  10. Später auch Kellerautomaten und kontextfreie Grammatiken. So sind die Touringmaschinen na ja ein deutlich stärkeres Modell. Ja,
  11. und hier äh habe ich schon hingeschrieben, L0 heißen die Touring erkennbaren Sprachen. Äh die das zugehörige Automatenmodell, das sind die
  12. Touringmaschinen. Ja, die Touringmaschinen, die gehören also hierhin. Mit denen beschäftigen wir uns jetzt. Man könnte sagen, äh, die
  13. Touringmaschinen, die erinnern vielleicht ein bisschen an endliche Automaten. Ja, sie haben auch Zustände, Zustandsübergänge und so weiter, aber
  14. die Touringmaschinen, die sind der Versuch dem ganzen deutlich mehr Mächtigkeit zu geben oder sage ich mal mehr Möglichkeiten. Ja, die endlichen
  15. Automaten und auch Kellerautomaten, die konnten ja nur eigentlich das Wort, das Eingabewort einmal von links nach rechts durchgehen und dann am Ende sollen sie
  16. entscheiden, ist das Wort in der Sprache oder nicht. Ja, dabei können Sie irgendwie Zustände wechseln oder der Kellerautomat durfte auch noch in
  17. begrenzter Weise sich was an Information merken. Ja, aber die Touringmaschinen, die werden jetzt deutlich mächtiger und zwar funktioniert das so. Die
  18. Touringmaschinen, die haben jetzt ein sogenanntes Eingabeband. Das kann man sich vorstellen wie ein unendlich langes Band. Ja, von nach links und rechts ist
  19. das unendlich mit immer einzelnen Feldern hier. Ja, und jedem Feld darf mal ein Symbol stehen. Ja, am Anfang da steht da vielleicht irgendwo das
  20. Eingabewort drauf. Ja, und die Touringmaschine, die hat auch einen Lese und Schreibkopf. Der steht am Anfang auf dem ersten
  21. Symbol. Ja, das wäre hier dieses A. Ja, alle anderen Felder links äh also links vor dem ersten Symbol und rechts hinter dem letzten Symbol. Alle anderen Felder
  22. sind erstmal leer. Ja, das ist sozusagen die Startkonfiguration. So fängt eine Touring Maschine immer an. Äh und ich will die Felder jetzt nicht
  23. leer lassen. Dafür nimmt man nämlich ein Symbol. Äh wir nehmen mal dieses Symbol hier als Leerzeichen. So. Links über Leerzeichen. Dann steht da das
  24. Eingaberwort z.B. A B C und dann stehen wieder ganz viele Leerzeichen. Eine Touringmaschine, die darf jetzt wie wie schon gesagt darf sie nicht nur äh na
  25. ja, einmal nach rechts laufen und muss sich dann entscheiden, ist das Wort in der Sprache oder nicht? Nein, die Touringmaschine, die darf, na beliebig
  26. oft hin und her laufen. Die darf sogar hier in diesen Bereich, wo jetzt noch Leerzeichen stehen, da dürfte sie auch hinlaufen. Die darf das lesen, die darf
  27. da schreiben sogar. her, die darf Symbole verändern, die darf sogar da, wo das Eingabewort steht, das darf sie überschreiben und irgendwann
  28. äh soll sie sich dann irgendwann entscheiden. Ja, dann irgendwann, wenn sie meint, okay, jetzt habe ich genug rumgerechnet oder was auch immer, dann
  29. soll die Touringmaschine sagen, ja, das Wort ist in der Sprache oder nein, es ist nicht in der Sprache. Ja, und was für was für Möglichkeiten hat sie jetzt
  30. im Detail? Dafür beschreiben wir jetzt mal genau einen Schritt, den die Touringmaschine macht. Und zwar in einem Schritt, da steht sie immer, ja, der
  31. Lesekopf, der zeigt auf ein Feld in diesem Fall, dieses Feld hier. Sie liest dieses Eingabesymbol oder die liest das Symbol, was da gerade
  32. in diesem Feld steht. Ja, und sie befindet sich ja gleichzeitig auch noch in einem Zustand. Sie ist ja eine zustandbasierte Maschine, sowie endliche
  33. Automaten auch. Befindet sich z.B. gerade in diesem Zustand hier. Dann wird es einen Übergang geben, der sagt, wenn du ein A liest, ja, in dem Fall lesen
  34. wir jetzt ein A, z.B. dann äh schreib an die Stelle mal ein C und bewege dich nach rechts, also R für rechts. Ja. Ja, wenn es so einen Übergang gäbe, ja, wir
  35. befinden uns gerade in diesem Zustand und hier steht ACR dran, dann bedeutet das, wir dürfen das A durch ein Csetzen und dürfen einen Schritt nach rechts
  36. gehen mit unserem Lesekopf und dann befinden wir uns in diesem Zustand hier. Ja, das ist ein Schritt einer Touringmaschine. Ja, also noch mal zum
  37. Wiederholen, wir lesen ein Symbol und wir befinden uns in einem Zustand. Ja, und aus dieser Kombination, ja, diese beiden
  38. Informationen, in welchem Zustand sind wir und was lesen wir, daraus folgen dann quasi mal drei, ich sag mal, drei Anweisungen, nämlich was schreiben wir
  39. hin auf dieses Feld, wo gehen wir hin und äh wo wir hingehen, dafür haben wir drei Möglichkeiten. Rechts, das heißt ein Feld nach rechts, links wäre auch
  40. eine Möglichkeit, ein Feld nach links oder n für neutral oder für nicht bewegen. Ja, also drei Möglichkeiten. wir ein Schritt nach links oder ein
  41. Schritt nach rechts oder stehen bleiben. Ja, und wo der Fall hinzeigt, das ist der neue Zustand, in dem wir dann kommen. So, ich würde sagen, wir machen
  42. mal ein komplettes Beispiel, ein kompletten Ablauf einer Touringmaschine auf einem Eingabewort. Ja, dafür habe ich hier schon mal so eine
  43. Touringmaschine vorbereitet. Die hat einen Startzustand, die hat wieder eine Menge von Nzuständen, die hat diese Zustände der Art, wie ich sie eben
  44. erklärt habe, ja, mit immer zu lesenes Symbol, zu schreibendes Symbol und Richtung. Und ja, gehen wir einfach mal durch. Also, wenn hier das, wenn hier
  45. das Eingabewort ABC ist, ja, das merken wir uns mal, dass das Eingabewort ABC ist, denn das Eingabewort kann sich ja auch dann während die Touringmaschine
  46. läuft, kann sich das auch verändern. Deswegen sollten wir uns auf jeden Fall merken, Eingabewort ist A wie C. Jetzt gucken wir mal, was die Touringmaschine
  47. macht. Ja, und wir haben noch gar nicht geklärt, wie die Touringmaschine am Ende entscheidet, ob das Wort in der Sprache ist oder nicht. Ja, das ist ein ganz
  48. wichtiger Punkt, den gucken wir uns erst am Ende dieser Simulation hier an. Jetzt erstmal nur gucken, was macht die Touringmaschine überhaupt? Ja, in diesem
  49. Fall äh wir befinden uns am Anfang in diesem Zustand, im Startzustand, ja, wir lesen ein A. Äh, dann können wir diesen Übergang hier nehmen, der sagt, äh, wenn
  50. du ein A liest, dann schreib ein B und geh nach rechts und geh in diesen Zustand. Und das machen wir jetzt mal. Wir schreiben ein B, gehen einen Schritt
  51. nach rechts und jetzt sind wir in diesem Zustand. So, was tun wir jetzt? Jetzt lesen wir ein B. Sind in diesem Zustand und lesen ein B. Welchen Übergang können
  52. wir dann nehmen? Können diesen Übergang hiernh? Ja, wenn wir ein B lesen, schreiben C und gehen nach links. Okay, machen wir das so. Wir haben in C
  53. geschrieben, sind nach links gegangen und jetzt sind wir in diesem Zustand. Ja, und wir merken schon, das ist nicht so wie mit endlichen Automaten. Ja, wir
  54. laufen nicht von links nach rechts durch. Ja, wir können auch wieder nach links zurückgehen und wir können auch das Wort ändern. So, jetzt befinden wir
  55. uns also hier, lesen ein B, dann können wir diesen Übergang hier nehmen, ja, von hier nach da. An diesem Übergang, also hier, das steht an dieser Kante hier
  56. dran. Wenn wir ein B lesen, schreiben Leerzeichen und gehen nach links. Ja, das machen wir jetzt mal. Schreiben hier ein Leerzeichen hin und gehen einen
  57. Schritt nach links. Nun befinden wir uns also hier. Und jetzt stellen wir fest, okay, in diesem Zustand, wir lesen ein Leerzeichen,
  58. aber es gibt ja hier gar keinen Übergang, der sagt, wenn du ein Leerzeichen liest, mach folgendes. Ja, es gibt hier ein Übergang, ja, zu sich
  59. selbst, wenn wir ein B lesen oder wenn wir ein A lesen, aber wenn wir in diesem Zustand sind und ein Leerzeichen lesen oder genauso wenn wir ein C lesen,
  60. gibt's keine Anweisung. Und das bedeutet, die Touringmaschine hält hier an. Ja, wenn sie keine wenn sie keinen Übergang für ein Eingabesymbol hat, dann
  61. hält sie an. Das heißt, sie befindet sich jetzt in einer Stoppkonfiguration und wenn sie anhält, dann wird geguckt, ist das ein akzeptierender Zustand? Und
  62. das ist es in diesem Fall. Ja, in diesem Fall wird also das Eingabewort akzeptiert, denn der Ablauf der Touringmaschine hat am Ende hier in
  63. einem akzeptierenden Zustand gestoppt. Und deswegen ist das Wort ABC in der von dieser Touringmaschine erkannten Sprache nennen wir jetzt mal L. Ja, jetzt haben
  64. wir also gesehen, wie die Touringmaschine ein Wort akzeptieren kann. Ja, nämlich genau dann, wenn wir dieses Wort darauf schreiben, in diese
  65. Startkonfiguration gehen und sie dann am Ende in einer akzeptierenden, also ja, in so einem äh rosa Zustand hier stoppt. Wie kann sie ein Wort
  66. verwerfen? wäre die nächste Frage. Ja, als Beispiel fürs Verwerfen gucken wir uns mal das Wort ACC an. Also, wir beginnen mit dem Wort ACC. Ja, wieder
  67. Startkonfiguration. Das heißt, das ganze Band ist leer, außer irgendwo steht ACC und wir stehen auf dem äh ganz linken Symbol.
  68. Dann gucken wir wieder, was passiert. Als erstes gehen wir diesen Übergang hier. A wird durch B ersetzt und wir gehen nach rechts. So, dann sind wir
  69. hier. Jetzt lesen wir ein C. Hier steht C wird durch ein Blank ersetzt und wir gehen nach rechts und bleiben in diesem Zustand. So, haben das C durch Blank
  70. ersetzt, gehen nach rechts und wir bleiben in diesem Zustand. Und jetzt haben wir wieder dieselbe Situation. Wir lesen wieder ein C in
  71. diesem Zustand, also wieder durch ein Blank ersetzen und nach rechts gehen. Dann sind wir in dieser Situation. Und jetzt stehen wir hier in diesem Zustand,
  72. lesen ein Blank, ein Leerzeichen, aber es gibt keinen Übergang von hier für ein Leerzeichen. Ja, es gibt ein Übergang für ein C, wenn wir C lesen, es gibt
  73. auch einen Übergang für ein A und für ein B, aber es gibt keinen Übergang, der von hier losgeht, bei dem wir ein Blank lesen. Das heißt auch wieder, die
  74. Touring Maschine hält an. Diesmal hält sie aber an in einem Zustand, der kein akzeptierender Zustand ist. Der hier hat keinen pinken Kringel, ist kein
  75. Endzustand. Also wir nennen sie jetzt nicht mehr Endzustände, nennen sie jetzt akzeptierende Zustände bei Touring Maschinen. Ja, dann
  76. hält sie also hier an. Der Zustand ist nicht akzeptierend. Das bedeutet das Wort ist nicht in der Sprache. Okay, das war ja einfach. könnte man sich jetzt
  77. denken, ja, wenn wir wir lassen die Touringmaschine laufen und irgendwann hält sie an und wenn sie wenn es ein akzeptierender Zustand ist, dann ist das
  78. Wort in der Sprache und wenn es ein nicht akzeptierender Zustand ist, dann ist es nicht in der Sprache. Ja, ist ja ganz einfach, könnte man denken, aber
  79. das ist noch nicht die ganze Wahrheit, denn wir haben hier, also das es gibt zwei Punkte, die ich jetzt erwähnen muss. Äh zum einen eine Touringmaschine
  80. muss gar nicht immer anhalten. eine Touringmaschine, die könnte auch in eine Endblusschleife geraten. Ja, die könnte weiß nicht gibt's das hier irgendwo?
  81. Ich sehe jetzt hier keine Möglichkeit, aber es könnte ja theoretisch sein, dass sie so eine Anweisung kriegt, wie wenn du ein Blank liest, dann schreib auch
  82. wieder ein Blank hin und bleibe im selben Zustand und beweg dich nicht. Ja, dann wird sie es immer und immer wieder tun. Sie würde gar nicht mehr anhalten.
  83. In einem solchen Fall, also wenn die Turmaschine nicht anhält, dann akzeptiert sie ebenfalls das Wort nicht. Ja, dann ist das Wort auch nicht in der
  84. Sprache. Ist aber immer noch nicht ganz die Wahrheit, denn diese Touringmaschine hier, die war deterministisch. Die hatte immer nur eine einzige Möglichkeit einen
  85. Zustandsübergang zu machen. Ja, wenn wir uns das noch mal angucken, wenn wir in diesem Zustand hier sind, wenn wir ein B lesen, können wir nur diesen Übergang
  86. nehmen. Wenn wir ein A lesen, nur diesen hier. Und für ein C und ein Blank gab's keinen. Ja, von diesem Zustand hier genauso. Für ein C gibt's nur diesen.
  87. Für B und A gibt's nur diesen Übergang. Für ein Blank gibt's keinen. Ja. Äh und hier auch für B, C und Blank gibt's nur einen Übergang. Für ein A
  88. gibt's gar kein, aber es war hier nirgends der Fall, dass die Touringmaschine mehrere Möglichkeiten hatte, sich zu entscheiden. Das heißt,
  89. das hier ist eine deterministische Maschine. Da kann man es tatsächlich Akzeptanz und nichtakzeptanz genauso beschreiben, wie wir das hier gemacht
  90. haben. Wenn es eine nichtdeterministische Maschine gewesen wäre, ja, wenn die sich irgendwo entscheiden könnte, dann ist es wieder
  91. dasselbe Prinzip wie bei den wie es bei den Deas und bei den Neas war. Ja. äh eine nichtdeterministische Touringmaschine, die akzeptiert dann,
  92. wenn es mindestens einen Lauf gibt, der akzeptiert. Ja, also wenn sie sie wenn die Entscheidung irgendwie so treffen könnte, dass sie akzeptiert, dann wird
  93. das Wort akzeptiert. Äh, da können dann auch ganz viele andere Läufe bei sein, die in der nicht akzeptierenden Stoppkonfiguration enden oder die
  94. unendlich lange laufen. Ja, solange einziger Lauf äh in einer akzeptierenden Stoppkonfiguration hält, ist das Wort dann in der Sprache. Ja, das ist noch
  95. mal die Schwierigkeit bei den nichtdeterministischen Touringmaschinen. So und um jetzt noch mal zurückzukommen zur Chomski Hierarchie, ja, die
  96. Touringmaschinen sind also die Werkzeuge für die Touring erkennbaren Sprachen. Und die sind die bekommen das Symbol L0. Ja, die Sprachklasse L0, das sind die
  97. Touring kennbaren Sprachen. Und das ist eine Sprachklasse, die ist deutlich größer als z.B. für die kontextfreien Sprachen. Ja, die Touring Maschinen
  98. Sprachen, die Touring erkennbaren Sprachen, die kann man sich so vorstellen als, na, jede Sprache, die die man mit irgendeinem Computerprogramm
  99. erkennen könnte. Ja, also wir erinnern uns erkennbare Sprachen, die konnten ja nicht mal feststellen, ob ein Wort von der Form a hoch n b hoch n ist. Ja, und
  100. Kontextfreie Sprachen, die konnten das zwar, aber konnten dann nicht feststellen, dass es von der Form a hoch n, b hoch n, c hoch n ist. Ja.
  101. äh Touring erkennbar Sprachen, die können das alles, die können sogar noch viel mehr Touring äh Touring Maschinen, die könnten erkennen, keine Ahnung, ist
  102. die, wenn ich da eine Zahl hinschreibe, ist die Zahl eine Primzahl z.B. Ja, selbst dafür gibt es Touring Maschinen, die das dann mit so einem Zustands
  103. Grafen hier äh lösen. Also, die die können tatsächlich deutlich mehr als man im ersten Moment annimmt. Ja, wenn man nur sieht, okay, die haben wieder ein
  104. paar Zustände, die können jetzt auch nach links gehen und stehen bleiben und die können auch hier sich irgendwelche Informationen zwischenpeichern. Aber
  105. tatsächlich reicht das schon schon aus, um eigentlich alles zu tun, was ein Computer auch könnte. Man kann quasi richtig programmieren, kann dann
  106. Programme schreiben, die mir alles berechnen und die dann, na ja, wie gesagt, eben von einer Zahl z.B. prüfen, ist es eine Primzahl oder ist es eine
  107. zweierpotenz oder was auch immer, ja, was diese schwächeren Automatenmodelle hier nicht können. Deswegen sind Touring Maschinen deswegen haben die eine
  108. besondere Bedeutung. Und hier in diesem Video haben wir jetzt erstmal nur geklärt, wie man sie zum Erkennen von Sprachen benutzt. Ja, mit Eingabwort,
  109. also wir kriegen ein Eingabewort und sagen dann am Ende akzeptiert oder nicht. Ja, Touring Maschinen können auch noch verwendet werden, um Funktionen zu
  110. berechnen. Ja, Funktionen berechnen, das heißt, wir kriegen irgendein Eingabewort und die Ausgabe ist nicht nur ja oder nein, also ist in der Sprache oder ist
  111. nicht in der Sprache, sondern die Ausgabe ist wieder ein ganzes Wort. Das ist auch noch mal ein interessantes Thema, passt aber jetzt zeitlich auch
  112. nicht mehr hier in dieses Video. Deswegen belassen wir es erstmal soweit hierbei. Also dann vielen Dank fürs Zuschauen und bis zum nächsten Mal.

Zum Nachlesen