Методы получения случайных комбинаторных объектов — различия между версиями
Cczy (обсуждение | вклад) (Новая страница: «== Описание алгоритма == {{Задача |definition = Необходимо сгенерировать случайный комбинаторны…») |
Cczy (обсуждение | вклад) (→Описание алгоритма) |
||
Строка 1: | Строка 1: | ||
== Описание алгоритма == | == Описание алгоритма == | ||
{{Задача | {{Задача | ||
− | |definition = Необходимо сгенерировать случайный комбинаторный объект размера <tex> n </tex> | + | |definition = Необходимо сгенерировать случайный комбинаторный объект размера <tex> n </tex> с равномерным распределением вероятности, если в наличии есть функция для генерации случайного числа в заданном интервале. |
}} | }} | ||
Пусть <tex> B = \{b_1, b_2 ..., b_k\} </tex> - множество различных элементов, которые могут находиться в данном комбинаторном объекте. | Пусть <tex> B = \{b_1, b_2 ..., b_k\} </tex> - множество различных элементов, которые могут находиться в данном комбинаторном объекте. | ||
− | Будем получать элементы по порядку: сначала определим, какой элемент будет стоять на первом месте, потом на втором и так далее. Считаем, что мы построили префикс длинны <tex>i</tex>: <tex>\{a_1, a_2, \ldots, a_i\}</tex>. Будем выбирать элемент | + | |
+ | Будем получать элементы по порядку: сначала определим, какой элемент будет стоять на первом месте, потом на втором и так далее. Считаем, что мы построили префикс длинны <tex>i</tex>: <tex>\{a_1, a_2, \ldots, a_i\}</tex>. Будем выбирать элемент <tex>a_{i+1}</tex> из множества всех возможных так, чтобы вероятность выбора элемнта <tex>b_j</tex>, была пропорциональна числу комбинторных обьектов размера <tex> n </tex> с префиксом <tex>\{a_1, a_2, \ldots, a_i, b_j\}</tex>. Для этого разобъем отрезок чисел <tex>[1, s\]\subset\mathbb</tex> |
Версия 21:21, 7 декабря 2018
Описание алгоритма
Задача: |
Необходимо сгенерировать случайный комбинаторный объект размера | с равномерным распределением вероятности, если в наличии есть функция для генерации случайного числа в заданном интервале.
Пусть
- множество различных элементов, которые могут находиться в данном комбинаторном объекте.Будем получать элементы по порядку: сначала определим, какой элемент будет стоять на первом месте, потом на втором и так далее. Считаем, что мы построили префикс длинны
: . Будем выбирать элемент из множества всех возможных так, чтобы вероятность выбора элемнта , была пропорциональна числу комбинторных обьектов размера с префиксом . Для этого разобъем отрезок чисел