Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Von Labyrinthen und Irrgärten

Ähnliche Präsentationen


Präsentation zum Thema: "Von Labyrinthen und Irrgärten"—  Präsentation transkript:

1 Von Labyrinthen und Irrgärten
Ein Beispiel für Computational Thinking

2 Labyrinthe Labyrinth bezeichnet ein System von Linien oder Wegen, das durch zahlreiche Richtungsänderungen ein Verfolgen oder Abschreiten des Musters zu einem Rätsel macht.

3 Ausgang finden Heute geht es (u.a.) um die Entwicklung eines Algorithmus‘, der von einem beliebigen Startpunkt in einem beliebigen Labyrinth ausgehend den Ausgang findet. In einem ersten Schritt sollen Sie mithilfe der interaktiven Webseite ein kleines Programm entwickeln, das die Aufgabe für einfache Labyrinthe löst. Hinweis: Dieses Problem ist recht ähnlich zur Aufgabe, von einem beliebigen Sitzplatz im Klassenzimmer aus den Weg zum Wasserhahn zu beschreiben.

4 Verallgemeinerung Für die Beispiel-Labyrinthe auf der Webseite haben Sie hoffentlich eine Lösung gefunden. Aber ist das schon der gesuchte Algorithmus? Allgemeinheit: Funktioniert Ihre Lösung mit jedem Labyrinth und Startpunkt? Korrektheit: Findet Ihr Algorithmus immer den Ausgang? Aufgabe: Erstellen Sie (in Anlehnung an Ihr finales Programm) ein Struktogramm. Benutzen Sie Anweisungen, die von einem Mitschüler eindeutig interpretiert werden können. Hinweis: Es gilt weiterhin die Einschränkung, dass nur lokale Informationen verwendet werden dürfen, d.h. man kann nur die Wände und Gänge in der unmittelbaren Umgebung des Standorts sehen.

5 Auswertung Tauschen Sie Ihr Struktogramm mit einem Mitschüler. Überprüfen Sie seine/ihre Lösung, und zwar so: Machen Sie mit einem Stift ein Loch in ein Blatt Papier (ca. 1.5 cm Durchmesser). Das Loch ist dazu da, die Sichtweite auf den aktuellen Standort einzuschränken. Malen Sie noch einen Pfeil an das Loch, der die aktuelle Blickrichtung anzeigt. Platzieren Sie das Blatt an einer zufällig gewählten Stelle über dem bereitgestellten Labyrinth (nicht auf eine Wand natürlich) Folgen Sie genau den Anweisungen im Struktogramm, verschieben Sie Standort und Blickrichtung entsprechend. Sind Sie zum Ausgang gekommen?  Nochmal, mit anderem Startpunkt

6 Besprechung (der erfolgreichen Ansätze)
Welches ist der einfachste Lösungsansatz, der garantiert zum Ziel (bzw. zum Ausgang) führt? Wie kann man dieses Ansatz knappmöglichst formulieren? Inwiefern kann man sicher sein, dass der Ansatz mit allen Labyrinthen funktioniert?

7 Die einfachste Formulierung (Eindeutig für Menschen, nicht unbedingt für Computer)
Diese Lösung ist bekannt als Linke-Hand-Regel: suche eine beliebige Wand und drehe dich so, dass deine linke Hand die Wand berührt gehe immer weiter an dieser Wand entlang, so dass die linke Hand nie den Kontakt verliert wenn du den Ausgang erreicht hast, kannst du die Wand loslassen Hinweis: Natürlich funktioniert das auch, wenn man statt der linken die rechte Hand benutzt – aber man muss sich entscheiden und dann dabei bleiben. Noch ein Hinweis: So einfach lässt sich das formulieren, weil man nicht mehr zwischen verschiedenen Richtungen unterscheiden muss, wenn man einfach einer Wand folgt – die richtigen Drehungen passieren automatisch, selbst am Ende einer Sackgasse.

