Forschungsprojekt Halteproblem - Untersuchung des ...
Forschungsprojekt Halteproblem - Untersuchung des ...
Forschungsprojekt Halteproblem - Untersuchung des ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Didaktik der<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong><br />
<strong>Untersuchung</strong> <strong>des</strong> Horizontalkriteriums beim <strong>Halteproblem</strong><br />
Katrin Anke Dörlitz<br />
Bergische Universität Wuppertal<br />
10. Dezember 2012<br />
Dieses Dokument wird unter der folgenden Creative-Commons-Lizenz veröffentlicht:<br />
cbea http://creativecommons.org/licenses/by-nc-sa/3.0/deed.de
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
Worum geht es?<br />
<strong>Halteproblem</strong> vs. Entscheidungsproblem<br />
Warum überhaupt im Schulunterricht?<br />
fundamentale Idee<br />
Worum geht es?<br />
Ich beschäftige mich mit der Fragestellung, wie Schülerinnen und Schüler<br />
verschiedener Jahrgangsstufen an die Problematik <strong>des</strong> <strong>Halteproblem</strong>s<br />
herangeführt werden können und welche Aspekte jeweils betrachtet<br />
werden können.<br />
<strong>Halteproblem</strong>: Kann man algorithmisch prüfen, ob ein anderer<br />
Algorithmus terminiert?<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 2/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
Worum geht es?<br />
<strong>Halteproblem</strong> vs. Entscheidungsproblem<br />
Warum überhaupt im Schulunterricht?<br />
fundamentale Idee<br />
<strong>Halteproblem</strong> vs. Entscheidungsproblem<br />
◮ Das <strong>Halteproblem</strong> ist ein spezielles Entscheidungsproblem.<br />
◮ Im Vergleich zu anderen unentscheidbaren Problemen, ist der Beweis<br />
<strong>des</strong> <strong>Halteproblem</strong>s einfach.<br />
◮ Andere wichtige unentscheidbare Probleme (Äquivalenzproblem,<br />
Satz von Rice) werden auf das <strong>Halteproblem</strong> zurückgeführt<br />
◮ Die Beschränkung auf eine konkrete Problemstellung kommt<br />
Schülern entgegen.<br />
◮ Das <strong>Halteproblem</strong> ist den Schülerinnen und Schülern aus dem Alltag<br />
bekannt („Programm hängt sich auf“).<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 3/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
Worum geht es?<br />
<strong>Halteproblem</strong> vs. Entscheidungsproblem<br />
Warum überhaupt im Schulunterricht?<br />
fundamentale Idee<br />
Warum überhaupt im Schulunterricht?<br />
◮ Wenn man Algorithmen entwirft, sollte man auch um deren Grenzen<br />
wissen.<br />
◮ Verständnis dafür, warum sich Programme manchmal „aufhängen“<br />
◮ Computer sind nicht allmächtig!<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 4/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
Worum geht es?<br />
<strong>Halteproblem</strong> vs. Entscheidungsproblem<br />
Warum überhaupt im Schulunterricht?<br />
fundamentale Idee<br />
fundamentale Idee<br />
Grenzen von Berechenbarkeit<br />
◮ Horizontalkriterium<br />
↩→ !<br />
◮ Vertikalkriterium<br />
↩→ Algorithmen, Sprachen und Automaten, Informatik &<br />
Gesellschaft<br />
◮ Zeitkriterium<br />
↩→ seit den 30ern, Wurzeln in der Antike<br />
◮ Sinnkriterium<br />
↩→ Grenzen der Informatiksysteme<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 5/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
Worum geht es?<br />
<strong>Halteproblem</strong> vs. Entscheidungsproblem<br />
Warum überhaupt im Schulunterricht?<br />
fundamentale Idee<br />
Problem am <strong>Halteproblem</strong> im Schulunterricht<br />
◮ Der Beweis der Unentscheidbarkeit verlangt einiges an<br />
Abstraktionsvermögen.<br />
◮ Programme analysieren Programme<br />
◮ Widerspruchsbeweis<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 6/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
5./6./7. Klasse<br />
◮ eingebettet in Unterrichtsreihe: Schleifen/Rekursion<br />
◮ Thematisierung Abbruch, Begriffseinführung „Terminierung“<br />
◮ jede selbstprogrammierte Schleife/Rekursion beinhaltet ein<br />
spezifisches <strong>Halteproblem</strong>!<br />
◮ testen Schleifen bei gegebenen Eingaben auf Abbruch<br />
◮ einfacher Spezialfall einer Endlosschleife: Laufvariable wird nie<br />
verändert ⇒ Abbruchbedingung nie erreicht<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 7/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
5./6./7. Klasse - Leistungsniveau<br />
Aus den Bildungsstandards 1 :<br />
◮ Schülerinnen und Schüler der Jahrgangsstufen 5 bis 7 benutzen die<br />
algorithmischen Grundbausteine zur Darstellung von<br />
Handlungsvorschriften<br />
◮ Schülerinnen und Schüler der Jahrgangsstufen 5 bis 7 entwerfen und<br />
testen einfache Algorithmen<br />
◮ Schülerinnen und Schüler der Jahrgangsstufen 8 bis 10 verwenden<br />
Variablen und Wertzuweisungen<br />
◮ Schülerinnen und Schüler der Jahrgangsstufen 8 bis 10 entwerfen,<br />
implementieren und beurteilen Algorithmen<br />
1 [GI, 2008, S. 16]<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 8/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
5./6./7. Klasse - Kompetenzen <strong>Halteproblem</strong><br />
Schülerinnen und Schüler der Jahrgangsstufen 5 bis 7<br />
◮ bestimmen bei vorgegebener Eingabe, ob einfache Algorithmen<br />
terminieren<br />
◮ erkennen offensichtliche Endlosschleifen<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 9/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
8./9. Klasse<br />
◮ eigene Unterrichtsreihe zu <strong>Halteproblem</strong>en<br />
◮ Einstiegsszenario: „Der Rechner hat sich aufgehängt“<br />
◮ Diskussion über Ursachen<br />
◮ Einziger softwaretechnischer Grund: Endlosschleife/-rekursion<br />
◮ Frage: Braucht das Informatiksystem nur lange, oder kommt es gar<br />
nicht mehr weiter?<br />
◮ Kann der Benutzer das wissen? Kann das Informatiksystem das<br />
feststellen? Kann der Programmierer mehr sagen?<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 10/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
Schleifen/Rekursion<br />
◮ Thematik Allgemeingültigkeit: soll für jede Eingabe terminieren<br />
◮ undendlich viele Eingabemöglichkeiten ⇒ Beweisen/Begründungen<br />
statt Tests<br />
◮ Übungen: Endlosschleife / hält immer / hält meistens, aber nicht bei<br />
allen Eingaben<br />
◮ verschiedene Kriterien für garantierten Abbruch formulieren und<br />
diskutieren<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 11/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
„Achilles und die Schildkröte“ nach Zenon von Elea<br />
Der schnelle Achilles wird zum Wettlauf mit einer Schildkröte<br />
aufgefordert. Achilles ist doppelt so schnell wie die Schildkröte. Der<br />
Fairness wegen bekommt die Schildkröte einen Vorsprung von zehn<br />
Metern.<br />
Bevor Achilles die Schildkröte überholen kann, muss er zuerst ihren<br />
Vorsprung einholen. In der Zeit, die er dafür benötigt, hat die Schildkröte<br />
aber einen neuen, wenn auch kleineren Vorsprung gewonnen, den Achilles<br />
ebenfalls erst einholen muss. Ist ihm auch das gelungen, hat die<br />
Schildkröte wiederum einen – noch kleineren – Weg-Vorsprung<br />
gewonnen, und so weiter.<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 12/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
endlos oder nicht?<br />
i := 0 a := 1 solange i < 2 tue<br />
i:=i+a;<br />
a:=a/2;<br />
en<strong>des</strong>olange<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 13/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
endlos oder nicht?<br />
i := 0 a := 1 solange i < 2 tue<br />
i:=i+a;<br />
a:=a/2;<br />
en<strong>des</strong>olange<br />
⇒ i wächst mit jedem Schleifendurchlauf und Abbruchwert ist fest,<br />
trotzdem kein Abbruch!<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 14/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
Leistungsniveau<br />
◮ Die beiden Beispielszenarien sind mathematisch schwerer Stoff für<br />
die 8./9. Klasse<br />
◮ Reihen werden in der Schulmathematik im Allgemeinen gar nicht<br />
behandelt!<br />
◮ Ich halte es trotzdem für machbar, denn<br />
◮ Achilles und die Schildkröte ist sehr anschaulich (geeignetes<br />
Aufgabenblatt vorbereiten)<br />
◮ Das zweite Beispiel kann gut nachträglich veranschaulicht werden.<br />
◮ Bei<strong>des</strong> kann konkret am Rechner ausprobiert werden.<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 15/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
Abbruch-Kriterien<br />
◮ Feste Abbruchkriterien für Spezialfälle aufstellen.<br />
◮ Automatisierung/Programmierung dieser Kriterien → Programme<br />
mit Programmen als Eingabe<br />
◮ Selberprogrammieren<br />
◮ Einsatz in Programmiersprachen/Compilern, z.B. sichere<br />
For-Schleifen in Pascal-Sprachfamilie<br />
◮ Bestimmte Typen von Abbruch/Endlosigkeit können maschinell<br />
erkannt werden, für viele Schleifen bleibt Frage nach Terminierung<br />
offen.<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 16/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
Collatz-Problem<br />
◮ Beginne mit irgendeiner natürlichen Zahl n > 0.<br />
◮ Ist n gerade, so nimm als nächstes n/2,<br />
◮ Ist n ungerade, so nimm als nächstes 3n + 1.<br />
◮ Wiederhole die Vorgehensweise mit der erhaltenen Zahl.<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 17/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
Collatz-Problem<br />
− wenig anschaulich, rein innermathematisch<br />
− kein praktischer Nutzen<br />
+ überschaubares Beispiel für offene Frage nach Terminierung !?<br />
+ gute Unterscheidung zwischen Abbruch bei einzelner Eingabe und<br />
für jede Eingabe<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 18/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
8./9. Klasse - Kompetenzen <strong>Halteproblem</strong><br />
Schülerinnen und Schüler der Jahrgangsstufen 8 bis 9<br />
◮ bestimmen bei einfachen Algorithmen für jede Eingabe die<br />
Terminierung oder nicht-Terminierung<br />
◮ diskutieren und beurteilen schwierigere Algorithmen<br />
◮ können begründen, warum Terminierung für alle Eingaben nicht<br />
getestet werden kann<br />
◮ können (algorithmische) Abbruchskriterien für Spezialfälle angeben<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 19/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
Sek II<br />
◮ Das allgemeine <strong>Halteproblem</strong> mit Beweis<br />
◮ <strong>Halteproblem</strong> als Entscheidungsproblem<br />
◮ Zusammenhang mit anderen Problemen (Äquivalenz, Satz von Rice,<br />
Berechenbarkeit)<br />
◮ Einbettung in Informatik und Gesellschaft<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 20/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
5./6./7. Klasse<br />
8./9. Klasse<br />
Sek II<br />
Sek II - Kompetenzen <strong>Halteproblem</strong><br />
Schülerinnen und Schüler der Jahrgangsstufen 8 bis 9<br />
◮ kennen Entscheidbarkeit und Unentscheidbarkeit<br />
◮ kennen das <strong>Halteproblem</strong> als Entscheidungsproblem<br />
◮ wissen, um die Unlösbarkeit <strong>des</strong> <strong>Halteproblem</strong>s und damit <strong>des</strong><br />
Entscheidungsproblems<br />
◮ schildern Auswirkungen <strong>des</strong> <strong>Halteproblem</strong>s für Wissenschaft und<br />
Gesellschaft<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 21/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
Fazit<br />
◮ Das allgemeine <strong>Halteproblem</strong> erst in der Sek II<br />
◮ Gesellschaftliche Bedeutung erst über Beweis erschliessbar, daher<br />
erst Sek II<br />
◮ <strong>Halteproblem</strong>e begegnen einem früh und begleiten einen<br />
◮ die Frage nach der Terminierung ist wichtig für eine saubere<br />
Modellierung/Programmierung<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 22/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
[GI 2008] GI: Grundsätze und Standards für die Informatik in der Schule<br />
– Bildungsstandards Informatik für die Sekundarstufe I. Version: April<br />
2008. http://www.sn.schule.de/~istandard/docs/<br />
bildungsstandards_2008.pdf, Abruf: 2. Dezember 2012. –<br />
Erarbeitet vom Arbeitskreis »Bildungsstandards« – Beschluss <strong>des</strong><br />
GI-Präsidiums vom 24. Januar 2008 – veröffentlicht als Beilage zur<br />
LOG IN 28 (2008) Heft 150/151. ISSN 0720–8642<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 23/24
Didaktik der Informatik<br />
Einführung<br />
Unterrichtsideen<br />
Fazit<br />
Literatur<br />
Literatur<br />
Literatur I<br />
[GI 2008] GI: Grundsätze und Standards für die Informatik in der Schule – Bildungsstandards<br />
Informatik für die Sekundarstufe I. Version: April 2008.<br />
http://www.sn.schule.de/~istandard/docs/bildungsstandards_2008.pdf, Abruf:<br />
2. Dezember 2012. – Erarbeitet vom Arbeitskreis »Bildungsstandards« – Beschluss <strong>des</strong><br />
GI-Präsidiums vom 24. Januar 2008 – veröffentlicht als Beilage zur LOG IN 28 (2008)<br />
Heft 150/151. ISSN 0720–8642<br />
<strong>Forschungsprojekt</strong> <strong>Halteproblem</strong>, K.A. Dörlitz 24/24