Universität Dortmund
Lehrstuhl Informatik VIII
Stefan Haustein
Wintersemester 2000 |
2000-10-25 |
Übungsblatt 2 zur Vorlesung Künstliche Intelligenz
Abgabe bis Do., 2.11.2000, Briefkasten LS VIII im Eingangsbereich GB IV
Aufgabe 2.1 (4 Punkte):
Austauschstudent Guy Geeky hat sein ganzes Geld für Computerspiele
ausgegeben und schickt folgenden Hilfebrief an seine Eltern:
S E N D
+ M O R E
=========
M O N E Y
Und natürlich wissen seine Eltern, daß jeder Buchstabe für eine
andere Ziffer im Bereich [0..9] steht und die Zahlen nicht mit
führenden Nullen beginnen.
- Wieviel Geld will Guy haben? Schreiben Sie ein Prolog-Programm,
welches dieses
herausfindet. Implementieren Sie dazu ein Prädikat
plus(A,B,Uebertrag,Summe) das
zwei Zahlen A und B im Bereich
[0..9] addiert (2 P).
- Ist die Lösung eindeutig oder gibt es mehrere
Lösungen?
- Kowalski sagt: Programming = Logic + Control.
Erläutern Sie kurz, was in Ihrem Programm
mehr Logic und was mehr Control ist.
Aufgabe 2.2: (5 Punkte)
Das sogenannte 8-Puzzle ist ein quadratisches Spielbrett mit 3 x 3 Feldern,
auf denen acht durchnumerierte Steine untergebracht sind.
Jeder dieser Steine kann, falls er an das leere Feld grenzt, dorthin
verschoben werden.
Ausgehend von einer beliebigen Startkonfiguration s der Steine auf
dem Brett soll durch eine Folge von Verschiebungen eine Zielkonfiguration
z erreicht werden.
--------- ---------
| 2 8 3 | | 1 2 3 |
| | | |
s = | 1 6 4 | z = | 8 4 |
| | | |
| 7 5 | | 7 6 5 |
--------- ---------
In der Startkonfiguration s können beispielsweise nur die Steine
4 und 5 verschoben werden, weil nur diese beiden neben dem freien Feld
liegen.
- Implementieren Sie - ausgehend von der A*-Implementierung aus der
Vorlesung - das obige Problem geeignet als Suchproblem (3
Punkte).
- Bauen Sie die folgenden heuristischen
Schätzfunktionen ein (2 Punkte).
- h=0.
- h= Anzahl der Teile auf der falschen
Position (z. B. für
s ist h=6, für z
ist h=0).
- Eine eigene (bessere ?) Heuristik.
Wieviele Knoten werden jeweils expandiert ?
Wie lang ist die kürzeste Lösung?
Aufgabe 2.3: (2 Punkte)
Wandeln Sie den Algorithmus so ab, daß er jeweils mit den drei oben
beschriebenen Heuristiken eine Bergsteigestrategie verfolgt. Vergleichen
Sie die Ergebnisse mit denen aus Aufgabe 2.2.