Dominika Guziec.docx

(355 KB) Pobierz

Sprawozdanie

 

1.Co  to jest system ekspertowy?

 

System ekspertowy jest to program, lub zestaw programów komputerowych wspomagający korzystanie z wiedzy i ułatwiający podejmowanie decyzji. Systemy ekspertowe mogą wspomagać bądź zastępować ludzkich ekspertów w danej dziedzinie, mogą dostarczać rad, zaleceń i diagnoz dotyczących problemów tej dziedziny.

 

2.Składniki systemu eksportowego

Składniki systemu ekspertowego to:

·                     szkielet systemu składający się z:

·                                interfejsu użytkownika - który umożliwia zadawanie pytań, udzielanie informacji systemowi oraz odbieranie od systemu odpowiedzi i wyjaśnień

·                                edytora bazy wiedzy - który pozwala na modyfikację wiedzy zawartej w systemie, umożliwiając tym samym jego rozbudowę

·                                mechanizmu wnioskowania - który jest głównym składnikiem systemu ekspertowego wykonującym cały proces rozumowania w trakcie rozwiązywania problemu postawionego przez użytkownika

·                                mechanizmu wyjaśniającego - jednego z elementów interfejsu pomiędzy systemem a użytkownikiem, który umożliwia użytkownikowi uzyskanie odpowiedzi dlaczego system udzielił takiej, a nie innej odpowiedzi, albo dlaczego system zadał użytkownikowi określone pytanie

·                     baza wiedzy - jest to deklaratywna postać wiedzy ekspertów z danej dziedziny zapisana za pomocą wybranego sposobu reprezentacji wiedzy, najczęściej reguł lub ram

·                     baza danych zmiennych - która jest pamięcią roboczą przechowującą pewne fakty wprowadzone w trakcie dialogu z użytkownikiem; baza ta umożliwia odtworzenie sposobu wnioskowania systemu i przedstawienie go użytkownikowi za pomocą mechanizmu wyjaśniającego.

3.Znane systemy ekspertow

·         Dendral

·         Prospector

·         Mycin

·         XCON

·         CRYSALIS

·         MACSYMA

·         REACTOR

·         CAMES

4. Jak stworzyć system eksportowy ?

Środowisko Do clipsa można pobrać trochę ubogie IDE z strony projektu.
clips1
Na załączonym screenie widać kilka okien:

·                 Dialog window – okno, w którym wpisujemy komendy do interpretera Clipsa. Możemy tutaj np. wstawić fakt bo bazy danych

·                 Facts – zawiera listę faktów w bazie wiedzy

·                 Agenda – zawiera listę aktywnych(spełnionych) reguł. W tym przypadku widać, że reguła print jest spełniona ponieważ w bazie znajduje się fact f-0

·                 Ostatnie okno tworzymy z menu File->New to w nim piszemy nasz program

Fakty w języku clips zapisuje się w takiej postaci: (nazwa_faktu pole1 pole2) Faktem może być np. odpowiedź na pytanie. Aby dodać fakt, to bazy wiedzy wykorzystywana jest instrukcja assert np.(assert (user Rafal 28)) dodaje fakt o user z polami Rafal i 28. Aby usunąć fakt z bazy wiedzy należy użyć funkcji retract np. (retract(user Rafal 28)) usuwa wcześniej dodany fakt.

Reguły definiuje się za pomocą następującej składni:

1

2

3

4

5

6

7

8

9

(defrule nazwa-reguły "opcjonalny komentarz"

(wzorzec-1)

(wzorzec-2)

(wzorzec-N)

=>

(działanie-1)

(działanie-2)

(działanie-M)

)

Definicja reguły składa się z dwóch części, wyróżniamy część aktywującą regułę i część wykonywaną. Reguła jest aktywowana jeśli wszystkie wystąpienia wzorca są odnalezione w bazie wiedzy, czyli jeśli istnieją takie fakty, które odpowiadają wzorcowi. Po aktywacji reguły zostaje ona wykonana czyli np. działanie-1 wstawia nowe fakty do bazy wiedzy.

Szablony – przypominają rekordy i pozwalają definiować fakty składające się z innych faktów a struktura takiego szablonu wygląda następująco:

1

2

3

(deftemplate user

(slot name)

(slot age))

Teraz, aby dodać fakt należy wykonać następującą instrukcję (assert (user (name Rafal) (age 28)))

To są podstawowe składniki języka Clips i wystarczą do zbudowania prostego systemu eksperckiego. Ok, ale jak to się ma do .Net? Jak widać w Clipsie nie można zbudować interfejsu użytkownika. Można więc wykorzystać np. WPF do zbudowania interfejsu użytkownika, należy tylko w “jakiś” sposób skomunikować się z Clipsem i tutaj przychodzi nam z pomocą opensourcowy projekt CLIPS.NET. Do projektu dołączonych jest kilka przykładów systemów zbudowanych w oparciu o Clipsa np. system który doradza wybrać wino w zależności od naszych preferencji.

WineDemo

Dodatkowo dodaje, swój mały projekt systemu doradczego, który doradza wybór rodzaju pracy protetycznej na podstawie braków uzębienia. Projekt oparty jest na przykładzie z projektu Clips.NET. Całą logiką, wnioskowaniem i sterowaniem przepływem pytań zajmuje się Clips, WPF służy tylko jako warstwa prezentacji. Jeśli komuś kiedyś przyjdzie zbudować taki system polecam poznań bliżej język Clips.

clips2

 

 

 

4.Program

 

 

 

 

 

 

 

5.Konsultacje

 

 

 

6. Wnioski

Systemy ekspertowe to bardzo przydatne narzędzie do wnioskowania. Po odpowiednim przygotowaniu i przyjęciu odpowiednich kryteriów, pozwalają ocieniać samochody ze względu na cenę oraz to czy nadają się do remontu czy nie. Pozwalają, także określać czy ktoś jest chory czy nie, na podstawie objawów.

Zgłoś jeśli naruszono regulamin