• Nie Znaleziono Wyników

Wydział Informatyki i Nauki o Materiałach Uniwersytet Śląski Systemy ekspertowe PC-Shell Sprawozdanie z bazy wiedzy Zbigniew Kędzior Informatyka inżynierska Studia niestacjonarne Trzeci rok Grupa A

N/A
N/A
Protected

Academic year: 2021

Share "Wydział Informatyki i Nauki o Materiałach Uniwersytet Śląski Systemy ekspertowe PC-Shell Sprawozdanie z bazy wiedzy Zbigniew Kędzior Informatyka inżynierska Studia niestacjonarne Trzeci rok Grupa A"

Copied!
9
0
0

Pełen tekst

(1)

Wydział Informatyki i Nauki o Materiałach Uniwersytet Śląski

Systemy ekspertowe

PC-Shell

Sprawozdanie z bazy wiedzy

Zbigniew Kędzior

Informatyka inżynierska Studia niestacjonarne Trzeci rok

Grupa A

(2)

1. Opis systemu.

System został stworzony w celu pomocy rowerzyście wyboru odpowiedniego dla jego potrzeb typu roweru. Zadaniem systemu jest, po zadaniu rowerzyście pytań dotyczących jego jazdy i wymagań sprzętowych, dopasowanie jednego z kilku podstawowych typów rowerów. Po przenalizowaniu faktów, system wskazuje rowerzyście jakim typem roweru powinien się zainteresować.

W przypadku rowerzysty, który ma szczególne wymagania lub jego odpowiedzi nie są jednoznaczne i nie prowadzą do wyboru konkretnego typu roweru, system proponuje konsultację ze sprzedawcą.

2. Baza wiedzy.

knowledge base wybor_typu_roweru //początek bazy wiedzy

facets //fasety - wykaz wszystkich atrybutów używanych w bazie wiedzy

single yes; //deklaruje że w bw może wystąpić tylko jeden fakt zawierający atrybut

jazda: //deklaracja atrybutu

query " Wybierz miejsce w którym jeździsz:" //definicja pytania o wartość atrybutu

val oneof { "góry", "miasto", "asfalt", "skatepark", "inne" }; //deklaracja zbioru wartości atrybutu

trudna:

query "Czy lubisz jeździć po trudnych terenach i niebezpiecznych?"

val oneof { "tak", "nie" };

amortyzatory:

query "Czy rower ma mieć amortyzatory?"

val oneof { "tak", "nie" };

hamulce:

query "Czy rower ma mieć hamulce tarczowe?"

val oneof { "tak", "nie" };

szybkosc:

query "Czy lubisz szybką jazdę?"

val oneof { "tak", "nie" };

sciezki:

query "Czy w twoim mieście są ścieżki rowerowe?"

val oneof { "tak", "nie" };

teren:

query "Czy również lubisz jeździć po terenie?"

val oneof { "tak", "nie" };

rower:

ask no; //system nie może stawiać pytania dotyczące danego atrybutu

end; //koniec bloku opisu faset

(3)

rules //początek bloku reguł

rower = "górski" if //deklaracja reguły składającej się z konkluzji oraz części warunk owej

jazda = "góry", trudna = "nie";

rower = "górski z amortyzatorami" if jazda = "góry",

trudna = "tak", amortyzatory = "tak", hamulce = "nie";

rower = "górski z hamulcami tarczowymi" if jazda = "góry",

trudna = "tak", amortyzatory = "nie", hamulce = "tak";

rower = "górski z amortyzatorami i hamulcami tarczowymi" if jazda = "góry",

trudna = "tak", amortyzatory = "tak", hamulce = "tak";

rower = "miejski" if jazda = "miasto", szybkosc = "nie", sciezki = "tak";

rower = "miejski z przerzutkami" if jazda = "miasto",

szybkosc = "tak", sciezki = "tak";

rower = "miejski z oponami terenowymi" if jazda = "miasto",

