تجاوز إلى المحتوى الرئيسي
تابعنا على تيليجرامانضم

الاقتران الاستدلالي (Heuristic Function)

الذكاء الاصطناعي · المهارات الرقمية

آخر تحديث:

محتويات الموضوع (١٢)

شرح الموضوع

الاقتران الاستدلالي

  • أُعرّف الاقتران الاستدلالي.
  • أبني اقترانًا تقييميًا للألعاب.
  • أُطبّق خوارزمية البحث الشامل بالأفضلية (⁦A⁩* ⁦Search⁩) على لعبة (لغز) الأرقام الثمانية ⁦(8-Puzzle)⁩ باستخدام الاقترانات التقييمية، وأُقارن بينها.

كيف يختار الحاسوب الطريق الأذكى؟

سأتعرَّف في هذا الدرس مفهوم الاقتران الاستدلالي، وكيف يُمكن بناء اقترانات تقييمية للألعاب، ثمَّ سأُطبِّق خوارزمية البحث الشامل بالأفضلية (⁦A⁩ ⁦Search⁩) على لعبة (لغز) الأرقام الثمانية ⁦(8-Puzzle)⁩. تعلّمتُ في الدرسين السابقين كيف يُمكن بناء حيّز الحالة، واستخدمتُ خوارزميتي البحث في العمق أوّلًا والبحث في العرض أوّلًا للبحث عن مسارات الحلّ. والآن سأتعرّف الاقتران الاستدلالي، فما استخداماته؟ وكيف يُمكن استخدام خوارزمية البحث الشامل بالأفضلية (⁦A⁩ ⁦Search⁩) في لعبة (لغز) الأرقام الثمانية ⁦(8-Puzzle)⁩؟

الاقتران الاستدلالي

كيف يتحوّل النصح إلى رقم؟

  • أفرزت بحوث لعب الألعاب أفكارًا عن كيفية تحقيق أفضل استثمار للوقت، ومنها اقترانات التقييم الاستدلالي.
  • تُقدّم اقترانات التقييم الاستدلالي حلولًا أكثر كفاءة وسرعة في عملية البحث الخاصة بحالة ما من دون إجراء بحث كامل.
  • هذه الأرقام تُستخدم في ما بعد لتوجيه البحث عن الهدف باختيار المسارات التي تؤدّي إلى فرصة أكبر للنجاح.
  • إذا كانت شجرة البحث كبيرة جدًا يُمكن اللجوء إلى أساليب عدّة لتقليمها.
  • تُقسّم المشكلات التي تحتاج إلى هذا النوع من البحث إلى ثلاثة أنواع:

المثال (1)

كيف يُقيّم الحاسوب لوحة الشطرنج؟

  • في لعبة الشطرنج، إذا كان خصم اللاعب هو جهاز الحاسوب، يستخدم البرنامج الاقتران الاستدلالي لتقييم أوضاع القطع على اللوحة.
  • يُرجع تقديرًا رقميًا يُحدّد مَنْ هو الأقرب إلى الفوز.
  • يحسب البرنامج إجمالي قيمة القطع التي يمتلكها جهاز الحاسوب، ثمّ يطرح منها إجمالي قيمة قطع اللاعب الخصم.
  • يأخذ الأهمية النسبية لكل نوع من القطع بالاعتبار.
  • بناءً على هذا التقييم يُحدّد الحاسوب أفضل الخطوات والحركات التي تزيد من قوّة موقعه النسبي على اللوحة؛ ما يُعزّز فرصه في الفوز.

المثال (2)

ماذا يوفّر الاقتران الاستدلالي للروبوت؟

  • المسألة: روبوت في شبكة مُربّعات ⁦(Grid)⁩ تُمثّل متاهة، يبحث عن أقصر طريق إلى الهدف داخل المتاهة.
  • كلّ مُربّع قد يكون طريقًا مفتوحًا أو عقبة لا يُمكن المرور منها.
  • في كل حركة يُمكن للروبوت الانتقال إلى أحد المُربّعات المجاورة (أعلى، أسفل، يسار، يمين).
