Wat is een inferentiemotor?
Een inferentiemotor is een softwaresysteem dat is ontworpen om conclusies te trekken door problemen te analyseren in het licht van een database met expertkennis waarop het is gebaseerd. Het bereikt logische resultaten op basis van de uitgangspunten van de gegevens. Soms zijn inferentiemachines ook in staat om verder te gaan dan strikte logische verwerking en gebruiken ze waarschijnlijkheidsberekeningen om conclusies te trekken die de kennisdatabase niet strikt ondersteunt, maar in plaats daarvan alleen maar impliceert of aangeeft.
De meeste inferentiemotoren die zijn ontworpen op het gebied van kunstmatige intelligentie zijn gebaseerd op het concept van het expertsysteem. Een expertsysteem is gebouwd om problemen op te lossen in een specifiek en soms nauw omschreven vakgebied, zoals bepaalde medische specialismen. De component van de inferentiemotor van een expertsysteem is de besturingsstructuur die initiële uitvoer produceert op basis van de gegevens die momenteel in de kennisbank en de programmeerregels van het expertsysteem aanwezig zijn en deze vervolgens op een zinvolle manier op het specifieke probleem toepassen. Omdat de resultaten van de inferentie-engine een resultaat van de gegevens zijn, veranderen ze naarmate de gegevens worden bijgewerkt, en kunnen ze ook veranderen als de gegevens op verschillende manieren door de inferentie-engine zelf worden doorzocht. Als de gegevens in het systeem worden gewogen naar een of meer conclusies ten opzichte van een andere, kan dit de resultaten wijzigen die de inferentiemotor genereert.
Software die een inferentie-engine gebruikt, kan worden gezien als een actief selectief mechanisme, waarbij verwerkingsacties worden gestuurd door de meest actuele status van de gegevens. Expertsystemen hebben twee algemene manieren om deze opgeslagen gegevens te verwerken, ook wel forward chaining of backward chaining genoemd. Bij forward chaining analyseren de regels van het expertsysteem de gegevens die door de inferentiemotor worden ingevoerd en worden de resultaten teruggekoppeld naar de gegevensopslag van het systeem als nieuwe gegevens. Dit leidt tot nieuwe oplossingen voor problemen, aangezien het systeem de gegevens verfijnt en weegt door inductieve inferentie, wat betekent dat de bereikte conclusies niet noodzakelijkerwijs de oorspronkelijke gegevens of premissen weerspiegelen die werden gebruikt om de analyse te starten.
Achterwaartse kettingvorming is meer waarschijnlijkheidsgericht, waarbij de opgeslagen gegevens vanaf het begin op waarde worden gewogen. Regels worden gebruikt om de voorwaarden van de gegevens te testen op geldigheid in het licht van het gegeven probleem, en als dit wordt gedaan, worden nieuwe waarschijnlijkheidswaarden aan de gegevens toegewezen. Ook wel hypothesegedreven genoemd, trekt backward chaining geen strikte conclusies totdat voortdurende toetsing van de gegevens aan voorwaarden die zijn vastgesteld door de regels van het expertsysteem voldoen aan een minimaal niveau van bewijs voor de vraag of het probleem dat wordt bestudeerd.
Bayesiaanse logica is een van de waarschijnlijkheidsgerichte vormen van afleidingsenginesoftware die gebruik maakt van achterwaartse ketenvorming, genoemd naar Thomas Bayes, een Engelse wiskundige uit het midden van de 18e eeuw. Dergelijke logica maakt gebruik van een kennisbasis van eerdere gebeurtenissen om toekomstige resultaten te voorspellen door herhaalde tests van de kennis, en het houdt rekening met aanvullend bewijs van de resultaten van de proeven in nieuwe proeven, met als doel steeds nauwkeurigere resultaten te produceren. Fuzzy logic software-architectuur kan ook vertrouwen op de inferentie-engine als onderdeel van zijn systeem. Het verschil met fuzzy logic is dat de output een fuzzy set of bereik van mogelijke oplossingen is die vervolgens worden samengevoegd tot één groep en, via logica en waarschijnlijkheid, worden beperkt tot één optimale conclusie of actie.