Un motor de inferență este un sistem software care este conceput pentru a trage concluzii prin analiza problemelor în lumina unei baze de date de cunoștințe de specialitate pe care se bazează. Se ajunge la rezultate logice pe baza premiselor pe care le stabilesc datele. Uneori, motoarele de inferență sunt, de asemenea, capabile să meargă dincolo de procesarea logică strictă și să utilizeze calcule de probabilitate pentru a ajunge la concluzii pe care baza de date de cunoștințe nu le susține strict, ci doar implică sau sugerează.
Majoritatea motoarelor de inferență concepute în domeniul inteligenței artificiale se bazează pe conceptul de sistem expert. Un sistem expert este construit pentru a rezolva probleme într-un domeniu specific și uneori restrâns definit, cum ar fi anumite specialități medicale. Componenta motorului de inferență a unui sistem expert este structura de control care produce rezultate inițiale pe baza oricăror date care există în prezent în baza de cunoștințe și regulile de programare ale sistemului expert, apoi o aplică la problema specifică într-un mod semnificativ. Deoarece rezultatele motorului de inferență sunt rezultatul datelor, ele se modifică pe măsură ce datele sunt actualizate și, de asemenea, se pot schimba pe măsură ce datele sunt căutate în moduri diferite de către motorul de inferență însuși. Dacă datele din sistem sunt ponderate față de una sau mai multe concluzii față de alta, acest lucru poate schimba rezultatele pe care le generează motorul de inferență.
Software-ul care utilizează un motor de inferență poate fi văzut ca un mecanism selectiv activ, în care acțiunile de procesare sunt direcționate de starea cea mai actuală a datelor. Sistemele expert au două moduri generale de procesare a acestor date stocate, denumite înlănțuire înainte sau înlănțuire înapoi. În înlănțuirea înainte, regulile sistemului expert analizează datele furnizate de motorul de inferență, iar rezultatele sunt reintroduse în stocarea de date a sistemului ca date noi. Acest lucru declanșează noi soluții la probleme pe măsură ce sistemul rafinează datele și le cântărește prin inferență inductivă, ceea ce înseamnă că concluziile la care se ajunge nu vor reflecta neapărat datele sau premisele originale care au fost utilizate pentru a începe analiza.
Înlănțuirea înapoi este mai orientată spre probabilitate, datele stocate fiind ponderate pentru valoare încă de la început. Regulile sunt folosite pentru a testa condițiile de valabilitate a datelor în lumina problemei date și, pe măsură ce se face acest lucru, datelor sunt atribuite noi valori de probabilitate. Denumită și ipoteză, înlănțuirea înapoi nu trage concluzii stricte până când testarea continuă a datelor în condițiile stabilite de regulile sistemului expert îndeplinește un nivel minim de dovezi pentru întrebarea sau problema studiată.
Logica bayesiană este una dintre formele orientate spre probabilitate ale software-ului motorului de inferență care utilizează înlănțuirea înapoi, numită după Thomas Bayes, un matematician englez de la mijlocul secolului al XVIII-lea. O astfel de logică folosește o bază de cunoștințe a evenimentelor anterioare pentru a prezice rezultate viitoare prin teste repetate ale cunoștințelor și ia în considerare dovezi suplimentare ale rezultatelor încercărilor în noi studii, cu scopul de a produce rezultate din ce în ce mai precise. Arhitectura software cu logica fuzzy se poate baza, de asemenea, pe motorul de inferență ca parte a sistemului său. Diferența cu logica fuzzy este că rezultatul este un set neclar sau o gamă de soluții posibile care sunt apoi agregate într-un singur grup și, prin logică și probabilitate, restrânse la o concluzie sau acțiune optimă.