szybkosc = "nie", sciezki = "nie";

rower = "miejski z przerzutkami i oponami terenowymi" if jazda = "miasto",

szybkosc = "tak", sciezki = "nie";

rower = "Wybierz rower szosowy" if jazda = " asfalt";

rower = "BMX" if

jazda = "skatepark", teren = "nie";

(4)

rower = "BMX z oponami terenowymi" if jazda = "skatepark",

teren = "tak";

rower = "skonsultuj się ze sprzedawcą" if //reguła "zabezpieczająca"

(jazda = "inne")

|

(jazda = "góry", trudna = "tak", amortyzatory = "nie", hamulce = "nie");

end; //koniec bloku reguł

control //początek programu PC-Shell

run; //uruchomienie programu

vignette("Wybór typu roweru", "Baza wiedzy\n\nAutor:\n Zbigniew Kędzior","Wersja 1.0");

setAppWinTitle("System wspomagający wybór typu roweru");

menu "Menu" //tworzy menu z podpunktami

1. "Wybór typu roweru"

2. "Wyjście"

case 1: //wykonanie pierwszego podpunktu menu

goal("rower=Rower"); //inicjacja wnioskowania wstecz w celu potwier dzenia hipotezy

delNewFacts; //usunięcie nowych faktów z bazy wiedzy

case 2: //wykonanie drugiego podpunktu menu

exit; //wyjście

end; //zamknięcie menu

end; //zamknięcie programu

end; //zamknięcie bazy wiedzy

Baza wiedzy „rower.bw” składa się składa się z następujących bloków:

Blok faset – zawiera wszystkie atrybuty używane w systemie wraz z deklaracją zbioru wartości dla każdego atrybutu.

Blok reguł – zawiera deklarację reguł składających się z konkluzji oraz części warunkowej.

Program PC-Shell – zawiera informację o autorze bazy wiedzy oraz instrukcje odpowiedzialne za działanie programu.

(5)

3. Dokumentacja użytkownika.

Po otwarciu bazy wiedzy pojawia się okno informacyjne:

Pokazuje ono nazwę bazy wiedzy, informację o autorze oraz inne informacje zamieszczone przez autora. Po kliknięciu OK uruchamia się system, a u góry pojawia się rozwijane menu z dwoma pozycjami: „Wybór typu roweru” i „Wyjście”. Po wybraniu pierwszej pozycji pojawia się okienko z pierwszym pytaniem:

Pierwsze pytanie ma na celu określić ogólny typ roweru. W następnych pytaniach, będzie określane jego wyposarzenie. Po wybraniu odpowiedzi miasto, system zadaje kolejne pytanie:

(6)

System pyta się użytkownika o szybką jazdę. Aby dowiedzieć się dlaczego system zadał takie pytanie, można kliknąć przycisk „Dlaczego?”:

System uaktywnił regułę 5, jeżeli na pytanie byłaby odpowiedź „nie”, a w następnym pytaniu o ścieżki rowerowe „tak”, to system zaproponował by zakup zwykłego roweru miejskiego.

Jednak użytkownik lubi szybką jazdę, klika „tak” i pojawia się kolejne pytanie:

(7)

System pyta o ścieżki rowerowe, a użytkownik wybiera „nie” i na koniec pojawia się okienko z rozwiązaniem:

System zaproponował rower miejski z przerzutkami i oponami terenowymi, co zgadza się z oczekiwaniami użytkownika. Lubi on szybką jazdę po mieście, więc będzie musiał zmieniać przełożenie. W jego mieście nie ma ścieżek rowerowych, więc do jazdy po nierównościach i dziurach odpowiednie są opony terenowe. Aby dowiedzieć się jak system doszedł do tej konkluzji można kliknąć „Jak?”:

(8)

Z okienka, które się pojawiło wynika, że na podstawie trzech faktów system skorzystał z reguły 8.

