Top Banner
Kara Gerhard Bitsch Problemstellung Kara im Anfän- gerunterricht Turing- Maschinen mit Kara Kara mit Java Ausblick Informatik mit Kara Spielerischer Einstieg in die Informatik Gerhard Bitsch Kepler - Gymnasium Tübingen Seminarsitzung Informatik, Januar 2008
81

Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Oct 28, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Informatik mit KaraSpielerischer Einstieg in die Informatik

Gerhard Bitsch

Kepler - GymnasiumTübingen

Seminarsitzung Informatik, Januar 2008

Page 2: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Gliederung

1 Problemstellung

2 Kara im Anfängerunterricht

3 Turing-Maschinen mit Kara

4 Kara mit Java

5 Ausblick

Page 3: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Gliederung

1 Problemstellung

2 Kara im Anfängerunterricht

3 Turing-Maschinen mit Kara

4 Kara mit Java

5 Ausblick

Page 4: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Gliederung

1 Problemstellung

2 Kara im Anfängerunterricht

3 Turing-Maschinen mit Kara

4 Kara mit Java

5 Ausblick

Page 5: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Gliederung

1 Problemstellung

2 Kara im Anfängerunterricht

3 Turing-Maschinen mit Kara

4 Kara mit Java

5 Ausblick

Page 6: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Gliederung

1 Problemstellung

2 Kara im Anfängerunterricht

3 Turing-Maschinen mit Kara

4 Kara mit Java

5 Ausblick

Page 7: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Vorüberlegungen

Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.

Folgerung

Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.

Page 8: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Vorüberlegungen

Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.

Folgerung

Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.

Page 9: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Vorüberlegungen

Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.

Folgerung

Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.

Page 10: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Vorüberlegungen

Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.

Folgerung

Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.

Page 11: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Vorüberlegungen

Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.

Folgerung

Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.

Page 12: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Vorüberlegungen

Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.

Folgerung

Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.

Page 13: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Wünschenswertes

Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.

Page 14: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Wünschenswertes

Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.

Page 15: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Wünschenswertes

Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.

Page 16: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Wünschenswertes

Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.

Page 17: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Wünschenswertes

Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.

Page 18: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Was wird unterrichtet?

Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.

Page 19: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Was wird unterrichtet?

Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.We regard this as a mistake, because the justification forprogramming in schools is not its immediate applicability inreal life, but in its general educational value: a sound,intuitive understanding of what it means to delegate to amachine control of ever more complex every-day processes.(Reichert, Nievergelt, Hartmann,2001)Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.

Page 20: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Was wird unterrichtet?

Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.

Page 21: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Was wird unterrichtet?

Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Macht allenfalls Sinn in einem "Profikurs". Sicherlich nichtsinnvoll in Kursen für Anfänger.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.

Page 22: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Was wird unterrichtet?

Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.

Page 23: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

ProblemstellungAnfangsunterrichtInformatik

Übliche Ansätze

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Was wird unterrichtet?

Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.Beispiele: LOGO, DrScheme

Page 24: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Karas Welt

Page 25: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Die Programmierumgebung

Page 26: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Zustand definieren

Page 27: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Übung 1

1

Kara soll bis zum Baum laufen, dann umdrehen undweiterlaufen. Kara trifft dann von der anderen Seitekommend wieder auf den Baum und pendelt soendlos hin und her.

2 Nun soll Kara stehen bleiben, wenn er zum zweiten(dritten, vierten) Mal auf den Baum trifft.

3

Kara soll zum Baum gehen, alle Blätter aufsammelnund vor dem Baum stehen bleiben.

Page 28: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Übung 1

1

Kara soll bis zum Baum laufen, dann umdrehen undweiterlaufen. Kara trifft dann von der anderen Seitekommend wieder auf den Baum und pendelt soendlos hin und her.

2 Nun soll Kara stehen bleiben, wenn er zum zweiten(dritten, vierten) Mal auf den Baum trifft.

3

