محرك الاستدلال
البنيان

يتم تمثيل المنطق الذي يستخدمه محرك الاستدلال عادةً كقواعد IF-THEN. التنسيق العام لهذه القواعد هو IF <تعبير منطقي> ثم THEN<تعبير منطقي> . قبل تطوير الأنظمة الخبيرة ومحركات الاستدلال ، ركز باحثو الذكاء الاصطناعي على بيئات إثبات النظرية الأكثر قوة والتي قدمت تطبيقات أكثر اكتمالاً لمنطق الدرجة الأولى . على سبيل المثال ، العبارات العامة التي تضمنت تقديرًا كميًا عاما (لكل X بعض العبارات صحيحة) والتقدير الموجود (يوجد من مجموعة X بعضا X بحيث تكون بعض العبارات صحيحة). ما اكتشفه الباحثون هو أن قوة هذه البيئات التي تثبت النظرية كانت أيضًا عيبهم. بالعودة إلى عام 1965 ، كان من السهل جدًا إنشاء تعبيرات منطقية يمكن أن تستغرق وقتًا غير محدد أو حتى غير محدود لإنهائها. على سبيل المثال ، من الشائع في القياس الكمي العالمي إصدار عبارات عبر مجموعة لا نهائية مثل مجموعة جميع الأرقام الطبيعية. هذه العبارات معقولة تمامًا بل ومطلوبة في البراهين الرياضية ، ولكن عند تضمينها في مبرمج نظرية مؤتمت يتم تنفيذه على جهاز كمبيوتر قد يتسبب في وقوع الكمبيوتر في حلقة لا نهائية. لا يزال التركيز على عبارات IF-THEN (ما يسميه المنطقيون modus ponens ) يمنح المطورين آلية عامة قوية جدًا لتمثيل المنطق ، ولكن يمكن استخدامها بكفاءة مع الموارد الحسابية. علاوة على ذلك ، هناك بعض الأبحاث النفسية التي تشير إلى أن البشر يميلون أيضًا إلى تفضيل تمثيلات IF-THEN عند تخزين المعرفة المعقدة.
من الأمثلة البسيطة على طريقة ponens المستخدمة غالبًا في كتب المنطق التمهيدية "إذا كنت إنسانًا فأنت بشر". يمكن تمثيل هذا في الكود الكاذب على النحو التالي:
القاعدة 1: الإنسان (س) => يموت  (س)
فيما يلي مثال بسيط لكيفية استخدام هذه القاعدة في محرك الاستدلال. في التسلسل الأمامي ، سيجد محرك الاستدلال أي حقائق في قاعدة المعرفة تطابق الإنسان (x) ولكل حقيقة وجدها ستضيف المعلومات الجديدة Mortal (x) إلى قاعدة المعرفة. لذلك إذا وجدت شيئًا يسمى سقراط كان بشرا ، فسيستنتج أن سقراط قد مات . في التسلسل المتخلف ، سيعطى النظام هدفًا ، على سبيل المثال الإجابة على السؤال هل سقراط مات؟ سيبحث في قاعدة المعرفة ويحدد ما إذا كان سقراط إنسانًا ، وإذا كان الأمر كذلك ، فإنه يؤكد أنه أيضًا بشري. ومع ذلك ، في التسلسل العكسي كانت التقنية الشائعة هي دمج محرك الاستدلال بواجهة مستخدم. بهذه الطريقة ، بدلاً من أن يكون النظام آليًا ، يمكن أن يكون الآن تفاعليًا. في هذا المثال البسيط ، إذا أعطي النظام هدفًا للإجابة على سؤال ما إذا كان سقراط ميتًا ولم يعرف بعد ما إذا كان إنسانًا ، فسيؤدي ذلك إلى فتح نافذة لطرح السؤال على المستخدم "هل سقراط إنسان؟" ثم تستخدم هذه المعلومات وفقًا لذلك.
أدى هذا الابتكار المتمثل في دمج محرك الاستدلال مع واجهة المستخدم إلى تقدم ثاني للأنظمة الخبيرة: إمكانات الشرح. إن التمثيل الصريح للمعرفة كقواعد بدلاً من رمز جعل من الممكن إنشاء تفسيرات للمستخدمين: تفسيرات في الوقت الفعلي وبعد حقيقة واقعة. لذلك إذا سأل النظام المستخدم "هل سقراط إنسان؟" ، فقد يتساءل المستخدم عن سبب طرح هذا السؤال عليه وسيستخدم النظام سلسلة القواعد لشرح سبب محاولته حاليًا التأكد من هذا الجزء من المعرفة: هذا هو ، تحتاج إلى تحديد ما إذا كان سقراط ميتًا ، ولكي يتحقق ذلك يحتاج إلى تحديد ما إذا كان إنسانًا. في البداية ، لم تكن هذه التفسيرات مختلفة كثيرًا عن معلومات التصحيح القياسية التي يتعامل معها المطورون عند تصحيح أخطاء أي نظام. ومع ذلك ، كان مجال البحث النشط هو استخدام تكنولوجيا اللغة العادية لطرح الأسئلة والحصول على تفسيرات وفهمها وتوليدها باستخدام اللغة العادية بدلاً من تشكيلات الكمبيوتر.
يمر محرك الاستدلال (آلة استدلال) بثلاث خطوات متتالية: تعريف الآلة قواعد المطابقة ، وتحديد القواعد ، وتنفيذ القواعد . غالبًا ما يؤدي تنفيذ القواعد إلى إضافة حقيقة جديدة أو أهداف جديدة إلى قاعدة المعرفة مما يؤدي إلى تكرار الدورة لتحسين سير عملية ما . تستمر هذه الدورة حتى الوصول إلى أحسن حل .
في الخطوة الأولى ، قواعد المطابقة ، يعطى لمحرك الاستدلال جميع القواعد التي يتم تشغيلها بواسطة المحتويات الحالية لقاعدة المعرفة. في التسلسل الأمامي ، يبحث المحرك عن القواعد التي يتطابق فيها العمل أو الإنتاج السالف (الجانب الأيسر) مع بعض الحقائق في قاعدة المعرفة. في التسلسل الخلفي ، يبحث المحرك عن السوابق التي يمكن أن تحقق أحد الأهداف الحالية.
في الخطوة الثانية ، يتم اختيار القواعد ، يعطي محرك الاستدلال الأولوية للقواعد المختلفة التي تمت مطابقتها لتحديد ترتيب تنفيذها. ثم في الخطوة الأخيرة ، قم بتنفيذ القواعد ، فيقوم المحرك بتنفيذ كل قاعدة متطابقة بالترتيب المحدد في الخطوة الثانية ؛ ثم يعود ويتكرر مرة أخرى للخطوة الأولى مرة أخرى. تستمر الدورة حتى يصل إلى الحل الأصوب . بهذا يتم تحسين عملية ما أو انتاج ما وتطويره,