Systemy ekspertowe
Przez system ekspertowy rozumiemy program komputerowy posiadający wiadomości i przeprowadzający wnioskowanie w pewnej dziedzinie wiedzy takiej, jak medycyna czy geologia, z możliwością rozwiązywania problemów oraz doradztwo. Od programów z innych dziedzin sztucznej inteligencji różni się następującymi elementami:
- ma do czynienia z zagadnieniami rzeczywistymi o takim stopniu złożoności, że wymagają one zwykle dużej wiedzy ludzkiej,
- musi osiągnąć wysoką jakość działania pod względem szybkości i niezawodności, aby być użytecznym narzędziem,
- musi być w stanie wyjaśniać i uzasadniać rozwiązania i zalecenia, aby przekazać użytkownikowi że rozwiązanie jest rzeczywiście poprawne.
Składa się z:
- wiedzy z danej dziedziny (zbiór faktów),
- faktów i reguł wnioskowania (tworzące z tymi faktami bazę wiedzy) - jeżeli "to" to "to",
- maszyny wnioskującej,
- kontrolera poprawności
- dogodnego dla użytkownika sposobu dialogu
Sposób prowadzenia dialogu:
Użytkownik współdziała z systemem ekspertowym w problemowo zorientowanym języku - zwykle wariancie języka naturalnego przez odpowiedni procesor językowy. Procesor ten prowadzi gramatyczny rozbiór pytań, poleceń i innych wypowiedzi użytkownika oraz dokonuje ich interpretacji dla potrzeb systemu. Gromadzi także uzyskane informacje. Z drugiej strony formułuje dla użytkownika informacje generowane przez system, włączając w to odpowiedzi na pytania, objaśnienia i uzasadnienia swoich odpowiedzi. W większości stosowanych obecnie systemów procesor językowy jest tworzony w języku InterLisp. Komunikacja może odbywać się w trybie graficznym, za pomocą programu - redaktora lub za pomocą tablicy komunikatów.
Baza wiedzy:
Baza wiedzy jest zbudowana z dwóch rodzajów składników. Jeden to fakty będące opisem wiedzy ekspertów w danej dziedzinie. Drugi zaś to reguły wnioskowania pozwalające przechodzić od jednych faktów do innych i wyciągać konkluzje. Ich uzyskanie stanowi podstawowy problem przy tworzeniu systemu ekspertowego. W niektórych systemach wnioskowania mają charakter procedur i wtedy fakty grają rolę bierną.
Baza wiedzy
- Fakty, będące opisem wiedzy w danej dziedzinie
- Reguły wnioskowania - powiązanie faktów ze sobą - umożliwienie przechodzenia od jednych faktów do innych i wyciągania konkluzjiKontroler poprawności:
Moduł ten na bieżąco sprawdza niesprzeczność przyjętych hipotez (możliwych rozwiązań) oraz stosowanych do ich otrzymania reguł wnioskowania. W większości stosowanych systemów niesprzeczność rozumiana jest jako pewien poziom wiarygodności, co wiąże się z przypisaniem regułom wnioskowania prawdopodobieństwa ich prawdziwości (liczby z przedziału <0..1>). Stosowanie schematów obliczania wiarygodności rozwiązania końcowego za pomocą wiarygodności rozwiązań częściowych, pozwala na ocenę rozwiązania pod względem jego prawdopodobieństwa.
Inne elementy:
Moduł uzasadniający jego działania. Odpowiada on na pytania, dlaczego pewne wnioski zostały przyjęte, lub dlaczego alternatywy zostały odrzucone. W module tym zwykle stwarza się możliwość wstecznego przeglądu wszystkich częściowych rozwiązań, leżących na ścieżce rozwiązania końcowego. Każdy krok na tej ścieżce odpowiada zastosowaniu jednej reguły wnioskowania. Wykorzystując standardowy zestaw odpowiedzi na pytania moduł przedstawia uzasadnienie w języku naturalnym.
Rozwiązania częściowe:
W trakcie pracy systemu, system wykorzystuje wiele informacji, w tym także takie, które sam wytwarza. Musi być ona przechowywana do czasu uzyskania rozwiązania problemu. Często wszystkie te informacje przechowywane są w specjalnie zorganizowanej tablicy.
Tworzenie systemu ekspertowego:elementy strategii
uzyskana wiedza
częściowe rozwiązania
drzewo dojścia
1. Uzyskanie dostatecznej wiedzy w przedmiocie, w którym ma on działać.
- ustalenie zakresu wiedzy niezbędnej dla poprawnego funkcjonowania systemu
- ustalenie reguł wnioskowania
- ustalenie strategii rozwiązania problemów
2. Automatyzacja procesu pozyskania wiedzy.
- identyfikacja - określenie charakterystyk wiedzy
- konceptualizacja - znalezienie pojęć dla przedstawienia wiedzy
- formalizacja - opracowanie struktur dla organizacji wiedzy
- realizacja - sformułowanie reguł, wyrażających wiedzę
- weryfikacja - ocena poprawności reguł
Językiem programowania większości systemów ekspertowych jest InterLisp.
Lisp (List Processing Language)
Lisp - ma zastosowanie w dziedzinie inżynierii sztucznej inteligencji. Lisp jest dla SI tym, czym dla systemów operacyjnych jest język C. Jest interpretatorem. Podstawowym pojęciem w tym języku jest lista elementów będących dowolnym ciągiem znaków np: TO JEST LISTA; gdzie TO, JEST, LISTA - elementy listy (symbole) ->ciąg symboli. Lista może także zawierać inne listy, np:
(TO JEST (LISTA Z TRZEMA ELEMENTAMI))
Występują zmienne, których zawartością może być dowolna lista np:
x=AB y=CD xy=ABCD
W liście dużą rolę spełniają nawiasy, które wykorzystywane są w tworzeniu wyrażeń. Poważnym konkurentem w zagadnieniach sztucznej inteligencji LISP-u jest PROLOG.
Systemy Ekspertowe
Projekt DENDRAL - prace trwały 10 lat (długi okres uporczywych wysiłków). Wyniki systemu ekspertowego możemy podzielić na trzy grupy.
- diagnozy
- prognozy
- plany
DIAGNOZA - ocena stanu istniejącego na podstawie posiadanych danych.
- programy rozpoznawania obrazów i mowy jak DENDRAL, PROSPECTOR,ESDIV i HEARSAY-II (interpretacja), oceny stanu zdrowia pacjenta, jak MYCIN, PUFF, INTERNIST i CASNET (diagnoza w potocznym tego słowa znaczeniu), czy rozpoznawanie zmian stanu (monitoring). Zagadnienie to jest blisko związane z rozpoznawaniem wzorców, choć zwykle programów takiego rozpoznawania nie zalicza się do systemów ekspertowych.
PROGNOZA - jest to przewidywanie stanu przyszłego na podstawie istniejących danych. Niektóre programy medyczne jak CASNET stawiają prognozę stanu (w tym przypadku zdrowia pacjenta) w oparciu o własną diagnozę.
PLAN - opis pewnego stanu, do którego należy dążyć. Jednym z przykładów jest planowanie konfiguracji systemu VAX wykonane przez system RI (projektowanie). Innym jest planowanie działań robota przemysłowego w zmieniającym się otoczeniu w systemie PICON (planowanie). Łączenie ze sobą tych trzech typów pracy systemu ekspertowego jest oczywiście również możliwa. Połączenie wzorca, diagnozy, prognozy, planowania prowadzi do systemów sterujących, jak system sterowania cieplnego statkiem kosmicznym STM.
SYSTEMY STERUJĄCE
- rozpoznawanie wzorca
- diagnoza
- prognoza
- planowanieSystemy diagnozowania i planowania na przykład systemów uczących - w tej roli wykorzystywany jest przede wszystkim MYCIN.
Posługiwanie się symbolami
Jedną z ważniejszych właściwości systemu ekspertowego jest przedstawienie informacji i meta informacji w postaci symbolicznej. Pozwala to na wykorzystanie w systemie wszelkich istniejących układów przetwarzania symboli. Zagadnienia związane z takim przestawieniem faktów przekształciły się w samodzielny kierunek badawczy - reprezentacje wiedzy. Operowanie symbolami wyróżnia systemy ekspertowe spośród innych programów.
UNIWERSALNOŚĆ - zdolność do rozwiązywania obszernej klasy zadań ze swojej dziedziny. System nie powinien zawierać wielu sztywnych, wcześniej przygotowanych rozwiązań, lecz dużą liczbę reguł obejmujących dostatecznie szeroki zakres heurystyk z dziedziny problemowej. Powinny one nie tylko pozwolić na przeszukiwanie drzewa rozwiązań dobrze postawionego zadania, lecz także na coś w rodzaju ekstrapolacji w przypadku zadań będących na granicy wiedzy znanej systemowi. Dostateczna liczba uniwersalnych reguł powinna zapewnić płynne (to znaczy nie skokowe) obniżenie się jakości pracy systemu w sytuacji, w której posiadane reguły wnioskowania okazują się niewystarczające. Wspomniana tu uniwersalność jest rozpatrywana jednak wewnątrz dziedziny wiedzy systemu.
KIERUNEK ROZWOJU - uniwersalność rozumiana jako możliwość rozwiązywania zadań z różnych dziedzin wiedzy w oparciu o strukturalne podobieństwo reguł wnioskowania jest jeszcze nieosiągalna. Tworzenie systemów zdolnych do takiego działania można nazwać metasymbolami jest nieuniknionym kierunkiem rozwoju badań nad sztuczną inteligencją.
ZŁOŻONOŚĆ - problem niezbyt skomplikowany, o krótkim rozgałęzionym drzewie poszukiwań czyni konstrukcję systemu nieopłacalną. Podobnie rzecz ma się w przypadku istnienia ścisłych algorytmów rozwiązywania.
AUTOANALIZA - system ekspertowy powinien uzasadnić użytkownikowi przyjęte rozwiązanie nie tylko globalnie, ale i na każdym etapie, to znaczy również każde rozwiązanie częściowe. Z punktu widzenia systemu jest to swego rodzaju metaproblem, polegający na przeglądzie drzewa rozwiązań w kierunku wstecznym tak, jakby to było jeszcze jedno zadanie wymagające ekspertyzy.. Można to traktować jako rozumienie przez system postawionego przed nim zadania. Reguły wnioskowania mają zwykle niedeterministyczny charakter. Niesprzeczność rozwiązania jest osiągnięte tylko na pewnym poziomie. Moduł niesprzeczności pokazuje spadek wiarygodności przy wyjściu na inną ścieżkę w drzewie rozwiązania. Dla prowadzenia takich objaśnień niezbędna jest możliwość rekonstrukcji pewnego ciągu wnioskowania.
ZDOLNOŚĆ UCZENIA SIĘ - system powinien zawierać mechanizmy udoskonalające jego działanie jak:
- kontroler niesprzeczności nowo wprowadzonych do bazy wiedzy reguł z regułami w niej zawartymi.
- kontroler zgodności reguł z nowo wprowadzanymi faktami.
- mechanizm oceny częstości stosowania poszczególnych reguł.
- analizator wag gałęzi w wierzchołkach drzewa rozwiązań
- generator metareguł
- mechanizm ekstrapolacji istniejących reguł
Programy redakcyjne przy tworzeniu baz danych muszą sprawdzać semantyczną niesprzeczność między dotychczasową zawartością bazy danych o nowo wprowadzonymi faktami.
Usunięcie błędów w bazie może przebiegać w następujący sposób:
- bada się jaki typ reguł będzie najlepiej korygował dany defekt. Następnie tworzony jest pewien model nowej reguły i zostaje wypróbowany w wielu wariantach. Wersja najlepiej pasująca do bazy danych zostaje przyjęta. Cały ten proces odbywa się w trybie konwersacji z inżynierem wiedzy. Po przyjęciu zmodyfikowanej wersji reguły system rozwiązuje jeszcze raz zadania, w trakcie którego wykryty zostaje błąd, aby sprawdzić poprawność przyjętej modyfikacji. Inżynier wiedzy decyduje o ostatecznym przyjęciu rozwiązania.Sposobem kontroli poprawności przebudowy jest automatyczne testowanie. Polega na stosowaniu postulowanego wariantu przekształconej bazy danych do całego szeregu zadań testowych o znanych rozwiązaniach, będących do dyspozycji systemu. Przyjmowany jest wariant dający najlepsze wyniki w testach.
Uczenie się polega nie tylko na wzroście bazy danych, lecz także na tworzeniu reguł coraz wyższych poziomów.
Pojęcie stosika
Przy założeniu, ze powinno istnieć przejście sygnałów z głębszych warstw sieci do płytszych, a nawet łącza, jak i przejście od płytszych warstw sieci do głębszych, należy z każdego słowa zapamiętanego w sieci dojść do węzła wskazującego to słowo w warstwach bardziej ogólnych. W tym celu dla każdego słowa zapamiętanego w sieci budujemy stosik adresów przejścia do głębszych warstw.
![]()
Znaczenie stosika jest bardzo duże. Pozwala on na szukanie skojarzeń do danego obiektu, porównywanie obiektów i wykorzystywany jest w operacjach szukania. Stosik umożliwia także pobudzanie węzłów wyższej warstwy i rozszerzanie się pobudzenia w tych warstwach jako odpowiedź na wybrane słowo, np. wybranie słowa powoduje pobudzenie komórek wskazywanych poprzez stosik i pobudzenie komórek następnych.
Proces tworzenia
W procesie tworzenia występują dwa elementy:
- punkt wyjścia (początek) - wiedza początkowa, od czego zaczynamy
- bardzo ogólnie określony cel końcowy - to co chcemy stworzyć, uzyskać, osiągnąć.
Między tymi punktami budowane jest połączenie, które określa rozwiązania. W czasie tworzenia dopuszczalna jest korekta celu końcowego jak i punktu wyjścia w celu znalezienia możliwego lub efektywniejszego rozwiązania. Na początku mamy szereg dróg prowadzących do różnych podobnych celów lub ślepych dróg nie prowadzących do rozwiązania.
Zadaniem jest wybór drogi najefektywniejszej.
W memencie dojścia do celu cel zostaje dokładnie określony. Przy tworzeniu, szukaniu, nie znamy dokładnie na początku do czego dążymy, co chcemy uzyskać. Tworzenie - sklejanie łańcuchów rozwiązań w jeden łańcuch.
![]()
Czytanie zdań
Po przeczytaniu zdania zrozumiałem prawie wszystkie słowa (słowa są w moim słowniku) lecz nie znam znaczenia (lub zapomniałem) jednego słowa. Przechodzę do czytania następnego zdania. W następnym zdaniu w sposób pośredni powiedziana jest sentencja o słowie niezrozumiałym w zdaniu pierwszym (w zdaniu drugim to słowo nie występuje lecz z treści zdania wynika o tym słowie twierdzenie). Z kilku przeczytanych zdań nie wynika dla mnie konkretna myśl. Występują w nich luźno, czasem powiązane słowa. Czytany przez nas tekst może być tekstem dla naszego umysłu, bazy wiedzy. Te zdania, które są niezrozumiałe nie przedstawiają dla nas znaczenia (nie zastanawiamy się nad nimi). Te zdania, które rozumiemy porównujemy z wiedzą już zdobytą. Jeśli są potwierdzeniem tej wiedzy (nic nie wnoszą) nie przedstawiają dla nas znaczenia.
Zdania bez znaczenia
- niezrozumiałe
- które potwierdzają naszą bazę wiedzy
Zdania bez znaczenia czytamy nie zastanawiając się głębiej nad nimi.
Zdania, które przedstawiają dla nas znaczenie
Czytając dalej spostrzegam, iż właśnie jestem w trakcie czytania znanego mi ciągu myślowego. Im większy jest ciąg myślowy, tym dłużej przebywa w naszej pamięci. Nie muszę czytać dokładnie, gdyż ślad tego ciągu mam w pamięci. Ciąg z książki i ślad w pamięci różnią się szczegółami. Obraz w szczegółach nie jest zapamiętany.
Z wyrazów możemy składać wyrażenia, to jest znaki bardziej złożone (wyrazy - znaki podstawowe), np: nazwy wielowyrazowe lub zdania.
WYRAŻENIE - sensowny zespół wyrazów. W postaci pisanej słowa stały się powszechnym środkiem wymiany myśli.
Stosik jako łącznik struktur
![]()
Model sieci węzłów
![]()
Łącze wejściowe
![]()
Stosik
![]()
Płaty sieci węzłów
![]()
Duża pamięć (sieć węzłów) składa się z "Płatów". W każdym płacie są zdefiniowane struktury w całości. Komunikacja między strukturami różnych płatów zachodzi przy pomocy połączeń dalekich. Wykorzystywane są do tego celu węzły stosika poza pierwszym węzłem (def wskazuje szczyt stosika), a do wskazania wykorzystywane są wskaźniki [DEF:NAST] = adres miejsca w strukturze innego płata.
![]()
Przy odwołaniu się do słowa zdefiniowanego w innym płacie odwołujemy się do węzła przeniesienia węzła końcowego z tamtego płatu. Węzeł przeniesienia posiada kontakt z engramem słowa. Zbiór węzłów przeniesień węzłów końcowych struktur zdefiniowanych w innym płacie tworzy łącze wejściowe płatu.
![]()
Inne podejście na łącze wejściowe
ZAŁOŻENIE
Niech dowolne łącze wejściowe będzie zbudowane z węzłów końcowych lub ich kopii (w przypadku przeniesienia wejść do innych płatów). Dotychczas łącze wejściowe płata pierwszego było zbudowane z węzłów stosików zdegenerowanych.
LĄCZE WEJŚCIOWE
![]()
ŁĄCZE NOWEGO TYPU
![]()
Celem wprowadzenia łącza wejściowego nowego typu uproszczenie, w których charakter łącza jest niezależny od warstwy czy płatu, czyli każde łącze ma ten sam charakter i budowę.
Węzeł końcowy
Węzeł końcowy jest niczym innym jak identyfikatorem struktury do której należy.
Model komórki nerwowej
![]()
Struktura węzłów tego samego rodzaju połączonych ze sobą mającą węzeł końcowy i stosik.
Własności komórek nerwowych
![]()
Wyjście neuronu może reprezentować połączenie bliskie (NAST - stosik) lub połączenie dalekie (DEF:NAST - stosik). Komórka z połączeniem wyjściowym dalekim nazywany przekaźnikową, a z połączeniem bliskim wyjściową. Komórka przekaźnikowa łączy z innymi strukturami, ośrodkami odruchów.
Jednostki wyższego piętra tworzą się przez kowergencję odpowiednich jednostek pięter niższych np. ze słów powstaje zdanie.
Połączenia KONWERGENCYJNE umożliwiają integrację najdrobniejszych bodźców adekwatnych (podobnego typu). Zapewniają budowę zdania ze słów składowych.
Połączenia DYWERGENCYJNE (rozbieżne) umożliwiają ocenę danego bodźca "z różnych punków widzenia". Zapewniają występowanie danego słowa w różnych zdaniach.
Na kolejnych piętrach układu aferentnego odbywa się integracja informacji, aż wreszcie na piętrach najwyższych jednostka percepcyjna reprezentuje już w pełni zintegrowany wzorzec.
Jednostki Gnostyczne
Najwyższy poziom (piętro) nazywamy okolicą gnostyczną, a wchodzące w jego skład komórki - jednostkami gnostycznymi (poznawczymi). Jednostki gnostyczne reprezentują poszczególne percepcje.
Jeżeli założymy, że ostatnim poziomem jest poziom zdań, to komórki tego piętra reprezentują zdania. Jednostki gnostyczne biorą udział w wyższych procesach psychicznych.
Połączenia niedrożne
Połączenia między komórkami jak i komórki w mózgu (nerwowe) są już wykształcone. Mogą być w stanie nieaktywnym, a połączenia niedrożne (potencjalne). W procesie uczenia się połączenia potencjalne stają się drożne, przeistaczają się w połączenia aktualne, a komórki aktywne.
W ciągu życia osobniczego organizm "obrasta" w kartotekę jednostek gnostycznych, umożliwiających rozpoznawanie. Okolice gnostyczne znajdują się w stanie nieustannego rozwoju, zarówno ze względu na tworzenie się nowych jednostek gnostycznych jak i ze względu na powstawanie nowych pól, reprezentujących nowe kategorie wzorców bodźcowych. Informacja zgromadzona w jednostkach gnostycznych i jej podstrukturach jest wykorzystana w procesach kojarzeniowych - regulujących zachowanie jednostki.
Wyobrażenia
![]()
Pobudzenie od łącza nazywamy pobudzeniem natomiast od końca struktury (DajSlowo) wyobrażeniami.
Anatomiczną podstawą procesu przekształcania informacji są aktualizacja komórek i synaptycznych połączeń między nimi.
Efektywność procesu myślowego
zależy od sprawnego przebiegu procesów składowych:
- analizy informacji
- syntezy informacji
- uogólniania
- abstrahowania
- uwagi
- pamięci
Dzięki połączeniom dywergencyjnym i konwergencyjnym staje się możliwa wszechstronna analiza informacji przez specjalne przystosowanie jednostki regulujące wyłącznie na adekwatne dla siebie bodźce oraz jej scalenie w jednostce gnostycznej. Spostrzeżenia w jednostce gnostycznej są zakodowane nie wszystkie lecz tylko krytyczne cechy bodźca. Do rozpoznania modelu wystarcza, by miał on kilka typów charakterystycznych oryginału (np: ptak drapieżny - krótka szyja i szeroki tułów).
Mechanizmy działania mózgu
Wyróżniamy PERCEPCJE, WYOBRAŻENIA, POJĘCIA. Jedno wyobrażenie może przez asocjacje wywołać następne. Pojęcia powstają w wyniku asocjacji. Odzwierciedlają one cechy wspólne dla klasy przedmiotów i zdarzeń.
![]()
Połączenia aktualizują się między dwoma ośrodkami gnostycznymi wówczas, gdy te dwa ośrodki zostają pobudzone.
Przykład:
Nieraz rozpoznajemy osobę jako znajoma, ale nie potrafimy sobie przypomnieć, kim ona jest.![]()
Za ROZPOZNANIE odpowiedzialny jest ośrodek PERCEPCJI, natomiast za IDENTYFIKACJĘ odpowiedzialne są asocjacje z innymi ośrodkami tego samego i innych analizatorów.
![]()
Powstanie asocjacji
![]()
Testowanie asocjacji
![]()
Jaźń
Poziom jaźni tworzą komórki gnostyczne (percepcyjne).
Przekrój mózgu człowieka
![]()
Uczenie się
Przy uczeniu się percepcyjnym kilka neuronów musi zostać jednocześnie pobudzonych przez wzorzec danego bodźca. Przy uczeniu się asocjacyjnym grupy neuronów są pobudzane przez kolejno pojawiające się bodźce.
Waldemar Wietrzykowski
Computational Neuroscience
Digital Intelligence Laboratory
email:![]()
Zobacz też
- Baza wiedzy dla techniki kosmicznej
- Wprowadzenie do opisu języka SymP
- Zanim skonstruowano pierwszy komputer
- Konstrukcja pierwszego kalkulatora mechanicznego
- Maszyna Różnicowa:część I, część II
- Pierwszy komputer
- Czy komputer potrafi myśleć?
- Myślące maszyny
- Kręgi Vesyper™
- "Biologiczna Sieć Pakietowa"™
- Telepatia
- Publications / Download
Linki