Kara soll zum Baum gehen, alle Blätter aufsammelnund vor dem Baum stehen bleiben.

Page 29: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Übung 1

1

Kara soll bis zum Baum laufen, dann umdrehen undweiterlaufen. Kara trifft dann von der anderen Seitekommend wieder auf den Baum und pendelt soendlos hin und her.

2 Nun soll Kara stehen bleiben, wenn er zum zweiten(dritten, vierten) Mal auf den Baum trifft.

3

Kara soll zum Baum gehen, alle Blätter aufsammelnund vor dem Baum stehen bleiben.

Page 30: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Weitere Übungen

Kara hat auch eingebaute Übungen.Bearbeiten Sie die ersten Übungen bis zurLabyrinth-Aufgabe.Überlegen Sie dabei, welche Prinzipien für denProgrammentwurf wichtig sind.

Page 31: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Designprinzipien

Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen

Page 32: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Designprinzipien

Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen

Page 33: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Designprinzipien

Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen

Page 34: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Designprinzipien

Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen

Page 35: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Designprinzipien

Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen

Page 36: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Designprinzipien

Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen

Page 37: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Mittelschwere Aufgaben

Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.

1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II

Page 38: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Mittelschwere Aufgaben

Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.

1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II

Page 39: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Mittelschwere Aufgaben

Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.

1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II

Page 40: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Mittelschwere Aufgaben

Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.

1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II

Page 41: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Mittelschwere Aufgaben

Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.

1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II

Page 42: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Schwierige Aufgaben

Die folgenden Aufgaben zeigen, dass man mit Karadurchaus auch recht komplexe Aufgabenstellungenbearbeiten kann. Man sollte Aufgaben dieser Artunbedingt behandeln, um die Behauptung plausibel zumachen, dass Kara mit einer unbeschränkten Weltprinzipiell jede mögliche Berechnung durchführen kann.

1 Binäres Pascal-Dreieck2 Bubblesort

Page 43: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterrichtEinführung von Kara

Einfache Übungen

Wie sollte manKara-Programmeentwerfen?

Komplexere Aufgaben

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Schwierige Aufgaben

Die folgenden Aufgaben zeigen, dass man mit Karadurchaus auch recht komplexe Aufgabenstellungenbearbeiten kann. Man sollte Aufgaben dieser Artunbedingt behandeln, um die Behauptung plausibel zumachen, dass Kara mit einer unbeschränkten Weltprinzipiell jede mögliche Berechnung durchführen kann.

1 Binäres Pascal-Dreieck2 Bubblesort

Page 44: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Kara als Turing-Maschine

Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.

Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.

Page 45: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Kara als Turing-Maschine

Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.

Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.

Page 46: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Kara als Turing-Maschine

Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.

Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.

Page 47: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Kara als Turing-Maschine

Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.

Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.

Page 48: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Kara als Turing-Maschine

Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.

Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.

Page 49: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Kara als Turing-Maschine

Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.

Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.

Page 50: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Turing-Addition

Kara soll die Zahlen auf dem Band "addieren". Dabeidürfen beliebig viele Zahlen – jeweils durch genau einLeerfeld getrennt – auf dem Band stehen.

Das obige Band sollte etwa folgendes Resultat liefern:

Page 51: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Maschinentabellen

Die einzelnen Zustände einer Turing-Maschine werden mitden Zahlen 1, 2, 3, . . . , n bezeichnet. Die 0 steht für denHaltezustand.Turing-Maschinen kann man durch Maschinentabellenbeschreiben. Ein einfaches Beispiel einer Maschinentabelle:

Z0 B0 B1 L/R Z11 0 1 R 11 1 1 R 0

Page 52: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Maschinentabellen

Die einzelnen Zustände einer Turing-Maschine werden mitden Zahlen 1, 2, 3, . . . , n bezeichnet. Die 0 steht für denHaltezustand.Turing-Maschinen kann man durch Maschinentabellenbeschreiben. Ein einfaches Beispiel einer Maschinentabelle:

