
خوارزميات البحث التنافسي : (Adversarial Search Algorithms)
تُعَدُّ خوارزميات البحث التنافسي من أنواع خوارزميات البحث في الذكاء الاصطناعي، وهي تُستخدَم في حال وجود عميلين (وكيلين) (Agents Two ) أو أكثر يُنافس كل منهما الآخر كما في ألعاب الذكاء، والشطرنج، وتخطيط الاستراتيجيات.
تختلف خوارزميات البحث التنافسي عن خوارزمية البحث الشامل بالأفضلية ( A* Search )، التي تبحث دائمًا عن أفضل مسار للحَلِ، في أَنّها تعتمد المواجهة والتغلُّب على الخصم الذي يحاول دائمًا إفشال خُطَط اللاعب والسعي إلى الفوز. من أشهر الأمثلة على خوارزميات البحث التنافسي: خوارزمية ( MiniMax)، وخوارزمية التقليم( Alpha-Beta )، وخوارزمية (Monte Carlo)
أوَّلًا: خوارزمية (MiniMax)
خوارزمية تنافسية في الذكاء الاصطناعي، وهي تختصُّ باتِّخاذ قرارات مُتكرِّرة؛ إذ تُبادِر إلى اتِّخاذ خطوة مثالية للاعب، بافتراض أن الخصم يلعب بشكل مثالي. ولكي تتمكَّن هذه الخوارزمية من اتِّخاذ قرار مثالي؛ يجب أن تُقيِّم شجرة اللعبة كاملة.
تبدأ شجرة البحث - كما هو معتاد - بالحالة الأوَّلية (الابتدائية). وهذه العُقْدة تُمثِّل جذر شجرة البحث، ثمَّ يتمُّ الانتقال إلى المستوى الأوَّل من شجرة البحث، حيث توضَع فيه جميع الحركات المُحتمَلة (المُمكِنة) لللاعب الأوَّل ضمن مجموعة من العُقَد، وتُعامَل معاملة الأبناء للعُقْدة الجذرية.
أمّا في المستوى الثاني فيتمُّ تمثيل كل حركة يُحتمَل أن يلعبها اللاعب الثاني بناءً على حركات اللاعب الأوَّل، وعلى أساس أنه يلعب لعبًا مثاليًّا، وتكون هذه العُقَد أبناءً للعُقَد في المستوى السابق. في المُحصِّلة، ستُبْنى شجرة بحث تحتوي على جميع الحالات المُحتمَلة (المُمكِنة) ضمن (N) عُقْدة كما هو مُبيَّن في الشكل ( 4- 1)
تُحسَب قيمة لكل عُقْدة بناءً على اقتران تقييم مُستخدَم سيتمُّ توضيحه في هذا الدرس؛ إذ يسعى اللاعب ( MAX ) إلى زيادة قيمة نتيجة الاقتران التقييم بناءً على الحالة الحالية، في حين يسعى اللاعب ( MIN ) إلى تقليل قيمة نتيجة الاقتران التقييم. بناءً على هذه القِيَم، يُمكِن معرفة إذا كان هذا المَوْضع جيدًا للاعب مُعيَّن أم لا.

مثال :
يُبيِّن الشكل( 4- 2) شجرة بحث تُظهِر جزءًا من لعبة (XO )، وتتضمَّن عرضًا لاحتمالات اللعب بالنسبة إلى اللاعب( X) الذي ستعمل خوارزمية ( MiniMax ) على تسميته (Max ) كذلك تتضمَّن شجرة البحث عرضًا لاحتمالات اللعب بالنسبة إلى اللاعب ( O) الذي ستعمل هذه الخوارزمية على تسميته (Min) ، ثمَّ تتولّى تسجيل المَواضِع التي فاز فيها اللاعب( X) بقيمة موجبة، والمَواضِع التي فاز فيها اللاعب ( O) بقيمة سالبة. بعد ذلك ستتخذ الخوارزمية قرارًا يُحدِّد أفضل لعبة يُمكِن ممارستها، في ما يُمثِّل الدور الذي تؤدّيه خوارزمية ( MiniMax)

