![]() |
|
![]() ![]() ![]() |
|
Kirill_2004_dcs |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 10.4.2004 Репутация: нет Всего: нет |
Добрый день!
Я плохо помню курс теории вероятностей, но подскажите, пожалуйста, где рыть, чтоб решить такую задачу. Есть несколько групп элементов. У каждой группы - свой вес. В каждой группе - сколько-нибудь элементов. Нужно математически составить ф-ю, которая будет получать индекс конкретного элемента, но в итоге, чтобы элементы внутри группы появлялись с равной вероятностью, но элементы групп с меньшем весом появлялись реже элементов групп с большим. Спасибо! |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
Несовсем понятно, что здесь аргумегнт, и что - фунция.
Допустим есть группы первая (вес 1) А Б В Г вторая (вес 2) Д Ж З третья (вес 3) И К Л Функция получает индекс, то есть надо уметь считать f(А), f(Б) и т.д. Но тогда причём здесь "элементы групп с меньшем весом появлялись реже элементов групп с большим". |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Если у каждой группы свой вес, а веса элементов группы одинаковы, при этом количество групп и элементов в каждой из нихъ известны, можно объединить все это барахло в одну группу, где (вес элемента) = (вес группы, в которой он был) / (количество элементов в его группе), после чего выбирать из этой кучи на основе равномерного распределения.
Или сперва выбирать группу на основе весов групп, а потом равномерно выгребать из нее элемент. Впрочем, первый способ, конечно, программно реализуется "наоборот", т.е. по второй схеме, но делением случайного числа на две части. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Kirill_2004_dcs |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 10.4.2004 Репутация: нет Всего: нет |
Функция ничего не получает. Она выбирает.
2Akina: Я приблизительно понимаю, что так нужно сделать, но можно или примерчик, или где рыть... Понимаю, что наглею и ленюсь, но ооочень буду признателен. Спасибо. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |