Zum Inhalt springen
L

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

Pumping Lemma - Automaten & Formale Sprachen 12

Informatik - simpleclub9:16 124.197 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 77 Zeilen
Herunterladen
  1. Ey Lemma! Schon wieder hart am pumpen oder was ?
  2. Läuft bei dir Oida! Da machen wir doch gleich mit und legen auch los!
  3. Also, was ist jetzt das Pumping Lemma? Hat natürlich nix mit Sport zu tun.
  4. Mit dem Pumping Lemma kann man grob gesagt einfach zeigen,dass eine Sprache nicht regulär ist.
  5. Allerdings kann man nicht zeigen, dass sie regulär ist. Was regulär genau bedeutet, schauen wir uns aber in nem anderen Video genau an und interessiert
  6. uns erstmal nicht. Bevor uns das Pumping Lemma jetzt genauer anschauen, betrachten wir mal folgenden NEA.
  7. Der NEA erkennt jetzt zum Beispiel ein Wort der Länge 4. Da die Länge 4 ist, müssen wir insgesamt 4 Kanten und somit 5 Knoten abgehen.
  8. Zuerst sind wir im Anfangszustand q0, dann q1
  9. dann q2 dann q3
  10. und dann nochmal q1 Das ist der Weg, in dem ein Wort mit 4 Zeichen erkannt wird.
  11. Der Knoten q1 wird somit doppelt abgegangen. Da der Knoten doppelt abgegangen wurde, muss es also einen Zyklus in dem Pfad geben.
  12. Das wäre jetzt der Weg von q1 über q2 und q3 zurück nach q1. Diesen Zyklus können wir also beliebig oft gehen und gleichzeitig sicherstellen, dass
  13. das Wort erkannt wird. Ein Wort kann somit also immer länger werden, wird aber von der Sprache immer noch erkannt.
  14. Wenn man das Verstanden hat, versteht man auch das Pumping Lemma. Das basiert nämlich auf dieser Vorgehensweise, nur dass die Definition vom Pumping Lemma
  15. für jeden Automaten anwendbar ist und nicht nur für unser Beispiel. Die förmliche Definition vom Pumping Lemma ersparen wir euch jetzt mal.
  16. Die habt ihr ja bestimmt in der Schule oder im Studium vorgegeben. Wir versuchen jetzt zu verstehen, was das Pumping Lemma genau beschreibt.
  17. Das Pumping Lemma besagt, dass für jede reguläre Sprache eine natürliche Zahl , die Anzahl der Zustände, existiert.
  18. Für alle Wörter die in der Sprache liegen muss dann gelten, dass falls die Wortlänge größer oder gleich der Anzahl der Zustände ist,eine Zerlegung des Wortes in drei Teilwörter
  19. x,y und z möglich ist. X ist dabei das Wort vor dem Zyklus.
  20. Bei uns im Beispiel vorhin also das Wort bzw. Zeichen von q0 nach q1. Y ist der Zyklus, bzw. das Wort im Zyklus.
  21. Das wäre bei uns das Wort zwischen q1,q2,q3 und zurück zu q1. Y muss immer existieren, darf also nicht leer sein.
  22. Z ist das Wort, was nach dem Zyklus kommt. Im Beispiel kommt bei uns nix mehr, da wir ja dann im Endzustand sind.
  23. Beim Pumping Lemma gilt außerdem, dass dieses Y , also der Zyklus , beliebig oft wiederholt oder aufgepumpt werden kann.
  24. Daher auch pumping Lemma, verstehste? Euer Opa sagt jetzt bestimmt so : Whaaaaaaaat?
  25. Also …. durch das Pumping Lemma versuchen wir zu beweisen, dass eine Sprache nicht regulär. Wir versuchen also ein Wort zu finden, was die Definition vom Pumping Lemma nicht erfüllt.
  26. Dabei muss es möglich sein ein Wort in drei Teilwörter x,y und z zu zerlegen und den Zyklus y beliebig oft wiederholen bzw. aufpumpen zu können.
  27. Dabei muss die Länge des Wortes aber mindestens so lang sein wie die Anzahl an Zuständen im Automaten der Sprache.
  28. Also ganz grob gesagt, natürlich ohne die genauen Definitionen, besagt das Pumping Lemma genau das!
  29. Aber damit man jetzt auch die wirkliche Anwendung sieht, schauen wir uns das ganze an nem Beispiel an.
  30. Das einfachste Beispiel zum Pumping Lemma ist a hoch n, b hoch n . N ist dabei eine natürliche Zahl.
  31. Wir wissen schon von der Sprache, dass sie nicht regulär ist. Das gilt es jetzt zu beweisen.
  32. Wir suchen also ein Wort a hoch n , b hoch n , welches in der Sprache liegt und bei dem das Pumping Lemma fehlschlägt.
  33. So, jetzt müssen wir uns erstmal überlegen welche Wörter unser x,y und z enthält. Zuerst sagen wir mal, dass unser y mit hoch 2 aufgepumpt wird.
  34. Natürlich sollte es auch mit anderen Zahlen aufgepumpt werden können, aber des is jetzt am einfachsten.
  35. Oke, also zum ersten Fall. Unser Teilwort könnte jetzt sowohl as als auch bs enthalten.
  36. Dabei is jetzt egal wie viele as und wie viele bs enthalten sind. Es ist nur wichtig, dass sowohl as, als auch bs in y sind.
  37. Was passiert jetzt wenn y zum Beispiel aabb ist? Vor dem y stehen ja als x jetzt entweder ein leeres Wort, oder aber nur as, da das y ja
  38. noch ein b enthält. Unsere Sprache besteht ja immer aus a hoch n , b hoch n.
  39. Somit ist besteht unser z dann aus einem leeren Wort oder aber nur aus bs. Wenn wir das y jetzt mit 2 aufpumpen, würde sich unser Teilwort aabb ja wiederholen.
  40. Wir hätten also aabbaabb. Auch wenn wir jetzt x und z nicht betrachten, sehen wir sofort, dass dieses Teilwort y nicht
  41. mehr in der Sprache liegt. Die Form entspricht ja nicht mehr a hoch n , b hoch n.
  42. Somit stimmt der erste Fall schonmal nicht. Klaro oder? Dann zum zweiten Fall.
  43. Unser Teilwort y kann natürlich auch nur as enthalten. Also zum Beispiel aa.
  44. Jetzt wird wieder mit 2 aufgepumpt und wir kriegen für y ein aaaa. Wenn das ganze Wort jetzt also ein aaabbb wäre, dann würde das durch das y ja zu aaaaabbb
  45. werden. Was stimmt jetzt hier nicht?
  46. Richtig. Das Wort wäre jetzt nicht mehr in der Form a hoch n , b hoch n. Somit geht dieser Fall auch nicht klar.
  47. Der letzte Fall ist jetzt, dass unser y nur aus bs besteht. Zum Beispiel sowas wie bb.
  48. Wenn wir das jetzt wieder aufpumpen mit 2, kriegen wir für y ein bbbb. Gehen wir wieder vom Wort aaabbb aus, kriegen wir also aaabbbbb raus.
  49. Jetzt ist das genau das gleiche wie vorher beim a. Das Wort erfüllt nicht mehr die Sprache a hoch n, b hoch n.
  50. Da unser y ja nicht leer sein kann, haben wir alle Fälle abgearbeitet. Da es in keinem Fall möglich ist unser y aufzupumpen, ist die Sprache somit nicht regulär!
  51. Es reicht jetzt nicht,nur ein Wort zu finden, was nicht in der Sprache liegt. Von diesem müssten wir wieder alle Zerlegungen betrachten, also gehen wir lieber gleich alle
  52. Fälle ab, damit wir safe sind! Eigentlich ganz logisch wa?
  53. Natürlich kann es sein, dass ihr in der Uni oder Schule schwerere Beispiele bekommt. Der Ablauf ist aber immer gleich.
  54. Ihr geht alle Fälle für y durch und überprüft dabei ob die Zerlegung und das aufpumpen möglich ist.
  55. So wie so oft läuft es in der Uni ein bisschen anders. Da müsst ihr meistens das Pumping Lemma allgemeiner beweisen.
  56. Betrachten wir nochmal das Beispiel von oben. Wir nehmen uns erstmal ein allgemeines Wort w raus, dass in der Sprache liegt. Also zum Beispiel a hoch m b hoch m.
  57. Dann müssen wir noch ganz plump hinschreiben, dass unsere Definition gilt. W liegt also in der Sprache L und es gilt schonmal, dass die Länge von w größer gleich
  58. m ist. Somit gilt dann auch, dass man w in die Teilwörter zerlegen kann,y nicht leer ist und die Länge von xy kleiner gleich m ist.
  59. So, jetzt haben wir schon mal die Definition abgeschrieben. Jetzt gehen wir die Teilwörter an. Erstmal sagen wir, dass des x aus a hoch i
  60. besteht. Es enthält also eine bestimmte Anzahl an a`s. Für y sagen wir, dass y = a hoch j ist.
  61. Also wieder eine bestimmte Anzahl an a´s. So was bleibt jetzt für z? Da x und y schon eine bestimmte Anzahl an a´s belegen, bleibt für z nur noch der Rest
  62. der von den a´s übrig ist. Somit besteht z schonmal aus a hoch m-i-j. Die Anzahl die x und y schon beanspruchen, müssen ja von der Gesamtzahl abgezogen werden.
  63. Klar soweit? Jetzt enthält das Teilwort z ja auch noch b hoch m , da x und y ja keine b´s enthalten. Was passiert wenn wir jetzt y mit zwei aufpumpen.
  64. Das heißt, dass aus unserem Wort xyz ein xyyz wird. Jetzt schreiben wir die vorher definierten Werte auf.
  65. Dann schreiben wir die Potenzen bei a zusammen. Das wird jetzt zusammengefasst. So, wat heißt das jetzt? Unser a kommt somit häufiger vor als unser
  66. b , da wir zur Anzahl von a ja noch ein j addieren. Somit kann a auf jeden Fall häufiger vorkommen, wenn j zum Beispiel 4 oder so ist.
  67. Dann liegt dieses Wort aber nicht mehr in a^n b^n. Somit schlägt das Pumping Lemma fehl und die Sprache ist nicht regulär.
  68. Bam Oida! Somit haben wir jetzt ganz allgemein gezeigt, dass die Sprache nicht regulär ist. So ein Vorgehen wird euch so gut wie immer
  69. in der Uni begegnen. Was merkt ihr euch jetzt?
  70. Durch das Pumping Lemma versuchen wir zu beweisen, dass eine Sprache nicht regulär. Wir können damit aber nicht beweisen, dass sie Regulär ist.
  71. Das Pumping Lemma besagt, dass eine Natürliche Zahl, die Anzahl an Zuständen, existiert. Für alle Wörter in der Sprache mit Länge größer oder gleich dieser Zahl gilt dann
  72. folgendes. Es muss möglich sein ein Wort in drei Teilwörter x,y und z zu zerlegen.
  73. X ist ein Teilwort vor dem Zyklus. Y ist der Zyklus selbst.
  74. Dieses Teilwort darf nicht leer sein und muss beliebig oft aufgepumpt werden können. Z ist ein Teilwort nach dem Zyklus.
  75. In der Praxis geht ihr alle Möglichkeiten für y durch und überprüft ob es möglich ist, dieses y aufpumpen.
  76. Falls das nicht für jeden Fall möglich ist, ist die Sprache nicht Regulär. So dat wars jetzt zu dem Pumping Lemma. Wir sehen uns dann im nächsten Video!
  77. Tschööööööö!

Zum Nachlesen