Eine Inferenzmaschine ist ein Softwaresystem, das Schlussfolgerungen ziehen soll, indem es Probleme im Lichte einer Datenbank mit Expertenwissen analysiert, auf die es zurückgreift. Es erreicht logische Ergebnisse basierend auf den Prämissen, die die Daten etablieren. Manchmal sind Inferenz-Engines auch in der Lage, über die strikte logische Verarbeitung hinauszugehen und mithilfe von Wahrscheinlichkeitsberechnungen Schlussfolgerungen zu ziehen, die die Wissensdatenbank nicht strikt unterstützt, sondern lediglich impliziert oder andeutet.
Die meisten im Bereich der künstlichen Intelligenz entwickelten Inferenz-Engines basieren auf dem Konzept des Expertensystems. Ein Expertensystem wird gebaut, um Probleme in einem bestimmten und manchmal eng definierten Bereich zu lösen, beispielsweise in bestimmten medizinischen Fachgebieten. Die Inferenz-Engine-Komponente eines Expertensystems ist die Kontrollstruktur, die basierend auf den aktuell in der Wissensbasis vorhandenen Daten und den Programmierregeln des Expertensystems eine anfängliche Ausgabe erzeugt und diese dann auf sinnvolle Weise auf das spezifische Problem anwendet. Da die Ergebnisse der Inferenzmaschine ein Ergebnis der Daten sind, ändern sie sich, wenn die Daten aktualisiert werden, und können sich auch ändern, wenn die Daten von der Inferenzmaschine selbst auf unterschiedliche Weise durchsucht werden. Wenn die Daten im System gegenüber einer oder mehreren Schlussfolgerungen gewichtet werden, kann dies die von der Inferenzmaschine erzeugten Ergebnisse verändern.
Software, die eine Inferenz-Engine verwendet, kann als aktiver selektiver Mechanismus angesehen werden, bei dem Verarbeitungsaktionen durch den aktuellsten Zustand der Daten gesteuert werden. Expertensysteme haben zwei allgemeine Möglichkeiten, diese gespeicherten Daten zu verarbeiten, die als Vorwärtsverkettung oder Rückwärtsverkettung bezeichnet werden. Bei der Vorwärtsverkettung analysieren die Regeln des Expertensystems Daten, die ihm von der Inferenzmaschine zugeführt werden, und die Ergebnisse werden als neue Daten in den Datenspeicher des Systems zurückgespeist. Dies löst neue Problemlösungen aus, da das System die Daten verfeinert und durch induktive Inferenz gewichtet, was bedeutet, dass die erzielten Schlussfolgerungen nicht unbedingt die ursprünglichen Daten oder Prämissen widerspiegeln, mit denen die Analyse gestartet wurde.
Die Rückwärtsverkettung ist eher wahrscheinlichkeitsorientiert, wobei die gespeicherten Daten von Anfang an wertmäßig gewichtet werden. Regeln werden verwendet, um die Bedingungen der Daten auf ihre Gültigkeit im Lichte des gegebenen Problems zu testen, und dabei werden den Daten neue Wahrscheinlichkeitswerte zugewiesen. Auch als hypothesengetrieben bezeichnet, zieht die Rückwärtsverkettung keine strengen Schlussfolgerungen, bis die kontinuierliche Prüfung der Daten anhand der durch die Regeln des Expertensystems festgelegten Bedingungen ein Mindestmaß an Beweisen für die untersuchte Frage oder das untersuchte Problem erreicht.
Bayessche Logik ist eine der wahrscheinlichkeitsorientierten Formen von Inferenz-Engine-Software, die Rückwärtsverkettung verwendet, benannt nach Thomas Bayes, einem englischen Mathematiker aus der Mitte des 18. Jahrhunderts. Eine solche Logik verwendet eine Wissensbasis früherer Ereignisse, um zukünftige Ergebnisse durch wiederholte Tests des Wissens vorherzusagen, und sie berücksichtigt zusätzliche Beweise für die Ergebnisse der Studien in neuen Studien mit dem Ziel, immer genauere Ergebnisse zu erzielen. Die Fuzzy-Logik-Softwarearchitektur kann sich auch auf die Inferenzmaschine als Teil ihres Systems verlassen. Der Unterschied zur Fuzzy-Logik besteht darin, dass die Ausgabe eine Fuzzy-Menge oder ein Bereich möglicher Lösungen ist, die dann zu einer Gruppe zusammengefasst und durch Logik und Wahrscheinlichkeit auf eine optimale Schlussfolgerung oder Aktion eingeengt werden.