من دون استخدام اقتران استدلاليإذا تقرّر استخدام الاقتران الاستدلالي
البحث في جميع الاتجاهات من دون تمييزتوجيه بحثه نحو أقرب العُقد إلى الهدف
ثمّ توسيع كل عُقدة بالتتابع إلى حين بلوغ الهدفويتجنّب العُقد غير المفيدة
وهذا يستغرق وقتًا طويلًا، ويستهلك ذاكرة كبيرة، لا سيّما في الشبكات الكبيرةويصل إلى الهدف بأقل عدد من التوسّعات؛ ما يُوفّر الوقت والذاكرة، ويساعد على الوصول إلى الحلّ الأمثل

اقترانات التقييم في البحث الاستدلالي

كيف تجمع ⁦A⁩* بين التكلفة الفعلية والمُقدّرة؟

  • في ما يأتي أمثلة على اقترانات التقييم ⁦(Evaluation Functions)⁩ في ثلاثة سياقات مختلفة - على الأقل - ضمن مجالات الذكاء الاصطناعي.
  • أوّلًا: مشكلات العثور على المسار بوكيل واحد. من أمثلتها الكلاسيكية لعبة (لغز) الأرقام الثمانية ⁦(8-Puzzle)⁩.
  • المهمة فيها إعادة ترتيب الأرقام على البلاطات (القطع) بشكل متسلسل باستخدام أقل عدد ممكن من الحركات.
  • من الخوارزميات القويّة لهذا النوع خوارزمية البحث الشامل بالأفضلية (⁦A⁩* ⁦Search⁩).
  • تُقلّل هذه الخوارزمية إجمالي تكلفة الحلّ المُقدّرة بالجمع بين تكلفة المسار الفعلية والتكلفة المُقدّرة للوصول إلى الهدف.
f(n)=h(n)+g(n)f(n) = h(n) + g(n)
  • لتطبيق الخوارزمية بالطريقة المُثلى يجب توافر شرطين: القبول والاتساق.
  • يُنظر إلى القبول ⁦(Admissibility)⁩ بصورة مُتفائلة ⁦(Optimistic)⁩؛ لأنّها تفترض أنّ تكلفة الحلّ أقل مما هي عليه فعليًا.
  • ومن ثمّ تحاول دائمًا إيجاد المسار الأقل تكلفة.
  • فمثلاً، عند البحث عن المسار بين نقطتين، تختار الخط المستقيم؛ لأنّه المسار الأقصر بين أي نقطتين.
  • الاتساق ⁦(Consistency)⁩ يُعرَّف أيضًا بشرط الاطِّراد ⁦(Monotonicity)⁩، ويُعدّ أقوى من شرط القبول.
  • يُعتمد عند استخدام هذه الخوارزمية في البحث عن الرسوم البيانية.

المثال (1)

كيف تجد ندى أرخص طريق من ⁦I⁩ إلى ⁦T⁩؟

الشكل 3-1: المسارات بين المدن وتكلفة الانتقال g(n)
الشكل 3-1: المسارات بين المدن وتكلفة الانتقال ⁦g(n)⁩
  • h(n) هي التكلفة المُقدّرة لأرخص مسار من أيّ مدينة إلى المدينة الهدف ⁦(T)⁩.
  • تُحسب تكلفتها بناءً على الخط المستقيم بين المدينة الهدف والمدن الأخرى.
الشكل 3-2: التكلفة المُقدّرة لأرخص مسار من أي مدينة إلى المدينة الهدف
الشكل 3-2: التكلفة المُقدّرة لأرخص مسار من أي مدينة إلى المدينة الهدف
  • الخطوة 1: نبدأ من المدينة الأوّلية (الابتدائية)، وهي ⁦(I)⁩، ويُمكن الانتقال منها إلى مدينتين، هما ⁦(A)⁩ و⁦(B)⁩.
  • المدينة ⁦(A)⁩: تكلفة الوصول إليها (2)، والتكلفة المُقدّرة لأرخص مسار بينها وبين المدينة الهدف ⁦(T)⁩ نحو (10.4).

f(A) = 2 + 10.4 = 12.4

  • المدينة ⁦(B)⁩: تكلفة الانتقال إليها (5)، والتكلفة المُقدّرة لأرخص مسار بين المدينة ⁦(T)⁩ والمدينة ⁦(B)⁩ نحو (8.9).

f(B) = 5 + 8.9 = 13.9

الشكل 3-3: f(n) للمدينة (A) والمدينة (B)
الشكل 3-3: ⁦f(n)⁩ للمدينة ⁦(A)⁩ والمدينة ⁦(B)⁩
  • الخطوة 2: المقارنة بين القيمتين تُبيّن أنّ تكلفة الانتقال إلى المدينة ⁦(T)⁩، مرورًا بالمدينة ⁦(A)⁩، هي أقل، فيتمّ اختيارها.
  • الخطوة 3: دراسة تفرّعات المدينة ⁦(A)⁩؛ إذ توجد (3) تفرّعات لهذه المدينة؛ أوّلها للمدينة الأوّلية (الابتدائية)، ولا يوجد داع لدراسته مرّة أخرى.
  • وثانيها للمدينة ⁦(B)⁩، وثالثها للمدينة ⁦(C)⁩.

f(C) = (1+2) + 6.7 = 9.7

f(B) = (2+2) + 8.9 = 12.9

  • لحساب ⁦g(n)⁩ يجب جمع تكلفة المسار من المدينة ⁦(I)⁩ إلى المدينة ⁦(A)⁩، ثمّ جمع تكلفة الوصول من المدينة ⁦(A)⁩ إلى المدينة التي ستنتقل ندى إليها.
الشكل 4-3: تكلفة الحلّ مرورًا بالعُقدة (B) والعُقدة (C)
الشكل 4-3: تكلفة الحلّ مرورًا بالعُقدة ⁦(B)⁩ والعُقدة ⁦(C)⁩
  • الخطوة 4: المقارنة بين قيم ⁦f(n)⁩ التي تمّ التوصّل إليها، وهي: 12.4، 13.9، 9.7.
  • أصغر قيمة من بينها هي 9.7؛ أي مرورًا بالمدينة ⁦(C)⁩؛ لذا يتمّ إكمال الحلّ من هذه المدينة.
  • الخطوة 5: للمدينة ⁦(C)⁩ تفرّعات ثلاثة: المدينة ⁦(A)⁩ وقد تمّت دراستها، والمدينة ⁦(E)⁩، والمدينة ⁦(D)⁩.

g(E) = 7 = 4 + 1 + 2

f(E) = g(E) + h(E) = 11 = 7 + 4

g(D) = 8 = 5 + 1 + 2

f(D) = g(D) + h(D) = 14.9 = 8 + 6.9

الشكل 5-3: f(n) لتفرّعات المدينة (C)
الشكل 5-3: ⁦f(n)⁩ لتفرّعات المدينة ⁦(C)⁩
  • الخطوة 6: المقارنة بين قيم ⁦f(n)⁩: 13.9، 12.9، 11، 14.9، تُبيّن أنّ أصغر قيمة هي (11)؛ أي مرورًا بالمدينة ⁦(E)⁩.
  • الخطوة 8: إعادة المقارنة بين القيم: 13.9، 12.9، 11، 14.9، تُبيّن أنّ أصغرها 12.9، وهي للمدينة ⁦(B)⁩، مرورًا بالمدينة ⁦(A)⁩.
  • الخطوة 9: للمدينة ⁦(B)⁩ طريق واصل إلى المدينة ⁦(A)⁩ وإلى المدينة ⁦(I)⁩ تمّت دراستهما مُسبقًا، وطريق واصل إلى المدينة ⁦(D)⁩ سيتمّ العمل على دراسته.
الشكل 6-3: f(n) لتفرّعات المدينة (B)، مرورًا بالمدينة (A)
الشكل 6-3: ⁦f(n)⁩ لتفرّعات المدينة ⁦(B)⁩، مرورًا بالمدينة ⁦(A)⁩
  • الحل:
  • g(D)=6=2+2+2g(D) = 6 = 2 + 2 + 2
  • f(D)=g(D)+h(D)=12.9=6+6.9f(D) = g(D) + h(D) = 12.9 = 6 + 6.9

في الكتاب مطبوع ⁦g(B)⁩ و ⁦f(E)⁩، والمقصود ⁦g(D)⁩ و ⁦f(D)⁩

  • الخطوة 10: أصغر قيمة بينها هي القيمة 12.9، وأنّها قيمة خاصة بالمدينة ⁦(D)⁩.
  • لذا يتمّ الانطلاق من هذه المدينة لدراسة المسارات المُحتملة (المُمكِنة) منها، التي لم تُدرس مُسبقًا: المسار إلى المدينة ⁦(C)⁩، والمسار إلى المدينة ⁦(F)⁩.

g(F) = 10 = 4 + 2 + 2 + 2

f(F) = g(F) + h(F) = 13 = 10 + 3

g(C) = 11 = 5 + 2 + 2 + 2

f(C) = g(C) + h(C) = 17.7 = 11 + 6.7

الشكل 7-3: قيم f(n) للمدينة (C) والمدينة (F)، مرورًا بالمدينة (D)
الشكل 7-3: قيم ⁦f(n)⁩ للمدينة ⁦(C)⁩ والمدينة ⁦(F)⁩، مرورًا بالمدينة ⁦(D)⁩
  • الخطوة 11: المقارنة بين قيم ⁦f(n)⁩ المُحتملة (المُمكِنة)، فيُلاحَظ أنّ أصغر قيمة لها هي القيمة التي عند المدينة ⁦(F)⁩، وهي تساوي (13).
  • لذا يتمّ الانطلاق من هذه المدينة إلى المدينة ⁦(T)⁩.

g(T) = 13 = 3 + 4 + 2 + 2 + 2

f(T) = g(T) + h(T) = 13 = 13 + 0

الشكل 8-3: قيمة f(n) للمدينة الهدف (T) بأقل تكلفة مُحتملة (مُمكِنة)
الشكل 8-3: قيمة ⁦f(n)⁩ للمدينة الهدف ⁦(T)⁩ بأقل تكلفة مُحتملة (مُمكِنة)

المثال (2)

لماذا لا يكفي البحث الشامل في لغز الأرقام الثمانية؟

  • المثال: تطبيق خوارزمية البحث الشامل بالأفضلية (⁦A⁩* ⁦Search⁩) على لعبة (لغز) الأرقام الثمانية ⁦(8-Puzzle)⁩ باستخدام الاقترانات التقييمية.
  • الحالة الأوّلية (الابتدائية) تحوي مُربّعًا فارغًا في المنتصف.
  • في إحدى الحالات الهدف رُتّبت الأرقام تسلسليًا، وتُرك الفراغ في بداية الأرقام.
  • الانتقال من الحالة الأوّلية (الابتدائية) إلى الحالة الهدف يتطلّب إجراء (26) خطوة.
الشكل 9-3: الحالة الأوّلية (الابتدائية) والحالة الهدف المرغوب في الوصول إليها
الشكل 9-3: الحالة الأوّلية (الابتدائية) والحالة الهدف المرغوب في الوصول إليها
  • تكلفة حلّ الألغاز المُكوّنة من ثماني قطع عشوائيًا هي - في المُتوسّط - (22) خطوة.
  • يتحرّك المُربّع الفارغ بثلاث طرائق:
  • في المنتصف: له أن يتحرّك في أربع خطوات مُحتملة (مُمكِنة)؛ أي في جميع الاتجاهات.
  • في الزاوية: يستطيع أن يتحرّك حركتين فقط.
  • عند الحافة: بإمكانه أن يتحرّك ثلاث حركات.
  • تكلفة البحث الشامل في شجرة البحث إلى عمق (22) تتطلّب البحث في نحو 3223^{22}، وهو ما يساوي 3.1×10103.1 \times 10^{10} حالة تقريبًا.
  • وهذه القيمة كبيرة جدًا.

أبحث

كيف نقدّر عدد الخطوات إلى الهدف؟

  • يجب إيجاد دالة استدلالية جيّدة للتمكّن من إيجاد أقصر الحلول.
  • الشرط: ألا تُبالغ هذه الدالة في تقدير عدد الخطوات إلى الهدف.
  • توجد طريقتان شائعتان للاستخدام، هما: ⁦H1⁩ و⁦H2⁩.
H1H2
عدد المُربّعات في الأماكن الخطأمجموع مسافات المُربّعات من مواضع هدفها
  • H1:
  • بالنسبة إلى الشكل (3-9)، جميع المُربّعات في غير موضعها؛ لذا عدد الحركات التي يحتاج إليها كل مُربّع هو (8) حركات.
  • وهذه الدالة الاستدلالية مقبولة؛ لأنّه يجب تحريك كل مُربّع حركة واحدة على الأقل.
  • H2:
  • يتمّ حساب المسافات أفقيًا أو عموديًا؛ لأنّه لا يُمكنها التحرك قطريًا.
  • و⁦H2⁩ أيضًا مقبول؛ لأنّ كل مُربّع سيتحرّك حركة واحدة على الأقل.
المُربّععدد الحركات
الرقم (1)(3)
الرقم (2)(1)
الرقم (3)(2)
الرقم (4)(2)
الرقم (5)(2)
الرقم (6)(3)
الرقم (7)(3)
الرقم (8)(2)
  • ومن ثمّ فإنّ مجموع الحركات للبلاطات (القطع) التي تحمل الأرقام السابقة هو:
  • H2=3+1+2+2+2+3+3+2=18H2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18
  • أُلاحظ أنّ الحلين لا يعطيان تقديرًا لتكلفة الحلّ الحقيقية التي يبلغ مقدارها (26).
  • H1=8≤26H1 = 8 \leq 26
  • H2=18≤26H2 = 18 \leq 26

إضاءة

من أين تأتي الاقترانات الاستدلالية؟

  • اقترانات التقييم السابقة تعمل على إرجاع الحدود الدنيا للتكلفة الفعلية التي يتمّ تقديرها.
  • في لعبة الأرقام الثمانية تُمثِّل كل حركة تحرُّكًا لمُربَّع واحد، ويتعيَّن على كل مُربَّع أنْ يتحرَّك مرّات عديدة بقَدْر مسافة مانهاتن من موضعه الهدف.
  • الاقترانات الاستدلالية تُستمدّ من النماذج المُبسّطة للمشكلة الأصلية.
  • في لعبة الأرقام الثمانية تقتصر الحركات المسموحة على تحريك مُربّع من موضع إلى آخر فقط إذا كانت المساحة الفارغة مجاورة للمُربّع.
  • لو أُزيل شرط وجوب تحريك المُربّع إلى مسافة فارغة، لصار الناتج مشكلة أبسط بكثير؛ إذ يُمكن تحريك المُربّع في أي اتجاه وحدة واحدة فقط.
  • أي إنّ عدد التحرّكات المطلوبة لحلّ هذه المشكلة المُبسّطة يساوي المسافة من الحالة الأوّلية (الابتدائية) إلى الحالة الهدف.
  • الحالة الأوّلية (الابتدائية):
215
فراغ43
867
  • الحالة الهدف:
187
2فراغ6
345
  • بعد ذلك نُشارك النتائج التي نتوصَّل إليها في المجموعة مع الزملاء/ الزميلات في المجموعات الأخرى، ثمّ نَعْقد مقارنة بينها وبين نتائجهم، ونتبادل معًا التغذية الراجعة.

ولكن ما حجم شجرة البحث في لعبة كبيرة كالشطرنج؟

أبحث

كم كبيرة شجرة بحث الشطرنج؟

ثانيًا: الألعاب التي يمارسها لاعبان اثنان .

كيف تُقيَّم مواقف اللاعبين في الألعاب الثنائية؟

  • من الأمثلة على الألعاب التي يمارسها اثنان من اللاعبين: لعبة الشطرنج، ولعبة ⁦(XO)⁩.
  • تعتمد دوال التقييم الاستدلالية في هذا النوع من الألعاب على القِيَم الإيجابية لأحد اللاعبين.
  • القيم الإيجابية الكبيرة تشير إلى موقف أحد اللاعبين، ويُسمّى ⁦(MAX)⁩.
  • القيم السلبية الكبيرة الحجم تشير إلى مواقف صُلبة للخصم، ويُسمّى ⁦(MIN)⁩.
  • ⁨(MAX)⁩ يحاول التحرُّك إلى مواقف تعمل على تعظيم دالة التقييم الاستدلالية.
  • ⁨(MIN)⁩ يحاول التحرُّك إلى مواقف تُقلّل من تلك الدالة، وتحدّ منها.

