تمكن السوداني وائل محمد يوسف محمد من ابتكار خوارزمية جديدة تزيد من سرعة الحاسبات الآلية في اختيار الألعاب الصحيحة في ألعاب الذكاء مثل الشطرنج، وتتفوق الطريقة المبتكرة على الخوارزميات التقليدية مثل طريقة التمثيل الشجري للاحتمالات التي ابتكرها العالم كلود شانون في الخمسينات، وخوارزمية ألفا بيتا. ويشرح المبتكر الحاصل على ماجستير علوم الكمبيوتر من جامعة النيلين بالخرطوم والذي احتفل به موقع (موهوبون) طريقة لعبة الشطرنج وألعاب الذكاء في الحاسوب بأنها تعتمد على بحث كل الاحتمالات وحساب قيم من نتائج تنفيذ تلك الاحتمالات، بحيث يقوم الحاسوب في نهاية المطاف باختيار اللعبة الأمثل والتي تحقق قيمة أفضل. وهذه الفكرة تم ابتكارها منذ خمسينيات القرن الماضي على يد العالم كلود شانون، والتي تعتمد على التمثيل الشجري للاحتمالات. ولأي حركة في الشطرنج هناك حوالي 30 قطعة يمكن تحريكها في المتوسط ، فإذا تمت برمجة الحاسوب على البحث ثلاث لعبات مستقبلية، فإنه سوف يبحث 27000 احتمال، وهو ناتج 30*30*30. لأن الحاسوب سوف يقيم النتائج التي سوف يحصل عليها من كل احتمال سيلعبه ثم التي سيلعبها الخصم البشري، ثم التي سيلعبها الحاسوب مرة أخرى بعد ذلك. هذه الخوارزمية تسمى Minimax. وعدد الاحتمالات في الشطرنج كبير جدا ويتعدى البلايين احتمال، فمثلا إذا كان البحث لتسعة لعبات، فسيكون عدد الاحتمالات التي يجب على الحاسوب البحث فيها هو تقريبا 30 (أس9) أي أكثر من 19 تريليون احتمال، وهو عدد مهول، وتسمى خوارزمية Minimax بهذا الاسم لأن الحاسوب سيفترض أن الخصم البشري سيختار اللعبة ذات القيمة الأقل، بينما الحاسوب سيحاول اختيار اللعبة ذات القيمة الأعلى. ولأن الطريقة السابقة يكون فيها عدد الاحتمالات التي يتوجب على الحاسوب البحث كبير جدا، فقد وجد الباحثون والمهتمون تحسينا للخوارزمية لتصبح خوارزمية ألفا بيتا Alpha-Beta هي الحل الأسرع، فهي لا تتطلب البحث في كل العقد بالشجرة، وتعطي نفس النتيجة التي يمكن أن تصل إليها خوارزمية Minimax. وفي برمجة الحاسوب تستخدم خوارزمية الفا-بيتا فكرة النداء الذاتي (Recursion)، النداء الذاتي يقوم بحجز جزء من الذاكرة فيها كود دالة التنفيذ، عندما تبدأ الخوارزمية بالبحث في عقدة ما فإنها تنادي دالة ألفا-بيتا، وعندما تجد أن هذه العقدة ليست ورقة، أي ليس لها قيمة معروفة، فإن الخوارزمية تتفرع إلى الأدنى بنداء دالة ألفا-بيتا مرة أخرى، فإذا سيتم تشكيل دالة في الذاكرة لكل عقدة يتم التفرع إليها، عندما يتم معرفة القيمة في تلك العقدة وتبدأ الخوارزمية بالتوجه إلى الأعلى، تقوم بمسح دالة تلك العقدة وقيمها. شرح الفكرة الجديدة طريقة عمل خوارزمية الفا-بيتا تتطلب وقتا لأنها تحجز جزء من الذاكرة في كل مرة يتم التفرع فيها الى عقدة، فمثلا اذا كنا نبحث لعمق 9 لعبات، فإن عدد العقد أو عدد المرات التي سيحجز بها جزء من الذاكرة ويتم مسحها سيكون تقريبا:- 30+30 (أس2)+30 (أس3)+30 (أس4)+30 (أس5)+30 (أس6)+30 (أس7)+30 (أس8)+30 (أس9) وهذه الطريقة تستهلك من وقت التنفيذ في الحاسوب، إذا لابد من تنفيذ عملية التفرع إلى الأدنى والتوجه إلى أعلى في شجرة البحث بطريقة أخرى دون الاعتماد على النداء الذاتي، وهذا هو محور الفكرة. وتعتمد الفكرة الجديدة على إعادة كتابة الكود بحيث تتوجه الخوارزمية إلى أعلى وإلى أسفل باستخدام حلقة، ومع هذه الحلقة مصفوفة ذات بعد واحد طولها يساوي عمق شجرة البحث. وتعمل المصفوفة الصغيرة الحجم عمل الذاكرة لأنه في كل مرة تتفرع فيها من أعلى إلى أسفل تحتفظ بقيمة العقدة الأعلى، وعند التوجه من أسفل إلى أعلى يتم تحديث قيمة العقدة الأعلى من التي دونها. وتم تنفيذ هذه الفكرة عمليا، وعند المقارنة بينها وبين خوارزمية الفا-بيتا كانت النتيجة ظهور فرق كبير في زمن التنفيذ، فتم تنفيذ طريقة النداء الذاتي في 11.27 ثانية، بينما طريقة الحلقة في 2.4 ثانية، وهو معدل زيادة في السرعة بحوالي 4 مرات ونصف. الجدير بالذكر أن وائل محمد يوسف محمد حصل على ماجستير علوم الكمبيوتر من جامعة النيلين بالخرطوم عام 2008م، والبكالوريوس في هندسة الكمبيوتر من جامعة ليفكا بقبرص عام 2003.