PDA

View Full Version : سوال: یک سکه سبک!



Slytherin
سه شنبه 02 اسفند 1390, 16:52 عصر
در یک جمع دوستانه میون بچه های دانشگاه ما همچین سوالی مطرح شده:
فرض کنید 9 تا سکه طلا داریم و یک ترازوی دو کفه,از بین این 9 سکه یکیش سبک تره,حداقل با چند بار وزن کردن می شه فهمید که کدام سکه سبکتر هست؟

پاسخ چهاز گزینه ای هست:
1 حالت
2 حالت
3 حالت
4 حالت
دوستی پاسخ داد:

اول سه تا سکه این طرف سه تا سکه اون طرف
هر طرف که سبک تر بود سکه تو اون کفه است
بار دوم از اون سه سکه یکی این طرف یکی اون طرف و یکی بیرون. هر کدوم سبک تر بود اون سکه سبکتره. اگه مساوی شد سکه ای که بیرون گزاشتیم
اگه بار اول مساوی شد سه سکه ای که بیرونه رو یکی این طرف یکی اون طرف یکی بیرون میزاریم
هر کدوم سبک تر شد همونه. اگه مساوی شد سکه بیرونیه.
من پاسخ دادم:

برای حل این مسئله باید از روش جستجو خطی استفاده کنیم.
برای درک بهتر مسئله ما اون رو تبدیل به یک مسئله برنامه نویسی می کنیم.
فرض کنید که ما می خواهیم هر بار یک سکه در هر کفه ترازو قرار بدیم. اگر دو طرف با هم برابر بودند که حلقه ما ادامه پیدا می کنه و اگر یک طرف پایین تر بیاد اون جواب ماست و برنامه به پایان میرسه و جستجو با موفقیت انجام میشه. پس در همچین حالتی ما یک آرایه به طول 72 خونه (طبق علم آمار ما باید 9 ضرب در 8 بار (یعنی 72 بار) عمل وزن کردن رو انجام بدیم.) خواهیم داشت که باید جستجو خطی طبق اون انجام بشه. (در واقع در بدترین حالت 72 بار!) ولی در بهترین حالت طبق گفته های بالا چه اتفاقی می افته؟ در بهترین حالت با اولین وزن کردن، ما به جواب خواهیم رسید! (پس از گذروندن اولین حلقه!)
شاید شما بگید که همچین روش جستجویی به هیچ شکل منطقی نیست، ولی مهم اینه که با این روش شانس پیدا کردن جواب به حداقل، یعنی 1 بار می رسد! :)
دوست دیگری گفت:

شما برداشتت کلا از کلمه ی حده اقل که در این سوال مطرح شده اشتباهه :D
خلاصه اینکه هر کسی یک نظری داره ولی من فکر می کنم که پاسخم درست هست!
حالا می خواستم از شما این سوال رو بپرسم. نظر شماها چیه؟!!

shahmohammadi
سه شنبه 02 اسفند 1390, 19:42 عصر
با سلام.
جواب اول درسته. چون به طور قطعي مي گيم كه با دو بار وزن كردن مي تونه به جواب برسه.
اما روش شما در بهترين حالت ( كه احتمالش خيلي كمه ) در 1بار وزن كردن به جواب مي رسه.

Slytherin
سه شنبه 02 اسفند 1390, 21:22 عصر
با سلام.
جواب اول درسته. چون به طور قطعي مي گيم كه با دو بار وزن كردن مي تونه به جواب برسه.
اما روش شما در بهترين حالت ( كه احتمالش خيلي كمه ) در 1بار وزن كردن به جواب مي رسه.

پس در مجموع با توجه به سوال کدوم پاسخ درست هست؟ کلمه حداقل در سوال به چه معناست؟

shahmohammadi
سه شنبه 02 اسفند 1390, 23:08 عصر
کلمه حداقل در سوال به چه معناست؟ خوب اين هم يه حرفيه، شايد تو خود سوال موقع طراحيش بايد اين هم در نظر گرفته مي شد.
توي سوالات اين چنيني هدف ارئه يك روش بهينه هست. اگه منظور اين باشه روش اول درسته.


ويرايش: (اضافه شد)
اين هم يه برنامه (http://barnamenevis.org/showthread.php?150444-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-C-%D9%88-C&p=1443593&viewfull=1#post1443593) براي شناسايي سكه تقلبي از بين 8 سكه كه يكي از دوستان زحمتشو كشيدند.

maktoom
سه شنبه 02 اسفند 1390, 23:20 عصر
سلام
یک روش جستجو به نام بوگو(bogo) وجود داره که میگه جستجو با درجه 1 امکانپذیره اگه هربار با حاصل نشدن مقصود جهان(محیط مسئله) رو برهم بریزیم و دوباره آغاز کنیم.
اینجا (https://fa.wikipedia.org/wiki/%D9%85%D8%B1%D8%AA%D8%A8%E2%80%8C%D8%B3%D8%A7%D8%B 2%DB%8C_%D8%A8%D9%88%DA%AF%D9%88)میتونید درموردش بخونید.
البته برای یه همچین سوالی مقصود طراح بنظرم چیزی که مشخصه، مسلما "حداقل" یعنی با یک روش نظام مند "حداقل" چیه. والا یک بودن جواب گرهی از مسائل مطرح روز که به حل این سوال برای پیشرفتشون چشم دوختن کمکی نمی کنه.