الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعرف على الذكاء الصناعي, إجعل الحاسوب يفكر !

بدأه khatibe_30 في 27 أغسطس 2012 · 17 رد · 4,628 مشاهدة · في قسم المواضيع الهامة في قسم السي /سي++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

post-219439-009628800 1346083442_thumb.g

إنَّ الحمد لله نحمدهُ ونستعينهُ ونستغفره ونستهديهِ ونعوذ باللهِ من شرور أنفسنا وسيئات أعمالنا،

من يهدهِ اللهُ فلا مضلَّ له، ومن يضلل فلا هادي له، وأشهد أن لا إله إلا الله وحده لا شريك له،

وأشهد أنَّ محمداً عبده ورسوله .

تحية طيبة وبعد ..

post-219439-036206900 1346083448_thumb.g

أعزائي الأعضاء, المشرفين و الزوار

لا يمكن نشر أي لعبة ذات لاعبین و توزيعھا دون إضافة خاصیة اللعب ضد الكومبیوتر,

قد يبدو الموضوع معقدا للوھلة الأولى و تطبیقه صعب جدا إذ أنه يعتبر ذكاءا صناعیا,

لكن على العكس,

الأمر و تطبیقه لیس أصعب من برمجة اللعبة في حد ذاتھا طبعا بعد التعرف على

الألغوريتم المناسب و تعلم برمجته,

و لھذا أقدم لكم ھذا الكتیب آملا أن يوضح لكم كیف تتم

العملیة.

post-219439-000873000 1346083437_thumb.p

لتحميل الدرس

لتحميل المشروع الذي تم العمل عليه و هو لعبة Tic Tac Toe

مع امكانية اللعب ضد الحاسوب

كود سورس المشروع من هنا

post-219439-083081100 1346083444_thumb.g
المرفقات
354735cover.png464564.gif678678.gifertertert.gif

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 28 أغسطس 2012 في 14:34 — السبب: تحديث المرفقات.

4

[سبحان الله و بحمده, سبحان الله العظيم]

#2

و عليكم السلام و رحمة الله و بركاته

مرحبا أخي ياسين :)

+1

موضوع جميل جدا, بارك الله فيك.

أظن أنك سبق و أن طرحتَ موضوعا عن برمجة الــ Compiler لكن من عضوية مختلفة, صح ؟

لي عودة :happy:

#3

مشكور أخي + هل أنت هو prince 3

#4
أحمد الشنقيطي كتب:

و عليكم السلام و رحمة الله و بركاته

مرحبا أخي ياسين :)

+1

موضوع جميل جدا, بارك الله فيك.

أظن أنك سبق و أن طرحتَ موضوعا عن برمجة الــ Compiler لكن من عضوية مختلفة, صح ؟

لي عودة :happy:

مرحبا أخي أحمد

أجل سبق ذلك, لكن نسيت العضوية السابقة و كلمة مرورها :wacko:

[سبحان الله و بحمده, سبحان الله العظيم]

#5
the inventor habib كتب:

مشكور أخي + هل أنت هو prince 3

عفوا عزيزي, أجل, prince 3

[سبحان الله و بحمده, سبحان الله العظيم]

#6

مبدع أخي ياسين لقد اجتمعتم هنا و هناك laugh.gif هههههههههه + انا هو حمزة الصغير ...

rS3eY.png
#7

بصراحة, قرأتُ الدرس و قد أعجبني جدا .. لذا قمتُ بتقييم الموضوع بـ 5 نجوم :happy:

خوارزمية القيم العظمى والصغرى (Minimax Algorithm) معروفة جدا و كثيرا ما يتم تدريسها في مادة الــ Game Theory حيث يتم تطبيق الخوارزمية على Zero–sum game.

الــ Minimax تتردد كثيرا ما بين القيم العظمى والصغرى حتى تصل لقمة الشجرة لكن بتطبيق تقنية Alpha Beta Pruning يمكن أن تعمل تلك الخوارزمية بضعف سرعتها وتستهلك ذاكرة أقل.

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

اقتباس
أجل سبق ذلك, لكن نسيت العضوية السابقة و كلمة مرورها

أتمنى أن لا تنسى كلمة مرور هذه العضوية أيضا :D

بالمناسبة, عند تشغيل الملف التنفيذي تظهر لي الرسالة التالية :

post-219439-062144100 1346082356_thumb.p

أعتقد أ المشكلة تتعلق بــ Microsoft Visual C++ Redistributable Package (x86).

المرفقات
XO_Err.png
#8
أحمد الشنقيطي كتب:

بصراحة, قرأتُ الدرس و قد أعجبني جدا .. لذا قمتُ بتقييم الموضوع بـ 5 نجوم :happy:

خوارزمية القيم العظمى والصغرى (Minimax Algorithm) معروفة جدا و كثيرا ما يتم تدريسها في مادة الــ Game Theory حيث يتم تطبيق الخوارزمية على Zero–sum game.

الــ Minimax تتردد كثيرا ما بين القيم العظمى والصغرى حتى تصل لقمة الشجرة لكن بتطبيق تقنية Alpha Beta Pruning يمكن أن تعمل تلك الخوارزمية بضعف سرعتها وتستهلك ذاكرة أقل.

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

أتمنى أن لا تنسى كلمة مرور هذه العضوية أيضا :D

بالمناسبة, عند تشغيل الملف التنفيذي تظهر لي الرسالة التالية :

post-219439-062144100 1346082356_thumb.p

أعتقد أ المشكلة تتعلق بــ Microsoft Visual C++ Redistributable Package (x86).

أجل,أظن ذلك

أعد تحميل التطبيق مرة ثانية,تم تحديثه, Release build

ثبت vcredist_x86.exe و سيشتغل إن شاء الله