Z0 B0 B1 L/R Z11 0 1 R 11 1 1 R 0

Die zugehörige Maschine wird nie anhalten, sonderfortlaufend nach Rechts gehend Einsen schreiben.

Wie viele Einsen kann eine haltende TM mit n Zuständenhöchstens auf ein leeres Band schreiben?

Page 53: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Weitere Beispiele

Analysieren Sie die folgenden Turing-Maschinen für denFall, dass sie mit einem leeren Band gestartet werden.

BB2 :

Z0 B0 B1 L/R Z11 0 1 R 21 1 1 L 22 0 1 L 12 1 1 L 0

BB3 :

Z0 B0 B1 L/R Z11 0 1 R 21 1 1 L 32 0 1 R 32 1 1 R 03 0 1 L 13 1 0 L 2

Page 54: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Lösungen

BB2 Diese Maschine schreibt auf das leere Band vier Einsennebeneinander und bleibt über der am weitesten linksstehenden Eins nach 6 Schritten stehen.

BB3 Diese Maschine schreibt auf das leere Band sechsEinsen nebeneinander und bleibt über der dritten Einsvon links nach 11 Schritten stehen.

Page 55: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Lösungen

BB2 Diese Maschine schreibt auf das leere Band vier Einsennebeneinander und bleibt über der am weitesten linksstehenden Eins nach 6 Schritten stehen.

BB3 Diese Maschine schreibt auf das leere Band sechsEinsen nebeneinander und bleibt über der dritten Einsvon links nach 11 Schritten stehen.

Page 56: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Rado’s Σ-Funktion

Tibor Rado hat 1962 die folgende Funktion Σ : N 7→ Ndefiniert:

Definition

Σ(n) ist die maximale Anzahl von Einsen, die eine haltendeTuringmaschine mit n Zuständen und dem Bandalphabet{0, 1} beim Start mit einem leeren Band schreiben kann.

Page 57: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Rado’s Σ-Funktion

Tibor Rado hat 1962 die folgende Funktion Σ : N 7→ Ndefiniert:

Definition

Σ(n) ist die maximale Anzahl von Einsen, die eine haltendeTuringmaschine mit n Zuständen und dem Bandalphabet{0, 1} beim Start mit einem leeren Band schreiben kann.

Damit ist in der Tat eine Funktion im mathematischen Sinndefiniert, denn die Anzahl der Turingmaschinen mit nZuständen ist endlich, insbesondere auch die Anzahl derhaltenden Turingmaschinen mit n Zuständen. Das in derDefinition angesprochene Maximum existiert daher.Eine TM mit n Zuständen, die Σ(n) Einsen schreibt, nenntman einen fleißigen Bieber

Page 58: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Beispiele

Sowohl bei BB2 als auch bei BB3 handelt es sich um fleißigeBieber.Es gilt Σ(2) = 4 und Σ(3) = 6Die folgende Turingmaschine BB4 ist ebenfalls ein fleißigerBiber:

Z0 B0 B1 L/R Z11 0 1 L 21 1 0 L 32 0 1 R 12 1 1 L 13 0 1 L 03 1 1 L 44 0 1 R 44 1 0 R 2

Page 59: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Verkettung von Turing-Maschinen

Man kann zwei Turing-Maschinen T1 und T2 verketten, sodass sie hintereinander ausgeführt werden:

Sei T1 eine Maschine mit n Zuständen.Man benennt man die Zustände von T2 um, indem man zujeder Zustandsnummer n addiert.In der der Tabelle von T1 ersetzt man den Zustand 0 in derfünften Spalte durch n + 1.Dann hängt man die neue Tabelle von T2 an die neueTabelle von T1 an.Die dadurch definierte neue Maschine nennt man T1 ◦ T2(T2 nach T1).

Page 60: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist streng monoton wachsend

Satz

Σ wächst streng monoton.

Beweis.

Man definiert eine Turingmaschine T+1 durch:

