Friday, February 9, 2007

Epoka1 - ciąg dalszy

W poprzednim poście pisałem o systemie eksperckim [1] od strony
ideologiczno-teoretycznej, tym razem parę słów o technologii. Skrypt
systemu jest banalny, jego właściwa część składa się z kilku lini w
Pythonie [2]. Diabeł tkwi jednak w konstrukcji bazy wiedzy. Jest
zbudowana w oparciu o graf skierowany, gdzie poszczególne pytania są
jego wierzchołkami, natomiast łuki są odpowiedziami tak/nie. W
zależności od wyboru odpowiedzi wybierany jest ten wierzchołek do
którego ona prowadzi. Procedura powtarza się dopóki algorytm nie natrafi
na wierzchołek, z którego nie ma łuków wychodzących. Oznacza to, że
wierzchołek ten jest odpowiedzią. Tak więc system jest jednoznaczny.
Określone odpowiedzi pociągają za sobą JEDEN i tylko jeden rezultat.
Z drugiej strony system nie jest liniowy, gdyż jeden rezultat może być
osiągnięty kilkoma drogami, to znaczy niektóre wierzchołki mają stopień
wejściowy większy od 1.
Skrypt jest na tyle uniwersalny, że zbudowanie w oparciu o niego innego
systemu eksperckiego jest banalnie proste. Jak zwykle problem tkwi w
skonstruowaniu dobrej bazy wiedzy, co nie jest wcale takie proste.

[1] http://www.piglas.ys.pl/cgi-bin/system.py
[2] http://www.python.org

No comments: