محرك الاستدلال

في مجال الذكاء الاصطناعي artificial intelligence ، يعد محرك الاستدلال أحد مكونات النظام الذي يطبق القواعد المنطقية على قاعدة المعرفة لاستنتاج معلومات جديدة. كانت محركات الاستدلال الأولى مكونات أنظمة خبيرة . يتكون نظام الخبراء النموذجي من قاعدة المعرفة ومحرك الاستدلال. خزنت قاعدة المعرفة الحقائق حول مشكلة إنتاجية معينة. خبراء المعلوماتية يقومون ببرمجة بحيث يطبق محرك الاستدلال القواعد المنطقية على قاعدة المعرفة ويستنتج معرفة جديدة. ستتكرر هذه العملية لأن كل واقع جديد في قاعدة المعرفة يمكن أن تؤدي إلى قواعد إضافية في آلة الاستدلال. تعمل محركات الاستدلال بشكل أساسي في أحد وضعين إما قاعدة خاصة أو حقائق: التسلسل الأمامي والتسلسل الخلفي . يبدأ التسلسل إلى الأمام بالحقائق المعروفة ويؤكد الحقائق الجديدة. يبدأ التسلسل العكسي بالأهداف ، ويعمل للخلف لتحديد الوقائع التي يجب تأكيدها حتى يمكن تحقيق الأهداف.[1]

البنيان عدل

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

من الأمثلة البسيطة على طريقة ponens المستخدمة غالبًا في كتب المنطق التمهيدية "إذا كنت إنسانًا فأنت بشر". يمكن تمثيل هذا في الكود الكاذب على النحو التالي:

القاعدة 1: الإنسان (س) => يموت  (س)

فيما يلي مثال بسيط لكيفية استخدام هذه القاعدة في محرك الاستدلال. في التسلسل الأمامي ، سيجد محرك الاستدلال أي حقائق في قاعدة المعرفة تطابق الإنسان (x) ولكل حقيقة وجدها ستضيف المعلومات الجديدة Mortal (x) إلى قاعدة المعرفة. لذلك إذا وجدت شيئًا يسمى سقراط كان بشرا ، فسيستنتج أن سقراط قد مات . في التسلسل المتخلف ، سيعطى النظام هدفًا ، على سبيل المثال الإجابة على السؤال هل سقراط مات؟ سيبحث في قاعدة المعرفة ويحدد ما إذا كان سقراط إنسانًا ، وإذا كان الأمر كذلك ، فإنه يؤكد أنه أيضًا بشري. ومع ذلك ، في التسلسل العكسي كانت التقنية الشائعة هي دمج محرك الاستدلال بواجهة مستخدم. بهذه الطريقة ، بدلاً من أن يكون النظام آليًا ، يمكن أن يكون الآن تفاعليًا. في هذا المثال البسيط ، إذا أعطي النظام هدفًا للإجابة على سؤال ما إذا كان سقراط ميتًا ولم يعرف بعد ما إذا كان إنسانًا ، فسيؤدي ذلك إلى فتح نافذة لطرح السؤال على المستخدم "هل سقراط إنسان؟" ثم تستخدم هذه المعلومات وفقًا لذلك.

أدى هذا الابتكار المتمثل في دمج محرك الاستدلال مع واجهة المستخدم إلى تقدم ثاني للأنظمة الخبيرة: إمكانات الشرح. إن التمثيل الصريح للمعرفة كقواعد بدلاً من رمز جعل من الممكن إنشاء تفسيرات للمستخدمين: تفسيرات في الوقت الفعلي وبعد حقيقة واقعة. لذلك إذا سأل النظام المستخدم "هل سقراط إنسان؟" ، فقد يتساءل المستخدم عن سبب طرح هذا السؤال عليه وسيستخدم النظام سلسلة القواعد لشرح سبب محاولته حاليًا التأكد من هذا الجزء من المعرفة: هذا هو ، تحتاج إلى تحديد ما إذا كان سقراط ميتًا ، ولكي يتحقق ذلك يحتاج إلى تحديد ما إذا كان إنسانًا. في البداية ، لم تكن هذه التفسيرات مختلفة كثيرًا عن معلومات التصحيح القياسية التي يتعامل معها المطورون عند تصحيح أخطاء أي نظام. ومع ذلك ، كان مجال البحث النشط هو استخدام تكنولوجيا اللغة العادية لطرح الأسئلة والحصول على تفسيرات وفهمها وتوليدها باستخدام اللغة العادية بدلاً من تشكيلات الكمبيوتر.[3]

يمر محرك الاستدلال (آلة استدلال) بثلاث خطوات متتالية: تعريف الآلة قواعد المطابقة ، وتحديد القواعد ، وتنفيذ القواعد . غالبًا ما يؤدي تنفيذ القواعد إلى إضافة حقيقة جديدة أو أهداف جديدة إلى قاعدة المعرفة مما يؤدي إلى تكرار الدورة لتحسين سير عملية ما . تستمر هذه الدورة حتى الوصول إلى أحسن حل .

في الخطوة الأولى ، قواعد المطابقة ، يعطى لمحرك الاستدلال جميع القواعد التي يتم تشغيلها بواسطة المحتويات الحالية لقاعدة المعرفة. في التسلسل الأمامي ، يبحث المحرك عن القواعد التي يتطابق فيها العمل أو الإنتاج السالف (الجانب الأيسر) مع بعض الحقائق في قاعدة المعرفة. في التسلسل الخلفي ، يبحث المحرك عن السوابق التي يمكن أن تحقق أحد الأهداف الحالية.

