HTWK Leipzig, Fakultät IM
Prof. Dr. Sibylle Schwarz sibylle.schwarz@htwk-leipzig.de
Arbeitspaket zu KW 21 zum Modul „Grundlagen der Künstlichen Intelligenz“
Sommersemester 2020
In dieser Woche lernen wir ein anderes wichtiges Teilgebiet der symbolischen KI kennen:
Suchen und Spiele. Damit werden wir uns auch in den folgenden Wochen noch beschäftigen.
Im Zusammenhang mit den Resolutionsverfahren haben wir schon gesehen, dass es oft mehrere Möglichkeiten zur weiteren Berechnung gibt. Dann muss entschieden werden, welche Klauseln man im nächsten Schritt resolviert und welche Literale man in diesen Klauseln verwendet. Eine Automatisierung des Verfahrens, die operationale Semantik logischer Programmiersprachen, erfordert sinnvolle Strategien zur Auswahl dieser, wie sie z.B. der SLD-Resolution festgelegt sind.
Eine ähnliche Situation haben wir in Spielen für eine oder mehrere Personen. Meist sind mehrere Züge möglich und von einer sinnvollen Auswahl des nächsten Zuges hängt ab, ob und wie schnell man das Spiel gewinnt. Zur Automatisierung dieser Auswahl wird meist eine Bewertungsfunktion definiert, die jedem Zug (Knoten im Graphen des Spiels) einen Wert in einer geordneten Menge zuordnet. In jedem Schritt wird dann ein Zug mit dem besten Wert gewählt. Der Erfolg im Spiel hängt also von der Eignung der Bewertungsfunktion ab.
Häufig wird der BereichR≥0∪{∞}für die Werte gewählt, je kleiner der Wert, desto besser, das zusätzliche Element ∞ist größer als jede reelle Zahl. Wir beschränken uns hier auf derartige Bewertungsfunktionenh:V →R≥0∪{∞}. DieperfekteHeuristikH:V →R≥0∪{∞}ordnet jedem Knoten die tatsächlichen minimalen Kosten zu, unter denen von diesem Knoten ein (optimaler) Zielzustand erreicht werden kann. Knoten, von denen kein Zielzustand erreichbar ist, haben den Wert ∞. Zur Berechnung von H muss also der gesamte Suchraum bekannt sein. Kennt man nicht den gesamten Suchraum (was meist der Fall ist), versucht man, diese perfekte Heuristik möglichst gut zu approximieren.
In dieser Woche geht es zunächst um Ein-Personen-Spiele mit vollständiger Information, wie wir mit dem Münzspiel schon aus der ersten Vorlesung im Modul Modellierung kennen.
Dabei bauen wir auf Ihren Kenntnissen der aus dem Modul Algorithmen und Datenstrukturen bekannten Verfahren zur Suche in Graphen auf.
Lesen und Verstehen
Kapitel 6: Suchen, Spielen und Probleme lösen (Abschnitte 6.1. bis 6.3) im Buch Grundkurs Künstliche Intelligenz - Eine praxisorientierte Einführung (https://link.springer.com/content/pdf/10.1007%2F978-3-658-13549-2.pdf) Ergänzend dazu helfen die Folien zu diesem Thema aus dem Modul im SS19:
https://informatik.htwk-leipzig.de/schwarz/lehre/ss19/kib/kib19-suche.pdf https://informatik.htwk-leipzig.de/schwarz/lehre/ss19/kib/kib19-suche2.pdf
Begriffe Wiederholung:
Graph, Knotengrad (Eingangs-, Ausgangsgrad), Baum, Blatt, Pfad, Weg, Kreis in Graphen, Zustandsübergangssysteme, Zustand, Aktion,
Datenstrukturen Stack, Queue, Priority-Queue
Suchverfahren, Breiten- und Tiefensuche, Algorithmus von Dijkstra, Zusammenhänge der Suchverfahren mit diesen Datenstrukturen neu:
informierte / uninformierte Suche, Bestensuche, heuristische Suche, Eigenschaften von Suchverfahren: vollständig, optimal, offline, online Bewertungsfunktion, heuristische Funktion, Kostenfunktion
Eigenschaften heuristischer Funktionen: perfekt, zielerkennend, sicher, konsistent, nicht-überschätzend Uniforme-Kosten-Suche, Greedy-Suche, A∗-Suche, Iterative Deepening, IDA∗ -Suche
Testfragen
1) Was wird mit dem Algorithmus von Dijkstra berechnet?
Welche Datenstruktur wird dabei zur Verwaltung der entdeckten, aber noch nicht voll- ständig verarbeiteten Knoten verwendet?
2) Wann sind online-Suchverfahren sinnvoll und anwendbar, wann offline-Suchverfahren?
Geben Sie je fünf Beispiele an.
3) Was ist der Unterschied zwischen informierter und uninformierter Suche? Um welche Art Information geht es dabei?
4) Welche uninformierten Suchverfahren kennen Sie? Vergleichen Sie deren Vor- und Nach- teile.
5) Welche informierten Suchverfahren kennen Sie? Vergleichen Sie deren Vor- und Nach- teile.
6) Welche Vor- und Nachteile haben informierte gegenüber uninformierten Suchverfahren?
7) Was sind Unterschiede und Gemeinsamkeiten von Breiten- und Bestensuche? Mit wel- cher Bewertungsfunktion ist die Bestenscuhe genau die Breitensuche?
8) Wozu dient der Zyklencheck in heuristischen Suchverfahren?
Übungsaufgaben
Serie 6 (https://informatik.htwk-leipzig.de/schwarz/lehre/ss20/kib/serie6.pdf) Autotool
Aufgaben zu Ein-Personen-Spielen Punkte für die Prüfungszulassung
• insgesamt einen Moderationspunkt für kompakte Zusammenfassung / Präsentation der Abschnitte 6.1 bis 6.3
(Wir wiederholen zunächst die Semantik des Wortesinsgesamt.)
• 6 Punkte für die Übungsaufgaben:
– 6.1
– zwei Punkte für 6.2: je einer für die Berechnung mit und ohne Betrachtung des Leerfeldes in der Bewertungsfunktion
(6.2.a-c und Vergleich gemeinsam) – 6.3
– zwei Punkte für 6.4: je einer für die Berechnung mit und ohne Kosten für Abbiegen (zunächst 6.4.a-c und Vergleich gemeinsam)
Sie können sich wieder bis spätestens Montagabend im Wiki unter Aufgabenverteilung für eine dieser Aufgaben eintragen und dort auch die Definitionen der Begriffe und Antworten auf die Testfragen eintragen.