fit 2002 > Expertensysteme > Konzepte und Techniken

Überblick


Darstellung der Konzepte in ihren wesentlichen Grundzügen

Abbildung 2:
\includegraphics[bb = 0 0 543 435, scale=0.75]{others/fvit2Fig1.eps}

Die Basis von Expertensystemen sind vier Grundlegende Konzepte, nämlich Heuristiken, Wissensrepräsentation, Schlussfolgerungs- und Erklärungssystem.
Mit ihren Hilfe kann ein System aufgebaut werden, das die nötigen Algorithmen besitzt um Wissen zu sammeln und zu verstehen, das Wissen speichern und verknüpfen kann und das aus bestehendem Wissen neues generieren und erklären kann.

Heuristiken

Heuristiken sind eine Basis für die Entwicklung von künstlicher Intelligenz. Sie stellen die Methode dar, um Probleme zu lösen. Heuristiken tun dies mittels Versuch und Irrtum. Hilfreich bei der Problemlösung ist Wissen über das zu erreichende Ziel.

Im vergleich zu der auf Algorithmen und ihren genauen Abläufen basierenden konventionellen Softwareentwicklung stellt dies ein vollkommen anderes Konzept dar. Es kann nicht garantiert werden, das auf diese Art und Weise ein Problem zu lösen auch eine Lösung gefunden wird.

Heuristiken sind also im Gegensatz zu klassischen Algorithmen nicht genau berechenbar, was ihre Lösungsfindung angeht, sie ähneln allerdings der menschlichen Art und Wiese vorzugehen.

Wissensrepräsentation

Wie das Wissen gespeichert und archiviert wird, ist einer der entscheidenden Punkte in einem Expertensystem.

Das Wissen ist in Form von Regeln im Computersystem gespeichert. Diese Regeln entsprechen im wesentlichen primitiven Sätzen wie etwa: Wenn die Körpertemperatur über 38 Grad Celsius beträgt hat man Fieber. Auf Basis solcher einfacher Regeln entstehen immer komplizierter. Diese Stellen die Wissensbasis des Systems dar.

Dieses System ähnelt wieder sehr dem Aufbau der menschlichen Wissensbasis. Der Mensch sammelt Erfahrungen und Regeln. Er definiert Begriffe durch andere und kann so seinen Wortschatz und sein Wissen vermehren.

Ein Expertensystem muss von einem Experten, den es unterstützen oder ersetzen soll mit solchen Regeln gefüttert werden.

Inferenzmotor - inferenz engine

Die wirkliche Stärke von Expertensystemen, ist ihre Fähigkeit zur Inferenz. Genau das macht ein Expertensystem intelligent. Wenn es möglich wäre Bereichswissen erfolgreich in einem System zu speichern, müsste das System, ebenso wie ein menschlicher Experte, nicht nur wissen, welche Regeln es anwenden mus um ein Problem zu lösen, sondern auch in welcher Reihenfolge die Regeln anzuwenden sind. Und um dies zu bewerkstelligen verwendet ein Expertensystem einen Inferenzmotor.

Es gibt zwei verschiedene Strategien[1]:

  • Vorwärtsverkettende Systeme
  • Rückwärtsverkettende Systeme

Es kommt auf die Implementierung des Systems an ob nur eine Strategie gewählt wird oder beide.

Eine rückwärtsverkettende inferenz engine ist zielorientiert. Um ein Ziel zu beweisen, muss die Richtigkeit aller ihrer Prämissen überprüft worden sein. Im Gegensatz dazu beginnt die vorwärtsverkettende inferenz engine am anderen Ende. Sie überprüft die Wissensbasis um so Prämissen zu bestätigen. Die daraus gewonnenen Daten werden zu der bestehenden Wissensbasis hinzugefügt und der Vorgang beginnt wieder von vorne. Nach Beendigung des Schlusfolgerungsprozesses werden die neugewonnenen Fakten von der Benutzerschnittstelle aufbereitet und als Lösung des Problems dem Anwender präsentiert. Beide Strategien bestehen aus einer Kette von Schritten die von dem Expertensystem nachvollzogen werden können. Dies erlaubt dem Expertensystem seinen Lösungsweg zu beschreiben.

Erklärungskomponente - explanation facilities

Wie schon im letzten Absatz erwähnt, ist eine wichtige Eigenschaft eines Expertensystems die Beschreibung des Lösungsweges. Solche explanation facilities ermöglichen es dem Benutzer die Arbeitsweise eines Expertsystems zu verstehen. Typische Fragestellungen dabei sind:

  • Wie wurde die Lösung eines Problems gefunden?
  • Warum wird eine bestimmte Information vom System nachgefragt?
  • Warum wurde eine bestimmte Lösung nicht gefunden?

Eine Erklärungskomponente ist vorallem deshalb wichtig, da auch die Kontaktierung eines menschlichen Experten sehr oft noch Erklärungsbedarf mit sich bringt. Die meisten Menschen würden nicht einfach die Antwort eines Experten akzeptieren, ohne einer Erklärung.

Ein gutes Beispiel dafür wäre eine Diagnose von einem Arzt. Zieht die Diagnose eine Behandlung des Patienten nach sich, mus der Arzt dem Patienten die Behandlung und im besonderen die Risiken erklären, damit sich der Patient bewust ist, was auf ihn zukommen kann.

Problemhorizont von Experten bzw. AI-Systemen

Wissensrepräsentation

