Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   هوش مصنوعی در بازی (http://artificial.ir/intelligence/forum31.html)
-   -   مقدمه ای بر نحوه ی کاربرد هوش مصنوعی در بازی (http://artificial.ir/intelligence/thread68.html)

Mina ۰۵-۲۵-۱۳۸۷ ۱۱:۵۸ بعد از ظهر

مقدمه ای بر نحوه ی کاربرد هوش مصنوعی در بازی
 
حتما در دوران کودکی بازی O - X را انجام دادید . به طور مثال شما با حرف O و دوستتون با حرف X خونه های یه جدول 9 خونه ای را پر میکردید. و هرکس که میتونست با حرف مربوط به خودش سه خونه پشت هم رو پر کنه برنده میشد!

http://i38.tinypic.com/2w5u1dj.jpg

حالا حالات ممكن صفحه را در حين اجراي بازي در نظر بگيريد. . اين حالات محدود و قابل پيش‌بيني هستند و تعداد آن‌ها 19683 حالت است (براي محاسبه، براي هر يك از 9 تا خانه جدول مي‌توان سه حالت خالي، X و O را در نظر گرفت پس تعداد كل حالات 9^3 خواهد بود).

میشه برنامه‌اي نوشت كه تمام اين حالات را در نظر مي‌گيرد و در ازاي هر حالت خاص، رفتاري هوشمندانه را انجام مي‌دهد. شايد عدد 9 ^3 به نظرتون بزرگ بيابيد. اما حقيقت اين است كه با در نظر گرفتن قوانين بازي مي‌توان اين حالات را خلاصه‌تر كرد. نكته‌ي مهم در اين برنامه، محدود بودن حالات ممكن است. ببرای همین میشه برنامه‌ ی اين بازي را به گونه‌اي نوشت كه هيچگاه بازنده نباشد. (در نظر بگيريد كه نوشتن چنين برنامه‌اي براي بازي شطرنج تقريباً غيرممكن است).

درست است كه اين الگوريتم در بازي در برابر حريف شكست نمي‌خورد و همواره هوشمندانه‌ترين رفتار را از خود نشان مي‌دهد اما اين هوشمندي برنامه‌نويس است كه در قالب دستورات الگوريتميك به كامپيوتر القا شده است و برنامه به خودي خود هيچ‌گونه خلاقيت و هوشمندي در اجراي بازي نداشته و فقط از يك مجموعه بايد و نبايد و دستور كه برنامه‌نويس به آن داده، تبعيت كرده است.

پس ما از يك برنامه‌ي هوشمند و يا به‌عبارت ديگر هوش مصنوعي، قابليت‌هاي مختلفی مثل استنتاج، حدس، خلاقيت و يادگيري را انتظار داريم. اما آيا بواقعا میشه چنين انتظارهايي را از برنامه‌هاي كامپيوتري داشت؟
عده‌اي از رياضي‌دانان و دانشمندان علوم كامپيوتر معتقد بودند چنين كاري غيرممكن است به اين علت كه كامپيوتر صرفاً مي‌تواند دستورهاي برنامه‌نويس را - كه در قالب يك الگوريتم به آن داده مي‌شود -انجام دهد. پس نمي‌توانيم از يك برنامه، انتظار انجام كاري را داشته باشيم كه در قالب الگوريتم به او دستور داده نشده است. در حقيقت برنامه‌هاي كامپيوتري نمي‌توانند كارهايي غيرقابل پيش‌بيني انجام دهند، پس نمي‌توانند خلاقيت داشته باشند.

پاسخ اين ادعاي درست، ادعاي درست ديگري است كه تمام فعاليت‌هاي انجام شده در زمينه‌ي هوش مصنوعي را توجيه مي‌كند. اگر بتوانيم استنتاج، خلاقيت و يادگيري را در قالب الگوريتم و دستورها به كامپيوتر بدهيم و انتظار داشته باشيم تا با تبعيت از اين دستورها، رفتاري هوشمندانه داشته باشد، چيزي خلاف گفته‌ي بالا انجام نگرفته است.

در حقيقت دستورهايي كه كامپيوتر در قالب الگوريتم‌هاي هوش انجام مي‌دهد، چنين معنايي خواهند داشت:
- هوشمندانه رفتار كن.
- استنتاج كن.
- ياد بگير.
- خلاقيت داشته باش.
- يك اشتباه را دوبار تكرار نكن.
- از تجربه‌هايت درس بگير.

پس به‌طور كلي، روند كار، همانندسازي برنامه با مغز انسان است؛ هر چند اين كار به‌طور كامل ممكن نيست. اما نتايج خوبي مثل شبكه‌هاي عصبي از محصولات همين فعاليت‌هاي نه چندان كامل و دقيق است.

مهم‌ترين نكته در علم هوش مصنوعي اين است كه بتوانيم تعريف دقيقي از آن‌چه دقيقاً در مغز انسان طي يك فعاليت هوشمندانه رخ مي‌دهد ارائه كنيم. به عنوان مثال سعي كنيد دقيقاً بيان كنيد كه در حين اثبات يك قضيه‌ي رياضي چه اتفاقي در مغزتان مي‌افتد. كار خیلی سختی به نظر میاد، اما جنبه‌هايي از هوش هستند كه ساده‌تر قابل بيانند.

فرض کنید میخواهیم الگوریتمی برای یک بازی بنویسیم . قبل از هر چیز باید روش های حل مسئله رو بررسی کنیم.

برای شروع فرض کنید این سوال یکی از سوالات امتحانی شما باشه . و میخواید با استفاده از هوش مصنوعی یه الگوریتم براش بنویسید. اول باید فکر کنیم که چه راه حل هایی برای حل این مساله وجود داره.

سوال :
سه کشيش و سه آدم خوار در يک طرف رودخانه قرار دارند و هم چنين قايقي که میتواند يک يا دو نفر را حمل کند. راهي را بيابيد که هر نفر به سمت ديگر رودخانه برود، بدون آنکه تعداد کشيش‌ها در يکجا کمتر از آدم خوارها شود. (20 نمره) !

اگه راهی به ذهنتون رسید میتونید در ادامه اضافه کنید.

------------------------
منبع : ماهنامه رشد

dijam ۰۷-۱۱-۱۳۸۷ ۱۰:۵۶ قبل از ظهر

این سوال جالبیه اما یکم صورت مسله ناقص هست . من جواب رو پیدا کردم اما اگر هایی این وسط هست.
آیا افرادی که در قایق هستند جزو توازن افراد حساب میشوند یا خیر.. به طور مثال اگر یک آدمخوار درون قایق باشد و به سمتی برود که یک آدمخوار و یک کشیش با هم هستند ، اما پیاده نشود ، و فقط قصد سوار کردن یک کشیش داشته باشد ، آیا توازن بهم خورده هست؟ آیا تعداد آدمخوار ها بیشتر از کشیش ها شده است؟

Mina ۰۷-۱۱-۱۳۸۷ ۱۱:۵۶ قبل از ظهر

این مساله تقریبا جزء مسائلیه که در کلاسهای هوش مصنوعی با نوشتن الگوریتم و برآورد هزینه ی مسیر حل میشه .

خب بهتره سوال رو یه جور دیگه بپرسیم :

مسئله به این صورت است که سه کشیش و سه آدمخوار
در یک سمت رودخانه قراردارند .چطور میشه با یک قایق که توانایی
حمل حداکثر دو نفر را دارد آنها را به سمت دیگر رودخانه انتقال
دهیم که در سمتی که قایق نیست تعداد کشیش ها از آدمخوارها بیشتر
و بلعکس تعداد آدمخوارها از کشیش ها بیشتر نشود.

راهنمایی : کل مسئله را به صورت الگوریتم در بیارید. با هر زبان برنامه نویسی مثلا #c هم میتونید کدش رو بنویسید .

shori ۰۱-۲۰-۱۳۸۸ ۰۱:۳۸ بعد از ظهر

من می خوام درخت بسازم با #c لطفا راهنمایی ایم کنید

vahid_persian ۰۸-۵-۱۳۸۸ ۰۵:۱۷ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله Mina (پست 368)
این مساله تقریبا جزء مسائلیه که در کلاسهای هوش مصنوعی با نوشتن الگوریتم و برآورد هزینه ی مسیر حل میشه .

خب بهتره سوال رو یه جور دیگه بپرسیم :

مسئله به این صورت است که سه کشیش و سه آدمخوار
در یک سمت رودخانه قراردارند .چطور میشه با یک قایق که توانایی
حمل حداکثر دو نفر را دارد آنها را به سمت دیگر رودخانه انتقال
دهیم که در سمتی که قایق نیست تعداد کشیش ها از آدمخوارها بیشتر
و بلعکس تعداد آدمخوارها از کشیش ها بیشتر نشود.


راهنمایی : کل مسئله را به صورت الگوریتم در بیارید. با هر زبان برنامه نویسی مثلا #c هم میتونید کدش رو بنویسید .

یکم در مورد اون قسمت پر رنگ شده توضیح میدی ؟ این فرق داره با اونی که اول گفتی :D
o

azmoon2008 ۰۸-۲۲-۱۳۸۸ ۱۱:۰۳ قبل از ظهر

با سلام و خسته نباشيد مطالبي درباره كاربرد هوش مصنوعي در بازي فوتبال مي خواستم.

sasan_kohan ۰۹-۱۲-۱۳۸۹ ۰۴:۰۲ بعد از ظهر

baaaaaaaleeee


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۲:۴۱ بعد از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.