أقيّم تعلّمي

هل فهمتُ الاقتران الاستدلالي؟

أُوضّح المقصود باقتران التقييم الاستدلالي.

في المثال الخاص بانتقال ندى من المدينة ⁦(I)⁩ إلى المدينة ⁦(T)⁩، لماذا وُضعت القيمة صفر للدالة ⁦(hT)⁩؟

فيمَ يستفاد من استخدام الدوال الاستدلالية في عملية البحث؟

أُوضّح عمل الاقتران الاستدلالي الخاص بمشكلة لعبة (لغز) الأرقام الثمانية ⁦(8-Puzzle)⁩ إذا استغنيت عن شرط الانتقال إلى مكان مجاور فقط؛ أي إمكانية الانتقال إلى أي مكان في اللعبة مع الاحتفاظ بشرط أن يكون المكان فارغًا.

أُفرّق بين دالة التقييم الاستدلالية لمسألة إيجاد المسار التي يستخدمها عميل (وكيل) واحد والدالة الاستدلالية للعبة بين لاعبين اثنين.

تعريفات أساسية

الاقتران الاستدلالي ⁦(Heuristic Function)⁩

اقتران التقييم الاستدلالي أشبه بتحويل الحالة في المشكلة إلى رقم

الاستدلال

تقديم النصيحة، وهي نصيحة تكون غالبًا فعّالة

البحث الاستدلالي

استراتيجيات بحث وتعلّم تهدف إلى تحسين عملية البحث عن حلول للوصول إلى الحالة الهدف، وذلك باستخدام معلومات إضافية أو اقترانات استدلالية تعمل على توجيه البحث بطريقة أكثر ذكاءً وكفاءةً

تقليم شجرة البحث

تجاهل بعض الأجزاء التي لن تُحدث فرقًا في الاختيار النهائي

الألعاب التي يمارسها لاعبان اثنان ⁦(Two-Player Games)⁩

المشكلات التي يكون فيها طرفان مُتنافسان، يحاول كل منهما الفوز على الآخر

مشكلات إرضاء القيود ⁦(Constraint-Satisfaction Problem)⁩

المهمة هي إيجاد حالة تفي بمجموعة من القيود

h(n)

التكلفة المُقدّرة لأرخص مسار من العُقدة ⁦(n)⁩ إلى العُقدة الهدف

القبول ⁦(Admissibility)⁩

المسار المقبول هو المسار الذي يبتعد عن المبالغة في تقدير تكلفة الوصول إلى الهدف

الاتساق ⁦(Consistency)⁩

يُعرّف أيضًا بشرط الاطراد ⁦(Monotonicity)⁩، ويُعدّ أقوى من شرط القبول

H1

عدد المُربّعات في الأماكن الخطأ

H2

مجموع مسافات المُربّعات من مواضع هدفها

مسافة مانهاتن

الحدّ الأدنى لعدد الحركات الفعلية المطلوبة لحلّ مشكلة مُعيّنة

بطاقات مهمة

g(n)

⁦g(n)⁩: تكلفة المسار من النقطة الأوّلية (الابتدائية) (أي الجذر) إلى العُقدة ⁦(n)⁩.

f(n)

⁦f(n)⁩: التكلفة المُقدّرة لأرخص مسار، مرورًا بالعُقدة ⁦(n)⁩.

معاينة موضوع «الاقتران الاستدلالي (Heuristic Function)» من وحدة «الذكاء الاصطناعي» في مادة المهارات الرقمية. أقسام الشرح: ١٢، التعريفات: ١٢.

المصدر: المركز الوطني لتطوير المناهج، الاقتران الاستدلالي (Heuristic Function) (ص ١٠٥–١١٩)

موضوعات أخرى في الوحدة

تابع الدراسة