Co to jest silnik wnioskowania?
Silnik wnioskowania to system oprogramowania zaprojektowany do wyciągania wniosków poprzez analizę problemów w świetle bazy wiedzy, z której korzysta. Osiąga logiczne wyniki na podstawie przesłanek ustalonych przez dane. Czasami silniki wnioskowania mogą również wykraczać poza ścisłe przetwarzanie logiczne i wykorzystywać obliczenia prawdopodobieństwa, aby dojść do wniosków, których baza danych wiedzy nie obsługuje ściśle, ale jedynie sugeruje lub wskazuje.
Większość silników wnioskowania zaprojektowanych w dziedzinie sztucznej inteligencji opiera się na koncepcji systemu eksperckiego. System ekspercki został zbudowany w celu rozwiązywania problemów w konkretnej i czasami wąsko zdefiniowanej dziedzinie, takiej jak niektóre specjalizacje medyczne. Komponent silnika wnioskowania systemu eksperckiego to struktura kontrolna, która wytwarza początkowe dane wyjściowe na podstawie danych istniejących obecnie w bazie wiedzy i reguł programowania systemu eksperckiego, a następnie w znaczący sposób stosuje je do konkretnego problemu. Ponieważ wyniki mechanizmu wnioskowania są wynikiem danych, zmieniają się w miarę aktualizowania danych, a także mogą się zmieniać, gdy dane są przeszukiwane na różne sposoby przez sam mechanizm wnioskowania. Jeśli dane w systemie są ważone do jednego lub większej liczby wniosków nad drugim, może to zmienić wyniki generowane przez silnik wnioskowania.
Oprogramowanie wykorzystujące silnik wnioskowania może być postrzegane jako aktywny mechanizm selektywny, w którym działania przetwarzania są kierowane przez najbardziej aktualny stan danych. Systemy eksperckie mają dwa ogólne sposoby przetwarzania tych przechowywanych danych, zwane łańcuchem do przodu lub łańcuchem do tyłu. W łańcuchowym przekazywaniu reguł reguły systemu eksperckiego analizują dane podawane do niego przez silnik wnioskowania, a wyniki są przekazywane z powrotem do pamięci danych systemu jako nowe dane. Powoduje to nowe rozwiązania problemów, ponieważ system udoskonala dane i waży je poprzez wnioskowanie indukcyjne, co oznacza, że wyciągnięte wnioski niekoniecznie odzwierciedlą oryginalne dane lub przesłanki, które zostały użyte do rozpoczęcia analizy.
Łańcuch wsteczny jest bardziej zorientowany na prawdopodobieństwo, a przechowywane dane są ważone pod kątem wartości od samego początku. Reguły są używane do testowania warunków danych pod kątem ważności w świetle danego problemu, a gdy to jest zrobione, nowe wartości prawdopodobieństwa są przypisywane do danych. Określany również jako oparty na hipotezach, wsteczny łańcuch nie wyciąga ścisłych wniosków, dopóki ciągłe testowanie danych w warunkach określonych przez reguły systemu eksperckiego nie osiągnie minimalnego poziomu dowodu dla badanego pytania lub problemu.
Logika bayesowska jest jedną z zorientowanych na prawdopodobieństwo form oprogramowania do wnioskowania wykorzystującą tworzenie łańcuchów wstecznych, nazwaną imieniem Thomasa Bayesa, angielskiego matematyka z połowy XVIII wieku. Taka logika wykorzystuje bazę wiedzy o wcześniejszych zdarzeniach do przewidywania przyszłych wyników poprzez powtarzane testy wiedzy i uwzględnia dodatkowe dowody wyników prób w nowych próbach w celu uzyskania coraz dokładniejszych wyników. Architektura oprogramowania rozmytej logiki może również polegać na silniku wnioskowania jako części swojego systemu. Różnica w stosunku do logiki rozmytej polega na tym, że wyjście jest rozmytym zestawem lub zakresem możliwych rozwiązań, które są następnie agregowane w jedną grupę, a poprzez logikę i prawdopodobieństwo zawężone do jednego optymalnego wniosku lub działania.