![]() |
|
|
![]()
|
|
| setq |
|
|||
|
Unregistered |
Суть задачи:
Есть 3 стаканчика и 5 шариков. В каждый стаканчик помещается не больше 4-ёх шариков. Если разложить все шарики по стаканчикам, то очевидно может получится следующее: (1) в одном стаканчике -- 4 шарика, в другом -- 1 (2) в одном ст. -- 3 шарика, в другом -- 2 (3) в одном ст. -- 3 шарика, в других -- по одному и (4) в двух стаканчиках -- по 2 шарика и в одном -- 1 Теперь предположим, я знаю какие я хочу вероятности для всех этих комбинаций. Как мне найти алгоритм или функцию, которая их с этими вероятностями генерирует? Мне подойдёт либо кусок псевдокода, либо ссылка на РТФМ. Спасибо огромное) |
|||
|
||||
| Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 4 Всего: 27 |
Ну например так:
1. p1=0.2 p2=04 p3=0.1 p4=0.3 2. Выбираем случайное число от 0 до 1000. Если выпало от 0 до p1*1000 - комбинация 1 Если выпало от p1*1000 до (p1+p2)*1000 - комбинация 2 Если выпало от (p1+p2)*1000 до (p1+p2+p3)*1000 - комбинация 3 Если выпало от (p1+p2+p3)*1000 до (p1+p2+p3+p4)*1000 - комбинация 4 Добавлено через 1 минуту и 41 секунду Может я чего-то не понял? |
|||
|
||||
| setq |
|
|||
|
Unregistered |
Чуть сложнее, потому что например случаю (1) соответствует 6 комбинаций --> (4,1,0), (4,0,1), (1,4,0), (1,0,4), (0,4,1) и (0,1,4), и так далее, а моя цель: получить генератор именно таких комбинаций. Впрочем, я ведь могу сначала по твоему алгоритму выбрать группу комбинаций, а затем с равной вероятностью генерить конкретные случаи из этой группы. Почему мне это не пришло в голову?)
Возможно потому, что я надеялся получить генератор, который не знает о всех возможных комбинациях. В любом случае спасибо, Bitter. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Предварительно читаем ФАК о проблемах стандартного генератора случайных чисел и его корректировке. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |