Künstliche Intelligenz Prof. Dr. Jürgen Cleve Hochschule Wismar 19. Februar 2016 Inhaltsverzeichnis Einleitung Darstellung und Verarbeitung von Wissen Vages Wissen Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme Infos Lehrveranstaltungen 2 SWS V + 2 SWS Ü Prüfung Klausur 120 min Folien, Übungen etc. in Stud.IP Literatur PROLOG Modul KI Lämmel/Cleve, LÜB KI, Hanser 2012, Kapitel 2-5. [Uwe Lämmel, Jürgen Cleve 2012] http://www.wi.hs-wismar.de/kibuch Forbrig/Kerner: Programmierung – Paradigmen und Konzepte, Fachbuchverlag Leipzig 2005, Kapitel Logik www.wi.hs-wismar.de/~cleve/prolog/fachbuchKap4.html in ILIAS, viele Zusatzinfos (Videos, Tests) WWW-Seiten zu KI www.wi.hs-wismar.de/~cleve/vorl/ki15/infos.html Einordnung in das Studium 1 Einleitung Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis Einleitung Darstellung und Verarbeitung von Wissen Vages Wissen Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme 1 Einleitung Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis – Kapitel 1 Einleitung Einführung Intelligenz und KI KI und Informatik Architekturen State of the art Zusammenfassung (Einleitung) Aufgaben 1 Einleitung Künstliche Intelligenz Folie 1-1 (7) Einleitung Machines should work; people should think IBM Pollyanna Principle Arthur Bloch, Murphy’s Law, 1981 1 Einleitung Künstliche Intelligenz 1.1 Einführung Geschichte I Künstliche Menschen in der Literatur schon im Mittelalter. I Leibniz: Universal-Maschine, die alles ausrechnen kann (also auch logische Schlüsse) I 1956 Konferenz in Dartmouth, Begriff „artificial intelligence“ geboren. Folie 1-2 (8) 1 Einleitung Künstliche Intelligenz 1.1 Einführung Folie 1-3 (9) KI - Warum ? Computer-Historie: I Maschinen, die rechnen können. I Maschinen (Programme), die Textverarbeitung beherrschen. I Programme, die mit grafischen Darstellungen umgehen können. I Nun bringen wir den Computern das Denken bei. 1 Einleitung Künstliche Intelligenz 1.2 Intelligenz und KI Folie 1-4 (10) Menschliche Intelligenz Intuition Handlungsweise eines Börsenmaklers Allgemeinwissen Beantwortung von Fragen z.B. in Trivial Pursuit Urteilsvermögen Was ist eine gute/schlechte Lösung? Kreativität Innovationsfähigkeit bei der Problemlösung Plausibles Schließen „Wenn es regnet, nehme ich einen Schirm mit.“ Abstraktionsvermögen Begriffe wie Straßenverkehr, Emotionen . . . Problemlösungsgeschwindigkeit KI versucht, dies nachzuahmen. 1 Einleitung Künstliche Intelligenz 1.2 Intelligenz und KI Folie 1-5 (11) Intelligenz und KI Wesentliche Kriterien für Intelligenz: I Lernfähigkeit I Logisches Denkvermögen I Abstraktionsvermögen etc. Wichtige Beobachtung: Begriff Intelligenz ist dynamisch 1 Einleitung Künstliche Intelligenz 1.2 Intelligenz und KI Folie 1-6 (12) Intelligenz Viele Facetten: I allgemeine Alltagsintelligenz (Sehen, Hören, . . . ) I Expertenintelligenz (bestimmte Fachgebiete beherrschen) I emotionale Intelligenz I soziale Intelligenz ... Wir konzentrieren uns auf die Expertenintelligenz. 1 Einleitung Künstliche Intelligenz 1.2 Intelligenz und KI Folie 1-7 (13) Künstliche Intelligenz Wie kann man KI definieren? 4 Ansätze: 1. Denken wie ein Mensch 2. Handeln wie ein Mensch 3. Vernünftig denken 4. Vernünftig handeln 2 Sichtweisen: I Natur nachahmen I Rein funktionale Sicht 1 Einleitung Künstliche Intelligenz 1.2 Intelligenz und KI Folie 1-8 (14) 1.2.1 Kontroverse Diskussionen Kontroverse Diskussionen Gründe für kontroverse Diskussionen um KI: I unglückliche 1-1-Übersetzung des Begriffs Artificial Intelligence I überzogene Erwartungen/Versprechungen I konservative Standpunkte (Intelligenz als etwas Unscharfes, nur dem Menschen Gegebenes) I emotionale statt sachliche Diskussion Bessere Begriffe: synthetische Intelligenz oder computational intelligence. 1 Einleitung Künstliche Intelligenz 1.2 Intelligenz und KI Folie 1-9 (15) 1.2.2 Fazit Fazit Ziel der KI: Befähigung der Computer zu Assistenzleistungen für den Menschen, deren Erbringung durch den Menschen Intelligenz erfordern würde. Unwesentlich, ob die gleiche Technik angewandt wird: I Flugzeuge und Vögel können fliegen . . . I . . . allerdings mit unterschiedlichen Methoden 1 Einleitung Künstliche Intelligenz 1.2 Intelligenz und KI 1.2.2 Fazit Andere Intelligenz-Bestimmung I Entscheidung, ob intelligent oder nicht, rein subjektiv I Beurteilung nur nach der erbrachten Leistung oder Reaktion I Turing-Test I Test wurde erstmals 2014 von dem russischen Programm „Eugene Goostmann“ bestanden. Im folgenden verwenden wir KI als terminus technicus. Folie 1-10 (16) 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-11 (17) Typische KI-Probleme Frühe Arbeiten : Spielen (Schach, Dame etc.) Beweisen mathematischer Sätze Typische, aktuelle KI-Anwendungsfelder: I Sprachverarbeitung, Bildverarbeitung I Robotik I Experten-Systeme (Diagnose, Planen, Konfigurieren) I Intelligente (Software-)Agenten I Data Mining, Wissensmanagement 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-12 (18) KI und konventionelle Datenverarbeitung I KI verarbeitet Wissen. I Begriffe: I I I Daten: Zahlen, Zeichenketten, . . . Information: Daten, deren Bedeutung wir kennen Wissen: Information, mit der man arbeiten kann (Zusammenhänge, Abhängigkeiten, logische Regeln . . . ) I Wissen wird explizit repräsentiert und verarbeitet. I In herkömmlicher DV: Wissen meist direkt im Algorithmus 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-13 (19) KI-Schwerpunkte I Wissensdarstellung (-repräsentation) und Wissensverarbeitung I Mechanisierung des Schließens (z.B. mathematisches Beweisen: Deduktion/Induktion etc.) I Wissensakquisition, Maschinelles Lernen, Data Mining I Problemlösungsverfahren, Suchverfahren 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Quellen der KI (u.a.) I Psychologie I Neurobiologie I Informatik I Mathematik (z.B. Logik) Folie 1-14 (20) 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-15 (21) Bezüge zur klassischen Informatik I Programmiersprachen I Modellierung I Systementwurf I Softwaretechnik I ... 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-16 (22) Konsequenzen I KI und Informatik sehr stark verbunden I Verständnis intelligenten Verhaltens erforderlich, allerdings kein umfassendes Verständnis menschlicher Intelligenz I KI: Beitrag zum Verständnis menschlicher Intelligenz I KI-Systeme: Computer-Programme mit einer bestimmten (eingeschränkten) Assistenzfunktion, folglich auch mit Kompetenzgrenzen. 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-17 (23) Beobachtung KI-Techniken in vielen (Informatik)-Produkten/-Systemen: I Vererbungstechniken I automatische Beweiser I Regelsysteme (Aktionsregeln) I Bild- und Spracherkenner I ... 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-18 (24) Aufbau der Vorlesung I Generelle Architektur von KI-Systemen I KI-Techniken I I I I I I Wissensrepräsentation und -verarbeitung Vages Wissen Programmiersprache Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme und KI-Anwendungsfelder 1 Einleitung 1.3 KI und Informatik Künstliche Intelligenz Folie 1-19 (25) Ein Beispiel . . . Beispiel 1.1 (Prolog) Schulze, Meier und Lehmann wohnen in unserer Straße. Einer ist Maler, ein anderer Klempner, der dritte Tischler. Unlängst wollte der Maler seinen Freund, den Tischler, um die Anfertigung eines Tisches bitten. Man sagte ihm, dass der Tischler gerade im Haus des Klempners arbeitet. Außerdem ist bekannt, dass Meier noch nie von Lehmann gehört hat. Wer übt welchen Beruf aus? 1 Einleitung 1.3 KI und Informatik Künstliche Intelligenz Folie 1-20 (26) Ein Beispiel . . . % Zu einer Person gehören Name und Beruf. person(Beruf, Name) :- beruf(Beruf),name(Name). name(schulze). name(meier). name(lehmann). beruf(maler). beruf(klempner). beruf(tischler). % Einige kennen sich: kennt(maler,X,tischler,Y). kennt(tischler,X,maler,Y). kennt(klempner,X,tischler,Y). kennt(tischler,X,klempner,Y). kennt(maler,X,klempner,Y). loesung(Schulze,Meier,Lehmann) :person(Schulze,schulze), % Schulze/Meier haben unterschiedliche Berufe person(Meier,meier), Meier \= Schulze, person(Lehmann,lehmann),Lehmann\=Schulze,Lehmann\=Meier, % Meier kennt Lehmann nicht. not(kennt(Meier,meier,Lehmann,lehmann)). 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-21 (27) Wissensverarbeitung Wissen Computer Logisches Denken Wissensverknüpfung Lösung Abb. 1: Wissensverarbeitung 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-22 (28) Problemlösen mittels Regelverarbeitung Container−Umschlag C1 C2 C3 Lager L1 L2 LKW ?? L1 C2 L2 Waggon Wenn C auf Lager und C ist oben Dann setze C auf LKW Wenn C auf LKW und C ist oben Dann setze C auf Waggon ... Abb. 2: Problemlösung durch Regelverarbeitung 1 Einleitung Künstliche Intelligenz 1.3 KI und Informatik Folie 1-23 (29) Neuronale Netze Abb. 3: Wissensverarbeitung mit Neuronalen Netzen 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Architekturen Ausgangspunkt: Das angestrebte Verhalten von Computern als (scheinbar) intelligente Assistenten. Folie 1-24 (30) 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Folie 1-25 (31) 1.4.1 KI – Historie Historie Die ersten „Computer“ der Welt: I Wilhelm Schickard (1623) I Blaise Pascal (1642) I Gottfried Wilhelm Leibniz (1671 - ca. 1693) 1 Einleitung Künstliche Intelligenz 1.4 Architekturen 1.4.1 KI – Historie Leibnizsches Programm I lingua characteristica I calculus ratiocinator . . . mit den Worten der KI aus heutiger Sicht: I eine formale Sprache zur Wissensrepräsentation I ein Inferenzmechanismus (Wissensverarbeitung) zum automatischen Schließen Folie 1-26 (32) 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Folie 1-27 (33) 1.4.1 KI – Historie Geschichte der KI – 1 Erste Schritte 1945-1965 Darthmouth-Konferenz 1956: Artificial Intelligence aus der Wiege (Minsky, McCarthy, Newell, Simon u.a.) gehoben. I Kennzeichnend: Suche nach universellen Lösungsmustern und deren Anwendung auf einfache Probleme (z.B. die Klötzchenwelt). I Ernüchterung 1965-1975 Universelles Vorgehen ist zu komplex. I Also Spezialisierung, thematisch und technisch. I Themen: universelle Methoden für die Wissensrepräsentation und -verfahren sowie Suchtechniken. I 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Folie 1-28 (34) 1.4.1 KI – Historie Geschichte der KI – 2 Periode 1975-1990 I I I I I Erfahrungen der Jahre zuvor: problemspezifisches Vorgehen erforderlich. Leistungskraft einer Problemlösung hängt eher vom Problemwissen als von den allgemeinen Problemlösungstechniken ab. Erste ernstzunehmende Anwendungen wie Expertensysteme. Neue Themen: z.B. Fuzzy-Ansätze und Techniken zur Wissensakquisition. Ebenso: Orientierung an naturanalogen Verfahren wie Neuronalen Netzen, Genetischen Algorithmen, Simulated Annealing etc. 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Folie 1-29 (35) 1.4.1 KI – Historie Geschichte der KI – 3 Periode seit 1990 Paradigmenwechsel zu den Intelligenten Agenten. I Anwendungsspezifische Spezialisierung geht weiter. I Bestimmte KI-Techniken werden neu „erfunden“, wie die Business Rules (Production Rules) und die Topic Maps (Semantische Netze). I KI hält stärker Einzug in betriebswirtschaftliche Anwendungen. I 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Folie 1-30 (36) 1.4.2 Architekturprinzipien Architekturprinzipien KI-Systeme: explizite Repräsentation von Wissen. I Wissensbasis I Inferenzmaschine Aus Anwendersicht: I Benutzerschnittstelle (User Interface) I I Erklärungskomponente Wissenserwerbskomponente 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Folie 1-31 (37) 1.4.2 Architekturprinzipien Architekturprinzipien Wissensakquisition User Interface Erklärungskomponente Inferenzmaschine Wissensbasis Abb. 4: Architektur von KI-Systemen 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Folie 1-32 (38) 1.4.2 Architekturprinzipien Architekturprinzipien In realen KI-Systemen: I heterogene und strukturierte Wissensbasis I I I I unterschiedliche Wissensarten in unterschiedlichen Repräsentationen hierarchische Strukturen verteilte Wissensbasen (Regeln, Datenbanken etc.) verschiedene Inferenzmechanismen 1 Einleitung Künstliche Intelligenz 1.4 Architekturen Folie 1-33 (39) 1.4.3 Intelligente Agenten Intelligente Agenten Wissen H H H j H X XX Erfahrungen z X : Ziele * Beobachtungen Agent - Aktionen Abb. 5: Intelligente Agenten 1 Einleitung Künstliche Intelligenz 1.5 State of the art Folie 1-34 (40) Wie weit ist KI heute? Wissensbasierte Systeme Diagnose- und Beratungssysteme Robotik STANLEY ist ein fahrerloser VW Touareg, der durch die Mojave-Wüste eine 132-Meilen-Strecke mit einer Geschwindigkeit von 22 mph schaffte (2006). Spracherkennung Viele Dialogsysteme verwenden Spracherkennung. Autonome Planungsagenten Die NASA nutzt intelligente Agenten zur Steuerung der Raummissionen zu entfernteren Planeten (MAPGEN 2004, MEXAR2 2007). Spielstrategien DEEP BLUE schlug als erster Computer einen Schach-Weltmeister (Kasparow, 1997). Spamfilter Lernfähige Spamfilter benutzen KI-Techniken. Planung in der Logistik 1991 nutzten die USA während der Golf-Krise das Tool DART (Dynamic Analysis and Replanning Tool) für eine automatische Planung der Logistik. 1 Einleitung Künstliche Intelligenz 1.6 Zusammenfassung (Einleitung) Folie 1-35 (41) Das sollten Sie wissen . . . Zusammenfassung 1.1 (Einleitung) I Künstliche und natürliche Intelligenz I Leibnizsches Programm I Historie I Architektur von KI-Systemen 1 Einleitung 1.7 Aufgaben Künstliche Intelligenz Folie 1-36 (42) Aufgaben Einleitung Aufgabe 1.1 (Intelligenz) Was sind aus Ihrer persönlichen Erfahrung heraus wichtige Kriterien für Intelligenz? Aufgabe 1.2 (Wissensdarstellung) Warum ist es in bestimmten Bereichen sinnvoll, das Wissen explizit darzustellen, also z.B. in Form einer logischen Regel? Wann sollte man im Gegensatz dazu das Wissen gleich direkt in einen Algorithmus codieren? 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis Einleitung Darstellung und Verarbeitung von Wissen Vages Wissen Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis – Kapitel 2 Darstellung und Verarbeitung von Wissen Wissen und seine Darstellung Kriterien für die Wissensrepräsentation Wissensarten Arten der Wissensdarstellung Prädikatenlogik Logikbasierte Wissensdarstellung und Regelverarbeitung Regelbasierte Wissensverarbeitung Semantische Netze Frames Prozedurale Darstellung Weitere Darstellungsformen Zusammenfassung (WR/WV) Aufgaben 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz Folie 2-1 (45) Darstellung und Verarbeitung von Wissen If an experiment works, something has gone wrong. Finagl’s First Law Arthur Bloch, Murphy’s Law, 1981 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz Folie 2-2 (46) Darstellung und Verarbeitung von Wissen I Repräsentation und Verarbeitung von Wissen – Kernthemen der KI I Wissen – „nützliche, anwendbare“ Information, die für eine Problemlösung hilfreich ist. I geeignete Darstellungen für Wissen: WR I passende Verarbeitungsformen: WV 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz Folie 2-3 (47) Typisches Vorgehen bei Problemlösungen I Charakterisierung des Gegenstandsbereichs I Symbolische Repräsentation der Objekte I Eingabe des Wissens in den Computer I Fragen stellen I Antworten interpretieren 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz Folie 2-4 (48) Darstellung und Verarbeitung von Wissen Grundlegend für KI-Systeme: explizite Repräsentation von Wissen Warum? Trennung des Problemwissens von der Verarbeitung . ; In konventionellen Programmen verschmelzen Problemlösung und Problemwissen. ; Dies ist nachteilig, falls sich Problembereich ändert. Kernbereich der KI: Repräsentation von Wissen WR immer im Zusammenhang mit Wissensverarbeitung 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz Folie 2-5 (49) Wissensverarbeitung Abb. 6: KI – Wissensverarbeitung 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz Folie 2-6 (50) KI und Problemlösung Folgende Probleme: 1. Wie extrahiert man das Problemwissen? 2. Wie stellt man es auf dem Rechner dar? 3. Wie kann man das Wissen automatisch verarbeiten? Für den 3. Punkt verwendet man u.a. auch Suchalgorithmen. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz Folie 2-7 (51) Ansatz der WR/WV I Adäquate Wissensdarstellung I Passende Wissensverarbeitung (Inferenzregeln) I Problemreduktion auf Suche 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.1 Wissen und seine Darstellung Folie 2-8 (52) Wissen und seine Darstellung I Ebene des Wissen (reale Welt) I symbolische Ebene (Repräsentationsebene) Beispiel 2.1 (Logik) Wir wissen: alle Menschen sind sterblich, Sokrates ist ein Mensch. In Prädikatenlogik: ∀X mensch(X ) → sterblich(X ) mensch(sokrates) Jetzt können wir schließen: sterblich(sokrates) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.1 Wissen und seine Darstellung Folie 2-9 (53) Wissensverarbeitung Ausgangswissen in der realen Welt Resultate der WV in der realen Welt 6 ? Interne Darstellung des Wissens Verarbeitung durch den Computer Interne Darstellung der Resultate Abb. 7: Wissensverarbeitung – Prinzip 2 Darstellung und Verarbeitung von Wissen 2.2 Kriterien für die Wissensrepräsentation Künstliche Intelligenz Folie 2-10 (54) Kriterien der WR Wichtige Kriterien für die Qualität der Wissensrepräsentation sind: 1. Adäquatheit (Fähigkeit, das vorhandene Wissen darzustellen) 2. Granularität der Modellierung 3. Leistungskraft der Verarbeitungskomponente 4. Effizienz der Verarbeitungskomponente 5. leichte Erweiterbarkeit 2 Darstellung und Verarbeitung von Wissen 2.3 Wissensarten Künstliche Intelligenz Folie 2-11 (55) Arten von Wissen I Relationales Wissen I Vererbbares Wissen I Prozedurales Wissen I Logik-Wissen I ... Beispiel 2.2 (Vererbung) I Ein Auto hat einen Motor. I Ein Audi ist ein Auto. I ; D.h. der Audi hat einen Motor. 2 Darstellung und Verarbeitung von Wissen 2.3 Wissensarten Künstliche Intelligenz Folie 2-12 (56) Vererbung Abb. 8: Vererbung von Eigenschaften 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.4 Arten der Wissensdarstellung Folie 2-13 (57) Arten der Wissensdarstellung Natürlichsprachliche Repr. Das Auto ist rot. Logische Repr. ist_rot(Auto). ∀X ist_rot(X ) → ist_ferrari(X ). Regel-basierte Repr./Horn-Logik hat(X,raeder) :- ist_auto(X). Semantische Netze Objektorientierte Repräsentation z.B. Frames Vererbungstechniken Prozedurale Repräsentation ... 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.4 Arten der Wissensdarstellung Folie 2-14 (58) Behandelte WR/WV-Techniken Wir werden uns mit folgenden Wissensrepräsentationstechniken befassen: I Prädikatenlogik I Regelbasierte WR: Logik und Produktionsregeln I Vererbung: Semantische Netze und Frames I Unsicheres Wissen: Bayessche Formel und Sicherheitsfaktoren I Unscharfes Wissen: Fuzzy 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-15 (59) Prädikatenlogik I Logik ist einer der ältesten Untersuchungsgegenstände der KI. I Automatische Beweisen: das Thema der KI I Wissensrepräsentation mit Logik: leistungsstarke Technik I PL wird in vielen Anwendungsgebieten der KI benutzt. I Prädikatenlogik ist eine Erweiterung der Aussagenlogik. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-16 (60) 2.5.1 Syntax Quantifizierung Eine Person, die eine andere Person liebt, hasst diese nicht. I Aussagenlogik: liebtXY → ¬hasstXY für jedes Personenpaar X, Y. I I I Besser: ∀X ∀Y liebt(X , Y ) → ¬hasst(X , Y ) Die Eigenschaften liebt, hasst nennt man Prädikate. Quantifizieren nur über Objekte: Prädikatenlogik 1.Stufe (PL1). 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-17 (61) 2.5.1 Syntax Unterschiede zur Aussagenlogik I Ereignisse/Eigenschaften (Prädikate) mit Argumenten I Quantifizierung über Objekte 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-18 (62) 2.5.1 Syntax Prädikatenlogik – Syntax I Objekte (werden repräsentiert durch Konstante oder Variablen) I Prädikate (Relationen, Eigenschaften) I Funktionen I Verknüpfungsoperatoren und Quantoren (∧, ∨, ↔, →, ¬, ∀, ∃) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-19 (63) 2.5.1 Syntax Prädikatenlogik – Syntax Prädikatenlogische Formeln können wie folgt aussehen: I einfach (atomar): interessant (wirtschaftsinformatik ) I zusammengesetzt: p(a) ∨ p(b) I quantifiziert: ∀X p(X ), ∃X p(X ) Variablen können all- oder existenzquantifiziert sein. Bemerkung 2.1 (Geschlossene Formeln) I Betrachten nur Formeln OHNE freie Variablen. I Jede Variable muss also quantifiziert werden. I ; geschlossene Formeln 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-20 (64) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Syntax - Beispiel I Marcus war ein Mensch: mensch(marcus) I Marcus war ein Pompejer: pompejer (marcus) I Alle Pompejer waren Römer: ∀X pompejer (X ) → roemer (X ) I I I I I Der Herrscher war Caesar: herrscher (caesar ) Alle Römer verhielten sich Caesar gegenüber loyal oder hassten ihn: ∀X roemer (X ) → (loyal (X , caesar ) ∨ hasst (X , caesar )) Jeder Mensch verhält sich zu irgendjemandem loyal: ∀X mensch(X ) → ∃Y (mensch(Y ) ∧ loyal (X , Y )) Menschen ermorden nur solche Herrscher, zu denen sie nicht loyal sind: ∀X ∀Y (mensch(X ) ∧ herrscher (Y ) ∧ ∧ mordversuch(X , Y )) → ¬loyal (X , Y ) Marcus hat versucht, Caesar umzubringen: mordversuch(marcus, caesar ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-21 (65) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Gültigkeitsbereich der Quantoren In ∀X mensch(X ) → sterblich(X ) bezieht sich der Quantor auf die gesamte Implikation. Also müsste man eigentlich schreiben: ∀X [mensch(X ) → sterblich(X )] Dagegen beschränkt sich die Gültigkeit des ersten X in der Formel ∀X p(X ) ∨ ∀X q (X ) nur auf die Aussage p. Besser: Umbenennung der Variablen ∀X p(X ) ∨ ∀Y q (Y ). 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-22 (66) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Gültigkeitsbereich der Quantoren Schreiben Sie den Quantor an die Stelle, wo er hingehört. In der Aussage: „Alle Menschen haben einen Vater.“ brauchen wir einen Allund Existenzquantor: ∀X mensch(X ) → ∃Y mensch(Y ) ∧ vater_von(X , Y ) In ausführlicher Schreibweise mit Klammern sieht die Formel so aus: ∀X ( mensch(X ) → ∃Y (mensch(Y ) ∧ vater_von(X , Y )) ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-23 (67) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Übersetzung von Aussagen in die PL Wie übersetzt man die Aussage „WI- und MM-Studenten lieben (alle) Informatikthemen.“ korrekt in die Prädikatenlogik? 1. Welche Eigenschaften haben wir? wi_student, mm_student, informatikthema, liebt 2. Auf wen beziehen sich diese Eigenschaften? I wi_student ; Person; also einstellig. I mm_student ; Person; also einstellig. I informatikthema ; Thema; also einstellig. I liebt ; Person, Thema; also zweistellig. 3. Ist es eine Alle- oder Existiert-Aussage? ∀X . 4. Die Liebe zu Informatikthemen gilt für WI- und MM-Studenten: I ∀X ∀Y wi_student(X ) ∧ informatikthema(Y ) → liebt(X , Y ) I ∀X ∀Y mm_student(X ) ∧ informatikthema(Y ) → liebt(X , Y ) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-24 (68) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Übersetzung von Aussagen in die PL Wie übersetzt man die Aussage „Marcus war ein Mensch“ korrekt in die Prädikatenlogik? 1. mensch(marcus) 2. marcus(mensch) Variante 1 ist richtig. mensch ist eine Eigenschaft (die Marcus erfüllt), marcus dagegen ist keine Eigenschaft, sondern ein Objekt. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-25 (69) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Übersetzung von Aussagen in die PL 1. Erkennen, welche Eigenschaften (wahr/falsch) und Objekte enthalten sind 2. Erkennen der atomaren Aussagen (Eigenschaft mit zugehörigen Objekten); Einführung von Variablen für variable Objekte 3. Logische Verknüpfungen erkennen 4. Ggf. Quantifizierung erkennen 5. Teil-Aussagen im Satz erkennen und benennen, Aussage möglichst in Teilaussagen zerlegen 6. Formel aufstellen 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-26 (70) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Implizite und explizite Quantifizierung In der Umgangssprache verwenden wir häufig implizite Quantifizierung. I I I Menschen sind intelligent: ∀X mensch(X ) → intelligent (X ) Da sind Menschen in der Stadt: ∃X mensch(X ) ∧ in_stadt (X ) Jeder Mensch verhält sich zu irgendjemandem loyal: ∀X mensch(X ) → ∃Y (mensch(Y ) ∧ loyal (X , Y )) Unterschied zwischen All- und Existenz-Quantifizierung. Faustregel: I All-Quantifizierung: i.allg. Implikation I Existenz-Quantifizierung: i.allg. UND. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-27 (71) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Quantifizierung Warum wurde Aussage Alle Pompejer waren Römer nicht so übersetzt? ∀X (pompejer ) roemer (X ) Denn eigentlich nur Aussage über Pompejer. I In der Prädikatenlogik nicht möglich. I Es ist aber auch nicht nötig. Die Formel ∀X pompejer (X ) → roemer (X ) drückt das Gleiche aus. (Implikation ist auch für jedes X wahr, welches nicht Pompejer ist.) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-28 (72) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Was ist richtig? Wie drückt man in der Prädikatenlogik aus: Alle Discobesucher sind jung? Var 1 Var 2 I ∀X discobesucher (X ) ∧ jung (X ) ∀X discobesucher (X ) → jung (X ) ∀X meint wirklich alle X , also zB Helmut Schmidt. I Besucht Hr. Schmidt eine Disco, und ist er jung? Nein. I Also ist Variante 2 richtig. Falls das gewählte X ein Discobesucher ist, dann ist er/sie zwingend jung. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-29 (73) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Was ist richtig? Aussage eines Tatverdächtigen Anton: „Ich war es nicht, ich war nicht am Tatort, Claus war’s.“ ¬taeter (anton) ∧ ¬am_tatort (anton) ∧ taeter (claus) Was müssen wir tun, wenn wir wissen, dass Anton lügt? Var 1 Var 2 taeter (anton) ∧ am_tatort (anton) ∧ ¬taeter (claus) ¬(¬taeter (anton) ∧ ¬am_tatort (anton) ∧ taeter (claus)) Welche Variante ist richtig? Variante 2! Und welche Formel nehmen wir nun in unsere Wissensbasis auf? I Die Originalaussage? Nein, die ist ja gelogen. I Variante 2! 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-30 (74) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Prädikatenlogik – Quantoren Beispiel 2.3 (Übersetzen von Alltagsaussagen) I I I I I I I I Alle Elefanten sind Säugetiere: ∀X elefant(X ) → saeugetier(X ) Einige Elefanten sind Säugetiere: ∃X elefant(X ) ∧ saeugetier(X ) Einige Elefanten sind keine Säugetiere: ∃X elefant(X ) ∧ ¬saeugetier(X ) Kein Elefant ist ein Säugetier: ∀X elefant(X ) → ¬saeugetier(X ) oder ¬∃X elefant(X ) ∧ saeugetier(X ) Alle Vögel haben Federn: ∀X vogel(X ) → hatfedern(X ) Einige Vögel können fliegen: ∃X vogel(X ) ∧ kannfliegen(X ) Einige Vögel können nicht fliegen: ∃X vogel(X ) ∧ ¬kannfliegen(X ) Kein Vogel ist ein Säugetier: ¬∃X vogel(X ) ∧ saeugetier(X ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-31 (75) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Prädikatenlogik – Quantoren Beispiel 2.4 (Übersetzen von Alltagsaussagen 2) I I I Anne besucht alle Filme, in denen George Clooney mitspielt. ∀X film(X ) ∧ spielt_mit(X , clooney ) → besucht(anne, X ) Anne besucht nur die Filme, in denen George Clooney mitspielt. ∀X film(X ) ∧ besucht(anne, X ) → spielt_mit(X , clooney ) Das Einzige, was Anne besucht, sind Filme, in denen George Clooney mitspielt. ∀X besucht(anne, X ) → film(X ) ∧ spielt_mit(X , clooney ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-32 (76) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Übersetzen in PL Jeder fragt sich selbst. ∀X fragt(X , X ) (genauer: ∀X mensch(X ) → fragt(X , X )) Die Diagonale ist voll. Jemand fragt sich selbst. ∃X fragt(X , X ) (genauer: ∃X mensch(X ) ∧ fragt(X , X )) Mindestens ein Diagonalelement ist wahr. a b X c d e Y a b c d e x x x x x Y a b c d e a b X c d e x 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-33 (77) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Übersetzen in PL Jeder fragt jeden. ∀X ∀Y fragt(X , Y ) ( ∀X ∀Y mensch(X ) ∧ mensch(Y ) → fragt(X , Y )) Jede Kombination ist wahr. Jeder fragt jemanden. ∀X ∃Y fragt(X , Y ) ( ∀X mensch(X ) → ∃Y mensch(Y ) ∧ fragt(X , Y )) Keine Zeile ist leer. 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik a b X c d e a x x x x x b x x x x x Y c x x x x x d x x x x x e x x x x x Y a b c d e a x b x X c x d x e x Künstliche Intelligenz Folie 2-34 (78) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Übersetzen in PL Jeder wird von jemandem gefragt. ∀Y ∃X fragt(X , Y ) ( ∀Y mensch(Y ) → ∃X mensch(X ) ∧ fragt(X , Y )) Keine Spalte ist leer. Jemand fragt jeden. ∃X ∀Y fragt(X , Y ) ( ∃X mensch(X ) ∧ [∀Y mensch(Y ) → fragt(X , Y )]) Eine Zeile ist voll. Y a b c d e a x x b X c x x d x e Y a b c d e a b x x x x x X c d e 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-35 (79) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Übersetzen in PL Jemand wird von allen gefragt. ∃Y ∀X fragt(X , Y ) ( ∃Y mensch(Y ) ∧ [∀X mensch(X ) → fragt(X , Y )]) Eine Spalte ist komplett besetzt. Jemand fragt jemanden. ∃X ∃Y fragt(X , Y ) ( ∃X ∃Y mensch(X ) ∧ mensch(Y ) ∧ fragt(X , Y )) Eine Zelle ist wahr. Y a b c d e a x b x X c x d x e x Y a b c d e a b X c d e 2 Darstellung und Verarbeitung von Wissen x Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-36 (80) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Quantoren und Mengendiagramme – 1 Betrachten wir die Aussage: Jeder Student lernt. ∀X stud(X ) → lernt(X ) Die Menge der Studenten muss also eine Teilmenge der Menge aller Lernenden sein. Abb. 9: All-Aussagen als Mengendiagramm 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-37 (81) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Quantoren und Mengendiagramme – 2 Betrachten wir die Aussage: Es gibt einen Studenten, der lernt. ∃X stud(X ) ∧ lernt(X ) Die Mengen der Studenten und der Lerner müssen also mindestens ein gemeinsames Element haben. Abb. 10: Existenz-Aussagen als Mengendiagramm 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-38 (82) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Prädikatenlogik – Reihenfolge der Quantoren I Reihenfolge der Quantoren i.allg. wichtig. I Wenn NUR Existenz- oder Allquantoren, dann i.allg. egal. ∀X ∀Y fragt(X , Y ) äquivalent zu ∀Y ∀X fragt(X , Y ). Allerdings gilt das nicht, wenn man Existenz- und Allaussagen mischt: ∀X ∃Y fragt(X , Y ) ist NICHT äquivalent zu ∃Y ∀X fragt(X , Y ). Bei der ersten Aussage gibt es zu jedem X ein Y, so dass fragt(X,Y) gilt. In der zweiten Aussage gibt es EIN Y, welches von ALLEN gefragt wird. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-39 (83) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Prädikatenlogik – Übersetzen 1 Satz . . . und . . . sowohl . . . als auch . . . aber, jedoch, obwohl . . . oder . . . Wenn A dann B, aus A folgt B A, vorausgesetzt dass B gilt A, falls/wenn B A nur dann, wenn B A genau dann, wenn B entweder A oder B weder A noch B A, es sei denn B Es stimmt nicht, dass . . . prädikatenlogisch A ∧ B A ∧ B A ∧ B A ∨ B A → B B → A B → A A → B A ↔ B (A ∨ B ) ∧ (¬A ∨ ¬B ) ¬A ∧ ¬B (B → ¬A) ∧ (¬B → A) ¬(. . .) Tabelle 1: Übersetzen von Aussagen 1 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-40 (84) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Prädikatenlogik – Übersetzen 2 Satz Alle . . . Nicht alle . . . Wenn jemand . . . , dann . . . Keiner . . . Manche/Einige . . . prädikatenlogisch ∀X . . . ¬∀X . . . ∀X . . . → . . . ¬∃X . . . oder ∀X ¬ . . . ∃X . . . Tabelle 2: Übersetzen von Aussagen 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-41 (85) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Prädikatenlogik – Übersetzen Sowohl GmbHs als auch AGs sind Kapitalgesellschaften. sowohl . . . als auch . . . = UND ? ∀X GmbH(X ) ∧ AG(X ) → Kapitalgesellschaft(X ) Nicht korrekt. In der Aussage stecken zwei Aussagen: I GmbHs sind Kapitalgesellschaften. I Aktiengesellschaften sind Kapitalgesellschaften. Also eigentlich: Es gelten sowohl die Aussage I GmbHs sind Kapitalgesellschaften. als auch die Aussage Aktiengesellschaften sind Kapitalgesellschaften. I ∀X GmbH(X ) → Kapitalgesellschaft(X ) ∧ Dies ergibt: I ∀X AG(X ) → Kapitalgesellschaft(X ) Äquivalent: ∀X GmbH(X ) ∨ AG(X ) → Kapitalgesellschaft(X ) I 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-42 (86) 2.5.2 Übersetzen von Aussagen in die Prädikatenlogik Prädikatenlogik – Übersetzen Analog hätten wir verfahren müssen, wenn die Aussage mit einem UND formuliert wäre: GmbHs und Aktiengesellschaften sind Kapitalgesellschaften. Umgangssprachliches Oder ist häufig das Entweder-Oder! Ich gehe heute abend in’s Kino oder in’s Theater. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-43 (87) 2.5.3 Gültigkeit und Erfüllbarkeit Gültigkeit und Erfüllbarkeit In Analogie zur Aussagenlogik gibt es auch hier Formeln, die I immer wahr, I immer falsch sind I wahr oder falsch sein können. oder Beispiel 2.5 (Wahre und falsche Aussagen) I I I ∀X p(X ) ∨ ¬p(X ) ist immer wahr. ∀X p(X ) ∧ ¬p(X ) ist immer falsch. Die Formel ∃X p(X ) kann falsch oder wahr sein. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik 2.5.3 Gültigkeit und Erfüllbarkeit Klassifikation von Formeln I Kann man eine Formel φ wahrmachen: φ ist erfüllbar. I Geht dies überhaupt nicht: φ ist unerfüllbar (falsch). I Ist die Formel immer wahr: φ ist allgemeingültig (Tautologie). I Kann man die Formel falsch machen: φ ist falsifizierbar. Folie 2-44 (88) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-45 (89) 2.5.3 Gültigkeit und Erfüllbarkeit Allgemeingültigkeit Für prädikatenlogische Formeln φ gilt der Satz: Satz 2.2 (Allgemeingültigkeit) φ ist allgemeingültig, gdw. ¬φ ist unerfüllbar. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-46 (90) 2.5.3 Gültigkeit und Erfüllbarkeit Zusammenhänge zwischen den Begriffen I I I I I I φ ist allgemeingültig, gdw. ¬φ ist unerfüllbar. Die erfüllbaren und die falschen Formeln sind komplementär. allgemeingültige Formeln ⊂ erfüllbare Formeln falsche Formeln ⊂ falsifizierbare Formeln (erfüllbare F. ∩ falsifizierbare F.) ∪ allgemeingültige F. = erfüllbare Formeln (erfüllbare F. ∩ falsifizierbare F.) ∪ falsche Formeln = falsifizierbare F. Tauto− logien sowohl erfüllbar als auch falsifizierbar falsche Formeln Abb. 11: Prädikatenlogische Formeln 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-47 (91) 2.5.4 Folgern Folgern Wir schreiben Φ |= φ gdw. φ immer wahr ist, falls Φ wahr ist. Man sagt: Aus Φ folgt φ. Es gilt beispielsweise: I I ∀X p(X ) |= ∃X p(X ) mensch(a) ∧ ∀X (mensch(X ) → sterblich(X )) |= sterblich(a) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-48 (92) 2.5.5 Wissensverarbeitung mit Prädikatenlogik Automatische Verarbeitung Modus ponens (Aussagenlogik) L → K L K 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-49 (93) 2.5.5 Wissensverarbeitung mit Prädikatenlogik Prädikatenlogik und Modus ponens In dieser Form ist der Modus ponens auf die Formeln: mensch(sokrates) ∀X mensch(X ) → sterblich(X ) nicht anwendbar, um ableiten zu können, dass gilt: sterblich(sokrates) Dazu braucht man eine Regel, die aus ∀X mensch(X ) → sterblich(X ) ableitet, dass gilt (Instantiierung einer allquantifizierten Variablen): mensch(sokrates) → sterblich(sokrates) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-50 (94) 2.5.5 Wissensverarbeitung mit Prädikatenlogik Weitere Inferenzregeln All-Instantiierung ∀X p(X ) p (a ) a . . . beliebige Konstante Modus tollens: L → K ¬K ¬L 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-51 (95) 2.5.5 Wissensverarbeitung mit Prädikatenlogik Inferenzregeln In dieser Art kann man verschiedene Schlussregeln formulieren, mit deren Hilfe man logische Schlüsse automatisch vollziehen kann. Problem: Sehr großer Suchraum, da: I ein und dieselbe Aussage auf unterschiedlichste Art und Weise darstellbar, I eine Inferenzregel auf verschiedene Formeln anwendbar, I unterschiedliche Inferenzregeln anwendbar. 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik 2.5.6 Ableiten und Folgern Folgern und Ableiten 2 unterschiedliche Begriffe für Zusammenhänge von Formeln: I I Folgern: Φ |= φ (φ folgt zwingend aus Φ) Ableiten: Φ ` φ (φ ist aus Φ – mittels Inferenzregeln – berechenbar) Künstliche Intelligenz Folie 2-52 (96) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-53 (97) 2.5.7 Resolution Resolution Resolution besteht aus 2 Schritten: 1. Herstellung einer einheitlichen Darstellung der Formeln 2. Führen des Widerspruchsbeweises 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-54 (98) 2.5.7 Resolution Äquivalenzen Beobachtung: Es gibt äquivalente Formeln. Aus der Sicht des Beweisens ungünstig. Definition 2.3 (Äquivalenz) 2 Formeln φ1 , φ2 heißen äquivalent (φ1 ≡ φ2 ), falls φ1 wahr ist, genau dann wenn auch φ2 wahr ist. Es gilt: φ1 ≡ φ2 gdw. φ1 ↔ φ2 eine Tautologie ist. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-55 (99) 2.5.7 Resolution Äquivalenzen – 1 A → B ≡ ¬A ∨ B Implikation A ↔ B ≡ (A → B) ∧ (B → A) Äquivalenz ¬(A ∨ B) ≡ ¬A ∧ ¬B DeMorgan ¬(A ∧ B) ≡ ¬A ∨ ¬B DeMorgan (A ∨ (B ∧ C)) ≡ ((A ∨ B) ∧ (A ∨ C)) Distributivität (A ∧ (B ∨ C)) ≡ ((A ∧ B) ∨ (A ∧ C)) Distributivität ¬∀X A ≡ ∃X ¬A Negierter All-Quantor ¬∃X A ≡ ∀X ¬A Negierter Existenz-Quantor Tabelle 3: Prädikatenlogische Äquivalenzen – 1 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-56 (100) 2.5.7 Resolution Äquivalenzen – 2 A ∨ A ≡ A A ∧ A ≡ A A ∨ B ≡ B ∨ A A ∧ B ≡ B ∧ A (A ∨ (B ∨ C)) ≡ ((A ∨ B) ∨ C) (A ∧ (B ∧ C)) ≡ ((A ∧ B) ∧ C) (A ∨ (A ∧ B)) ≡ A (A ∧ (A ∨ B)) ≡ A (A ∧ B) → C ≡ A → (B → C) (A → B) ∧ (A → ¬B) ≡ ¬A A → B ≡ ¬B → ¬A Idempotenz Idempotenz Kommutativität Kommutativität Assoziativität Assoziativität Absorption Absorption Absurdität Kontraposition Tabelle 4: Prädikatenlogische Äquivalenzen – 2 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-57 (101) 2.5.7 Resolution Äquivalenzen – 3 (A (A (A (A ∧ ∧ ∨ ∨ B) B) B) B) ≡ ≡ ≡ ≡ A B B A falls B eine Tautologie falls B falsch falls B eine Tautologie falls B falsch Tabelle 5: Prädikatenlogische Äquivalenzen – 3 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-58 (102) 2.5.7 Resolution Klauselnormalform n ^ i =1 mi _ j =1 Lij !! Lij . . . Literal (elementare Aussage oder deren Negation) Wmi I j =1 Lij . . . Klausel I Beispiel 2.6 (Klauselnormalform) (p(X ) ∨ q (X )) ∧ (s(X , Y ) ∨ ¬t (Y )) ∧ a(X ) ist eine korrekte konjunktive Normalform, wobei wir im folgenden einfach die Und weglassen und die Klauseln untereinander schreiben: p(X ) ∨ q (X ) s(X , Y ) ∨ ¬t (Y ) a(X ) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-59 (103) 2.5.7 Resolution Transformation auf Klausel-Normalform Beispiel 2.7 (Transformation auf KNF) I mensch(marcus) I pompejer (marcus) I ∀X pompejer (X ) → roemer (X ) ; ∀X (¬pompejer (X ) ∨ roemer (X )) ; ¬pompejer (X ) ∨ roemer (X ) I herrscher (caesar ) I ∀X roemer (X ) → (loyal (X , caesar ) ∨ hasst (X , caesar )) ; ∀X (¬roemer (X ) ∨ loyal (X , caesar ) ∨ hasst (X , caesar )) ; ¬roemer (X ) ∨ loyal (X , caesar ) ∨ hasst (X , caesar ) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-60 (104) 2.5.7 Resolution Beispiel – Klausel-Normalform Beispiel 2.7 cont. I ∀X mensch(X ) → ∃Y (mensch(Y ) ∧ loyal (X , Y )) ; ∀X (¬mensch(X ) ∨ ∃Y (mensch(Y ) ∧ loyal (X , Y ))) ; ¬mensch(X ) ∨ (mensch(f (X )) ∧ loyal (X , f (X ))) (Zu jedem X gibt es ein Y, also hängt Y von X ab, folglich Y = f (X ).) ; (¬mensch(X ) ∨ mensch(f (X ))) ∧ (¬mensch(X ) ∨ loyal (X , f (X ))) I I ∀X ∀Y (mensch(X ) ∧ herrscher (Y ) ∧ mordversuch(X , Y )) → ¬loyal (X , Y ) ; ∀X ∀Y (¬mensch(X ) ∨ ¬herrscher (Y ) ∨ ¬mordversuch(X , Y ) ∨ ¬loyal (X , Y )) ; ¬mensch(X ) ∨ ¬herrscher (Y ) ∨ ¬mordversuch(X , Y ) ∨ ¬loyal (X , Y ) mordversuch(marcus, caesar ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-61 (105) 2.5.7 Resolution Existenzquantor – Skolemisierung I I I I I ∃X (r (X ) ∨ s(X )) ; (r (a) ∨ s(a)) ∀X ∃Y (p(X ) ∨ r (Y )) ; ∀X (p(X ) ∨ r (f (X ))) ∀X ∃Y ∀Z (p(X ) ∨ r (Y ) ∨ s(Z )) ; ∀X ∀Z (p(X ) ∨ r (g (X )) ∨ s(Z )) ∀X ∀Z ∃Y (p(X ) ∨ r (Y ) ∨ s(Z )) ; ∀X ∀Z (p(X ) ∨ r (h(X , Z )) ∨ s(Z )) ∃Y ∀Z (r (Y ) ∨ s(Z )) ; ∀Z (r (b) ∨ s(Z )) f , g , h sind neue Funktionssymbole, a, b neue Konstanten. Diese dürfen nur in der entsprechenden Formel verwendet werden. 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-62 (106) 2.5.7 Resolution Skolemisierung – 2 Und warum müssen wir immer neue Funktionen bzw. Konstanten erfinden? I Der Autodieb – nennen wir ihn Joe – brach 23:45 den Kofferraum des Autos auf. I Der Ladendieb – nennen wir ihn Joe – stürzte ein Regal um, dann gelang ihm die Flucht. Hier ist das doppelte Verwenden des Pseudonyms Joe inkorrekt, da die beiden wohl nicht identisch sind. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-63 (107) 2.5.7 Resolution Transformation auf KNF Transformation auf Klausel-NF: 1. Ersetzen der Äquivalenzen und Implikationen 2. Negation bis zu atomaren Formeln verschieben 3. Entfernen der doppelten Negation 4. Standardisierung der Variablen (keine 2 Quantoren mit der gleichen Variablen) 5. Eliminieren der Existenzquantoren (Skolemisierung) 6. Weglassen aller All-Quantoren 7. „Ausmultiplizieren“ mittels Distributivgesetz 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-64 (108) 2.5.7 Resolution Achtung ! Bemerkung 2.4 (Korrektes Klammern) Klammern Sie die Formeln korrekt. Wir betrachten: ∀X mensch(X ) → sterblich(X ) Mit Klammern: Es entsteht die Klausel: ∀X (mensch(X ) → sterblich(X )) ¬mensch(X ) ∨ sterblich(X ) Bei falscher Klammerung: entsteht die Formel: also: und somit die falsche Klausel: (∀X mensch(X )) → sterblich(X ) (¬∀X mensch(X )) ∨ sterblich(X ) (∃X ¬mensch(X )) ∨ sterblich(X ) ¬mensch(a) ∨ sterblich(X ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-65 (109) 2.5.7 Resolution Ausmultiplizieren Bemerkung 2.5 (Ausmultiplizieren) Geoderte Teilterme kann man meist in Ruhe lassen. Wir betrachten: a ∨ b ∨ (c ∧ d ) Ersetzen Teilterm (a ∨ b) durch x: x ∨ (c ∧ d ) Nun wenden wir das Distributivgesetz an (Ausmultiplizieren): (x ∨ c ) ∧ (x ∨ d ) Jetzt ersetzen wir x wieder durch den Originalterm und erhalten: (a ∨ b ∨ c ) ∧ (a ∨ b ∨ d ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-66 (110) 2.5.7 Resolution Widerspruchsbeweis Der Beweis, dass: Φ |= φ ist äquivalent zum Beweis, dass Φ ∧ ¬φ widersprüchlich ist. ; Nehmen das Ziel negiert auf. Negieren Sie das gesamte Ziel! I Aus dem Ziel I wird negiert I und folglich ∃X mensch(X ) ¬∃X mensch(X ) ∀X ¬mensch(X ) Falsch wäre: Direktes Negieren von mensch(X): ∃X ¬mensch(X ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-67 (111) 2.5.7 Resolution Widerspruchsbeweis Möchten wir beweisen, dass Marcus nicht loyal gegenüber Caesar war, so fügen wir loyal (marcus, caesar ) zu unserer Wissensbasis hinzu und suchen dann einen Widerspruch. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik 2.5.7 Resolution Resolutionsregel . . . analog Aussagenlogik Klausel1 = L1 ∨ L2 ∨ L3 ∨ . . . ∨ Ln Klausel2 = ¬L1 ∨ K2 ∨ K3 ∨ . . . ∨ Km Resolvente = L2 ∨ L3 ∨ . . . Ln ∨ K2 ∨ K3 ∨ . . . ∨ Km Resolutionsregel für Prädikatenlogik Klausel1 = L1 ∨ L2 ∨ L3 ∨ . . . ∨ Ln Klausel2 = ¬K1 ∨ K2 ∨ K3 ∨ . . . ∨ Km L1 und K1 sind unifizierbar mit der Substitution σ Resolvente = σ(L2 ∨ . . . ∨ Ln ∨ K2 ∨ . . . ∨ Km ) Folie 2-68 (112) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-69 (113) 2.5.7 Resolution Unifikation Unifizieren bedeutet das Suchen nach einer Variablensubstitution, so dass beide Literale gleich sind. ; most general unifier Beispiel 2.8 (Unifikation) Die Unifikation von p(f (a, X )) und p(f (Y , c )) liefert die Variablensubstitution [X ; c , Y ; a]. 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-70 (114) 2.5.7 Resolution Faktorisierung I Klauseln p(X ) ∨ p(a) und ¬p(a) ∨ ¬p(Y ) sind widersprüchlich. I Mit Resolutionsregel nicht beweisbar. I Man benötigt dazu die sogenannte Faktorisierungsregel: Klausel1 = L1 ∨ L2 ∨ L3 ∨ . . . ∨ Ln L1 und L2 sind unifizierbar mit der Substitution σ Klausel2 = σ(L1 ∨ L3 ∨ . . . Ln ) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-71 (115) 2.5.7 Resolution Klauseln als Mengen Man kann Klauseln auch als Mengen schreiben. Die Resolutionsregel sieht dann wie folgt aus: Klausel1 = {L1 , L2 , L3 , . . . Ln } Klausel2 = {¬K1 , K2 , K3 , . . . Km } L1 und K1 sind unifizierbar mit der Substitution σ Resolvente = (σ(Klausel1 ) \ {σ(L1 )}) ∪ (σ(Klausel2 ) \ {σ(¬K1 )}) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-72 (116) 2.5.7 Resolution Caesar-Beispiel neg. Ziel 7+9 1 + 10 4 + 11 8 + 12 mensch(marcus) pompejer (marcus) ¬pompejer (X1 ) ∨ roemer (X1 ) herrscher (caesar ) ¬roemer (X2 ) ∨ loyal (X2 , caesar ) ∨ hasst (X2 , caesar ) ¬mensch(X3 ) ∨ loyal (X3 , f (X3 )) ¬mensch(X4 ) ∨ mensch(f (X4 )) ¬mensch(X5 ) ∨ ¬herrscher (X6 ) ∨ ¬mordversuch(X5 , X6 ) ∨ ¬loyal (X5 , X6 ) mordversuch(marcus, caesar ) loyal (marcus, caesar ) ¬mensch(marcus) ∨ ¬herrscher (caesar ) ∨ ¬mordversuch(marcus, caesar ) ¬herrscher (caesar ) ∨ ¬mordversuch(marcus, caesar ) ¬mordversuch(marcus, caesar ) 2 Tabelle 6: Caesar-Beispiel 1 2 3 4 5 6a 6b 7 8 9 10 11 12 13 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-73 (117) 2.5.7 Resolution Korrektheit Wie verhält sich diese Berechnungsregel? I Ist sie korrekt? Jede Formel, die man mit Hilfe der Resolutionsregel berechnen kann, folgt auch aus den Formeln? Satz 2.6 (Korrektheit) Resolution ist korrekt. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-74 (118) 2.5.7 Resolution Vollständigkeit I Ist Resolution vollständig? Kann man jede Formel, die logisch folgt, auch mittels Resolution berechnen? I NEIN. Aus A und B nicht ableitbar, dass dann auch gilt: A ∨ B Satz 2.7 (Widerlegungsvollständigkeit) Ist die Klauselmenge widersprüchlich, so existiert eine endliche Folge von Resolutionsschritten, die zur leeren Klausel führt. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-75 (119) 2.5.7 Resolution Beliebter Fehler Das gleichzeitige Streichen von mehr als 1 Literal ist nicht zulässig! {p(X ), q (Y )} {¬p(S ), ¬q (T )} {} Dies ist kein korrekter Schritt, da sich die Klauseln nicht widersprechen! 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-76 (120) 2.5.7 Resolution Resolution und direkte Beweise I Resolution wird i.allg. für Widerspruchsbeweise eingesetzt. I Nach dem oben gesagten (Unvollständigkeit) sind eigentlich direkte Beweise nicht sinnvoll. I Aber Resolution ist korrekt , leitet also immer Klauseln ab, die auch gelten. I Wenn man keine Idee hat, was zu beweisen ist, kann man durchaus mit den gegebenen Klauseln resolvieren. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-77 (121) 2.5.7 Resolution Resolution und direkte Beweise – 2 Seien diese Formeln gegeben: ¬a → b b ∧ a → ¬c (¬c ∨ ¬a) → ¬b Als Klauseln erhält man: a ∨ b / ¬b ∨ ¬a ∨ ¬c / c ∨ ¬b / a ∨ ¬b Durch Resolution (1+4) erhält man: a . Aber Vorsicht: Das funktioniert nicht immer. Frage: Wie beweist man mit Resolution, dass a ∧ ¬a immer falsch ist? 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-78 (122) 2.5.7 Resolution 3 Anwendungsmöglichkeiten der Resolution Widerspruchsbeweis Ziel wird negiert hinzugenommen. Widerspruch suchen. „Falsch“-Beweis Beweis, dass eine gegebene Formel falsch ist. Nichts negieren. Einfach Widerspruch mittels Resolution suchen. Direkter Beweis Man hat kein Ziel. Einfach Resolution anwenden, eventuell bekommt man was vernünftiges raus. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-79 (123) 2.5.7 Resolution Problem Haben wir mit der Resolution das perfekte Beweis-Verfahren? I Resolution ist zwar ein universelles Verfahren, allerdings gibt es I Komplexitätsprobleme (wenn viele Klauseln), da viele mögliche Klauseleltern mit komplementären Literalen existieren. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-80 (124) 2.5.8 Resolutionsstrategien Resolutionsstrategien – 1 Unit preference Klauseln, die nur ein Literal enthalten, werden als Eltern vorgezogen. Kurze Eltern Es werden die Elternklauseln gewählt, so dass die Summe ihrer Längen minimal ist. Diese Strategien reduzieren den Suchraum nicht, sie strukturieren ihn nur. 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-81 (125) 2.5.8 Resolutionsstrategien Resolutionsstrategien – 2 P/N-Restriktion Eine Elternklausel darf nur positive/negative Literale enthalten. Input Resolution Mindestens ein Elternteil muss aus der Klausel-Ausgangsmenge sein. Lineare Resolution Aktuelle Resolvente ist Elternteil des nächsten Resolutionsschritts. Set of Support Mindestens ein Elternteil muss aus der Set of Support (SOS) kommen. Input-Resolution ist nicht widerlegungsvollständig, alle anderen sind es. 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-82 (126) 2.5.8 Resolutionsstrategien Die Strategie SOS I SOS = Trägermenge = Klauseln, die aus dem negierten Ziel entstanden sind. I Resolutionsschritt muss immer eine Elternklausel aus der SOS haben. I Neue Resolventen werden in SOS aufgenommen. Die SOS-Strategie ist widerlegungsvollständig. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-83 (127) 2.5.9 Beispiel 1 Resolution Beispiel Resolution Inspektor Craig erfährt in einem Unternehmen folgendes: 1. Ein Mitarbeiter ist wahnsinnig, wenn alle seine Untergebenen ehrgeizig sind. 2. Alle Karrieristen sind ehrgeizig. 3. Ist jemand kein Karrierist, so auch keiner seiner Chefs. Wir möchten mittels Resolution beweisen, dass alle Karrieristen wahnsinnig sind. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-84 (128) 2.5.9 Beispiel 1 Resolution Beispiel Resolution Gegebene Aussagen in die PL übersetzen: 1. Ein Mitarbeiter ist wahnsinnig, wenn alle seine Untergebenen ehrgeizig sind. ∀X (∀Y chef(Y , X ) → ehrgeizig(Y )) → wahnsinnig(X ) 2. Alle Karrieristen sind ehrgeizig. ∀X karrierist(X ) → ehrgeizig(X ) 3. Ist jemand kein Karrierist, so auch keiner seiner Chefs. ∀X ¬karrierist(X ) → ¬∃Y (chef(X , Y ) ∧ karrierist(Y )) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-85 (129) 2.5.9 Beispiel 1 Resolution Beispiel Resolution Jetzt die KNF: 1. ∀X (∀Y chef(Y , X ) → ehrgeizig(Y )) → wahnsinnig(X ) ∀X ¬(∀Y ¬chef(Y , X ) ∨ ehrgeizig(Y )) ∨ wahnsinnig(X ) ∀X (∃Y [chef(Y , X ) ∧ ¬ehrgeizig(Y )]) ∨ wahnsinnig(X ) ∀X (chef(f (X ), X ) ∧ ¬ehrgeizig(f (X ))) ∨ wahnsinnig(X ) (chef(f (X ), X ) ∨ wahnsinnig(X )) ∧ ∧ (¬ehrgeizig(f (X )) ∨ wahnsinnig(X )) 2. ∀X karrierist(X ) → ehrgeizig(X ) ¬karrierist(X ) ∨ ehrgeizig(X ) 3. ∀X ¬karrierist(X ) → ¬∃Y (chef(X , Y ) ∧ karrierist(Y )) karrierist(X ) ∨ ¬chef(X , Y ) ∨ ¬karrierist(Y ) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik 2.5.9 Beispiel 1 Resolution Beispiel Resolution Das zu beweisende Ziel ist: Alle Karrieristen sind wahnsinnig: ∀X karrierist(X ) → wahnsinnig(X ). Negation des Ziels: ¬(∀X karrierist(X ) → wahnsinnig(X )) KNF: ∃X karrierist(X ) ∧ ¬wahnsinnig(X ) karrierist(a) ∧ ¬wahnsinnig(a) Künstliche Intelligenz Folie 2-86 (130) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-87 (131) 2.5.9 Beispiel 1 Resolution Beispiel Resolution 1. chef(f (X1 ), X1 ) ∨ wahnsinnig(X1 ) 2. ¬ehrgeizig(f (X2 )) ∨ wahnsinnig(X2 ) 3. ¬karrierist(X3 ) ∨ ehrgeizig(X3 ) 4. karrierist(X4 ) ∨ ¬chef(X4 , X5 ) ∨ ¬karrierist(X5 ) 5. karrierist(a) 6. ¬wahnsinnig(a) 7 (4+5) 8 (3+7) 9 (1+8) karrierist(X4 ) ∨ ¬chef(X4 , a) ¬chef(X4 , a) ∨ ehrgeizig(X4 ) wahnsinnig(a) ∨ ehrgeizig(f (a)) 10 (2+9) wahnsinnig(a) 11 (10+6) Widerspruch 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-88 (132) 2.5.9 Beispiel 1 Resolution Resolution und Unifikation Bemerkung 2.8 (Unifikation) Beachten Sie, dass beim Schritt 4+5 Unifikation erforderlich ist. I I karrierist(X4 ) ∨ ¬chef(X4 , X5 ) ∨ ¬karrierist(X5 ) karrierist(a) X5 muss zu a werden. Die Resolvente ist dann folglich karrierist(X4 ) ∨ ¬chef(X4 , a) und nicht karrierist(X4 ) ∨ ¬chef(X4 , X5 ). Die Originalklausel 4 bleibt aber erhalten. X5 wird nur temporär durch a ersetzt. 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-89 (133) 2.5.10 Beispiel 2 Resolution Beispiel Resolution Wir betrachten die Aussagen: 1. Einige Künstler besuchen die Kunstausstellungen regelmäßig. 2. Kein Künstler besucht eine uninteressante Kunstausstellung. 3. Die Kunstausstellungen von Anne werden von allen Künstlern regelmäßig besucht. Wir möchten beweisen, dass keine Kunstausstellung von Anne uninteressant ist. Zunächst müssen wir uns überlegen, welche Prädikate wir brauchen. kunst_ex(X,Y) . . . X ist eine Kunstausstellung, Veranstalter Y. besucht(X,Y) . . . X besucht Y. kuenstler(X) . . . X ist ein Künstler. interessant(X) . . . X ist interessant. 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-90 (134) 2.5.10 Beispiel 2 Resolution Beispiel Resolution – Formeln Nun wandeln wir diese Aussagen in prädikatenlogische Formeln um: 1. Einige Künstler besuchen die Kunstausstellungen regelmäßig. ∃X kuenstler (X ) ∧ (∀Y , Z kunst_ex (Y , Z ) → besucht (X , Y )) 2. Kein Künstler besucht eine uninteressante, die uninteressant ist. ¬(∃X ∃Y ∃Z kuenstler (X ) ∧ kunst_ex (Y , Z ) ∧ ¬interessant (Y ) ∧ besucht (X , Y )) 3. Die Kunstausstellungen von Anne werden von allen Künstlern regelmäßig besucht. ∀X , Y kunst_ex (X , anne) ∧ kuenstler (Y ) → besucht (Y , X ) Ziel: Keine Kunstausstellung von Anne ist uninteressant. ¬(∃X kunst_ex (X , anne) ∧ ¬interessant (X )) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-91 (135) 2.5.10 Beispiel 2 Resolution Beispiel Resolution – KNF Jetzt wandeln wir die Formeln in die KNF um: 1. ∃X kuenstler (X ) ∧ (∀Y , Z kunst_ex (Y , Z ) → besucht (X , Y )) ; kuenstler (a) ∧ (¬kunst_ex (Y , Z ) ∨ besucht (a, Y )) 2. ¬(∃X ∃Y ∃Z kuenstler (X ) ∧ kunst_ex (Y , Z ) ∧ ¬interessant (Y ) ∧ besucht (X , Y )) ; ¬kuenstler (X ) ∨ ¬kunst_ex (Y , Z ) ∨ interessant (Y ) ∨ ¬besucht (X , Y ) 3. ∀X , Y kunst_ex (X , anne) ∧ kuenstler (Y ) → besucht (Y , X ) ; ¬kunst_ex (X , anne) ∨ ¬kuenstler (Y ) ∨ besucht (Y , X ) Negiertes Ziel: ¬¬(∃X kunst_ex (X , anne) ∧ ¬interessant (X )) ; kunst_ex (b, anne) ∧ ¬interessant (b) 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-92 (136) 2.5.10 Beispiel 2 Resolution Beispiel Resolution – Klauseln und Resolution 1.1 kuenstler (a) 1.2 ¬kunst_ex (X1 , X2 ) ∨ besucht (a, X1 ) 2 ¬kuenstler (X3 ) ∨ ¬kunst_ex (X4 , X5 ) ∨ interessant (X4 ) ∨ ¬besucht (X3 , X4 ) 3 Z.1 ¬kunst_ex (X6 , anne) ∨ ¬kuenstler (X7 ) ∨ besucht (X7 , X6 ) Z.2 kunst_ex (b, anne) ¬interessant (b) Nun können wir Resolution starten: 4 (Z.2+2) 5 (4+Z.1) 6 (5+1.1) 7 (1.2+Z.1) 8 (6+7) ¬kuenstler (X3 ) ∨ ¬kunst_ex (b, X5 ) ∨ ¬besucht (X3 , b) ¬kuenstler (X3 ) ∨ ¬besucht (X3 , b) ¬besucht (a, b) besucht (a, b) Widerspruch 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-93 (137) 2.5.11 Nachteile der Prädikatenlogik Nachteile der Prädikatenlogik I 2-Wertigkeit, keine vagen (unscharfen oder unsicheren) Aussagen möglich I keine Informationen für Abarbeitung, z.B. Reihenfolge der Regelanwendung 2 Darstellung und Verarbeitung von Wissen 2.5 Prädikatenlogik Künstliche Intelligenz Folie 2-94 (138) 2.5.11 Nachteile der Prädikatenlogik Andere Logiken I Default-Logik I Closed world assumption I Sortierte Logik I Probabilistische Logik I Mehrwertige Logik I Modale Logik (Notwendigkeit, Möglichkeit, Wissen, Glauben) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.5 Prädikatenlogik Folie 2-95 (139) 2.5.11 Nachteile der Prädikatenlogik Logikbasierte WR und Regelverarbeitung I Logik macht strikte Trennung zwischen WR und Verarbeitung I Kombination von Logik und Abarbeitung: z.B. Implikationen als Prozeduren: a ∧ b → c (Um c zu beweisen, beweise a und dann b.) I kann aus Effizienzsicht sehr wichtig sein 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.6 Logikbasierte Wissensdarstellung und Regelverarbeitung Folie 2-96 (140) 2.6.1 Prozedurale Aspekte der Wissensverarbeitung Beispiel Sei gegeben: I mensch(anton) I ∀X kind(X ) → mensch(X ) Frage: ∃X mensch(X ) mensch(berta) kind(clemens) In welcher Reihenfolge bekommt man die 3 möglichen Antworten? 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.6 Logikbasierte Wissensdarstellung und Regelverarbeitung Folie 2-97 (141) 2.6.2 Logische Programmierung und Prolog Logische Programmierung und Prolog I Logische Programmierung basiert auf Horn-Klauseln. I Prolog als typischer Vertreter I Festgelegte Reihenfolge der Verarbeitung I Deklarative/Prozedurale Interpretation I Closed world assumption, Negation as failure Beispiel 2.9 (Logische Programmierung) sterblich(X) :- mensch(X). mensch(sokrates). Die Variable X ist allquantifiziert, d.h. obige Regel steht für: ∀X mensch(X) → sterblich(X) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.6 Logikbasierte Wissensdarstellung und Regelverarbeitung Folie 2-98 (142) 2.6.2 Logische Programmierung und Prolog Rückwärtsschließen in Prolog In Prolog ist die Reihenfolge der Verarbeitung definiert. Sei z.B. gegeben: a :- b,c. ; c :- d. d. b. Klare Reihenfolge in der Abarbeitung. Fragt man nach ?- a., so wird beginnend am Ziel bewiesen. ; Rückwärtsschließen 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.6 Logikbasierte Wissensdarstellung und Regelverarbeitung Folie 2-99 (143) 2.6.2 Logische Programmierung und Prolog Prolog und Prädikatenlogik – Abarbeitung Seien folgende Regeln gegeben: 1 2 3 4 Prolog ?????- a. b,c. c. d. Prolog Prädikatenlogik a :- b,c. c :- d. d. b. a ∨ ¬b ∨ ¬c c ∨ ¬d d b Regel Prädikatenlogik Resolution 1 4 2 3 ¬a ¬b ∨ ¬c ¬c ¬d 2 5+1 6+4 7+2 8+3 2 Darstellung und Verarbeitung von Wissen Nr. 5 6 7 8 9 Künstliche Intelligenz 2.6 Logikbasierte Wissensdarstellung und Regelverarbeitung Folie 2-100 (144) 2.6.2 Logische Programmierung und Prolog Ausdrucksstärke von Prolog I I Nicht alle PL1-Formeln sind in Prolog darstellbar, z.B. a ∨ b Prolog erlaubt sogar das Quantifizieren über Prädikate oder Funktionen. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.7 Regelbasierte Wissensverarbeitung Folie 2-101 (145) Regelbasierte Wissensverarbeitung Wissen wird häufig durch Regeln dargestellt. Im Gegensatz zur Logik sind diese Regeln Zustands- und Aktions-orientiert. Regeln können folgendes Aussehen haben: WENN Bedingungen DANN Schlussfolgerung WENN Bedingungen DANN Aktion Sind die Bedingungen erfüllt, kann die Aktion ausgeführt bzw. die Schlussfolgerung gezogen werden. Man bezeichnet diese Regeln auch als Produktionsregeln. Beispiel 2.10 (Produktionsregeln) I Wenn Kunde X die Reise Y bucht, bekomme ich die Provision Z. I Wenn der Tank leer ist, fülle ihn auf. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.7 Regelbasierte Wissensverarbeitung Folie 2-102 (146) Container-Beispiel In einem Lager müssen Container umgeschlagen werden. A B C D E Lager 1 Lager 2 LKW Waggon Abb. 12: Container-Beispiel: Startzustand Die Container sollen so umgestapelt werden, dass folgende Situation entsteht: D A C Lager 1 Lager 2 B E LKW Waggon Abb. 13: Container-Beispiel: Zielzustand 2 Darstellung und Verarbeitung von Wissen 2.7 Regelbasierte Wissensverarbeitung Künstliche Intelligenz Folie 2-103 (147) Regelbasierte Steuerung Die Steuerung kann regelbasiert erfolgen. Eine mögliche Regel wäre: WENN Container steht auf PlatzX UND Container steht oben DANN Setze Container von PlatzX nach PlatzY. Dies ist eine Aktionsregel. 2 Darstellung und Verarbeitung von Wissen 2.7 Regelbasierte Wissensverarbeitung Aufbau von Regelsystemen Ein Regel-System besteht aus zwei Komponenten: 1. Wissensbasis 2. Verarbeitungskomponente Die Wissensbasis besteht aus: 1. Regelbasis 2. Fakten/Datenbasis Künstliche Intelligenz Folie 2-104 (148) 2 Darstellung und Verarbeitung von Wissen 2.7 Regelbasierte Wissensverarbeitung Künstliche Intelligenz Folie 2-105 (149) Verarbeitung I Steuerungsstrategie zur Auswahl einer anwendbaren Regel I Regel-Anwender Es gibt 2 Strategien 1. Vorwärtsverkettung 2. Rückwärtsverkettung und 2 grundsätzliche Vorgehen 1. unwiderrufliche Strategien 2. versuchsweise Strategien (Backtracking) 2 Darstellung und Verarbeitung von Wissen 2.7 Regelbasierte Wissensverarbeitung Künstliche Intelligenz Folie 2-106 (150) Regeln – Beispiel Beispiel 2.11 (Geldautomat) Geld1: WENN Karte_gültig = ja Kontostand_ausreichend = ja PIN_korrekt = ja Betrag =< Maximum Versuch =< 3 DANN Auszahlung = ja Kartenrückgabe = ja Ergänzen Sie weitere Regeln. UND UND UND UND UND 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.7 Regelbasierte Wissensverarbeitung Folie 2-107 (151) 2.7.1 Vorwärtsverkettung Vorwärtsverkettung Abb. 14: Vorwärtsverkettung 2 Darstellung und Verarbeitung von Wissen 2.7 Regelbasierte Wissensverarbeitung Künstliche Intelligenz Folie 2-108 (152) 2.7.1 Vorwärtsverkettung Steuerung der Regelverarbeitung I Vorwärtsverkettung geht von Fakten aus. I Suche nach Regeln, deren Bedingungen komplett erfüllt sind. Wie wählt man eine geeignete Regel aus? I Priorität (vom Benutzer vergebene Priorität) I Aktualität (Alter der Regel) I Spezifität (der Bedingungen) Eine Regel R1 heißt spezifischer als eine Regel R2, falls R2 IMMER anwendbar ist, falls R1 anwendbar ist. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.7 Regelbasierte Wissensverarbeitung Folie 2-109 (153) 2.7.2 Rückwärtsverkettung Rückwärtsverkettung Vorwärtsverkettung I geht relativ ziellos vor, I das zu erreichende Ziel wird nicht beachtet. Bei der Rückwärtsverkettung dagegen I geht man vom Ziel aus und I sucht nach einer Regel, die als Folgerung gerade die zu erfüllende Aussage hat. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.7 Regelbasierte Wissensverarbeitung Folie 2-110 (154) 2.7.2 Rückwärtsverkettung Rückwärtsverkettung FUNCTION GUELTIG(Hypothese) IF Hypothese in Faktenbasis OR RueckVerkettung(Hypothese) THEN Hypothese zu Fakten hinzufuegen; Return true; ELSE Return false; ENDIF; END FUNCTION RueckVerkettung(Hypothese) IF Ex. eine Regel: WENN Bed DANN Hypothese AND FORALL B aus Bed: GUELTIG(B) THEN Return true; ELSE Return false; ENDIF; END Abb. 15: Rückwärtsschließen 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.7 Regelbasierte Wissensverarbeitung Folie 2-111 (155) 2.7.2 Rückwärtsverkettung Regeln – Beispiel Beispiel 2.12 (Vorwärts- und Rückwärtsverkettung) Betrachten wir folgende Wissensbasis: WENN a UND b UND c DANN f WENN a DANN b WENN b UND f DANN g Die Faktenbasis sieht zu Beginn wie folgt aus: (1) (2) (3) a c Vorwärtsverkettung geht wie folgt vor: Iteration 1 2 3 Anwendbare Regeln 2 1 und 2 1, 2, 3 2 Darstellung und Verarbeitung von Wissen Neue Faktenbasis a, c, b a, c, b, f a, c, b, f, g Künstliche Intelligenz 2.7 Regelbasierte Wissensverarbeitung Folie 2-112 (156) 2.7.2 Rückwärtsverkettung Regeln – Beispiel Beispiel 2.12 cont. WENN a UND b UND c DANN f (1) DANN b (2) Wissensbasis: WENN a WENN b UND f DANN g (3) Faktenbasis: a c Wir möchten g beweisen. Rückwärtsverkettung geht wie folgt vor: Schritt 1 2 3 4 5 6 7 Ziel g b a f a b c Anwendbare Regeln 3 2 in Faktenbasis 1 in Faktenbasis schon beweisen in Faktenbasis Noch zu beweisen b, f a, f f a, b, c b, c c 2 Darstellung und Verarbeitung von Wissen 2.8 Semantische Netze Künstliche Intelligenz Folie 2-113 (157) Semantische Netze I Wissen wird durch Netze repräsentiert. I SN sind eine deklarative Repräsentationsform. I SN sind gerichtete Graphen. I Die Knoten sind Objekte (bzw. Klassen von Objekten). I Die Kanten sind 2-stellige Relationen zwischen den Objekten/Klassen. I SN gehen auf Ross Quillian zurück (60er Jahre). 2 Darstellung und Verarbeitung von Wissen 2.8 Semantische Netze Semantische Netze Spezielle Relationen sind: I ist_ein . . . entspricht der Teilmengenbeziehung I Instanz_von . . . entspricht der Elementbeziehung Alle anderen Kanten sind „normale“ 2-stellige Relationen (vgl. Datenbanken). Künstliche Intelligenz Folie 2-114 (158) 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.8 Semantische Netze Folie 2-115 (159) Semantische Netze hat−beine Säugetier 4 Ist_ein hat−beine Mensch 2 Ist_ein liebt Frau Musik Instanz_von Anne Größe 162 Abb. 16: Semantisches Netz 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.8 Semantische Netze Folie 2-116 (160) Semantische Netze I Relationen dürfen nur 2-stellig sein. I Gibt es also Probleme, falls eine Relation mehrstellig ist? NEIN! Aktion Ist_ein Instanz_von Petra Agent Buch Geben Ereignis17 Instanz_von Objekt Empfänger Anne Abb. 17: Mehrstellige Prädikate mit SN Die Firma 2 Darstellung und Verarbeitung von Wissen 2.8 Semantische Netze Künstliche Intelligenz Folie 2-117 (161) Semantische Netze Abb. 18: Semantisches Netz – Deutsche Unternehmen 2 Darstellung und Verarbeitung von Wissen 2.8 Semantische Netze Künstliche Intelligenz Folie 2-118 (162) Semantische Netze und Ontologien I Ontologie . . . explizite Spezifikation einer Konzeptualisierung (Gruber) I SN häufig zur Darstellung von Ontologien genutzt. I Beispiele: I I allgemeines Wissen: Wordnet (semantisches Lexikon) wordnet.princeton.edu medizinisches Wissen: UMLS (Unified Medical Language System) www.nlm.nih.gov/research/umls I Beschreibungssprachen, z.B. Web Ontology Language (OWL) als Ontologiesprache www.w3.org/TR/owl2-overview I Ein gutes Buch: [Heiner Stuckenschmidt 2011]. 2 Darstellung und Verarbeitung von Wissen 2.8 Semantische Netze Künstliche Intelligenz Folie 2-119 (163) Weitere Anwendungen von Semantischen Netzen I Semantische Weiterentwicklungen des WWW I Semantic Wiki I ... 2 Darstellung und Verarbeitung von Wissen 2.9 Frames Künstliche Intelligenz Folie 2-120 (164) Objektorientierte WR und Frames I FRAMES wurden 1975 von MINSKY eingeführt. I Konzept der Frames: 20er/30er Jahre (Psychologie) I Idee: Mensch speichert bestimmte Schemata I hierarchisch geordnet I Eigenschaften durch die Hierarchie vererbbar 2 Darstellung und Verarbeitung von Wissen 2.9 Frames Künstliche Intelligenz Folie 2-121 (165) Frames Fortbewegungsmittel ist-ein : Gegenstand Typ : Wertebereich = (Land,Luft,Wasser) Auto ist-ein : Fortbewegungsmittel Raeder : Default = 4 Marke : Wertebereich=(BMW,Mercedes,Trabant) Motor : Wertebereich=(2Takt,4Takt,Diesel) Karosserie: Wertebereich = (Metall, Plaste) Typ : Land SB-P 5774 Instanz-von : Auto Marke : Trabant Motor : 2Takt Karosserie : Plaste 2 Darstellung und Verarbeitung von Wissen 2.9 Frames Folie 2-122 (166) Struktur von Frames I Frame-Name I Oberkonzepte / Unterkonzepte I Slotname1 : I I I I I Künstliche Intelligenz Slotwert Aspektname1 = Aspektwert1 ... Aspektnamen = Aspektwertn ... Slotnamek ... 2 Darstellung und Verarbeitung von Wissen 2.9 Frames Künstliche Intelligenz Folie 2-123 (167) Beispiel Frames über Zimmer können wie folgt aussehen. Zimmer ist-ein : Raum Unterkonzepte : Wohnzimmer, Kinderzimmer, Arbeitszimmer Wand : Mauer Zahl Default 4, Restriktion > 2 Material Beton, Stein, Holz, Gips Fussboden : 1 Ausstattung : Moebel Wohnzimmer ist-ein : Zimmer Moebel : Stuhl, Tisch, Sessel, Couch Blaues Zimmer Instanz-von : Zimmer Stuhl : Biedermeier, Zahl 1 2 Darstellung und Verarbeitung von Wissen 2.9 Frames Künstliche Intelligenz Folie 2-124 (168) Konzept der Frames I Klassen und Objekte I Hierarchie durch Unterklassen, Instanzen, Unterobjekte I Eigenschaften von Objekten (Attribute) I Attributen kann man bestimmte Aspekte zuordnen I Wert Default-Wert Wertebereich-Restriktionen I ... I I I Methoden für z.B. Lese-/Schreib-Zugriff I Vererbung von Attributen innerhalb der Hierarchie 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.9 Frames Folie 2-125 (169) Vererbung – Algorithmus Um auf einen Wert eines Attributes eines Objektes / einer Klasse zuzugreifen, wird folgender Algorithmus verwendet: 1. Finde das Objekt O in der Wissensbasis 2. Hat das Attribut von O einen Wert, gib ihn zurück 3. sonst: Prüfe, ob O eine Instanz ist. Falls ja: Gehe zum übergeordneten Objekt/Klasse und suche dort den Wert 4. sonst: Prüfe, ob O eine Unterklasse ist. Falls ja, gehe zur Oberklasse und suche dort den Wert 5. sonst: kein Wert vorhanden 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.9 Frames Folie 2-126 (170) Vererbung Tier kann fliegen Vogel Fisch kann nicht fliegen Spatz Strauss Tweety Abb. 19: Vererbung 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.9 Frames Folie 2-127 (171) Probleme I Was passiert, wenn ein Objekt mehrere Oberobjekte/-klassen hat? I Wie löst man Widersprüche in der Vererbung (Karo-Problem)? Sei Clyde ein Zirkuselefant. Er gehört zu 2 Klassen: Elefant und Zirkustier. Elefanten sind groß, Zirkustiere jedoch klein. Mensch Pazifist Quäker kein Pazifist Republikaner Nixon Abb. 20: Vererbung – Probleme 2 Darstellung und Verarbeitung von Wissen 2.10 Prozedurale Darstellung Künstliche Intelligenz Folie 2-128 (172) Prozedurale Darstellung Wissen wird prozedural dargestellt, z.B. durch eine feste Abfolge von Aktionen. Nachteile der prozeduralen Repräsentation: I i.allg. kein Trial and Error I nur anwendbar, wenn klare Handlungsfolge vorliegt 2 Darstellung und Verarbeitung von Wissen 2.11 Weitere Darstellungsformen Künstliche Intelligenz Folie 2-129 (173) Weitere Darstellungsformen Weitere WR-Formalismen sind: I Analoge Repräsentation (z.B. Landkarten) I andere Logiken, z.B. Fuzzy-Logik 2 Darstellung und Verarbeitung von Wissen 2.12 Zusammenfassung (WR/WV) Künstliche Intelligenz Folie 2-130 (174) Das sollten Sie wissen . . . Zusammenfassung 2.9 (WR/WV) I Grundprinzip explizite Repräsentation I Problemlösen mit KI I Formen der WR und WV I PL1 und Resolution I Regelverarbeitung (WENN-DANN-Regeln Produktionsregeln) I SN / Frames, Vererbung 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.13 Aufgaben Folie 2-131 (175) Aufgaben – WRWV Aufgabe 2.1 (Übersetzen in PL1) Übersetzen Sie die Aussagen in die prädikatenlogische Sprache: I Wenn die Sonne scheint, regnet es nicht und umgekehrt. I Peter bucht ein Urlaubsziel nur dann, wenn es dort einen Swimming Pool gibt. I Lutz geht zu den Heimspielen von Hansa, aber nur, wenn nicht gegen St. Pauli gespielt wird. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.13 Aufgaben Folie 2-132 (176) Aufgaben – WRWV Aufgabe 2.2 (Beweisen) Beweisen Sie (ohne Resolution), I dass Marcus nicht loyal gegenüber Caesar war I dass er Caesar hasste, und und zwar mittels I Rückwärtsschließen (mit dem Ziel beginnend) I Vorwärtsschließen (mit dem gegebenen Wissen beginnend) Wo sehen Sie Vor- bzw. Nachteile beider Strategien? Gehen Sie dabei von den Originalformeln aus. 2 Darstellung und Verarbeitung von Wissen Künstliche Intelligenz 2.13 Aufgaben Folie 2-133 (177) Aufgaben – WRWV Aufgabe 2.3 (Resolution) Wie beweist man die Äquivalenz von 2 Formeln A und B? I Welches Ziel muss man formulieren und anschließend beweisen? I Prüfen Sie Ihr Konzept anhand des Beweises, dass ∀X (p(X ) ∧ q (X )) und äquivalent sind? ¬∃X (¬p(X ) ∨ ¬q (X )) Beweisen Sie Ihre Vermutung nur mittels Resolution, also OHNE die Negation sofort über den Ex.-Operator zu ziehen. (Hinweis: Man sieht natürlich sehr schnell, dass beide äquivalent sind. Hier soll der Beweis jedoch mittels Resolution erfolgen. Also Ziel aufstellen und mit Resolution beweisen.) 2 Darstellung und Verarbeitung von Wissen 2.13 Aufgaben Künstliche Intelligenz Folie 2-134 (178) Aufgaben – WRWV Aufgabe 2.4 (Produktionsregeln) Lösen Sie das Wasser-Problem (vgl. Kapitel Suche) mit Hilfe von Wenn-Dann-Regeln (Produktionsregeln). Aufgabe 2.5 (Produktionsregeln und Prolog) Betrachten Sie PROLOG als Regel-verarbeitendes System (im Sinne der behandelten WENN-DANN-Aktionsregeln) und erläutern Sie die Abarbeitung in PROLOG an einem Beispiel! Aufgabe 2.6 (Semantisches Netz) Stellen Sie als Semantisches Netz dar, dass Marcus ein Pompejer war und dass jeder Pompejer auch ein Römer war. 2 Darstellung und Verarbeitung von Wissen 2.13 Aufgaben Künstliche Intelligenz Folie 2-135 (179) Aufgaben – WRWV Aufgabe 2.7 (Frames) Stellen Sie in Form von Frames einen Ausschnitt der Lebewesen-Hierarchie dar, also z.B. I dass Vögel und Säugetiere Lebewesen sind, I dass Vögel fliegen, I dass Säugetiere laufen, I dass ein Strauß ein Vogel ist und läuft etc. Benutzen Sie hier die Vererbung von Eigenschaften von Oberkonzepten auf Unterkonzepte. 2 Darstellung und Verarbeitung von Wissen 2.13 Aufgaben Aufgabe 2.8 (PL1) Erläutern Sie den Unterschied zwischen den Formeln: ∃X (p(X ) ∧ q (X )) und ∃X p(X ) ∧ ∃X q (X ) Aufgabe 2.9 (Semantisches Netz) Übersetzen Sie das Semantische Netz aus Abb. 16 in die Prädikatenlogik. Aufgabe 2.10 (Regelsystem) Entwickeln Sie ein Regelsystem zur Steuerung einer Ampel. Künstliche Intelligenz Folie 2-136 (180) 3 Vages Wissen Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis Einleitung Darstellung und Verarbeitung von Wissen Vages Wissen Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme 3 Vages Wissen Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis – Kapitel 3 Vages Wissen Unsicheres Wissen Unscharfes Wissen und Fuzzy-Mengen Rechnen mit Fuzzy-Mengen Fuzzy-Logik Fuzzy-Logik und Prolog Fuzzy-Regler Regelung eines inversen Pendels Ergänzungen Zusammenfassung (Fuzzy) Aufgaben (Fuzzy) 3 Vages Wissen Künstliche Intelligenz Folie 3-1 (183) Vages Wissen No real problem has a solution. The Smith’s Law, Murphy’s Law 3 Vages Wissen Künstliche Intelligenz Folie 3-2 (184) Vages Wissen Häufig: vage Aussagen I unscharfe Begriffen (groß, profitabel, teuer, effizient) oder I unsichere Aussagen (Morgen regnet es.). Nicht mit gängigen Methoden modellierbar. Denn: Nicht eindeutig klar, ob solche Aussagen wahr oder falsch. 3 Vages Wissen Künstliche Intelligenz Folie 3-3 (185) Vages Wissen I Ziel: auch mit vagen Begriffen Entscheidungen treffen. I Z.B. Autokauf: Kriterien wie billig, familien-, umweltfreundlich. I Beim Autokauf müssen wir die Angebote irgendwie bewerten (um das beste Angebot zu finden). I Wahr/falsch geht nicht, da unsere Angebote nicht eindeutig billig bzw. nicht billig sind. I Deshalb lassen wir auch Bewertungen für billig von z.B. 80% zu. I Wie verbinden wir z.B. 80% (billig) mit 70% (fam.freundlich)? 3 Vages Wissen Künstliche Intelligenz Folie 3-4 (186) Vages Wissen I Ebenso möchten wir ähnlich wie mit Resolution Schlüsse ziehen. ∀X patient(X ) ∧ hohesfieber(X ) → medikament(X , paracetamol) Ist 38◦ hohes Fieber? Nicht zu 100%, eher 50%. I Wir lösen uns von wahr/falsch, möchten jedoch weiter mit dieser Regel rechnen. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-5 (187) Unsicheres Wissen Es werden unsichere Aussagen wie I Es regnet morgen. I Der Kurs des Euro wird steigen. betrachtet. 1. Aussagen können nur wahr oder falsch sein. 2. Zum jetzigen Zeitpunkt: keine Aussage möglich, ob wahr / falsch. Konsequenzen: I Die zweiwertige Logik ist nicht anwendbar. I Man muss Wahrheitswerte zwischen 0 und 1 zulassen. I Üblicher Ansatz: Verwenden von Wahrscheinlichkeiten. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-6 (188) Wahrscheinlichkeit Eine Wahrscheinlichkeit drückt aus, mit welchem Maß man annehmen kann, dass ein Ereignis eintritt. Beispiel 3.1 (Wahrscheinlichkeit) Das Ereignis Es wird eine ungerade Zahl gewürfelt. hat eine Wahrscheinlichkeit von 0,5. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-7 (189) Grundlagen der Wahrscheinlichkeitsrechnung Man kann Wahrscheinlichkeiten unterschiedlich interpretieren: 1. Maß für eine Häufigkeit von Ereignissen 2. subjektives Maß für das Eintreffen von Ereignissen 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-8 (190) Grundbegriffe I I I Sei mit Ω der Ereignisraum bezeichnet. (Beim Würfeln: Ω = {1, 2, 3, 4, 5, 6}) Elementarereignisse: 1, 2, 3, 4, 5, 6 Jedes Ereignis darstellbar als: A ⊆ Ω. Beispiel 3.2 (Ereignis) Das Ereignis: Es wird eine gerade Zahl gewürfelt entspricht: A = {2, 4, 6}. Eine Aussage A heißt wahr, falls das tatsächlich eingetretene Ereignis X in A enthalten ist: X ∈A 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-9 (191) Grundbegriffe I Menge aller möglichen Aussagen: Menge aller Teilmengen von Ω: 2Ω . I Ω ist das sichere Ereignis (da alle Elementarereignisse in Ω enthalten sind). I 0/ ist das unmögliche Ereignis, da die leere Menge kein Elementarereignis enthält. I Ereignisse kann man verknüpfen. Sind X und Y Ereignisse über dem Ereignisraum Ω, so sind auch: I X ∩Y I X ∪ Y und I X c (Mengenkomplement) Ereignisse über Ω. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-10 (192) Ereignisse und Logik I I I Das Ereignis X ∩ Y tritt genau dann ein, wenn X eintritt UND auch Y eintritt. Dies entspricht folglich der Aussage X ∧ Y . Analog entspricht das Ereignis X ∪ Y der Aussage X ∨ Y . Die Komplementbildung X c entspricht der Negation ¬X . 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-11 (193) Erwartungswert Diesen Ereignissen sollen Zahlen (∈ [0, 1]) zugewiesen werden, die einen Erwartungswert für deren Eintreffen darstellen, eine Wahrscheinlichkeit. Definition 3.1 (Wahrscheinlichkeitsfunktion) Sei Ω ein endlicher Ereignisraum. Eine Funktion P : 2Ω → [0, 1] heißt Wahrscheinlichkeitsfunktion, wenn gilt: I P (Ω) = 1 I P (X ∪ Y ) = P (X ) + P (Y ) für X , Y ⊆ Ω, wobei X ∩ Y = 0/ 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-12 (194) Eigenschaften einer Wahrscheinlichkeitsfunktion Für beliebige X , Y ⊆ Ω gilt: unmögliches Ereignis Monotonie Subtraktivität Subadditivität Additivität Komplement / =0 P (0) X ⊆ Y → P (X ) ≤ P (Y ) X ⊆ Y → P (Y ∩ X c ) = P (Y ) − P (X ) P (X ∪ Y ) ≤ P (X ) + P (Y ) P (X ∪ Y ) = P (X ) + P (Y ) − P (X ∩ Y ) P (X c ) = 1 − P (X ) 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-13 (195) 3.1.1 Bedingte Wahrscheinlichkeiten Bedingte Wahrscheinlichkeiten Meistens hat man abhängige Aussagen: Wenn die Telekom eine positive Jahresbilanz meldet, dann steigt die Telekom-Aktie um 5%. Was bedeutet ein Wert von 0,8 für diese Aussage? Betrachtet man diese Aussage als logische Implikation: A → B so entspricht dies der Aussage: ¬A ∨ B Folglich bedeutet der Wert 0,8, dass in 80% der Fälle die Telekom keine positive Jahresbilanz vermeldet oder die Aktie um 5% steigt. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-14 (196) 3.1.1 Bedingte Wahrscheinlichkeiten 2. Interpretation Wenn eine positive Bilanz gemeldet wird, dann steigt die Aktie mit einer Wahrscheinlichkeit von 0,8 um 5%. Dies bezeichnet man als bedingte Wahrscheinlichkeit. Unterschied ist signifikant: 1. Betrachten den Fall: 7 x nicht positive Bilanz, 3 x positive Bilanz 2. Aktie steigt in einem von diesen 3 Fällen um 5%. Resultat: I Erste Interpretation: 0,8 erfüllt (log. Implikation erfüllt in 8 von 10 Fällen) I Bedingte Wahrscheinlichkeit: 0,8 nicht erfüllt (Aktie stieg nur in 1 von 3 Fällen) 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-15 (197) 3.1.1 Bedingte Wahrscheinlichkeiten Bedingte Wahrscheinlichkeit Definition 3.2 (Bedingte Wahrscheinlichkeit) Sei Y ein Ereignis mit P (Y ) > 0. Dann heißt P (X |Y ) = P (X ∩ Y ) P (Y ) bedingte Wahrscheinlichkeit von X unter der Bedingung Y . Falls P (Y ) = 0, so ist die bedingte Wahrscheinlichkeit nicht definiert. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-16 (198) 3.1.1 Bedingte Wahrscheinlichkeiten Bedingte Wahrscheinlichkeit Beispiel 3.3 (Bedingte Wahrscheinlichkeit) Welchen Wahrscheinlichkeitswert muss diese Aussage bekommen: Wird eine gerade Zahl gewürfelt, so ist es eine 2. Die Wahrscheinlichkeit für das Ereignis G = {2, 4, 6} beträgt: P (G) = 0, 5. Für das Ereignis Z = {2} gilt: P (Z ) = 16 . Die bedingte Wahrscheinlichkeit beträgt: P (Z |G) = 13 . 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-17 (199) 3.1.2 Bayessche Formel Bayessche Formel Stellt man die Formel für die bedingte Wahrscheinlichkeit um, so erhält man: P (X ∩ Y ) = P (Y ) ∗ P (X |Y ) Betrachtet man die bedingte Wahrscheinlichkeit von Y bezüglich X , so ergibt sich analog: P (Y ∩ X ) = P (X ) ∗ P (Y |X ) Da der Mengendurchschnitt kommutativ ist, gilt: P (Y ) ∗ P (X |Y ) = P (X ) ∗ P (Y |X ) Somit erhält man die Bayessche Formel: P (X |Y ) = P (Y |X ) ∗ P (X ) 3 Vages Wissen 3.1 Unsicheres Wissen P (Y ) Künstliche Intelligenz Folie 3-18 (200) 3.1.2 Bayessche Formel Bayessche Formel Beispiel 3.4 (Bayessche Formel) Seien diese Aussagen gegeben: X: Der Motor braucht einen Ölwechsel: P (X ) = 0, 06. Y: Der Motor des Autos macht seltsame Geräusche: P (Y ) = 0, 08. Ein dringend erforderlicher Ölwechsel verursacht in 60% der Fälle seltsame Geräusche des Motors: P (Y |X ) = 0, 6. Bayessche Formel zur Berechnung, mit welcher Wahrscheinlichkeit ein seltsames Motorgeräusch auf einen dringend erforderlichen Ölwechsel schließen lässt: P (Y |X )∗P (X ) 0,06 P (X |Y ) = = 0,60∗,08 = 0, 45 P (Y ) 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-19 (201) 3.1.2 Bayessche Formel Problem – 1 Häufig sind die wahrscheinlichkeitstheoretischen Voraussetzungen nicht erfüllt bzw. prüfbar. Beispiel 3.5 (Bayessche Formel) Sei im Auto-Beispiel P (Y ) = 0, 03 so ergäbe sich als bedingte Wahrscheinlichkeit: P (X |Y ) = 1, 2 Die Ursache für diesen Fehler liegt in den bereits widersprüchlichen subjektiven Werten. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen 3.1.2 Bayessche Formel Problem – 2 Betrachtet werden die Ereignisse: Im ersten Wurf wird eine gerade Zahl gewürfelt. Im zweiten Wurf wird eine ungerade Zahl gewürfelt. Beide Ereignisse gleichzeitig ; 0,25 (0, 52 , da unabhängige Ereignisse) Betrachtet man dagegen die Ereignisse: Im ersten Wurf wird eine gerade Zahl gewürfelt. Im ersten Wurf wird eine ungerade Zahl gewürfelt. Beide Ereignisse gleichzeitig ; 0 (Ereignisse nicht unabhängig) Folie 3-20 (202) 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-21 (203) 3.1.2 Bayessche Formel Bayessche Formel – Beispiel Beispiel 3.6 (Bayessche Formel) Marianne möchte sich eine neue Festplatte kaufen. Marke A B C W., dass Mar. Marke kauft 0,4 0,5 0,1 Falls Platte kaputt geht, wie wahrscheinlich war es A? W., dass Platte (im 1. Jahr) kaputt geht 0,05 0,02 0,01 P (A|kaputt) = P (kaputt|A)×P (A) P (kaputt) Die erforderlichen Einzelwahrscheinlichkeiten sehen wie folgt aus: I I P (kaputt|A) = 0, 05 ; P (A) = 0, 4 P (kaputt) = 0, 4 ∗ 0, 05 + 0, 5 ∗ 0, 02 + 0, 1 ∗ 0, 01 = 0, 031 Damit erhalten wir: P (A|kaputt) = 0,05∗0,4 0,031 = 64, 51% 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-22 (204) 3.1.3 Sicherheitsfaktoren Sicherheitsfaktoren I Meist keine Wahrscheinlichkeiten gegeben, sondern subjektive Maßzahlen. I subjektive Maßzahl 6= Wahrscheinlichkeit I besser: Glaube oder Sicherheit 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-23 (205) 3.1.3 Sicherheitsfaktoren Sicherheitsfaktoren I Sicherheitsfaktoren (engl. Certainty Factors, CF) I Quantitative Bewertung von Aussagen. [−1, 1]. Die Zahl -1 bedeutet falsch, 1 steht für wahr. I Die Sicherheitsfaktoren werden mit CF (H |E ) bezeichnet. I Bewertung der Sicherheit eines Ereignisses H basiert auf Erfahrung (Evidenz): E I Ein Fakt Es stürmt (CF-Wert 0,8), wird in der Form CF (Es stürmt|E ) = 0, 8 angegeben. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-24 (206) 3.1.3 Sicherheitsfaktoren Sicherheitsfaktoren für Regeln Betrachten wir folgendes Beispiel: 1 2 3 Es regnet. Es stürmt. Die Sonne scheint. → → → Es ist schlechtes Wetter. Es ist schlechtes Wetter. Es ist schlechtes Wetter. 0,9 0,7 -0,9 Die folgende Schreibweise ist eine andere Darstellung der Regel 1: CF (Es ist schlechtes Wetter|Es regnet) = 0, 9 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-25 (207) 3.1.3 Sicherheitsfaktoren Logische Verknüpfungen mit CF-Werten I Wie berechnet man die Verknüpfungen von CF-Werten mittels Oder / Und / Negation? I Wie berechnet sich der CF-Wert für H in einer Implikation X → H? I I Sequentielle Verknüpfung von 2 Implikationen X → Y und Y → H? 2 parallele Regeln für eine Hypothese (X → H und Y → H)? Wir betrachten dazu einige Fälle. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-26 (208) 3.1.3 Sicherheitsfaktoren Schließen mit Regeln – Fall 1 Weiß man, dass es regnet, kann man mit einer Sicherheit von 0,9 darauf schließen, dass schlechtes Wetter ist. CF (Es regnet|E ) = 1 CF (Es ist schlechtes Wetter|Es regnet) = 0, 9 Es soll Es ist schlechtes Wetter geschlossen werden. Dies entspricht im Prinzip dem Modus ponens: A → B A B CF (Es ist schlechtes Wetter|E ) = = CF (Es regnet|E ) ∗ CF (Es ist schlechtes Wetter|Es regnet) = 1 ∗ 0, 9 = 0, 9 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-27 (209) 3.1.3 Sicherheitsfaktoren Schließen mit Regeln – Fall 2 Was kann man schließen, wenn zusätzlich bekannt ist, dass es stürmt? CF (Es stürmt|E ) = 1 Offensichtlich gibt es zwei Argumente, die dafür sprechen, dass schlechtes Wetter ist. Seien a = CF (Es ist schlechtes Wetter|Es regnet) = 0, 9 b = CF (Es ist schlechtes Wetter|Es stürmt) = 0, 7 und dann ist CF (Es ist schlechtes Wetter|(Es regnet ∧ Es stürmt)) = a + b − a ∗ b = 0, 97. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen 3.1.3 Sicherheitsfaktoren Schließen mit Regeln – Fall 3 Es stürmt und die Sonne scheint. I einfache Addition der CF-Werte sinnvoll ? I Kombination des positiven und negativen Argumentes für schlechtes Wetter I Resultat -0,2 Folie 3-28 (210) 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-29 (211) 3.1.3 Sicherheitsfaktoren Schließen mit Regeln – Fall 4 Es stürmt und regnet, die Sonne scheint. I Analog Fall 2: positives Argument für schlechtes Wetter 0,97. I Gegenargument ergibt 0,9. I Resultat: 0,07, obwohl zwei Regeln dafür sprechen, nur eine dagegen. Als Verknüpfung für CF1 und CF2 wählt man deshalb in diesem Fall: CF = CF 1 + CF 2 1 − min{|CF 1|, |CF 2|} Mit dieser Verknüpfung erhält man 0,7. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-30 (212) 3.1.3 Sicherheitsfaktoren Mögliche Verknüpfungen Aussagen können folgende Verknüpfungen enthalten: ¬ ∧ ∨ → 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-31 (213) 3.1.3 Sicherheitsfaktoren Systematische Betrachtung Regel 1: Regel 2: Regel 3: X ∧ Y −→ H M ∨ N −→ H A −→ H (0, 9) (0, 7) (−0, 9) Diese CF-Werte seien bekannt: CF X 0,7 Y 1 M -0,2 N 1 A 0,6 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-32 (214) 3.1.3 Sicherheitsfaktoren Behandlung von ∧ und ∨ CF (a ∧ b|E ) = min(CF (a|E ), CF (b|E )) CF (a ∨ b|E ) = max(CF (a|E ), CF (b|E )) Es ergibt sich: CF (X ∧ Y |E ) = 0, 7 CF (M ∨ N |E ) = 1 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-33 (215) 3.1.3 Sicherheitsfaktoren Behandlung einer Regel – 1 Betrachtet man die Regel: Regel: P −→ H (CF ) und sei CF (P |E ) gegeben, so berechnet sich der Sicherheitsfaktor CF (H |E ) durch: CF (H |E ) = CF (P |E ) ∗ CF (H |P ) 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-34 (216) 3.1.3 Sicherheitsfaktoren Behandlung einer Regel – 2 Man beachte, dass dies nur dann sinnvoll ist, wenn CF (P |E ) ≥ 0 gilt. Ist der Wert negativ, so benötigt man eine Regel der Form: Regel: ¬P −→ H (CF ) Unter Beachtung der Gleichung: CF (¬P |E ) = −CF (P |E ) erhält man: CF (H |E ) = CF (¬P |E ) ∗ CF (H |¬P ) = −CF (P |E ) ∗ CF (H |¬P ) 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-35 (217) 3.1.3 Sicherheitsfaktoren Behandlung einer Regel – 3 Bemerkung 3.3 Der Schluss von P auf H entspricht dem Modus ponens. Ist jedoch der I I Sicherheitswert CF (P |E ) negativ, und ist keine Regel für den komplementären Fall gegeben, so ist die Anwendung des Modus ponens unsinnig. Man sollte den CF-Wert CF (H |E ) dann auf Null setzen. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-36 (218) 3.1.3 Sicherheitsfaktoren Unser Beispiel In obigem Beispiel erhält man mit Regel 1: CF (H1 |E1 ) = CF (H1 |X ∧ Y ) ∗ CF (X ∧ Y |E ) = 0, 63 Analog ergibt sich mit Regel 2 und 3: CF (H2 |E2 ) = 0, 7 CF (H3 |E3 ) = −0, 54 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-37 (219) 3.1.3 Sicherheitsfaktoren Verknüpfung mehrerer Regeln Seien x = CF (H |E1 ) und y = CF (H |E2 ) die sich aus zwei Regeln ergebenden Sicherheitsfaktoren. Dann berechnet sich der kombinierte Sicherheitsfaktor durch: x +y −x ∗y x +y +x ∗y CF (H |E1 , E2 ) = undefiniert x +y 1−min(|x |,|y |) falls x , y ≥ 0 falls x , y < 0 falls x ∗ y = −1 sonst Die Verknüpfungsfunktion ist kommutativ und assoziativ, so dass eine Reihenfolge der Anwendung keine Rolle spielt. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-38 (220) 3.1.3 Sicherheitsfaktoren Unser Beispiel CF (H1 |E1 ) CF (H2 |E2 ) CF (H3 |E3 ) CF (H1,2 |E1 , E2 ) CF (H |E1 , E2 , E3 ) = 0, 63 = 0, 7 = −0, 54 = 0, 63 + 0, 7 − 0, 63 ∗ 0, 7 = 0, 889 −0,54 = 0,889 = 0, 759 1−0,54 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-39 (221) 3.1.3 Sicherheitsfaktoren Systematische Betrachtung Verknüpfung Und Oder Negation Regel 2 CFs CF-Wert min(CF (a|E ), CF (b|E )) max(CF (a|E ), CF (b|E )) −CF (P |E ) CF (P |E ) ∗ CF (H |P ) CF1 + CF2 − CF1 ∗ CF2 CF1 + CF2 + CF1 ∗ CF2 CF1 +CF2 1−min(|CF1 |,|CF2 |) undefiniert Bedingung CF1 , CF2 ≥ 0 CF1 , CF2 < 0 CF1 ∗ CF2 < 0, 6= −1 CF1 ∗ CF2 = −1 Tabelle 7: Verknüpfungen von CF-Werten 3 Vages Wissen 3.1 Unsicheres Wissen Künstliche Intelligenz Folie 3-40 (222) 3.1.3 Sicherheitsfaktoren Measure of Belief Wie bekommt man die CF-Werte für die Fakten wie Es stürmt oder Es regnet? Analog zu CF: Measure of Belief/Disbelief MB/MD Beide Werte müssen im Intervall [0,1] liegen. 3 Vages Wissen Künstliche Intelligenz 3.1 Unsicheres Wissen Folie 3-41 (223) 3.1.3 Sicherheitsfaktoren Measure of Belief Beispiel 3.7 (Measure of Belief) Liegt Rostock an der Ostsee? Rostock ist eine Hafenstadt. Dies spricht uneingeschränkt dafür: MB (Rostock liegt an der Ostsee|E ) = 1, 0 Dagegen spricht, dass man vom Stadtzentrum etwa 15 km zurücklegen muss, um an die Ostsee zu kommen. MD (Rostock liegt an der Ostsee|E ) = 0, 2 Differenzbildung: CF (H |E ) = MB (H |E ) − MD (H |E ) = 1, 0 − 0, 2 = 0, 8 3 Vages Wissen Künstliche Intelligenz 3.2 Unscharfes Wissen und Fuzzy-Mengen Unscharfes Wissen und Fuzzy-Mengen Im folgenden: unscharfe Aussagen wie groß, intelligent, reich, profitabel Eigenschaften werden normalerweise beschrieben durch I Mengen / Teilmengen (z.B. Relationen) I Prädikate (Wahrheitswerte) I charakteristische Funktionen Folie 3-42 (224) 3 Vages Wissen Künstliche Intelligenz 3.2 Unscharfes Wissen und Fuzzy-Mengen Folie 3-43 (225) Fuzzy-Mengen 1 6 s 0 0 s s s s s 5 s s s s 10 Abb. 21: Charakteristische Funktion – gerade natürliche Zahlen I Mengen und Prädikate sind ungeeignet, um unscharfe Aussagen darzustellen. I Dazu eignen sich die Fuzzy-Mengen. I Man bildet nicht mehr auf {0, 1} ab, sondern auf [0,1]. 3 Vages Wissen Künstliche Intelligenz 3.2 Unscharfes Wissen und Fuzzy-Mengen Folie 3-44 (226) Fuzzy-Mengen Folgendes Bild stellt die Zugehörigkeit von Personen zur Menge groß dar, und zwar in Abhängigkeit von ihrer Körpergröße. Abb. 22: Charakteristische Funktion für groß 3 Vages Wissen Künstliche Intelligenz 3.2 Unscharfes Wissen und Fuzzy-Mengen Folie 3-45 (227) Fuzzy-Menge – Definition Definition 3.4 (Fuzzy-Menge) Eine Fuzzy-Menge Z über einer Referenzmenge X ist eine Teilmenge aus X × [0, 1]. Z wird beschrieben durch die Zugehörigkeitsfunktion: µ Z : X → [ 0, 1] z = (x , s) ist in der Fuzzy-Menge Z genau dann enthalten, wenn gilt: µZ (x ) = s F (X ) ist die Menge aller Fuzzy-Mengen über X. 3 Vages Wissen Künstliche Intelligenz 3.2 Unscharfes Wissen und Fuzzy-Mengen Folie 3-46 (228) Diskrete Funktionen Man kann sich von der Abbildung auf das Intervall [0, 1] lösen und wieder endliche Mengen zulassen. Z.B.: unmöglich < höchst unwahrscheinlich < sehr selten < selten < unwahrscheinlich < manchmal < Chance ist 50:50 < wahrscheinlich < oft < meistens < fast immer < fast sicher < sicher I Totale Ordnung der Bewertungsgrößen I Im folgenden diskrete Funktionen nicht betrachtet 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-47 (229) Rechnen mit Fuzzy-Mengen Will man mit Fuzzy-Mengen rechnen, braucht man eine endliche Repräsentation der Fuzzy-Mengen, z.B. I Referenzmenge X ist endlich. I Die Funktion µ ist als analytischer Ausdruck (parameterabhängig) bekannt. Ein typischer Vertreter sind die stückweise linearen Funktionen. 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-48 (230) Teilmenge Wie definiert man typische Beziehungen von Mengen zwischen Fuzzy-Mengen? Definition 3.5 (Teilmenge) Seien µ und µ0 zwei Fuzzy-Mengen von X. µ heißt Teilmenge von µ0 (⊂) gdw. für alle x ∈ X gilt: µ(x ) ≤ µ0 (x ). 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-49 (231) Teilmenge Beispiel 3.8 (Fuzzy-Teilmengen) 1 6 AAAA AAA AAA A 0.5 0 0 6 1 1 2 B AAAB AAB BAA B 0.5 3 Abb. 23: Teilmenge 0 0 und 1 2 3 keine Teilmenge 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-50 (232) Durchschnitt Und wie verknüpft man Fuzzy-Mengen? Berechnen einer Funktion: S : [0, 1] × [0, 1] → [0, 1], so dass gilt: (µ ∩ µ0 )(x ) = S (µ(x ), µ0 (x )) Welche Eigenschaften muss S erfüllen? I S (a, 1) = a I Monotonie: a ≤ b → S (a, c ) ≤ S (b, c ) I I Kommutativität S (a, b) = S (b, a) Assoziativität S (a, S (b, c )) = S (S (a, b), c ) 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-51 (233) Durchschnitt Folgende Funktionen erfüllen die Forderungen: Variante 1: min( a , b ) Variante 2: max( 0 , a+b-1 ) Variante 3: a×b 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-52 (234) Durchschnitt Abb. 24: Charakteristische Funktion – klein UND groß (Variante 1) 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-53 (235) Vereinigung Berechnen einer Funktion V : [0, 1] × [0, 1] → [0, 1], so dass gilt: (µ ∪ µ0 )(x ) = V (µ(x ), µ0 (x )) Welche Eigenschaften muss V erfüllen? I V (a, 0) = a I Monotonie: a ≤ b → V (a, c ) ≤ V (b, c ) I I Kommutativität Assoziativität 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Vereinigung Folgende Funktionen erfüllen die Forderungen: Variante 1: max( a , b ) Variante 2: min( 1 , a+b ) Variante 3: a+b−a×b Folie 3-54 (236) 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-55 (237) Vereinigung Abb. 25: Charakteristische Funktion – klein ODER groß (Variante 1) 3 Vages Wissen Künstliche Intelligenz 3.3 Rechnen mit Fuzzy-Mengen Folie 3-56 (238) Komplement einer Fuzzy-Menge Analog kann man die Komplementbildung definieren als: µZ c (x ) = 1 − µZ (x ) 3 Vages Wissen Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-57 (239) Fuzzy-Logik Für die Disjunktion, Konjunktion und Negation haben wir bereits Funktionen kennengelernt: I I I Konjunktion ∧ : Mengendurchschnitt Disjunktion ∨ : Mengenvereinigung Negation ¬ : Differenz (Mengenkomplement) 3 Vages Wissen Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-58 (240) Achtung ! Welche der Varianten 1/2/3 wir benutzen, ist uns überlassen. Funktionen für Durchschnitt und Vereinigung sollten zueinander passen. Wählt man I für den Durchschnitt das Minimum, I für die Vereinigung das Maximum, so gilt auch in der Fuzzy-Logik die Aussage: A ∨ (A ∧ B ) = A Denn es gilt: µA ∨ (A ∧ B) (x ) = max(µA (x ), min(µA (x ), µB (x ))) = µA (x ) 3 Vages Wissen Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-59 (241) Implikation Die Implikation kann man z.B. folgendermaßen definieren: µA → B (x ) min(1, 1 − µA (x ) + µB (x )) max(1 − µA (x ), µB (x )) max(1 − µA (x ), min(µA (x ), µB (x ))) 1 − µA (x ) + µA (x ) × µB (x ) Name Lukasiewicz Kleene-Dienes Zadeh Reichenbach 3 Vages Wissen Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-60 (242) Woher kommen die Implikations-Varianten? Definitionen für die Implikationen hängen von den Varianten 1/2/3 für ∧ und ∨ sowie von der Darstellung der Implikation ab. Variante Lukasiewicz Kleene-Dienes Zadeh Reichenbach Darstellung für A → B ¬A ∨ B Variante für ∧/∨ 2 ¬A ∨ B 1 ¬A ∨ (A ∧ B ) ¬A ∨ (A ∧ B ) 1 3 Formel µA → B (x ) = = µ¬A ∨ B (x ) = min(1, (1 − µA (x )) + µB (x )) = µ¬A ∨ B (x ) = max(1 − µA (x ), µB (x )) = µ¬A ∨ (A ∧ B) (x ) = max(1 − µA (x ), min(µA (x ), µB (x )) = µ¬A ∨ (A ∧ B) (x ) = (1 − µA (x )) + µA ∧ B (x ) − . . . −µ¬A ∧ (A ∧ B) (x ) = (1 − µA (x )) + µA ∧ B (x ) 3 Vages Wissen Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-61 (243) Ferienplanung mit Fuzzy-Logik Wir möchten in den Urlaub fahren. Kriterien sind für uns: I Der Urlaub soll möglichst in die Ferienzeit 20. Juni - 10. August fallen. I Wir möchten an die See. Die Reise soll preiswert oder der Urlaubsplatz „sonnensicher“ sein. Reiseziel Zeitraum Preis Wismar 19.6.-2.7. 1000 Uns liegen drei Angebote vor: Bordeaux 1.7.-14.7. 2000 Mallorca 30.7.-12.8. 1800 I 3 Vages Wissen Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-62 (244) Fuzzy-Modellierung Fuzzy-Werte für I an der See und I sonnensicher werden empirisch festgelegt. 1 0 6 @ 0 @ @ 1000 @ @ @ @ 2000 3000 Abb. 26: Charakteristische Funktion – preiswert 3 Vages Wissen Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-63 (245) Ferienzeit Fuzzywert = 3 Vages Wissen Tage in Ferienzeit Gesamtzahl 14 Tage Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-64 (246) Komplette Übersicht Für Variante 1 (min/max) ergibt sich für den Urlaubsplatz Wismar: Sonne ∨ preiswert : max(0, 8; 0, 87) = 0, 87 Zeit ∧ See ∧ (Sonne ∨ preiswert) : min(min(0, 93; 0, 95); 0, 87) = 0, 87 Reiseziel Wann Fuzzy Fuzzy Fuzzy Fuzzy Var Var Var Zeit Preis Sonne See 1 2 3 Wismar 19.6.-2.7. 0,93 0,87 0,8 0,95 0,87 0,88 0,86 Bordeaux 1.7.-14.7. 1 0,2 0,9 0,8 0,8 0,8 0,74 Mallorca 30.7.-12.8. 0,86 0,33 0,95 0,99 0,86 0,85 0,82 3 Vages Wissen Künstliche Intelligenz 3.4 Fuzzy-Logik Folie 3-65 (247) Fuzzy-Resolution L1 ∨ L2 ¬L1 ∨ K2 L2 ∨ K2 , α , β , min(α, β) Gefahr: Bei langen Schlussketten wird Fuzzy-Wert kleiner und kleiner. 3 Vages Wissen Künstliche Intelligenz 3.5 Fuzzy-Logik und Prolog Folie 3-66 (248) Fuzzy-Logik und Prolog Prolog-Programme bestehen aus Regeln und Fakten: H ← B1 ∧ . . . ∧ Bn H← Man kann Prolog mit Hilfe einer Fuzzy-Resolutionsregel oder eines Fuzzy-Modus-ponens auf Fuzzy-Ebene verallgemeinern. L L→H H , α , β , α∗β 3 Vages Wissen Künstliche Intelligenz 3.6 Fuzzy-Regler Folie 3-67 (249) Fuzzy-Regler I Interessante Fuzzy-Anwendung für Regelungs-Vorgänge I Natürlichsprachliche Regeln der Form: Wenn der Zug dem Ziel nah ist und die Geschwindigkeit hoch ist, dann ist stark zu bremsen. I Offen: Modellierung der unscharfen Begriffe nah, hoch, stark I Dies kann man mit Fuzzy-Mengen tun. 3 Vages Wissen Künstliche Intelligenz 3.6 Fuzzy-Regler Folie 3-68 (250) Fuzzy-Regler 2 I Linke Seite einer Regel: Messgrößen I Rechte Seite einer Regel: Einstellgrößen Wir gehen davon aus, dass wir n Messgrößen x1 ∈ X1 , . . . , xn ∈ Xn und eine Stellgröße y ∈ Y haben. Regeln haben dann die Form: Rj : WENN x1 IST a1,j ∧ . . . ∧ xn IST an,j DANN y IST bj 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-69 (251) Regelung eines inversen Pendels Ein auf dem Kopf stehendes Pendel soll durch ein Fuzzy-System geregelt werden. Die Aufgabe besteht darin, die Masse oben zu halten. Es darf nur das untere Ende des Stabs bewegt werden. sH Winkelgeschwindigkeit γ0 HH HH j H j H Winkel γ v - Kraft F Abb. 27: Inverses Pendel 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-70 (252) Mess- und Stellgrößen Messgrößen: I X1 ... Winkel γ, [−90, 90] Grad I X2 ... Winkelgeschwindigkeit γ0 , [−50, 50] Grad/Sekunde Einstellgröße: I X3 ... horizontale Kraft F, [−10, 10] Newton WENN γ IST positiv klein ∧ γ0 IST etwa Null DANN F IST positiv klein 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-71 (253) Fuzzy-Modellierung Modellierung von positiv klein, etwa 0 usw.: mit Dreiecks-Funktionen 1 6 A A A A etwa Null A A positiv A klein A A A A A A - Winkel γ A -20 -10 0 10 20 Abb. 28: Winkel – positiv klein, etwa Null Zuordnung eines Messwerts zu den Fuzzy-Mengen ; Fuzzyfizierung 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-72 (254) Inverses Pendel Ist γ etwa null und γ0 positiv mittel, dann ist die anzulegende horizontale Kraft positiv mittel. γ ng ng nm γ0 : nk en pk pm pg ng nm nk nm nm nk en en ng nm nk en pk pm pg pk pm pg en pk pm pm pg Tabelle 8: Regeln für Inverses Pendel 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-73 (255) Verarbeitung Welche Regel ist nun anzuwenden? Meist kommen mehrere Regeln in Frage. Hat man konkrete Messwerte, I bestimmt man für jede Bedingung jeder Regel den Zugehörigkeitswert und I verknüpft die Werte für die Bedingungen je Regel mit min. Nun gibt es 2 Varianten: I Regel mit dem maximalen Fuzzy-Wert der Bedingungen (max). I Man berücksichtigt alle Regeln, deren Bedingungen einen Fuzzy-Wert 6= 0 liefern. 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-74 (256) Inverses Pendel Wir betrachten den Fall γ = 0, γ0 = −3. Der Stab befindet sich zwar im Gleichgewicht, bewegt sich aber nach links. Definiert man die Fuzzy-Mengen für γ gemäß 1 6 A A A A etwa Null A A positiv A klein A A A A A A - Winkel γ A -20 -10 0 10 20 dann kommen nur Regeln, die den Winkel γ mit etwa Null einstufen, in Betracht. 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-75 (257) Inverses Pendel Die Fuzzy-Mengen für die Winkelgeschwindigkeit γ0 seien wie folgt definiert. 6 A A A A negativ klein A A A etwa Null A A A A A A - WinkelA geschwindigkeit γ0 -5 5 -10 0 10 1 Abb. 29: Winkelgeschwindigkeit – negativ klein, etwa Null 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Inverses Pendel Es kommen nun nur zwei Regeln in Frage: WENN γ IST etwa Null ∧ γ0 IST etwa Null DANN F IST etwa Null WENN γ IST etwa Null ∧ γ0 IST negativ klein DANN F IST negativ klein Folie 3-76 (258) 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-77 (259) Inverses Pendel Das Minimum der Zugehörigkeitswerte der Bedingungen ergibt für die beiden Regeln: c1 = min(b11 ; b21 ) = min(1; 0, 4) = 0, 4 c2 = min(b12 ; b22 ) = min(1; 0, 6) = 0, 6 Für alle anderen Regeln gilt ci = 0. Jede Regel liefert eine Fuzzy-Menge, die zur Anwendung kommen könnte. Wie wird die anzulegende Kraft F berechnet? 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-78 (260) Inverses Pendel Zunächst beschränkt man die Zugehörigkeitsfunktion für F etwa Null auf den Zugehörigkeitswert c1 = 0, 4. 6 A A etwa Null A A A A A -F 0 -2 2 1 1 6 etwa Null -2 0 A A A -F 2 Abb. 30: Reduzierte Fuzzy-Menge – F etwa Null 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-79 (261) Inverses Pendel Analog beschränkt man die Zugehörigkeitsfunktion (für die anzulegende Kraft) F negativ klein auf den Zugehörigkeitswert c1 = 0, 6. 6 1 A A neg. klein A A A A A -F -3 -1 1 neg. klein 1 6 A A A A -F -3 -1 1 Abb. 31: Reduzierte Fuzzy-Menge – F negativ klein 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-80 (262) Inverses Pendel Es wird der Schwerpunkt der aus beiden Flächen entstehenden gemeinsamen Fläche berechnet. 1 6 neg. klein etwa Null A • A A ••A A A A - Kraft F 3 -3 -1 1 Abb. 32: Schwerpunkt beider Fuzzy-Mengen Der x-Wert unter diesem Schwerpunkt wird als Stellwert genommen. Hier wird also eine Kraft von etwa -0,57 N angelegt. 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-81 (263) Schwerpunktmethode I Vorgehen wird Schwerpunktmethode genannt. I Berechnen eines exakten Wertes aus einer Fuzzy-Menge . . . Defuzzyfizierung 3 Vages Wissen Künstliche Intelligenz 3.7 Regelung eines inversen Pendels Folie 3-82 (264) Fuzzy-Regler Messwerte Prozess Stellwert Fuzzy−Regelung Fuzzyfizierung Entscheidung Defuzzyfizierung Wissensbasis Abb. 33: Architektur eines Fuzzy-Reglers 3 Vages Wissen Künstliche Intelligenz 3.8 Ergänzungen Folie 3-83 (265) Weiterführende Konzepte I Bayessche Netze I I I I Abhängigkeiten als Graph mit Wahrscheinlichkeiten versehen Wahrscheinlichkeiten pflanzen sich durch den Graphen fort Dempster-Shafer-Theorie (Vertrauensintervalle) 3 Vages Wissen Künstliche Intelligenz 3.9 Zusammenfassung (Fuzzy) Das sollten Sie wissen . . . Zusammenfassung 3.6 (Fuzzy) I Unsicheres / unscharfes Wissen I Wahrscheinlichkeits-basierte WR/WV I Sicherheitsfaktoren I Fuzzy-Logik I Fuzzy-Mengen I Fuzzy-Regler Folie 3-84 (266) 3 Vages Wissen Künstliche Intelligenz 3.10 Aufgaben (Fuzzy) Folie 3-85 (267) Aufgaben – Fuzzy Aufgabe 3.1 (Stückweise lineare Funktionen) Finden Sie stückweise lineare Funktionen für die Fuzzy-Mengen: groß, ca. 10 Stück. Wie repräsentiert man stückweise lineare Funktionen? D.h. wie stellt man sie in einem Computer-Programm dar, damit man mit der Funktion rechnen kann? Aufgabe 3.2 (Fuzzy-Mengen) Berechnen Sie für 2 Fuzzy-Mengen GROß und KLEIN den Durchschnitt und die Vereinigung nach min/max! 3 Vages Wissen Künstliche Intelligenz 3.10 Aufgaben (Fuzzy) Folie 3-86 (268) Aufgabe 3.3 (Bayessche Formel) Ist ein Musiker gut, so bekommt er zumeist eine gutes Musikdiplom (Wahrscheinlichkeit 70%). Ist er nicht gut, so hat er nur noch eine 10%-Chance auf ein gutes Musikdiplom. Absolventen mit einem guten Musikdiplom bekommen meistens eine Stelle (70%). Schlechte Absolventen haben dagegen nur noch eine 10%-Chance. 30% der Musiker sind gut. I Wie groß ist die Wahrscheinlichkeit, dass ein Musiker eingestellt wird? I Was kann man aus der Tatsache, dass ein Musiker nicht eingestellt wird, bezüglich seines Talents (guter/schlechter Musiker) folgern? 4 Prolog Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis Einleitung Darstellung und Verarbeitung von Wissen Vages Wissen Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme 4 Prolog Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis – Kapitel 4 Prolog Allgemeine Hinweise Grundkonzept von Prolog Abarbeitung und Bedeutung von PROLOG-Programmen Datentypen und Arithmetik Steuerung der Abarbeitung Beispielprogramme Zusammenfassung (Prolog) Aufgaben 4 Prolog Künstliche Intelligenz Folie 4-1 (271) Prolog When a compiler accepts a program without error on the first run, the program will not yield the desired output. Arthur Bloch, Murphy’s Law 4 Prolog Künstliche Intelligenz Folie 4-2 (272) PROLOG – Wozu? 1. Wenn (falls) es regnet, ist es nass: regnet → nass 2. Es regnet: regnet Nach dem Modus Ponens kann man nun schließen: nass Dies kann man (in etwas anderer Notation) in PROLOG ausdrücken: nass :- regnet. regnet. % Es ist nass, FALLS es regnet. % Es regnet. Fragt man PROLOG nun, ob nass wahr ist, so antwortet PROLOG korrekt mit yes (oder true). Die Regel entpuppt sich als ausführbares Programm. 4 Prolog Künstliche Intelligenz 4.1 Allgemeine Hinweise Folie 4-3 (273) 4.1.1 Arbeiten mit PROLOG Arbeiten mit PROLOG 1. Prolog starten 2. Erstellen/Modifizieren der Wissensbasis (in separater Datei): Fakten/Regeln eingeben oder modifizieren 3. Datei laden/compilieren 4. Anfragen stellen 5. Gehe zu 2. oder Prolog verlassen. 4 Prolog Künstliche Intelligenz 4.1 Allgemeine Hinweise Folie 4-4 (274) 4.1.2 Syntaktische Grundkenntnisse Syntaktische Grundkenntnisse I In PROLOG: Klauseln, d.h. Fakten und Regeln I Jede Eingabe in Prolog mit . abschließen. I Eingabeprompt ?Bei Eingabe einer Klausel wird dies als Anfrage interpretiert. I Laden einer Datei mit Klauseln: Fakten/Regeln als Wissen gespeichert. I Kommentare: mittels /* und */, oder zeilenweise mit % I Variablen: beginnen mit einem Großbuchstaben, Konstante mit einem Kleinbuchstaben. 4 Prolog Künstliche Intelligenz 4.1 Allgemeine Hinweise Folie 4-5 (275) 4.1.3 Einordnung von PROLOG Einordnung von PROLOG Prolog erlaubt mehrere Sichten: I logische Sicht I prozedurale Sicht I Datenbank-Sicht Prolog eignet sich exzellent zum rapid prototyping. 4 Prolog Künstliche Intelligenz 4.1 Allgemeine Hinweise 4.1.3 Einordnung von PROLOG Prozedurales Programmieren I Problemanalyse I Spezifikation der Lösung I algorithmische Umsetzung Folie 4-6 (276) 4 Prolog Künstliche Intelligenz 4.1 Allgemeine Hinweise Folie 4-7 (277) 4.1.3 Einordnung von PROLOG Logisches Programmieren Andere Idee: I Beschreibung des Problems in Form von logischen Zusammenhängen. I Problemlösung als Anfrage, ob ein bestimmter Sachverhalt aus obigen logischen Zusammenhängen folgt. I PROLOG-Programm: Menge von Aussagen I Berechnung: Beweis, dass eine bestimmte Aussage gilt! PROLOG als Programmiersprache interpretierbar, in der mit Hilfe von logischen Zusammenhängen programmiert wird. ; 4 Prolog Künstliche Intelligenz 4.1 Allgemeine Hinweise Folie 4-8 (278) 4.1.3 Einordnung von PROLOG Beispiel 4.1 (Zahlen suchen) Dreistellige Zahlen gesucht, die I durch 5 und 6 teilbar I bei Division durch 9: Rest 3 In Pascal PROGRAM gesuchtezahl; VAR zahl: INTEGER; BEGIN FOR zahl := 100 TO 999 IF ((zahl mod AND ((zahl mod AND ((zahl mod THEN WRITELN(zahl); END. DO 5) = 0) 6) = 0) 9) = 3) 4 Prolog Künstliche Intelligenz 4.1 Allgemeine Hinweise Folie 4-9 (279) 4.1.3 Einordnung von PROLOG In PROLOG In PROLOG ziffer(Z) :- member(Z,[0,1,2,3,4,5,6,7,8,9]). gesucht(Zahl) :ziffer(H), H > 0, ziffer(Z), ziffer(E), Zahl is H*100 + Z*10 + E, 0 is Zahl mod 5, 0 is Zahl mod 6, 3 is Zahl mod 9. 4 Prolog Künstliche Intelligenz 4.1 Allgemeine Hinweise Folie 4-10 (280) 4.1.3 Einordnung von PROLOG Einordnung und Historie I Prolog realisiert Ziel-orientiertes Programmieren. I Deklarative Programmierung: Spezifizieren, was zu lösen ist, nicht wie es zu lösen ist. I Prolog = PROgramming in LOGic, ca. 1970: I I I Theorie: Robert Kowalski (Edinburgh) Experimente: Maarten van Emden (Edinburgh) Implementierung: Alain Colmerauer (Marseilles) I Mitte der 70er Jahre: effiziente Implementierung durch David Warren (Edinburgh) I Erste Implementierungen: nur Interpreter I Heute: Interpreter + leistungsstarke Compiler I Grundlagen für Prolog: I I Logik (Prädikatenlogik 1. Stufe) Resolution (Robinson 1965) 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-11 (281) 4.2.1 Fakten Fakten frau_von wolfgang gerda vater_von frau_von christine renate juergen lutz kerstin vater_von martin ralf Abb. 34: Familienwissensbasis 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog 4.2.1 Fakten Fakten I vater_von(christine,wolfgang). I vater_von(renate,wolfgang). I vater_von(juergen,wolfgang). I vater_von(lutz,wolfgang). I vater_von(martin,lutz). I vater_von(ralf,lutz). I frau_von(wolfgang,gerda). I frau_von(lutz,kerstin). Folie 4-12 (282) 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-13 (283) 4.2.1 Fakten Parameter Bemerkung 4.1 (Parameterreihenfolge) Was ist richtig? I vater_von(kind, vater) oder I vater_von(vater, kind)? Das ist egal. Ähnlich wie beim Datenbankentwurf müssen wir uns auf eine Variante festlegen. 4 Prolog 4.2 Grundkonzept von Prolog 4.2.2 Anfragen ohne und mit Variablen Anfragen ohne und mit Variablen Anfragen an Prolog: ?- vater_von(juergen,christine). false ?- vater_von(juergen,wolfgang). true ?- vater_von(X,wolfgang). X = christine ; X = renate ; X = juergen ; X = lutz ; false Künstliche Intelligenz Folie 4-14 (284) 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-15 (285) 4.2.2 Anfragen ohne und mit Variablen Erste Beobachtungen I Fakten I Anfragen ohne Variablen I Anfragen mit Variablen I Suche nach weiteren Lösungen 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-16 (286) 4.2.3 Fakten mit Variablen Fakten mit Variablen Variablen in Fakten: Für jede Belegung von X gilt: ... I Fakt gefaellt(X,merkel). : Egal wie X belegt ist, gilt .... I Die Anfrage gefaellt(jcleve,merkel) liefert also true. I Variablen in Fakten: allquantifiziert. I ; meistens unsinnig 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-17 (287) 4.2.4 Konjunktive Anfragen und shared variables Konjunktive Anfragen und shared variables Anfrage: ?- vater_von(juergen,X),vater_von(lutz,X). Antwort: X = wolfgang Gesucht: Variablenbelegung, so dass sowohl vater_von(juergen,X) als auch vater_von(lutz,X) gilt. Komma entspricht in PROLOG dem logischen UND. Als logische Anfrage: I Gibt es eine Variablenbelegung, so dass beide Anfragen gelten. Operational/prozedural: I Löse 1. Anfrage, übernimm die Variablenbindung und I versuche, 2. Anfrage (mit dieser Variablenbelegung) zu beweisen. 4 Prolog 4.2 Grundkonzept von Prolog Künstliche Intelligenz Folie 4-18 (288) 4.2.4 Konjunktive Anfragen und shared variables Aufgaben Aufgabe 4.1 (Familie) Erstellen Sie eine eigene Faktenbasis über Ihre Familie, aufbauend auf vater_von, frau_von. 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-19 (289) 4.2.5 Regeln Regeln Suche nach einem Großvater: 1. ?- vater_von(ralf,X), vater_von(X,Y). 2. Definition des Großvaters als logische Regel unabhängig von der eigentlichen Familie: grossvater_von(X,Y) :vater_von(X,Z), vater_von(Z,Y). 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-20 (290) 4.2.5 Regeln Bemerkungen I Regel wird auch als Klausel bezeichnet. I Conclusion (grossvater_von(..)) . . . Kopf I Bedingungen (vater_von(..), vater_von(..)) . . . Körper der Klausel I Eigenschaften wie vater_von, frau_von . . . Prädikate I Struktur: Prädikat(arg1 ,...,argn ) . . . Literal 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-21 (291) 4.2.5 Regeln Syntax I Großgeschriebene Namen sind Variablen. I Gleiche Variablennamen bezeichnen gleiche Objekte nur innerhalb einer Regel (lokales Variablenkonzept). I Variablen in Regeln sind allquantifiziert. I Variablen in Anfragen sind existenzquantifiziert. I Fakten / Regeln / Literale I Logisches Und , I Logisches Falls :- 4 Prolog 4.2 Grundkonzept von Prolog Künstliche Intelligenz Folie 4-22 (292) 4.2.5 Regeln Variablennamen Häufig sind Variablennamen wie X, Y wenig aussagekräftig. Besser so: grossvater_von(Kind,Grossvater) :vater_von(Kind,Vater), vater_von(Vater,Grossvater). 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-23 (293) 4.2.5 Regeln Aufgaben Aufgabe 4.2 (Familie) Erweitern Sie Ihre Familien-Datei. Aufgabe 4.3 (Familie) Programmieren Sie das Prädikat mutter_von. Sie müssen dazu definieren, wann Y die Mutter von X ist, also mutter_von(X,Y) :.... I Mit mutter_von haben wir die Vater-orientierte Sicht auf die Familie korrigiert. I Nun vater_von und mutter_von wie Fakten verwendbar. 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-24 (294) 4.2.5 Regeln Regeln Frage: Wie definiert man den Großvater mütterlicherseits? I 2. Regel für Großvater oder I Prädikat eltern_von/2 definieren: eltern_von(Kind,Vater) :- vater_von(Kind,Vater). eltern_von(Kind,Mutter) :- mutter_von(Kind,Mutter). grossvater_von(Kind,Grossvater) :eltern_von(Kind,E), vater_von(E,Grossvater). 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-25 (295) 4.2.5 Regeln Regeln Um Prädikate wie schwester_von definieren zu können, muss man das Geschlecht der Personen kennen. 1. Möglichkeit I mann(wolfgang). I frau(gerda). mann(juergen). ... ... 2. Möglichkeit I mann(...) explizit für jeden nicht verheirateten Mann I frau(...) explizit für jede nicht verheiratete Frau I mann(X) :- frau_von(X,Y). verheirateter Mann I frau(X) :- frau_von(Y,X). verheiratete Frau 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog 4.2.5 Regeln Zusammenfassung 1. Prolog-Programme – Wissensbasen (Klauseln, Kopf :- Körper, Fakten) 2. :- entspricht der logischen Implikation 3. Anfragen mit freien Variablen 4. Klausel mit Variablen: logische Regel „Für alle ... gilt : ...“ 5. Variablen in Fakten/Regeln sind somit allquantifiziert, 6. Variablen in Anfragen: existenzquantifiziert. 7. Variable in einer Regel doppelt (gemeinsame (shared) Variablen) Folie 4-26 (296) 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-27 (297) 4.2.5 Regeln Aufgaben Aufgabe 4.4 (Familie) Programmieren Sie weitere Verwandschaftsrelationen. 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-28 (298) 4.2.6 Rekursive Regeln Rekursive Regeln Wann ist eine Person ein Vorfahre einer anderen Person? vorfahre_von(Person,Vorfahre) :eltern_von(Person,Vorfahre). vorfahre_von(Person,Vorfahre) :eltern_von(Person,X), eltern_von(X,Vorfahre). vorfahre_von(Person,Vorfahre) :eltern_von(Person,X), eltern_von(X,Y), eltern_von(Y,Vorfahre). Nachteil: Vorfahren nur bis zu einer bestimmten Generation erreichbar. 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-29 (299) 4.2.6 Rekursive Regeln Rekursive Regeln 2. Möglichkeit: rekursive Regeldefinition vorfahre_von(Person,Vorfahre) :eltern_von(Person,Vorfahre). vorfahre_von(Person,Vorfahre) :eltern_von(Person,X), vorfahre_von(X,Vorfahre). 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-30 (300) 4.2.6 Rekursive Regeln Abarbeitung ?−vorfahre_von(martin,wolfgang). Regel 1 Regel 2 eltern_von(martin,wolfgang) eltern_von(martin,X),vorfahre_von(X,wolfgang) fail ok mit X=lutz Regel 1 eltern_von(lutz,wolfgang) ok Abb. 35: Vorfahre – Trace 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-31 (301) 4.2.6 Rekursive Regeln Rekursion Beispiel 4.2 (Rekursion) Theorie, nach der man in 7 (oder weniger ?) Schritten zu jedem Menschen auf der Welt eine Beziehung herstellen kann. Können wir diese Relation beziehung zwischen beliebigen Personen X und Y in Prolog darstellen? Der einfachste Fall ist, dass X die Person Y direkt kennt: beziehung(X,Y) :- kennt(X,Y). Oder indirekte Verbindung über eine andere Person Z: beziehung(X,Y) :- kennt(X,Z), beziehung(Z,Y). Was müssen wir tun, wenn wir zusätzlich die Distanz zwischen X und Y haben wollen? 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-32 (302) 4.2.6 Rekursive Regeln Zusammenfassung 1. Prolog-Anfrage aktiviert einen Beweis-Prozess 2. Dabei können Variablen belegt werden. 3. PROLOG – kein Unterschied zwischen formalen und aktuellen Parametern 4. Backtracking 4 Prolog Künstliche Intelligenz 4.2 Grundkonzept von Prolog Folie 4-33 (303) 4.2.6 Rekursive Regeln Aufgaben Aufgabe 4.5 (Reicher_als) Seien Fakten über Personen gegeben, die ausdrücken, wer reicher ist: reicher(adam,berta). % Adam ist reicher als Berta. reicher(berta,clemens). reicher(adam,erwin). reicher(eva,adam). Aus den Fakten folgt, dass Eva reicher als Clemens ist. PROLOG würde uns aber FALSE antworten. Entwickeln Sie Regeln für reicher_als, die sowohl die reicher-Fakten als auch die transitiven Beziehungen enthält. 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-34 (304) 4.3.1 Backtracking Abarbeitung und Bedeutung von PROLOG-Programmen Wie löst PROLOG die folgende Anfrage (vgl. Abb. 34)? ?-vater_von(X,wolfgang), vater_von(ralf,X). I Zunächst erste Teilanfrage: gelöst mit X=christine I Mit X=christine wird 2. Teilanfrage bearbeitet: ?-vater_von(ralf,christine). I Geht nicht. Deshalb Backtracking. I Suche nach einer anderen Lösung für 1. Teilanfrage, . . . wobei Variablenbindung X=christine gelöst wird. I PROLOG generiert dann nach und nach X=renate, X=juergen, X=lutz. I Mit X=lutz gelingt auch 2. Teilanfrage. I PROLOG findet also die korrekte Antwort X=lutz. 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-35 (305) 4.3.1 Backtracking Abarbeitung und Bedeutung von PROLOG-Programmen (1) vater_von(stephan,bernd). (2) mutter_von(stephan,renate). ?−grosseltern_von(stephan,gerda). (3) vater_von(renate,wolfgang). Enkel=stephan (4) mutter_von(renate,gerda). Klausel 7 G=gerda (5) eltern_von(Kind,Vater) :− vater_von(Kind,Vater). (6) eltern_von(Kind,Mutter) :− eltern_von(stephan,E), eltern_von(E,gerda) mutter_von(Kind,Mutter). Klausel 5 Kind=stephan (7) grosseltern_von(Enkel,G) :− Kind=stephan Mutter=E eltern_von(Enkel,E), Klausel 6 Vater=E eltern_von(E,G). vater_von(stephan,E), eltern_von(E,gerda) Klausel 1 E=bernd Klausel 2 true, eltern_von(bernd,gerda) Klausel 5 Klausel 6 Vater=gerda Kind=bernd Kind=bernd Mutter=gerda vater_von(bernd,gerda) fail mutter_von(stephan,E), eltern_von(E,gerda) E=renate true, eltern_von(renate,gerda) Klausel 6 Klausel 5 Vater=gerda Mutter=gerda Kind=renate Kind=renate mutter_von(bernd,gerda) vater_von(renate,gerda) fail fail mutter_von(renate,gerda) ok Abb. 36: Familien-Wissensbasis – Trace 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-36 (306) 4.3.1 Backtracking Backtracking ok no ?− ziel1, ok ziel2 . fertig (yes / Var.belegung) fail ? nochmal ? Abb. 37: Abarbeitung einer Anfrage in Prolog 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-37 (307) 4.3.2 Parameterübergabe mittels Unifikation Parameterübergabe mittels Unifikation I wichtigste Operation für Terme, Parameterübergabe wird in Prolog mittels Unifikation realisiert. I Seien T1 und T2 Terme: Existiert eine Variablensubstitution s, so dass s(T1) == s(T2) gilt. I In Prolog bezeichnet = die Unifikation, == die Identität. 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-38 (308) 4.3.2 Parameterübergabe mittels Unifikation Das is-Prädikat X is <ausdruck> Werte den arithmetischen Ausdruck <ausdruck> aus und unifiziere das Resultat mit X. Beispiel 4.3 (Unterschied zwischen is und =) ?- zeit(Min,50)=zeit(Min1,Sek). Min=Min1,Sek=50 ?- 5 is 4 + 1. true ?- X is 4 + 1. X = 5 ?- 5 = 4 + 1. false 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-39 (309) 4.3.2 Parameterübergabe mittels Unifikation Regeln für die Unifikation Wie löst Prolog die Anfrage ?- S=T ? 1. S und T konstant, dann muss gelten: S==T. 2. S oder T variabel: S wird mit T instantiiert oder umgekehrt. 3. S und T Strukturen, S = f (s1 , s2 , ..., sn ), T = g (t1 , t2 , ..., tm ). Dann muss gelten: f==g, n==m, si = ti für alle i=1,...,n . 4 Prolog 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Künstliche Intelligenz Folie 4-40 (310) 4.3.2 Parameterübergabe mittels Unifikation Unifikation – Beispiel Definition einer vertikalen bzw. horizontalen Geraden: vertikal(gerade(punkt(X,_),punkt(X,_))). horizontal(gerade(punkt(_,Y),punkt(_,Y))). ?- vertikal(gerade(punkt(1,1),punkt(1,2))). ?- horizontal(gerade(punkt(2,2),P)). ?- vertikal(G),horizontal(G). G=gerade(punkt(X,Y),punkt(X,Y)) true P=punkt(_,2) 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-41 (311) 4.3.3 Bedeutung von Prologprogrammen Prologprogramme – Deklarative Interpretation Sei I H :- T1 , T2 , T3 , . . . , Tn eine Regel (Klausel). H gilt, falls T1 und T2 und ... und Tn gelten. oder Aus der Gültigkeit von T1 und T2 und ... und Tn folgt die Gültigkeit von H. 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-42 (312) 4.3.3 Bedeutung von Prologprogrammen Logische Sicht der Abarbeitung Abarbeitung: Ein Ziel G ist wahr, wenn 1. Es existiert eine Klausel C, deren Kopf sich mit G unifizieren lässt (Variablensubstitution sei s). 2. Alle Literale des Körpers von C (unter Beachtung der Variablensubstitution s) lassen sich beweisen. 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-43 (313) 4.3.3 Bedeutung von Prologprogrammen Prologprogramme – Prozedurale Interpretation Sei H :- T1 , T2 , T3 , . . . , Tn eine Regel (Klausel). I Um H zu lösen, löse T1 , dann T2 , . . . , dann löse Tn . oder Wird die Prozedur H aktiviert, so aktiviert diese die Prozeduren T1 , . . . , Tn in dieser Reihenfolge. I Ist der Körper leer, so ist die Prozedur abgearbeitet. 4 Prolog Künstliche Intelligenz 4.3 Abarbeitung und Bedeutung von PROLOG-Programmen Folie 4-44 (314) 4.3.3 Bedeutung von Prologprogrammen Prologprogramme – Prozedurale Interpretation Wähle nächstes Ziel ok Finde Regel Kopf :− Bedingungenfail mit Kopf = Ziel fail yes Löse Bedingungen ok Abb. 38: Prolog – Programmablauf fail 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-45 (315) 4.4.1 Datenobjekte Syntax von Prolog – Datenobjekte I Atome I I I beginnend mit Kleinbuchstaben spezielle Zeichen (z.B. ==, = \ = etc.) Folge von Zeichen, eingeschlossen in Apostroph (z.B. ’Hallo’) I Zahlen I Strings Folge von Zeichen, eingeschlossen in Anführungsstriche (z.B. ”Hallo”) I Variable I I I integer, float beginnend mit Großbuchstaben oder Underline (_) anonyme Variable _ Strukturen: funktor (K1 , K2 , . . . , Kn ) 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-46 (316) 4.4.1 Datenobjekte Syntax von Prolog – Datenobjekte Datenobjekte (Terme) einfache Terme Konstante Strukturen Variable Atome Zahlen Strings Abb. 39: Datentypen in PROLOG 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-47 (317) 4.4.1 Datenobjekte Beispiele Geometrische Strukturen in der Ebene: punkt(X,Y) gerade(punkt(X1,Y1),punkt(X2,Y2)) kreis(punkt(X,Y),Radius) quadrat(punkt(X1,Y1),punkt(X2,Y2)) Auch arithmetische Ausdrücke sind Strukturen: ∗(+(4, 5), −(6, 7)) 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-48 (318) 4.4.2 Listen Listen Darstellung von Listen: [anne,niels,juergen,marianne] Die Restliste wird durch | definiert. Folgende Listendarstellungen sind äquivalent: [a,b,c] = [a|[b,c]] = [a,b|[c]] = [a,b,c|[]] Anfrage 1: Anfrage 2: ?-[a,b,c,d,e] = [a,b|X]. ?-[a,b,[c,d,e]] = [a,b|X]. X=[c,d,e] X=[[c,d,e]] 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-49 (319) 4.4.2 Listen Element-Beziehung Wann ist ein Element in einer Liste enthalten? el(X,[X|Y]). % 1. Fall, X ist erstes Element el(X,[F|Y]) :- el(X,Y). % 2. Fall, X ist in der Restliste 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik 4.4.2 Listen Element-Beziehung – 2 Anfrage mit einer Variablen → überraschende Antworten: ?-el(X,[1,2,3]). X=1 ; X=2 ; X=3 ; false Dank Unifikation kann el/2 uns auch Lösungen generieren. Folie 4-50 (320) 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-51 (321) 4.4.2 Listen Weitere Listen-Prädikate app([],L,L). app([H|T],L,[H|M]):app(T,L,M). ?-app([1,2],[3,4],Z). Z=[1,2,3,4] ; false ?-app([1,X],[3,4],[1,2|Y]). X=2 Y=[3,4] ; false del(X,[X|T],T). del(X,[Y|T],[Y|U]):del(X,T,U). ?-del(X,[1,2,3],Y). X=1 Y=[2,3] ; X=2 Y=[1,3] ; X=3 Y=[1,2] ; false 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik 4.4.2 Listen app/3 als Hilfsprädikat el_append(Element,Liste,ListeNeu) :app(Liste,[Element],ListeNeu). enthalten(Liste,Superliste) :app(L1,L2,Superliste), app(Liste,L3,L2). Folie 4-52 (322) 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-53 (323) 4.4.3 Arithmetik Arithmetik Natürlich gibt es in PROLOG vordefinierte arithmetische Operationen. Operationen: +, −, ∗, /, mod , // Vergleiche: <, >, >=, =<, =:=, = \ = Beispiel 4.4 (Arithmetische Operationen und Unifikation/Identität) ??????- X = 5-2-1 1+2 = 2+1 X == Y. X \== Y. X \= Y. 15*4 > 50 no false false true false true ??????- X is 5-2-1 1+2 =:= 2+1 X=Y, X == Y. X=Y, X \== Y. X=1,Y=2,X\=Y. 15*4 =\= 15*4 4 Prolog X=2 true true false true false Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-54 (324) 4.4.3 Arithmetik Beispiele - Arithmetik Beispiel 4.5 (Arithmetische Prädikate) fak(0,1). fak(N,Fak) :- N1 is N-1, fak(N1,Fak1), Fak is N * Fak1. l_length([],0). l_length([_|T],N) :- l_length(T,N1), N is N1 + 1. max([X],X). max([First|Rest],Max) :- max(Rest,Max1), (First > Max1, Max=First ; First =< Max1, Max=Max1). sumlist([],0). sumlist([First|Rest],Summe) :- sumlist(Rest,Sum1), Summe is Sum1 + First. 4 Prolog Künstliche Intelligenz 4.4 Datentypen und Arithmetik Folie 4-55 (325) 4.4.3 Arithmetik Aufgaben Aufgabe 4.6 (Listen) Schreiben Sie ein PROLOG-Programm, welches aus einer Liste von Zahlen alle die Elemente löscht, die kleiner als 0 sind. Aufgabe 4.7 (Listen) Schreiben Sie ein PROLOG-Programm, welches eine Liste von Zahlen bekommt und diejenige Liste zurückliefert, in der alle ursprünglichen Zahlen halbiert worden sind. Aufgabe 4.8 (Listen) Schreiben Sie ein PROLOG-Programm, welches eine Liste von Zahlen bekommt und das Produkt aller dieser Zahlen zurückliefert. 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-56 (326) 4.5.1 Reihenfolge der Klauseln Reihenfolge der Klauseln Beispiel 4.6 (Berechnung der Fakultät von n) n ! = n * (n-1) ! 0 ! = 1 fak(N,Fak) :- N1 is N-1, fak(N1,Fak1), Fak is Fak1 * N. fak(0,1). Anfrage: ?-fak(4,F). → Fehlermeldung Falsche Reihenfolge der Klauseln. 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-57 (327) 4.5.2 Reihenfolge der Literale im Körper einer Klausel Reihenfolge der Bedingungsliterale Beispiel 4.7 (vorfahre_von-Relation) (1) vorfahre_von(X,Y) :- eltern_von(X,Y). (2.1) vorfahre_von(X,Y):(2.2) vorfahre_von(X,Y) :eltern_von(X,Z), vorfahre_von(Z,Y), vorfahre_von(Z,Y). eltern_von(X,Z). (Var 1) (Var 2) Anfrage: ?- vorfahre_von(gerda,gerda). 1. Variante: false 2. Variante: Fehlermeldung Falsche Reihenfolge der Bedingungsliterale. 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-58 (328) 4.5.2 Reihenfolge der Literale im Körper einer Klausel Schlussfolgerungen I Reihenfolge der Klauseln und Literale in den Klauseln wichtig. I Grundprinzip für Klauselreihenfolge: Einfache Dinge stets zuerst versuchen. I Es gibt Prolog-Programme, die deklarativ korrekt, aber prozedural inkorrekt sind. I Deklaratives Programmieren verbessert Formulierbarkeit und Lesbarkeit. 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-59 (329) 4.5.3 Der Cut Kontrolle des Backtracking – Cut Beispiel 4.8 (Cut) In Prolog: 1 ... x ≤ -1 2 f (x ) = x ... -1 < x ≤ 2 4 ... x > 2 f(X,1) :- X =< -1. f(X,Y) :- X > -1 , X =< 2 , Y is X * X. f(X,4) :- X > 2. 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-60 (330) 4.5.3 Der Cut Der Cut Was passiert bei der Anfrage: ?- f(-2,X) , X > 4. false Das ist korrekt, aber Regeln 2/3 werden (sinnloserweise) auch versucht. → Verhinderung durch Cut: ! 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-61 (331) 4.5.3 Der Cut Der Cut Wenn X=< -1 galt, so kommt nur 1. Regel in Frage, also schneide 2./3. Regel ab. f(X,1) :- X =< -1,!. Wird Regel 2 versucht, so muss bereits X > -1 gelten, die entsprechende Bedingung kann weggelassen werden: f(X,Y) :- X =< 2 , ! , Y is X * X. Kommt die 3. Regel zur Anwendung, so muss X > 2 bereits gelten: f(X,4). 4 Prolog 4.5 Steuerung der Abarbeitung Künstliche Intelligenz Folie 4-62 (332) 4.5.3 Der Cut Wirkung des Cuts Sei eine Klausel H :- B1, ..., Bn, !, A1, ..., Am. gegeben. Sind B1, ..., Bn erfüllt, so werden alle Alternativen (d.h. alle evtl. noch anwendbaren Regeln zum Beweis) für B1, ..., Bn und H abgeschnitten. 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-63 (333) 4.5.3 Der Cut Cut – Beispiele Beispiel 4.9 (Nicht backtrackbare Prädikate) el(X,[X|_]) :- !. el(X,[_|Y]) :- el(X,Y). del(X,[X|T],T) :- !. del(X,[Y|T],[Y|U]) :- del(X,T,U). fak(0,1):-!. l_length([],0):-!. fak(N,Fak) :l_length([_|T],N) :N1 is N - 1 , l_length(T,N1) , fak(N1,F1) , N is N1 + 1. Fak is N * F1. max([X],X):-!. max([F|Rest],Max) :max(Rest,M1), (F > M1,!,Max=F ; Max=M1). 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-64 (334) 4.5.3 Der Cut Cut → Cut kann die Bedeutung eines Programms verändern. p :- a , b. p :- c. p ⇔ (a ∧ b ) ∨ c p :- a , ! , b. p :- c. p ⇔ (a ∧ b) ∨ (¬a ∧ c ) p :- c. p :- a,!,b. p ⇔ c ∨ (a ∧ b) 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-65 (335) 4.5.4 Negation as failure Negation as failure liebt(_,bayern) :- !,fail. liebt(juergen,ankerwismar). liebt(lutz,hansa). different(X,X) :- !,fail. different(X,Y). Führen ein not/1 im folgenden Sinne ein: not(Goal) liefert true ⇔ Goal liefert fail. Definition in Prolog: not(Goal) :- Goal,!,fail. not(_). Vorsicht: not/1 liefert nie eine Variablenbelegung und entspricht damit nicht der Negation in der Logik. 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-66 (336) 4.5.4 Negation as failure Negation as failure Beispiel 4.10 (Wirkung der Negation) r(a). q(b). p(X) :- not(r(X)). ?-q(X),p(X). X=b ?-p(X),q(X). false 4 Prolog Künstliche Intelligenz 4.5 Steuerung der Abarbeitung Folie 4-67 (337) 4.5.4 Negation as failure Aufgaben Aufgabe 4.9 (Listen) Modifizieren Sie das Listen-Prädikat del/3, so dass nur das erste Vorkommen eines gesuchten Elements gelöscht wird. ?-del1(1,[2,1,3,1,4],M). soll als einzige Lösung M=[2,3,1,4] liefern. Aufgabe 4.10 (Listen) Modifizieren Sie del1/3 zu del2/3, so dass nun auch Unifikation ausgeschlossen wird. I ?-del2(3,[2,1,X,1,4],M). soll false liefern, I ?-del2(X,[2,1,X,1,4,X],M). liefert M=[2,1,1,4,X]. Aufgabe 4.11 (not-Prädikat) Implementieren Sie das Prädikat hat_keine_kinder/1. Verwenden Sie dazu das not. 4 Prolog Künstliche Intelligenz 4.6 Beispielprogramme 4.6.1 Andere Darstellung für Familienwissensbasis Andere Darstellung für Familienwissensbasis family(person(klaus,mustermann,[13,08,77]), person(claudia,mustermann,[07,02,80]), [person(anne,mustermann,[16,12,86])]). Unsere neue Wissensdarstellung in Prolog besteht also aus I Vater I Mutter I Liste der Kinder Folie 4-68 (338) 4 Prolog Künstliche Intelligenz 4.6 Beispielprogramme Folie 4-69 (339) 4.6.1 Andere Darstellung für Familienwissensbasis Hilfsprädikate vater_von(X,Y) :- family(Y,_,Ch),el(X,Ch). frau_von(X,Y) :- family(X,Y,_). fname(person(_,X,_),X). vorname(person(X,_,_),X). gebdatum(person(_,_,D),D). gebtag(person(_,_,[T,_,_]),T). gebmonat(person(_,_,[_,M,_]),M). gebjahr(person(_,_,[_,_,J]),J). 4 Prolog Künstliche Intelligenz 4.6 Beispielprogramme Folie 4-70 (340) 4.6.1 Andere Darstellung für Familienwissensbasis Datenabstraktion I Für den Nutzer kann nun die interne Darstellung unsichtbar sein. I Welche Zugriffsprozeduren haben wir definiert? I I Datenselektoren Man kann aber auch leicht I I Datenmodifikatoren Datenkonstruktoren definieren. 4 Prolog Künstliche Intelligenz 4.6 Beispielprogramme Folie 4-71 (341) 4.6.1 Andere Darstellung für Familienwissensbasis Aufgaben Aufgabe 4.12 (Datenstrukturen) Verändern Sie die obige Darstellung, um das Geschlecht einer Person bestimmen zu können! Aufgabe 4.13 (Prädikate) Definieren Sie Prädikate, die I die Namen aller Familien mit/ohne Kinder I die Namen aller Kinder, die selbst Kinder haben, I alle Zwillinge suchen. 4 Prolog Künstliche Intelligenz 4.6 Beispielprogramme Folie 4-72 (342) 4.6.2 Problem der stabilen Paare Problem der stabilen Paare I Es sollen Projekt-Paare zusammengestellt werden. I Jeweils 1 Programmierer plus 1 Designer. I Designer: Anna, Bruno, Clara, Dagmar. I Programmierer: Anton, Bernd, Christine und Dieter. I Mitarbeiter kennen sich, haben also Prioritäten. Gesucht ist ein Programm, welches stabile Teams generiert. Wann ist eine Teamaufteilung nicht stabil? Wenn I X mit Z1 zusammenarbeiten muss, I Z2 mit Y zusammenarbeiten muss und I X und Y sich gegenseitig (gegenüber Z1/Z2) vorziehen würden. 4 Prolog 4.6 Beispielprogramme Künstliche Intelligenz Folie 4-73 (343) 4.6.2 Problem der stabilen Paare Wissensdarstellung designer([’Anna’,’Bruno’,’Clara’,’Dagmar’]). programmierer([’Anton’,’Bernd’,’Christine’,’Dieter’]). praeferenz(’Anna’,[’Anton’,’Bernd’,’Christine’,’Dieter’]). praeferenz(’Bruno’,[’Bernd’,’Christine’,’Anton’,’Dieter’]). praeferenz(’Clara’,[’Anton’,’Dieter’,’Bernd’,’Christine’]). praeferenz(’Dagmar’,[’Christine’,’Dieter’,’Anton’,’Bernd’]). praeferenz(’Anton’,[’Bruno’,’Clara’,’Dagmar’,’Anna’]). praeferenz(’Bernd’,[’Bruno’,’Clara’,’Anna’,’Dagmar’]). praeferenz(’Christine’,[’Dagmar’,’Anna’,’Bruno’,’Clara’]). praeferenz(’Dieter’,[’Dagmar’,’Anna’,’Bruno’,’Clara’]). 4 Prolog 4.6 Beispielprogramme Künstliche Intelligenz Folie 4-74 (344) 4.6.2 Problem der stabilen Paare Lösung Wir können nun in Prolog die Restriktionen an eine Lösung spezifizieren: loesung(Teams):designer(Designer), programmierer(Programmierer), zuordnung(Designer,Programmierer,Teams), % beliebige Zuordnung not((element([X,Z1],Teams), % Wir nehmen beliebigen Designer element([Z2,Y],Teams), % & einen beliebigen Programmierer. praeferenz(X,XPraef), % Diese Zuordnung ist instabil, praeferenz(Y,YPraef), % da X und Y sich gegenseitig steht_vor(XPraef,Y,Z1),% bevorzugen wuerden. steht_vor(YPraef,X,Z2))). 4 Prolog 4.6 Beispielprogramme Künstliche Intelligenz Folie 4-75 (345) 4.6.2 Problem der stabilen Paare Hilfsprädikate zuordnung([],[],[]). zuordnung([A|L1],L2,[[A,B]|Teams]) :delete(B,L2,L2Rest), zuordnung(L1,L2Rest,Teams). element(Element,[Element|_]). element(Element,[_|Rest]) :- element(Element,Rest). delete(Elem,[Elem|Rest],Rest). delete(Elem,[Kopf|Alter_Rest],[Kopf|Neuer_Rest]) :delete(Elem,Alter_Rest,Neuer_Rest). steht_vor(Liste,A,B) :append(_,[A|Rest],Liste),element(B,Rest). 4 Prolog 4.6 Beispielprogramme Künstliche Intelligenz Folie 4-76 (346) 4.6.2 Problem der stabilen Paare Aufgaben Aufgabe 4.14 (Verallgemeinerte Zuordnung) Was müssen wir ändern, wenn wir mit beliebig langen Listen arbeiten wollen? Die Programmierer- und Designerlisten sollen natürlich nach wie vor gleichlang, aber eben nicht auf 4 beschränkt sein. 4 Prolog Künstliche Intelligenz 4.7 Zusammenfassung (Prolog) Folie 4-77 (347) Das sollten Sie wissen . . . Zusammenfassung 4.2 (Prolog) I Was sind Fakten und Regeln, Anfragen, Variablen? I Rekursion I Abarbeitung: Tiefensuche im Lösungsbaum, Backtracking, Cut I Unifikation I Lokales Variablenkonzept I Closed-World-Assumption: Wahr kann nur sein, was aus eigener Wissensbasis folgt. I Negation as failure: not(Aussage) ist wahr, falls Aussage nicht bewiesen werden kann. I Datenstrukturen, Listen 4 Prolog Künstliche Intelligenz 4.8 Aufgaben Folie 4-78 (348) Aufgaben PROLOG Aufgabe 4.15 (Anfragen) Wie löst Prolog – aufbauend auf der in der Vorlesung behandelten Familienwissensbasis – folgende Anfragen? I ?-vater_von(juergen,Vater). I ?-vater_von(ralf,X),vater_von(X,Y). I ?-vater_von(X,ralf). I ?-vater_von(X,wolfgang),vater_von(Y,X). Begründen Sie Ihre Aussagen. 4 Prolog Künstliche Intelligenz 4.8 Aufgaben Folie 4-79 (349) Aufgaben PROLOG Aufgabe 4.16 (Pfadsuche) Sei ein gerichteter Graph durch seine Kanten gegeben. Z.B. werden durch edge(a,b), edge(b,c) usw. Kanten zwischen a und b, b und c spezifiziert. Definieren Sie ein 2-stelliges Prädikat connected, welches true liefert, wenn man vom 1. Knoten zum 2. Knoten (auch über mehrere Kanten) gelangen kann. Welches Problem tritt hier auf? 4 Prolog Künstliche Intelligenz 4.8 Aufgaben Folie 4-80 (350) Aufgaben PROLOG Aufgabe 4.17 (Länder, Städte) Spezifizieren Sie die Zusammenhänge zwischen Kontinenten, Ländern, Hauptstädten. Stellen Sie anschließend Anfragen, z.B. ob Rom die Hauptstadt von Italien ist, welche Hauptstadt die USA haben, welche Hauptstädte in Europa liegen etc. Aufgabe 4.18 (Unifikation) Was antwortet Prolog auf folgende Fragen? Begründen Sie Ihre Antwort. I ?-punkt(X,Y) = punkt(1,2). I ?-punkt(X,Y) = punkt(1,2,3). I ?-plus(1,1) = 2. 4 Prolog 4.8 Aufgaben Künstliche Intelligenz Folie 4-81 (351) Aufgaben PROLOG Aufgabe 4.19 (Viereck) Sei viereck(P1,P2,P3,P4) die Darstellung eines Vierecks in der Ebene. Pi seien Punkte punkt(X,Y). Definieren Sie in Prolog Prädikate, die testen, ob das Viereck ein Parallelogramm, ein Rechteck oder ein Quadrat ist! Aufgabe 4.20 (Listen) Definieren Sie die Listenprädikate reverse/2, kreuzprodukt/3 (kartesisches Produkt) sowie gerade_laenge/1, ungerade_laenge/1 ! 4 Prolog 4.8 Aufgaben Künstliche Intelligenz Folie 4-82 (352) Aufgaben PROLOG Aufgabe 4.21 (Listen) Programmieren Sie in Prolog ein Prädikat, welches eine Liste von Zahlen als Eingabeparameter bekommt und daraus die Liste der Quadrate berechnet. Beispielsweise soll die Anfrage ?-quadrate([3,2,12],X). die Lösung X=[9,4,144] liefern. Aufgabe 4.22 (Listen) Wie müssen Sie obiges Programm modifizieren, wenn Sie Elemente (der Eingabeliste), die keine Zahlen sind, einfach ausblenden wollen? Aufgabe 4.23 (Der Cut) Was unterscheidet das Prädikat el/2 (für das Finden eines Elements in einer Liste) mit Cut von dem Prädikat ohne Cut? 5 Problemlösung mittels Suche Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis Einleitung Darstellung und Verarbeitung von Wissen Vages Wissen Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme 5 Problemlösung mittels Suche Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis – Kapitel 5 Problemlösung mittels Suche Grundlagen der Suche Bewertungskriterien für Suchverfahren Uninformierte Suche Heuristische Suche Suchverfahren im Überblick Problemcharakteristika Vorwärts- und Rückwärtssuche Zusammenfassung (Suche) Aufgaben 5 Problemlösung mittels Suche Künstliche Intelligenz Folie 5-1 (355) Problemlösung mittels Suche Do not believe in miracles – rely on them Finagl’s Rules Arthur Bloch, Murphy’s Law, 1981 5 Problemlösung mittels Suche Künstliche Intelligenz Folie 5-2 (356) Motivation I Häufig hat man für ein Problem keinen effizienten, deterministischen Lösungsalgorithmus. I Beispiel: Labyrinth, Tourenplanung, . . . I Viele solche Probleme lassen sich auf Suchprobleme zurückführen. Auch in den KI-Techniken selbst findet man Suchprobleme: I Finden eines Beweises I Verarbeitung von Regeln 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-3 (357) Containerlager Beispiel 5.1 (Container) In einem Lager müssen Container umgestapelt werden. I Es gibt 3 Stellplätze. I Container A und B vom linken auf den rechten Stellplatz transportieren. I Container können nur einzeln transportiert werden. A Start: A Ziel: B B Abb. 40: Containerlager 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-4 (358) Containerlager – Zustandsraum A Start: B B A B A B A A B B A B B A Ziel: B A B B A B A A Ziel: B Abb. 41: Containerlager – Suchraum A A 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-5 (359) Suchen Wie findet man eine Folge von Aktionen, die zum Ziel führt? I Für 2 Container trivial. I Was, wenn es 50 Container sind? Möglichkeit: systematisches Suchen Wann wenden wir Suche an, wann nicht? I Suchen: Containerproblem (kein deterministischer Lösungsalgorithmus bekannt) I Wann nicht suchen? Beispielsweise kgV von 2 natürlichen Zahlen. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-6 (360) Problemlösung mittels Suche Wodurch ist das Containerproblem ausgezeichnet? 1. Es gibt einen definierten Ausgangszustand. 2. Der gewünschte Zielzustand ist vorgegeben. 3. Die möglichen Aktionen zum Übergang von einem Zustand zum nächsten sind bekannt. Man kann das Containerproblem folglich als Suchproblem in einem gerichteten Graphen betrachten. I Die Knoten sind die Zustände. I Die Wurzel des Graphen ist der Ausgangszustand. I Die Kanten sind die Zustandsübergänge. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-7 (361) Problemlösung mittels Suche Definition 5.1 (Graph) Ein Graph besteht aus I einer Menge N von Knoten und I einer Menge E von Kanten. G = (N , E ), dabei besteht E aus Paaren von Knoten: E ⊆ N × N. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-8 (362) Problemlösung mittels Suche Startknoten noch nicht untersuchte Knoten untersuchte Knoten Zielzustand Grenzknoten Abb. 42: Suche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-9 (363) Suchproblem Definition 5.2 (Suchproblem) Ein Suchproblem S = (z1 , N , E , ziel) ist definiert durch: I Sei (N , E ) ein Graph. I z1 ∈ N I ziel : N → {W, F} Gesucht: Folge von Knoten k0 , k1 , . . . , kn mit den Eigenschaften: 1. z1 = k0 2. (ki , ki +1 ) ∈ E 3. ziel(kn ) = W für i = 0, . . . , n − 1 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-10 (364) Andere Definition für Suche I Suche ist das Aufzählen einer Menge von potentiellen Teillösungen I Man braucht dazu: I I I Definition einer partiellen Lösung Methode zum Generieren der potentiellen Lösungen Methode zum Testen, ob eine potentielle Lösung eine Lösung ist 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-11 (365) Darstellung von Zustandsübergängen Für das Containerbeispiel sieht eine Zustandsfolge zum Zielzustand wie folgt aus: [[A, B ], [ ], [ ]] → [[B ], [A], [ ]] → [[ ], [A], [B ]] → [[ ], [ ], [A, B ]] 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-12 (366) Prinzip 1 für Suche Meist ist es unsinnig, mehrmals durch den gleichen Zustand zu laufen. Beispiel 5.2 (Wasserproblem) I Wir möchten 2 Liter exakt abfüllen. I Wir haben nur 2 kleine Kanister (ohne Skalen): 3 Liter, 4 Liter Dieses Problem kann man durch Suchen lösen. I Der Ausgangszustand: Beide Gefäße sind leer. I Der Zielzustand: In mindestens einem Gefäß sind exakt 2 Liter. I Es gibt nur 3 mögliche Aktionen, die man ausführen kann: 1. Auffüllen eines Gefäßes 2. Ausschütten eines Gefäßes 3. Umfüllen des Inhaltes eines Gefäßes in das andere 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-13 (367) Prinzip 1 für Suche 0 4 4 1 3 3 0 0 0 0 4 0 3 3 3 3 0 0 0 3 Zustände kommen mehrfach vor. 4 2 Abb. 43: Wasserbeispiel – Suchraum 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-14 (368) Prinzip 1 für Suche Eine andere Darstellung ist folgende: [0,0] * @ I @ R @ @ [0,3] [4,0] 1 @ @ I @ I @ 6@ R R @ @ @ [3,0] [4,3] [1,3] @ I @ 6 R @ @ [3,3] [1,0] Y H H j [4,2] Abb. 44: Wasserbeispiel – Suchraum (Ausschnitt) 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-15 (369) Doppelte Zustände Ist es sinnvoll, mehrmals durch den Zustand [0, 3] zu laufen? [0, 0] → [0, 3] → [4, 3] → [4, 0] → [1, 3] → [1, 0] → [0, 1] → [0, 3] Man sieht sofort, dass dies nicht sinnvoll ist. [0, 0] → [0, 3] → [4, 3] → [4, 0] → [1, 3] → [1, 0] → [0, 1] → [0, 3] . . . [4, 2] Cycle checking 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-16 (370) Prinzip 2 für Suche Der Suchraum muss systematisch und vollständig durchsucht werden. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-17 (371) Praktische (Such-)Probleme I Tourenplanung (Suche nach einer günstigen Route), I Planungsprobleme wie Produktionsplanung (günstige Folge von Arbeitsschritten) sowie I Diagnoseprobleme, wo in einer großen Zahl von Kombinationsmöglichkeiten gesucht wird. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-18 (372) Beispiel – Schach I Ausgangszustand I Zielzustände (gegnerischer König im Matt, eigener König nicht bedroht) I wohldefinierte Zustandsübergänge (Aktionen) Der Zustandsraum ist auch hier ein gerichteter Graph. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-19 (373) Problem beim Schach I Wie gewinnt man sicher? I Wie wählt man einen sicheren Zug aus? Diese Aufgabe kan man dem Computer übertragen. I Komplettes Durchsuchen aller Möglichkeiten nötig. I Problem auf Suche reduziert Man unterscheidet: I Suche ohne Zusatzinfos: uninformierte Suche I Zusatzinfos wie Kosten oder Heuristiken: heuristische/informierte Suche. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-20 (374) Problem – Komplexität I Komplexität beim Schach zu groß. I Systematische, uninformierte Suche nicht erfolgreich. I Mit informierter Suche z.T. schon erfolgreich. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.1 Grundlagen der Suche Folie 5-21 (375) Suche mittels Computer I Ziel ist Suche mittels eines Computer-Programms. I Wir müssen alle erforderlichen Informationen computergeeignet darstellen. Beispiel 5.3 (Wasserproblem) Startzustand beim Wasser-Problem: [0,0] Der Zielzustand muss einem der beiden Muster genügen: [_,2] oder [2,_] Auffüllen des linken Gefäßes: zustandsuebergang([_,Drei],[4,Drei]) 5 Problemlösung mittels Suche Künstliche Intelligenz 5.2 Bewertungskriterien für Suchverfahren Folie 5-22 (376) Bewertungskriterien für Suchverfahren Vollständigkeit Findet das Suchverfahren immer eine Lösung, falls eine existiert? Zeitkomplexität Wie lange braucht das Verfahren zum Finden einer Lösung? Speicherplatzkomplexität Wieviel Speicherplatz braucht das Verfahren zum Finden einer Lösung? Optimalität Ist die gefundene Lösung optimal (falls ein Optimalitätskriterium vorliegt)? 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-23 (377) Uninformierte Suche Sei I Kand . . . die Liste der Kandidaten von Wegen, die zu untersuchen sind, I z1 . . . der Ausgangszustand, I z und s . . . Zustände (Knoten des Graphen) I p . . . Weg durch den Zustandsraum. 5 Problemlösung mittels Suche und Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-24 (378) Uninformierte Suche FUNCTION Suche Kand := [z1 ]; Ziel_erreicht := false; REPEAT Wähle aus Kand einen Weg aus: p := z1 z2 . . . zm Ziel_erreicht := ziel(zm ); IF NOT Ziel_erreicht THEN Berechne alle Folgezustände von zm : [s1 , . . . , sk ] Lösche p aus Kand heraus; Füge z1 . . . zm s1 , z1 . . . zm s2 ,. . .,z1 . . . zm sk in Kand ein; ENDIF UNTIL Ziel_erreicht; RETURN p; END Abb. 45: Uninformierte Suche 5 Problemlösung mittels Suche 5.3 Uninformierte Suche Künstliche Intelligenz Folie 5-25 (379) Frage Bemerkung 5.3 (Zwischenzustände) Warum merken wir uns die ganzen Zwischenzustände? I Inhaltliches Argument: Bei vielen Problemen interessiert uns nicht nur, ob wir zu einem Zielzustand gelangen, sondern auch wie (Bspl. Wasserproblem). I Technisches Argument: Wir möchten nicht mehrfach durch den gleichen Zustand laufen (s.o). Wir müssen uns also merken, welche Zustände wir bereits durchlaufen haben. 5 Problemlösung mittels Suche 5.3 Uninformierte Suche Künstliche Intelligenz Folie 5-26 (380) Freiheitsgrade im Algorithmus Im folgenden: Nehmen immer erstes Element der Kandidatenliste. Welche Freiheitsgrade im Algorithmus haben wir? I Einfügen der neuen Pfade in die Kandidatenliste I Sortieren der Kandidatenliste 2 Varianten: 1. Fügt man die neuen Pfade an den Anfang der Liste der Kandidaten ein: Tiefensuche, 2. Fügt man sie am Schluss an: Breitensuche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-27 (381) 5.3.1 Breitensuche Breitensuche FUNCTION Breitensuche Kand := [z1 ]; Ziel_erreicht := false; REPEAT Sei Kand = [z1 z2 . . . zm , p2 , . . . , pn ] Ziel_erreicht := ziel(zm ); IF NOT Ziel_erreicht THEN Berechne alle Folgezustände von zm : [s1 , . . . , sk ] Lösche p = z1 z2 . . . zm aus Kand heraus; ⇒ Kand := [p2 , . . . , pn , z1 . . . zm s1 , . . . , z1 . . . zm sk ]; ENDIF UNTIL Ziel_erreicht; RETURN z1 z2 . . . zm ; END Abb. 46: Breitensuche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-28 (382) 5.3.1 Breitensuche Wasserbeispiel – Breitensuche 0 4 4 0 3 0 1 3 0 0 3 4 3 4 0 3 3 3 0 3 Abb. 47: Wasserbeispiel – Breitensuche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-29 (383) 5.3.2 Tiefensuche Tiefensuche FUNCTION Tiefensuche Kand := [z1 ]; Ziel_erreicht := false; REPEAT Sei Kand = [z1 z2 . . . zm , p2 , . . . , pn ] Ziel_erreicht := ziel(zm ); IF NOT Ziel_erreicht THEN Berechne alle Folgezustände von zm : [s1 , . . . , sk ] Lösche p = z1 z2 . . . zm aus Kand heraus; ⇒ Kand := [z1 . . . zm s1 , . . . , z1 . . . zm sk , p2 , . . . , pn ]; ENDIF UNTIL Ziel_erreicht; RETURN z1 z2 . . . zm ; END Abb. 48: Tiefensuche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-30 (384) 5.3.2 Tiefensuche Wasserbeispiel – Tiefensuche 0 4 0 3 0 4 0 1 3 3 4 3 3 4 0 0 0 0 0 0 Abb. 49: Wasserbeispiel – Tiefensuche 3 0 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-31 (385) 5.3.2 Tiefensuche Breiten- und Tiefensuche I Der oberste Knoten sei der Ausgangszustand. I Wann erreichen die Verfahren die Knoten? 1 1 @ R 3 2 @ R @ R 5 6 7 4 @ @ R R 8 9 10 @ R 7 2 @ R @ R 3 6 8 9 @ @ R R 5 10 4 Abb. 50: Breiten- und Tiefensuche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-32 (386) 5.3.2 Tiefensuche Tiefensuche Ausgangszustand: Knoten A, Zielzustand: Knoten G Tiefensuche akt. Kandidat A @ R B C @ R @ R D E F G @ @ R R J H K A A-B A-B-D A-B-D-H A-B-D-J A-B-E A-C A-C-F A-C-G Kandidatenliste A A-B, A-C A-B-D, A-B-E, A-C A-B-D-H, A-B-D-J, A-B-E, A-C A-B-D-J, A-B-E, A-C A-B-E, A-C A-C A-C-F, A-C-G A-C-G Lösung Abb. 51: Beispiel: Tiefensuche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-33 (387) 5.3.2 Tiefensuche Breitensuche Ausgangszustand: Knoten A, Zielzustand: Knoten G Breitensuche akt. Kandidat A @ R A B C A-B @ R @ R D E F G A-C @ @ R R J H K A-B-D A-B-E A-C-F A-C-G Kandidatenliste A A-B, A-C A-C, A-B-D, A-B-E A-B-D, A-B-E, A-C-F, A-C-G A-B-E, A-C-F, A-C-G, A-B-D-H, A-B-D-J A-C-F, A-C-G, A-B-D-H, A-B-D-J A-C-G, A-B-D-H, A-B-D-J Lösung Abb. 52: Beispiel: Breitensuche 5 Problemlösung mittels Suche 5.3 Uninformierte Suche 5.3.3 Vor- und Nachteile beider Verfahren Vor- und Nachteile beider Verfahren I Tiefensuche kann eine Lösung sehr schnell finden. I Tiefensuche muss eine Lösung nicht unbedingt finden. I Ist „linker“ Teilbaum unendlich groß und enthält keinen Zielzustand, so findet Tiefensuche keine Lösung. I Tiefensuche ist in diesem Fall also unvollständig. I Breitensuche rennt nicht blind in einen Zweig hinein. I Breitensuche ist vollständig und fair. Künstliche Intelligenz Folie 5-34 (388) 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-35 (389) 5.3.4 Komplexität von Tiefen- und Breitensuche Komplexität von Tiefen- und Breitensuche Wie hoch ist der Platz- und Zeitbedarf beider Verfahren? I Betrachten ungünstigsten Fall. I Betrachten gerichteten Baum mit der Tiefe T sowie einer Verzweigungsrate V . I Alle Zielknoten liegen auf der untersten Ebene. Insgesamt enthält der Baum 1 + V + V 2 + ... + V T = O (V T ) Knoten. Das liegt in der Größenordnung von V T . 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-36 (390) 5.3.4 Komplexität von Tiefen- und Breitensuche Komplexität – 2 Die Schreibweise O (V T ) bedeutet, dass ein k und ein V0 existieren, so dass für alle V ≥ V0 gilt: 1 + V + V 2 + ... + V T < k ∗ V T I Ungünstigster Fall (Lösung „unten rechts“): beide Verfahren gleich O (V T ) I Durchschnittlicher Fall (Lösung liegt irgendwo in der untersten Ebene): I Breitensuche: O (V T ) I Tiefensuche: T . . . O (V T ) 5 Problemlösung mittels Suche Künstliche Intelligenz 5.3 Uninformierte Suche Folie 5-37 (391) 5.3.4 Komplexität von Tiefen- und Breitensuche Komplexität – 3 : Speicherbedarf I Breitensuche – worst case (komplette Ebene T bereits als Kandidaten): O (V T ) Kandidaten gespeichert I Tiefensuche – worst case (erster Knoten in der Ebene T erreicht): T ∗ (V − 1) 5 Problemlösung mittels Suche 5.3 Uninformierte Suche Künstliche Intelligenz Folie 5-38 (392) 5.3.5 Iterative Deepening Iterative Deepening I Existiert Verfahren, welches die Vorteile von I I Tiefensuche (Komplexität) und Breitensuche (Fairness, Vollständigkeit) kombiniert? I Idee: Tiefensuche mit Beschränkung der Tiefe der Kandidaten I Findet man keine Lösung: Lockern der Tiefenbeschränkung. ; Schrittweise Vertiefung (Iterative Deepening). I Zeitbedarf: analog Breitensuche (O (V T )) I Speicherplatzbedarf: analog Tiefensuche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-39 (393) Heuristische Suche I Tiefen- und Breitensuche scheitern häufig bei größeren Suchproblemen I . . . aufgrund der großen Komplexität. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-40 (394) Handelsreisender (Travelling salesman problem) I Ein Reisender soll n Städte besuchen; jede genau einmal. I Gesucht ist die kürzeste Strecke. I (n-1)! Möglichkeiten (exakt: I Konsequenz: systematische Suche wie Breiten- oder Tiefensuche nicht ausreichend. (n−1)! 2 ) ; exponentieller Aufwand 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-41 (395) Zusatzinfos und Heuristiken I Folglich zusätzliche Kriterien erforderlich, die den Suchraum strukturieren oder eingrenzen I Strukturieren = Modifikation der Reihenfolge der Abarbeitung der Kandidaten I Eingrenzung des Suchraums = Abschneiden von Zweigen im Suchraum I Bei vielen Problemen: Zusatzinformationen verfügbar wie Entfernungen, Kosten, Materialverbrauch I Diese Informationen werden bei der Breiten- und Tiefensuche jedoch nicht benutzt. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-42 (396) Suche und verfügbare Infos I Schätzung des Abstands zum Ziel: h I Bisherige Kosten: g Abb. 53: Bewertungsfunktionen 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-43 (397) Suche – verfügbare Infos Wozu die Schätzfunktion h? I Bisherige Kosten bekannt: einfach summieren I Wenn wir noch wüssten, wie weit wir (kostenmäßig) von einer Lösung entfernt sind . . . Summe der bisherigen Kosten + noch entstehende Kosten. I Wählen besten Kandidaten I Entfernung zum Ziel leider unbekannt I Meist kann man sie jedoch schätzen. 5 Problemlösung mittels Suche 5.4 Heuristische Suche Einfache Bewertungsfunktionen I g: Bisherige Schritte I h: Geschätzte Zahl der noch nötigen Schritte Künstliche Intelligenz Folie 5-44 (398) 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-45 (399) Steine-Beispiel Beispiel 5.4 (Steine-Beispiel) Auf einem Brett liegen 4 Steine, 2 weiße und 2 schwarze: W W S S Zwischen den Steinen ist ein freies Feld. Es soll folgender Zustand hergestellt werden: S S W W Dazu darf man: I schieben (Kosten 1) I über 1 Stein springen (Kosten 1) I über 2 Steine springen (Kosten 2) Wie findet man eine Zugfolge mit minimalen Aufwand? 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-46 (400) 5.4.1 Nearest Neighbour Heuristik Nearest Neighbour Heuristik Eine typische Heuristik ist die nearest neighbour heuristic. Beim travelling salesman sieht sie so aus: 1. Beliebige Start-Stadt wählen. 2. Wähle aus den noch nicht besuchten Städten die zur aktuellen Stadt am nächsten gelegene Stadt aus. 3. Falls noch nicht alle Städte besucht sind, gehe zu 2. Voraussetzung für NNH: Aufwandsmaß g für die Kosten der Zustandsübergänge 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-47 (401) 5.4.1 Nearest Neighbour Heuristik Nearest Neighbour Heuristik – Rundreiseproblem Typisches Verhalten von NNH: I Betrachten 6 kreisfreie Städte in MV. I Als Startstadt wird Wismar gewählt. I Die gefundene Lösung ist nicht optimal. Stralsund Rostock Greifswald Wismar Neubrandenburg Schwerin Abb. 54: Rundreiseproblem für die 6 kreisfreien Städte mit NNH 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-48 (402) 5.4.1 Nearest Neighbour Heuristik Nearest Neighbour Heuristik – Algorithmus FUNCTION NNH p := z1 ; Ziel_erreicht := false; REPEAT Sei p = z1 z2 . . . zm Ziel_erreicht := ziel(zm ); IF NOT Ziel_erreicht THEN Suche nächstgelegenen Nachbarn von zm : x p := z1 z2 . . . zm x ENDIF UNTIL Ziel_erreicht; RETURN p; END Abb. 55: NNH – Algorithmus 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-49 (403) 5.4.1 Nearest Neighbour Heuristik Nearest Neighbour Heuristik I NNH ist ein typisches Lowest-cost-first-Verfahren. I NNH ignoriert das Ziel, konzentriert sich allein auf die lokalen Kosten. I NNH hat kein Backtracking. Alternativ: I Backtracking zulassen I Gesamte bisherige Pfadkosten betrachten I Mit dem billigsten weiterarbeiten I Führt zu einer Art Breitensuche. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-50 (404) 5.4.2 Hill climbing Hill climbing I Voraussetzung: heuristische Funktion h (Qualität eines Lösungsvorschlags, Abstand zum Ziel) I hill climbing: Folgezustand wird nur dann akzeptiert, wenn dieser „näher“ zum Ziel liegt. I wird auch Bergsteiger-Strategie genannt I erlaubt Backtracking (in vielen Quellen ohne Backtracking) 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-51 (405) 5.4.2 Hill climbing Hill climbing – Algorithmus FUNCTION HILL CLIMBING Kand := [z1 ]; Ziel_erreicht := false; REPEAT Wähle aus Kand einen Weg: p := z1 z2 . . . zm ; Ziel_erreicht := ziel(zm ); IF NOT Ziel_erreicht THEN Berechne alle Folgezustände (von zm ) [s1 , . . . , sk ], für die gilt: h(zm ) ≥ h(si ); Füge für alle si die Wege z1 z2 . . . zm si in Kand ein; Lösche p aus Kand heraus; ENDIF UNTIL Ziel_erreicht; RETURN p; END Abb. 56: Hill Climbing – Algorithmus 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-52 (406) 5.4.3 Bestensuche Bestensuche I Kombination von Tiefen- und Breitensuche I verwendet heuristische Funktion h Idee: Wir nehmen den Kandidaten, dessen Bewertung am besten ist und suchen auf diesem Pfad weiter. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-53 (407) 5.4.3 Bestensuche Bestensuche – Algorithmus FUNCTION BESTENSUCHE Kand := [z1 ]; Ziel_erreicht := false; REPEAT Wähle aus Kand den besten (h) Weg: p := z1 z2 . . . zm ; Ziel_erreicht := ziel(zm ); IF NOT Ziel_erreicht THEN Berechne alle Folgezustände (von zm ) [s1 , . . . , sk ]; Füge die Wege z1 z2 . . . zm s1 , . . . , z1 z2 . . . zm sk in Kand ein; Lösche p aus Kand heraus; ENDIF UNTIL Ziel_erreicht; RETURN p; END Abb. 57: Bestensuche – Algorithmus 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche 5.4.4 A∗ -Suche A∗ -Suche Heuristische Funktionen g , h für: I Kosten für bisherigen Pfad: g I Abstandsmaß (aktueller Knoten → Zielzustand): h Die Kandidaten werden durch die Summe beider heuristischer Funktionen f = g + h bewertet. Folie 5-54 (408) 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-55 (409) 5.4.4 A∗ -Suche A∗ -Suche – Motivation Betrachten das Wasserproblem: I I [0, 0] → [0, 3] [0, 0] → [4, 0] → [1, 3] → [0, 3] Beobachtung: I Zustand [0, 3] über mehrere Wege erreichbar I Wir müssen nur den „besseren“ weiterverfolgen. I Multiple path pruning (MPP) / Karo-Effekt Dies wird im A∗ -Algorithmus ausgenutzt. 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-56 (410) 5.4.4 A∗ -Suche Implementierung Der A∗ -Algorithmus wird anders als beispielsweise die Breitensuche umgesetzt. Man verwaltet zwei Mengen von Zuständen: I OPEN: Knoten (bewertet, aber noch nicht expandiert) I CLOSED: Knoten (bewertet und expandiert) Mit Expandieren ist hier das Berechnen aller Nachfolger gemeint. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-57 (411) 5.4.4 A∗ -Suche A∗ -Suche – Algorithmus FUNCTION A-STERN OPEN := [z1 ]; CLOSED := [ ]; Ziel_erreicht := false; REPEAT x := bester Knoten (bez. f) aus OPEN; Ziel_erreicht := ziel(x); IF NOT Ziel_erreicht THEN Lösche x in OPEN und füge x in CLOSED ein; SUCCESSORS := alle Nachfolger von x; FORALL y∈ SUCCESSORS IF y∈ OPEN OR y∈ CLOSED THEN Vergleiche alten/neuen Weg, verwirf schlechteren; ELSE Füge y in OPEN ein; ENDIF ENDFORALL ENDIF UNTIL Ziel_erreicht; RETURN x; END Abb. 58: A∗ -Suche 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-58 (412) 5.4.4 A∗ -Suche A∗ -Suche – Beispiel a5 J 3 2 2J ^ ? J b2 c6 d4 J J 2 3 2 J J2 J J ^? ^ e2 f 3 J 3 1 J 1 J ^ g5 h3 J 2 J1 J ^ j 0 i 3 Abb. 59: A-Stern – Beispiel 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-59 (413) 5.4.4 A∗ -Suche A∗ -Suche – Beispiel a5 Suchraum: a5 2 2J 3 ?J^ J b2 c6 d4 3J 2 2 J 2 J^ J^ J? J e2 f3 1 J 3 1 J^ J g5 h3 2 J1 J^ J j0 i3 a J J ^ ? J c 8 d7 b4 a J J ^ ? J c 8 d7 b J J J ^ e7 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-60 (414) 5.4.4 A∗ -Suche A∗ -Suche – Beispiel a Suchraum: a5 2 2J 3 ?J^ J b2 c6 d4 3J 2 2 J 2 J^ J^ J? J e2 f3 J 3 1 1 J^ J g5 h3 2 J1 J^ J j0 i3 a a J J J J J J ^ ^ ^ ? J ? J ? J c8 d c8 d c b b b d J J J J J J J J J J J J J J J ^ ^ ^ ^ ^ ? e7 e e f 8 f 8 f 8 J J J J J J ^ ^ 10 g 11 g h11 h10 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-61 (415) 5.4.4 A∗ -Suche A∗ -Suche – Beispiel a a Suchraum: a5 2 2J 3 ?J^ J b2 c6 d4 3J 2 2 J 2 J^ J^ J J? e2 f3 J 3 1 1 J^ J g5 h3 2 J1 J^ J j0 i3 J J ^ ? J c b d 10 g ? e J J ^ ? J c b d J J J ^ ? e f 10 g h9 h J J J ^ f J J J ^ j 7 11 i Abb. 60: Beispiel – A-Stern 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-62 (416) 5.4.4 A∗ -Suche Ablauf der A∗ -Suche Suchraum: Expand. Knoten a5 J3 2 2 J ?J^ b2 c6 d4 J 2 2 J 2 3 J^ J? e2 J^ J 1 J3 g5 f3 1 J^ J h3 2 J1 J^ J i3 j0 0 1 a 2 b 3 d 4 5 6 7 8 e c f h j OPEN CLOSED a/5 b/4, c/8, d/7 c/8, d/7, e/7 c/8, e/7, f/8 a a, b a, b, d Bemerkung Wir hätten auch e nehmen können. c/8, f/8, g/11, h/11 a, b, d, e f/8, g/10, h/10 a, . . . , e auch f möglich g/10, h/9 a, . . . , f g/10, i/11, j/9 a, . . . , f, h g/10, i/11 a, . . . , f, h, j Lösung Abb. 61: Beispiel – A-Stern 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-63 (417) 5.4.4 A∗ -Suche Implementierung I I Pointer zwischen den Knoten: I Knoten → Nachfolger I Knoten → bester Vorgänger Findet man einen besseren Vorgänger eines Knotens: I I Pointer auf den besten Vorgänger ersetzen Weitergeben der neuen (besseren) Bewertung auf alle Folgezustände (und deren Folgezustände etc.). 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-64 (418) 5.4.4 A∗ -Suche Optimallösung ? Satz 5.4 (Optimallösung) Überschätzt die Funktion h die tatsächlichen Kosten g nicht, so findet der A∗ -Algorithmus die Optimallösung. Eine solche Funktion h heißt zulässig. 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-65 (419) 5.4.5 Ein Beispiel Das Hängebrückenproblem I Vier Personen möchten nachts eine Hängebrücke benutzen. I Aus Sicherheitsgründen muss dabei eine Taschenlampe benutzt werden. I Die Batterie der Lampe reicht genau für 60 Minuten. I Außerdem dürfen höchstens 2 Personen gleichzeitig auf der Hängebrücke sein. I Die Lampe kann nicht zurückgeworfen werden, sie muss übergeben werden. I Die Personen sind unterschiedlich schnell. Sie benötigen für eine Strecke: Anna: 5 min, Boris: 10 min, Clara: 20 min, Dirk: 25 min. 5 Problemlösung mittels Suche 5.4 Heuristische Suche 5.4.5 Ein Beispiel Das Hängebrückenproblem Wir möchten A∗ anwenden. Dazu brauchen wir 1. eine Darstellung für einen Zustand, 2. den Start- und Zielzustand, 3. eine Darstellung für korrekte Zustandsübergänge, 4. eine Kostenfunktion (g) und 5. eine Schätzung für die Entfernung zum Ziel (h). Künstliche Intelligenz Folie 5-66 (420) 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-67 (421) 5.4.5 Ein Beispiel Das Hängebrückenproblem – Darstellung eines Zustands Welche Informationen müssen wir darstellen? I Wer ist auf welcher Seite? I Wo ist die Lampe? I Wieviel Zeit ist verbraucht? Mögliche Darstellung durch Liste. [[l,a,b],[c,d],20] stellt dar, dass I die Lampe, Anna und Boris auf der linken Seite der Brücke sind, I die beiden anderen rechts. I Verbraucht wurden bisher 20 Minuten. Startzustand: [[l,a,b,c,d],[],0]. Zielzustand: [[],[l,a,b,c,d],_]. 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-68 (422) 5.4.5 Ein Beispiel Das Hängebrückenproblem – Zustandsübergänge Korrekter Zustandsübergang: I Von links nach rechts: 2 Personen (mit der Lampe) I Zurück immer nur 1 Person (mit Lampe). Wann können X und Y von links nach rechts gehen? 1. Die Lampe ist links. 2. X und Y sind links. Welche Zeit wird dabei verbraucht? Das Maximum des Zeitbedarfs von X und Y. Analog definiert man, dass X von rechts nach links geht. 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-69 (423) 5.4.5 Ein Beispiel Formale Regeldarstellung Formal kann man eine Regel (für das Laufen von links nach rechts) in einer Prolog-Notation wie folgt darstellen: zustandsuebergang([L,R,T],[L1,[l,X,Y|R],T1]) :del(l,L,La), % Lampe ist links del(X,La,L2), % X ist links del(Y,L2,L1), % Y ist links zeit(X,Time1), zeit(Y,Time2), % Zeit für X & Y Max is max(Time1,Time2), % davon das Maximum T1 is T+Max, % verbrauchte Gesamtzeit T1 =< 60. % darf 60 nicht übersteigen 5 Problemlösung mittels Suche 5.4 Heuristische Suche Künstliche Intelligenz Folie 5-70 (424) 5.4.5 Ein Beispiel Das Hängebrückenproblem – Kostenfunktion Die Kosten (g) ergeben sich durch den Zeitbedarf der Personen. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.4 Heuristische Suche Folie 5-71 (425) 5.4.5 Ein Beispiel Das Hängebrückenproblem – Schätzfunktion h Wie kann man die noch zu erwartenden Kosten schätzen? Betrachten wir dazu exemplarisch den Zustand [[l,a,c,d],[b],15]. Zeitbedarf, um a, c, d von links nach rechts zu bringen? I Minimal 5 + 25 Minuten (a geht allein, c und d zusammen). I Zusätzlich muss Lampe zurückgebracht werden (jedes Mal mindestens 5 Minuten, falls immer a ginge). Schätzfunktion, überschätzt tatsächliche Kosten garantiert nicht. Sie ist also zulässig. Ergänzung: Unter www.plastelina.net/game7.html findet man eine Reihe guter Aufgaben, die mit Suchverfahren lösbar sind. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.5 Suchverfahren im Überblick Folie 5-72 (426) Suchverfahren im Überblick Verfahren Breitensuche Tiefensuche Bestensuche Bergsteiger nearest neighbour A∗ Charakteristika h h Alte Kandidaten zuerst Neue Kandidaten zuerst Kandidat mit bestem h-Wert zuerst Folgezustände dürfen nicht schlechter (bezüglich h) sein. g Knoten mit geringsten Kosten (g) wird genommen. g+h Bestensuche mit g+h, Mehrfachwege werden vermieden. Tabelle 9: Suchverfahren Backtracking ja ja ja ja nein ja 5 Problemlösung mittels Suche Künstliche Intelligenz 5.5 Suchverfahren im Überblick Folie 5-73 (427) Varianten Bemerkung 5.5 (Varianten der Suchverfahren) Breiten-/Tiefensuche MPP möglich Bestensuche MPP möglich Bergsteiger MPP möglich, ebenso Backtrackingverbot (meist unsinnig). In vielen Quellen: ohne Backtracking, gierige Suche (bester Kandidat). Nearest Neighbour Backtracking bei gleichguten Kandidaten Dijkstra-Algorithmus Bester Kandidat bezüglich bisherigen g-Kosten. Backtracking. MPP. 5 Problemlösung mittels Suche 5.5 Suchverfahren im Überblick Künstliche Intelligenz Folie 5-74 (428) Suchverfahren – Aufgaben des Nutzers und des Programm Der Nutzer muss folgende Infos bereitstellen: I Startzustand I Zielzustände I Korrekte Zustandübergänge I g – Kosten für EINEN Zustandsübergang I h – geschätzte Entferung zum Ziel Aufgaben des Suchprogramms: I Verwaltung der Kandidaten I Auswahl des nächsten Kandidaten I Summieren der bisherigen Kosten I Berechnung von g+h I Cycle checking 5 Problemlösung mittels Suche Künstliche Intelligenz 5.6 Problemcharakteristika Folie 5-75 (429) Problemcharakteristiken Wie ordnet sich Suche in die allgemeine Problemlösung ein? Ein typisches Vorgehen bei der Problemlösung ist: 1. Problemdefinition 2. Analyse des Problems 3. Isolieren des für das Problem wichtigen Wissens und Wahl einer geeigneten Repräsentationsform 4. Auswahl einer passenden Problemlösungstechnik Gelingt es, das Problem mit Hilfe eines Suchraumes (Ausgangs- und Zielzustand, Zustandsübergänge) zu definieren, kann im Schritt 4 ein Suchverfahren eingesetzt werden. 5 Problemlösung mittels Suche Künstliche Intelligenz 5.6 Problemcharakteristika Folie 5-76 (430) Kleine Suchräume durch Problemcharakteristika I Ist das Problem zerlegbar? (Container, Zerlegen in Teilprobleme) I Kann man Lösungsschritte ignorieren? (beispielsweise Vergleich mit lokal bester Lösung) I Ist die Lösung ein Zustand oder ein Pfad? (Bspl. Wasserproblem: Pfad oder mehrdeutige Interpretation eines Satzes: Zustand) 5 Problemlösung mittels Suche 5.7 Vorwärts- und Rückwärtssuche Künstliche Intelligenz Folie 5-77 (431) Vorwärts- und Rückwärtssuche I Suche beginnt beim Ausgangszustand: Vorwärtssuche I Suche beginnt beim Zielzustand: Rückwärtssuche 5 Problemlösung mittels Suche 5.7 Vorwärts- und Rückwärtssuche Künstliche Intelligenz Folie 5-78 (432) Weitere Suchverfahren I Simulated Annealing I Threshold Accepting I Iterative Broadening I Constraint-Satisfaction-Verfahren I Min-Max- oder α/β-Verfahren I Branch-and-bound (Beschränkung durch beste bisher gefundene Lösung) 5 Problemlösung mittels Suche 5.8 Zusammenfassung (Suche) Künstliche Intelligenz Folie 5-79 (433) Das sollten Sie wissen . . . Zusammenfassung 5.6 (Suche) I Grundprinzip der Problemlösung mittels Suche I Wann Suche? I Uninformierte / informierte Suche I Suchverfahren I Suchstrategien I Heuristische Funktionen 5 Problemlösung mittels Suche 5.9 Aufgaben Künstliche Intelligenz Folie 5-80 (434) Aufgaben Suche Aufgabe 5.1 (Suchprobleme) Finden Sie weitere Problem-Beispiele, die sich als Suchproblem (d.h. als Zustandsübergangsproblem mit Ausgangs- und Zielzustand) darstellen lassen! Finden Sie Beispiele, die auf dieses Konzept nicht passen! Aufgabe 5.2 (Suchprobleme) Kennen Sie Beispiele, wo es durchaus sinnvoll ist, das zweimalige Durchlaufen des gleichen Zustands zuzulassen? 5 Problemlösung mittels Suche Künstliche Intelligenz 5.9 Aufgaben Folie 5-81 (435) Aufgaben Suche Aufgabe 5.3 (Suchraum) Folgender Suchraum sei gegeben. Der Startzustand sei a, der Zielzustand sei h. Wie gelangt der A∗ Algorithmus zur Lösung? In welcher Reihenfolge werden die Kandidaten durchlaufen? Ist die verwendete Schätzfunktion zulässig? Und wie gehen die anderen Suchstrategien hier vor? a5 1 J2 J ^ c2 3b 2 2J J ^ d3 1 J3 J ^ 5e f3 2 J1 J ^ 3g h0 5 Problemlösung mittels Suche 5.9 Aufgaben Aufgaben Suche Aufgabe 5.4 (A∗ -Suche) Wo sehen Sie Vorteile des A∗ -Algorithmus? Aufgabe 5.5 (Best-First- und Breitensuche) Erläutern Sie Best-First-Suche und Breitensuche! Wann ist Best-First-Suche schlechter als Breitensuche? Künstliche Intelligenz Folie 5-82 (436) 5 Problemlösung mittels Suche Künstliche Intelligenz 5.9 Aufgaben Folie 5-83 (437) Aufgaben Suche Aufgabe 5.6 (8 Puzzle) Betrachten Sie das 8-Puzzle-Problem (Schiebefax) und entwickeln Sie dafür ein Suchverfahren. (Schiebefax: 3x3-Quadrat mit verschiebbaren Feldern (1-8), ein Freifeld. Man soll die Felder durch Verschieben in die richtige Reihenfolge bringen, d.h. 1. Zeile 1-3, 2. Zeile 4-6, 3. Zeile 7-8 u. Freifeld) Kann man den A∗ -Algorithmus einsetzen? Entwickeln Sie geeignete heuristische Funktionen. Ist Ihre geschätzte Distanz zum Ziel zulässig? Erläutern Sie Ihr Vorgehen am Beispiel des Startzustands: 5 Problemlösung mittels Suche 7 6 1 2 5 3 8 4 Künstliche Intelligenz 5.9 Aufgaben Folie 5-84 (438) Aufgaben Suche Aufgabe 5.7 (Hill climbing) Wenn Hill climbing ohne Backtracking implementiert wird, welcher Suchstrategie ähnelt das Verfahren dann am meisten? Aufgabe 5.8 (Steine) Finden Sie für das Steine-Beispiel (Beispiel 5.4) eine zulässige Schätzfunktion h. 6 Neuronale Netze Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis Einleitung Darstellung und Verarbeitung von Wissen Vages Wissen Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme 6 Neuronale Netze Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis – Kapitel 6 Neuronale Netze Historie und biologische Aspekte Funktionsweise Ein einfaches Neuronenmodell Verallgemeinertes Modell Zusammenfassung (Neuronale Netze) Aufgaben 6 Neuronale Netze Künstliche Intelligenz Folie 6-1 (441) Neuronale Netze Nothing ever comes out as planned. Seay’s Law, Murphy’s Law 6 Neuronale Netze Künstliche Intelligenz 6.1 Historie und biologische Aspekte Folie 6-2 (442) Historie und biologische Aspekte I Ende 19. Jh.: grundsätzliches Verständnis des Gehirns I 1913 erstes künstliches NN mit hydraulischen Mitteln (Russel) I Beginn der Erforschung künstlicher Neuronaler Netze etwa 1940 (Craik/Rosenbleuth/McCulloch) I 1949 Hebb: Beginn der Entwicklung von Lernverfahren I 1957 Rosenblatt: Perceptron I 1970-1982 Stagnation I 1982 Hopfield, Aufschwung beginnt 6 Neuronale Netze Künstliche Intelligenz 6.1 Historie und biologische Aspekte Folie 6-3 (443) Aufbau und Wirkungsweise I Nervenzellen – Neuronen I sind untereinander verbunden, senden elektrische Signale I Aussenden von Signalen über Axon (Ausgang) I Empfang von Signalen über Dendriten (Eingänge) und Kopplungsstellen – Synapsen 6 Neuronale Netze Künstliche Intelligenz 6.1 Historie und biologische Aspekte Folie 6-4 (444) Prinzipieller Aufbau und Wirkungsweise Zellkörper Endknöpfchen Synapse Dendriten Zellkern Axon Abb. 62: Modell eines NN 6 Neuronale Netze 6.2 Funktionsweise Künstliche Intelligenz Folie 6-5 (445) Funktionsweise I Neuron arbeitet binär, ist also aktiv oder nicht. I Jedes Neuron besitzt einen Schwellwert. I Neuron empfängt Eingaben von erregenden Synapsen. I Neuron empfängt Eingaben von hemmenden Synapsen. I Neuron wird aktiv, wenn die Summe der Eingaben den Schwellwert übersteigt. I Neuron kann max. 200 mal pro Sekunde feuern. I Ausbreitung des Signals (über Axon) etwa 100 ms 6 Neuronale Netze 6.2 Funktionsweise Künstliche Intelligenz Folie 6-6 (446) Lernen Wie lernt das menschliche Gehirn? Nach dem Modell von Donald O. Hebb funktioniert das Lernen nach folgender Regel: Sind die prä- und postsynaptischen Neuronen gleichzeitig aktiv, so wird die Verbindung zwischen den Neuronen verstärkt. 6 Neuronale Netze Künstliche Intelligenz 6.2 Funktionsweise Folie 6-7 (447) Künstliche Neuronale Netze – Forschung I Topologien I Lernregeln Man weiß mittlerweile: I Modelle für Gehirn-Arbeitsweise sind relativ ungenau. I Dennoch funktionieren die künstlichen Neuronalen Netze oft gut. 6 Neuronale Netze Künstliche Intelligenz 6.2 Funktionsweise Folie 6-8 (448) Vergleich – Computer & Gehirn Eigenschaft Parallelität Präzision Fehlertoleranz Speicherzugriff Mustererkennung fehlerfreies Speichern Rekonstruktion fehlerhafter Daten Exaktheit num. Berechnungen Selbstorganisation Computer niedrig hoch niedrig lokal schlecht gut schlecht gut bisher kaum Tabelle 10: Vergleich Computer – Gehirn Gehirn hoch mäßig hoch global gut schlecht gut schlecht ja 6 Neuronale Netze Künstliche Intelligenz 6.2 Funktionsweise Folie 6-9 (449) Symbolik und Subsymbolik Symbolik: I Explizites Einführen von Begriffen auf der Modellebene I Bspl.: Begriff Auto Subsymbolik: I kein explizites Einführen von Begriffen auf der Modellebene I Arbeiten mit Mikrostrukturen (z.B. Neuronen), in denen nicht explizit ein Begriff codiert ist. I Bspl.: Mustererkennung mit kNN 6 Neuronale Netze 6.3 Ein einfaches Neuronenmodell Künstliche Intelligenz Folie 6-10 (450) Ein einfaches Neuronenmodell Seien alle Neuronen fortlaufend durchnumeriert. Jedes Neuron n hat: I Eingänge: o1 , . . . , oj mit booleschen Werten 0 oder 1. I 1 Ausgang: Ausgabewert on (0 oder 1). I an den Eingaben liegende Gewichte: w1,n , . . . , wj ,n , wobei ein positives Gewicht anregend, ein negatives hemmend ist. I einen Schwellwert Θn . 6 Neuronale Netze Künstliche Intelligenz 6.3 Ein einfaches Neuronenmodell Folie 6-11 (451) Wie arbeitet das (künstliche) Neuron? I Das Neuron arbeitet in Zeittakten. I Zunächst werden die Input-Signale zur Netzeingabe zusammengefasst (net n heißt Propagierungsfunktion): net n = ∑ wj ,n ∗ oj j I Nun wird die Aktivität des Neurons (sein neuer Zustand) aus der Netzeingabe und dem Schwellwert berechnet: an = fact (net n , Θn ) I Aus der Aktivität wird die Ausgabe berechnet: on = fout (an ) 6 Neuronale Netze Künstliche Intelligenz 6.3 Ein einfaches Neuronenmodell Folie 6-12 (452) Aktivierungsfunktion Eine typische Aktivierungsfunktion ist die Schwellwertfunktion: fact (x , Θ) = fSchwellwert (x , Θ) = 1, falls x ≥ Θ 0, sonst Als Ausgabefunktion verwendet man meistens die Identität. Mit diesen 2 Funktionen erfolgt eine Ausgabe also genau dann, wenn die Summe der gewichteten Eingaben den Schwellwert erreicht: on = 1 ⇐⇒ ∑ wj ,n ∗ oj j ≥ Θn 6 Neuronale Netze Künstliche Intelligenz 6.3 Ein einfaches Neuronenmodell Folie 6-13 (453) Neuronales Netz Ein neuronales Netz I besteht aus einer endlichen Anzahl von Knoten (Neuronen), I die miteinander verknüpft sein können. I I.allg. gibt es nicht nur einen Ausgang von einem Neuron zu einem anderen, sondern einen Ausgang, der Signale zu mehreren Neuronen aussendet. I Verknüpfungen als Matrix darstellbar. I matrix ij . . . Verbindungsgewicht von Neuron i nach j (wi ,j ) I Ist der Wert 0, besteht keine Verbindung. I Die Verbindung ist gerichtet, d.h. von i nach j. 6 Neuronale Netze Künstliche Intelligenz 6.3 Ein einfaches Neuronenmodell Folie 6-14 (454) kNN für Logisches Oder Gewicht = 1 Gewicht = 1 Schwellwert = 1 Abb. 63: kNN für Logisches Oder 6 Neuronale Netze Künstliche Intelligenz 6.3 Ein einfaches Neuronenmodell Folie 6-15 (455) Typische Vertreter FeedForward-Netze keine Quer- oder Rückwärtsverbindungen Rekurrente Netze Neuronen haben auch Verbindungen zu sich selbst. Vollständige Netze Jedes Neuron ist mit jedem verknüpft. 6 Neuronale Netze Künstliche Intelligenz 6.3 Ein einfaches Neuronenmodell Folie 6-16 (456) XOR-Funktion Beispiel 6.1 (XOR) 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0 -1 1 0 0 0 0 0 1 1 0 Schwellwerte jeweils 1. Abb. 64: kNN für XOR 6 Neuronale Netze Künstliche Intelligenz 6.3 Ein einfaches Neuronenmodell Folie 6-17 (457) Neuronen-Arten Bemerkung 6.1 (Neuronen) Die Neuronen kann man unterteilen in: I Input-Neuronen: Eingabeschicht I Output-Neuronen: Ausgabeschicht I hidden Neuronen: die Neuronen der Zwischenschichten 6 Neuronale Netze Künstliche Intelligenz 6.4 Verallgemeinertes Modell Folie 6-18 (458) Verallgemeinertes Modell I Unser kNN-Modell arbeitet in Zeittakten. I Folglich müssen wir den aktuellen internen Zustand eines Neurons speichern. I Jedes Neuron hat zu jedem Zeitpunkt t einen Aktivierungsgrad a(t). Damit müssen wir auch die Aktivierungsregel modifizieren: an (t + 1) = fact (t , a(t ), net , Θn ) 6 Neuronale Netze 6.4 Verallgemeinertes Modell Künstliche Intelligenz Folie 6-19 (459) Gewichte fact meistens nicht von t abhängig. fact aber abhängig von der Aktivierung a(t ) Gewichte w zeitabhängig, wenn man über die Gewichte lernt: 1. Erzeugen einer neuen Verbindung 2. Entfernen einer bestehenden Verbindung 3. Modifizieren eines Gewichtes 6 Neuronale Netze 6.5 Zusammenfassung (Neuronale Netze) Das sollten Sie wissen . . . Zusammenfassung 6.2 (Neuronale Netze) I Grundprinzip I Aufbau von NN I Einfache Architekturen I Einfache Lernregeln Künstliche Intelligenz Folie 6-20 (460) 6 Neuronale Netze Künstliche Intelligenz 6.6 Aufgaben Folie 6-21 (461) Aufgaben Aufgabe 6.1 (NN) Wie definiert man die logische Äquivalenz mit Hilfe eines NN? Das neuronale Netz soll also 2 Eingaben bekommen (0 oder 1 für FALSCH bzw. WAHR). Es soll entsprechend der Definition der logischen Äquivalenz 0 bzw. 1 liefern. 7 KI-Systeme Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis Einleitung Darstellung und Verarbeitung von Wissen Vages Wissen Prolog Problemlösung mittels Suche Neuronale Netze KI-Systeme 7 KI-Systeme Künstliche Intelligenz 19. Februar 2016 Inhaltsverzeichnis – Kapitel 7 KI-Systeme Planen Maschinelles Lernen Bildverarbeitung Verarbeitung von Sprache Expertensysteme Zusammenfassung (KI-Anwendungen) 7 KI-Systeme Künstliche Intelligenz Folie 7-1 (464) KI-Systeme Wenn man es versteht, dann ist es veraltet. Bitton’s Theorem über EDV Arthur Bloch, Murphy’s Law, 1981 7 KI-Systeme Künstliche Intelligenz 7.1 Planen Folie 7-2 (465) Planen Motivation: Simulieren eines Agenten, der folgende Aufgabenklassen zu erfüllen hat. I Planen von Aktionen (Produktionsplanung) I Planen von (räumlichen) Anordnungen I Konfigurieren von Produkten I ... Kernpunkt ist hier offenbar das Synthetisieren von Lösungen. 7 KI-Systeme Künstliche Intelligenz 7.1 Planen Folie 7-3 (466) Planen I Viele KI-Anwendungen: Klassifikationsprobleme I z.B. Beratungssysteme, Diagnosesysteme etc. I also i.allg. nicht kreativ I Planen kreativer Prozess 7 KI-Systeme Künstliche Intelligenz 7.1 Planen Folie 7-4 (467) Planen von Aktionen – Blocksworld Beispiel 7.1 (Blocksworld) Auf einer ebenen Fläche sind Quader gelagert, übereinander, nebeneindander. Aufgabe ist es, die Objekte nach bestimmten Vorgaben zu platzieren. Z.B. könnte die Aufgabe sein, einen bestimmten Quader auf einen anderen zu legen, dabei vorher die entsprechenden Quader leerzuräumen etc. Welche WR-Form würden Sie wählen? 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen 7.2.1 Generalisieren Generalisieren I Induktives Generalisieren I deduktives Lernen Folie 7-5 (468) 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-6 (469) 7.2.2 Discovery Learning Discovery Learning I Bisher: wenig Erfolge, da es um das Erfinden von Konzepten, Hypothesen etc. geht. I Es gibt Programme, die entdeckendes Lernen beinhalten. Meistens Mathematik. Beispiele: 1. Entdecken von Eigenschaften/Operationen auf natürlichen Zahlen (Multiplikation, Primzahlen etc.) 2. Entdecken von geometrischen Hilfskonstrukten bei geometrischen Beweisen 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen 7.2.3 Data Mining Data Mining I Weltweit stetig steigende Datenflut I Grobe Schätzungen: Verdoppelung alle 20 Monate I Daten über den initialen Zweck hinaus verwenden I Data Mining = Schürfen in Daten I Suche nach Mustern oder auffälligen Häufungen I Suche nach Beurteilungskriterien für vorgegebene Ziele I Ausführbar zu Zeiten schwacher Computerauslastung Folie 7-7 (470) 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-8 (471) 7.2.3 Data Mining Data Mining Ziel des DM: Analyse von großen Datenmengen (strukturiert oder unstrukturiert), um implizites Wissen, Zusammenhänge zu extrahieren. Querbezüge zu: I Datenbanken I Data Warehouses I Expertensysteme I Maschinelles Lernen I Statistik I Visualisierung 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-9 (472) 7.2.3 Data Mining ID3-Algorithmus zur Entscheidungsbaumgenerierung Nr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Zielattr. Risiko hoch hoch mittel hoch niedrig niedrig hoch mittel niedrig niedrig hoch mittel niedrig hoch Kredithistorie schlecht unbekannt unbekannt unbekannt unbekannt unbekannt schlecht schlecht gut gut gut gut gut schlecht Verschuldung Sicherheiten Einkommen hoch hoch niedrig niedrig niedrig niedrig niedrig niedrig niedrig hoch hoch hoch hoch hoch keine keine keine keine keine angemessen keine angemessen keine angemessen keine keine keine keine 0 bis 15 15 bis 35 15 bis 35 0 bis 15 über 35 über 35 0 bis 15 über 35 über 35 über 35 0 bis 15 15 bis 35 über 35 15 bis 35 Tabelle 11: Kreditrisiko 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-10 (473) 7.2.3 Data Mining Entscheidungsbaum 1 Kreditwürdigkeit ? unbekannt Verschuldung ? niedrig gut schlecht Sicherheit ? Verschuldung ? niedrig angemessen hoch keine hoch niedriges hohes Risiko Sicherheit ? Risiko Sicherheit ? mittleres Risiko hohes Risiko angemessen keine keine angemessen Einkommen ? niedriges Risiko Einkommen ? niedriges Risiko 0−15 über 35 15−35 0−15 über 35 15−35 niedriges Risiko hohes Risiko mittleres Risiko mittleres Risiko hohes Risiko niedriges Risiko Abb. 65: Entscheidungsbaum 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-11 (474) 7.2.3 Data Mining Entscheidungsbaum 2 Einkommen ? 0−15 hohes Risiko unbekannt 15−35 Kreditwürdigkeit ? schlecht gut über 35 Kreditwürdigkeit ? unbekannt gut niedriges Risiko niedriges Risiko hohes Risiko schlecht mittleres Risiko Verschuldung ? mittleres Risiko hoch niedrig hohes Risiko mittleres Risiko Abb. 66: Entscheidungsbaum 2 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-12 (475) 7.2.3 Data Mining Entscheidungsbaum Welcher Baum ist für die Klassifikation der unbekannten Datensätze optimal? I Der ID3-Algorithmus unterstellt, dass dies der einfachste Baum ist. 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-13 (476) 7.2.3 Data Mining FUNCTION induce_tree(Beispielmenge, Attribute) IF alle Beispiele gehoeren zur gleichen Klasse THEN RETURN Blattknoten mit Beschriftung dieser Klasse ELSE Waehle ein Attribut P aus Beispielmenge; Setze P als Wurzel fuer den aktuellen Baum; Loesche P aus Attribute; FOREACH Wert V von P Erstelle Kante im Baum mit Kantenbeschriftung V; Seien P_V alle Elemente von Beispielmenge, die als Wert fuer P gerade V haben; Baumknoten := induce_tree(P_V,Attribute); END FOREACH; END IF; END. Abb. 67: Algorithmus – ID 3 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-14 (477) 7.2.3 Data Mining Auswahl eines geeigneten Attributs ? I Grundlage: Informationstheorie I Wahl des Attributs, das den größten Informationsgewinn liefert. Der Informationsgehalt eines Attributs E wird gemessen als: n I (E ) = ∑ −p(ei ) ∗ log2 (p(ei )) i =1 I ei . . . mögliche Werte des Attributs E I p . . . Wahrscheinlichkeit für das Eintreffen von ei . 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-15 (478) 7.2.3 Data Mining Informationsgehalt der Kredit-Tabelle 6 14 3 = 14 I p(Risiko hoch) = I p(Risiko mittel) I p(Risiko niedrig) = 5 14 Folglich ist I (Tabelle) = − 6 14 ∗ log2 ( 6 14 )− 3 14 ∗ log2 ( 3 14 )− 5 14 ∗ log2 ( 5 14 ) = 1, 531 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-16 (479) 7.2.3 Data Mining Welches Attribut? I Nun wählt man das Attribut (Eigenschaft) aus, I das den maximalen Informationsgewinn erzielt. I D.h. man berechnet die Differenz aus I (Tabelle) und der Information, die sich für die nächste Ebene ergibt. 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-17 (480) 7.2.3 Data Mining Welches Attribut? I Sei eine Beispielmenge C gegeben. I Wählt man z.B. das Attribut E mit n Werten aus, so wird C in n Teilmengen zerlegt: {C1 , . . . , Cn ). I I E als Wurzel des Baums Zur Baum-Fertigstellung voraussichtlich erforderliche Informationsmenge: n G (E ) = |Ci | ∑ |C | I (Ci ) i =1 Gewinn an Information: gewinn(E ) = I (C ) − G(E ) Es gilt, „gewinn“ zu maximieren. Man probiert alle Attribute und wählt jenes mit dem maximalen Gewinn. 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-18 (481) 7.2.3 Data Mining ID 3 und Informationsgewinn I Wählen zunächst Kredithistorie als Attribut. I Kredithistorie hat 3 Ausprägungen: unbekannt, schlecht, gut. I Für jeden Wert zählen wir, wie oft welches Risiko vorkommt: Wert unbekannt schlecht gut hohes Risiko 2 3 1 mittleres Risiko 1 1 1 niedriges Risiko 2 0 3 I (Kreditw_unbek) = − 25 × log2 ( 25 ) − 15 × log2 ( 15 ) − 25 × log2 ( 25 ) = 1, 52 I (Kreditw_schlecht) = − 43 × log2 ( 34 ) − 14 × log2 ( 14 ) = 0, 81 I (Kreditw_gut) = − 15 × log2 ( 15 ) − 15 × log2 ( 51 ) − 35 × log2 ( 35 ) = 1, 37 n |E | G(Kredithistorie) = ∑ |Ei| I (Ei ) = i =1 5 4 × 1, 52 + 14 14 5 × 0, 81 + 14 × 1, 37 = 1, 265 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-19 (482) 7.2.3 Data Mining ID 3 und Gain-Berechnung Abb. 68: Gain-Berechnung 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-20 (483) 7.2.3 Data Mining ID 3 – Beispiel I I I I gewinn(kredithistorie) = 1, 531 − 1, 265 = 0, 266 gewinn(einkommen) = 1, 531 − 0, 564 = 0, 967 gewinn(verschuldung) = 1, 531 − 1, 468 = 0, 063 gewinn(sicherheiten) = 1, 531 − 1, 325 = 0, 206 Man wählt nun „einkommen“ als obersten Knoten, da der Gewinn dort am größten ist, und setzt das Verfahren für jeden Teilbaum rekursiv fort. 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-21 (484) 7.2.3 Data Mining Fortsetzung für Zweig einkommen=15-35 I nur noch die Datensätze, wo einkommen=15-35 gilt I Spalte für Einkommen eigentlich nun unnötig Nr. 2 3 12 14 Zielattr. Risiko hoch mittel mittel hoch Kredithistorie unbekannt unbekannt gut schlecht Verschuldung hoch niedrig hoch hoch Tabelle 12: Kreditrisiko Sicherheiten keine keine keine keine Einkommen 15 bis 35 15 bis 35 15 bis 35 15 bis 35 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen Folie 7-22 (485) 7.2.3 Data Mining Informationsgehalt der reduzierten Kredit-Tabelle 2 4 = 24 I p(Risiko hoch) = I p(Risiko mittel) I p(Risiko niedrig) = 0 4 Folglich ist I (Risiko) = 2 2 2 2 0 0 I (Tabelle2) = − × log2 ( ) − × log2 ( ) − × log2 ( ) = 1 4 4 4 4 4 4 7 KI-Systeme Künstliche Intelligenz 7.2 Maschinelles Lernen 7.2.3 Data Mining Attribut mit maximalem Informationsgewinn Nun wählt man wieder das Attribut aus, das den maximalen Informationsgewinn erzielt. I I I gewinn(kredithistorie) = 1 − 0, 5 = 0, 5 gewinn(verschuldung) = 1 − 0, 6887 = 0, 3113 gewinn(sicherheiten) = 1 − 1 = 0 Man wählt folglich „kredithistorie“ als nächsten Knoten, da der Gewinn dort am größten ist. Folie 7-23 (486) 7 KI-Systeme Künstliche Intelligenz 7.3 Bildverarbeitung Folie 7-24 (487) Bildverarbeitung I Bisher: Erforderliche Informationen liegen bereits in geeigneter Form vor. I Dies ist jedoch häufig nicht der Fall, z.B. bei Bildern. I Zunächst geeignete Information extrahieren. Bildverarbeitung – Anwendungen: I Dokumenterkennung (Schriftzeichenerkennung, Ausweis-Lesegeräte, Auto-Nummernschilder etc.) I Analysieren von räumlichen Anordnungen (Navigationssysteme) I Analysieren von medizinischen Aufnahmen (Knochenbrüche) I Analysieren von Satellitenbildern (Wettervorhersage) 7 KI-Systeme Künstliche Intelligenz 7.3 Bildverarbeitung Folie 7-25 (488) Bildverarbeitung – Probleme I Die Bilder sind häufig verrauscht (unscharfe Kanten). I Die Bilder sind meist gestört (Kanten werden durch andere Gegenstände unterbrochen). I Ein Bild enthält i.allg. sehr viele Informationen (Komplexität). I Abbildung von 3-dimensionalen Sachverhalten in 2-dimensionalen Bildern → eventuell mehrere Interpretationsmöglichkeiten 7 KI-Systeme Künstliche Intelligenz 7.3 Bildverarbeitung Folie 7-26 (489) Typisches Vorgehen 1. Digitalisierung des Bildes (z.B. Grauwerte) 2. Low-level-processing I I Rausch-Behandlung (z.B. Glätten von kleinen Bildausschnitten) Erkennen von low-level-Strukturen (z.B. Kanten) 3. Segmentierung (z.B. Trennen von Kanten, die im Bild durchgehend sind, aber nicht in der Realität) 4. 3D-Erkennung (z.B. Erkennen von konvexen und konkaven Kanten) 7 KI-Systeme 7.4 Verarbeitung von Sprache Künstliche Intelligenz Folie 7-27 (490) Verarbeitung von Sprache 1. Bearbeiten der Signale (Umwandeln in Wörter) 2. Syntaktische Analyse (Erkennen der Sätze, Nebensätze, Subjekt, Prädikat etc.) 3. Semantische Analyse (Inhaltliche Analyse der Sätze, Ausschließen von Resultaten der syntaktischen Analyse, z.B. beim Erkennen von Subjekt, Objekt, Doppelbedeutungen von Wörtern aus dem Kontext) 4. Pragmatische Analyse (Verstehen der Sätze, Zusammenhänge etc.) 7 KI-Systeme Künstliche Intelligenz 7.4 Verarbeitung von Sprache Folie 7-28 (491) Verarbeitung von Sprache Ein−/Ausgabedaten Verarbeitungsstadium andere verwendete Daten Spracherkennung Frequenzspektrogramm syntaktische Analyse Grammatik der Sprache semantische Analyse Bedeutung der Wörter Frequenzspektrogramm Wortsequenz "Er liebt Hansa Rostock" Satzstruktur Er liebt Hansa Rostock teilweise Bedeutung Ex x: liebt(x,hansa) Kontext der Äußerung Pragmatik Satzbedeutung liebt(lutz,hansa) Abb. 69: Sprachverarbeitung 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-29 (492) Charakterisierung von Expertensystemen Expertensysteme sind Computerprogramme mit dem Ziel der Simulation des Problemlösungsverhaltens von Experten. Charakteristisch ist, dass in Expertensystemen I eine explizite Wissensrepräsentation erfolgt, und dass I eine Verarbeitungskomponente existiert. Synonym für Expertensysteme (ES): Wissensbasierte Systeme. 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-30 (493) 7.5.1 Expertensysteme im Einsatz Expertensysteme im Einsatz DENDRAL Identifikation von Molekülen mittels Massenspektrogrammen MYCIN Diagnose/Therapie von bakteriellen Infektionskrankheiten des Blutes PUFF Diagnose/Therapie von Lungenkrankheiten XCON Konfigurierung von Rechnern (Prozessoren, Plattengröße, periphere Geräte, . . . ) IXMO Diagnosesystem für defekte Motoren ... 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme 7.5.2 Einsatzgebiete von Expertensystemen Einsatzgebiete von Expertensystemen I Firmengründungsberatung (Rechtsform, Standort, . . . ) I Investitionsplanung I Produktionsplanung und -steuerung I Lieferplanung, Logistik I Design-/Konstruktionsplanung I Technische Analyse- & Diagnose-Systeme I Kaufberatung I Juristische Beratung I Auskunfts- & Buchungssysteme I Ausbildung & Training Folie 7-31 (494) 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-32 (495) 7.5.2 Einsatzgebiete von Expertensystemen Aufgabe Aufgabe 7.1 (Wissensbasierte Systeme) Recherchieren Sie nach aktuellen Expertensystemen (wissensbasierten Systemen). 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-33 (496) 7.5.3 Klassifizierung der Einsatzgebiete Klassifizierung der Einsatzgebiete I Diagnose – Fehlersuche I Überwachung – Vergleich von IST- und SOLL-Werten I Design – Konfigurierung von Objekten I Planung – Aktionsfolgen-Planung mit einem bestimmten Ziel I Vorhersage – Finden von möglichen Konsequenzen aus gegebener Situation Also: 3 Typen von Expertensystemen: I Diagnostische Expertensysteme I Konstruktive Expertensysteme I Expertensysteme zur Simulation 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-34 (497) 7.5.4 Anforderungen an ein Expertensystem Anforderungen an ein Expertensystem Expertensysteme müssen bestimmte Eigenschaften erfüllen, da sie z.B. in sicherheitskritischen Bereichen eingesetzt werden. I Transparenz – ihre Arbeitsweise muss nachvollziehbar und klar sein I Flexibilität – sie müssen flexibel reagieren können I Benutzerfreundlichkeit I Kompetenz – sie müssen ihr Fachgebiet „beherrschen“ 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-35 (498) 7.5.5 Aufbau von Expertensystemen Aufbau von Expertensystemen Expertensysteme genügen der generellen Architektur eines KI-Systems, d.h es erfolgt eine Trennung von: I Wissensbasis und I der Verarbeitungs-/Problemlösungskomponente Dabei trennt man das Wissen in I allgemeines Fachgebietswissen I Fall-spezifisches Wissen 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-36 (499) 7.5.5 Aufbau von Expertensystemen Aufbau von Expertensystemen Expertensysteme haben also folgenden Aufbau: I WR/WV-Komponente I Wissensrepräsentationskomponente I I I I allgemeines Wissen Fall-spezifisches Wissen Problemlösungs-/Verarbeitungskomponente Benutzerschnittstelle I I Wissenserwerbs-Komponente Erklärungskomponente 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-37 (500) 7.5.5 Aufbau von Expertensystemen Aufbau von Expertensystemen Wissensakquisition User Interface Erklärungskomponente Inferenzmaschine allgemeines Fachwissen Wissensbasis Fall−spezifisches Wissen Abb. 70: Architektur eines Expertensystems 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-38 (501) 7.5.5 Aufbau von Expertensystemen Expert system shell Wichtiger Aspekt der Expertensystem-Architektur: I Wissensbasis im Prinzip austauschbar I Expertensystem ohne Wissensbasis: Expert system shell I Beispiel: EMYCIN (ging aus MYCIN hervor) 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-39 (502) 7.5.5 Aufbau von Expertensystemen Wissenserwerbs-Komponente Probleme: I Experte verfügt i.allg. nicht über (abstrakte) allgemeine Regeln. I Klare Strukturierung des Fachgebietes oft erst während der ES-Entwicklung I Während der Wissensgewinnung ist i.allg. Abstraktion erforderlich. 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-40 (503) 7.5.5 Aufbau von Expertensystemen Wissenserwerbs-Komponente Techniken zum Wissenserwerb: I Interviews I Strukturierter Wissenserwerb 1. Fachbegriffe (z.B. Namen von Krankheiten) klären 2. Begriffsklassen für Problemlösung (z.B. Symptome, Diagnose, Therapie) definieren 3. Problemlösungsstrategien erkennen und in das System einbauen 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-41 (504) 7.5.5 Aufbau von Expertensystemen Aufgaben eines Knowledge Engineer Fachexperte Dialog Knowledge Engineer Transformation Wissensbasis Abb. 71: Aufgaben eines Knowledge Engineer 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-42 (505) 7.5.5 Aufbau von Expertensystemen Benutzerschnittstelle Anforderungen: I Kurze Reaktionszeiten I Leichte Handhabbarkeit und Erlernbarkeit I Hohe Toleranz bei fehlerhaften Eingaben Standard-Techniken: I Menüs I Eingabemasken I Kommandosprachen I Natürlichsprachliche Eingabe 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-43 (506) 7.5.5 Aufbau von Expertensystemen Erklärungskomponente Aufgabe: Transparenz der Problemlösung Probleme: I Ausgabe aller Schritte zur Problemlösung i.allg. zu komplex. I Welche Schritte bei der Problemlösung sind „interessant“? I Regeln können zu kompakt sein. Techniken: I direkte Erklärung (aus Programmcode der Problemlösungskomponente) I indirekte Erklärung (aus dem Wissen des Experten) 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-44 (507) 7.5.5 Aufbau von Expertensystemen Wissensbasis/Verarbeitungskomponente Aufgabe: Darstellung und Verarbeitung von „Wissen“ I Prädikatenlogik I Regelsysteme I Frames I ... 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-45 (508) 7.5.5 Aufbau von Expertensystemen Wissensbasis/Verarbeitungskomponente Probleme: I Welche Form der Wissensrepräsentation ist adäquat für das Fachgebietswissen? I Ist die gewählte WR-Sprache ausdrucksstark genug? I Gibt es für die gewählte WR-Sprache effiziente Verfahren, die das Wissen verarbeiten können? I Wie kann man verschiedene WR-Formen kombinieren? 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-46 (509) 7.5.6 Potential und Grenzen von Expertensystemen Potential von Expertensystemen I Entlastung von Experten I Expertenwissen konservierbar & transferierbar I Expertenwissen permanent verfügbar I Keine (z.B. Stress-bedingte) Fehleranfälligkeit I Expertenwissen wird billiger I Erfolgreich in gut strukturierten, komplexen, abgegrenzten Gebieten 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-47 (510) 7.5.6 Potential und Grenzen von Expertensystemen Potential von Expertensystemen – 2 I Erkenntnisgewinnung bei der Extraktion des Expertenwissens I Hohe Flexibilität (Modifizierbarkeit, Erweiterbarkeit, Einsatz in anderen Gebieten mit ähnlicher Struktur) durch den modularen Aufbau I Transparenz durch Erklärbarkeit bzw. Wiederholbarkeit von Problemlösungen I Hohe Problemlösungsgeschwindigkeit trotz einer großen Informationsmenge 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-48 (511) 7.5.6 Potential und Grenzen von Expertensystemen Grenzen und Defizite von Expertensystemen I Expertensystem hat kein „Verständnis“ für Problembereich I Expertensystem hat kein Allgemeinwissen, kein Randgebietswissen I Expertensysteme können sich nicht auf neue Situationen einstellen I Aufbereitung der Informationen durch den Benutzer i.allg. erforderlich. 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-49 (512) 7.5.6 Potential und Grenzen von Expertensystemen Grenzen und Defizite von Expertensystemen – 2 I Kaum einsetzbar in schlecht strukturierten Gebieten I Expertensysteme sind (bis jetzt) nur sehr beschränkt lernfähig I Leistungsstärke hängt von der Problemlösungskomponente ab, d.h. Expertensysteme sind nur sinnvoll, wenn es für das Fachgebiet adäquate Problemlösungskomponenten gibt. I Benutzerakzeptanz leidet oft unter der Qualität der I I I Wissenserwerbskomponente, Erklärungskomponente und der Benutzerschnittstelle. 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-50 (513) 7.5.6 Potential und Grenzen von Expertensystemen Vergleich ES – menschlicher Experte – konv. Programm Experte ES konventionelles Programm feste Algorithmen Nutzt Daumenre- symbolisches geln und Heuristi- Schließen ken arbeitet in eingegrenzten Problembereichen Nutzt Allgemeinwis- – – sen Wissen compiliert Wissen symbo- Wissen und Kontrolloder als NN lisch repräsentiert, strukturen in einem getrennt von Verarbeitung 7 KI-Systeme Künstliche Intelligenz 7.5 Expertensysteme Folie 7-51 (514) 7.5.6 Potential und Grenzen von Expertensystemen Vergleich ES – menschlicher Experte – konv. Programm Experte kann Entscheidung erklären ES kann Entscheidung erklären, aber nur den Entscheidungsprozess arbeitet auch mit unvollständigem und vagem Wissen kann bei unvollständigem/vagem Wissen Fehler machen lernt über die Jahre I. allg. Lernen durch neue Fakten/Regeln konventionelles Programm i.allg. keine Erklärung möglich nur exaktes und vollständiges Wissen dann i.allg. keine Lösung Lernen i. allg. nur durch Codeänderung 7 KI-Systeme Künstliche Intelligenz 7.6 Zusammenfassung (KI-Anwendungen) Folie 7-52 (515) Das sollten Sie wissen . . . Zusammenfassung 7.1 (KI-Anwendungen) I Grober Überblick über Anwendungsklassen I Data Mining (insb. Entscheidungsbäume) I Expertensysteme / Wiss.bas. Systeme I Sprach- und Bildverarbeitung 8 Literatur Künstliche Intelligenz Folie 8-53 (516) Literatur Uwe Lämmel, Jürgen Cleve. Künstliche Intelligenz. Hanser, 2012. Heiner Stuckenschmidt. Ontologien. Springer, 2011.
© Copyright 2024 ExpyDoc