Silnik wnioskowania to system oprogramowania zaprojektowany do wyciągania wniosków poprzez analizę problemów w świetle bazy danych wiedzy eksperckiej, z której korzysta. Osiąga logiczne wyniki w oparciu o przesłanki ustalone przez dane. Czasami silniki wnioskowania są również w stanie wyjść poza ścisłe przetwarzanie logiczne i wykorzystywać obliczenia prawdopodobieństwa, aby dojść do wniosków, których baza wiedzy nie obsługuje ściśle, a jedynie implikuje lub podpowiada.
Większość silników wnioskowania zaprojektowanych w dziedzinie sztucznej inteligencji opiera się na koncepcji systemu eksperckiego. System ekspercki jest budowany w celu rozwiązywania problemów w określonej, a czasem wąsko określonej dziedzinie, na przykład w określonych specjalnościach medycznych. Komponent silnika wnioskowania systemu eksperckiego jest strukturą kontrolną, która generuje początkowe dane wyjściowe w oparciu o jakiekolwiek dane aktualnie istniejące w bazie wiedzy oraz zasady programowania systemu eksperckiego, a następnie stosuje je w znaczący sposób do konkretnego problemu. Ponieważ wyniki aparatu wnioskowania są wynikiem danych, zmieniają się one wraz z aktualizacją danych, a także mogą się zmieniać, gdy dane są przeszukiwane na różne sposoby przez sam aparat wnioskowania. Jeśli dane w systemie są ważone w kierunku jednego lub większej liczby wniosków w stosunku do innych, może to zmienić wyniki generowane przez silnik wnioskowania.
Oprogramowanie wykorzystujące silnik wnioskowania można postrzegać jako aktywny mechanizm selektywny, w którym czynności przetwarzania są kierowane przez najbardziej aktualny stan danych. Systemy eksperckie mają dwa ogólne sposoby przetwarzania tych przechowywanych danych, określane jako łańcuchowanie w przód lub łańcuchowanie wsteczne. W łańcuchu do przodu reguły systemu eksperckiego analizują dane dostarczane do niego przez silnik wnioskowania, a wyniki są wprowadzane z powrotem do magazynu danych systemu jako nowe dane. Powoduje to nowe rozwiązania problemów, ponieważ system udoskonala dane i waży je za pomocą wnioskowania indukcyjnego, co oznacza, że wyciągnięte wnioski niekoniecznie będą odzwierciedlać oryginalne dane lub przesłanki, które zostały użyte do rozpoczęcia analizy.
Tworzenie łańcucha wstecznego jest bardziej zorientowane na prawdopodobieństwo, a przechowywane dane są od początku ważone pod kątem wartości. Reguły służą do testowania warunków danych pod kątem ważności w świetle zadanego problemu, po czym do danych przypisywane są nowe wartości prawdopodobieństwa. Określany również jako oparty na hipotezie, łańcuch wsteczny nie wyciąga ścisłych wniosków, dopóki ciągłe testowanie danych pod kątem warunków ustalonych przez reguły systemu eksperckiego nie spełni minimalnego poziomu dowodu dla badanego pytania lub problemu.
Logika bayesowska jest jedną z zorientowanych na prawdopodobieństwa form oprogramowania silnika wnioskowania, które wykorzystuje łańcuchy wsteczne, nazwane na cześć 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 nowe próby w celu uzyskania coraz dokładniejszych wyników. Architektura oprogramowania z logiką rozmytą może również polegać na silniku wnioskowania jako części swojego systemu. Różnica w przypadku logiki rozmytej polega na tym, że wynik jest zbiorem rozmytym lub zakresem możliwych rozwiązań, które są następnie agregowane w jedną grupę i, poprzez logikę i prawdopodobieństwo, zawężane do jednego optymalnego wniosku lub działania.