środa, 11 września 2013

Architektura maszyny wnioskującej regresywnie


 

Maszyna wnioskująca regresywnie ma bardziej skomplikowaną architekturę. W tym celu aby dokładniej zapoznać się ze sposobem implementacji prostej maszyny wnioskującej odsyłam do książki Jana J.Mulawki „Systemy ekspertowe” (str. 117 rys. 7.2., str.118. rys. 7.3. str.119 rys.7.4.) jest to jedyna książki ,która tak fajnie opisuje systemy.

 

3.1.3.1. Opis działania maszyny wnioskującej regresywnie

 

Na początku system sprawdza  poprawność składni bazy wiedzy podanej na wejściu. Jeśli składnia bazy wiedzy jest poprawna , to system odczytuje kolejne słowa kluczowe i wypisuje wartości w odpowiednie pola struktur danych jest tworzona lista reguł. Na podstawi utworzonej uprzednio liście reguł system tworzy listę faktów. Dla każdego warunku każdej reguły system przeprowadza dwa  testy. Pierwszy polega , czy dany warunek znajduje się w konkluzji jakiejkolwiek reguły z listy reguł. Drugi sprawdza , czy wartość obiektu danego warunku znajduje się na liście odpowiedzi dotyczącej tego obiektu w jakiejkolwiek regule . Jeżeli oba testy dały negatywny wynik , to dany warunek jest dołączony jako fakt do listy faktów .Jeżeli wynik jest pozytywny , to jest rozpatrywany następny warunek. Baza wiedzy może być utworzona  w prostszy sposób przez kolejne wczytanie dwóch niezależnych  list : listy reguł i listy faktów. Po utworzeniu w przedstawiony sposób wewnętrznej bazy wiedzy system stawia pytanie o cel główny i usiłuje dać odpowiedź  na postawiony cel i uruchamia proces wnioskowania.

Wnioskowanie rozpoczyna się od przeszukania listy faktów . Jeśli zostanie odnaleziony cel główny na liście  faktów , jego wartość jest wprowadzana jako odpowiedź. Kiedy przeszukiwanie listy faktów skończy się niepowodzeniem , system szuka  celu w konkluzjach reguł.. Jeżeli nie odnajdzie celu głównego w konkluzji żadnej reguły , wówczas generuje informacje o braku celu głównego  w bazie wiedzy. Jeżeli natomiast zostanie odnaleziony cel w konkluzji pewnej reguły z listy reguł , jest uruchamiany proces analizy warunków tej reguły. Analiza warunków system przeprowadza w sposób rekrutacyjny tzn. analizowany warunek staje się aktualnym pod celem i zostaje poszukiwany na liście faktów Jeżeli zostanie znaleziony to oczywiście warunek jest spełniony.  Jeśli znajduje się w konkluzji pewnej reguły to system analizuje warunki tej reguły itd. Kiedy zaistnieje przypadek  , że gdy analizowanego warunku nie ma ani na liście faktów ani na konkluzjach reguł to system sprawdza jeszcze możliwość zadania pytania o warunek. Jeśli taka możliwość istnieje ,wówczas wyświetla stosowne pytanie , a odpowiedź na nie jest zapisywana jako fakt na liście faktów i wyświetlana w odpowiednim oknie , przy czym w zależności od jej wartości warunek jest spełniony albo nie. Fakt powstały z konkluzji tej reguły jest umieszczany na liście faktów a reguła uaktywniana w momencie spełnienia wszystkich warunków danej reguły. Po dojściu do faktów system cofa się w rekurencji , aż do napotkania nie zbadanego warunku. System szuka aż znajdzie odpowiedź  na postawiony cel główny .Wówczas w wyniku uaktywnienia reguły zawierającej w konkluzji cel główny  , zostaje on umieszczony na liście faktów , a odpowiedź wyprowadzana dla użytkownika.

Brak komentarzy:

Prześlij komentarz