Die Programmiersprache DATR wurde 1989 von Roger Evans und Gerald Gazdar entwickelt.
Ein DATR Programm definiert ein Semantisches Netz zur Repräsentation von
Wissen. Die Sprache wurde speziell für den Zweck entwickelt um
lexikalisches Wissens darzustellen, insbesondere sollte die Darstellung regulärer
und irregulärer Lexeme effizient möglich sein.
Teile von Arabisch und vielen europäischen Sprachen wurden
in DATR dargestellt. Es hat sich jedoch später herausgestellt, daß DATR Turing komplett
ist und auch ein praktischer Formalismus für vielfältige andere Anwendungen ist.
Zu den neueren Anwendungen
gehören die Programmierung des bubble sort Algorithmus in DATR von Daffyd Gibbon (1)
und die Darstellung des WB-Graph Modells von Peter Ladkin in DATR (2)(3).
Die Entwicklung von Formalismen zur lexikalischen Wissensrepräsentation wurde von
Semantischen Netzen aus der Künstlichen Intelligenz beeinflußt.
Bei der Entwicklung von DATR wurde die Forderung aufgestellt, daß die Sprache eine
explizite Theorie der Vererbung haben soll. Diese Forderung ist im Zusammenhang mit
den Problemen bei einigen Semantischen Netzen in der Künstlichen Intelligenz zu verstehen.
Semantische Netze sind in der KI seit etwa 1968 bekannt. Ein Beispiel eines Semantischen
Netzes ist FRL, die Frame Representation Language.
In FRL heißen die Knoten des Netzes Frames. Der Begriff Frame wurde
1975 von Marvin Minsky geprägt. Ein FRAME besteht aus einer Menge von slots.
In einem slot können Eigenschaften eines Objektes gespeichert werden. Jeder Frame
besitzt einen besonderen slot, den AKO slot. AKO steht für a kind of.
In einem AKO slot können beliebig viele Links zu anderen Frames stehen. Ein
Frame erbt die Eigenschaften aller Frames, zu denen er einen AKO Link hat. Damit kann
ein Frame von mehreren anderen Frames Eigenschaften erben. Mehrfachererbung in Semantischen
Netzen kann problematisch sein, wie folgendes Beispiel von Touretzky (4) zeigt:
In dem Netz werden folgende Aussagen gemacht:
elephants are gray
royal elephants are elephants
royal elephants are not gray
Clyde is a royal elephant
Clyde is an elephant
Eine Anfrage an das Netz, ob Clyde grau ist, ergibt keine befriedigende Antwort.
Clyde ist ein royal elephant und royal elephants sind weiß , andererseits ist Clyde auch ein
Elefant und Elefanten sind grau. In FRL bekommt man als Ergebnis einer solchen Anfrage: Clyde is
grey und Clyde is not grey, weil beide Aussagen aus dem Netz geschlossen werden können. Bei den
frühen KI Sprachen hing das Ergebnis häufig von dem Algorithmus ab,
der die Inferenzen ableitet. Dieser kann bei verschiedenen Implementationen verschieden sein.
Häufig wird die shortest path inference benutzt.
Bei dieser Methode wird als Ergebnis der Wert geliefert, der durch das Folgen der
wenigsten Links erhalten werden kann. In diesem Beispiel wäre jedoch auch das
problematisch, da beide Ergebnisse durch das Folgen der gleichen Anzahl von Links
erhalten werden können. Um vorhersagbare Ergebnisse zu erzielen, wurde bei der
Entwicklung von DATR die Forderung nach einer expliziten Theorie der Vererbung gestellt.
Die Semantischen Netze, die in DATR definiert werden können, sollen orthogonal sein. Das
bedeutet Mehrfachererbung soll möglich sein, die ererbten Attribute sollen jedoch immer
disjunkt sein.
Die Problematik der Vererbung von Eigenschaften in Semantischen
Netzen zur Wissensrepräsentation liegt in dem Wunsch allgemeine
Eigenschaften vererben zu können, andererseits sollen jedoch Objekte auch
individuelle Eigenschaften haben, die sie von anderen Objekten unterscheiden.
Die Intension bei der Entwicklung von DATR war nicht eine Sprache zu schaffen, die so
umfangreich und vielseitig ist, wie die bekannten KI Sprachen. Es sollte vielmehr eine Sprache für
den speziellen Einsatz in der lexikalischen Wissensrepräsentation geschaffen werden.
Aber auch in diesem Bereich ist die Definition von individuellen Eigenschaften
und allgemeinen Eigenschaften wichtig.
Thorsten Gerdsmeier 10/22/1997
(2): T. Gerdsmeier, P. B. Ladkin and K. Loer,
Analysing the Cali Accident With a WB-Graph,
at
http://www.rvs.uni-bielefeld.de
Publications, January 1996.
Also to appear in the Proceedings of the Glasgow Workshop on Human Error
and Systems Development, March 1996.