لم أتمكن من التعديل على المرفقات, أضفت رابط جديد للتطبيق المحدث

http://www.mediafire.com/?b12axm1bbd88v4m

+

لا خلاص, العضوية هاذي لن أنساها ان شاء الله :blush:

تم تعديل هذه المشاركة بواسطة khatibe_30 في 27 أغسطس 2012 في 20:12

[سبحان الله و بحمده, سبحان الله العظيم]

#9

تم دمج العضوية القديمة مع الجديدة بعد التحقق من ملكية الأخ khatibe_30 لها

ولو نسيتها مرة أخرى راسلنا فنذكرك بها :lol: لأن لا أحد قد ينسى مثل هذا العطاء المميز :wink:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10

تم التعديل.

سأقوم بنقل الموضوع إلى قسم المواضيع و الدروس القيمة بعد أيام (ريثما يراه زوار القسم الرئيسي).

اقتباس
أعد تحميل التطبيق مرة ثانية,تم تحديثه, Release build

ثبت vcredist_x86.exe و سيشتغل إن شاء الله

البرنامج اشتغل معي بدون تثبيت الــ vcredist_x86 و هذه صورة من اللعبة :

post-219439-031059300 1346094546_thumb.p

بس أنا عايز أهزم الكمبيوتر ! :D

لازم تحط إلنا خيار باسم "اضغط هنا لإضعاف قوة الكمبيوتر" :lol:

المرفقات
IA_Game.png
#11

لقد وجدت حلا لهذه اللعبة لكي تهزم الكومبيوتر دائما ، أظن أن الكومبيوتر يلعب بنفس الطريقة في كل مرة mellow.gif

ryapD.png

لنرى ماذا سيقول الأخ ياسين laugh.giflaugh.giflaugh.gif

1
rS3eY.png
#12

عزيزي Xacker

شكرا لك و الله شغلتك معي, ما راح أنساها مرة اخرى ان شاء الله :P

أخي أحمد, عايز تهزم الكومبيوتر؟

افتح السورس و غير مثلا في مكان INFINITY =1000 خليها INFINITY=-1000 و راح تفوز عليه, العكس راح يصير يفكر في انه انت اللي لازم تفوز مش هو, و يمكن حتى ما يسمحلك تحقق تعادل ههههه

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

أصلا الموضوع كتبته في يوم و ليلة على عجاله و ما فكرت غير في الأساسيات, و اخترت ابسط لعبة للتطبيق حتى ما تاخد مني وقت طويل

[سبحان الله و بحمده, سبحان الله العظيم]

#13
Hamza+C+ASM كتب:

لقد وجدت حلا لهذه اللعبة لكي تهزم الكومبيوتر دائما ، أظن أن الكومبيوتر يلعب بنفس الطريقة في كل مرة mellow.gif

لنرى ماذا سيقول الأخ ياسين laugh.giflaugh.giflaugh.gif

عثورك على طريقة للفوز يعني أن هناك خطأ في تطبيق الألغوريتم وقعت فيه أنا

المفروض أن لا تتمكن من الفوز أبدا, أقى ما يمكن أن تحصل عليه هو تعادل

سأدقق في الأمر و أرى ما سبب الخطأ

[سبحان الله و بحمده, سبحان الله العظيم]

#14
اقتباس
أخي أحمد, عايز تهزم الكومبيوتر؟

افتح السورس و غير مثلا في مكان INFINITY =1000 خليها INFINITY=-1000 و راح تفوز عليه

أنا كنت أقصد أن يكون بإمكان المستخدم تحديد قوة لعب الكمبيوتر عن طريق إدخالها بالنسبة المئوية مثلا, لكن ما دام الهدف العام للكتاب ليس برمجة الــ XO بالتحديد فلا بأس :)

#15

لقد سبب تطفلي مشكلة عويصة في الألغوريتم ههههههههههههه laugh.gif

rS3eY.png
#16
Hamza+C+ASM كتب:

لقد وجدت حلا لهذه اللعبة لكي تهزم الكومبيوتر دائما ، أظن أن الكومبيوتر يلعب بنفس الطريقة في كل مرة mellow.gif

لنرى ماذا سيقول الأخ ياسين laugh.giflaugh.giflaugh.gif

حسنا, بعد التدقيق وجدت 3 أخطاء في في برمجة كل من minimax2, minimax_alphabeta و negamax_alphabeta

بحيث أن التطبيق الجاهز الذي جربته أنت استعملت فيه negamax_alphabeta

على العمم كل المفاهيم في الدرس صحيحة, فقط هذه الأخطاء في التطبيق

أخطاء ساذجة من طرفي لا أكثر, سيتم إعادة رفع الملفات غدا إن شاء الله

شكرا على التدقيق, دقق أكثر يمكن يوجد المزيد من الأخطاء

[سبحان الله و بحمده, سبحان الله العظيم]

#17

السلام عليكم

أخي أحمد الشنقيطي, تم تصحيح الأخطاء و إعادة تصحيح الدرس و الأكواد و لكن لا أجد أيقونة تعديل المشاركة

أرجو أن تعدلها

رابط الدرس المعدل

http://www.mediafire.com/view/?6tytdlxjwgj5wf7

رابط الملف التنفيذي

http://www.mediafire.com/?9y1my3j1jk41bcf

رابط كود سورس المشروع

http://www.mediafire.com/?7sureh8ebuhu4i4

تحياتي لكم و للأخ حمزة, و اذا اكتشفت اي اخطاء راسلني :happy:

تم تعديل هذه المشاركة بواسطة khatibe_30 في 28 أغسطس 2012 في 11:13

[سبحان الله و بحمده, سبحان الله العظيم]

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…