برنامه تشخیص رنگ کلاه(2 امتیاز)

  • شروع کننده موضوع شروع کننده موضوع مهسا.ق
  • تاریخ شروع تاریخ شروع
وضعیت
موضوع بسته شده است.

مهسا.ق

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,098
امتیاز
3,217
نام مرکز سمپاد
دبیرستان فرزانگان 1
شهر
تهران
مدال المپیاد
برنز کامپیوتر ۱۳۹۳
دانشگاه
دانشگاه تهران
رشته دانشگاه
نرم افزار
ما یه سری روبات داریم و رو سرهمشون یه سری کلاه می ذاریم کلاها یا سیاهن یا سفید
روبات ها قدرت تکلم ندارن و اطلاعات هر روبات مختص خودشه و با هم به اشتراک نمی شه گذاشت
می خوایم برا روبات ها یه برنامه ی یکسانی بنویسیم که بفهمن کلاهشون چه رنگیه
راهنمایی: روبات ها نسبت به چیزایی که می بینن یه واکنش می تونن داشته باشن ولی نمی تونیم به یه روبات بگیم اگه رنگ روبات x سیاه بود این کارو کن و از این حرفا
-----
یه نکته هم راستی بچه ها شما هم می تونید سوال بذارید ها!(امتیازم داره ;D)
 
  • لایک
امتیازات: o_o
پاسخ : برنامه تشخیص رنگ کلاه(2 امتیاز)

به نقل از مهسا.ق :
ما یه سری روبات داریم و رو سرهمشون یه سری کلاه می ذاریم کلاها یا سیاهن یا سفید
روبات ها قدرت تکلم ندارن و اطلاعات هر روبات مختص خودشه و با هم به اشتراک نمی شه گذاشت
می خوایم برا روبات ها یه برنامه ی یکسانی بنویسیم که بفهمن کلاهشون چه رنگیه
راهنمایی: روبات ها نسبت به چیزایی که می بینن یه واکنش می تونن داشته باشن ولی نمی تونیم به یه روبات بگیم اگه رنگ روبات x سیاه بود این کارو کن و از این حرفا
-----
یه نکته هم راستی بچه ها شما هم می تونید سوال بذارید ها!(امتیازم داره ;D)

سلام
خوب بقیش؟
ناق3 احساس میکنم
 
پاسخ : برنامه تشخیص رنگ کلاه(2 امتیاز)

خوب کامله ديه! بايد يه الگوريتم پيدا کني که هر روباتي بفهمه کلاهش چه رنگيه!
 
پاسخ : برنامه تشخیص رنگ کلاه

برنامه اینه :
n تا روبات داریم
اول روباتا هرکدوم تعداد کل میشمرن ، برابره با تعداد روباتایی که میبینن n - 1 با خودشون میشه n
حالا اگه تعداد کلاه سفیدی که میبینن بیشتر از n - 1 تقسیم بر ۲ باشه ( کلاه های سفید بیشتر باشه ) دست راستو بالا میبرن
اگه تعداد کلاه سفیدی که میبینن کمتر از n - 1 تقسیم بر ۲ باشه ( کلاه های سفید کمتر باشه ) دست چپو بالا میبرن
اگه تعداد کلاه سفیدی که میبینن برابر n - 1 تقسیم بر ۲ باشه ( کلاه های سفید و سیاه برابر باشه ) هر دو دستو بالا میبرن
اگه فقط کلاه سفید یا فقط سیاه دید هیچکاری نکنه

اگه روبات دید n - 1 روبات دست راستشونو بردن بالا ، میفهمه کلاهش سیاهه
اگه n - 2 تا بود ، کلاه خودشو و یکی دیگه سیاه
.
.
.
اگه n زوج بود و میدید سیاها دست راست میبرن بالا و سفیدا دست چپ میفهمه تعداد برابره و کلاه خودش همرنگ کلاه هایی هست که کمتر میبینه
.
.
.
و یه عالمه حالت دیگه که پیر میشم بنویسم :-"

مثال : فرض میکنیم یه کلاه سیاه باشه و بقیه سفید
حالا مثلا روبات اول نگاه میکنه ، دست راستو بالا میبره
روبات دوم نگاه میکنه ، دست راستو بالا میبره
.
.
.
تا میرسیم به روباتی که کلاه سیاه داره ، هیچکاری نیمکنه ، همه میفهمن که همرنگ بقیه ان ، یعنی همه سفیدا میفهمن سفیدن
اونی ام که سیاهه ، وقتی میبینه همه سفیدن ، ولی دستشونو بالا میبرن ( یعنی یه سیاه هست ) میفهمه سیاه خودشه



× نکته تو پرانتز : الان من ارتباط بینشون ایجاد کردم ، با حرکات دست ! هرچند گفتی اطلاعت مختص خودشونه و به اشتراک نمیذارن :-?
 
پاسخ : برنامه تشخیص رنگ کلاه(2 امتیاز)

به نقل از مهسا.ق :
روبات ها قدرت تکلم ندارن و اطلاعات هر روبات مختص خودشه و با هم به اشتراک نمی شه گذاشت

مختص به خودشه یعنی چی؟من دقیقن نفهمیدم که یه روبات تو این مساله میتونه چیکار کنه!
ینی بقیه روبات ها نمیتونن از اطلاعات بقیه استفاده کنن؟ (مثله همین مثال بالا که اطلاعاتشونو با بالا بردن دستاشون نشوون میدن)
 
پاسخ : برنامه تشخیص رنگ کلاه(2 امتیاز)

راهت درسته و امتيازو مي گيري ديگه. البته راه هي ساده تري هم هست. نه اينا ارتباط برقرار کردن نيست گفتم که تو يه برنامه قراره بنويسي که روباتا نسبت به چيزي که مي بينن يه ريعکشني نشون مي دن. تاپيک قفل مي شه.
بچه ها فعاليتي هم کنيد بد نيستا!
@فاطمه: يني هر کي هر چي مي بينه رو به جايي که واسه همه مشترک باشه نمي فرسته هر کي تو ذهن خودش تجزيه تحليل مي کنه
 
وضعیت
موضوع بسته شده است.
Back
بالا