PDA

View Full Version : سؤال حول الذكاء الصناعى


T_arek
05 / 06 / 2003, 10:16 PM
السلام عليكم
ارجو افادتى عن الذكاء الصناعى
و هل هناك مقالات او مواقع تتحدث عن مبادئ الذكاء الصناعى
بدون التدخل فى طرق البرمجة
و هل هناك لغة معينة تتمتع بامكانيات فى هذا المجال
ام هى مجموعة قواعد اساسيه تتم بغض النظر عن لغة البرمجة
و شكرا

x-chang
07 / 06 / 2003, 06:27 AM
نعم يوجد مواقع و هاك إياها
http://www.albayan.co.ae/albayan/culture/2001/issue82/cinema/5.htm
http://www.c4arab.com/showasection.php?lssid=105
http://www.al-jazirah.com.sa/digimag/09022003/tn523.htm

T_arek
07 / 06 / 2003, 02:16 PM
السلام عليكم
شكرا اخى

x-chang

stm
14 / 06 / 2003, 04:26 AM
براي انا ان الذكاء الاصطناعي ليس بعمليه برمجيه بحته وانما هي عبار عن تحويل عمليات الدماغ من اشارات عصبيه الى عمليه رياضه بحته وهنا علم خاص بهذه العمليه وللاسف انا لا اعرف اسمه لكن يمكن استخدام بعض النظريات الرياضيه مثل نظرية الاحتمالات وممكن استخدام نظرية فيثاغورس واذا اردة اكثر من هذا يمكنني التفصيل في ذلك وبالنسبه الى المواقع لا اعتقد ان هناك مواقع تهتم في هذا الشئن اذ انه لا يمكن لاي احد ان يعطي الاخرين ذكاه ...وشكراااااااااااااااا

T_arek
14 / 06 / 2003, 05:32 AM
السلام عليكم
اخى العزيز شكرا لردك
و هذا ما اتحدث عنه ( الاسس العلمية للذكاء الصناعى )بغض النظر عن البرنامج او اللغة المكتوب بها
ارجو اذا كان لديك مزيد من العلومات لا تبخل علينا بها و شكرا
و بالمناسبة فقد و جدت اثناء بحثى عل هذا البرنامج (قمت بقرائتة فقط) و لم اقم بتحميله بعد
ارجو ان يلقى اهتمامك
http://www.saknet.com/ai
و شكرا

stm
14 / 06 / 2003, 05:58 AM
شكرا لك وهذا كله يعتمد على ذكائك انت ومقدرتك على تحليل المواقف فمثلا اذا كنت تريد ان تجعل شخصيه ما ان تحدد موقع عدو ما والتوجه اليه عليك ان تستخدم نظرية فيثاغورس وانا كنت تعمل على لعبه رياضيه فعليك استخدام نظرية الاحتمالات ويمكن ايضا استخدامها في الذكاء الاصطناعي...وشكرااااااااااااااا

احمد صالح
14 / 06 / 2003, 10:40 PM
السلام عليكم ،،
الذكاء الاصطناعي له استخدامات عديدة فى مجال برمجة الالعاب و ايضا الالكترونيات (مثلا الانسان الالى ) ...... ...

game_maker
14 / 06 / 2003, 11:36 PM
السلام عليكم

ولكن لا تستطيع بعقلك (بدون العلم) ان تصمم ذكاء لعبة شطرنج

stm
15 / 06 / 2003, 12:04 AM
يمكن ذلك لما لا عليك فقط ان تحلل عمليه الموجوده في اللعبه فقط

T_arek
15 / 06 / 2003, 03:40 AM
السلام عليكم
مهلا
فلنقم بالاسهل ثم التدرج فى الصعوبة
ما اعنيه ان هناك قبل البرمجة(بغض النظر عن لغة البرمجة ذاتها) مجموعة من الخطوات
اولا تحديد المشكلة (اتكن مطاردة كرة مثلا )
تحليل المشكلة ( حدود الحركة -المسارات -العوائق التى لا يجوز المرور عبرها ..............)
ثم ياتى دور الذكاء الصناعى الذى نتكلم عنة

فهل هذا يكفى كمثال لخطوة اولى للحديث و التحليل ....

