Showing posts with label informatyka. Show all posts
Showing posts with label informatyka. Show all posts

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

Tuesday, February 6, 2007

System ekspercki

Zgłębiam właśnie programowanie w logice (deklaratywne) i niejako przy okazji spłodziłem system ekspercki. Ponieważ zasada działania systemów jest oparta o metodę indukcyjną nie są one narzędziem idealnym, więc trzeba go stosować z rozsądkiem i świadomością, że nie jest to sztuczna inteligencja.
System pomaga rozpoznawać, z jaką epoką (paleolit - epoka żelaza) można powiązać dane stanowisko. Najlepiej by było to stanowisko osadowe i jedno fazowe, wtedy możliwość przekłamań w wynikach jest mniejsza.
Implementacja algorytmu nie jest jeszcze ukończona - brakuje między innymi wyświetlania dowodu, ale można go już z powodzeniem stosować.
Jak to działa.
System w drodze do ostatecznego wniosku zadaje pytania, które rozstrzygają kolejne wątpliwości. Zadaniem użytkownika jest odpowiedź na te pytania, zaznaczając opcję Tak lub Nie. W zależności od tego jakie odpowiedzi są udzielane, inny jest wniosek końcowy (w tym przypadku określenie epoki, w której stanowisko funkcjonowało).
System jest narazie bardzo prosty, jeśli nie prymitywny i ewolucjonistyczny, ale to ma być raczej przykład możliwości wykorzystania informatyki w archeologii, niż narzędzie przydatne w codziennej pracy.