Wissensbasierte Systeme
JESS
Java Expert System Shell
Inhalt



Allgemeines zu JESS
Die JESS-Sprache
Ein Beispiel-Programm
Allgemeines




regelbasierte Programmiersprache
auf Java aufbauend
kann damit in Applets eingebunden werden
*.java-Dateien, die vor Benutzung von JESS
kompiliert werden müssen
Die JESS-Sprache



ProLog-ähnlich, weil regelbasiert
vollständig in Listenstruktur aufgebaut
besteht aus Atomen, Zahlen, Strings und
Listen
Atome in JESS




kann Buchstaben enthalten
kann Zahlen enthalten
kann $ * = + / < > _ ? # . enthalten
z.B.:
Hallo
Person#1
Wert-23
Zahlen in JESS


nur einfache Fließkommazahlen und
Integerzahlen erlaubt
z.B.:
4
7.
12.23
Strings in JESS



eingeschlossen von doppelten
Anführungszeichen „String“
Backslash ( \ ) ermöglicht Ausgabe von
Anführungszeichen
z.B.:
„Hallo, Welt!“
„\“Unsinn\“, sagte er wörtlich.“
Listen in JESS



grundlegende Syntax-Einheit in JESS
in Klammern eingeschlossene Atome, Zahlen,
Strings oder Listen
z.B.:
(1 2 3 2)
()
(„Hallo, Welt!“)
Funktionen in JESS




werden als Liste übergeben
Listenkopf = Funktionsaufruf
Rest der Liste = Parameter der Funktion
Z.B.:
(+ 1 2)
=> 3
(< 5 3)
=> FALSE
Variablen in JESS





globale Variablen möglich
Felder sind möglich, beginnen mit $?
Variablen beginnen immer mit Fragezeichen ?
Variablen setzen mit bind
z.B.:
(bind ?x „Wert“)
(bind $?Einkaufsliste (create$ Wurst
Eier Milch))
Fakten in JESS



werden ähnlich behandelt wie Variablen
werden gesetzt mit assert
z.B.:
(assert temperatur 21)
(assert Einkaufsliste Wurst Eier
Milch)
Beispielprogramm
There are five houses, each of a different color, inhabited by men of
different nationalities, with different pets, drinks, and cigarettes.
The Englishman lives in the red house. The Spaniard owns the dog.
The ivory house is immediately to the left of the green house, where
the coffee drinker lives. The milk drinker lives in the middle house.
The man who smokes Old Golds also keeps snails. The Ukrainian
drinks tea. The Norwegian resides in the first house on the left. The
Chesterfields smoker lives next door to the fox owner. The Lucky
Strike smoker drinks orange juice. The Japanese smokes
Parliaments. The horse owner lives next to the Kools smoker, whose
house is yellow. The Norwegian lives next to the blue house.
Now, who drinks water? And who owns the zebra?