Informatik und Prolog1 Prolog in der Schule
1. 1 Wozu Prolog in der Schule?
1.2 Prolog zwischen Anspruch und Wirklichkeit
1.3 Hinweise für den Unterricht
1.4 Klassifikation und Einsatzmöglichkeiten
2 Fakten, Regeln und Anfragen
2.1 SWI-Prolog-Editor
2.2 Fakten
2.3 Regeln
2.4 Rekursive Prädikate
2.5 Anfragen
2.6 ProVisor - Visualisierung von Prolog
2.7 Maschinelles logisches Schließen
2.8 Aufgaben
3 Ablaufverfolgung und Veranschaulichung
3.1 Trace 15
3.2 Das Vierport- oder Boxen-Modell 15
3.3 Spuren 16
3.4 Aufgaben
4 Datenbanken
4.1 Hotelangebote von Froh-Reisen
4.2 Aufgaben
4.3 Hotelbuchung
4.4 Weitere Aufgaben
5 Listen
5.1 Einführung von Listen
5.2 Punktschreibweise für Listen
5.3 Listenoperationen - von Pascal nach Prolog
5.3.1 Fallstudie member
5.3.2 Fallstudie append
5.4 Kopf-Rest-Methode
5.5 Aufgaben
6 Arithmetik
6.1 Integer-Arithmetik
6.2 Aufgaben
7 Ein- und Ausgabe
7.1 Standard-Prädikate zur Ein- und Ausgabe
7.2 Anwendungen
7.3 Nutzung der Systembibliotheken von SWI-Prolog
7.4 Formatierte Ausgaben
7.5 Aufgaben
8 Der Cut!
8.1 So wirkt der Cut
8.2 Beispiele zum Cut
8.3 Aufgaben
9 Unifikation
9.1 Unifikation als Teil des Prolog-Beweisers
9.2 Definition und Unifikationsregeln
9.3 Ein Unifikations-Algorithmus
9.4 Aufgaben 40
10 Syrnbolisches Differenzieren
10.1 Ableitungsregeln
10.2 Cuts in Ableitungsregeln
10.3 Potenzfunktionen
10.4 Kettenregel
10.5 Allgemeine Funktionen
10.6 Vereinfachung arithmetischer Ausdrücke
10.7 Aufgaben
11 Wissensbasis und Regelsysteme
11. 1 Hinzufügen und Löschen von Klauseln
11.2 Einfache Anwendungen
11.3 Mengenprädikate
11.4 Herleitung von findall
11. 5 Ein Regelsystem zur Bestimmung von Säugetierarten
11.6 Aufgaben
12 ICE-Auskunftssystem
12.1 Modellbildung
12.2 Der ICE-Experte
12.3 Zugbegleiter
12.4 Abfahrtsplan
12.5 Zugauskunft
12.6 Heurlstlsche Suche im ICE-Netz
12.7 Aufgaben
13 Auskunfts-und Reisebuchungssystem
13.1 Datenbankmodell
13.2 Benutzungsschnittstelle
13.3 Gebletsverwaltung
13.4 Hotelverwaltung
13.5 Kundenverwaltung
13.6 Buchungsverwaltung
13.7- Aufgaben
14 Suchverfahren
14.1 Graphen
14.2 Tiefensuche
14.3 Breitensuche
14.4 Heuristische Suche
14.5 Hüpf-Schiebe-Puzzle
14.6 Hüpf- und Schiebe-Züge
14.7 Tiefensuche für das Hüpf-Schiebe-Puzzle
14.8 Breitensuche für das Hüpf-Schiebe-Puzzle
14.9 Heuristische Suche für das Hüpf-Schiebe-Puzzle
14.10 Bewertung der Suchverfahren für das Hüpf-Schiebe-Puzzle
14.11 Das 8er-Puzzle
14.12 Beschränkte Tiefensuche für das 8er-Puzzle
14.13 Breitensuche für das 8er-Puzzle
14.14 Heuristische Suche für das 8er-Puzzle
14.15 Bewertung der Suchverfahren für das 8er-Puzzle
14.16 Aufgaben
15 Terme
15.1 Klassifikation von Termen
15.2 Zusammengesetzte Terme
15.3 Term-Vergleichsoperatoren
15.4 Strukturoperatoren
15.5 Beispiele für Termuntersuchungen
15.6 Wurzel-Knoten-Methode
15.7 Aufgaben
16 Grammatiken und formale Sprachen
16.1 Grammatiken
16. 1.1 Grammatik einfacher deutscher Sätze
16.1.2 Arithmetische Ausdrücke
16.1.3 Palindrome
16.1.4 0-1-Wörter
16.2 Definition einer Grammatik
16.2.1 Grammatik für anbncn
16.3 Chomsky-Hierarchie der Grammatiken
16.4 Syntaxdiagramme
16.5 Modellierung von Grammatiken in Prolog
16.6 Erzeugte Sprache - Breitensuche in Graphen
16.7 Syntaktische Analyse mit Akzeptoren
16.8 Aufgaben
17 Automaten
17.1 Schaltnetze
17.2 Speicher
17.3 Konzeption des endlichen Automaten
17.3.1 Getränkeautomat
17.3.2 Automatensteuerung einez Aufzugs
17.3.3 Akzeptor für Bezeichner
17.3.4 Akzeptor für Real-Zahlen
17.4 Definition des endlichen Automaten
17.5 Modellierung endlicher Automaten mit Prolog
17.6 Modellierung von Akzeptoren
17.7 Erzeugte Sprache - ein Graphenproblem
17.8 Nichtdeterministischer endlicher Automat
17.9 Automaten mit F-Übergängen
17. 10 Reguläre Ausdrücke
17.11 Die Grenzen endlicher Automaten
17.12 Alternative Zugänge
17.13 Spezialisieren durch Entfalten
17.14 Syntaxdiagramme und Automaten
17.15 Aufgaben
18 Kellerautomaten
18.1 Konzeption des Kellerautomaten
18.1.1 Die Sprache L ={ab/n ¤ N}
18.1.2 Arithmetische Ausdrücke
18.1.3 Palindrome
18.2 Definition des Kellerautomaten
18.3 Modellierung von Kellerautomaten in Prolog
18.4 Erzeugte Sprache
18.5 Direktes Kellern
18.6 Spezialisieren durch Entfalten
18.7 Interpretation arithmetischer Ausdrücke
18.8 Kelleroperationen auf Syntaxdiagrammen
18.9 Die Grenzen von Kellerautomaten
18.10 Aufgaben
19 Turingmaschinen
19.1 Konzeption der Turingmaschine
19. 1.1 Akzeptor für die Sprache L2={ab/n ¤ N}
19.1.2 Turingmaschine zum Addieren
19.1.3 Algorithmische Grundstrukturen
19.2 Definition der Turingmaschine
19.3 Modellierung von Turingmaschinen in Prolog
19.4 Berechenbarkeit und Turingmaschine
19.5 Grenzen der Turingmaschine
19.6 Aufgaben
20 Parser, lnterpreter und Compiler
20.1 Strichlisten
20.2 mini-LOGO
20.3 mini-Pascal
20.3.1 Scanner für mini-Pascal
20.3.2 Parser für mini-Pascal
20.3.3 Interpreter für mini-Pascal
20.3.4 Compiler für mini-Pascal
20.3.5 Ausführung mit VISIS
20.4 Aufgaben
21 Maschinelle Sprachverarbeitung
2 1.1 Wortproblem - nichtdeteministische Kellerautomaten
21.2 Ableitungsbäume und Parser
21.3 Verarbeitung natürlicher Sprache
21.4 Computerlinguistik im Unterricht
21.5 ELIZA
21.6 Aufgaben
Anhang A - Glossar
Anhang B - Literaturverzeichnis
Anhang C Index