En inferensmotor är ett mjukvarusystem som är utformat för att dra slutsatser genom att analysera problem i ljuset av en databas med expertkunskaper som den bygger på. Den når logiska resultat baserat på de premisser som data etablerar. Ibland kan slutledningsmotorer också gå längre än strikt logisk bearbetning och använda sannolikhetsberäkningar för att nå slutsatser som kunskapsdatabasen inte strikt stöder, utan istället bara antyder eller antyder.
De flesta slutledningsmotorer som designats inom området artificiell intelligens är baserade på konceptet med expertsystemet. Ett expertsystem är byggt för att lösa problem inom ett specifikt och ibland snävt avgränsat område, såsom vissa medicinska specialiteter. Slutledningsmotorkomponenten i ett expertsystem är kontrollstrukturen som producerar initial utdata baserat på vilken data som för närvarande finns i kunskapsbasen och expertsystemets programmeringsregler, och sedan applicerar den på det specifika problemet på ett meningsfullt sätt. Eftersom resultat från inferensmotorn är ett resultat av data, ändras de när data uppdateras och kan också ändras när data söks på olika sätt av själva slutledningsmotorn. Om data i systemet viktas mot en eller flera slutsatser framför en annan, kan detta förändra resultaten som inferensmotorn genererar.
Programvara som använder en inferensmotor kan ses som en aktiv selektiv mekanism, där bearbetningsåtgärder styrs av det senaste tillståndet för data. Expertsystem har två generella sätt att bearbeta denna lagrade data, kallad framåtkedja eller bakåtkedja. Vid framåtkedjning analyserar expertsystemets regler data som matas till det av inferensmotorn, och resultaten matas tillbaka till systemets datalagring som ny data. Detta utlöser nya lösningar på problem när systemet förfinar data och väger den genom induktiv slutledning, vilket innebär att slutsatserna inte nödvändigtvis kommer att spegla de ursprungliga data eller premisser som användes för att starta analysen.
Bakåtkedja är mer sannolikhetsorienterad, där lagrad data viktas för värde från början. Regler används för att testa villkoren för data för validitet i ljuset av det givna problemet, och när detta görs tilldelas data nya sannolikhetsvärden. Även kallad hypotesdriven, bakåtkedja drar inte strikta slutsatser förrän kontinuerlig testning av data mot villkor som fastställts av expertsystemets regler uppfyller en miniminivå av bevis för frågan eller problemet som studeras.
Bayesiansk logik är en av de sannolikhetsorienterade formerna av inferensmotorprogramvara som använder bakåtkedja, uppkallad efter Thomas Bayes, en engelsk matematiker från mitten av 18-talet. Sådan logik använder en kunskapsbas av tidigare händelser för att förutsäga framtida utfall genom upprepade tester av kunskapen, och den tar med ytterligare bevis på resultaten av försöken till nya försök, med målet att producera mer och mer exakta resultat. Fuzzy logic mjukvaruarkitektur kan också lita på inferensmotorn som en del av sitt system. Skillnaden med fuzzy logic är att utdata är en fuzzy uppsättning eller ett urval av möjliga lösningar som sedan aggregeras till en grupp och, genom logik och sannolikhet, begränsas till en optimal slutsats eller handling.