Theorie

FAQ - Frequently Asked Questions

1. Wann spricht man von einem probabilistischen Expertensystem? 
2. Worin liegen die Vorteile bei SPIRIT im Vergleich zu herkömmlichen Expertensystemen? 
3. Gibt es bereits praxistaugliche Anwendungen für SPIRIT? 
4. Wie baut man eigentlich eine Wissensbasis in SPIRIT auf? 
5. Was verfolgt man mit dem Ziel maximaler Entropie? 
6. Gibt es eine korrekte Repräsentation gegebener Information? 
7. Welche Syntax hat die Benutzersprache in SPIRIT? 
8. Welche Möglichkeiten der Darstellung in Graphen bietet SPIRIT? 
9. Wie erhält man allein aus Beobachtungen eine Wahrscheinlichkeitsverteilung? 
10. In welchem Format werden SPIRIT Wissensbasen gespeichert? 

  SPIRIT Wissensbasen werden im ASCII-Format mit der Dateiendung ".spirit" gespeichert. Ein Experte kann unter Beachtung der gegebenen Syntax mit jedem ASCII-Editor diese Dateien verändern. Die Dateistruktur mit der zugehörigen Syntax wird im Folgenden beschrieben. Die verwendete Notation entspricht der Backus-Naur-Form (BNF); sie wurde um Kommentare ergänzt. Weitere Grundelemente dieses Formalismus sind folgende Symbole:
 
"::=" definiert ein neues Element,
"#" trennt Alternativen,
"[" und "]" der so eingeschlossene Ausdruck kann einmal verwendet, mehrfach wiederholt oder ganz weggelassen werden,
und "»" kennzeichnet den Rest der Zeile als Kommentar.
 
<knowledgebase> ::= <netblock> <nodeblock> <ruleblock>
 
<netblock> ::=
   net <begin>
   sysMode <eq> <modevalue> <sep>
   folderTree <eq> <begin> <folder> <end> <sep>
   ssAutoPropagation <eq> <probvalue> <sep>
   ssAutoReinit <eq> <initvalue> <sep>
   ssTermination <eq> <termvalue> <sep> <end>

 
<nodeblock> ::=
   <comment> [<node>]

 
<node> ::=
   node <name> <begin>
   <nodetype> <sep> <xypos> <sep>
   enum <eq> <number> <sep>
   <end>

 
<nodetype> ::=
   <t_boolean> # <t_nominal> # <t_number>

 
<t_boolean> ::=
   type <eq> boolean <sep>

 
<t_nominal> ::=
   type <eq> nominal <sep>
   states <eq> <stateslist> <sep>

 
<stateslist> ::=
   ("<name>","<name>"[,"<name>"])

 
<t_number> ::=
   type <eq> number <sep>
   states <eq> <utilitylist> <sep>

 
<utilitylist> ::= » The <utilities> have to be in ascending order.
   ("<utility>","<utility>"[,"<utility>"])
 
<ruleblock> ::=
   <comment> [<rule>]

 
<rule> ::= » <expression> is a even conditional proposition in correct rule syntax.
   rule <begin>
   string <eq> <expression> <sep>
   prob <eq> <probability> <sep>
   alpha <eq> <realnumber> <sep> <end>

 
<begin> ::= {
<end> ::= }
<probability> ::= 1.0[0] # 0.<number>
<utility> ::= <sign><number>
<number> ::= [<digit>]
<sign> ::= - # <empty>
<digit> ::= 0 # 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9
<realnumber> ::= [<number>].[<number>]
<name> ::= <anychar>[<anychar>]   »<anychar> is any character but ";".
<sep> ::= ;
<eq> ::= =
 

11. In welcher Form müssen Daten für das Einlernen in SPIRIT aufbereitet werden?