Dany system ekspertowy został tak zbudowany, że na podstawie odpowiedzi na pierwsze i dalsze pytania proponuje on użytkownikowi różne typy rowerów w zależności od jego zapotrzebowania.

Jednak w przypadku wyboru innego miejsca niż "góry", "miasto", "asfalt" lub "skatepark", system proponuje konsultację ze sprzedawcą, co pokazuje poniższe okienko:

System nie posiada informacji o rowerach nadających się go jazdy w innych miejscach, więc nie może udzielić porady. Jednak nic nie stoi na przeszkodzie aby w przyszłości go rozbudować.

System proponuje również konsultację ze sprzedawcą wtedy, gdy użytkownik wybiera jazdę po górach, terenach trudnych i niebezpiecznych, ale nie chce roweru wyposażonego w amortyzatory i hamulce tarczowe, a więc jazda po takim terenie mogłaby się dla niego źle skończyć. Tutaj rola sprzedawcy polega na uświadomieniu użytkownika o niebezpieczeństwie, z czym system sobie nie radzi. Ponieważ uświadomienie i przekonanie człowieka o niebezpieczeństwie w przypadku niewłaściwego wyboru jest zależne od niego samego i dla każdego trzeba użyć innych argumentów, więc tylko sprzedawca może sobie z tym poradzić.

(9)

4. Wnioski, zalety i wady PC-Shell

W narzędziu tym bardzo łatwo i szybko można zbudować system, który wspomaga decyzję na podstawie faktów i reguł. Jednak jest potrzebna duża ilości faktów i dobrze dobrane reguły, aby system działał sprawnie i wyciągał właściwe wnioski. W tym celu niezbędna jest wiedza specjalistów z danej dziedziny, więc jest ona trudna do zdobycia i kosztowna. Jednak mając dostęp do takiej wiedzy, można w oparciu o nią zbudować sprawny system.

Działanie systemu polega na zadawaniu pytań użytkownikowi, szukaniu faktów, uaktywnianiu reguł i wyciąganiu wniosków. Odpowiedź użytkownika może nie zawsze być właściwa, bo np. nie zrozumie dobrze pytania. Tylko człowiek potrafi zadać to samo pytanie w inny sposób i na bieżąco analizować poprawność udzielonej odpowiedzi.

Na pewno zbudowany system ekspertowy z bazą wiedzy dobrze nadaje się do wyciągania wniosków w dziedzinie, w której błędny wniosek nie jest szkodliwy.

Moim zdaniem w ważnych dziedzinach końcową decyzje powinien podejmować specjalista, a system może mu posłużyć w celu pomocy, zmniejszenia ilości jego pracy i wstępnej konsultacji z użytkownikami.

Cytaty

Powiązane dokumenty

Proces wnioskowania odbywa się zgodnie z wybraną metodą wnioskowania, wywodzącą się najczęściej z nauk matematycznych – logiki, rachunku..

Narty z grupy slalomTop stosuje się do jazdy rekreacyjnej, dla osób preferujących krótki skręt, o normalnym stylu jazdy i wysokich lub średnich umiejętnościach. Narty z

• Akwizycja wiedzy – proces pozyskiwania wiedzy niezbędnej do realizacji systemu ekspertowego.. • Na proces składają się: rozpoznanie problemu, wywiady z ekspertem,

[r]

Załóżmy, że nasz użytkownik nie jest studentem, lubi odżywiad się zdrowo, pasuje mu aktualna waga, preferuje słodkie śniadania oraz toleruje laktozę.. Proces wnioskowania

Bazy wiedzy systemu zapisywane są przy użyciu języka opisu bazy wiedzy Sphinx, integrującego w sobie deklaratywny język reprezentacji wiedzy oraz imperatywny język

• Wiedza eksperta może mieć różny zakresy różną szczegółowość jednak sensownym jest tworzenie bazy wiedzy o wysokim poziomie szczegółowości i niskim

[r]