330 likes | 538 Views
Einführung. Willkommen zu Vorlesung+Praktikum Einführung in die künstliche Intelligenz. Einführung. zur Person: Harald Gläser Studium und Promotion als Physiker Zweitstudium Informatik Berufstätigkeit bei Philips Research in der Modellierung von physiko-chemischen Systemen
E N D
Einführung Willkommen zu Vorlesung+Praktikum Einführung in die künstliche Intelligenz
Einführung • zur Person: • Harald Gläser • Studium und Promotion als Physiker • Zweitstudium Informatik • Berufstätigkeit bei Philips Research in der Modellierung von physiko-chemischen Systemen • Seit 15.10.2001 an der FH Furtwangen • Sprechstunde: Freitags 13:00 - 13:45 C209
Einführung zur Vorlesung Fragen gleich stellen ! Folien downloaden unter www.computer-networking.de/~glaeser (im email - UFO System anmelden !!) www.ai-lab.fh-furtwangen.de Link zu UFO
Einführung Prüfungs(vor)leistungen: Für AI‘ler gilt: Praktikum muss bestanden werden, sonst keine Klausur a) Klausur b) Praktikum: I) Alle Aufgaben müssen zu zweit selbständig bearbeitet werden. Einzelbeitrag muß erkennbar sein II) 6 von 6 Aufgaben müssen bestanden werden.
Für WI‘ler gilt: a) Klausur (zählt 70% der Note) b) Referat: (zählt 30% der Note) - schriftliche Ausarbeitung ! - 20min Vortrag - 10min Diskussion - bitte Thema aus Liste aussuchen - Termin beachten
Einführung Klausurtermin: 6.02.04: 9:30 Uhr Zeit je nach Raumlage
Ziele der Vorlesung Knapper Überblick über grundlegende Paradigmen der KI Die Zusammenstellung der Themen erhebt keinen Anspruch auf Vollständigkeit Eventuell auf den Geschmack für den Schwerpunkt KI bringen
Literatur KI - Literatur (aus FHF Bibliothek):
Einführung Was ist künstliche Intelligenz ?? Computer soll Fähigkeiten bekommen, die beim Menschen auf dessen Intelligenz beruhen Menschliche Fähigkeiten, die auf Intelligenz beruhen: Denken, logisches Schlußfolgern, Begriffe bilden, Klassifizieren Lernen, Gedächtnis Sprechen / Verstehen Im Raum orientieren und bewegen, Muster / Bilder erkennen ...
Einführung Anwendungen der künstlichen Intelligenz Lösungssuche bei kombinatorischen Problemen (z.B. Spiele) spezialisierte Beratungssysteme (Expertensysteme) Verarbeitung natürlicher Sprache Mustererkennung (z.B. Spracherkennung, Bilderkennung) Robotics maschinelles Lernen Logik, automatisches Beweisen schlußfolgernde Datenbank-Abfragen, Data-mining, Suchmaschinen automatisches Programmieren
Einführung Können Maschinen denken ?? Was ist „denken“ ?? A. Touring: Kann man eine Maschine bauen, mit vom Menschen ununterscheidbarem Verhalten ?
Einführung Themenübersicht Problemlösen Neuronale Netze Maschinen Lernen Wissensrepräsentation
Problem = Quadrupel Problemlösen Was ist ein Problem ?? Beispiel: N Damen sollen auf NxN Schachbrett so positioniert werden, daß sie sich nicht schlagen können Menge von Problemzuständen. P: Problemzustand: Schachbrett + Belegung der Felder (mit Dame besetzt, unbesetzt) oder NIL anfänglicher Problemzustand. A: leeres Schachbrett
Problemlösen > Problemdefinition Menge von Zielzuständen: Z P Z: Zielzustand: NxN Schachbrett + irgendeine Belegung der Felder so, daß sich N Damen nicht schlagen können Op: Menge von Operationen o mit o: P P . unmögliche Operation dann, wenn a) Vorbedingungen der Operation treffen nicht zu b) Operation überführt „eigentlich“ in Zustand, der den Nachbedingungen nicht entspricht
Problemlösen > Problemdefinition Lösungsweg: eine Folge o1, o2, ... , on die von einem Anfangszustand in einen Zielzustand führt Beispiel: Damespiel: Vorbedingung : istBesetzt (bij) = false Operation oij : bij = Queen Nachbedingung: ~[ERREICHBAR(bij,bmn) istBesetzt(bmn) = true]
Problemlösen > Graphen Graph: Gebilde aus Knoten und (un - /gerichteten) Kanten Baum: Graph, dessen Knoten jeweils genau einen Vorgänger haben (bis auf die Wurzel)
Problemlösen > Graphen Zuordnung Problem <=> orientierter, markierten Graphen Knoten Kanten Wurzel terminale Knoten term. Knoten term. Knoten Pfad Problemzustände Operatoren Anfangszustand Endzustände Zielzustände Sackgassen Lösungsweg <- Knoten ohne Vorgänger <- Knoten ohne Nachfolger
Problemlösen > Techniken zur Lösungssuche Nicht - informierte Suche keine Zusatz Kenntnisse über Problembereich Graph zufällig durchlaufen bis zufällig Zielzustand gefunden
Übung Missionarsproblem 3 Missionare mit 3 Kannibalen versuchen mit 2 Mann Boot über einen Fluß zu kommen. Sei gegenüber Kannibalen NIE in der Minderzahl ! Identifizieren sie Problemzustände, Anfangszustand, Endzustand, Sackgassen, Operationen, Vorbedingungen, Nachbedingungen, Lösungsweg Finden Sie mehr als einen Lösungsweg ?
Problemlösen > Techniken zur Lösungssuche Bedingungen für zielgetriebene Suche • Ziel muß explizit und nicht über ein Prädikat definiert sein (vrgl. Damen Problem bzw. Schach) • Eingangsbedingungen der Operationen gleiche Form wie Ausgangsseiten (nicht gegeben bei denen die Operationen z.B. Löschungen in der Wissensbasis auslösen) ???
Problemlösen > Techniken zur Lösungssuche Wann Ziel- wann Daten- getrieben ? Verzweigungsgrad bei A und Z Nachteil unidirektionaler Suche: Suche kann am Ziel vorbeiführen vrgl. A / P4 / P5 im Bspl. => bidirektionale Suche - hoffentlich treffen sich die Pfade Bspl.: A - P3; Z - P3 besonders hilfreich beim Aufeinanderzusteueren: Abstandsmaß
Problemlösen > Techniken zur Lösungssuche Suchstrategien in Bäumen Tiefe zuerst Suche expandierend strikt Schnapschuß = (Knoten, dort noch nicht angewandte Operationen) Pfadliste = Stapel Pfad = Liste von Schnapschüssen Backtracking
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Problemlösen > Techniken zur Lösungssuche Suchstrategien in Bäumen Breite zuerst Suche Pfadliste = Schlange
Problemlösen > Techniken zur Lösungssuche b = mittlerer Verzweigungs grad
Problemlösen > Techniken zur Lösungssuche Modifikationen: iterierte Tiefe zuerst Schranke für Tiefe - wenn erreicht neue Tiefensuche wenn keine neue Tiefensuche möglich -> Schranke erweitern erreicht immer eine Lösung, trotzdem gute Speicherökonomie bidirektionale Breite zuerst Breite zuerst Suche sowohl von Zielknoten als auch von Ausgangsknoten Zeit und Speicheraufwand = O(bn/2) (n gerade)
Problemlösen > Techniken zur Lösungssuche Informierte Suche: Knotenbewertungen Kantenbewertungen Kosten der Operation (Reisekosten, Entfernung,...) Kompliziertheit des Problemzustand Beitrag einer Operation zur Verringerung der Differenz zum Zielzustand Abstand zum Zielzustand entstandene Kosten bei der Entwicklung eines Pfads
Problemlösen > Techniken zur Lösungssuche Bewertungspolynom z Problemzustand ciMerkmale von z aikonstante Wichtungsfaktoren Beispiel: Schach c1Summe des Materialwerts der eigenen Figuren (a1>0) c2Anzahl der Drohungen durch den Gegener (a2<0) ...
Problemlösen > Techniken zur Lösungssuche auf jedem Knoten die Bewertung auftragen -> Bewertungsgebirge Pfad des steilsten Anstiegs einschlagen -> hill climbing Verfahren Balance zwischen Kosten der Bewertungsfkt. und deren Nutzen Gütemaß für die Suche: Penetranz = Länge des Lösungspfads / Anzahl der insgesamt erzeugten Knoten
Problemlösen > Techniken zur Lösungssuche Graphensuche sucht in kantenbewerteten Graph den Lösungsweg mit minimalen Kosten Init. Graph G mit Wurzel A A -> Liste OPEN nicht expandierter Knoten
Problemlösen > Techniken zur Lösungssuche Init. Graph G mit Wurzel A A -> Liste OPEN nicht expandierter Knoten OPEN = NIL Ja Ende: Mißerfolg Nein erster Knoten von OPEN N in CLOSED N = Z Ende: Erfolg, Lösungspfad mit Zeigern generieren Ja Nein
Problemlösen > Techniken zur Lösungssuche Bestimmen Nachfolger von N = Menge M Zeiger von allen N‘M zu N. N‘ in M aufnehmen Wenn N‘ schon in G enthalten: wird Zeiger umgesetzt wenn niedrigerer Abstand zu A Wenn N‘ schon in CLOSED enthalten: wird Zeiger der Nachfolger umgesetzt wenn niedrigerer Abstand zu A M (ohne „closed“) in OPEN aufnehmen Ordnen der Liste OPEN nach minimalem Abstand zu A