systemy ekspertowe - mblachnik.pl · obliczeniowej zamiast o sztucznej inteligencji, lub też...
Embed Size (px)
TRANSCRIPT
Systemy ekspertowe
dr in.Marcin Blachnik
http://mblachnik.pl
mailto:[email protected]
Literatura A. Niederliski Reguowo - modelowe systemy
ekspertowe rmse, Wyd. SKALMIERSKI
P. Cichosz, Systemy uczce si, WNT, W-wa , 2000
B. Stefanowicz Systemy eksperckie Przewodnik Wydanie III rozszerzone, Wyd. WSISiZ
S. Osowski, Sieci neuronowe w ujciu algorytmicznym, WNT, 1996
L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, 2006
A. Piegat Modelowanie i sterowanie rozmyte, Wyd. EXIT
T. Wieczorek, Neuronowe modelowanie procesw technologicznych, Wyd. Politechniki l. 2008
O czy bdzie mowa Klasyczne systemy ekspertowe
Wstp do metod inteligencji obliczeniowej
Logika matematyczna
Budowa systemw reguowych
Systemy automatycznego wyodrbniania regu Bezporednie wyodrbnianie regu CN2/
Algorytmy drzew decyzji C&RT/C4.5
Systemy regu rozmytych Logika rozmyta
Rozmyte systemy reguowe
Systemy Mamdaniego
Systemy Takagi-Sugeno
Automatyczne wyodrbnianie regu rozmytych Algorytm ANFIS
Inteligencja obliczeniowa
Inteligencja
Wadysaw Kopaliki, Sownik wyrazw obcych i zwrotw obcojzycznych
inteligencja psych. zdolno rozumienia, kojarzenia; pojtno, bystro; zdolno znajdowania waciwych, celowych reakcji na nowe zadania i warunki ycia, sprawnego zdobywania i wykorzystywania wiedzy.
Inteligencja obliczenoiwa Co to takiego?
Computational Intelligence (CI) / Artificial intelligence (AI)
Ile ksiek tyle definicji co to AI
John McCarthy w 1956 zdefiniowa AI jako nauka i inynieria robienia inteligentnych maszyn
Inteligentna maszyna to system ktry analizuje swoje rodowisko i podejmuje dziaanie ktre maksymalizuje prawdopodobiestwo odniesienia sukcesu w tym rodowisku
Lub po prostu:
Rozwizywanie problemw nie algorytmizowalnych lub trudno algorytmizowalnych
http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29
Inteligencja obliczenoiwa Co to takiego? cd.
Sztuczna inteligencja cz informatyki w jej skad wchodz:
Struktury danych uywane do reprezentacji wiedzy
Algorytmy wykorzystujce zebran wiedz (w postaci powyszych struktu)
Jzyk i techniki programowania wykorzystywane do implementacji powyszych
Obecnie coraz czciej mwi si o inteligencji obliczeniowej zamiast o sztucznej inteligencji, lub te traktuje sztuczn inteligencj jako podzbir inteligencji obliczeniowej.
Inteligencja obliczeniowa a sztuczna inteligencja
Inteligencja
obliczeniowa
Sieci
neuronowe
Logika
rozmyta
Algorytmy
genetyczne
Metody
statystyczne
Optymalizacj
a i badania
operacyjne
Rachunek
prawdopodo
biestwa
Rozpoznawa
nie wzorcwUczenie
maszynowe
Systemy
ekspertowe
Drenie
danych
Wizualizacja
Ciekawostki
AI a etyka:
Jeeli zbudujemy inteligentn maszyn, czy bdzie ona miaa zdolno do odczuwania?
Jeli tak, to czy majc zdolno odczuwania bdzie ona miaa takie same prawa jak ludzie?
Problemy Typowe problemy inteligencji obliczeniowej
Znajdowanie rozwiza dla rnych gier (szachy, warcaby, wychodzenie z labiryntw itp.)
Automatyczne wnioskowanie i dowodzenie twierdze
Systemy ekspertowe - budowanie duych baz wiedzy
Przetwarzanie i rozumienie jzyka naturalnego translacja pomidzy jzykami (np. Google tumacz), rozumienie zda, rozpoznawanie mowy (np. Ms. Vista, Opera), chatterboty itp
Modelowanie ludzkich potrzeb chatterboty jako wirtualny pomocnik, systemy autoasocjacyjne, diagnozowanie medyczne
Planowanie i robotyka automatyczne planowanie produkcji, sterowanie robotem itp.
Konstruowanie jzyka i rodowiska do przetwarzania wiedzy (prolog, lisp)
Rozpoznawanie i analiza obrazw itp.
Podejcia do rozwizywania
problemw sztucznej inteligencji
Neurologia budowa mzgu
Psychologia poznawcza i kognitywistyka jak ucz si ludzie i jak reprezentuj wiedz systemy rozmyte, systemy bazujce na prototypach
Biologia algorytmy genetyczne, algorytmy ewolucyjne, algorytmy mrwkowe
Inynieria alg. Symulowanego wyarzania
Statystyka teorie probabilistyczne, posybilistyczne itp.
Systemy ekspertowe
Ekspert 1. Specjalista powoywany do wydania
orzeczenia lub opinii w sprawach spornych
2. Osoba uznawana za autorytet w jakiej dziedzinie
3. Ekspert jest czowiekiem, ktry popeni wszystkie moliwe bdy, jakie mog by popenione, w bardzo wskiej specjalizacji. (*)
(*) Niels Henrik David Bohr, fizyk duski, noblista
Ekspert - problemy
Szybko przetwarzania (czowiek jest w stanie przetwarza 7 procesw jednoczenie, przy wikszej liczbie nastpuje serializacja)
Koszty
Moliwoci eksploatacji
Ulotno wiedzy (zwolnienie/choroba/mier)
Niezaleno (brak moliwoci wpywu na decyzj eksperta, problem z natur ludzk)
Co to s systemy ekspertowe
Rozwizanie
Automatyczne systemy wspomagania decyzji = systemy ekspertowe
Systemy ekspertowe
to program lub zestaw programw komputerowych wspomagajcy korzystanie z wiedzy i uatwiajcy podejmowanie decyzji. Systemy ekspertowe mog wspomaga bd zastpowa ludzkich ekspertw w danej dziedzinie, mog dostarcza rad, zalece i diagnoz dotyczcych problemw tej dziedziny.
(*) rdo - wikipedia
Przykady wykorzystania ekspertw / systemw ekspertowych
Przykady:
Banki problem podejmowania decyzji kredytowej
Przemys - sterowanie urzdze (piece)
Usugi serwisy sprztu technicznego - metodologia usuwania awarii
Medycyna automatyczna klasyfikacja chorb
Energetyka sterowanie urzdze, planowanie zuycia energii
Automatyczne gry gra w szachy
Porwnanie ekspert system ekspertowy
Ekspertyza naturalna czowieka
Ekspertyza systemu
Wady
tracca na wartoci z upywem czasu
trudna do przeniesienia
trudna do dokumentacji
nie dajca si przewidzie
kosztowna
Zalety
staa
atwa do przeniesienia
atwa do dokumentacji
zgodna z baz wiedzy
dostpna
Zalety
twrcza
adaptacyjna
wykorzystane zmysw
szeroki zakres
wiedza zdrowego rozsdku
Wady
nie inspirujca
wymaga wprowadzenia wiedzy
wejcia symboliczne
wski zakres
wiedza przetwarzana w sposb mechaniczny
Kategorie systemw ekspertowych Systemy doradcze
doradzaj przy podejmowaniu decyzji. Czowiek ma moliwo weryfikacji podjtej decyzji, odrzucenia jej i zadania alternatywnej. Systemy w ktrych czowiek jest ostatecznym ogniwem podejmowania decyzji.
Systemy podejmujce decyzje bez kontroli czowieka systemy autonomiczne w ktrych maszyna/program podejmuje ostateczn decyzj bez udziau czowieka
Systemy krytykujce znajc problem jak i jego rozwizanie (wynik) system pokazuje jak rozwizanie osignito (metodologi rozwizania)
Budowa systemw ekspertowych
Wikipedia, sysmtemy ekspertowe, http://upload.wikimedia.org/wikipedia/pl/6/6c/System_ekspertowy_2.png
Skadowe systemu ekspertowego Baza wiedzy (np. zbir regu), Baza danych/baza faktw (np. dane o obiekcie,
wyniki pomiarw, hipotezy), Maszyna wnioskujca system podejmujcy
decyzje Mechanizm wyjaniajcy - objaniaj strategi
wnioskowania, Interfejs uytkownika - procedury
wejcia/wyjcia umoliwiaj formuowanie zada przez uytkownika i przekazywanie rozwizania przez program,
Edytor bazy wiedzy - procedury umoliwiajce rozszerzanie oraz modyfikacj wiedzy- pozyskiwanie wiedzy.
Budowa systemw ekspertowych
Maszyna wnioskujca
Baza faktw Baza wiedzy
Najwaniejsze elementy SE
Baza wiedzy
Jest integraln, podstawow i niezbdn czci systemu ekspertowego, zawieraj cakowit wiedz systemu zapisan najczciej w postaci regu. Zebrana wiedza jest podstaw przeprowadzenia procesu wnioskowania.
Najwaniejsze elementy SE
Baza faktw
Jest integraln czci systemu ekspertowego, zawiera zbir informacji (zbir danych) stanowicych wartoci przesanek regu, na podstawie ktrych mechanizm wnioskujcy przeprowadza proces wnioskowania
Najwaniejsze elementy SE
Mechanizm wnioskujcy
Narzdzie potrafice zinterpretowa zapisane reguy i dokona procesu wnioskowania - czyli wykorzystania wiedzy zapisanej w bazie wiedzy i dostpnych faktw pochodzcych z bazy faktw
Podzia systemw ekspertowych ze wzgldu na budow programu
Systemy dedykowane tworzone wsplnie przez inyniera wiedzy, eksperta i informatyka do rozwizywania konkretnych problemw
Systemy szkieletowe (shells) oglne systemy dostpne na rynku w postaci programw z pust baz wiedzy. Wiedza wprowadzana jest do nich bezporednio przez ekspertw.
Podzia systemw ekspertowych ze wzgldu na rdo wiedzy
Na bazie wiedzy eksperta wiedza wydobywana jest na podstawie obserwacji bd wywiadw, ankiet z ekspertem
Na bazie dostpnych danych historycznych majc dostp do zgromadzonych danych czyli wynikw dziaania eksperta w warunkach produkcyjnych, moliwe jest automatyczne pozyskanie wiedzy.
Podzia systemw ekspertowych
Ze wzgldu na sposb reprezentacji wiedzy
Logika boolowska {0,1}
Logika wielowartociowa (np.. ukasiewicza)
Logika rozmyta
Ze wzgldu na rodzaj przetwarzanej informacji
systemy z wiedz pewn, czyli zdeterminowan,
systemy z wiedz niepewn, w przetwarzaniu ktrej wykorzystuje si przede wszystkim aparat probabilistyczny.
Projektowanie systemu ekspertowego
Okrelenie dziedziny problemu
Zdobycie wiedzy
Wybr platformy dla systemu ekspertowego (system shellowy, system dedykowany itp)
Implementacja systemu
Wybr mechanizmw wnioskowania
Implementacja bazy wiedzy i faktw
Implementacja interfejsw uytkownika
Projektowanie systemu ekspertowego
Okrelenie dziedziny problemu
Dokadne zdefiniowanie klasy problemw ktre system ma rozwizywa
Zdefiniowanie wymaga systemu
Okrelenie sposobu pozyskania wiedzy
Projektowanie systemu ekspertowego
Budowa bazy wiedzy
Problem komunikacji inyniera wiedzy i
eksperta! (Zagroenie stanowiska, rnice jzykowe, urata znaczenia itp)
Inynier wiedzy
Dane, problemy, pytania
Wiedza, koncepcje, rozwizania
Wiedza strukturalizowana Ekspert dziedziny
Baza wiedzy
Projektowanie systemu ekspertowego Baza wiedzy Konstrukcja waciwej bazy wiedzy jest podstaw
poprawnego funkcjonowania systemu ekspertowego. Wymaga ona wyboru odpowiednich faktw z dziedziny dziaania systemu, uniknicia bdw i wyboru odpowiedniej struktury dla tych faktw.
Podczas tworzenia bazy wiedzy naley odpowiedzie sobie na nastpujce pytania: Jakie obiekty naley zdefiniowa? Jakie s relacje midzy obiektami? Jak naley formuowa i przetwarza reguy? Czy pod wzgldem rozwizania specyficznego problemu
baza wiedzy jest kompletna i spjna
Konstruowanie bazy wiedzy
Identyfikacja - okrelenie charakterystyki problemu do rozwizania (ekspert i inynier wiedzy okrelaj problem do rozwizania i jego zakres - ponadto okrelaj potrzebne rodki);
Reprezentacja - znalezienie sposobu reprezentacji wiedzy (przeprowadzana jest analiza problemu, bardzo istotne jest przeprowadzenie jej w gruntowny sposb, co niweluje wystpowanie trudnoci w pniejszym czasie. Gdy problem jest ju zrozumiay naley przystpi do ustalenia informacji oraz danych potrzebnych do jego rozwizania a nastpnie zacz je kompletowa);
Konstruowanie bazy wiedzy Formalizacja - zaprojektowanie struktur organizujcych
wiedzy (przeoenie kluczowych koncepcji, regu i relacji na jzyk formalny. Inynier wiedzy powinien zaprojektowa syntaktyk i semantyk tego jzyka, a nastpnie wraz z ekspertem ustali wszystkie podstawowe pojcia i relacje, ktre s niezbdne do rozwizania postawionego problemu);
Implementacja - sformuowanie regu lub ram zawierajcych wiedz (inynier wiedzy czy i reorganizuje sformalizowan wiedz tak, aby staa si zgodna z charakterystyk przepywu informacji danego problemu. Powstay zestaw regu lub ram i powizana z nimi struktura kontrolna tworzy prototypowy program);
Testowanie - sprawdzenie zastosowanych w systemie regu lub ram (reguy i relacje s sprawdzane pod ktem generowania przez nie odpowiedzi zgodnych z wymaganiami eksperta.).
Projektowanie systemu ekspertowego
Baza wiedzy cd.
Pozyskiwanie wiedzy na bazie komunikacji z ekspertem
1. Analiza dziaalnoci eksperta w miejscu pracy, obserwacja wykonywanych dziaa itp. analiza zoonoci problemu
2. Dyskusja problemu uszczegowienie wiedzy, analiza formy reprezentacji wiedzy eksperta.
3. Opisywanie problemu analiza pozyskanej wiedzy, poszukiwanie niespjnoci wiedzy i jej brakw (sposb postpowania dla okrelonych faktw)
Projektowanie systemu ekspertowego
Analizowanie problemu. komunikacja inyniera wiedzy z ekspertem, uszczegawianie znalezionych brakw wiedzy, analiza pracy eksperta, wyjanianie niespjnoci wiedzy
Udoskonalanie systemu komunikacja eksperta z inynierem sprzenie zwrotne majce na celu weryfikacj zaimplementowanej wiedzy, wstpn weryfikacj systemu
Projektowanie systemu ekspertowego
Testowanie systemu testowanie i opiniowanie przez eksperta zbudowanej bazy wiedzy, ocena regu, strategii wyboru regu, prototypowanie systemu itp.
Legalizacja systemu. analiza systemu przez innych ekspertw celem dalszej weryfikacji i uszczelnienia systemu
Formy reprezentacji
wiedzy
Formy reprezentacji wiedzy i
typy regu
Proceduralna
Deklaratywna
Rne typy regu
Reguy klasyczne (twarde)
Reguy rozmyte
Reguy bazujce na wzorcach (bazujce na prototypach)
Budowa regu
Jeeli pogoda jest pochmurna
i
cinienie jest niskie
to
wystpi opady deszczu
Fakty/Przesanka
fakt
zmienna warto
Zmienna warto
Implikacja Poprzednik
Nastpnik
konkluzja
Reguy klasyczne
Podlegaj klasycznej logice dwuwartociowej
Operuje na wartociach {0,1}
Kady operator jak i fakt przyjmuje wartoci prawda/fasz
Przykad
Jeeli temperatura(x) >38 st.C i dreszcze(x) to X ma gryp
Reguy klasyczne - przykad
W postaci klasycznych regu jeeli .. To ..
List regu
Jeeli temperatura 80 to bdzie pada
Drzew decyzji
Reguy rozmyte
Podlegaj logice w ktrej wystpuje nieskoczenie wiele wartoci
Wykorzystuj bardziej naturalny dla ludzi sposb reprezentacji przesanek temperatura wysoka, niskie cinienie
Wynikiem kadej operacji/operatora jest liczba z przedziau [0,1] okrelajca stopie spenienia tej operacji
Przykad:
Jeeli pogoda jest pochmurna i cinienie jest niskie to wystpi opady deszczu
Reguy rozmyte - przykad
W postaci regu rozmytych Jeeli temperatura jest okoo 15st i wilgotno
jest okoo 80 to bdzie pada
Reguy bazujce na prototypach
Posiadaj wszystkie waciwoci regu rozmytych
Przesanki regu rozmytych reprezentuj podobiestwo do obiektw wzorcowych
Naturalna forma reprezentacji wiedzy przez nasze mzgi
Rozwizanie problemu interpretacji zoonych baz wiedzy (czytelna forma regu)
Jeeli warunki atmosferyczne s typowe dla deszczu to powinien wystpi opad
Reguy bazujce na prototypach -
przykad
W postaci regu bazujcych na prototypach
Jeeli pogoda jest za to bdzie pada w przeciwnym razie nie bdzie pada
Inne formy reprezentacji wiedzy
W postaci probabilistycznej P(wilgotno,temperatura|pada) >
P(wilgotno,temperatura|nie pada) => nie bdzie pada
Inne formy reprezentacji wiedzy
Za pomoc zbiorw przyblionych (definiujemy doln i grn aproksymacj dla zbioru pada) i na podstawie odpowiedniej heurystyki podejmujemy decyzj
Dolna aproksymacja
Grna aproksymacja
Inne formy reprezentacji wiedzy
Sieci semantyczne (np. gra w 20 pyta)
Systemy ekspertowe
narzdzia
Jzyki reprezentacji wiedzy
Prolog - Programmation en Logique jzyk programowania logicznego, stworzony w 1971 roku
LIPS Language Integrated Production System. jeden z najstarszych jzykw programowania logicznego (1951) Obok fortrana najstarszy jzyk wysokiego poziomu
CLIPS - C Language Integrated Production System. Jedna z darmowych wersji implementacji jzyka LIPS
http://pl.wikipedia.org/wiki/1971