Z0 B0 B1 L/R Z11 0 1 L 01 1 1 L 1

T+1 läuft nach links bis zur ersten Null, schreibt dort eineEins, geht nach links und bleibt stehen.Sei nun TΣn ein fleißiger Bieber mit n Zuständen.TΣn ◦ T+1 hat n + 1 Zustände und schreibt eine Eins mehrals TΣn.Damit gilt: Σ(n) < Σ(n + 1).

Page 61: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist streng monoton wachsend

Satz

Σ wächst streng monoton.

Beweis.

Man definiert eine Turingmaschine T+1 durch:

Z0 B0 B1 L/R Z11 0 1 L 01 1 1 L 1

T+1 läuft nach links bis zur ersten Null, schreibt dort eineEins, geht nach links und bleibt stehen.Sei nun TΣn ein fleißiger Bieber mit n Zuständen.TΣn ◦ T+1 hat n + 1 Zustände und schreibt eine Eins mehrals TΣn.Damit gilt: Σ(n) < Σ(n + 1).

Page 62: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Die Maschinen B4 und B4′

Man kann aus BB4 zwei Maschinen konstruieren, diejeweils 12 aufeinander folgende Einsen schreiben:

B4: Man ersetzt in BB4 die Zeile 3, 0, 1, L, 0 durch3, 0, 0, L, 0. Die so erhaltene Maschine B4 schreibt 12aufeinanderfolgende Einsen aufs Band (2 davon rechtsvom Startfeld) und bleibt auf dem dritten leeren Feldlinks von diesen Einsen stehen.

B4′ : Man ersetzt in BB4 die Zeile 3, 0, 1, L, 0 durch3, 0, 0, R, 0. Die so erhaltene Maschine B4′ schreibt 12aufeinanderfolgende Einsen aufs Band (2 davon rechtsvom Startfeld) und bleibt auf dem ersten leeren Feldlinks von diesen Einsen stehen.

Page 63: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Die Maschinen B4 und B4′

Man kann aus BB4 zwei Maschinen konstruieren, diejeweils 12 aufeinander folgende Einsen schreiben:

B4: Man ersetzt in BB4 die Zeile 3, 0, 1, L, 0 durch3, 0, 0, L, 0. Die so erhaltene Maschine B4 schreibt 12aufeinanderfolgende Einsen aufs Band (2 davon rechtsvom Startfeld) und bleibt auf dem dritten leeren Feldlinks von diesen Einsen stehen.

B4′ : Man ersetzt in BB4 die Zeile 3, 0, 1, L, 0 durch3, 0, 0, R, 0. Die so erhaltene Maschine B4′ schreibt 12aufeinanderfolgende Einsen aufs Band (2 davon rechtsvom Startfeld) und bleibt auf dem ersten leeren Feldlinks von diesen Einsen stehen.

Page 64: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Die Maschine T12n

B4 ◦ B4 erzeugt 24 aufeinander folgende Einsen und hältdrei Felder links von der ersten Eins. Dies lässt sichbeliebig oft wiederholen.

Page 65: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Die Maschine T12n

B4 ◦ B4 erzeugt 24 aufeinander folgende Einsen und hältdrei Felder links von der ersten Eins. Dies lässt sichbeliebig oft wiederholen.B4 ◦ B4′ erzeugt 24 aufeinander folgende Einsen und hältauf dem Feld links von der ersten Eins.

Page 66: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Die Maschine T12n

B4 ◦ B4 erzeugt 24 aufeinander folgende Einsen und hältdrei Felder links von der ersten Eins. Dies lässt sichbeliebig oft wiederholen.B4 ◦ B4′ erzeugt 24 aufeinander folgende Einsen und hältauf dem Feld links von der ersten Eins.Für jedes n > 2 definiert man:

T12n = B4 ◦ · · · ◦ B4︸ ︷︷ ︸n−1

◦B4′

