Bir çıkarım motoru, üzerine çizdiği uzmanlık bilgisine sahip bir veri tabanı ışığında sorunları analiz ederek sonuç çıkarmak için tasarlanmış bir yazılım sistemidir. Verilerin oluşturduğu öncüllere dayanarak mantıksal sonuçlara ulaşır. Bazen çıkarım motorları da katı mantıksal işlemenin ötesine geçebilir ve bilgi veritabanının tam olarak desteklemediği, bunun yerine sadece ima ettiği veya ipuçlarını verdiği sonuçlarına ulaşmak için olasılık hesaplamaları yapabilir.
Yapay zeka alanında tasarlanan çıkarım motorlarının çoğu, uzman sistem kavramına dayanmaktadır. Belirli tıbbi uzmanlıklar gibi belirli ve bazen de dar bir alanda tanımlanan problemleri çözmek için bir uzman sistemi geliştirilmiştir. Bir uzman sistemin çıkarım motoru bileşeni, şu anda mevcut olan bilgi tabanındaki verilere ve uzman sistemin programlama kurallarına dayanarak ilk çıktıyı üreten kontrol yapısıdır, daha sonra bunu belirli bir soruna anlamlı bir şekilde uygular. Çıkarım motoru sonuçları verinin bir sonucu olduğu için, veriler güncellendikçe değişir ve veriler çıkarım motorunun kendisi tarafından farklı şekillerde arandığında da değişebilir. Sistemdeki veriler diğerine göre bir veya daha fazla sonuca göre ağırlıklandırılmışsa, bu durum çıkarım motorunun ürettiği sonuçları değiştirebilir.
Bir çıkarım motoru kullanan yazılım, işlemlerin verinin en güncel durumuna göre yönlendirildiği aktif bir seçici mekanizma olarak görülebilir. Uzman sistemler, bu ileriye dönük zincirleme veya geriye dönük zincirleme olarak adlandırılan bu depolanmış verileri işlemenin iki genel yoluna sahiptir. İleri zincirlemede, uzman sistemin kuralları, çıkarım motoru tarafından kendisine beslenen verileri analiz eder ve sonuçlar sistemin veri deposuna yeni veriler olarak geri beslenir. Bu, sistem verileri iyileştirdiğinden ve endüktif çıkarımla tartıştığından sorunlara yeni çözümler getirmektedir; bu, ulaşılan sonuçların, analizi başlatmak için kullanılan orijinal verileri veya binaları yansıtmayacağı anlamına gelir.
Geriye zincirleme daha olasılık odaklı olup, depolanan veriler başlangıçtaki değere göre ağırlıklandırılmıştır. Verilerin geçerlilik koşullarını verilen problem ışığında test etmek için kurallar kullanılır ve bu yapıldığında verilere yeni olasılık değerleri atanır. Ayrıca hipotez odaklı, geriye doğru zincirleme olarak da adlandırılan verilerin, uzman sistemin kuralları tarafından belirlenen koşullara karşı sürekli test edilmediği ve çalışılan soru veya problem için asgari kanıt düzeyini karşıladığı sürece kesin sonuçlar çıkarmaz.
Bayes mantığı, 18. yüzyılın ortalarında İngiliz bir matematikçi olan Thomas Bayes için adlandırılan geriye doğru zincirleme kullanan, olasılık odaklı bir çıkarım motoru yazılımıdır. Bu mantık, bilginin tekrarlanan testleriyle gelecekteki sonuçları tahmin etmek için önceki olayların bir bilgi tabanını kullanır ve daha fazla ve daha doğru sonuçların üretilmesi amacıyla, denemelerin sonuçlarının yeni denemelere ek kanıt olarak gösterilmesini sağlar. Bulanık mantık yazılımı mimarisi, sistemin bir parçası olarak çıkarım motoruna da dayanabilir. Bulanık mantık ile olan fark, çıktının bir grup halinde toplanan ve mantık ve olasılık aracılığıyla bir optimal sonuç veya eyleme daraltılmış bulanık bir küme veya olası çözüm yelpazesi olmasıdır.


