Не знаю получиться ли нормально объяснить что я хочу, но попытаюсь :)
Есть массив из N элементов. Каждый элемент - некоторое число от 0 до M.
Есть Q итераций. На каждой итерации есть ВЕРОЯТНОСТЬ удаления 1 элемента из массива.
Так вот, если генерировать случайное число от 0 до N-1 и удалять элемент с соответствующим номером, то, как я понимаю, теоретически будет равномерное распределение вероятностей. На каждой итерации вероятность удаления элемента будет равна для каждого из них.
Вопрос: как сделать, чтобы вероятность удаления элемента на каждой итерации была прямо пропорциональна величине элемента.
Т.е. если все элементы в массиве равны, то будет то же равномерное распределение.
Иначе, допустим, в массиве N-1 нулей, и 1 элемент равен M. Тогда на след. итерации удалиться именно он.
Если этот элемент равен M-1, другой 1, остальные нули, то опять же скорее всего удалиться элемент величиной M-1, НО уже есть вероятность удаления элемента величиной 1.
В общем чем больше элемент, тем больше шансов у него быть удаленным на след. итерации, и наоборот.
Пока что пришел в голову только такой вариант решения: генерируем случайное число k от 0 до N-1, и случайное число q от 0 до M. Если k-й элемент массива меньше или равен q, то удаляем его.
Получается, что 0 будет удален всегда - т.к. он будет меньше или равен любого сгенерированного числа.
Если же элемент равен M, то он будет удален лишь в том случае, если сгенерированное число так же будет равно M (а вероятность этого довольно мала).
НО данный вариант не работает, если на каждой итерации будут так же добавляться некоторые элементы в массив неслучайным(!) образом. Ну и к тому же в данном случае 100% будет удаляться 1 элемент на каждой итерации, даже если остались только очень маленькие элементы.
В общем надеюсь более-менее понятно объяснил суть.
Ответ на:
комментарий
от psv1967
Ответ на:
комментарий
от kovrik
Ответ на:
комментарий
от psv1967
Ответ на:
комментарий
от e3d08dff
Ответ на:
комментарий
от lodin
Ответ на:
комментарий
от lodin
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Удаление элемента из массива (2002)
- Форум Python удаление элементов из массива (2016)
- Форум Поиск и удаление элемента массива (2018)
- Форум Удалять или нет? (2017)
- Форум perl. удаление повторяющихся элементов в массиве (2005)
- Форум Заменить элементы массива (2018)
- Форум уникальные элементы в массиве массивов (2015)
- Форум Пробелы в элементах массива (2020)
- Форум Как переместить элементы массива? (2015)
- Форум Удалить из массива элементы (2022)