استنادًا إلى الشكل (4- 2)، فإنَّ اللاعب( MAX ) يتحرَّك أولا ، يله اللاعب (Min )، ثمَّ يتناوب اللاعبان على التحرُّك إلى حين انتهاء اللعبة. وما إنْ تنتهي اللعبة، حتّى تُمنَح نقاط للاعب الفائز.
يُمكِن تعريف اللعبة بأنّهَا مشكلة بحث مع العناصر الآتية:
الحالة الأوَّلية (الابتدائية)(S0) : تُحدِّد هذه الحالة كيفية إعداد اللعبة في بدايتها.
اللاعب ( S) : يُحدِّد اللاعب الذي لديه الحركة في حالة مُعينة.
الإجراء( as): يعمل الإجراء (as) على إرجاع مجموعة التحرُّكات المُحتمَلة (المُمكِنة) إلى حالة مُعينة.
النتيجة (result (S, a)): يُقصَد بذلك نموذج الانتقال الذي يُحدِّد نتيجة الحركة.
اختبار المَحطَّة (اختبار المَحطّات): يُطلَق على الحالات التي تنتهي فيها اللعبة اسم حالات المَحطَّة، وهي تُعَدُّ صحيحة في حال انتهاء اللعبة، وتُعَدُّ غير صحيحة إذا لم تنتهِ اللعبة.
فائدة الحالة ( utility (s,a )) : تُسمّى أيضًا دالَّة الهدف أو دالَّة العائد، وهي تُحدِّد القيمة العددية النهائية للعبة. ففي لعبة الشطرنج مثلًا، تكون النتيجة إمّا فوزًا، وإمّا خسارةً، وإمّا تعادلًا، فتكون القِيَم
(+ 1)، أو ( 0)، أو( ½)؛ إذ يعطى اللاعب ( Max) القيمة( 1) في حال الفوز، ويعطى القيمة ( 0)في حال الخسارة، في حين يعطى كلٌّ من اللاعبيْنِ القيمة ( ½) في حال التعادل.
الإجمالي لكلا اللاعبيْنِ هو نفسه لكل حالة من حالات اللعبة؛ ذلك أن نتائجها دائمًا إمّا ( 0+ 1)، وإمّا ( 1+ 0)، وإمّا ( ½ + ½ )؛ ما يعني أن المجموع الإجمالي في جميع الحالات يساوي ( 1).
تعمل كل من الحالة الأوَّلية (الابتدائية) ودالَّة الإجراء ودالَّة النتيجة على تحديد شجرة اللعبة (Game Tree) للعبة. وهذه الشجرة تحتوي على عُقَد تُمثِّل حالات اللعبة، وهي تختلف عن شجرة البحث التي تعرَّفْتُها مُسبَّقًا في أن اسم اللاعب الذي يؤدّي دورًا في هذا المستوى من اللعبة يُكتَب عند الحافة.
مثال:
الشكل ( 4- 3) جزءًا من شجرة اللعبة في لعبة (XO)، يُبيِّن الحالة الابتدائية ، واسم كل من اللاعبيْن على يسار الشجرة، ودالَّة النتيجة

