A következtetési motor olyan program, amely a formális logika törvényeinek megfelelően előre elkészített tények és szabályok alapján hajt végre következtetést .
A formális nyelveket tények és szabályok alapjainak felépítésére használják, amelyek általában hasonlítanak a természetes nyelvre, de sokkal szigorúbbak és korlátozottabbak.
Egy következtetési motor általában végrehajthatja az alábbi műveletek egyikét vagy mindkettőt:
Az első esetben egy olyan kérdés, mint "Igaz-e A?" a következtetési motor "Igen" vagy "Nem" választ ad, a másodikban - egy olyan kérdésre, mint "Mire X igaz az A (X) szabály?" a gép kiszámolja X összes lehetséges értékét, ami az A szabályba behelyettesítve ezt a szabályt valós ténnyé változtatja.
A következtetési gépek felépítésének elméletében az úgynevezett logikai tagadás problémájának, annak a problémának, hogy hogyan határozzuk meg egy tény nem igazát, nincs egyértelmű megoldása. A legtöbb esetben a következtetési motor arra következtet, hogy egy tény nem igaz, ha a tény igazságára nem a tények és szabályok alapján következtetnek, de ez a tudás félreértelmezéséhez vezethet, mivel az "A hamis" és a " A bizonyíthatatlan" nem különbözik.
A következtetési motor a logikai programozási nyelveken , például a Prologon írt szakértői rendszerek és programvégrehajtó rendszerek alapvető építőköve .
A következtetési mechanizmus egy általánosított eljárás a probléma megoldására, amely a tudásbázis alapján és a felhasználó információigényének megfelelően egy érvelési láncot (logikusan összefüggő tudásegységeket) épít fel, amelyek konkrét eredményhez vezetnek. .