Systemy ekspertowe

advertisement
Systemy
ekspertowe
Idea systemów ekspertowych
- System ekspertowy (doradczy) to program wykorzystujący wnioskowanie do rozwiązania
problemów, które są na tyle trudne, że normalnie wymagają pomocy specjalistów
(doradców, ekspertów);
- Wiedza i procedury wnioskowania są zazwyczaj w posiadaniiu najlepszych specjalistów w
danej dziedzinie;
- Ogólnie system ekspertowy składa się z bazy wiedzy, uzyskanej od specjalistów w danej
dziedzinie oraz z mechanizmu wnioskowania, który pozwala z tej ekspertyzy skorzystać;
- System ekspertowy składa się z:
a) modułu ekstrahowania wiedzy (akwizycji, pozyskiwania, zdobywania),
b) bazy wiedzy,
c) mechanizmu wnioskowania,
d) objaśnianie wiedzy,
e) interfejsu (sprzętu) pomiędzy użytkownikiem a systemem;
Dlaczego używa się systemy ekspertowe
1. Często używane systemy ekspertowe, zazwyczaj dostarczają ekspertyzy znacznie taniej, niż
żywi specjaliści.
2. Systemy ekspertowe pracują znacznie szybciej niż specjaliści, co pozwala na oszczędność
zarówno kosztów jak i siły roboczej.
3. Systemy ekspertowe poprawiają jakość ekspertyzy dzięki konsekwencji przy wyciąganiu
wniosków i mniejszej liczbie błędów.
4. Diagnostyczne systemy ekspertowe redukują długość przerw w pracy, które są bardzo
kosztowne zwłaszcza dla systemów o ciągłym trybie pracy, jak huty, elektrownie, zakłady
chemiczne itp. np. w system o nazwie DRILLING ADVISOR diagnozuje problemy
naftowych wieży wiertniczych, dla których dzień przestoju kosztuje 200 tys. dolarów.
5. Ekspertowy system przechowuje trudno dostępną ekspertyzę, co może być decydujące np.
w sytuacji gdy liczba ekspertów jest niewystarczająca lub zabraknie ich w ogóle.
6. Systemy ekspertowe pozwalają na większą elastyczność produkcji i obsługi klientów.
7. Systemy ekspertowe powodują, że skomplikowane urządzenia stają się łatwiejsze do
obsługi (np. system STEAMER uczy nowych pracowników obsługi skomplikowanych
silników dźwiękowych).
8. Systemy ekspertowe często pozwalają na użycie mniej skomplikowanych i tańszych
urządzeń kontrolnych.
9. Systemy ekspertowe przyczyniają się do większego bezpieczeństwa pracy, z powodzeniem
zastępują specjalistów w środowisku i w sytuacjach szkodliwych dla zdrowia lub
zagrażających życiu.
10.Systemu ekspertowe są bardziej niezawodne od ludzi: nie chorują, nie męczą się, nie
strajkują, zwracają uwagę na wszystkie szczegóły i nie przegapiają ani istotnej informacji
ani możlliwych rozwiązań.
11.Systemy ekspertowe mają zwykle szybszy czas reakcji niż sami eksperci zwłaszcza wtedy,
gdy problem wymaga operowania na dużej liczbie danych.
12.Systemy ekspertowe potrafią często radzić sobie z brakującą, lub niepewną informacją
wyciągając wnioski o pewnym prawdopodobieństwie.
13.Systemy ekspertowe są przydatne dla celów szkoleniowych, mogą być instalowane w
treningach pilotów, gdzie symulowana jest pewna sytuacja a szkolący musi podjąć
najlepszą decyzję, która jest konfrontowana z odpowiedzią systemu ekspertowego.
14.Systemy ekspertowe zwykle oferują kilka dopuszczalnych rozwiązań podczas, gdy zwykłe
programy dają jedynie optymalne rozwiązanie.
15.Systemy ekspertowe pozwalają na rozwiązanie wielu złożonych problemów, które albo
normalnie wykraczają poza ludzkie możliwości albo wymagają większego zasobu wiedzy
niż wiedza jednego człowieka. W systemach ekspertowych jest możliwość łączenia wiedzy
wielu ekspertów w różnych dziedzinach.
Zagadnienia sztucznej inteligencji
Definicja ludzkiej inteligencji:
„ swoisty zespół zdolności umysłowych umożliwiający jednostce ludzkiej sprawne
korzystanie z nabytej wiedzy oraz skuteczne zachowanie się wobec nowych zadań i
warunków życia ”
Jest to jedna z wielu definicji inteligencji ludzkiej.
Co to jest inteligencja sztuczna?
Jest to „inteligentne” zachowanie się maszyny. Ale maszyna pracuje wg algorytmu, czyli co
nie przewidziano w algorytmie to tego nie wykona. Jest to sprzeczność z pojęciem
inteligencji. I kto ma sprawdzać „inteligencję” maszyny? Druga maszyna? Człowiek
sprawdzi. Aby uznać maszynę za inteligentną musi ona przekonać człowieka, że jej
inteligencja nie różni się od ludzkiej.
Test Turinga
Test odbywa się w trzech pokojach. W pierwszym pokoju znajduję się osoba przesłuchująca
A, w drugim pokoju ktoś inny, a w trzecim testowany komputer. Przesłuchujący A zna tylko
nazwy dwóch pozostałych B i C, ale nie wie, kto jest kim.
Wszystkie pokoje są wyposażone w końcówki komputerowe, przy czym końcówka osoby A
jest połączona z B i C