8 Korrektheit Es scheint einleuchtend, dass die Linke-Hand-Regel in jedem Labyrinth, von jedem Startpunkt aus, immer in endlicher Zeit zum Ausgang führt. Aber können wir sicher sein? Hier hilft ein in der Informatik üblicher Trick: man repräsentiert das Problem in einer anderen Form, in der alle für die Lösung irrelevanten Details weggelassen werden.

9 Abstraktion Was an dieser Darstellung ist für die Lösungsfindung relevant? Farben? Start- oder Zielpunkt? Richtungen? Winkel? Gang- oder Wandbreite? Weglänge? Ecken/Kurven? Kreuzungen? Startpunkt Zielpunkt

10 Abstraktion Was an dieser Darstellung ist für die Lösungsfindung relevant? Farben? Start- oder Zielpunkt? Richtungen? Winkel? Gang- oder Wandbreite? Weglänge? Ecken/Kurven? Kreuzungen! Startpunkt Zielpunkt

11 Abstraktion Da es lediglich um die Kreuzungen und Wege dazwischen geht, dann kann man jedes Labyrinth zu einem Baum vereinfachen: Startpunkt 2b 1 2a 3b 3c 3a 4a 3b 1 2b 2a 3c 3a 4a Zielpunkt

12 Abstraktion Auf diese Weise dargestellt, wird klarer, wieso man in jedem Fall zum Ausgang kommt, wenn man immer einer Wand folgt. Dieser Lösungsansatz hat sogar einen eigenen Namen: Backtracking. Es stellt sich heraus, dass man viele verschiedene Probleme als Baum darstellen und mithilfe von Backtracking lösen kann – z.B. das korrekte Ausfüllen eines beliebigen Sudoku ( Ergänzungsfach).

13 Nicht viel schwieriger, nur mehr Sackgassen
Korrektheit 1 In der Baumform dargestellt zeigt sich, dass die meisten klassischen Labyrinthe gar nicht so schwer zu lösen sind – eigentlich gibt es nur einen Weg zum Ausgang. Ob das Labyrinth eine oder viele Sackgassen hat, ist nicht relevant. Die Linke-Hand-Regel sorgt dafür, dass alle Wege systematisch durchprobiert werden. Sie muss daher irgendwann den Ausgang finden. 1 Nicht viel schwieriger, nur mehr Sackgassen

14 Allgemeinheit Ist die Lösung für jedes beliebige Labyrinth wirklich so einfach? Die Antwort: Für Labyrinthe JA, für Irrgärten (engl. mazes) NEIN Definition: Ein Irrgarten ist wie ein Labyrinth, nur dass es mehrere Wege zum Ausgang gibt. Dadurch kann es sein, dass man endlos im Kreis geht (also, sich verirrt), wenn man einer Wand folgt. Labyrinth Irrgarten (Maze) 1 1 2

15 Computational Thinking
Informieren Sie sich auf der Kurswebseite über das Konzept des „Computational Thinking“ Überlegen Sie dann, ob bzw. wo die verschiedenen Denkfiguren heute schon gebraucht wurden

16 Besprechung Decomposition? Pattern Recognition? Abstraction?
(Auf Deutsch etwa: aufteilen, auseinandernehmen, trennen) Pattern Recognition? (Auf Deutsch etwa: Muster erkennen, Ähnlichkeiten finden) Abstraction? (Auf Deutsch etwa: abstrahieren, generalisieren, vereinfachen) Algorithm Design? (Auf Deutsch etwa: algorithmisch fassen, in einzelne, eindeutige, aufeinander folgende Schritte aufteilen)

17 Aus einem Irrgarten finden
Auch dafür gibt es eine allgemeine Lösung, sogar mehrere. Der wohl einfachste Lösungsweg wird einem zwölfjährigen Jungen namens John Pledge zugeschrieben. Dieser „Pledge- Algorithmus“ ergänzt die Linke-Hand-Regel noch um eine Komponente, die das endlose Im-Kreis-Gehen verhindert. Aufgabe: Informieren Sie sich über John Pledges Lösung und setzen Sie dann den Pledge-Algorithmus in einem Programm um (Links s. Kurswebseite).


Herunterladen ppt "Von Labyrinthen und Irrgärten"

Ähnliche Präsentationen


Google-Anzeigen