Wstęp
Czym jest inteligencja? Pojęcie znane chyba wszystkim, lecz jak je zdefiniować?
Wg literatury pojęcie to jako pierwszy wprowadził Cyceron. Miało ono oznaczać zdolności umysłowe człowieka. W późniejszym czasie badacze rozwinęli jego interpretację twierdząc, że inteligencja to zdolność ocenienia sytuacji oraz właściwego reagowania na nie.
Inteligencja to własność psychiczna, przejawiająca się charakterystyczną dla jednostki efektywnością podejmowania działań. Specjaliści traktują inteligencję jako zdolność uczenia oraz rozwiązywania zadań, a miarą jej jest stopień trudności przyswajanego materiału. Zdolność rozwiązywania zadań jest zbiorem wielu czynności elementarnych, takich, jak:
rozumienie,
wnioskowanie,
kojarzenie,
myślenie abstrakcyjne,
wykrywanie,
odkrywanie.
Dozwolone jest stwierdzenie, że inteligencja to zdolność obserwowania danego fragmentu rzeczywistości, zrozumienia go oraz wyznaczenia celów i metod ich zrealizowania.
Od dawna próbuje się powołać do życia komputer, który charakteryzowałby się umiejętnością symulowania naturalnego intelektu. Okazuje się to wszak nader trudne, bo mimo iż w szybkości dokonywania obliczeń człowiek zostaje z tyłu za maszyną, to jednak wszystkie programy, które ta maszyna wykorzystuje do obliczeń zostały stworzone przez człowieka.
Zastosowanie maszyn cyfrowych wyłącznie do zadań obliczeniowych szybko przestało być wystarczające dla człowieka. Pojawiła się potrzeba szybkiego i wygodnego redagowania dokumentów, ich prezentacji, jak również gromadzenia, wyszukiwania i przechowywania danych z nimi związanych. Kolejne możliwości zastosowania komputerów dostrzeżono w tych dziedzinach, gdzie występuje przetwarzanie zbiorów danych, w poligrafii, rozrywce i innych. Zaczęto zastanawiać się, jak sprawić, aby komputer był „mądry”, tak aby bazując na dostarczonej mu określonej wiedzy samodzielnie mógł konkludować tak, jak rzeczoznawca, i tym samym rozwiązywać postawione przed nim zagadnienia - tzn. podejmować decyzje. Zaistniała potrzeba stworzenia "komputerowego doradcy", który symulując pracę eksperta mógłby go zastąpić w określonych sytuacjach, bądź stać się jego doradcą. Prace nad realizacją takiego właśnie systemu były początkiem nowego rozdziału w sferze informatyki i oprogramowania - rozdziału systemów ekspertowych. Powstała pewna ilość teorii i narzędzi dotyczących tej tematyki, zostało odkryte wiele sposobności zastosowania systemów ekspertowych. Pewną ich część już zrealizowano. Obecnie badania i prace nad systemami ekspertowymi dotarły do etapu „samouczenia się” systemu ekspertowego, czyli możliwości przyswajania sobie nowej wiedzy i generacji na jej podstawie nowych reguł decyzyjnych oraz pewnej uniwersalności systemów ekspertowych dających się zastosować dla różnych dziedzin wiedzy. Trwa ekspansja systemów ekspertowych, a wiele funkcjonujących implementacji m.in. w medycynie, przemyśle, obronności, astronomii i meteorologii dostarcza dobrych wyników , co umożliwia postawienie tezy, że nie jest już pytaniem przyszłości kwestia sensowności i celowości badań nad systemami ekspertowymi.
Podstawowe wiadomości o systemach ekspertowych
System ekspertowy (ekspercki) jest to oprogramowanie zaprojektowane do realizacji skomplikowanych zagadnień intelektualnych. System ten winien te zagadnienia realizować tak dobrze jak fachowiec w danej dziedzinie. Jednakże ich zadanie nie ogranicza się tylko do rozwiązywania tego typu problemów, mogą także stanowić narzędzie wspomagające decyzje „ludzkich” ekspertów, podpowiadając im ewentualne rozwiązania. Systemy eksperckie są zwane również systemami doradczymi. Stanowią jedno z odgałęzień stosowanych w sztucznej inteligencji.
Zasadnicza myśl systemu ekspertowego polega na przerzuceniu wiedzy eksperta do oprogramowania komputerowego, które jest wyposażone w bazę wiedzy, pewne normy wnioskowania oraz sposób komunikowania się z osobą pracującą z tym programem np. interfejs graficzny. Cały zasób wiedzy nagromadzony w systemie może wykorzystywać wielokrotnie wielu użytkowników, zwracających się do komputera, gdy potrzebują rady. Komputer zaś, zwraca nam najlepszą według niego radę, i jeśli to konieczne wyjaśnia logikę, na bazie której wygenerował wnioski wyjściowe.
System ekspercki może także określać system, niekoniecznie zastępujący człowieka-eksperta. Określamy tym mianem również systemy stosowane w sytuacjach, kiedy człowiek, mimo posiadania ogromnej wiedzy z jakiejś dziedziny, nie potrafi skorzystać z niej w sposób optymalny. Dotyczy to przykładowo podejmowania decyzji podczas pracy elektrowni, czy podczas startu i samego lotu statków kosmicznych. Szereg zachodzących wówczas procesów wymaga stałego nadzorowania w czasie rzeczywistym. Bez odpowiedniego oprogramowania nie da się ogarnąć kilku tysięcy procesów, informacji z czujników i podejmować optymalnych decyzji w ograniczonym do minimum czasie.
Najważniejsze cechy systemów eksperckich to:
zgromadzenie najpełniejszych i kompetentnych informacji z danego obszaru wiedzy i możliwość ich aktualizacji w związku z postępem naukowym i technicznym ,
umiejętne naśladowanie sposobu rozumowania człowieka-eksperta, stosowanego przy rozwiązywaniu problemów tego samego typu,
zdolność wyjaśnienia toku „rozumowania”, który doprowadził do otrzymanych wyników,
tzw. „user friendly” interfejs, czyli przyjazną metodę komunikacji z użytkownikiem w jego ojczystym języku i takie przedstawienie wyników, aby były
klarowne i przejrzyste.
Inny sposób scharakteryzowania systemów eksperckich to ich ogólna systematyka.
Dzielą się na trzy kategorie:
doradcze,
podejmujące decyzje bez wpływu człowieka,
krytykujące.
Pierwsze z nich - doradcze przedstawiają człowiekowi pewne rozwiązania, a on ocenia to rozwiązanie i wybiera takie, które jest najodpowiedniejsze lub żąda innego rozwiązania.
Systemy rozstrzygające bez dozoru człowieka są to takie systemy, które nie „konsultują” wyników końcowych z użytkownikiem. Występuje to w sytuacjach, gdy współpraca z nimi jest utrudniona lub niemożliwa np. sterowanie obiektami w trudnym terenie lub w kosmosie.
Systemy krytykujące charakteryzują się przyjmowaniem jako wartości wejściowe postawionego problemu i ewentualnego rozwiązania. Rola systemu polega na analizie zagadnienia i skomentowania zaproponowanego rozwiązania.
Budowa systemu eksperckiego wymaga zbudowania bazy wiedzy eksperta
i stworzenie dla niej odpowiedniej struktury. Jest to pracochłonne i czasochłonne. Opłaca się go realizować wówczas, gdy system ten będzie wykorzystywany w odpowiednio długim zakresie czasowym i przez sporą ilość użytkowników. Opłaca się to także dlatego, że system może być wykorzystywany już bez udziału człowieka-eksperta, jest on uwolniony od przeprowadzania powtarzających się analogicznych ekspertyz i w dzięki temu może zająć się on bardziej twórczymi zadaniami. Ważna jest także możliwość zgromadzenia w systemie wiedzy wielu ekspertów. Przekłada się to bezpośrednio na „wiarygodność” rozwiązań. Można stwierdzić, że im pełniejsza wiedza, tym rozwiązanie jest bardziej wiarygodne i uzyskiwane szybciej.
Konstruowanie systemów ekspertowych jest jednym z zagadnień tzw. inżynierii wiedzy. Jej jest zdobywanie wiedzy z określonej dziedziny, jej przetwarzanie, stworzenie dla tej wiedzy odpowiedniej struktury. Zajmuje się ona także rozwijaniem metodologii i narzędzi budowy systemów ekspertowych. W szczególności obejmuje tworzenie metod programowania:
pozyskiwania i tworzenia struktur dla wiedzy ekspertów,
dopasowywania i wyboru właściwych procedur wnioskowania i wyjaśniania rozwiązań problemów,
tworzenia interfejsów pośredniczących w komunikacji pomiędzy komputerem a użytkownikiem.
Rysunek 1. Ogólna budowa systemu ekspertowego
Krótki opis części składowych systemu eksperckiego:
Baza wiedzy - fragment systemu obejmująca wiedzę z jakiejś dziedziny oraz informacje o decyzjach fachowca w tej dziedzinie. Zawierają się w niej fakty i reguły.
Kontroler wywodu - część systemu kierująca rozwiązaniem problemu. Jest odpowiedzialna za poprawne wykorzystanie informacji nagromadzonych w bazie wiedzy.
Interfejs - fragment programu odpowiedzialny za komunikowanie się z użytkownikiem. Ma charakter urządzenia typu wejście/wyjście.
Struktura systemów ekspertowych
Jeśli bardziej szczegółowo przyjrzymy się strukturze systemów eksperckich, wówczas będziemy w stanie wyróżnić następujące elementy:
baza wiedzy, np. zbiór reguł,
baza danych, np. hipotezy, dane o obiekcie, wyniki pomiarów,
procedury wnioskowania - maszyna wnioskująca,
procedury objaśniania - wyjaśnienie strategii wnioskowania,
procedury sterowania dialogiem - użytkownik za pomocą procedur wejścia/wyjścia formułuje zadania a program za pomocą zadań wykonywanych przez interfejs przekazuje wyniki.
procedury pozwalające na rozszerzenie zakresu wiedzy i jej polepszanie.
|
Rysunek 2. Struktura systemu ekspertowego
Rodzaje systemów eksperckich
Jedną z metod dokonania oceny systemu eksperckiego jest odpowiedź na zapytanie o rodzaj wyników otrzymywanych na jego wyjściu.
Oto ich podział na trzy zasadnicze grupy:
diagnozy - są oceną stanu istniejącego na podstawie posiadanych danych,
prognozy - zawierają przewidywania dotyczące sytuacji w przyszłości na bazie istniejących danych,
plany - jest to stan do jakiego należy dążyć, kierując działaniem „obiektu”.
Łączenie ze sobą tych trzech typów systemów jest możliwe, a czasem nawet wskazane, gdy zachodzi potrzeba stworzenia systemu obejmującego swym zakresem bardzo złożone procesy. Połączenie diagnozy, prognozy i planowania to stworzenie systemu sterującego dla np. promów kosmicznych.
Tabela 1 Szerszy podział systemów ekspertowych
Kategoria systemu |
Zadania realizowane przez system |
Interpretacyjne |
dedukują opisy sytuacji z obserwacji lub stanu czujników, |
Predykcyjne |
dedukują opisy sytuacji z obserwacji lub stanu czujników, |
Diagnostyczne |
ocena systemu na podstawie obserwacji (wykrywanie wad), |
Kompletowania |
konfiguruje obiekt biorąc pod uwagę istniejące ograniczenia, |
Planowanie |
podejmuje określone działania do osiągnięcia celu |
Monitorowanie |
porównywanie zachodzących zjawisk z ograniczeniami nałożonymi na nie, np. reakcje w elektrowniach atomowych |
Sterowanie |
kierowanie działaniem systemu; w skład wchodzi interpretowanie, predykcja, |
Poprawianie |
podaje sposób postępowania w przypadku nieprawidłowego funkcjonowania obiektu, którego system dotyczy |
Naprawy |
ustala kolejność wykonywania napraw uszkodzonych obiektów |
Instruowania |
systemy doskonalenia zawodowego dla studentów |
Podział systemów z uwagi na metodę realizacji:
systemy szkieletowe,
systemy dedykowane.
Systemy szkieletowe (shells) są zawierają pustą bazę wiedzy. Są one tworzone
w krótszym czasie, gdyż nie trzeba konstruować całej struktury systemu, a jedynie istniejącą już uzupełnić o konkretną wiedzę i jej odpowiednią implementację w systemie.
Zważywszy na to, jaką wiedzę wprowadzimy do systemu możemy uzyskać system
z wiedzą: eksperta-lekarza, eksperta-inżyniera, czy eksperta-prawnika.
Systemy dedykowane są konstruowane od początku przez inżyniera wiedzy we współpracy
z informatykiem.
Podział systemów eksperckich biorąc pod uwagę metodę prowadzenia wnioskowania:
z logiką dwuwartościową (Boole'a),
z logiką rozmytą,
z logiką wielowartościową.
Podział dotyczący rodzaju przetwarzanej informacji:
systemy z wiedzą pewną,
systemy z wiedzą niepewną (do przetwarzania wykorzystuje aparat probabilistyczny).
Zastosowanie systemów eksperckich
Tabela 2. Zastosowanie systemów eksperckich
Sektor
Zastosowanie |
Bankowość i ubezpieczenia |
Przemysł |
Handel i usługi |
Sektor publiczny |
Monitorowanie Sterowanie |
obserwowanie trendów |
nadzorowanie procesów, sterowanie procesami, raportowanie specjalnych sytuacji |
obserwowanie trendów |
monitorowanie reaktorów jądrowych oraz dużych sieci (gazowe, wodne) |
Projektowanie |
- |
projektowanie zakładów i produktów, komputerów |
wybór asortymentów, doradztwo dla rolnictwa |
sieci (pocztowe, energetyczne) |
Diagnostyka |
kredyty, pożyczki na nieruchomości, analiza ryzyka, przetwarzanie skarg |
wykrywanie uszkodzeń, utrzymywanie zdolności produkcyjnej |
kredyty, analiza ryzyka |
diagnoza medyczna, diagnoza techniczna |
Planowanie |
analiza ryzyka, planowanie inwestycji |
projektowanie funkcji logicznych, planowanie projektu |
analiza ryzyka, analiza rynku |
planowanie inwestycji, planowanie na wypadek klęski, planowanie dystrybucji |
Właściwości systemów ekspertowych
Podstawowe zadanie systemu eksperckiego to wydawanie kompetentnych i pełnych ekspertyz. Winno się to dokonywać w czasie ograniczonym pewnymi dopuszczalnymi granicami, w których przy danym typie zadania powinna się pojawić odpowiedź systemu. Sam system powinien dysponować takimi metodami wnioskowania, które korzystają z intuicji i wiedzy eksperta, zdobytej podczas wieloletniej praktyki. Wówczas uzyskane wyniki powinny być bardziej porównywalne z wynikami pracy człowieka-eksperta. Oczywiście dąży się, by system rozwiązując powierzone mu zadanie posługiwał się rozumowaniem człowieka, lecz popełniał minimum pomyłek. Dotyczy to np. długiej serii testów, analiz chemicznych. Czasem jest to dość skomplikowane, gdyż ekspert kierując się własną intuicją nie do końca potrafi uzasadnić swoją decyzję lub ekspertyzę. Wprowadzenie takiego sposobu wnioskowania do systemu może się okazać niezwykle trudne lub gdy wymagane jest uzasadnienie wyniku, wręcz niemożliwe. Jeśli chodzi o wymagania czasowe to często zachodzi potrzeba kompromisu pomiędzy jakością uzyskanych wyników a szybkością działania. Niektóre systemy uzyskują wyniki w kilka sekund, inne znów pracują całymi dniami, czy nawet tygodniami. Jest to także uzależnione od sposobu wykorzystanego do uzyskania odpowiedzi. Systemy wykorzystujące przeszukiwanie przestrzeni rozwiązań w postaci drzewiastej charakteryzują się wykładniczym wzrostem czasu uzyskania odpowiedzi.
Ważna cecha systemu to możliwość rozwiązywania obszernej gamy zadań, o różnym poziome trudności lub zakresie wykorzystywanej wiedzy z konkretnej dziedziny. Nie powinien więc być zbudowany na zasadzie sztywnych, określonych wcześniej rozwiązań lecz wykorzystywać dużą liczbę reguł, które powinny dać zezwolenie nie tylko na penetrowanie przestrzeni dostępnych rozwiązań lecz także na pewnego rodzaju tworzenie kombinacji z dostępnych rozwiązań. Sama dziedzina, której dotyczy system jest często wyznacznikiem stopnia skomplikowania system eksperckiego. Nieopłacalne jest tworzenie systemów, w których zawiera się problem rozwiązywania zadań o np. łatwym opisie matematycznym zjawiska lub takich, w których ilość możliwych rozwiązań jest niewielka. Wówczas z problemem poradzi sobie człowiek, bez konieczności wykorzystania programu komputerowego.
Ocenę złożoności można przeprowadzić rozpatrując liczbę wykorzystanych reguł:
małe zawierające 100-300 reguł,
średnie zawierające 300 - 2000 reguł,
duże: więcej niż 2000 reguł.
By system był efektywny powinien zawierać cechę charakteryzującą człowieka-eksperta, ciągłe doskonalenie i poszerzanie swojej wiedzy. Jeśli mówimy o systemie komputerowym to zdolność zależy głównie od jego konstruktorów lub użytkowników. Ważne jest także aby system posiadał mechanizmy udoskonalające jego działanie. Należą do nich:
kontroler zgodności reguł z wprowadzanymi nowymi faktami,
kontroler niesprzeczności nowych reguł z wprowadzonymi już do bazy,
mechanizm oceny częstości wykorzystywania poszczególnych reguł,
mechanizm pozwalający na rozbudowę istniejącej bazy reguł wykraczając poza zakres wiedzy, której ona dotyczy.
Baza wiedzy
Baza wiedzy systemu zawiera w sobie reguły i fakty. Wykorzystywane są one do uzyskiwania rozwiązań w danej dziedzinie. Im większa baza wiedzy, tym rozwiązanie jest bardziej kompetentne. Fakty, które są elementem bazy, najczęściej istnieją w niej jako zdania oznajmujące. Fakt istnieje jako zapis związków pomiędzy obiektami i może się charakteryzować różnymi atrybutami. Drugim elementem w bazie wiedzy są reguły. Zapisywane są np. za pomocą operatorów IF, THEN, AND, OR. Z ich wykorzystaniem zadaje się pytania o związki pomiędzy obiektami. Po uaktywnieniu reguły fakty są dołączane do bazy wiedzy i realizowane są odpowiednie akcje.
Podział baz wiedzy:
baza tekstów - występują w niej posortowane w sposób naturalny informacje, wynikające np. z ułożenia alfabetycznego. Przykładem mogą być słowniki, które zawierają ogólną wiedzę z danej sfery życia.
baza danych - zawiera uporządkowane, sprecyzowane, szczegółowe informacje. Typ danych jest często numeryczny, a operacje na niej wykonywane są zdeterminowane.
baza reguł - zawiera zbiór zależności pomiędzy obiektami występującymi w danej dziedzinie.
baza modeli - w niej zawarte są modele matematyczne występujące w danej dziedzinie. Możemy wyróżnić trzy typy: deterministyczne, niedeterministyczne, wartości oczekiwane.
baza wiedzy zdroworozsądkowej - zbiór potencjalnych, racjonalnych zachowań człowieka, reguł definiujących sposoby podejmowania decyzji.
Konstruktor bazy wiedzy podczas jej tworzenia powinien liczyć się z wieloma czynnikami. Pytania na które powinien odpowiedzieć, to:
jakie obiekty wymagają zdefiniowania?
jakie są relacje pomiędzy tymi obiektami?
jak powinno się określać reguły i je przetwarzać?
czy baza wiedzy odpowiednia jest do rozwiązywania specyficznych problemów?
Odpowiednie zinterpretowanie i prawidłowa odpowiedź na powyższe pytania uchroni w przyszłości konstruktora bazy od konieczności dokonywania w niej zmian, jeśli wpływać będzie ona na nieprawidłowe działanie systemu. Może wystąpić w trakcie poprawy bazy sytuacja, w której eliminacja jednego błędu może spowodować powstanie następnego. Do uniknięcia takiej sytuacji stosowana jest kontrola poprawności semantycznej i testowanie automatyczne. Kontrola ta dokonuje się jak „rozmowa” systemu z konstruktorem. Jest on tym, który zatwierdza ostateczną wersję poprawek, po przetestowaniu zmodyfikowanej bazy wiedzy. Stosowane bywa także automatyczne sprawdzanie poprawności i modyfikowanie bazy, bez udziału konstruktora. Zmodyfikowana baza jest testowana szeregiem zadań, na które znane są odpowiedzi i przyjmowane jest to rozwiązanie, osiągające znakomite wyniki w testach.
Konstruowanie bazy wiedzy jest najważniejszym procesem w trakcie tworzenia systemu eksperckiego. Jest to proces złożony, stworzono więc odpowiednie metody i programy pomocne w tym procesie, które są dosyć uniwersalne, zważywszy na zakres zastosowania. Jednym z wykorzystywanych narzędzi jest edytor tekstowy, który potrafi wykrywać wiele błędów powstających w trakcie wprowadzania tekstu do bazy wiedzy. Najważniejsze jego cechy to:
wygodna komunikacja z użytkownikiem oraz zautomatyzowane operacje rejestracji podczas rozmieszczania informacji,
kontrola semantycznej niesprzeczności pomiędzy nowo wprowadzanymi danymi a już zawartymi w bazie,
kontrola poprawności składniowej i ortograficznej wprowadzanej informacji tekstowej.
Odpowiednie systemy okien i wprowadzanie informacji w postaci graficznej są także bardzo pomocne i znacznie ułatwiają pracę użytkownikowi, biorącemu udział w przygotowaniu bazy wiedzy. Systemy najbardziej rozwinięte posiadają powyższe narzędzia,
a także potrafią sprawdzać kolejność i zgodność nowych danych z już wprowadzonymi, wskazując ewentualne sprzeczności. Jest też dużo innych narzędzi programowych. Zawierają one najczęściej: maszynę wnioskującą, strategie pozyskiwania wiedzy, interfejs do komunikacji z użytkownikiem. Ich podstawowym zadaniem jest zminimalizowanie czasu konstrukcji systemuoraz zmniejszenie wysiłku, który trzeba w to włożyć. Narzędzia te są często łatwe w wykorzystaniu w jednych dziedzinach, natomiast ograniczone w innych. Przy dobieraniu narzędzia programowego w trakcie konstruowania bazy należy się więc zastanowić
i dokonać sprawdzenia, czy jest ono najodpowiedniejsze dla danego systemu. Wśród tych narzędzi można wyróżnić grupy takie jak:
systemy szkieletowe,
programy ułatwiające zarządzanie bazą wiedzy, programy grafiki komputerowej,
języki systemów eksperckich, np. Clips, Flops, 0P55,
języki programowania symbolicznego, jak Lisp, Prolog, itd.
języki algorytmicznie, jak Basic, C, C++, Pascal.
Systemy szkieletowe
Systemy szkieletowe oferują inżynierowi wiedzy, tworzącemu bazę wiedzy, szereg udogodnień. Wyróżnia się w nich: struktury reprezentowania wiedzy, mechanizm wnioskowania, moduły objaśniające, niekiedy struktury kontrolujące przetwarzanie wiedzy.
Tabela 3. Korzyści i wady stosowania systemów szkieletowych
Korzyści |
Wady |
zapewniają mechanizm dla formalnej reprezentacji wiedzy, np. reguły, ramy. itp. |
niekiedy trzeba poznać język danego systemu szkieletowego |
zapewniają narzędzia do strukturalizacji bazy wiedzy |
każdy system szkieletowy posiada swoją specyficzną strukturę reguł |
mają wbudowany mechanizm wnioskowania |
wysokie ceny oraz powiązanie z określonymi typami komputerów |
dostarczają odpowiedni interfejs do utworzenia systemu eksperckiego, umożliwiający konstruowanie i rozbudowę bazy wiedzy również dla końcowego użytkownika |
twórca systemu eksperckiego jest ograniczony do możliwości danego narzędzia - shell, który jest z reguły przeznaczony do konkretnego zastosowania |
zapewniają udogodnienia do tworzenia komponentów systemu objaśniającego |
zmiana funkcji systemu jest możliwa, jeśli jest to przewidziane i w systemie istnieje odpowiedni interfejs |
dają narzędzia do sprawdzenia poprawności bazy wiedzy |
|
dają narzędzia do pozyskiwania wiedzy |
|
tworząc system nie trzeba znać języka w jakim powstał system szkieletowy |
|
Reprezentacja wiedzy
Logika konwencjonalna
Rachunek predykatów jest podstawą programowania logicznego. Jest to ważne narzędzie w metodach reprezentacji wiedzy. Stanowi on rozszerzenie rachunku zdań. Stosuje kwantyfikatory matematyczne:
- „dla każdego” oraz
- „istnieje takie, że”.
Zdanie W(x), które może być zdaniem fałszywym lub prawdziwym, w zależności od przyjmowanej wartości przez zmienną x, nazywamy funkcją zdaniową lub predykatem . Na predykat składa się nazwa i dowolna liczba argumentów nazywanych termami. Mogą to być stałe (symbole) numeryczne, alfanumeryczne wyrażenia oraz zmienne. Podstawiając stałe w miejsce zmiennych dostajemy zdania fałszywe lub prawdziwe. Przyporządkowanie relacji między obiektami nazwie a symboli termom tworzy semantykę języka predykatów.
Przykładowy zapis własności obiektów:
obiekt a ma własność P P(a)
istnieje obiekt o własności P, który posiada własność Q (x(P(x) (Q(x)))
każdy obiekt x, który ma własność P ma też własność Q (x(P(x) (Q(x)))
Przykłady zastosowania rachunku predykatów:
Kwiat(Tulipan)
Wynika z powyższego, że tulipan jest kwiatem.
Kwiat(x) => Roślina(x)
Każdy kwiat jest rośliną.
Jeżeli pod x podstawimy tulipan, to otrzymamy zdanie:
Tulipan jest rośliną, ponieważ jest kwiatem, bo każdy kwiat jest rośliną.
Ważną rolę w rachunku predykatów, pełnią tzw. klauzule. Stanowią one alternatywę dla literałów. Literałem nazywamy predykat lub zanegowany predykat. Wśród formuł wyróżnia się podzbiór, który stanowią właściwie zbudowane formuły rachunku predykatów. Zalicza się do nich literały oraz formuły rachunku predykatów połączone spójnikami logicznymi oraz objęte kwantyfikatorami .
Znane jest twierdzenie mówiące, że „każdy zbiór właściwie zbudowanych formuł daje się przekształcić w zbiór klauzul. W procesie tego przekształcania wyróżnia się kilka etapów:
usunięcie symbolu implikacji,
ograniczenie do literału zakresu negacji,
rozdział zmiennych dla poszczególnych kwantyfikatorów,
usunięcie kwantyfikatorów szczegółowych,
przekształcenie w formę prefiksową,
przekształcenie w koniunkcyjną postać normalną,
usunięcie kwantyfikatorów ogólnych,
usunięcie symbolu koniunkcji,
przemianowanie zmiennych”
Opis logiki niekonwencjonalnej
Język logiki jest perfekcyjnym narzędziem do reprezentacji wiedzy, składającej się
z faktów prawdziwych lub fałszywych. W realnym świecie jest to rzadko spotykana sytuacja, okazuje się, że pewne oczekiwane fakty mogą być fałszywe, kiedy zajdą nieoczekiwane okoliczności lub sytuacja przeobrazi się w czasie.
Przykład:
Ania gimnastykuje się codziennie na świeżym powietrzu, gdy nie pada deszcz.
Gdy pada, również się gimnastykuje, ale w sali gimnastycznej.
Oto wniosek płynący z powyższych faktów: Ania gimnastykuje codziennie niezależnie od pogody. Można dodać nowy fakt do posiadanych, np. sala gimnastyczna jest zamknięta, a właśnie pada.
Wniosek może być następujący: Ania zrezygnowała gimnastyki lub wybrała gimnastykę w deszczu (wcześniej nie założyliśmy, że Ania z powodu zamknięcia sali nie gimnastykuje się).
Powyższe rozumowanie można nazwać „zdroworozsądkowym”, gdyż podobnym posługują się bardzo często ludzie (tak właśnie je nazywając). Prowadzenie takiego rozumowania jest niemożliwe w logice klasycznej, stąd powstały systemy logik niemonotonicznych, dopuszczające takie sytuacje.
Rozumowanie niemonotoniczne to wyciąganie wniosków, które mogą być unieważnione w świetle nowych informacji. Skoro wnioski mogą być unieważnione, to mechanizm ich wyciągania musi być inny niż w logice klasycznej.
Reguły wnioskowania niemonotonicznego są w zapisywane w następującej postaci:
Z danej informacji A, przy braku dowodu dla B, wnioskuj C
Reguły
Kolejna metoda reprezentacji wiedzy to metoda opierająca się na regułach. Reguły mogą być wyrażone jako:
Jeśli (IF) przesłanka, To (THEN) konkluzja
oraz
Jeśli (IF) przesłanka, To (THEN) działanie (produkcja)
Przesłanki mogą w sobie zawierać pewną liczbę zdań lub stwierdzeń połączonych ze sobą logicznymi funktorami. Baza wiedzy zawiera zbiór reguł i faktów. Metodę regułową często stosuje się w systemach dedukcyjnych, w których fakty początkowe są przekształcane w fakty końcowe. System może mieć różnorakie zastosowania, np.:
diagnozowanie,
klasyfikowanie,
ustalanie przyczyn,
dowodzenie,
planowanie,
najlepszy dobór,
monitorowanie,
prognozowanie.
Zapis reguł może przybrać bardziej formalną postać. Jest tak w przypadku zastosowania funktorów logicznych. Opuszczany jest wówczas symbol IF, a symbol THEN jest przedstawiany symbolem implikacji. Przesłanka zawarta w regule jest przedstawiona jako połączenie za pomocą funktorów logicznych pewnej liczby stwierdzeń.
IF X przyjmuje wartość a
AND Y przyjmuje wartość b
THEN Z przyjmuje wartość c
Za pomocą symboli logicznych powyższy zapis możemy wyrazić tak:
(X,a) ^ (Y,b) => (Z,c)
Zebrane reguły możemy traktować jako pewien szczególny sposób zapisu sieci stwierdzeń, ponieważ z faktu prawdziwości jednego stwierdzenia mogą wynikać inne.
W niektórych systemach bywa stosowana rozwinięta postać reguł, w której są zapisane dodatkowe stwierdzenia które są uznawane za prawdziwe jeśli przesłanki nie są spełnione.
IF przesłanka THEN konkluzja l ELSE konkluzja 2
Taki sposób przedstawiania reguł może jednak generować nieporozumienia w interpretacji lub uznaniu za prawdziwą zupełnie nieoczekiwanej konkluzji. Mając na względzie złożoną kompletność bazy wiedzy, przypadek niewystąpienia przesłanki jest interpretowany jako uznanie tej przesłanki za fałszywą. Forma reguły w postaci zapisu „IF...THEN...” upraszcza działanie maszyny wnioskującej. Jeśli wystąpi sytuacja, w której warunki w złożonej przesłance łączą się funktorami koniunkcji, następuje przerwanie procesu analizowania tej przesłanki - wynik jest negatywny, w momencie napotkania pierwszego niespełnionego warunku. Symbol alternatywy OR, występujący w niektórych systemach może być zastąpiony zestawem zdań nie zawierających tego funktora. Stosowanie funktora OR może mieć zastosowanie, jednak wprowadza on większe skomplikowanie modułu wnioskującego.
IF padał deszcz OR jechała polewaczka THEN ulica jest mokra
po zamianie
IF padał deszcz THEN ulica jest mokra
IF jechała polewaczka THEN ulica jest mokra.
Typy reguł
Możemy wyróżnić dwie grupy reguł, które charakteryzują się różnym sposobem uzyskania ostatecznych konkluzji:
reguły proste - mają postać wniosków pośrednich,
reguły złożone - umożliwiają systemowi bezpośrednie wyznaczenie wniosków.
Zaletą reguł prostych jest łatwość kontrolowania zbioru reguł i zminimalizowanie ich redundacji. Wadą jest konieczność realizowania skomplikowanych działań przez maszynę wnioskującą. Wnioskowanie wymaga uruchomienia wielu reguł. Kolejne wnioski pośrednie, które zostały udowodnione tworzą łańcuch wnioskowania.
Reguły złożone nie wymagają maszyn wnioskujących o skomplikowanym sposobie działania. Jest to ich niewątpliwą zaletą. Dzieje się tak dlatego, że każda z reguł w konkluzji przechowuje jakiś wynik końcowy. Do osiągnięcia wyniku wystarcza uaktywnienie jednej reguły. Wadą jest trudność w formułowaniu właściwego zestawu reguł, skomplikowany sposób jego kontrolowania oraz uzupełniania.
Heurystyki
Metody rozwiązywania problemów
Podstawowe znaczenie przy rozwiązywaniu jakiegoś zagadnienia ma wybór metody postępowania zmierzającej do uzyskania oczekiwanych wyników. Wśród licznych technik postępowania znajduje się tzw. metoda przeszukiwania, która jest jedną z częściej od innych stosowana w czasie procesu rozwiązywania zadań. Ze zbioru czynników, które decydują o wyborze metody przeszukiwania. dwa są najważniejsze:
dla większej części zagadnień nie można z góry określić sekwencji czynności, które prowadzą do rozwiązania. Powinny być one określone przez systematyczną analizę sukcesywnych alternatyw,
zaleta metod przeszukiwania to prostota definiowania zadań. Niezbędne jest tylko zdefiniowanie zbioru stanów przestrzeni rozwikływanego zagadnienia, zbioru operatorów które je przekształcają, stanu początkowego oraz zbioru stanów końcowych. Rozstrzygnięcie to określenie szeregu operatorów, które przekształcają stan początkowy w końcowy.
W kwestii przeszukiwania wykorzystywane są pewne algorytmy, realizujące pojedyncze metody przeszukiwań. Zaczynają się one od metod nie posługujących się informacjami o dziedzinie badanego problemu, a kończy się metodami ściśle dostosowanymi do problemu, wykorzystującymi tzw. metody heurystyczne. Idea strategii heurystycznych opiera się na tym, że duża ilość zagadnień w przestrzeni stanów zawarte są jakieś dodatkowe informacje. Niewielki jest nakład wyznaczenia tychże informacji , a umożliwiają one dalsze klasyfikowanie stanów i łatwiejsze wybieranie najlepszych kierunków przeszukiwań. Rozwiązywane zagadnienie daje się zaprezentować (w uproszczeniu) przy użyciu stanów i operatorów. Operatory użyte do stanów aktywują nowe stany. Występujące na wstępie rozwikływania problemu stany początkowe i operatory składają się na graf przestrzeni stanów. Proces szukania żądanego stanu (podgrafu spełniającego dane warunki) to przeszukiwanie heurystyczne.
Dokonując wyboru najlepszych operatorów, przeszukiwanie heurystyczne wykorzystuje różne środki, takie jak analogie, uproszczenia, co prowadzi do limitowania zbioru przeszukiwanych stanów. Nie daje to gwarancji znalezienia rozwiązania, jednakże pozwoli osiągać najlepsze wyniki w żądanym czasie. Termin „heurystyka” jest definiowany w sferze sztucznej inteligencji jako:
strategia poprawiająca efektywność rozwiązania skomplikowanych problemów,
zmierza do rozwiązania najkrótszą, najbardziej prawdopodobną drogą obchodząc mniej obiecujące ścieżki,
pokazuje szablonowe kryterium wyboru charakteru postępowania,
winna umożliwić ustrzeżenie się przed tzw. ślepymi uliczkami i wcześniejsze użycie pozyskanych podczas testowania informacji.
Zważywszy efektywność przeszukiwania, ważne jest wzięcie pod uwagę następujących czynników: niekompletność dostępnej wiedzy oraz niepewność wyniku. Heurystyka może zwiększyć niepewność otrzymania wyniku. Zwiększa się ona, jeśli wykorzystujemy wiedzę zawartą w różnych prawach, regułach, intuicjach, których użyteczności nie do końca znamy. Metody heurystyczne stosuje w przypadkach, gdy nie istnieje algorytm, algorytmy standardowe wyznaczają niezadowalające rozwiązanie albo nie gwarantują rozwiązania zadania. Wyjątkowe znaczenie mają one podczas rozwiązywania problemów charakteryzujących się dużą złożonością obliczeniową.
Szukanie żądanego stanu jest najczęściej subiektywne. Zależy od reguł znalezionych doświadczalnie, opartych o orzeczenia ekspertów. Nazwą „heurystyczne” w zadaniach przeszukiwania określa się wszystkie prawa, zasady, kryteria i intuicje, które pozwalają na dokonanie wyboru najefektywniejszych kierunków działania zmierzających do osiągnięcia danego celu.
Reprezentacja zadań i przestrzeni przeszukiwań
Rozwiązanie zadania często realizuje się przeszukiwaniem zbioru wszystkich realnych stanów. Całościowe przebadanie przestrzeni jest nieefektywne, jednak często realizowane w praktyce. Możliwe jest tylko w przypadku, kiedy badamy małe przestrzenie. Efektywną metodą rozwiązywania obszernych zadań jest tworzenie stanów przy pomocy operatorów według określonych norm i diagnozowanie ich właściwości.
Analizując opis zadania trzeba uwzględnić trzy podstawowe wymogi:
metody reprezentacji wszystkich stanów w przestrzeni przeszukiwania (kod),
metody obliczeniowe pozwalające na stworzenie kodu następnego stanu na bazie kodu poprzedniego stanu, tzw. operatory,
strategie wybierania operatorów spośród możliwych do zastosowania., tzw. strategie sterowania
Cechy kodu stanów, które są najbardziej pożądane to: jednoznaczność i wzięcie pod uwagę budowy zadania. Ta metoda reprezentacji pozwala na wydajną zmianę zbioru z wykorzystaniem operacji rozszczepiania, która stanowi podział problemu na podproblemy, wyeliminowaniu części stanów i diagnozowaniu tylko najbardziej obiecujących. Następne podziały mogą przeistoczyć problem początkowy w problem prostszy do rozwiązania. Pokazany powyżej sposób rozwiązywania zadań nazywany jest metodą rozszczepiania i odrzucania. Z uwagi na duże rozmiary zadań sferze sztucznej inteligencji, stosowane są pokrewne reguły postępowania, zwane metodami generowania i testowania. Stany z pewnego zbioru nie są odrzucane, ale tworzone są nowe. Ich część wykorzystywana jest do dalszego badania.
Najkorzystniejsze wykonywanie generowania, przekształcania i testowania wymaga, aby kody stanów spełniły pewne dodatkowe warunki. Przyjmuje się, iż kod danego stanu posiada informacje dodatkowe, wprost definiujące podproblem. Kod charakteryzujący się takimi cechami nazywa się kodem stanu i zezwala na dokonanie przyspieszenia toku przeszukiwania przestrzeni stanów (x).
Strategie przeszukiwania
Główna rola strategii przeszukiwania to wybór operatorów, określających gałęzie grafu badanej przestrzeni stanów, które są możliwe do wybrania w czasie rozwiązywania danego problemu. Gros wyników teoretycznych, które dotyczą strategii przeszukiwania otrzymano dla drzew, które są szczególnym typem grafów. Parametrami charakteryzującymi przeszukiwane grafy są:
głębokość węzła,
liczba potomków czyli stopień rozgałęzienia węzła,
ograniczenie ilości gałęzi wychodzących z jednostkowego węzła czyli stopień rozgałęzienia gałęzi .
Zadania polegające na wykreśleniu drzewa rozwiązania lub drogi wykorzystują często strategie iteracyjne. Tworzenie tego typu strategii stawia sobie za cel zminimalizowanie ilości badanych węzłów i zoptymalizowanie obszaru pamięci przeznaczonego na zachowanie w pamięci stanów przejściowych. Głównymi kryteriami przy dokonywaniu porównywania strategii są:
koszt obliczeniowy,
jakość wyznaczonego rozwiązania,
obszar pamięci nieodzowny dla strategii.
Strategia w głąb
Jej nazwa określa porządek przeszukiwania grafu. W grafie ścieżka wyznaczana jest do momentu, gdy ostatni jej element nie będzie określony jako węzeł końcowy lub celu. Przeszukiwanie zawsze jest kierowane od ostatnio weryfikowanego węzła, który nie miał jeszcze analizowanych wszystkich gałęzi. Główną operacją strategii w głąb jest ekspansja węzłów, tzn. generowanie wszystkich potomków tychże węzłów. Poniższy rysunek pokazuje przeszukiwanie węzłów.
Rysunek 3. Strategie przeszukiwania
gdzie:
węzeł celu - zakreskowany
dolne liczby - strategia wszerz.
górne liczby - strategia w głąb
Można zauważyć, że węzeł celu osiągnięto w piętnastym kroku .
Strategia w głąb może być nieskuteczna, jeśli zastosuje się ją dla grafów o znacznej głębokości. Przy takich grafach wybór węzłów rosnącej głębokości może być nieskuteczne choćby nawet węzeł celu miał skończoną głębokość. Trzeba wówczas uzupełnić strategię mechanizmem kontrolującym ograniczenie głębokości. Gdy głębokość węzła większa jest od ograniczenia albo węzeł osiągnął kryterium końcowe, dokonuje się powrót. Najważniejsza własność strategii w głąb to diagnozowanie kolejnych węzłów leżących na jednej ścieżce. Strategia ta wydaje się być oczywista dla tych grafów i problemów, w których właściwości węzłów zależą stricte od oszacownia właściwości ich rodziców. Strategia ta daje możliwość łatwego oszacowania wymagań pamięciowych. Przechowywane są w niej jedynie węzły z właśnie badanej ścieżki grafu (x).
Strategia z powracaniem
Strategia ta jest odmianą przeszukiwania w głąb. Różni się zasadniczo tym, że generowanie wszystkich potomków danego węzła zastąpione jest generowaniem jednego potomka, czyli jego rozszerzeniem. Dla badanego węzła jest generowany jeden tylko potomek a nie spełnia on warunku końcowego lub celu, jest on nadal rozszerzany. Jeśli po następnych rozszerzeniach uzyskany węzeł osiąga kryterium końcowe analizowanego grafu albo nie możliwe jest wygenerowanie dla niego nowego potomka, występuje powrót do najbliżej położonego przodka, dla którego możliwe jest wygenerowanie potomków.
Podstawowa zaleta tej strategii to oszczędność pamięci. Znaczniejsza niż podczas strategii w głąb. Mamy gwarancję, że gdy strategia z powracaniem się zakończy, wszystkie węzły, które zostały wygenerowane są przetestowane. Tej właściwości nie posiada strategia w głąb, w jej przypadku pewna część węzłów uzyskanych w wyniku następujących po sobie ekspansji może nie być testowana podczas działania algorytmu. Oszczędność pamięci dokonuje się kosztem skomplikowania strategii. Dokonywanie testów na krawędzi każdego z rozszerzanych węzłów wymaga kolejnego nakładu obliczeń.
Strategia wszerz
Strategia wszerz bada po kolei poziomy grafu o takiej samej głębokości, i nadaje wyższy priorytet dla węzłów, które mają mniejszą głębokość. Algorytm wszerz wskazuje węzeł o najmniejszej głębokości, porównując do innych węzłów celu. Gwarantuje to, że dla grafów skończonych, tzn. takich kiedy każdy węzeł posiada skończoną liczbę potomków) węzeł celu jest osiągalny, jeżeli tylko istnieje. Strategia wszerz posiada więc cechę zbieżności. Rozwiązanie optymalne wskazuje wg kryterium długości ścieżki rozwiązania. Strategia wszerz nie jest jednak wolna od wad. Analizie poddane są wszystkie węzły, których głębokość jest mniejsza od głębokości ustalonego węzła celu. W pamięci, zamiast jednej ścieżki, przechowywane są wszystkie węzły o takiej samej głębokości przed wygenerowaniem węzła o głębokości większej o jeden. Wymaga to dużych nakładów pamięciowych. W każdym kroku następują powroty do wcześniej wygenerowanych węzłów, od wielu kroków przechowywanych w pamięci.
Strategia zachłanna
Podstawowa operacja strategii zachłannej to ekspansja węzłów. Kiedy zostaje wykonana analizowane są nowe węzły i ten, który jest najbardziej obiecujący wybierany jest do następnej ekspansji. Strategia bazuje na lokalnej optymalizacji i nie daje zezwolenia na powrót do żadnego z przodków właśnie analizowanego węzła. To strategia nieodwracalna i niesystematyczna.
Algorytm obliczeniowy tej strategii jest bardzo prosty. Wadą jej jest brak możliwości wrócenia do kierunków analizowania, które były gorsze na pewnym etapie. Może to sprawić badanie drogi wiodącej do węzła końcowego, który nie spełnia wyznacznika celu lub do trafienia na drogę nieskończoną.
Strategia „najpierw najlepszy”
Bazuje ona na pewnej informacji heurystycznej związanej z rozwiązywanym problemem, aby zminimalizować koszty przeszukiwania. Wykorzystuje się więc określoną funkcję heurystyczną, która dokonuje oceny węzła biorąc pod uwagę kryteria takie, jak:
zbieżność, czyli osiągnięcie celu,
minimalny koszt drogi określonej od węzła początkowego, poprzez węzeł x, do końcowego węzła,
najmniejszej złożoności obliczeniowej przebiegu przeszukiwania.
Pod uwagę brany jest „najlepszy” węzeł spośród węzłów do tej pory rozpatrywanych, niezależnie w którym miejscu grafu są położone. Zakłada się, że wartość funkcji heurystycznej w węźle najbardziej obiecującym jest najmniejszą.
Operacją odróżniającą tę strategię od uprzednio opisywanych, jest uporządkowanie listy wg wartości funkcji heurystycznej. Analogicznie jak przy strategii w głąb, rozszerzenie węzłów dokonuje się przez ekspansję, to znaczy generowanie wszystkich potomków.
Strategia A *
Strategia A* jest kolejną metodą przeszukiwania heurystycznego.. Jej celem jest znalezienie w grafie najtańszej drogi. W strategii A* funkcja heurystyczna f(x) A* to suma dwóch składników.
f(x) = h(x) + g(x)
Oznacza to, że dla określonego węzła x wyznaczana jest najpierw w sposób heurystyczny estymacja h(x) kosztu drogi, która łączy węzeł x z węzłem celu. Kolejno wyznaczany jest dla węzła x koszt odległość między węzłem początkowym p i węzłem x, co oznacza składnik g(x).
Algorytm A* z pogłębianiem iteracyjnym jest odmianą tej strategii. Służy on do odnajdywania w grafie najkrótszej drogi, zaczynając od początkowego węzła do węzła będącego celem albo węzła zbliżonego do tego celu najbardziej. Pomocą w analizowaniu drzewa stanów, tutaj również jest funkcja heurystyczna, która określa jakość aktualnego węzła. Musi ona w swojej ocenie uwzględniać przybliżoną odległość od końcowego węzła, koszt odległości od początkowego węzła do węzła badanego, oraz złożoność obliczeń.
Najważniejsze dla algorytmu tego są: długość drogi w grafie i szacowana odległość od celu. Dąży on do znajdowania najlepszego możliwego rozwiązania. Realizuje on wzorzec algorytmu w głąb dla następujących po sobie iteracji z określoną wartością progu, który dotyczy wartości funkcji heurystycznych. Jeśli wartość funkcji heurystycznej analizowanego węzła jest większa niż zadany próg - następuje powrót. W pojedynczej iteracji są analizowane wszystkie węzły, w których wartość funkcji heurystycznej jest mniejsza niż zadany próg, w następnych iteracjach algorytmu ten próg jest zwiększany. Minimalizacja wymagań w zakresie pamięci komputera to podstawowa zaleta algorytmu A* z iteracyjnym pogłębianiem porównując z algorytmem A* w ujęciu tradycyjnym.
Metody pozyskiwania i zapisu wiedzy
Pozyskiwanie wiedzy
Pozyskiwanie wiedzy związane jest z uczeniem się przez maszyny. Polega ono na udoskonalaniu bazy wiedzy, przez formułowanie nowych pojęć, kontrolowanie prawidłowości danych, uczenie się nowych pojęć za pomocą analogii i przykładów, eliminację nadmiarowości.
Zamysłem pozyskiwania wiedzy na potrzeby systemów doradczych jest zwiększenie ich efektywności przez nadanie im zdolności samodzielnego wnioskowania i kontroli błędów.
Konstruowanie bazy wiedzy to najważniejszy proces podczas powstawania systemu eksperckiego. Jest to proces złożony, prowadzony wieloma metodami.
Jakość utworzonej bazy wiedzy wpływa na poprawność i efektywność systemu ekspertowego. Utworzenie dobrego systemu ekspertowego wymaga zaimplementowania wielu podstawowych algorytmów i połączenia ich w zwartą całość oraz uodpornienia systemu na liczne możliwe błędy, które mogą wystąpić.
Wymagane jest opracowanie metod pozyskiwania wiedzy pod kątem jej niesprzeczności, zupełności jak i eliminacji nadmiarowości.
Artykulacja wiedzy związana jest z zapisem posiadanej przez eksperta wiedzy (know-how) Podczas konstruowania systemu doradczego wymagane jest uzyskanie sformułowanego w postaci werbalnej opisu sposobu postępowania eksperta.
Rysunek 4. Proces pozyskiwania wiedzy
Wiedza może być pozyskiwana:
od ekspertów,
z danych.
Przy tworzeniu bazy wiedzy ważne jest gromadzenie danych i informacji, polegające na ich zgromadzeniu i dokonaniu oceny. Proces ten obejmuje dowolne z następujących zadań częściowych: zestawienie bibliografii, zapoczątkowanie poszukiwań literatury, gromadzenie materiałów źródłowych, gromadzenie raportów i dokumentów, generowanie sztucznych danych, gromadzenie danych wykorzystując wyniki eksperymentów oraz konsultacje z ekspertami. Najtrudniejsze z wymienionych zadań jest uzyskanie wiedzy bezpośrednio od eksperta, ponieważ niektórzy eksperci niezbyt chętnie przekazują swoją wiedzę inżynierowi wiedzy.
Sposoby pozyskiwania wiedzy od eksperta
Wyróżniamy następujące techniki pozyskania wiedzy od eksperta:
Obserwowanie eksperta przy pracy. Inżynier wiedzy jest tylko biernym obserwatorem, który stara się uzyskać wgląd na złożoność problemu.
Dyskusja problemu. Jej celem jest sprawdzenie jak zorganizowana jest wiedza eksperta problemie. Inżynier wiedzy powinien między innymi zadać następujące pytania:
jaka jest różnica między omawianym problemem a prototypowymi problemami danej dziedziny,
jakie rodzaje danych są niezbędne do rozwiązania problemu,
jakie typy rozwiązań są adekwatne dla problemu,
czy problem można podzielić nie oddziaływujące na siebie podproblemy,
jakich dziedzin wiedzy wymaga rozwiązanie problemu,
jak odbywa się wyjaśnianie rozwiązania problemu.
Opisywanie problemu. Ekspert na tym etapie przedstawia problem dla wszystkich kategorii danych wejściowych, podawanych przez użytkownika. W ten sposób formułowany jest prototypowy problem. Później następuje selekcja strategii rozwiązania problemu.
Analiza problemu. Inżynier wiedzy przedstawia ekspertowi szereg problemów do rozwiązania, a następnie bada w jaki sposób ekspert rozumuje podczas ich rozwiązywania. Właściwa analiza przyczynia się do właściwego zrozumienia problemu i opracowania metody jego rozwiązania. Zbyt dokładne przeanalizowanie problemu jest lepsze, niż dokonanie analizy w sposób niezadowalający.
Doskonalenie systemu. Ekspert przedstawia inżynierowi wiedzy zadania do rozwiązania, począwszy od bardzo łatwych, kończąc na dość trudnych. W ten oto sposób ekspert dowiaduje się, czy przekazał swoją wiedzę we właściwy sposób. Można powiedzieć że jest to sprzężenie zwrotne pomiędzy inżynierem wiedzy a ekspertem.
Testowanie systemu. Ekspert dokonuje testowania i wydaje sąd o każdej regule w tworzonym systemie ekspertowym, ocenia również strategię stosowaną do wyboru reguł. W ten sposób sprawdza się, czy abstrakcyjnie wyrażone koncepcje zostały w systemie prawidłowo zaimplementowane.
Legalizacja systemu. Prototypowy system ekspertowy powinien być udostępniony do oceny poprawności merytorycznej funkcjonowania i krytyki innym ekspertom. Wniesione poprawki mają umożliwić udoskonalenie systemu.
Trudności związane z pozyskiwaniem wiedzy od eksperta:
czasem nie ma ekspertów w danej dziedzinie,
nie satysfakcjonujący poziom wiedzy eksperta,
ekspert może nie wyrażać zgody lub nie okazuje chęci do współpracy,
ekspert może nie potrafić wyartykułować swojej wiedzy i doświadczeń.
Metody pozyskiwania wiedzy
Wyróżniamy następujące metody pozyskiwania wiedzy:
bezpośrednie zapisanie wiedzy,
na podstawie instrukcji,
na podstawie analogii,
na podstawie przykładów,
na podstawie obserwacji,
na podstawie grupowania pojęć i obserwacji.
Rysunek 5. Metody pozyskiwania wiedzy
Tak przeprowadzony podział metod związany jest z kryterium uwzględniającym ilość informacji przekazanej do systemu uczącego (tutaj systemu doradczego), a wymaganej dla realizacji każdej z metod.
Bezpośrednie zapisanie wiedzy
Metodę tę stosuje się przy nieskomplikowanych bazach wiedzy, nie oczekuje od systemu wnioskowania ni też przekształcania wiedzy, jest to pamięciowe uczenie się. Możemy posłużyć się przykładem uczenia się przez bezpośrednie zaprogramowanie, czy też przez zapamiętania określonych stwierdzeń bez dyskusji nad mechanizmami wnioskowania.
Pozyskiwanie wiedzy na podstawie instrukcji
Spotykamy się tu z koniecznością współdziałania nauczyciela i uczącego się. Metoda polega na wykorzystaniu źródeł wskazanych przez nauczyciela i przekształceniu ich na język akceptowalny dla uczącego się. Następnie dokonywana jest agregacja wiedzy pozyskiwanej z wiedzą już istniejącą. Jest to niezbędne aby efektywnie stosować wiedzę. Należy zwrócić uwagę na ważną rolę odgrywaną przez nauczyciela, który przekazuje wiedzę nadając jej odpowiednią budowę, aby można było ją dołączać do istniejącej już bazy wiedzy.
Pozyskiwanie wiedzy na podstawie analogii
Jest to taka transformacja wiedzy, aby można ją było wykorzystać do opisu faktów, które podobne są do zawartych wcześniej w bazie wiedzy.
Głównym pojęciem we wnioskowaniu metodą analogii jest przypadek, czyli opis analizowanej sytuacji wraz z odpowiadającym mu rozwiązaniem czy też decyzją. Charakteryzuje on sytuację wraz rozwiązaniem, która wystąpiła uprzednio i została zapamiętana przez komputer. Baza wiedzy zawiera zwykle wiele przypadków, pewne z nich można wykorzystać w rozwiązaniu problemów zbliżonych do zawartych w bazie.
Rysunek 6. Proces pozyskiwania wiedzy przez analogię
Na proces pozyskiwania wiedzy przez analogię składają się cztery etapy:
Poszukiwanie w bazie wiedzy przypadków podobnych do nowego, opisywanego problemu.
Na tym etapie najważniejsze jest znalezienie w bazie wiedzy właściwych przypadków, które mogą być użyte w konkretnej sytuacji. Wyszukanie takich przypadków jest możliwe dzięki uprzedniemu zdefiniowaniu funkcji prawdopodobieństwa, która dla danych poprzedniego i nowego przypadku określa miarę ich podobieństwa. Na wartości takiej funkcji nadają się np.: liczba, prawda./fałsz, 0/1, zbiór wartości jakiegoś przedziału. Pojęcie podobieństwa jest najistotniejsze w omawianej metodzie. Zakłada się, że podobne problemy mają podobne rozwiązania.
Transformacja rozwiązania znalezionych przypadków na potrzeby nowego problemu.
Po wybraniu z bazy odpowiedniego przypadku lub przypadków najbardziej odpowiadających nowemu problemowi kolejnym krokiem jest zastosowanie istniejącego rozwiązania wprost lub po transformacji do nowego problemu. Jeżeli znaleziony poprzednio przypadek ma rozwiązanie, które jest odpowiednie dla użytkownika, to może on przyjąć je jako rozwiązanie nowego przypadku. Często definicje problemów dla obu przypadków nie są identyczne, a więc rozwiązanie dla przypadku wybranego z bazy musi zostać skorygowane tak , aby spełniało wszystkie stawiane wymogi i mieściło się w sprecyzowanych granicach.
Ocena sugerowanego rozwiązania
Znalezione w trzecim etapie rozwiązanie niekoniecznie musi być poprawne, stąd też potrzebny jest kolejny etap, czyli weryfikacja spójności, skuteczności i użyteczności zastosowanego rozwiązania. Taką weryfikację można przeprowadzić poprzez symulację komputerową- bazując na wiedzy dziedzinowej, lub też w rzeczywistych warunkach.
Zapis sprawdzonego rozwiązania w bazie wiedzy
Jeśli weryfikacja rozwiązania wykazała, że jest ono poprawne, można do istniejącej bazy wiedzy wprowadzić nowy przypadek ze znalezionym i zweryfikowanym rozwiązaniem. Może on w przyszłości zostać punktem wyjścia dla rozwiązywania nowych problemów.
Pozyskiwanie wiedzy na podstawie przykładów
Nazywane jest także przyswajaniem pojęć. Polega ono na tworzeniu ogólnego opisu pojęć bazujących na zbiorze przykładów obiektów reprezentujących te pojęcia. Opis ten otrzymuje się jest na zasadzie indukcji. Obiekty o podobnym charakterze opisują dostateczne wymagania dla klasy członków, co umożliwia systemowi dokonanie identyfikacji wszystkich przykładów z danej klasy, odrzucając wszystkie przykłady dotyczące innych klas (rozłączność).
Natomiast klasa dyskryminująca może rozróżniać przykłady z jednej klasy wykorzystując predefiniowany zbiór pozostałych klas. Jako dyskryminujący opis potrzebuje specyficznych własności stosowanych w kontekście przytwierdzenia do grupy klas.
W takiej sytuacji tworzona definicja winna zawierać wszystkie przykłady pozytywne oraz eliminować wszystkie negatywne. W pierwszym przypadku może wystąpić niebezpieczeństwo dokonania uogólnienia danego pojęcia idącego zbyt daleko. Uniknięciu takiego stanu rzeczy sprzyja wykorzystanie kontrprzykładów.
Metoda pozyskiwania wiedzy na podstawie obserwacji
Metoda ta jest też zwana uczeniem bez nauczyciela. Stanowi ona ogólny sposób uczenia indukcyjnego. Wymaga dużo większego udziału uczącego się podczas procesu uczenia. Tego rodzaju sposób pozyskiwania wiedzy w ograniczonym zakresie stosuje się w tzw. technikach grupowania i rozpoznawania obrazów. Zależnie od interakcji uczącego się z otoczeniem wyróżnia się tutaj wyróżnić metody obserwacji biernych (obserwator uczy się oraz klasyfikuje różne rodzaje obserwacji pochodzące z otoczenia) oraz metody obserwacji czynnych, tzw. Eksperymentowanie (w ich trakcie uczący się wpływa na zmiany, które zachodzą w otoczeniu i obserwuje skutki tych zmian).
Pozyskiwanie wiedzy na podstawie obserwacji i grupowania pojęć.
Metoda ta stanowi rozszerzenie pozyskiwania pojęć za pomocą przykładów. Przykłady oraz pojęcia przez nie reprezentowane dostarczane są przez nauczyciela. Obserwacje natomiast są przeprowadzane bez udziału nauczyciela i wynikają z otoczenia bądź też są generowane przez specyficzną dziedzinę, w której będzie stosowany system ekspertowy. Przykłady w tym podejściu nie są przyporządkowane poszczególnym pojęciom.
Rozważając proces pozyskiwania wiedzy z użyciem przykładów i obserwacji warto przytoczyć dwie podstawowe techniki rozpoznawania obrazów: rozpoznawanie z nauczycielem, czyli rozpoznawanie nadzorowane, oraz techniki grupowania zwane też rozpoznawaniem bez nauczyciela.
Metody grupowania polegają na automatycznym wydobyciu i określeniu struktury w analizowanym zbiorze danych. Przez wzgląd na ich ogólny charakter techniki mogą być adaptowane dla potrzeb systemów ekspertowych.
Zadania metod pozyskiwania wiedzy
Wyróżniamy następujące zadania metod pozyskiwania wiedzy:
formułowanie nowych pojęć,
wykrywanie prawidłowości w danych,
tworzenie reguł decyzyjnych,
uogólnianie i precyzowanie pojęć,
stosowanie analogii,
zdobywanie wiedzy drogą konwersacji z użytkownikami systemów,
uogólnianie wyników pomiarów,
generowanie wiedzy aby była ona zrozumiała dla człowieka.
Podział metod pozyskiwania i zapisu wiedzy:
metody tworzenia i analizy zapisów (ankiety, nagrania wideo)
metody tworzenia i analiz drzew wiedzy,
metody diagramowe
metody macierzowe
metody sortowania
metody ograniczania dostępniej wiedzy
Metody tworzenia i analizy zapisów
Najpowszechniej stosowaną metodą jest ankieta. Może ona mieć formę papierową albo elektroniczną. Przy jej tworzeniu trzeba zwrócić uwagę, aby:
pytania formułować jednoznacznie,
pytania winne być zrozumiałe dla odpowiadających,
należy unikać pytań binarnych, powinno dawać się przynajmniej 3 opcje - (tak, nie, nie wiem),
należy zapewnić przejrzystą i zachęcającą formę ankiety,
eksperci charakteryzują się różnym stopniem znajomości problemu - należy ich o to zapytać.
Metoda delficka
Najbardziej popularną metodą analizy ankiet jest metoda delficka. Polega ona przeprowadzeniu ankiet wśród ekspertów z pewnej dziedziny. Podczas badań nie podaje się tożsamości specjalistów, zabronione są również ich wzajemnie kontakty, by wykluczyć wpływ autorytetów i perswazję. Najbardziej skrajne wypowiedzi są odrzucane, co wpływa na bezstronność i obiektywność wyników .
Eksperci są dobierani celowo, według ich wiedzy i doświadczenia w danej dyscyplinie. Wyjątkowy nacisk kładziony jest na ich kompetencję, nie zaś tytuły naukowe lub zajmowane stanowiska. Zespół specjalistów powinien liczyć od 25 do 100 osób. Dopuszcza się więcej osób, jednak utrudnia opracowywanie wyników ankiet. Natomiast mniej niż 25 osób sprawia, że wyniki nie są reprezentatywne. Inaczej niż w burzy mózgów, w metodzie Delfickiej członkowie zespołu nigdy nie pracują razem. Dlatego też ankiety wysyłane są do nich pocztą lub za pośrednictwem Internetu. Pytania w ankiecie winny być zaprezentowane precyzyjnie, aby nie wywoływały wątpliwości, oraz aby dały możliwość przeprowadzenia statystycznej analizy wyników. Właśnie dlatego skonstruowane są tak, żeby w odpowiedzi można było użyć jednostek wag, miar, czasu albo potwierdzając lub zaprzeczając, np. w którym roku zwiedzający będą mieli wgląd w zbiory muzeum X? Pytania powinny być niezależne, tzn. odpowiedź na któreś z pytań nie powinna mieć wpływu na odpowiedź na kolejne pytanie. W celu wyeliminowania z ankiety błędów, można ją zweryfikować współpracując z małą grupą ekspertów, którzy przedstawią jej niedociągnięcia i błędy. Przesłanie nieprawidłowo przygotowanej ankiety może być powodem braku możliwości właściwej generalizacji odpowiedzi i opracowania wyników. Zdobycie kolejnych odpowiedzi na poprawioną już ankietę, może stać się niemożliwe ze względu, na niechętne ponowne jej wypełniania przez osoby uczestniczące w badaniach.
Dyskusja ankietowa, czyli tzw. „burza mózgów”.
Jest to kolejna metoda. Przebiega ona kilkuetapowo:
FAZA PRZYGOTOWAWCZA
sprecyzowanie problemu
zebranie i posegregowanie informacji o problemie
ustalenie składu osobowego zespołu
W skład zespołu w czasie pierwszej sesji powinno wchodzić ok.12 osób. 1/3 z nich stanowić powinni amatorzy. Nie dopuszcza się osób pozostających w relacjach przełożony-podwładny. Trzeba zapewnić, aby poziom inteligencji i zdolności komunikacyjnych był jednakowy. Sesja nie powinna być dłuższa niż jednogodzinowa. W drugiej sesji biorą udział 3 osoby, znające strategię firmy, możliwości branży i nie wykazują zbytniego konserwatyzmu.
przygotowanie pomieszczenia i środków materialnych do sesji twórczej
FAZA TWORZENIA
spotkanie nieformalne - stworzenie klimatu dla pracy twórczej
sesja twórcza: przedstawienie problemu, przypomnienie reguł burzy mózgów, przedstawianie pomysłów.
dokonanie podsumowania sesji twórczej: przelanie pomysłów na specjalne karty, przypisanie im znaków ewidencyjnych.
ewentualnie uzupełniająca sesja twórcza; zgłaszanie pomysłów powstałych po zakończeniu sesji
FAZA OCENY
ustalanie kryteriów oceny
analiza i ocena zebranych pomysłów
dokonanie wyboru do rozwinięcia szczegółowego.
PRZEKAZANIE WYSELEKCJONOWANYCH POMYSŁÓW do dalszych prac zespołom projektowym.
Obie metody mają swoje plusy i minusy, dlatego najlepiej stosować je łącznie, np. anonimowe ankiety w początkowej fazie a dyskusję w późniejszych etapach.
Drzewo decyzyjne
Jest graficzną metodą wspomagania procesu decyzyjnego. Algorytm drzew decyzyjnych stosuje się rónież w uczeniu maszynowym w celu pozyskiwania wiedzy z przykładów.
Na drzewo składają się węzły (decyzji i stanów natury), gałęzie (możliwych wariantów) oraz liście. Tradycyjnie decyzje oznaczamy prostokątami, natomiast stany natury kołami. Konstrukcję drzewa rozpoczynamy od korzenia.
Algorytm rozpoczyna pracę na węźle korzeniowym, dzieląc wszystkie dostępne tam dane da na dalsze węzły, dopóki nie zostaną spełnione zadane kryteria kończące. Za pomocą drzewa można zawsze dzielić dane na klasy, w krańcowym przypadku uzyskując pojedyncze próbki danych w węzłach liściowych.
Węzły wewnętrzne - każdy związany z jednym atrybutem, reprezentuje test wartości tego atrybutu
Gałęzie - każda związana jest z jedną wartością lub podzbiorem wartości atrybutu węzła, z którego wychodzi gałąź odpowiada obiektom danych z pasującymi wartościami atrybutu
Liście - każdy związany z decyzją lub rozkładem decyzji, odpowiada obiektom danych pasującym do ścieżki prowadzącej do danego liści.
Drzewa decyzyjne reprezentują serie testów wykonanych w określonej kolejności, gdzie każdy kolejny test rozdziela pewne próbki danych na podgrupy o większej „czystości”, tzn. zawierające coraz więcej próbek z danej tylko klasy.
Jeśli dane poddają się podziałowi tą metodą, to końcowe gałęzie drzewa będą zawierały próbki tylko z poszczególnych klas. Dodatkowo uzyskana proporcja wskazuje na prawdopodobieństwo poprawności klasyfikacji.
Metody diagramowe
Metody diagramowe:
są uogólnieniem drzew decyzyjnych,
ekspert oraz inżynier wiedzy wspólnie tworzą schematycznie przedstawienie wiedzy, np. diagramy stanów, mapy pojęć, mapy procesów.
Metody macierzowe
polegają na utworzeniu dwuwymiarowej macierzy
wierszami i kolumnami mogą być np. pojęcia/właściwości, problemy/rozwiązania, czynności/zasoby
elementami macierzy mogą być np. liczby, symbole, kolory
Metody sortowania
Służą poznaniu cech na podstawie których eksperci klasyfikują obiekty. Taka wiedza będzie umożliwić odkrycie ich charakterystycznych cech.
Jedna z nich to metoda trzech kart
Polega ona na losowym wybraniu trzech kart i zapytaniu eksperta, co te obiekty mają wspólnego i co je różni.
W ten sposób obiektom są przyporządkowane nowe atrybuty i ich wartości.
Wnioskowanie
Wnioskowanie jest procesem myślowym, który dopuszcza pewne zdania, zwane przesłankami, i na ich podstawie dochodzi do uznania za prawdziwe innego zdania nazywanego wnioskiem.
Wnioskowanie w systemach ekspertowych oparte jest logikę matematyczną, badającą, czy wynikiem założeń są konkluzje, niezależnie od ich prawdziwości lub fałsz i bez względu na to, jakich zagadnień dotyczą.
Logika zezwala uznawać pewne metody wnioskowania mające zastosowanie w naukach za trafne, tworząc z nich systemy logiczne stanowiące zbiór praw i reguł. Stosując się do nich można uznawać te wnioskowania, z którymi spontanicznie akceptujemy za bez zarzutu. W sprawie akceptowania lub nieakceptowania pewnych sposobów wnioskowania mamy w matematyce dużą zgodność poglądów. Nie ma sytuacji, w jakich dane reguły dla jednych są prawdziwe, a dla innych całkowicie błędne. Daje się zaobserwować pewne różnice jeśli chodzi o rozumienie pewnych reguł i o pogląd na zasięg ich stosowania. Zbiór wszystkich metod wnioskowania napotykanych w matematyce, jest tzw. klasycznym systemem logiki, który obejmuje rachunek zdań (koniunkcja, alternatywa, implikacja, równoważność zdań,) i rachunek kwantyfikatorów. Klasyczny rachunek zdań najłatwiej wytłumaczyć poprzez zdefiniowanie pojęć fałszu i prawdy, które są zazwyczaj zrozumiałe. Klasyczna definicja prawdy głosi, że zdanie prawdziwe opisuje stan rzeczy, który faktycznie ma miejsce. Zdanie opisuje nieistniejący stan rzeczy. Takie rozumowanie opiera się na zasadzie dwuwartościowości, mówiącej, że każde zdanie może mieć tylko jedną z dwóch logicznych wartości: prawdę lub fałsz. Znaczy to, że każde zdanie jest fałszywe lub prawdziwe i żadne zdanie nie może być jednocześnie fałszywe i prawdziwe.
Dla dowiedzenia prawdziwość jakiegoś stwierdzenia nie będącego aksjomatem (pewnikiem), należy użyć jednej z poniższych metod dowodzenia poprawności schematów logicznych:
metody zero-jedynkowej,
metody założeniowej.
Metoda zero-jedynkowa polega na określaniu wartości logicznej zdania badając wartości logicznej jej składników.
Aby przekonać się czy dane wyrażenie jest tautologią, trzeba rozważyć wszystkie możliwe układy wartości logicznych w nim występujących. Gdy we wszystkich przypadkach wartość formuły wynosi 1 to formuła ta jest tautologią.
W metodzie założeniowej analizowany schemat przyjmujemy jako niezawodny, gdy wynikiem kolejnych działań, w których dostajemy schematy wcześniej udowodnione jako niezawodne, uzyskamy ostatecznie cel (konkluzję całego wyrażenia).
Nie możemy jednak na nią liczyć, kiedy chcemy wykazać zawodność schematów.
Według metody założeniowej dowód powinno rozpoczynać wypisanie założeń, czyli przesłanek dowodzonego schematu oraz poprzednika jej wniosku.
Najważniejszym składnikiem systemu ekspertowego jest mechanizm wnioskowania. Przebieg działania mechanizmu jest ustalony w następujących krokach, pokazanych na poniższym rysunku:
Rysunek 7. Opis mechanizmu wnioskowania
Selekcja - to ograniczanie zbioru faktów, reguł i hipotez dla zmniejszenia liczby uzgodnień, np. Porządkowanie zbioru reguł, zawężanie liczby reguł.
Uzgadnianie - to znalezienie reguł, dających się uzgodnić z faktami. Reguła może być uzgodniona raz lub wiele razy, co zależy od danych wejściowych. Mamy tu trzy stany faktów: prawdziwe, fałszywe i niesprawdzone.
Tworzenie zbioru konfliktowego - w zależności od zastosowanej strategii postępowania może to być zbiór możliwych działań do zastosowania w danym momencie.
Rozstrzygnięcie sytuacji konfliktowej na podstawie zbioru reguł, lub przyjętego sposobu jakościowej oceny rozwiązań, wybranie najlepszego działania.
Wyzwolenie - wykonanie części THEN wybranej reguły.
Proces wnioskowania dokonywany jest przez moduł wnioskowania, który jest centralnym punktem całego sytemu eksperckiego.
W konwencjonalnych regułowych systemach ekspertowych stosuje się następujące strategie wnioskowania:
Wnioskowanie w przód
Idea tego wnioskowania jest niezwykle prosta. Na podstawie znanych reguł i faktów generuje się nowe fakty do czasu, aż wśród nich znajdzie się odpowiedź na postawiony cel (hipoteza) albo gdy wszystkie reguły w bazie zostały już uaktywnione. Kolejne kroki mechanizmu wnioskowania w przód:
1) dokonanie sprawdzenia, czy przesłanki którejś reguły istnieją jako fakty w bazie wiedzy. Jeżeli odpowiedź jest twierdząca, to reguła tak uaktywnia się w oparciu o wybraną strategię sterowania wnioskowaniem;
2) konkluzja reguły wybranej w ten sposób jest wprowadzana do bazy wiedzy jako nowy fakt. Zapisuje się również informacja o tym, iż dana reguła była już wykorzystywana, co ma zapobiec nieskończonej pętli wybieranych reguł;
gdy cel wnioskowania nie został osiągnięty i jednocześnie nie wszystkie reguły zostały użyte, to następuje powrót do punktu wyjścia (1).
Rysunek 8. Schemat blokowy wnioskowania w przód
Wnioskowanie wstecz
Wnioskowanie to zwane inaczej wnioskowaniem metodą regresywną ma przebieg dokładnie odwrotny jakwnioskowanie w przód. Jest ono "sterowane celem" ). Zaczyna się postawieniem hipotezy i poszukuje argumentów, które potwierdzą lub obalą hipotezę, wykorzystując reguły istniejące w bazie wiedzy. Wnioskowanie to polega na udowodnieniu prawdziwości hipotezy głównej bazując na prawdziwości przesłanek. Jeżeli nie wiemy, czy któraś przesłanka jest prawdziwa, uznajemy ją za nową hipotezę i staramy się udowodnić. Gdy wynikiem takiego postępowania będzie znalezienie reguły, o wszystkich przesłankach prawdziwych, to jej konkluzja jest także prawdziwa. Biorąc pod uwagę tę konkluzję dowodzi się kolejną regułę, której przesłanki poprzednio nie znaliśmy. Hipoteza jest prawdziwa, jeżeli wszystkie analizowane przesłanki dadzą się udowodnić.
Algorytm wnioskowania wstecz przedstawia się jako:
Sprawdzenie, czy podana hipoteza istnieje jako fakt w bazie wiedzy. Jeżeli nie, to należy dowieść jej prawdziwości w kolejnych krokach wnioskowania;
Sprawdzenie, czy główna hipoteza jest konkluzją którejś reguły. Jeśli tak, trzeba sprawdzić, czy jej przesłanki istnieją jako fakty w bazie wiedzy. Jeżeli tak, to konkluzja tej reguły jest uznana jako prawdziwa. Jeśli jednak jakaś z przesłanek nie jest faktem w bazie wiedzy, udowadnia się ją zgodnie z algorytmem.
Ten algorytm jest powtarzany do momentu wykazania hipotezy głównej. To kończy cały algorytm.
Różnica między wnioskowaniem wstecz a wnioskowaniem w przód polega m.in. tym, że generowana jest mniejsza liczba nowych faktów i uniemożliwia jednoczesne dowodzenie kilku hipotez. Wnioskowanie wstecz jest bardziej efektywne i szerzej rozpowszechnione. Ważne jest także, że podczas wnioskowania wstecz czas oczekiwania na rozwiązanie postawionej hipotezy jest generalnie dużo krótszy niż podczas wnioskowaniu w przód.
Rysunek 9. Schemat blokowy wnioskowania wstecz
Wnioskowanie mieszane
Wnioskowanie mieszane jest kompromisem między wnioskowaniem w przód
i wstecz, dzięki czemu jest pozbawione niektórych wad wspomnianych metod. Strategia wnioskowania mieszanego wykorzystuje ogólne reguły, tzw. metareguły stanowiące metawiedzę, na bazie której program zarządzający dokonuje odpowiedniego przełączania między poszczególnymi rodzajami wnioskowania. Metareguły zawierają wskazania dotyczące pierwszeństwa wyboru rodzaju wnioskowania. Zależnie od sytuacji system może automatycznie dobrać najodpowiedniejszy sposób wnioskowania. W przypadku przechodzenia z jednego rodzaju wnioskowania na drugi za hipotezę główną zawsze przyjmuje się tę, którą postawił użytkownik. Dzięki temu na każdym etapie wnioskowania jest możliwość dania odpowiedzi na postawioną hipotezę.
We wnioskowaniu mieszanym poza wczytaniem przez system bazy wiedzy należy wczytać także zbiór zawierający metareguły. System działa w sposób, jakby zawierał dwie maszyny wnioskujące (progresywną i regresywną). Wiedza zapisana w metaregułach może preferować jeden z rodzajów wnioskowania. Na przykład baza wiedzy jest dzielona na dwie części: reguły związane z wnioskowaniem wstecz oraz reguły związane z wnioskowaniem w przód. Załóżmy, że wyższy priorytet dajemy wnioskowaniu wstecz. Wówczas jest ono zalecane dopóty, dopóki da się zastosować jakąś regułę.
Po każdym cyklu wnioskowania są sprawdzane warunki zapisane w metaregułach. Jeżeli nie daje się dalej stosować wnioskowania wstecz, to system zostaje przełączony w tryb wnioskowania w przód.
Przy wyprowadzaniu kolejnych faktów jest sprawdzany warunek, czy system uzyskał już odpowiedź na postawioną hipotezę; jeżeli tak, to wynik jest przekazywany jako rozwiązanie. W przeciwnym przypadku proces jest kontynuowany; w zależności od okoliczności może być uruchamiany drugi rodzaj wnioskowania. Cykl ten powtarza się aż do osiągnięcia celu głównego lub do wyczerpania wszystkich możliwości jego wykazania na bazie posiadanej bazy wiedzy albo też odpowiedzi udzielonych przez użytkownika podczas dialogu.
Podstawową zaletą wnioskowania mieszanego jest krótki czas niezbędny do uzyskania rozwiązania. Nie ma tutaj sytuacji właściwych dla wnioskowania w przód, że program, tworząc nowe fakty, może zająć całą pamięć operacyjną. Trudność natomiast sprawia pozyskanie metawiedzy. Należy nadmienić, że źle dobrane metareguły mogą spowolnić pracę systemu lub nawet uczynić ją nieefektywną.
Wnioskowanie rozmyte
Systemy rozmyte charakteryzują się przetwarzaniem informacji danej w postaci symbolicznej i wiedzy zapisanej w formie rozmytych reguł. Pozwalają opisywać zjawiska o charakterze nieprecyzyjnym i wieloznacznym, których nie potrafiła ująć teoria klasyczna i logika dwuwartościowa. Ich działanie wynika z zastosowania logiki rozmytej i teorii zbiorów rozmytych. Klasyczna logika bazuje na dwóch wartościach reprezentowanych najczęściej przez: 0 i 1 lub fałsz i prawda. Granica między nimi jest jednoznacznie określona. Logika rozmyta jest rozszerzeniem klasycznego rozumowania na rozumowanie bliższe ludzkiemu. Bierze ona pod uwagę wartości pomiędzy standardowe 0 i 1; `rozmywa' granice pomiędzy nimi dając możliwość zaistnienia wartościom z pomiędzy tego przedziału (np.: prawie fałsz, w połowie prawda). Logika wielowartościowa (przybliżone wnioskowanie) to aparat przy pomocy którego opisujemy operacje dla zbiorów rozmytych.
Podstawowym pojęciem teorii zbiorów, obok samego zbioru U, jest relacja przynależności elementu do tego zbioru. W odróżnieniu od zbiorów o nierozmytej przynależności, w zbiorach rozmytych nie ma ostrej granicy między elementami, które do danego zbioru należą, a tymi które należą do innych zbiorów.
Określa się przynależność elementu do zbioru, czyli liczbę z przedziału [0,1]. Wszystkim zmiennym u można przypisać inną funkcję przynależności , która określa stopień przynależności zmiennej do danego zbioru rozmytego F.
Warunek μF(u) = 1 oznacza pełną przynależność u do zbioru F, wartość μF(u)=0 oznacza to brak tej przynależności. Pośrednie wartości μF(u) wyrażają przynależność częściową u do zbioru F.
Rysunek 10. Przynależność do zbiorów rozmytych
Podstawową cechą zbiorów rozmytych, decydującą o ich znaczeniu praktycznym, jest wnioskowanie. Ogólny zapis wnioskowania ma postać:
jeśli przesłanka logiczna to konkluzja
Istotnym problemem jest sposób tworzenia reguł wnioskowania.
Rozwiązaniem może być zastosowanie eksperta, który na podstawie zdobytego wcześniej doświadczenia określi sposób postępowania dla poszczególnych przypadków, które mogą się zdarzyc w trakcie procesu.
Zadaniem eksperta będzie konstrukcja samej reguły wnioskowania jak i doboru funkcji przynależności dla każdego przypadku.
Innym rozwiązaniem jest konstrukcja reguł wnioskowania na podstawie szeregu wykonanych badań eksperymentalnych. W takim przypadku podstawą modelu podejmowania decyzji są wyniki numeryczne eksperymentów, określające zarówno reguły wnioskowania, jak i funkcje
Rysunek 11. Schemat wnioskowania rozmytego
W bloku wnioskowania dokonuje się wyliczenia rozmytych wartości wyjściowych na podstawie reguł zawartych w bazie reguł i rozmytych wartości na wejściu, korzystając z logiki rozmytej
Wnioskowanie rozmyte realizuje się w następujących krokach:
Określenie reguł rozmytych.
Określenie funkcji przynależności do wartości wejść i wyjść.
Rozmycie wejść poprzez użycie funkcji przynależności (fuzyfikacja).
Łączenie rozmytych przesłanek (wejść) poprzez rozmyte reguły by uzyskać rozmyte konsekwencje (z wielu reguł).
Łączenie wniosków (konsekwencji), by otrzymać ostateczny rozkład wyjścia.
Defuzyfikacja wyjścia (wyostrzenie) - tylko, gdy musimy uzyskać jednoznaczną odpowiedz.
Sterowanie wnioskowaniem
Żeby zastosować określoną regułę korzysta się z metod sterowania wnioskowaniem. Wybiera się strategie ograniczające liczbę reguł możliwych do uaktywnienia.
Wyróżnia się następujące strategie:
Strategia świeżości - polega na określeniu reguły, która spośród wybranych do oceny została najpóźniej dołączona do pewnego obszaru pamięci, gdzie przechowywane są reguły. Chwila dodania może być określona przez zegar systemowy. Inny sposób polega na wyborze reguły, która najpóźniej została dołączona do reguł znajdujących się w pewnym wyszczególnionym obszarze pamięci komputera (tzw. agenda).
Strategia blokowania - eliminuje reguły wykorzystane wcześniej w procesie wnioskowania. Jest to konieczne, gdyż inaczej powstałaby pętla nieskończona. Blokowanie reguł osiąga się np. umieszczając dodatkowe pole w strukturze danych (rekordzie) każdej reguły. W polu takim znalazłaby się informacja o wykorzystaniu bądź niewykorzystaniu danej reguły.
Strategia specyficzności - działa uwzględniając różną liczbę przesłanek w regułach. Preferowane są te reguły, które mają większą liczbę przesłanek. W przypadku reguł o tej samej liczbie przesłanek, jest wybierana ta, która m najmniejszą liczbę zmiennych.
Strategie te spełniają w programie funkcję pewnego rodzaju filtrów, mają za zadanie ograniczyć liczbę reguł - kandydatów do wykorzystania - tak, aby wybrać tylko jedną. Jeśli ciągle mamy więcej niż jedną regułę do uaktywnienia, to stosuje się tzw. strategię przypadkowości, która losowo wybiera regułę.
Cyceron - właściwie Marcus Tullius Cicero (106-43 p.n.e.), mówca, filozof i polityk rzymski (http://portalwiedzy.onet.pl/szukaj.html?S=Cyceron&pw=1&x=0&y=0).
źródło: opracowanie własne na podstawie: http://pl.wikipedia.org/wiki/System_ekspertowy
źródło: http://aragorn.pb.bialystok.pl/~radev/ai/sosn/bahojlo.htm
http://www.knet.com.pl/~eti/download/se.pdf
http://www.knet.com.pl/~eti/download/se.pdf
http://www.knet.com.pl/~eti/download/se.pdf
http://www.systemy.rac.pl/index2.php?id=2
Estymacja (łac. aestimatio „szacowanie, ocenianie”) badanie szacunkowe nieznanych parametrów wyznaczanych z ogółu, np. określanie średniej, szacowanie (na podstawie: http://pl.wikipedia.org/wiki/Estymacja)
aragorn.pb.bialystok.pl/~radev/ai/sosn/kuc.doc
aragorn.pb.bialystok.pl/~radev/ai/sosn/kuc.doc
aragorn.pb.bialystok.pl/~radev/ai/se/zal/selic/jablonski.doc
http://m6.mech.pk.edu.pl/~habel/dydaktyka/APP/se.pdf
aragorn.pb.bialystok.pl/~radev/ai/se/zal/selic/pardo.doc
http://www.knet.com.pl/~eti/download/se.pdf
www.datamining. home.pl/_ds/strategie.htm
http://aragorn.pb.bialystok.pl/~radev/logic/logrozm.htm
- 1 -
Procedury wnioskowania
Użytkownik
Baza wiedzy
Baza danych stałych
Procedury sterowania dialogiem
Procedury aktualizacji baz wiedzy
Procedury objaśniania
Baza danych zmiennych
2
2
7
3
14
4
3
5
8
6
9
7
12
8
15
9
4
6
10
13
5
11
1
1
SYSTEM
DORADCZY
TECHNIKI PROGRAMOWANIA
ZASTOSOWANIE WIEDZY PRZEZ SYSTEM
WIEDZA ZAPISANA W SYSTEMIE
EKSPERT I INŻYNIER WIEDZY
ARTYKULACJA WIEDZY
WIEDZA PRZEKAZANA PRZEZ EKSPERTA
WIEDZA POSIADANA PRZEZ EKSPERTA
W SYSTEMIE
METODY POZYSKIWANIA WIEDZY
BEZPOŚREDNIE ZAPISANIE WIEDZY
NA PODSTAWIE ANALOGII
NA PODSTAWIE INSTRUKCJI
NA PODSTAWIE PRZYKŁADÓW
NA PODSTAWIE OBSERWACJI
Wybrane przypadki
Zapamiętane przypadki
Zaadoptowane przypadki
Sprawdzone przypadki
Nowy przypadek
Poszukiwanie
Zapis
Transformacja
Ocena
Dopasowanie przesłanek reguł do faktów
Uaktywnienie reguły, zapisanie jej na liście reguł wykorzystanych i dodanie konkluzji reguły do bazy faktów
Wykorzystanie reguły do uaktywnienia na podstawie strategii „wybierz pierwszą regułę”
START
KONIEC
Czy przesłanki reguł można dopasować do faktów?
Czy jest więcej niż jedna reguła?
TAK
TAK
NIE
NIE
T
N
N
T
START
STOP
Czy załadować nową bazę wiedzy?
Czy jest następna hipoteza
Postaw hipotezę przez odczytanie jej z bazy wiedzy lub wyprowadź nową hipotezę
Szukaj odpowiedzi na postawioną hipotezę
Utwórz listę faktów na podstawie listy reguł wg określonych zadań
Utwórz listę reguł przez odczytywanie bazy wiedzy i utworzenie odpowiednich struktur
Zwolnij struktury danych, które reprezentowały bazę wiedzy w poprzednim wnioskowaniu
Sprawdź składnię bazy wiedzy
Załaduj bazę wiedzy
niski
średni
wysoki
160
170
180
cm
μF(u)
niski
średni
wysoki
μF(u)
160
170
180
cm
Blok wnioskowania
Baza reguł
wejście
wyjście
zbiory rozmyte
zbiory rozmyte