توقع الحد الأدنى

خوارزمية توقع-ميني-ماكس هي شكل معدل من خوارزمية ميني-ماكس ، تُستخدم في أنظمة الذكاء الاصطناعي التي تلعب ألعابًا ثنائية اللاعبين ذات مجموع صفري ، مثل لعبة الطاولة ، حيث تعتمد النتيجة على مزيج من مهارة اللاعب وعناصر الحظ مثل رمي النرد. بالإضافة إلى عقد "الحد الأدنى" و"الحد الأقصى" في شجرة ميني-ماكس التقليدية، تحتوي هذه النسخة المعدلة على عقد "الحظ" (" التحرك بطبيعته ")، والتي تأخذ القيمة المتوقعة لحدث عشوائي. [ 1 ] من منظور نظرية الألعاب ، تُعد شجرة توقع-ميني-ماكس شجرة لعبة ذات شكل موسع بمعلومات كاملة ولكنها غير مكتملة .

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

يعتمد التداخل على اللعبة. يتم تقييم كل "دور" في اللعبة كعقدة "قصوى" (تمثل دور اللاعب الذي يتحكم به الذكاء الاصطناعي)، أو عقدة "دنيا" (تمثل دور الخصم الأمثل المحتمل)، أو عقدة "احتمالية" (تمثل تأثيرًا عشوائيًا أو لاعبًا عشوائيًا). [ 1 ]

على سبيل المثال، لنفترض لعبة تتكون كل جولة فيها من رمية نرد واحدة، ثم قرارات يتخذها أولاً اللاعب الذي يتحكم به الذكاء الاصطناعي، ثم خصم ذكي آخر. يتناوب ترتيب العقد في هذه اللعبة بين "الفرصة" و"الحد الأقصى" ثم "الحد الأدنى". [ 1 ]

الشفرة الزائفة

خوارزمية expectiminimax هي نوع من خوارزمية minimax وقد اقترحها دونالد ميتشي لأول مرة في عام 1966. [ 2 ] يتم تقديم رمزها الزائف أدناه.

دالة expectiminimax(node, depth) تُرجع القيمة التقريبية للعقدة node إذا كان الخصم سيلعب عندها، وذلك في حال كانت node عقدة طرفية أو كان depth = 0.  // القيمة المُعادة للعقدة الفرعية ذات القيمة الدنيا ليكن α := +∞ لكل ابن من أبناء العقدة α := min(α, expectiminimax(child, depth-1)) وإلا إذا كنا سنلعب عند العقدة // القيمة المُعادة للعقدة الفرعية ذات القيمة القصوى ليكن α := -∞ لكل ابن من أبناء العقدة α := max(α, expectiminimax(child, depth-1)) وإلا إذا حدث حدث عشوائي عند العقدة // إرجاع المتوسط ​​المرجح لقيم جميع العقد الفرعية ليكن α := 0 لكل ابن من أبناء العقدة α := α + (الاحتمالية[الفرع] × توقع الحد الأدنى الأقصى(الفرع، العمق-1)) إرجاع α

لاحظ أنه بالنسبة للعقد العشوائية، يجب أن تكون هناك احتمالية معروفة للوصول إلى كل عقدة فرعية. (في معظم ألعاب الحظ، تكون العقد الفرعية متساوية الوزن، مما يعني أن القيمة المُعادة يمكن أن تكون ببساطة متوسط ​​جميع قيم العقد الفرعية).

يُعد بحث Expectimax أحد المتغيرات الموصوفة في كتاب Universal Artificial Intelligence: Sequential Decisions Based on Algorithmic Probability (2005) من تأليف توم إيفريت وماركوس هوتر .

تقليم ألفا-بيتا

كان بروس بالارد أول من طور تقنية تُسمى *-minimax، تُتيح تقليم ألفا-بيتا في أشجار expectiminimax. [ 3 ] [ 4 ] تكمن مشكلة دمج تقليم ألفا-بيتا في خوارزمية expectiminimax في أن درجات أبناء عقدة الاحتمال قد تتجاوز حد ألفا أو بيتا لعقدة الأصل، حتى لو لم تتجاوز القيمة المرجحة لكل ابن هذا الحد. مع ذلك، من الممكن تحديد حد لدرجات أبناء عقدة الاحتمال، وبالتالي تحديد حد لدرجة عقدة الاحتمال نفسها.

