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 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 Wyniki działania systemu ekspertowego: - diagnoza (monitoring) Ekspertyza sztuczna 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 - 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 Sektor zastosowania 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, inwestycji Podział systemów ekspertowych ze względu na sposób tworzenia: - systemy dedykowane - systemy szkieletowe ( SHELLS) planowanie na wypadek klęski, planowane dystrybucje