se:wissensverarbeitung
**Dies ist eine alte Version des Dokuments!**
Wissensverarbeitung
SHRDLU (offizielle Seite mit grafischem Java-Programm)
Lernziele
Einleitung
Was bedeutet Wissensverarbeitung?
Was unterscheidet Wissensverarbeitung von Datenverarbeitung?
Warum und wozu ist diese andere Art der Computerprogrammierung erforderlich?
Welche grundsätzlich unterschiedlichen Systeme gehören dazu?
Wie sind diese aufgebaut und wie arbeiten sie?
Wissen
Woraus besteht Wissen?
Wie kann man Wissen strukturieren und darstellen?
Wie kann man Wissen in formalen Sprachen formulieren?
- Wie kann man mit Wissen Probleme lösen?
Was ist ein Zustandsraum?
Wie kann man daraus einen Zustandsbaum machen?
Welche Suchverfahren im Zustandsbaum gibt es?
Was ist Backtracking und wofür benötigt man es?
Was ist eine Heuristikfunktion und insbesondere eine A-Heuristik?
Was ist ein UND-ODER-Baum?
Wie funktioniert Rekursion und warum ist sie für das Problemlösen wichtig?
- Expertensysteme
Aus welchen Komponenten ist ein Expertensystem aufgebaut?
Wofür kann man es anwenden?
Welche Arbeit muss dabei der Mensch übernehmen?
Welche klassischen Beispiele gibt es?
Warum sind Schachcomputer so schlecht?
Was ist eine Inferenzmaschine?
Wie kann man ein Expertensystem realisieren?
- Expertensystem-Implementierung in Prolog
Wie kann Wissen verschiedener Art in Prolog formuliert werden?
Welche inneren Vorgänge werden beim Bearbeiten eines Goals bearbeitet?
Wie geht man mit Listen um?
Wie erstellt man ein Prolog-Programm mit SWI-Prolog, bringt es zum Laufen und testet es?
Wie nutzt man die Standardprädikate sinnvoll?
Wie implementiert man ein Planungssystem in Prolog?
Wie implementiert man ein Beratungs- oder Diagnosesystem in Prolog?
Für welche anderen Aufgaben kann Prolog eingesetzt werden?
Zusammenfassung des Skripts
Einleitung
Wissen
Wie kann man mit Wissen Probleme lösen?
Denkansätze
Suche im Zustandsraum
Suche nach dem optimalen Weg durch einen gerichteten Graphen, der alle Zustände des Systems als Knoten und alle Operatoren als Kanten enthält
Umwandlung in Zustandsbaum durch Verbieten bereits besuchter Zustände
Suchverfahren
Tiefensuche
Backtracking
* Breitensuche
* Least-Cost-Suche
* Heuristische Suche / Best-First-Suche
* **A-Heuristik**: Heuristik (Schätzfunktion), die die Summe des bisherigen Aufwands mit einer Schätzung für den Restaufwand verbindet
* Problemreduktion
Zerlegung des Problems in Teilprobleme, bis Teilprobleme direkt aus der Wissensbasis lösbar sind
Darstellung als UND-ODER-Baum
Auf ODER-Knoten können wieder die obigen Suchverfahren angewandt werden
Rekursion
Expertensysteme
Definition: System, das nach Eingabe des Wissens eines Experten, Probleme aus dem Fachgebiet dieses Experten selbstständig lösen kann.
Die Bestandteile des Systems können standardisiert werden.
* {{:se:aufbauexpertensystem.jpg|Aufbau eines Expertensystems}}
* Anwendungsbereiche
Planungssysteme
Diagnosesysteme
Beratungssysteme
Transformation von Informationen zu Wissen ist dem Menschen vorbehalten
Expertensystem-Implementierung in Prolog
Prolog
deklarative Programmiersprache
* Wissensdarstellung
* Prädikatenlogik
* Meta-Wissen: Problemlösungsverfahren
* Problemlösungsmechanismen
* Rückwärtsverkettung
* Rekursion
* Tiefen-/Breitensuche
* Backtracking
* Pattern Matching
* Unifikation von Variablen
* Syntax
Variablen: großer Anfangsbuchstabe, Konstanten: kleiner Anfangsbuchstabe, anonyme Variable: _
Arity: Anzahl der Parameter eines Prädikats
Goal ist eine Anfrage an das Programm
Unifikation/Bindung von Variablen
Box-Modell: call, redo, exit, fail
Standardprädikate
write, nl, writenl
asserta, assertz, assert, retract, abolish
fail, cut
member, sort, msort, reverse, append
findall
ToDo
Informationen zu Systemen: MYCIN, EMYCIN, PUFF, XCON, PROSPECTOR, MOVER, SHRDLU, Ham-RPM, ELIZA
Expertensystemshells: NEXPERT Object, Smart Elements, KEE, EMYCIN, TWAICE
se/wissensverarbeitung.1215887067.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)