PDA

View Full Version : گفتگو: انتخاب تصادفی از بین عناصری از آرایه با احتمال نابرابر



shahmohammadi
چهارشنبه 16 آذر 1390, 23:56 عصر
سلام. دوستان.
یه برنامه دارم می نویسم که تو یه قسمتیش به عناصر آرایه ای احتمالات مختلفی برای انتخاب داده می شه.
مثلا عنصر اول اگه احتمالش بشه 0.52124567 و عنصر پنجم 0.11245 اونوقت احتمال اینکه اولی انتخاب شه بیشتره.
این عل انتخاب هم باید به صورت تصادفی اانجام شه.
یه الگوریتمی براش دارم. فقط می خام ببینم با چه روشهایی می شه اینو نوشت.
ممنون.

مسعود اقدسی فام
پنج شنبه 17 آذر 1390, 00:33 صبح
سلام. دوستان.
یه برنامه دارم می نویسم که تو یه قسمتیش به عناصر آرایه ای احتمالات مختلفی برای انتخاب داده می شه.
مثلا عنصر اول اگه احتمالش بشه 0.52124567 و عنصر پنجم 0.11245 اونوقت احتمال اینکه اولی انتخاب شه بیشتره.
این عل انتخاب هم باید به صورت تصادفی اانجام شه.
یه الگوریتمی براش دارم. فقط می خام ببینم با چه روشهایی می شه اینو نوشت.
ممنون.

به طور حتم مجموع این احتمالا باید یک باشه. یا احتمال داره هیچ کدوم انتخاب نشه؟

در هر حال یه روش، استفاده از چرخه رولته. مثلا فرض کنیم سه عنصر داری به ترتیب با احتمال 0.2 و 0.5 و 0.3. یه عدد تصادفی در بازه صفر تا یک تولید می کنی. اگه کمتر از 0.2 باشه، اولی انتخاب می‌شه. اگه بین 0.2 و 0.7 باشه، دومی انتخاب می‌شه، و اگه بیشتر از 0.7 باشه سومی انتخاب می‌شه.

shahmohammadi
پنج شنبه 17 آذر 1390, 18:13 عصر
ممنون. متوجه شدم.
تو مساله من مجموع احتمال ها یک نیست. و باید یکی از اینها انتخاب شه.
حالا امکانش هست که با این الگوریتم، اصلا عنصری انتخاب نشه؟

مسعود اقدسی فام
جمعه 18 آذر 1390, 10:22 صبح
ممنون. متوجه شدم.
تو مساله من مجموع احتمال ها یک نیست. و باید یکی از اینها انتخاب شه.
حالا امکانش هست که با این الگوریتم، اصلا عنصری انتخاب نشه؟
اگه مجموع احتمال‌ها یک باشه، غیرممکنه هیچ عنصری انتخاب نشه. چون به هر حال عدد تصادفی تولید شده در بازه صفر و یک هست و ما هم این عناصر رو به نسبت احتمالشون بین یک و صفر به صورت پیوسته کنار هم قرار دادیم. پس حتما یکی از اونها انتخاب می‌شه. فقط اینکه هر کس احتمالش بیشتر باشه، فضای بیشتری از بازه صفر و یک رو در اختیار داره و در نتیجه احتمال اینکه انتخاب بشه بیشتره. دقیقا مثل این می‌مونه که صفحه دارت رو به نسبت احتمال به چند قاچ تقسیم کنید. هر سطحی که مساحتش بیشتر باشه، احتمالش بیشتره دارت به اونجا برخورد کنه.

اگه مثلا مجموع همه احتمال‌ها 0.9 شد، این عناصر بازه صفر تا 0.9 رو پوشش می‌دن. می‌تونید یه عنصر فرضی با احتمال 0.1 هم آخر اضافه کنید. اگه عدد تصادفی بزرگتر از 0.9 شد یعنی هیچ‌کدوم از عناصر اصلی انتخاب نشدن.