informatik mit kara - swisseduc - unterrichtsmaterialien · kara gerhard bitsch problemstellung...

81
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

Upload: others

Post on 28-Oct-2019

43 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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

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

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.

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.

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.

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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.

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.

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:

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

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?

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

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.

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.

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.

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

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

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).

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).

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).

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.

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.

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.

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.

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.

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).

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).

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).

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).

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).

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).

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).

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).

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?

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)

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit JavaDieJavaKara-Umgebung

EinfacheJava-Programme

Ausblick

JavaKara Programmierumgebung

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()

Kara

Gerhard Bitsch

Problemstellung

Kara im Anfän-gerunterricht

Turing-Maschinen mitKara

Kara mit JavaDieJavaKara-Umgebung

EinfacheJava-Programme

Ausblick

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"); }}

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/