Diese Maschine hat 4n Zustände, schreibt 12n aufeinanderfolgende Einsen auf das Band und hält auf dem Feld linksvon der ersten Eins.

Page 67: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist nicht berechenbar

Satz

Es gibt keine Turingmaschine TΣ, die Σ(n) für alle n ∈ Nberechnet.

Beweis.

Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k

8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).

Page 68: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist nicht berechenbar

Beweis.

Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k

8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).

Page 69: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist nicht berechenbar

Beweis.

Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k

8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).

Page 70: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist nicht berechenbar

Beweis.

Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k

8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).

Page 71: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist nicht berechenbar

Beweis.

Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k

8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).

Page 72: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist nicht berechenbar

Beweis.

Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k

8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).

Page 73: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist nicht berechenbar

Beweis.

Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k

8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).

Page 74: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Σ ist nicht berechenbar

Beweis.

Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k

8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).

Page 75: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Das Halteproblem ist nicht entscheidbar

Gibt es eine berechenbare Funktion,die für jede Turingmaschine

und jede Anfangsbeschriftung des Bandesentscheidet,

ob diese Maschine mit diesem Bandanhält?

Page 76: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKaraEinfacheTuring-Programme

Fleißige Biber

Kara mit Java

Ausblick

Plausibilitätsbetrachtungen

Es gibt (4 · (n + 1))2n Turingmaschinen mit n Zuständen.

Zustände Mögliche Maschinen2 207363 1,68 · 107

4 2,56 · 1010

5 6,34 · 1013

6 2,32 · 1017

10 7,40 · 1032

Σ(3) = 6 (1963, Lin und Rado)Σ(4) = 13 (1975, Brady)Σ(5) ≥ 4098 (1989, Marxen und Buntrock)Σ(6) ≥ 4,6 · 101439 (2007, T. und S. Ligocki)

Page 77: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit JavaDieJavaKara-Umgebung

EinfacheJava-Programme

Ausblick

JavaKara Programmierumgebung

Page 78: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit JavaDieJavaKara-Umgebung

EinfacheJava-Programme

Ausblick

Methoden

Methoden für Kara haben das Präfix kara.

move() putLeaf() removeLeaf()turnRight() turnLeft()

treeFront() treeLeft() treeRight()mushroomFront() onLeaf()

Page 79: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit JavaDieJavaKara-Umgebung

EinfacheJava-Programme

Ausblick

Page 80: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit JavaDieJavaKara-Umgebung

EinfacheJava-Programme

Ausblick

Einbettung in eclipse

import javakara.JavaKaraProgram;public class sucheBaum1 extends JavaKaraProgram {public void myMainProgram() {action();}private void action(){

if (kara.onLeaf()){kara.removeLeaf();}else{kara.putLeaf(); }if (!kara.treeFront()){kara.move();action();}}

public static void main(String[] args) {JavaKaraProgram program = new sucheBaum1();program.run("C:/KARA/jkara01.world"); }}

Page 81: Informatik mit Kara - SwissEduc - Unterrichtsmaterialien · Kara Gerhard Bitsch Problemstellung Kara im Anfän-gerunterricht Turing-Maschinen mit Kara Kara mit Java Ausblick Informatik

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit Java

Ausblick

Literatur

Kara:R. Reichert, J. Nievergelt, W. Hartmann:Programmieren mit Kara, 2004, Springer, Berlin.http://www.swisseduc.ch/informatik/karatojava/kara/

Busy Beaver:W. Brauer: Grenzen maschineller Berechenbarkeit,Informatik-Spektrum 13 (1990), S. 61-70http://en.wikipedia.org/wiki/Busy_beaver* http://drb9.drb.insel.de/ heiner/BB/http://grail.cba.csuohio.edu/∼somos/bb.htmlhttp://users.informatik.haw-hamburg.de/∼voeller/th/thinf/node16.html

http://www.logique.jussieu.fr/∼michel/ha.html#tm42http://www.cs.rpi.edu/∼kelleo/busybeaver/