Systemy ekspertowe
Sprawozdanie I
Tworzenie bazy wiedzy w systemie PC-‐Shell
Wykonali:
Wiktor Wielgus
Łukasz Nowak
1. Opis systemu
System został stworzony w celu pomocy użytkownikowi przy wyborze sprzętu audio odpowiedniego dla jego potrzeb. Zadaniem systemu jest – poprzez zadanie użytkownikowi serii pytań i analizie jego
odpowiedzi(faktów) – zwrócenie informacji o zestawie audio pasującym do wymagań użytkownika.
W przypadku braku takiego zestawu w systemie, zwraca on pusty zbiór odpowiedzi.
2. Baza wiedzy
Blok facets – zawiera wszystkie atrybuty występujące w systemie wraz z wyróżnionym dla każdego atrybutu zbiorem wartości jakie może przyjmować.
facets
single yes;
typzestawu:
query "Jaki chcesz zestaw?"
val oneof { "2.0", "2.1" , "3.1" , "5.1" };
wejcyfrowe:
query "Czy chcesz aby zestaw posiadał wejście cyfrowe?:"
val oneof { "optyczne", "koncentryczne", "brak" };
wyjsluchawki:
query "Czy chcesz aby zestaw posiadał wyjście słuchawkowe?"
val oneof { "tak", "nie" };
sterbezp:
query "Czy chcesz aby zestaw był sterowany bezprzewodowo?"
val oneof { "wi-‐fi", "bluetooth", "pilot" , "brak"};
material:
query "Z jakiego materiału mająbyćwykonane głośniki?"
val oneof { "drewno" , "plastik", "metal"};
cena:
query "W jakim przedziale cenowym powinny sięznajdować głośniki?"
val oneof { "0-‐100" , "101-‐200" , "201-‐500", "501-‐1000" , ">1000" };
glosnik:
ask no;
end;
Blok rules – zawiera proste reguły – na każdą składa się 6 warunków – imitujące pracę eksperta z dziedziny systemów audio, które warunkują zwracaną użytkownikowi odpowiedź.
rules
01: glosnik = "Genius SP-‐HF 1800A" if typzestawu = "2.0", wejcyfrowe = "brak", wyjsluchawki = "tak", sterbezp = "brak", material = "drewno", cena = "201-‐500";
02: glosnik = "Logitech Z906" if typzestawu = "5.1",
wejcyfrowe =
"koncentryczne",
wyjsluchawki = "tak", sterbezp = "pilot", material = "drewno", cena = ">1000";
03: glosnik = "Tracer Sonic" if
typzestawu = "2.0", wejcyfrowe = "brak", wyjsluchawki = "nie", sterbezp = "brak", material = "plastik", cena = "0-‐100";
04: glosnik = "Logitech X-‐530" if typzestawu = "5.1", wejcyfrowe = "brak", wyjsluchawki = "tak", sterbezp = "bluetooth", material = "metal", cena = "201-‐500";
05: glosnik = "Genius SW-‐HF 5.1 6000" if typzestawu = "5.1", wejcyfrowe = "brak", wyjsluchawki = "tak", sterbezp = "pilot", material = "plastik", cena = "501-‐1000";
06: glosnik = "Genius SP-‐HF2020" if typzestawu = "2.0", wejcyfrowe = "optyczne", wyjsluchawki = "tak", sterbezp = "pilot", material = "plastik", cena = "201-‐500";
07: glosnik = "ModeCom MC-‐MSF50" if typzestawu = "2.1", wejcyfrowe = "brak", wyjsluchawki = "nie", sterbezp = "brak", material = "drewno", cena = "201-‐500";
08: glosnik = "Edifier C3" if
typzestawu = "2.1", wejcyfrowe = "brak", wyjsluchawki = "tak", sterbezp = "pilot", material = "plastik", cena = "501-‐1000";
09: glosnik = "Genius SW-‐G 2.1 1250" if typzestawu = "2.1", wejcyfrowe = "brak", wyjsluchawki = "tak", sterbezp = "brak", material = "plastik", cena = "101-‐200";
10: glosnik = "Genius SW-‐HF 5.1 4500" if typzestawu = "5.1", wejcyfrowe = "optyczne", wyjsluchawki = "tak", sterbezp = "wi-‐fi", material = "metal", cena = "201-‐500";
end;
Blok control – zawiera wiersze uruchomienia i zakończenia programu. W skład tego bloku wchodzi również funkcja menu z której użytkownik może wybrać rozpoczęcia wnioskowania lub zakończenie działania programu. Wybór wnioskowania powoduje rozpoczęcie rozmowy, a po jej zakończeniu
wyczyszczenie zbioru faktów(odpowiedzi) udzielonych przez użytkownika tak by ponowne rozpoczęcie wnioskowania nie zwracało odpowiedzi dla poprzedniej rozmowy, a zaczynało ją od nowa.
control
char S1, S2, S3;
run;
S1 := "Wybor glosnikow";
S2 := "System doradczy wspomagający wybór głośników.";
S3 := "Łukasz Nowak _ Wiktor Wielgus";
vignette( S1, S2, S3 );
setAppWinTitle("Przeglad glosnikow");
addSolution( yes );
int Odp;
Odp:=1;
menu "Menu"
1. "Wybor glosnikow"
2. "Exit"
case 1:
while (Odp==1)
begin
goal("glosnik=Glosnik");
confirmBox( 0, 0, "Kontynuacja","Chcesz kontynuowac wybor", Odp );
delNewFacts;
end;
case 2:
exit;
end;
end;
end;
3. Przykład procesu wspomagania decyzji
Otworzenie bazy wiedzy powoduje wyświetlenie się komunikatu informacyjnego zawierającego tytuł, opis oraz autorów bazy.
Z menu na górze ekranu mamy możliwość wyboru rozpoczęcia wnioskowania lub zamknięcia bazy wiedzy.
Jeśli wybraliśmy rozpoczęcie wnioskowania, w pierwszej kolejności otrzymujemy pytanie o typ zestawu który nas interesuje – wybieramy „2.0”
Następne pytanie dotyczy wejścia cyfrowego w zestawie który chcemy kupić.
Wybieramy wejście cyfrowe – optyczne.
Kolejnym pytaniem jest pytanie o to czy chcemy by nasz zestaw posiadał wyjście słuchawkowe – zaznaczamy „tak”
Zaznaczyć należy, że w tle przy podaniu każdej odpowiedzi dochodzi do
sprawdzania reguł z zbiorem posiadanych faktów. Jako, że nie znaleziona została jeszcze taka reguła otrzymujemy pytanie o sterowanie bezprzewodowe w którym wybieramy sterowanie „pilotem”
Przedostatnim pytaniem jest pytanie o materiał z którego ma zostać wykonany zestaw audio – zaznaczamy „plastik”.
Ostatnim pytaniem które zostaje nam zadane(jeśli wcześniej nie doszło do
znalezienia pasującej reguły) jest pytanie o przedział cenowy kupowanego zestawu – wybieramy tutaj przedział „201-‐500”.
Po wybraniu opcji „Dlaczego?” z boku ekranu możemy podejrzeć co doprowadziło do zadania takiego pytania – a mianowicie byłą to seria podanych przez nas w wcześniejszych pytaniach odpowiedzi(faktów).
Po udzieleniu odpowiedzi na pytanie o przedział cenowy dochodzi do zakończenia procesu wnioskowania. Zwrócona zostaje nam odpowiedź widoczna na rysunku powyżej.
Jeśli wybierzemy opcję „Jak?” z boku ekranu, będziemy mogli podejrzeć, że do takiej konkluzji tj. skorzystania z reguły 6 doszło poprzez ustalenie wszystkich 6 faktów które mógł udzielić użytkownik.
Po zakończonym wnioskowaniu i odczytaniu odpowiedzi możemy przystąpić do ponownego wnioskowania(znów z pustym zbiorem faktów) lub przerwać dalsze działanie programu.
System posiada jednak informacje tylko o wybranych zestawach audio, w związku z czym po zakończeniu wnioskowania użytkownik może otrzymać informację o nie znalezieniu pasujących do jego wymagań zestawu.
4. Wady i zalety programu PC-‐Shell
Zalety:
-‐ Prosty i intuicyjny interfejs użytkownika
-‐ Wgląd do pliku edycji, dzięki czemu można zobaczyć w jaki sposób reprezentowana jest baza wiedzy.
-‐ Możliwość zobaczenia przyczyn decyzji algorytmu wnioskującego
Wady:
-‐ stosunkowa łatwość w modyfikacji deklaratywnej reprezentacji wiedzy, opiera się na znajomości semantyki budowania wiedzy, której niekoniecznie musi znać użytkownik
-‐ program działa na regułach opracowanych przez inżyniera wiedzy, nie jest w stanie empirycznie wzbogacać swojej wiedzy
5. Wnioski
Systemy ekspertowe, będące zakodowanym specjalistą w danej dziedzinie, są przydatny elementem przy procesie podejmowania decyzji oraz znajdują szerokie zastosowanie działania, jak np.: diagnozowanie chorób, udzielanie porad prawniczych, analiza rynku, kontrola jakości. Zastępują ekspertów w realizacji wybranych czynności jak również pomagają w rozwiązywaniu problemów wymagających najbardziej specjalistycznej wiedzy. Systemy ekspertowe umożliwiają wyjaśnienia jak poszczególne konkluzje zostały osiągnięte. Warto zaznaczyć jednak, że trudno jest przewidzieć działanie systemu wzbogacone o nową wiedzę, nie możemy jasno przewidzieć ingerencji w proces wnioskowania naszego systemu.
Zwróćmy również uwagę na to, że nawet najlepszy system, jest tylko zakodowaną sztuczną inteligencją, mająca imitować wiedzę i doświadczenie ludzkiego umysłu, ale z pewnością nigdy go nie zastąpi.