Hva er en inferensmotor?
En inferensmotor er et programvaresystem som er designet for å trekke konklusjoner ved å analysere problemer i lys av en database med fagkunnskap den trekker på. Det når logiske utfall basert på premissene dataene etablerer. Noen ganger er inferensmotorer også i stand til å gå utover streng logisk prosessering, og bruke sannsynlighetsberegninger for å komme til konklusjoner som kunnskapsdatabasen ikke støtter strengt, men i stedet bare antyder eller antyder.
De fleste inferensmotorer designet innen kunstig intelligens er basert på konseptet med ekspertsystemet. Et ekspertsystem er bygget for å løse problemer i et spesifikt og til tider smalt definert felt, for eksempel visse medisinske spesialiteter. Inferansemotorkomponenten i et ekspertsystem er kontrollstrukturen som produserer innledende utdata basert på hvilke data som for tiden finnes i kunnskapsbasen og programmeringsreglene til ekspertsystemet, og deretter anvende det på det spesifikke problemet på en meningsfull måte. Fordi resultatene av inferensmotorer er et resultat av dataene, endres de etter hvert som dataene blir oppdatert, og kan også endres når dataene blir søkt på forskjellige måter av selve inferensmotoren. Hvis dataene i systemet er vektet mot en eller flere konklusjoner over en annen, kan dette endre resultatene som inferensmotoren genererer.
Programvare som bruker en inferensmotor, kan sees på som en aktiv selektiv mekanisme, der prosesseringshandlingene er styrt av den mest aktuelle statusen til dataene. Ekspertsystemer har to generelle måter å behandle disse lagrede dataene på, referert til som fremoverkjetting eller bakoverkjetting. Ved fremoverkjetting analyserer ekspertsystemets regler data som blir ført til den av inferensmotoren, og resultatene føres tilbake til systemets datalagring som nye data. Dette utløser nye løsninger på problemer da systemet foredler dataene og veier dem ved induktiv inferanse, noe som betyr at konklusjoner som ikke oppnås nødvendigvis ikke vil gjenspeile de originale dataene eller premissene som ble brukt for å starte analysen.
Bakoverkjetting er mer sannsynlighetsorientert, med lagrede data vektet for verdi fra starten. Regler brukes til å teste betingelsene for dataene for gyldighet i lys av det gitte problemet, og da dette er gjort, tilordnes nye sannsynlighetsverdier til dataene. Også referert til som hypotesedrevet, bakoverkjetting trekker ikke strenge konklusjoner før kontinuerlig testing av dataene mot forhold som er fastsatt i reglene i ekspertsystemet, oppfyller et minimum av bevisnivå for spørsmålet eller problemet som studeres.
Bayesiansk logikk er en av de sannsynlighetsorienterte formene for inferensmotorprogramvare som bruker bakoverkjetting, oppkalt etter Thomas Bayes, en engelsk matematiker fra midten av 1700- tallet. Slik logikk bruker et kunnskapsgrunnlag fra tidligere hendelser for å forutsi fremtidige utfall gjennom gjentatte tester av kunnskapen, og den faktorer i tillegg bevis på resultatene av forsøkene til nye forsøk, med mål om å produsere mer og mer nøyaktige resultater. Uklar logikkprogramvarearkitektur kan også stole på inferensmotoren som en del av systemet. Forskjellen med uklar logikk er at utdataene er et uklar sett eller utvalg av mulige løsninger som deretter blir samlet i en gruppe og gjennom logikk og sannsynlighet innsnevret til en optimal konklusjon eller handling.