Speziell bei Wissensrepräsentation besteht das Problem, eine geeignete Darstellungsform zu finden. Je nach Problemstellung, ist die Darstellungsform zu wählen, denn obwohl im Allgemeinen die graphische Darstellung von Lösungen zumeist die übersichtlichste Art ist, so kann nicht jedes Ergebnis visuell veranschaulicht werden. Vor allem gibt es derzeit kaum natürlichsprachliche Benutzerschnittstellen, die Ergebnisse in geschriebenes oder in Worte fassen können. Schon heute existieren Programme die bis zu einem bestimmten Punkt, Satzbau und Grammatik ''beherrschen'', dennoch ist zum Beispiel das Übersetzen von Texten nicht ohne Weiteres möglich. Man kann hier jedes Wort einzeln, in ein gleichwertiges Synonym der anderen Sprache umformen, nur funktioniert diese Art der Translation fast immer auf Kosten der Semantik, bzw. verlieren Sätze oft ihren Zusammenhang und Sinn. Außerdem betrifft das Problem der Darstellung nicht allein das Anzeigen einer gefundenen Lösung, sondern auch die Art der Eingabe von neuen Aufgaben und die Eingabe bzw. das Erweitern der bestehenden Wissensbasis. Obwohl das vergrößern oder Warten der Wissensbasis muss zwar zumeist von einem Experten übernommen werden, aber die Bedienung kann oftmals auch von eingeschultem Personal übernommen (d. h. das Wissen eines Hauptusers muss nicht so detailliert, wie das eines wirklichen Experten sein). In diesem Fall kann aber auch bei der Eingabe von Aufgaben nicht von einem Expertenwissen des Users ausgegangen werden. (Ein Beispiel: zwar wird bei einem medizinischen Expertensystem vermutlich die Wissensbasis von einem Mediziner in Kooperation mit einem Entwickler gewartet bzw. erweitert, aber der- oder
diejenige die Daten aus dem System abruft bzw. es bedient, müssen deswegen nicht Kenntnisse in der Programmierung und Doktorenwissen vorausgesetzt werden.)

Maschinelles Lernen

Beim Maschinellen Lernen solcher AI Systeme, bestehen weniger Probleme Wissen in eine Datenbank oder eine andere Form von Wissensbasis zu quetschen, vielmehr ist hier die Aufgabe das Wissen zu kategorisieren bzw. auch den Sinn von Grundsätzen korrekt zu erfassen. So bleibt die Frage: ''Wie soll der Computer erkennen, zu welchem Stoffgebiet oder welcher Expertise angesammeltes und eingelesenes Wissen gehört?'' ''Wie kann man dem Computer klarmachen, welchen Sinne ein solches Wissen hat?''. Zwar können durch Skriptsprachen wie PROLOG oder LISP bzw. durch Heuristiken und Grundsätzen, Regeln für ein solches Einlesen charakterisiert werden, doch sind diese dann allgemein gültig? Leider nicht. Zumeist sind solche Regeln, schon bei nur geringfügig anderen Stoffgebieten nicht mehr anzuwenden. Aus diesem Grund war es bisher nicht möglich ein allgemein gültiges Problemlösungsprogramm zu schreiben bzw. eine AI, ähnlich flexibel wie der menschliche Verstand, zu entwickeln.

automatisches Schließen

Ein weiterer Problembereich für die Schaffung von Experten- bzw. AI-Systemen ist das automatische Schlussfolgern anhand von bestehenden Fakten. Wie sind Fakten und Daten für ein System zu bewerten? Ein Expertensystem soll, das bekannte Wissen abstrahieren und in neuen Situationen ''anwenden''. Zumeist kommen hier beim ''Schlussfolgern'' diverse Heuristiken oder Aussagelogische Formulierungen zum Einsatz. Ein relativ neues Verfahren ist auch der Einsatz von sogenannten Fuzzy Logic Systemen. Diese bewerten Daten nicht mit mathematischen oder heuristischen Formeln bzw. Regeln sondern bewerten ''unscharf''. D.h. dass hier keine ''true''/''false'' oder ''0''/''1'' Werte berechnet, sondern es wird ''menschlicher'' bewertet. Nicht rein mit WAHR und FALSCH sondern noch mit WAHRSCHEINLICH, VIELLEICHT, MÖGLICH ABER NICHT WAHRSCHEINLICH. Also auf ein Zahlensystem umgelegt, nicht einfach die Werte 0 und 1, sondern auch Zwischenabstufungen wie 0,8 oder 0,25 etc. Damit wurde es endlich möglich dass das menschliche Bewerten besser und effizienter zu simulieren. Derzeit wird Fuzzy Logic schon bei High End Video Kameras verwendet, um Ruckartige Bewegungen des Filmenden so gut es geht zu verringern. Ein weiteres Einsatzgebiet dafür sind Automatik Getriebe (speziell in des USA). Hier wird das Kuppeln via Fuzzy Logic sanft und ''weich''.

Literatur

1
Darlington, Keith: Basic expert systems; Senior Lecturer in Knowledge Based Systems; The Knowledge Based Systems Centre; South Bank University London; http://www.bcsnsg.org.uk/itin08/darling.htm


Weiterführende Informationen



Verweise auf Arbeiten anderer gruppen


Konzepte und Techniken - Datamining - Eine Bedingung für den erfolgreichen Einsatz von Data Mining Werkzeugen ist die Bereitstellung einer "konsistenten, qualitativ hochwertigen Datenbasis". Diese kann...

Beginn des systematischen Ordnens von Information  - Versuche zur Strukturierung von Schlüsselwörtern zur Indexierung von Büchern...

>Entstehungskontext | Konzepte und Techniken | Entwicklung und Auswirkungen | Praxis | Bewertung