بالنظر إلى الشكل السابق، يُلاحََظ أَنَّ اللاعب( MAX) الذي كتب حرف (X) في الحالة الأوَّلية(الابتدائية) له (9) حركات مُحتمَلة (مُمكِنة). ثمَّ يأتي دور اللاعب(Min) الذي وضع حرف (O) ثمَّ تناوب اللاعبان على وضع الإشارات، لتنتهي اللعبة بالوصول إلى الحالة النهائية؛ وهي وضع أحد اللاعبيْنِ (3) إشارات له على خط مستقيم، أوامتلاء جميع المُربَّعات في اللعبة.أما القِيَم في أسفل الشكل فتشير إلى قِيَم الحالة النهائية من وجهة نظر اللاعب (MAX)، وهي: (+ 1) في حال فوزه، و(- 1) في حال خسارته، و0) في حال تعادله مع اللاعب( Min) .
الحَلُّ الأمثل في مشكلات البحث العادية يكون دائمًا سلسلة من الإجراءات، تبدأ بالحالة الأوَّلية (الابتدائية)، وتنتهي بالحالة الهدف؛ وهي الحالة النهائية التي تُمثِّل الفوز. أما في البحث التنافسي ( Adversarial Search ) فيتعيَّن على اللاعب ( MAX) إيجاد استراتيجية طارئة تُحدد حركته للحالة الأوَّلية (الابتدائية)، ثمَّ التحرُّكات الناجمة عن كل استجابة مُحتمَلة (مُمكِنة) من اللاعب ( MIN ، وهكذا. وفي نهاية المطاف، فإنَّ الاستراتيجية المُثلى ستُفْضي إلى نتائج جيِّدة.

إجابة محتمَلة :
لعبة السودوكو (Sudoku): لعبـة ألغـاز رقميـة هدفهـا مـلء الشـبكة؛ بحيـث يحتـوي كلُ صفٍ وعمـود ومرب ـع فرعي ٍ علـى الأرقام مـن 1 إلـى 9 من دون تكرار. نتيجتهـا تختلـف عـن الشـطرنج: لا تقـوم على الفوز والخسـارة بيـن لاعبيـن اثنين، بل علـى إنجاز التحـدي الفـرديِ . يمكن أن ينجـح اللاعبـون جميعهـم أو يفشـلوا، أي أن النتيجة ليسـت صفرية.
لعبة مونوبولي (Monopoly) : لعبة تجارية على لوحة، يشتري فيها اللاعبون العقارات، ويديرون الأموال. تختلـف عن الشـطرنج في أن َ محصِلتها ليسـت صفرية؛ إذ يمكن أن يربح أكثر من لاعب بدرجـات متفاوتة (قيمة الممتلكات، وحجم الأموال)، وقد يسـتمر اللَعـب أوقاتًا طويلة مع تغير النتائج باسـتمرار
لعبة البازل الجماعي (Puzzle Collaboration Game) ِ :لعبة جماعية يتعاون فيها اللاعبون لإنهاء صورة أو شكل معين بقطع البازل. تقوم على التعاون لا التنافس، والمشاركون جميعهم قد يحقِقون الفوز معًا عند إكمال البازل.بعض الألعاب مثل لعبة الطاولة تمتلك قيما كثيرة تتراوح بين 0 و 192+.
في الألعاب مثل XO أو الشطرنج: هل يكفي أن نحدِد سلسلة من الخطوات للوصول إلى الفوز؟ ماذا يحدث إذا لعب الخصم بطريقة غير متوقَعة؟ هل ستظل ُ خطَتنا صالحة؟
فـي مشـكلات البحث العاديـة يكون الحـل الأمثل عبارة عن سلسـلة إجـراءات متتابعة تبـدأ من الحالـة الابتدائية حتى الوصـول إلـى الهـدف؛ بينمـا فـي البحـث التنافسـي ِ (Adversarial Search) لا يكفـي ذلـك، بـل يحتـاج اللاعب MIN إلـى إسـتراتيجية طارئـة تأخـذ في الاعتبار كل َ اسـتجابة ممكنة مـن اللاعب MAX
لماذا تُعَد الاستراتيجية المثلى أكثر فعالية من مجرد خطَة جاهزة من البداية إلى النهاية؟
الاستراتيجية المثلـى تأخـذ فـي الحسـبان الاحتمالات الممكنـة جميعهـا، بمـا فيهـا ردود أفعال الخصـم، فلا تكـون مقيدة بمسـار واحـد فقط توفِـر مرونـة فـي اتِخاذ القـرار؛ فإذا قـام المنافس بحركـة غير متوقَعة، يسـتطيع اللاعب تعديـل تحركاته ضمن الاستراتيجية مـن دون أن يفقـد الهدف تزيد من فرص الفوز أو تقليل الخسارة؛لأنها تجهِز اللاعب مسبقا للتعامل مع مختلف السيناريوهات. تشـبه خطـط الطـوارئ فـي الحيـاة الواقعية (مثـل خطط الشـركات لمواجهـة المنافسـين، أو خطط السـفر البديلـة عند إغلاق طريـق)، حيـث يكـون المعتاد على مسـار واحد فقـط أمـرا محفوفًـا بالمخاطر.
آليّة عمل خوارزمية (MiniMax):
يعرض الشكل( 4- 4) مثالًا سهلًا على لعبة تُبيِّن آليَّة عمل خوارزمية (MiniMax )؛ إذ يبدأ اللاعب (MAX) اللعب من عُقْدة الجذر، وتُسمّى الحركات المُحتمَلة (المُمكِنة) لهذا اللاعب (a1)، و(a2) ، و(a3) كما هو مُبيَّن في الشكل. فإذا اختار اللاعب ( MAX) الحركة (a1)، فإنَّ العُقْدة (B) ستنشأ، وستكون الاستجابات المُحتمَلة (المُمكِنة) للاعب (MIN) هي : (b1)، و(b2)، و(b3) أمّا إذا اختار اللاعب (MAX) الحركة (a2 )، فستظهر العُقدة(C)، وستكون الاستجابات المُحتمَلة (المُمكِنة) للاعب(MIN) هي:(c1)، و(c2) و(c3)، وهكذا الحال بالنسبة إلى بقيَّة الحركات. ثمَّ ستنتهي اللعبة بعد أداء كل من اللاعبيْنِ حركة واحدة فقط؛ إذ يقال في لغة الألعاب: "إنَّ عمق الشجرة هو حركة واحدة، تتكوَّن من حركتين نصفيتين، تُسمّى كل منهما( ply)؛ أي حركة واحدة لكل لاعب". يُذكَر أن، قيمة الفائدة للحالات النهائية في هذه اللعبة تتراوح بين (2) و(14).

تُكتَب القيمة التقييمية لكل عُقْدة باستخدام(n)(MiniMax)، وهذه القيمة تُعَدُّ الفائدة للاعب (MAX) على أساس أن كلا اللاعبيْنِ يلعبان بشكل مثالي. عند منح اللاعبيْنِ الخيار، فإنَّ اللاعب (MAX) يُفضِّل دائمًا التحرُّك نحو العُقدة التي تملك أعلى قيمة للفائدة، في حين يُفضِّل اللاعب (MIN) التحرُّك في اتجاه العُقْدة التي لها أقل قيمة للفائدة. في الشكل( 4- 5)، تُمثِّل العُقْدة (B) أَوَّل عُقْدة للاعب(MIN) . ولهذه العُُقْْدة ثلاثة أبناء يحملون القِِيََم الآتية: (3)، و(12)، و(8) . ولأنَّ هذه العُقْدة تخصُّ اللاعب (MIN)؛ فإنَّه سيختار المسار الذي يعطي أقل قيمة مُحتمَلة(مُمكِنة)، وهي(3) في هذه الحالة.أما بالنسبة إلى العُقْدة (C)، فعند المقارنة بين قِيَم أبنائها العُقَد الناتجة منها، وهي:(2)، و( 4)، و(6)، يتبيَّن أن(2) أقل قيمة من هذه القِيَم، وهي القيمة التي يحاول اللاعب (MIN) التحرُّك في اتجاهها. وفي ما يخصُّ العُقْدة الأخيرة (D)، فإنَّ أقل قيمة بين أبنائها الثلاثة (2، 5، 14)هي أي ضا ( 2). ومن ثَمَّ، فإنَّ اللاعب (MIN) سيختار هذه القيمة. يُذكَر أن القيم الراجعة من حركات اللاعب(MIN) تظهر في الشكل، وقد ظُلِّلت باللون الوردي لتمييزها.

بعد الانتهاء من تقييم حركات اللاعب (MIN)، يأتي دور اللاعب (MAX) الذي يسعى دائمًا إلى اختيار المسار الذي له أعلى قيمة مُحتمَلة (مُمكِنة). ففي هذا المثال، أَوَّل عُقْدة للاعب ( MAX) هي (A).وعند المقارنة بين القِيَم الناتجة من أبنائها،وهي:(3)، و(2)، و( 2)، يتبيَّن أَنَّ أعلى قيمة هي(3)؛ لذا سيختار اللاعب (MAX ) الحركة (a1) على أساس أَنَّها حركته التالية. أنظر الشكل ( 4- 6).

أُلاحِظ أن خوارزمية (MiniMax) تعمل على إيجاد القرار المناسب انطلاقًا من الحالة الحالية للعبة؛ إذ تعتمد اللعبة على الحسابات المُكرَّرة البسيطة لقِيَم خوارزمية (MiniMax) الخاصة بكل حالة لاحقة في شجرة اللعبة، علما بأنََّ إجراء هذه الحسابات يتمُّ عن طريق التطبيق المباشر للمعادلات المُحدَّدة. ثمَّ يستمر هذا التكرار حتّى الوصول إلى العُقَد الطرفية (نهاية شجرة اللعبة)، بعد ذلك تُنسخ قِيَم خوارزمية (MiniMax)أثناء عميلة فَكِّ التكرار(Backtracking) في شجرة اللعبة. وهذه الآليَّة تُشبِه فكرة الاقترانات الراجعة( Recursive Functions ) في عميلات البرمجة.

الإجابة المحتملة:
نبدأ بـ (Maximizer ) حيث سيختار من كلِّ عُقدة القيمة الأعلى كالآتي: من العُقدة D سيختار القيمة الأعلى، وهي 4، ومن العُقدة E سيختار القيمة الأعلى، وهي 6، ومن العُقدة F سيختار القيمة الأعلى، وهي - 3، ومن العُقدة G سيختار القيمة الأعلى، وهي 7 .

يأتي دور اللاعب Minimizer ليقرِّر الحركة المناسبة علمًا بأنَّه سيختار القيمة الأقلَّ:

يأتي دور اللاعب Maximizer ليختار القيمة الأعلى وهي 4

إذا كان أقصى عمق للشجرة هو (m)، وكانت توجد حركة مسموحة في كل نقطة، فإنَّ التعقيد الزماني لخوارزمية (MiniMax) هو(bm)O ، في حين يكون التعقيد المكاني (bm)O لخوارزمية تُولِّد جميع الإجراءات دفعة واحدة، أو(m)O لخوارزمية تُولِّد إجراءً واحدًا في كل مَرَّة.
تعمل خوارزمية(MiniMax) على استكشاف كامل شجرة اللعبة باستخدام خوارزمية البحث في العمق أولا (Depth-First Search ) . فإذا كان أقصى عمق للشجرة هو(m)، وتبيَّن وجود (b) حركة مُحتمَلة(مُمكِنة) في كل عُقْدة، فإنَّ التعقيد الزماني لخوارزمية ( MiniMax ) سيكون (bm)O وبالمثل، فإنَّ التعقيد المكاني سيكون (bm)O ، ويُقصَد به عدد الحركات المُحتمَلة (المُمكِنة) إذا علمت الخوارزمية على توليد جميع الإجراءات دفعة واحدة ( أي احتفظت بالشجرة كاملةً في الذاكرة أو (m)O إذا ولَّدت الخوارزمية إجراءً واحدًا في كل مَرَّة أي احتفظت بمسار واحد فقط في الذاكرة أثناء عميلة الاستكشاف.
تتمثَّل المشكلة الرئيسة عند استخدام خوارزمية( MiniMax) في أن عدد الحالات التي يجب فحصها يزداد بصورة كبيرة عند زيادة عمق شجرة اللعبة؛ ما يؤدّي إلى تعقيد حسابي عالٍ جدًّا. بالرغم من ذلك، يُمكِن تقليل عدد الحالات التي يتمُّ فحصها إلى النصف أو أكثر عن طريق حساب قرار خوارزمية (MiniMax ) من دون حاجة إلى النظر في كل عُقْدة من العُقَد في شجرة اللعبة. تحقيقا لهذا الهدف؛ تُستخدَم فكرة تقليم الأشجار(Pruning) التي تتيح استبعاد أجزاء مُعيَّنة من شجرة اللعبة أثناء عميلة البحث؛ لأنَّ هذا الاستبعاد لن يُؤثِّر في القرار النهائي.أما التقنية الخاصة المُستخدَمة لهذا الغرض فتُسمّى التقليم ألفا– بيتا (Alpha-Beta Pruning ). عند تطبيق هذه التقنية
على شجرة خوارزمية (MiniMax)، فإنَّها تعمل على إزالة الفروع التي لا تُؤثِّر في القرار النهائي للاعب (MAX) أو اللاعب(MIN)؛ ما يؤدّي إلى تقليل عدد العُقَد التي تتمُّ زيارتها بصورة كبيرة، ثمَّ تحسين كفاءة الخوارزمية من دون التأثير في صحة القرار.
بالرجوع إلى الشكل ( 4- 4)، يُلاحَظ أنه يُمكِن الاستغناء عن تقييم عُقْدتين ورقيتين. فمثلًا ، يُمكِن ترميز آخر عُقْدتين من أبناء العُقْدة (C) بالرمز(x) والرمز(y)، ثمَّ تُحسَب القيمة النهائية باستخدام الصيغة الآتية:
MINIMAX (root) = max (min (3,12,8) , min (2, x, y), min (14,5,2))
max ( 3, min (2, x, y), 2) =
= max (3, z, ؛ )2 z = min (2,x,y) ≤ 2
= 3
أُلاحِظ أنّ قيمة الجذر مستقلة عن قِيَم العُقَد المُقلَّمة (y ،x)

الإجابة المحتملة:
قيمة العُقدة 3 = ( 6 , a1 = min(3
قيمة العُقدة 2 = ( 8 , a2 = min(2
قيمة الجذر = 3 = ( 2 , max(3
إذن، قيمة MiniMax(rt) = 3
تمَّ اختيار القيمة(3) في الجذر؛ لأنَّ لاعب MAX يختار القيمة الأكبر من نتائج أبنائه ( 3 و 2)، بينما كلُّ عُقدة من نوع MIN تختار القيمة الأصغر من أبنائها.

التعامل مع حيّز الحالة برمجيّا:
يُمكِن لخوارزميات البحث تتبُّع شجرة البحث في حال توافر بنية بيانات تُنشأ بحسب الخوارزمية
المُستخدَمة، ولكنْ يجب أْنْ تتوافر في هذه البِنية أربعة مُكوِّنات رئيسة لكل عُقْدة (m) من شجرة البحث، وهي:
1. الحالة (m)(m state) : إحدى حالات ح زِّي الحالة الذي يُمثِّل العُقْدة m.
2. الأب (Parent ): عُقْدة في شجرة البحث، تفرَّعت منها العُقْدة m.
3. الإجراء (Action): إجراء طُبِّق على العُقْدة الأب لإنشاء العُقْدة m .
4. تكلفة المسار ( Path-Cost ) للعُقْدة ( m): تكلفة المسار من الحالة الأوَّلية (الابتدائية) إلى العُقْدة(m)، ويُرمَز إليها بالرمز (g(m.
تختلف الحالة عن العُقْدة في أَ نَّ الأخيرة هي بِنية بيانات تُستخدَم لتمثيل شجرة البحث، ويُستخدَم الأب للدلالة عليها برمجيًّا، ويُمكِن لعُقْدتين مختلفتين تمَّ إنشاؤهما من مسارين مختلفين أن تتضمَّنا نفس الحالة. تأسيسا على ذلك، تُستخدَم آليّات مُعيَّنة لحفظ بيانات شجرة البحث بما يُناسِب خوارزميات البحث.
يعتمد استخدام خوارزمية البحث على ضوابط ومعايير وأُسس عِدَّة، يتمثَّل أبرزها في الأسئلة الآتية:
- هل تضمن الخوارزمية إيجاد الحَلِّ؟
- هل تستطيع الخوارزمية إيجاد الحَلِّ المثالي؟
- ما الوقت الذي تستغرقه الخوارزمية في إيجاد الحَلِّ؟
- ما حجم الذاكرة اللازم لإنهاء عميلة البحث؟
برمجة لعبة ( XO ) باستخدام لغة البرمجة بايثون (Python):
في ما يأتي الخطوات اللازمة لبرمجة لعبة ( XO ) في لغة البرمجة بايثون (Python):
1. تعريف لوحة اللعبة بوصفها مصفوفة (3× 3). أنظر الشكل (4- 9) الذي يُبين كيف تُعرَّف لوحة اللعبة بصفتها مصفوفة.

2. تعريف دالَّة خوارزمية(MINIMAX)؛ إذ تُستخدَم هذه الدالَّة في تحديد أفضل حركة للذكاء الاصطناعي (X) في لعبة (XO)، ومُدخَلاتها هي مصفوفة ثنائية الأبعاد تُمثِّل لوحة اللعب (board)، وعمق الشجرة (depth)، ومُتغيرا منطقيا ( is_maximizing ) يُرجِع قيمة منطقية مقدارها( true ) إذا كان الدور في اللعب للذكاء الاصطناعي، و( false) إذا كان الدور في اللعب للمُستخدِم. أمّا مُخرَجات هذه الدالَّة فهي (1) إذا فاز الذكاء الاصطناعي، (- 1) إذا فاز المُستخدِم، و(0) إذا تعادل المُستخدِم مع الذكاء الاصطناعي. يُذكَر أنَّ القيمة التي تتراوح بين (- 1) و(1) أثناء عميلة البحث تُعبِّر عن جودة الحركات المُحتمَلة(المُمكِنة)، وهي مُبينَّة في الشكل (4- 10).

3. تعريف الجزء الرئيس من البرنامج كما هو مُبين في الشكل (4- 11).


















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