A
B
człowiek lub
komputer
C
człowiek lub
komputer
Przesłuchujący A może zadać dowolne pytanie lub wyrazić dowolne stwierdzenie skierowane
do któregokolwiek z B i C, a komputer musi starć się jak najlepiej oszukać osobę A,
sprawiając wrażenie istoty ludzkiej.
Mówimy, że komputer przeszedł test, jeśli A nie rozpozna go w wyznaczonym czasie.
Praktycznie komputer musi przejść pewną liczbę testów z różnymi przesłuchiwującymi, żeby
zminimalizować możliwość, że osoba A odgadnie kto kim jest.
Trzeba powiedzieć, że dotąd żaden komputer nie dotarł w pobliżu granicy przejścia tego testu
i wielu badaczy twierdzi, że jeśli przesłuchujący będzie usilnie się starał, nigdy żaden nie
dotrze.
Można skonstruować wiele pytań z bardzo wielu i bardzo różnych dziedzin, a komputer
winien na nie sensownie odpowiadać.
Oczywiście nie wymagamy aby słyszał i mówił, wystarczy na przykład aby wyświetlił na
ekranie lub drukował.
Pewnym sukcesem jest opracowani programu ELIZA naśladowującego psychoanalityka.
Program był tak przekonywujący, że ludzie ufali mu w sposób, w jaki nigdy nie zaufaliby
człowiekowi.
Oto próba:
osoba:
ELIZA:
Moja żona mówi, że często jestem przygnębiony.
Przykro mi słyszeć, że jesteś przygnębiony
osoba:
ELIZA
Prawdę mówiąc jestem całkiem nieszczęśliwy.
Czy myślisz, że po przyjściu tutaj będziesz bardziej szczęśliwy
Program dział w ten sposób, że wyłąpuje pewne słowo np. brat i wybiera losowo jedną z
wielu odpowiedzi, łączy to ze słowem rodzina.
Program ELIZA nie spełnił testu Turinga, ale pokazuje, jak łatwo jest uchodzić za
inteligentnego.
Dziedzinę sztucznej inteligencji możemy podzielić na kilka poddziedzin, każda z nich ma
swoją problematykę:
1. Rozwiązania zadań i strategia poszukiwań
2. Teoria gier
3. Automatyczne dowodzenie twierdzeń
4. Rozumienie i przetwarzanie języka naturalnego
5. Systemy ekspertowe
6. Robotyka
7. Procesy percepcji (wzrok, słuch, węch, dotyk)
8. Uczenie się maszyn
9. Wyszukiwanie informacji (inteligentne bazy danych)
10.Automatyczne programowanie komputerów
W metodach sztucznej inteligencji następuje przejście od przetwarzania danych do
przetwarzania wiedzy. Systemy te określa się jako systemy oparte na wiedzy.
Zadanie uważa się za sformułowane, jeżeli jest znany stan początkowy, znany jest cel i
operacja za pomocą których można przechodzić od stanu jednego do stanu następnego. Mogą
być zadane ograniczenia mówiące, że pewne stany są niedopuszczalne. Jako przykład może
służyć zadanie: zadanie o misjonarzach i ludożercach.
Na lewym brzegu stoi trzech misjonarzy i trzech ludożerców. Chcą przepłynąć na prawy
brzeg. Mają łódkę mieszczącą dwoje ludzi. Wszyscy umieją wiosłować. Zadanie polega na
tym, aby przewieźć 6 ludzi na prawy brzeg przy jednym ograniczeniu liczba misjonarzy na
dowolnym brzegu nigdy nie może być mniejsza od liczby ludożerców.
Stan możemy opisać (liczba misjonarzy na lewym brzegu, liczba ludożerców na lewym
brzegu, położenie łódki)
A więc stan początkowy (3,3,L).
Stan końcowy (3,3,P).
W wielu problemach, aby osiągnąć pożądane rozwiązanie należy przeszukać ogromny zbiór
możliwości. Najczęściej jest to niemożliwe np. problem komiwojażera: odwiedź n miast,
wyjeżdżając z jednego z nich i powrócić do tego miasta, tak aby suma dróg byłaby jak
najmniejsza. Dla 20 miast jest 19! możliwości (19!>1017 ), co nie jest możliwe do obliczenia.
Potrzebna jest do tego jakaś inteligentna metoda. Trochę tych metod jest, ale jest więcej do
zrobienia niż zrobiono. Ten problem i wiele innych problemów należy do grupy problemów
NP-trudnych, gdzie liczb operacji potrzebnych do obliczenia zadania nie rośnie
wielomianowo, ale szybciej np. wykładniczo.
Dobre wyniki zostały osiągnięte przez badaczy (twórców) sztucznej inteligencji w dziedzinie
teorii gier (chodzi tu o takie gry jak szachy, jak również o dział matematyki zajmującej się
badaniem modeli sytuacji konfliktowych).
Od lat są opracowywane programy komputerowe grające w szachy i praktycznie człowiek
(chodzi o arcymistrzów) jest lepszy. Dlaczego programy nie potrafią grać doskonale w szachy
i wygrywać z ludźmi? Problem tkwi w drzewach gry. Proste gry mają mniejszą liczbę
możliwych ruchów, można je wszystkie sprawdzić. Natomiast w szachach białe mają 20
możliwości pierwszych posunięć, a średnia liczba możliwych następnych posunięć wynosi
35, a więc drzewo na każdym poziomie rozgałęzi się 35 razy, głębokość drzewa wynosi 100 i
więcej. Tym samym liczba możliwych ruchów wynosi 35 100 .
DRZEWO GRY
pozycja początkowa
ruchy gracza A
ruchy gracza B
remis
ruchy gracza A
wygrywa A
ruchy gracza B
remis
wygrywa A
wygrywa A
wygrywa B
Jest to liczba większa o wiele rzędów wielkości od liczby protonów we wszechświecie, czy
liczby milisekund, które upłynęły od „Wielkiego wybuchu”. Spróbujmy oszacować pamięć,
czy czas potrzebny do obliczania?
Jak zatem działają dobre programy rozwiązujące problemy gier (nie tylko rozrywkowych, ale
i gier strategicznych dotyczących problemów globalnych, wojskowych, politycznych)?
Używają one heurystyk, czyli inaczej mówiąc zasad praktycznych wynikających z
doświadczenia, rozsądku. W tych zagadnieniach gier (przeszukiwań drzew) heurystyki
pozwalają pominąć mało obiecujące rozwiązania, wydatnie zmniejszyć liczbę poszukiwań.
Ale w ten sposób mogą być również zgubione dobre rozwiązania.
Podstawowe wiadomości o systemach ekspertowych.
Główne koncepcje SE:
- System ekspertowy jest programem komputerowym, który wykonuje złożone zadania o
dużych wymaganiach intelektualnych i ręki to tak dobrze jak człowiek będący ekspertem w
tej dziedzinie.
- Współczesne systemy ekspertowe w niektórych dziedzinach wykonują zadania, których nie
mógłby wykonać człowiek – są to problemy podejmowania decyzji w czasie rzeczywistym
przy bardzo dużej liczbie informacji np. siłownie energetyczne, statki kosmiczne ,
zagadnienia sterowania rakietami .
- Systemy ekspertowe są stosowane w dziedzinach, gdzie wiedza na dany temat jest niepewna
lub niepełna, albo dla których nie ma algorytmu o bardzo dużej złożoności obliczeniowej
są to problemy NP.-zupełne.
System ekspertowy w którym jest wykorzystywana wiedza eksperta musi posiadać
bazę wiedzy. Pozyskiwanie ( akwizycja) wiedzy ekspertów i jej zapisanie w odpowiedni
sposób jest czasochłonne i kosztowne, stąd wysiłek włożony w jej utworzenie będzie
opłacalny, gdy system ekspertowy będzie wykorzystywany przez dłuższy czas i wielu
użytkowników.
Oczywistą zaletą systemu ekspertowego jest rozwiązywanie problemów bez udziału
eksperta, możliwość scalenia wiedzy wielu ekspertów jak również szybkość uzyskiwania
ekspertyz.
Moc systemu ekspertowego tkwi w bazie wiedzy a nie w sposobie realizacji
wnioskowania zawartej w systemie ekspertowym.
Struktura systemów ekspertowych
- baza wiedzy (zakodowane ekspertyzy)
- baza danych ( np. dane o obiekcie, wyniki pomiarów, hipotezy)
- procedury wnioskowania – maszyna wnioskująca
- procedury objaśniania – objaśniają strategię wnioskowania
- procedury sterowania dialogiem – są to procedury we/wy umożliwiające formułowanie
zadań przez użytkownika oraz przekonujące rozwiązania uzyskane przez program
- procedury umożliwiające rozszerzenie oraz modyfikację wiedzy – pozyskiwanie wiedzy
Systemy z bazami wiedzy odseparowanymi od pozostałych modułów programu
nazywamy systemami opartymi na bazie wiedzy.
Wiedza z danej dziedziny o postaci strukturalizowanej i sformalizowanej może być
wprowadzona do bazy wiedzy systemu ekspertowego różnymi sposobami np. przez inżyniera
wiedzy (odpowiednika analityka systemów w przetwarzaniu danych ).
Podstawowe zagadnienia systemach opartych w bazie wiedzy:
a) reprezentacja wiedzy
b) pozyskiwanie wiedzy
c) sposób użycia wiedzy
d) objaśnienie i uczenie się
Porównanie konwencjonalnego przetwarzania z inżynierią wiedzy
Konwencjonalne przetwarzanie danych
programista, analityk systemów
program
baza danych
reprezentacja i użycie danych
algorytmy
efektywna manipulacja dużymi bazami
danych
Inżynieria wiedzy
inżynier wiedzy
system ekspertowy
baza wiedzy
reprezentacja i użycie wiedzy
heurystyki
efektywna manipulacja dużymi
bazami wiedzy
Porównanie ekspertyzy naturalnej z ekspertyzą wykonaną przez program
Ekspertyza naturalna
Ekspertyza sztuczna
wykonywana przez człowieka
WADY:
- tracąca na wartości z upływem czasu
- trudne do przeniesienia
- trudna w dokumentacji
- nie dająca się przewidzieć
- kosztowna
ZALETY:
- twórcza
- adoptacyjna
- wykorzystanie zmysłów
- szeroki zakres
- wiedza zdrowego rozsądku
wykonana przez program
ZALETY:
- stała z upływem czasu
- łatwe do przeniesienia
- łatwa w dokumentacji
- zgodna z bazą danych
- dostępna
WADY:
- nie inspirująca
- wymaga wprowadzania wiedzy
- wejścia symboliczne
- wąski zakres
- wiedza przetwarzana w sposób
mechaniczny
Wyniki działania systemu ekspertowego:
- diagnoza (monitoring)
- prognoza
- plan
diagnoza – rozpoznawanie stanu istniejącego
monitoring – śledzenie zmian
prognoza – przewidywanie stanu przyszłego w oparciu o bieżące i poprzednie informacje
plan – to opis pewnego stanu, do którego należy dążyć wraz z trajektorią stanów pośrednich
W niektórych systemach ekspertowych występują połączone typy pracy np. połączenie
diagnozy wraz z monitoringiem oraz planowania występuje w systemach sterowania.
Połączenie diagnozy i prognozy występuje w programach medycznych np. CASNET, gdzie
na podstawie diagnozy zdrowia pacjenta określa się prognozę zdrowia w przyszłości.
Rodzaje systemów ekspertowych
Kategoria
Interpretacyjna
Predykcyjna
Diagnostyczna
Kompletowania
Planowania
Monitorowania
Sterowania
Poprawiania
Zadania wykonywane przez system ekspertowy
dedukują opisy sytuacji z obserwacji lub stanu czujników np.
rozpoznawanie mowy, obrazów, sygnałów, struktur danych
wnioskują o przyszłości na podstawie danej sytuacji np.
prognoza pogody, rozwój choroby, sytuacja ekonomiczna
określają wady systemu na podstawie obserwacji np. w
medycynie, mechanice
konfigurują obiekty w warunkach ograniczeń np. konfigurują
sprzęt komputerowy ( komp. VAX system R1, XCON)
podejmują działania aby osiągnąć cel np. ruchy robota,
sytuacja międzynarodowa
porównuje obserwację z ograniczeniami np. w elektrowniach,
w medycynie, w ruchu ulicznym, dużych budowli
inżynierskich – zapory wodne (Czorsztyn)
kieruje zachowaniem systemu obejmuje interpretowanie
produkcję, monitorowanie i zachowanie obiektu
podaje sposób postępowania w przypadku złego
funkcjonowania obiektu np. w statku kosmicznym, w
Naprawy
Instuowania
lokomotywie spalinowej, statku morskiego
harmonogramują czynności przy dokonywaniu napraw
uszkodzonych obiektów
systemy doskonalenia zawodowego – dla studentów –
programy nauczania
Projektowane obszary zastosowań systemów ekspertowych
Bankowość
Przemysł
Handel
i
i usługi
ubezpieczenia
Monitorowanie obserwowanie nadzorowanie obserwowanie
Sterowanie
trendów
procesów,
trendów
sterowanie,
raportowanie
sytuacji
wyjątkowych
Projektowanie
projektowanie wybór
zakładów i
asortymentów,
produktów,
doradztwo dla
komputerów rolnictwa
Diagnostyka
kredyty,
wykrywanie
kredyty,
pożyczki na
uszkodzeń,
analiza ryzyka
nieruchomości., utrzymywanie np. celowość
analiza ryzyka, zdolności
inwestycji
przetwarzanie produkcyjnej
skarg,
kryminalistyka
Planowanie
analiza ryzyka, planowanie
analiza ryzyka,
planowanie
przedsięwzięć analiza rynku
inwestycji
Sektor
zastosowania
Podział systemów ekspertowych ze względu na sposób tworzenia:
- systemy dedykowane
Sektor publiczny i
inne
monitorowanie
reaktorów jądrowych
oraz dużych sieci
(gazowe, wodne,
energetyczne,
kolejowe, drogowe)
sieci jak wyżej
systemy
przeciwpowodziowe,
służba zdrowia
diagnostyka
medyczna, diagnoza
techniczna
planowanie
inwestycji,
planowanie na
wypadek klęski,
planowane
dystrybucje
- systemy szkieletowe (
SHELLS)
Download