الشبكة العربية لمطوري الألعاب

مبتدئ  asmah ch مشاركة 1

السلام عليكم .. اريد انشاء شجرة للعبة الشطرنج والبحث عن الحل الأمثل باستخدام خوارزميات البحث .. و واجهة محاكاة لتعلم تلك اللعبة ... ولكم جزيل الشكر

مبتدئ  احمد محمد ابوزريق مشاركة 2

و عليكم السلام و رحمة الله مرحبا في المنتدى ..
الرجاء التفصيل اكثر لنستطيع مساعدتك بشكل افضل.. مثلا
ما الهدف ؟ بحثي/تعليمي ام تطوير لعبة 
ما خبراتك البرمجية؟ لنعلم من اين يجب ان تبدأ و اي الحلول انسب لك
في حال كانت خبرتك البرمجية جيدة و الهدف بحثي/تعليمي (مجال ال A.I الذكاء الصناعي) فانصحك بالبحث عن اكواد مفتوحة المصدر للتكفل لك برسم لوحة الشطرنج على الشاشة و اخذ المدخلات من اللاعب .بشكل عام يجب ان تختار الكود الاقرب لاحتياجاتك و يجب ان يكون الجزء المسؤول عن الذكاء الصناعي في ذلك المشروع قابل لان ستبدله بافكارك الخاصة . 
ساتوقف هنا الى ان تتم اضافة التفاصيل.

مبتدئ  asmah ch مشاركة 3

شكراً لك و جزاك الله خيراً للرد ..
هدفي هو بحثي وهو مشروع تخرج طلب مني , خبراتي البرمجية : اتقن السي شارب و اعرف بالسي بلس ..
لكن ببداية الأمر أريد البحث عن الحل الامثل باستخدام خوارزميات البحث , بمعنى آخر الجزء الأول من المشروع هو خوارزميات ,,  للبحث عن أفضل خوارزمية للعبة الشطرنج
والجزء الثاني هو تطبيق عملي محاكاة لهذه اللعبة..
أرجو ان تكون فكرتي اصبحت واضحة , واي استفسار انا جاهزة .. 
وكل الشكر لحضرتكم ..

مبتدئ  احمد محمد ابوزريق مشاركة 4

على الرحب و السعة ..
يمكنك استخدام هذا المشروع (بلغة ال #C) و هو مفتوح المصدر
https://github.com/PeterHughes/SharpChess

 جربي اولا ان تستخدمي البرنامج و تستكشفيه  
ثم ستجدين في هذا المجلد الجزء المتعلق بالذكاء الصناعي
SharpChess/SharpChess.Model/AI
هدفك سيكون ان تفهمي الكود الموجود هناك  لتستطيعي استبداله بالكود الخاص بك .
(تحديدا هناك كلاس اسمه Search و فيه  يتم تعيين ال Score للحركات في نطاق البحث)
البرنامج يتكفل بالمحاكاة بالمناسبة .


الق نظرة عليه , و اطلعينا على ما يستجد معك .


بالتوفيق !

مبتدئ  asmah ch مشاركة 5

شكراً جزبلاً لك وجعله الله في ميزان حسناتك ان شاء الله ...
المشروع رائع وفتح لي العديد من الابواب .. 
سوف اقوم بقراءة الأكواد وفهمها بإذن الله ..
لكن سؤال اخير لو سمحت احتاج مرجع او كتاب يتحدث عن خوارزميات للعبة الشطرنج لإيجاد افضل خوارزمية لها ..(من هذه الخوارزميات قرأت قليلا عن خوارزمية minmax , alpha beta) ..لكن بحاجة لشرح عميق  وموسع لهم ولخوارزميات اخرى .. 


لأن في البداية بحاجة لفهم الخوارزميات  الممكنة للعبة وايجاد افضل خوارزمية  ..


وكل الاحترام والتقدير  لمساعدتك البناءة ..

مبتدئ  احمد محمد ابوزريق مشاركة 6

انصحك بهذا الكورس (شخصيا تعلمت منه)
http://ai.berkeley.edu/lecture_videos.html 
تحديدا شاهدي 
Uninformed Search 
Informed Search 
Adversarial Searchالمواضيع ستتطرق كخوازرميات البحث بشكل عام (breadth first,depth first )
ثم سيذكر ان علينا بهذه الخوارزيمات ان نبحث في فضاء البحث باكمله
و لذا يمكن ان "نوجه" جهودنا و نبحث بطريقة اذكى باستخدام ما يسمى ال Heuristics
(يمكنكي ان تتخيلي ال Heuristics  بانها ما يناله لاعب الشطرنج بالخبرة )
من الامثلة عليها في الشطرنج مثلا ان تختاري الحركة التي تقلل عدد القلاع لدى الخصم
فتقيمين جميع الخيارات امام اللاعب و تختارين الحركة التي تحقق ذلك .
اذا كان البحث معتمدا على هذه ال Heuristics تماما يسمى البحث Greedy Search 
و اذا استخدمتي اضافة الى ال Heuristics   خوارزيمات البحث العامة مثل ال Breadth First 
فان خوارزمية البحث هذه تسمى *A-star or A
سيستعرض الكورس ايضا الخوارزميات المستخدمة في حال وجود اعداء(Adversarial Search) مثل ال Min-Max  Alpha Beta Pruning   هي اضافة على ال Min-Max  تساعد في تقليل الفروع التي سنبحث فيها في فضاء البحث 
(Pruning the search tree)
ككتب متخصصة في الخوارزيمات الفضلى للعبة الشطرنج تحديدا صراحة لا اعرف ايا منها .

اتمنى ان يكون هذا افادك .

مبتدئ  asmah ch مشاركة 7

كل الشكر لشخصك الكريم ..


لقد  أتعبتك معي كثيرا , لكن الموضوع جديد بالنسبة لي ,  و ان شاء الله اقوم بإنجازه على أكمل وجه .. 
سوف اطلع على الكورس .. والله ولي التوفيق


قدمت لي ما بوسعك , شكرا لك (:  و وفقك الله لما تحبه وترضاه ...