エキスパートシステム
推論エンジンは、規則群を使って推論を行うプログラムである。推論を行うため、論理に基づいている。推論エンジンが使う論理としては、命題論理、一階または高階の述語論理、認識論理、様相論理、時相論理、ファジィ論理などがある。命題論理以外の論理は複雑であり、数学者や論理学者や計算機科学者でないと扱いが難しい。命題論理は基本的な論理であり、三段論法を定式化したものと言える。推論エンジンは論理を使って、規則やデータを処理し、新たな情報を生成する。
推論エンジンには、バッチ式と対話式の2つの動作方式がある。バッチ式では、当初から処理すべきデータが揃っている。利用者から見れば通常のプログラムと同じように動作し、データを入力すると即座に結果が得られ、推論過程は見えない。対話式は、問題があまりにも複雑など、運用開始時点で開発者が利用者から必要な全ての知識を集められなかった場合に必要となった。ソフトウェアは問題を解く方法を「考案」しなければならないので、利用者に欠けているデータを要求し、徐々にかつ可能な限り素早くゴールに到達する。結果は、専門家が誘導した会話の影響を受ける。