و شكرا

أسد الله
18 / 06 / 2003, 09:52 AM
في الحقيقة برمجة الذكاء الإصطناعي هي مربط الفرس بالنسبة للبرمجة فأصعب ما يتقن في البرمجة هو الذكاء الإصطناعي -AI- وهو دراسة لحالة الشخصية وردود أفعالها (كالمجرم) وفي ألعاب المغامرات الردود المتعارف عليها بالنسبة للمجرمين هي :
wait----->alert
alert---->attack
hit----->escape
escape---->rescan for player
death---->dead
ويمكن التنقل بين الخطوات عشوائياً مثلاً
wait----->attack وما إلى ذلك.
وكلما قويت ردود أفعال المجرم وبدت واقعية كلما زادت متعة اللعبة .
في الحقيقة نصيحة أقدمها لك أخ T_arek
ألا وهي أن لا تهتم بالذكاء الإصطناعي حتى تنهي الأمور الأخرى .
أما قولك أخي stm عن كون الذكاء الإصطناعي ليس له علاقة بالبرمجة فأنا أخالفك هنا تماماً
فالبرمجة 90% من الذكاء الإصطناعي و 10% على دراسة ردود الفعل .
وبلا مبالغة تتجاوز برمجات ردود الأفعال-AI- الـ2000 سطر أحياناً .
وأما عن نظرية فيثاغورس ففي الحقيقة الطريقة ليس كذلك نوعاً ما .
وإنما عن طريق المسح المنطقي (scan_resault)ونتائجه بالمسح في ناحية X وناحية y
وارتفاع z وبأمر temp ثم وعند وجود كائن في المنطقة له شخصية لاعب(me=player)
قم برد (function hide) وهو الإختباء أو الهجوم وعند تلقي إصابة قم بالهرب مثال:
بسيط جداً وحقيقة لا يمثل 10% من الـ-AI-:
* الأمثلة في المقال الآخر-في الأسفل-.
في الحقيقة الذكاء الإصطناعي هو التحدي الأكبر الذي يواجه مبرمجي الألعاب,
والصعوبة تكمن في ردود أفعال المجرم ، وكل كائن لابد له من ردود أفعال (enemy,npc....etc)
وبمقابل الكائنات نستخدم في الألعاب الـ models ،والتي لها القدرة على الحركة (respone)
ففي حالة رؤية اللاعب نستدعي الأمر trace والأمر resault .
وفي حالة قرب الاعب من المجرم نستدعي الأمر event_trigger .
وفي حالة ملامسة اللاعب للمجرم نستدعي الأمرين event_entity,event_impact
وفي حالة resault =1 نستدعي event_shoot.
وفي حالة بعد الاعب أو البحث عنه أو الإبتعاد من القنابل نستدعي event_scan.
ويمكن تحليلها هكذا:
wait>>attack>>wait>>attack>>escape>>die>>dead
ولكل أمر برمجة طويلة مثلاً أمر event_scan
فهو يبرمج بإعطائه أبعاد البحث ونظرية البحث (tan,sin,cos)وقدرات البحث ومتغيرات البحث ونواتج البحث وردود البحث وكل ناتج يستدعي أمر آخر يحتوي على أوامر ونواتج وهكذا.

أسد الله
18 / 06 / 2003, 09:56 AM
function state_attack()
{
my._STATE = _STATE_ATTACK;
ifdef WAR_CHAT_ON;
msg.string = war_attack_str;
show_message();
endif;
my._MOVEMODE = _MODE_ATTACK; // stop patrolling etc.
attack_transitions(); // branch to other states depending on values


// fire and close distance
while(my._STATE == _STATE_ATTACK)
{

// fire two or three times
my._COUNTER = 1.5 + random(1);

// check to see if player is shootable,
if((attack_fire()) == -1)
{
// cannot see player
exclusive_entity;
wait(1);
state_hunt();
return;
}
while(my._COUNTER > 0) { waitt(1); } // don't continue until attack_fire is finished

// walk towards player for one to three seconds
my._COUNTER = 16 + random(32);
attack_approach();
while(my._COUNTER > 0) { waitt(1); } // don't continue until attack_approach is finished
}


}