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: glosnik: query "W jakim przedziale cenowym powinny sięznajdować głośniki?" val oneof { "0-100", "101-200", "201-500", "501-1000", ">1000" }; ask no;
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", sterbezp = "brak", material = "drewno", cena = "201-500"; 02: glosnik = "Logitech Z906" if typzestawu = "5.1", wejcyfrowe = "koncentryczne", sterbezp = "pilot", material = "drewno", cena = ">1000"; 03: glosnik = "Tracer Sonic" if typzestawu = "2.0", wyjsluchawki = "nie", sterbezp = "brak", material = "plastik", cena = "0-100"; 04: glosnik = "Logitech X- 530" if typzestawu = "5.1", sterbezp = "bluetooth", material = "metal", cena = "201-500"; 05: glosnik = "Genius SW- HF 5.1 6000" if typzestawu = "5.1", sterbezp = "pilot", material = "plastik", cena = "501-1000"; 06: glosnik = "Genius SP- HF2020" if typzestawu = "2.0", wejcyfrowe = "optyczne", sterbezp = "pilot", material = "plastik", cena = "201-500"; 07: glosnik = "ModeCom MC- MSF50" if typzestawu = "2.1", wyjsluchawki = "nie", sterbezp = "brak", material = "drewno", cena = "201-500"; 08: glosnik = "Edifier C3" if typzestawu = "2.1", sterbezp = "pilot", material = "plastik", cena = "501-1000"; 09: glosnik = "Genius SW- G 2.1 1250" if typzestawu = "2.1", sterbezp = "brak", material = "plastik", cena = "101-200"; 10: glosnik = "Genius SW- HF 5.1 4500" if typzestawu = "5.1", wejcyfrowe = "optyczne", sterbezp = "wi- fi", material = "metal", cena = "201-500";
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; case 2: exit;
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.