Podstawową ideą symulacji kognitywnej jest konstrukcja algorytmów heurystycznych (algorytm heurystyczny może dostarczać akceptowalne rozwiązanie problemu, ale nie można przeprowadzić formalnego dowodu poprawności tego algorytmu) w celu symulacji ludzkich procesów umysłowo poznawczych (np. wnioskowania, rozwiązywania problemów, rozpoznawania obiektów, uczenia się) przez próbę odtworzenia sekwencji elementarnych kroków wykonywanych przez człowieka w trakcie tych czynności.
Model symulacji kognitywnej składa się z czterech podstawowych elementów:
Powstanie modeli konekcjonistycznych, w których zjawiska umysłowe modeluje się jako emergentne procesy zachodzące w sieciach złożonych z prostych elementów składowych. Do modeli tych zalicza się sztuczne sieci neuronowe. Model neuronu zaproponowali W.S. McCulloch i W. Pitts w 1943 r.
Propozycja podejścia opartego na logice zamiast modeli symulacji ludzkiego myślenia (J. McCarthy). McCarthy rozwinął język Lisp. W ramach tego podejścia na początku lat siedemdziesiątych pojawił się nurt badań związanych z zastosowaniem logiki pierwszego rzędu wSI. Jego rezultatem było stworzenie Prologu. Nurt ten zaowocował następnie powstaniem modelu programowania logicznego z ograniczeniami.
To podejście jest konkurencyjne do symulacji kognitywnej i podejścia opartego na logice. System rozwiązuje konkretny problem po dostarczeniu wszelkiej możliwej wiedzy ekspertów nt. problemu. Wiedza powinna być sformalizowana w postaci danych, a system powinien być wyposażony w uniwersalny mechanizm wnioskujący oraz moduł weryfikacji poprawności działania. To podejście wykorzystuje się w modelu reprezentacji wiedzy w postaci reguł wnioskowania oraz w regułowych systemach ekspertowych.
Wiedza na temat dziedziny jest bardzo cenna, gdyż pozwala określić racjonalne działania.
System ekspertowy (doradczy):
system informatyczny wykorzystujący procedury wnioskowania do rozwiązywania problemów, które są na tyle trudne, że wymagają znaczącej ekspertyzy specjalistów.
„wykorzystuje wiedzę eksperta do rozwiązywania takich problemów, które wymagają inteligencji człowieka -eksperta„.
Ogólnie przyjmuje się, że system ekspertowy jest to system informatyczny, który ma na celu zastąpienie pracy eksperta w danej dziedzinie.
System ekspertowy może wykonywać następujące funkcje: doradzanie, analizowanie, klasyfikowanie, udzielanie informacji, diagnozowanie, uczenie się, gromadzenie doświadczeń, prognozowanie, planowanie, nauczanie, testowanie, czyli wszystkie te zadania, które mógł realizować człowiek - ekspert.
System ekspertowy powinien:
Wiedza (niezbędna, by zapewnić odpowiedni poziom ekspertyzy), wraz z procedurami wnioskowania stanowi model ekspertyzy, posiadanej przez najlepszych specjalistów w danej dziedzinie.
Wiedza systemu eksperckiego: fakty i heurystyki.
Fakty: powszechnie akceptowane przez specjalistów.
Heurystyki: informacja subiektywna, która charakteryzuje proces oceny przez określonego specjalistę.
Heurystyki: intuicyjne domysły, przypuszczenia, zdroworozsądkowe zasady postępowania.
Poziom ekspertyzy to funkcja rozmiaru i jakości bazy wiedzy danego systemu.
SE: systemy oparte na wszystkich sposobach reprezentacji wiedzy, najczęściej w postaci reguł produkcji.
Interpretacyjne | dedukują opisy sytuacji z obserwacji lub stanu czujników np. rozpoznawanie mowy, obrazów |
Predykcyjne | wnioskują o przyszłości na podstawie danej sytuacji np. prognozowanie pogody, rozwój choroby |
Diagnostyczne | ocena systemu na podstawie obserwacji (wykrywanie wad) np. elektronika, mechanika |
Kompletowania | konfiguruje obiekt biorąc pod uwagę istniejące ograniczenia np. konfiguracja systemu komputerowego |
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, naprawa i monitorowanie zachowania się obiektu |
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 |
Szkielet systemu w skład którego wchodzą:
Deklaratywna postać wiedzy ekspertów z danej dziedziny zapisana za pomocą wybranego sposobu reprezentacji wiedzy, najczęściej reguł lub ram.
Pamięć robocza przechowującą pewne fakty wprowadzone w trakcie dialogu z użytkownikiem; Umożliwia odtworzenie sposobu wnioskowania systemu i przedstawienie go użytkownikowi za pomocą mechanizmu wyjaśniającego. Pozyskiwaniem wiedzy od ekspertów zajmują się inżynierowie wiedzy. Pozyskiwanie wiedzy to zwykle długi i żmudny proces, gdyż wiedza stosowana przez ekspertów ma charakter intuicyjny i praktyczny, często trudny do werbalizacji.
opisy lub fakty, to podstawowe cechy i pojęcia wyrażone jako elementarne składniki zdań zapisanych w jakimś języku. Ich zadanie to identyfikacja i rozróżnianie obiektów i klas. Zawarte są w nich także wszelkiego typu reguły lub algorytmy wykorzystywane do interpretacji danych wejściowych,
relacje, to obraz zachodzących zależności i skojarzeń pomiędzy elementami wchodzącymi w skład opisów (faktami),
procedury, to mechanizmy jaki podlegają relacje i fakty.
baza tekstów (text base) - występuje w niej naturalna strukturalizacja informacji, wynikająca np. z ułożenia alfabetycznego. Przykładem mogą być słowniki, które zawierają wiedzę ogólną z danej dziedziny.
baza danych (data base) - zawiera uporządkowane sprecyzowane, szczegółowe informacje. Typ danych jest często numeryczny, a operacje na niej wykonywane są zdeterminowane.
baza reguł (rule base) - zawiera zbiór zależności pomiędzy obiektami występującymi w danej dziedzinie.
baza modeli (model base) - 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 (common sense knowledge base) - zbiór potencjalnych, racjonalnych zachowań człowieka, reguł definiujących sposoby podejmowania decyzji.
Podstawowe reprezentacje wiedzy: - formuły x = f(a, b, …) s = v.t
Wiedza proceduralna mówi „jak” rozwiązać problem – określa zbiór procedur, których działanie reprezentuje wiedzę o danej dziedzinie .
Wiedza deklaratywna mówi „czym” rozwiązać problem - określa zbiór specyficznych dla danej dziedziny faktów, stwierdzeń, reguł..
Symboliczne:
Niesymboliczne:
Inne:
Metody symbolicznej reprezentacji można podzielić na dwie grupy.
W podejściu tym przyjmuje się, że inteligentne systemy informatyczne powinny nie tyle być konstruowane jako symulatory heurystycznych reguł ludzkich procesów myślowych, ale raczej przy użyciu sformalizowanych modeli wnioskowania logicznego. System w tym podejściu nie realizuje algorytmu będącego sekwencją rozkazów/instrukcji określających jak wykonać obliczenia, aby uzyskać rozwiązanie problemu (paradygmat imperatywny). System powinien ograniczyć się jedynie do określenia, jakie pożądane własności powinno mieć rozwiązanie problemu (czyli co jest rozwiązaniem problemu, a nie jak rozwiązać problem). Samo rozwiązanie problemu powinno być przeprowadzone przez uniwersalne oprogramowanie podstawowe, które wykorzystuje programowanie logiczne lub programowanie funkcyjne (paradygmat deklaratywny). W programowaniu logicznym specyfikacja pożądanych własności rozwiązania problemu ma charakter zbioru twierdzeń/reguł wyrażonych w języku logiki. Użytkownik formułuje pytanie/hipotezę, a system SI sprawdza drogą wnioskowania logicznego przy użyciu twierdzeń/reguł zapisanych w programie, czy jest to prawda. Przykładem takiego podejścia jest Prolog.
Logika predykatów
Podstawowe pojęcia logiki predykatów są symbol term (konstant) i predykat. Predykat P jest to „funkcja”, która ma tylko dwie wartości $$ P = \binom{T}{F} $$
Term może być konstantą, np. twierdzenie ojciec (adam, rafał) lub zmienna predykat ojciec (X,Y)
Logika predykatów jest zbudowana z trzech komponentów:
Rachunek predykatów pierwszego stopnia jest to zbiór logicznych formuł (LF), które mogą zawierać następujące operatory
Podstawowy schemat systemu dedukcji wykorzystującego związek logicznej konsekwencji
Pierwszy system tego typu oparty był na tzw. produkcjach. Podstawowymi komponentami tego modelu są: pamięć reguł oraz pamięć robocza. Pamięć reguł odpowiada pamięci długotrwałej, a pamięć robocza – krótkotrwałej. W pamięci długotrwałej wiedza zapisana jest w postaci produkcji/reguł, które mają postać:
JEŚLI zachodzi pewien warunek, TO wykonaj pewną akcję.
Akcja ma charakter konkluzji albo jest czynnością oddziałującą na środowisko. Pamięć robocza zawiera informację dynamiczną, zmieniającą się w czasie. Jest to informacja odnośnie środowiska, która jest sprawdzana przez część warunkową reguł. Gdy warunek którejś z reguł jest spełniony, to reguła ta jest stosowana, a jej akcja wykonana (konkluzja tej reguły zapisywana jest w pamięci roboczej lub system wykonuje pewną czynność, np. włącza jakieś urządzenie lub zmienia kierunek ruchu robota).
System oparty na produkcjach znany jest przede wszystkim w swojej szczególnej wersji – modelu ekspertowego systemu regułowego.
IF nie działa monitor OR płyta główna jest spalona THEN obsługa komputera nie jest możliwa Można taką regułę zamienić na zestaw dwóch równoważnych reguł nie zawierających funktora alternatywy:
IF nie działa monitor THEN obsługa komputera nie jest możliwa
IF płyta główna jest spalona THEN obsługa komputera nie jest możliwa
Rodzaje reguł
Rozróżniamy dwa rodzaje reguł ze względu na sposób uzyskiwania ostatecznych konkluzji w procesie wnioskowania:
1) reguły proste - takie, które mają postać wniosków pośrednich
2) reguły złożone - takie, które umożliwiają bezpośrednie wyznaczenie
wniosków przez system.
Przykład reguły złożonej:
IF spełnione są wszystkie warunki podpisanej umowy THEN towar można odebrać z magazynu
Reguły mogą być reprezentowane:
Drzewo decyzyjne jest to graficzna postać reguł.
Drzewo decyzyjne obrazuje powiązania pomiędzy faktami.
Przykład Drzewo decyzyjne diagnozy rozruchu samochodu
Przykład
IF padał deszcz THEN ulica jest mokra
IF jechała polewaczka THEN ulica jest mokra
IF jest ładna pogoda THEN pójdę na spacer
IF jestem zmęczony THEN nie pójdę na spacer
IF pada deszcz THEN wezmę parasol
IF pożar wykryty THEN włącz alarm
Ulica jest mokra IF padał deszcz
ulica =„mokra” if deszcz=„padał”
wszelkie prawa, kryteria, zasady i intuicje, które umożliwiają wybranie najbardziej efektywnych kierunków działania prowadzącego do osiągnięcia danego celu
Heurystyka jest rozumiana w zagadnieniach AI jako:
Szczególne znaczenie mają one przy rozwiązywaniu problemów o dużej złożoności obliczeniowej (gdzie dokładny algorytm zawodzi), zwłaszcza przy rozwiązywaniu problemów NP-zupełnych.
W oparciu o heurystyki działają maszyny wnioskujące. które dają odpowiedź na następujące pytania:
jak zacząć proces wnioskowania?
W procesie poszukiwania rozwiązań wymagane jest najczęściej określenie
Rozwiązanie polega na określeniu ciągu operatorów
przekształcających stan początkowy w stan końcowy
Korzysta się z pewnych algorytmów, czyli strategii realizujących poszczególne metody przeszukiwań (od metod ślepych po heurystyczne)
Głównym zadaniem strategii przeszukiwania jest wybór operatorów, określających gałęzie grafu przestrzeni stanów możliwe do wyboru podczas rozwiązywania danego problemu. Większość wyników teoretycznych dotyczących strategii przeszukiwania uzyskano dla drzew, a więc szczególnego typu grafów. Parametry charakteryzujące przeszukiwane grafy to:
Strategie przeszukiwania grafów:
zachłanna -badane są nowe węzły i najbardziej obiecujący z nich jest wybierany do dalszej ekspansji; wykorzystuje lokalną optymalizację i nie są w niej możliwe powroty do żadnego przodka aktualnie badanego węzła (strategia nieodwracalna)
Pozyskiwanie wiedzy w ścisły sposób jest związane z zagadnieniami uczenia się maszyn. Do zadań systemów wyposażonych w umiejętność uczenia się należy zaliczyć:
Jedną z metod pozyskiwania wiedzy jest prowadzenie dialogu z ekspertem.
Oto przykładowy zestaw pytań zadawanych ekspertowi przez inżyniera wiedzy:
1. CLIPS, monk.monk.ca/clips/clipsdown.htm
2. Acquire, www.aiinc.ca/acquire/acquire.shtml
3. DecisionPro, www.vanguardsw.com/decisionpro
4. EZ-Xpert, www.ez-xpert.com
5. XpertRule www.attar.com/pages/info_kb.htm
6. ExSys, www.exsys.com/productmain.html
7. PS-Shell, www.aitech.com.pl/index_sphinx.htm