Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Reino Zilles Geändert vor über 10 Jahren
1
Übung 6.1Turing-Maschine 1.Machen Sie sich mit der Funktionsweise des Busy Beaver-Programms vertraut Vollziehen sie die 11 Schritte der ersten Turing-Tabelle. 2.Versuchen Sie sich selbst am Turing Simulator der IGS (Link auf meiner Homepage) 3.Entwerfen Sie eine Turing-Maschine zur Multiplikation zweier natürlicher Zahlen.
2
Übung 6.2 Einfache Verifikation Gegeben ist folgender Algorithmus {a 0, c>0} // Vorbedingung P(a,b,c) a=b; d=b-a; if (c == 0) then d=5; else d=d+1; 1.Geben Sie eine Nachbedingung Q(d) für die Variable d an 2.Beweisen Sie dass sich durch den Algorithmus aus P(a,b,c) diese Nachbedingung Q(d) ableiten lässt 3.Schreiben Sie einen zweiten Algorithmus, der ebenfalls die Nachbedingung Q(d) aus P(a,b,c) ableiten kann 4.Verifizieren Sie Ihren Algorithmus
3
Übung 6.3Denksportaufgabe 1.Gegeben sei folgendes Verfahren In einem Topf seien s schwarze und w weiße Kugeln - insgesamt mindestens eine. Solange mindestens zwei Kugeln im Topf sind, nimm zwei beliebige Kugeln heraus. Falls Sie gleiche Farbe haben, wirf beide weg und lege eine neue schwarze Kugel in den Topf. Falls sie verschiedene Farben haben, wirf die schwarze weg und lege die weiße zurück in den Topf. 1.Welche Farbe hat die letzte Kugel 2.Welche Aussage - die einen Hinweis auf die Antwort gibt - gilt vor, in und nach der Schleife (Invariante) 3.Terminiert die Schleife ? Begründen Sie ihre Antwort.
4
Übung 6.4Invariante 1.Betrachten Sie nochmals das Verfahren aus der vorgegangenen Übung: In einem Topf seien s schwarze und w weiße Kugeln - insgesamt mindestens eine. Solange mindestens zwei Kugeln im Topf sind, nimm zwei beliebige Kugeln heraus. Falls Sie gleiche Farbe haben, wirf beide weg und lege eine neue schwarze Kugel in den Topf. Falls sie verschiedene Farben haben, wirf die schwarze weg und lege die weiße zurück in den Topf. 1.Beschreiben Sie das Verfahren als Algorithmus 1.Das Nehmen dürfen Sie als Block voraussetzen. 1.Entwerfen Sie den Kopf dieses Blocks, 2.Beschreiben Sie seine Parameter 3.beschreiben Sie sein Verhalten in Form einer Vor- und Nachbedingung 2.Bestimmen Sie die Invariante 3.Beweisen Sie die Korrektheit Ihrer Nachbedingung
5
Übung 6.5Vollständige Verifikation 1.gegeben ist der folgende Algorithmus zum schnellen Potenzieren (Legendre Algorithmus) // Vorbedingung P(V): a>0 b 0 x = a; y = b; z = 1; while y > 0 { if odd(y) then z = z*x; y = y div 2; // Ganzzahldivision x = x*x; } 1.Was ist die Nachbedingung dieses Algorithmus 2.Bestimmen die die Schleifeninvariante 3.Beweisen Sie die Korrektheit de Legendre Algorithmus
6
Übung 6.6Schranken 1.Angenommen, Ihr Algorithmus habe einen Aufwand von g(n) = 5n 3 + n + 1000 für alle n a)Geben sie eine obere Schranke O(g(n)) an. b)Beweisen Sie, dass ihre Schranke tatsächlich eine obere Schranke ist. c)Konstruieren Sie einen Graphen fü die beiden Funktionen g(n) O(g(n) so, dass der Schnittpunkt deutlich wird. d)Geben Sie eine untere Schranke an 2.Sie haben zusätzlich einen Algorithmus mit O(2 n ) Aufwand. Vergleichen Sie diesen Algorithmus mit dem Algorithmus aus 1. a)Welches ist der schnellere Algorithmus ? b)Begründen Sie Ihre Antwort quantitativ
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.