Zusammenfassung KI (von Marco Piroth) Definition: KI ist das Teilgebiet der Informatik, das sich damit beschäftigt, menschliche, intelligente Verhaltensweisen auf einer Maschine nachzuvollziehen. Softwaretechnische Methoden: z.B.: OO, Studium von Prototypen, kontinuierliche Weiterentwicklung (exploratives Programmieren) Anwendungsgebiete der KI: Schlussfolgerung Deduktive Systeme Sehen Bildverstehende Systeme Hören Spracherkennung Lesen Sprachverarbeitung Bewegen Robotik Lehren Tutorielle Systeme Sprechen Sprachgenerierung Merken Wissensrepräsentation Lernen Wissensakquisition KI-Methoden: Überführung von Eingabedaten in die interne Wissensrepräsentation Repräsentation von Wissen Such- und Inferenzprozesse über Wissensstrukturen Organisationsstrukturen für kognitive Systeme Turing-Test: Experte führt abwechselnd Dialog mit einem Menschen und einem KI-System, ohne zu wissen, welche Leitung wer ist. Gelingt es dem Experten nicht, das KI-System gegenüber dem Menschen eindeutig zu identifizieren, hat das KI-System den Turing-Test bestanden. Chinesisches Zimmer: Kann man ein System bauen, das nur durch formale Interpretation, ohne ein wirkliches tiefes Verständnis der realen Welt menschliches intelligentes Verhalten realisiert? Nein, da man nicht in unendlich viele Meta-Ebenen gehen kann. Das MIN-MAX-Verfahren: Beteiligt: 2 nichtkooperative Aktoren Suchgraph meist extrem groß (Schach: 35100) heuristische Suche nach vollständigem Lösungsweg aussichtslos. daher: Bewertung des nächsten Handlungsschrittes (Vorausschau & einige Züge bewerten) Annahmen bei Min-Max: der jeweilige Gegenspieler entscheidet sich immer für seinen besten Zug (nach MM) Nachteile: - Zahl als Positionsbewertung ist wenig aussagekräftig (wie ist sie entstanden?) - Hoher Aufwand: alle möglichen Nachfolger erzeugen und Pfade berechnen Modelle und Verfahren: Suche in Bäumen: große Komplexität durch kombinatorische Explosion. TI: Bäume mit exponentieller Komplexität mit polynomiellem Aufwand berechnen. KI: Verzicht auf die beste Lösung, Faustregeln (Heuristiken) s. Handelsreisender allgemein (schwach) problemspezifisch (stark) z.B. Bestensuche, Tiefensuche mit Backtracking, Breitensuche, Bergsteigen konventionelle Informatik: Algorithmus KI: deklarative Sicht des Problems konventionelle Problemlösung: Daten - Problemanalyse - Problem beschreiben - Problem lösen (Algorithm) - Lösungsweg kodieren Rechner Ergebniss Programm Wissensbasierte Problemlösung: Fakten - Problem analysieren - Problem darstellen - Wissen sammeln - Wissen darstellen Schlußfolgerungsmaschine Problemlösung Formale Problembeschreibung: 1. Definition eines Zustandsraumes, der alle möglichen Konfigurationen der relevanten Objekte enthält 2. Festlegung von Anfangszuständen 3. Festlegung von Endzuständen 4. Angabe einer Menge von Regeln, die die verfügbaren Tätigkeiten (Operatoren) beschreiben. Die Regeln sollen einen Zustand des Raums in einen anderen überführen Formale Unterschiede: Datenverarbeitung Ausgangspunkt: Verarbeitung von Zahlen Wenige Datentypen, viele Instanzen Strukturiertes Programmieren Verarbeitungsablauf ist explizit festgelegt Nur vollständige Programme können abgearbeitet werden C, Pascal... normale PC’s Wissensverarbeitung Ausgangspunkt: Verarbeitung symbolischer Ausdrücke Viele Strukturtypen, wenige Instanzen Exploratives Programmieren Verarbeitungsablauf durch Anwendung von Regeln implizit oder gar nicht vorgegeben Verarbeitung unvollständiger Strukturen ist möglich Lisp, Prolog, Smalltalk hochauflösende BS, Fenster, Maus Inhaltliche Unterschiede: Datenverarbeitung KI monotone, strukturierte, definierte Prozesse komplexe Prozesse, diffuses Wissen Systementwickler schreibt mit Wissen Prog. Wissen transferieren in KI-System nur Programmierer kann den Prozess erklären KI-System kann Prozess erklären Verarbeitung homogen strukturierter Massendaten bei formaler Spezifikation Korrektheitsbew. Heuristiken, diffuses Wissen kein KorBew. Komplexität: Umfang der Datenmenge Reichhaltigkeit der Wissens-Strukturen Probleme bei Suchverfahren: Suchrichtung: vorwärts rückwärts (Verzweigungsfaktor beachten!) Topologie des Baumes: Graph, Wiederholungen vermeiden Wissensdarstellung in Knoten: Fortschreibung des Wissen von Knoten zu Knoten Auswahl der Regel: Konfliktmenge (anwendbare Regeln) wegen Komplexität nicht immer bestimmbar Heuristiken: stark schwach Allgemeinheuristiken: 1. Tiefensuche 2. Tiefensuche mit Backtracking 3. Breitensuche in KI unmöglich, da Graphen zu groß sind 4. Bidirektionale Suche Start- und Zielzustand gleichzeitig (Probleme reduzieren) 5. Erzeugen und Prüfen Weg erzeugen -> Zielzustand? -> bis Lösung gefunden (Lotto) 6. Problemreduzierung: UND-ODER-Graph 7. Beschränktheitserfüllung Lösung = Menge von Einschränkungen 8. Auffinden von stabilen Zuständen (ich fahr nach Frankfurt, dann seh’ ich weiter) 9. Blinde Suche in jedem Zustand: wähle erfolgsversprechensten Weg Bergsteigen 10. Bestensuche Strategien der Abbildung der realen Welt in einem Computer: closed world assumption (Annahme einer geschlossenen Welt) was sich nicht beweisen lässt, ist falsch default reasoning (Schließen mangels besseren Wissens) wenn PC was nicht weiß, schließt er aus anderen Wissenseinheiten (Pinguin) Abhilfe: nicht-monotone Logik common sense reasoning (gesunder Menschenverstand, Alltagswissen) zusätzliche Infos aus Mitteilungen herleiten Formen menschlichen Wissens: statisches Wissen dynamisches, aktives Wissen oberflächliches, diffuses Wissen Spezialwissen heuristisches Wissen: hierarchische Struktur prozedurales Wissen: Rezept deklaratives Wissen: Daten ( = 3,14) Wissensrepräsentationsformalismen: 1. Natürliche Sprache große Ausdruckskraft, Redundant, Kontext/ Hintergrundwissen 2. Logik Terme und Formeln, Rückwärtsverkettung *1 3. Produktionsregeln mit Vorbedingungen versehene Aktionen, Vorwärtsverkettung 4. semantische Netze Konzepte (Knoten) die in Beziehung stehen (Kanten) ISA, HASA, CD-Graphen 5. Frames 6. analoge Repräsentation nicht-symbolische Darstellung, keine formale Interpretierbarkeit 7. Skripts (Drehbücher) komplexe Aktionen, Sequenz von Ereignissen mit Zusammenhang *1: Resolutionsverfahren: gegeben: Menge von Aussagen, logisch verknüpft Ziel: Bewies einer neuen Aussage / Behauptung 1. Überführen in kognitive Normalform 2. Negiere Behauptung 3. Schleife: Beginne mit der negierten Behauptung, kombiniere mit anderen Aussagen Resolvente bis leere Resolvente KI-Programmiersprachen: einfache Syntax Symbole, nicht Zahlen stehen im Vordergrund keine Datentypen keine Unterscheidung zwischen Daten und Anweisungen LISP (List Processing): Es gibt Atome (Wörter) und Listen, Listen können ausgewertet und so als Funktionsaufrufe interpretiert werden. Prolog (Programing with Logic): Der Benutzer gibt nur Fakten und Regeln ein, der Rechner leitet neues Wissen daraus ab und versucht eine Problemlösung mithilfe dieses Wissens zu finden. Smalltalk (objektorientiert): Programmierung mit Klassen und Objekten. Senden von Nachrichten über Methoden-Aufrufe. Anwendungsgebiete der KI-Programmierung: Expertensysteme Büro Natürlichsprachliche Systeme Bilderkennung Industrielle Fertigung Robotik Anforderungen an Expertensysteme: Erkennen fachspezifischer Aufgabenstellungen und Formulierung in Fachsprache Korrekte und vollständige Problemlösung Verständliche Formulierung für den Kunden Erklärung des Losungsweges Hilfe bei der Anwendung der Lösung Aufgabengebiete: Interpretation, Diagnose, Planen, Konstruktion, Beweisen, Tutoring Architektur eines Expertensystems: Benutzer Dialogkomponente Erklärungskomponente Problemlösungskomponente Dialogwissen Wissensbasis Problemlösungsmethoden: Klassifikation (Diagnose) Konstruktion (Beschränktheitserfüllung) Simulation Wissensakquisitionskomponente
© Copyright 2024 ExpyDoc