Was ist eine Inferenzmaschine?
Eine Inferenz-Engine ist ein Softwaresystem, das entwickelt wurde, um Schlussfolgerungen zu ziehen, indem Probleme im Lichte einer Datenbank mit Expertenwissen analysiert werden, auf das es zurückgreift. Es erreicht logische Ergebnisse basierend auf den Prämissen, die die Daten festlegen. Manchmal sind Inferenz-Engines auch in der Lage, über die strikte logische Verarbeitung hinauszugehen und mithilfe von Wahrscheinlichkeitsberechnungen zu Schlussfolgerungen zu gelangen, die die Wissensdatenbank nicht strikt unterstützt, sondern lediglich impliziert oder andeutet.
Die meisten auf dem Gebiet der künstlichen Intelligenz entwickelten Inferenzmotoren basieren auf dem Konzept des Expertensystems. Ein Expertensystem wurde entwickelt, 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 auf der Grundlage der aktuell in der Wissensbasis vorhandenen Daten und der Programmierregeln des Expertensystems eine erste Ausgabe erzeugt und diese dann in sinnvoller Weise auf das spezifische Problem anwendet. Da die Ergebnisse der Inferenzmaschine ein Ergebnis der Daten sind, ändern sie sich mit der Aktualisierung der Daten und können sich auch ändern, wenn die Daten von der Inferenzmaschine selbst auf unterschiedliche Weise durchsucht werden. Wenn die Daten im System nach einer oder mehreren Schlussfolgerungen gewichtet werden, kann dies die Ergebnisse ändern, die die Inferenz-Engine generiert.
Software, die eine Inferenz-Engine verwendet, kann als aktiver selektiver Mechanismus angesehen werden, bei dem Verarbeitungsaktionen vom aktuellsten Status 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 die von der Inferenz-Engine eingegebenen Daten 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. Dies bedeutet, dass die Schlussfolgerungen nicht unbedingt die ursprünglichen Daten oder Prämissen widerspiegeln, die zum Starten der Analyse verwendet wurden.
Die Rückwärtsverkettung ist wahrscheinlichkeitsorientierter, wobei die gespeicherten Daten von Anfang an auf ihren Wert gewichtet werden. Regeln werden verwendet, um die Bedingungen der Daten im Lichte des gegebenen Problems auf Gültigkeit zu prüfen, und dabei werden den Daten neue Wahrscheinlichkeitswerte zugewiesen. Die auch als hypothesengetrieben bezeichnete Rückwärtsverkettung zieht erst dann strenge Schlussfolgerungen, wenn die fortlaufende Prüfung der Daten anhand der nach den Regeln des Expertensystems festgelegten Bedingungen ein Mindestmaß an Beweisen für die zu untersuchende Frage oder das zu untersuchende Problem erfüllt.
Die Bayes'sche Logik ist eine der wahrscheinlichkeitsorientierten Formen der Inferenzmaschinensoftware, die die Rückwärtsverkettung verwendet. Sie wurde nach Thomas Bayes, einem englischen Mathematiker aus der Mitte des 18. Jahrhunderts, benannt. Diese Logik verwendet eine Wissensbasis früherer Ereignisse, um zukünftige Ergebnisse durch wiederholte Tests des Wissens vorherzusagen, und berücksichtigt zusätzliche Belege für die Ergebnisse der Versuche in neuen Versuchen mit dem Ziel, immer genauere Ergebnisse zu erzielen. Die Architektur der Fuzzy-Logik-Software kann sich auch auf die Inferenz-Engine 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 zu einer optimalen Schlussfolgerung oder Aktion eingegrenzt werden.