في الخطوة الثانية ، يتم اختيار القواعد ، يعطي محرك الاستدلال الأولوية للقواعد المختلفة التي تمت مطابقتها لتحديد ترتيب تنفيذها. ثم في الخطوة الأخيرة ، قم بتنفيذ القواعد ، فيقوم المحرك بتنفيذ كل قاعدة متطابقة بالترتيب المحدد في الخطوة الثانية ؛ ثم يعود ويتكرر مرة أخرى للخطوة الأولى مرة أخرى. تستمر الدورة حتى يصل إلى الحل الأصوب .[4] بهذا يتم تحسين عملية ما أو انتاج ما وتطويره,

تطبيقات عدل

ركزت محركات الاستدلال المبكرة بشكل أساسي على التسلسل الأمامي. عادة ما يتم تنفيذ هذه الأنظمة بلغة برمجة Lisp programming language . كانت Lisp منصة متكررة لأبحاث الذكاء الاصطناعي المبكرة نظرًا لقدرتها القوية على القيام بمعالجة معينة . كانت أيضًا لغة تفسير ، قدمت بيئات تطوير إنتاجية مناسبة لتصحيح أخطاء بعض البرامج المعقدة. كانت النتيجة الضرورية لهذه الفوائد أن برامج Lisp يميل إلى أن يكون أبطأ وأقل قوة من اللغات المجمعة في ذلك الوقت مثل لغة سي . كان النهج الشائع في تلك الأيام الأولى هو استخدام تطبيق نظام خبير وإعادة تجميع محرك الاستدلال المستخدم لهذا النظام كأداة قابلة لإعادة الاستخدام يمكن للباحثين الآخرين استخدامها لتطوير أنظمة خبيرة أخرى والوصول إلى تحسينات . على سبيل المثال ، كان برنامج MYCIN نظامًا خبيرًا مبكرًا للتشخيص الطبي ، وكان EMYCIN آلة استنتاج ، تم استقراءه من MYCIN وإتاحته للباحثين .[5]

مع انتقال الأنظمة الخبيرة من النماذج الأولية للبحث إلى أنظمة منتشرة يتمالاعتمادعليها في القييم والتحسين ، أصبح هناك تركيز أكبر على مسائل اخرى مثل زيادة السرعة و وتحسين المتانة. فابتكر البرنامج OPS5 أحد محركات التسلسل الأمامية الأولى والأكثر شيوعًا والذي استخدم خوارزمية Rete لتحسين كفاءة إستخدام القواعد. كما ابتكرت تقنية أخرى شائعة جدًا تم تطويرها وهي لغة البرمجة المنطقية Prolog . ركز Prolog في المقام الأول على التسلسل العكسي وظهر أيضًا العديد من الإصدارات التجارية والتحسينات من أجل تحسين الكفاءة وتحسين المتانة.[6]

نظرًا لأن Expert Systems أثارت اهتمامًا كبيرًا من عالم الأعمال ، فإن العديد من الشركات بدأت أو بتوجيه من باحثين بارزين في الذكاء الاصطناعي ، قاموا بإنشاء إصدارات منتجة من محركات الاستدلال. على سبيل المثال ، تم توجيه Intellicorp في البداية من قبل إدوارد Feigenbaum . غالبًا ما تم تطوير منتجات آلات الاستدلال هذه في Lisp في البداية. ومع ذلك فإن الطلبات على منصات بأسعار معقولة وقابلة للتطبيق تجاريًا جعلت منصات الكمبيوتر الشخصي تحظى بشعبية كبيرة .

تطبيقات مفتوحة المصدر عدل

ClipsRules و RefPerSys (مستوحى من نظام CAIA [7] ومن أعمال "جاك بيترات" ). يستخدم محلل الكود المصدري Frama-C بعض تقنيات محرك الاستدلال.

أنظر أيضا عدل

المراجع عدل

  1. ^ Hayes-Roth، Frederick؛ Donald Waterman؛ Douglas Lenat (1983). Building Expert Systems. Addison-Wesley. ISBN:0-201-10686-8.
  2. ^ Feigenbaum، Edward؛ Avron Barr (1 سبتمبر 1986). The Handbook of Artificial Intelligence, Volume I. Addison-Wesley. ص. 195. ISBN:0201118114.
  3. ^ Barzilayt، Regina؛ Daryl McCullough؛ Owen Rambow؛ Jonathan DeCristofaro؛ Tanya Korelsky؛ Benoit Lavoie. "A New Approach to Expert System Explanations" (PDF). USAF Rome Laboratory Report. مؤرشف من الأصل في 2016-07-05.
  4. ^ Griffin، N.L.، A Rule-Based Inference Engine which is Optimal and VLSI Implementable، University of Kentucky.
  5. ^ Hayes-Roth، Frederick؛ Donald Waterman؛ Douglas Lenat (1983). Building Expert Systems. Addison-Wesley. ISBN:0-201-10686-8.Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Building Expert Systems. Addison-Wesley. ISBN 0-201-10686-8.
  6. ^ Sterling، Leon؛ Ehud Shapiro (1986). The Art of Prolog. Cambridge, MA: MIT. ISBN:0-262-19250-0.
  7. ^ Pitrat، Jacques (2009). Artificial Beings, the conscience of a conscious machine. Wiley. ISBN:978-1848211018.