إذا كانت عملية البحث التكراري القياسية على وشك أن تُحسب النتيجةأنا{\displaystyle i}الابن رقم 1 لعقدة احتمالية معشمال{\displaystyle N}الأطفال الذين لديهم احتمالية متساوية، وقد حسبت تلك الدراسة النتائجv1،v2،...،vأنا-1{\displaystyle v_{1},v_{2},\ldots ,v_{i-1}}للعقد الفرعية من 1 إلىأنا-1{\displaystyle i-1}بافتراض الحصول على أدنى درجة ممكنةل{\displaystyle L}وأعلى درجة ممكنةيو{\displaystyle U}بالنسبة لكل طفل لم يتم البحث عنه، تكون حدود درجة عقدة الاحتمال كما يلي:

نتيجة1ن((v1+...+vأنا-1)+vأنا+يو×(ن-أنا)){\displaystyle {\text{score}}\leq {\frac {1}{n}}\left((v_{1}+\ldots +v_{i-1})+v_{i}+U\times (ni)\right)}

نتيجة1ن((v1+...+vأنا-1)+vأنا+ل×(ن-أنا)){\displaystyle {\text{score}}\geq {\frac {1}{n}}\left((v_{1}+\ldots +v_{i-1})+v_{i}+L\times (ni)\right)}

إذا تم تحديد حد ألفا و/أو بيتا في حساب نقاط عقدة الاحتمال، فيمكن استخدام هذه الحدود لقطع البحث عنأنا{\displaystyle i}الطفل رقم 1. يمكن إعادة ترتيب المعادلات أعلاه لإيجاد قيمة جديدة لـ α و β من شأنها أن توقف البحث إذا تسببت في تجاوز عقدة الاحتمال لحدود α و β الخاصة بها:

αأنا=شمال×α-(v1+...+vأنا-1)+يو×(ن-أنا){\displaystyle \alpha _{i}=N\times \alpha -\left(v_{1}+\ldots +v_{i-1}\right)+U\times (ni)}

βأنا=شمال×β-(v1+...+vأنا-1)+ل×(ن-أنا){\displaystyle \beta _{i}=N\times \beta -\left(v_{1}+\ldots +v_{i-1}\right)+L\times (ni)}

فيما يلي الشفرة الزائفة لتوسيع خوارزمية expectiminimax مع تقليم ألفا-بيتا المقاوم للفشل بهذه الطريقة:

دالة *-minimax(node, depth, α, β) إذا كانت node عقدة طرفية أو depth = 0، تُرجع القيمة التقريبية للعقدة. إذا كانت node عقدة قصوى أو دنيا، تُرجع قيمة minimax للعقدة. let N = numSuccessors(node) // حساب α، β للأطفال ليكن A = N * (α - U) + U، وليكن B = N * (β - L) + L، وليكن المجموع = 0 لكل ابن من أبناء العقدة // حصر نطاق العناصر الفرعية α و β ضمن نطاق صالح ليكن AX = max(A, L) وليكن BX = min(B, U) // ابحث عن الطفل باستخدام قيم القطع الجديدة let score = *-minimax(child, depth - 1, AX, BX) // تحقق من شروط القطع α و β إذا كانت النتيجة أقل من أو تساوي A، فأرجع α. إذا كانت النتيجة أكبر من أو تساوي B، فأرجع β. المجموع += النتيجة // اضبط قيمتي α و β للطفل التالي أ += يو - في B += L - v // لم يحدث قطع، يتم إرجاع النتيجة مجموع الإرجاع / N

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

انظر أيضاً

مراجع

  1. 1 2 3 4 راسل، ستيوارت جوناثان؛ نورفيج، بيتر؛ ديفيس، إرنست (2010). الذكاء الاصطناعي: منهج حديث . برنتيس هول. ص 177-178 . ISBN  978-0-13-604259-4.
  2. ميتشي، د. (1966). "آلات لعب الألعاب وتعلمها". التقدم في البرمجة والحساب غير العددي . ص 183-200 . doi : 10.1016/B978-0-08-011356-2.50011-2 . ISBN  978-0-08-011356-2.
  3. بالارد، بروس و. (سبتمبر 1983). "إجراء بحث *-minimax للأشجار التي تحتوي على عقد عشوائية". الذكاء الاصطناعي . 21 (3): 327-350 . doi : 10.1016/S0004-3702(83)80015-0 .
  4. هاوك، توماس؛ بورو، مايكل؛ شيفر، جوناثان (2006). "إعادة اكتشاف بحث *-Minimax". الحواسيب والألعاب . سلسلة محاضرات في علوم الحاسوب. المجلد 3846. الصفحات 35-50 . doi : 10.1007/11674399_3 . ISBN   978-3-540-32488-1.