Фон
Предположим, у меня есть две одинаковые партии из шариков. Каждый мрамор может быть одного из цветов c , где c≤n . Пусть n_i обозначает количество шариков цвета i в каждой партии.
Пусть - мультимножество представляющий один пакет. В частотном представлении , также может быть записана в виде .
Число различных перестановок задается мультиномиальная :
Вопрос
Существует ли эффективный алгоритм для генерации двух диффузных, ненормальных перестановок и из в случайном порядке? (Распределение должно быть равномерным.)
Перестановка является диффузным , если для каждого отдельного элемента из , экземпляры разнесены примерно равномерно в .
Например, предположим, что .
- не является диффузным
- является диффузным
Более строго:
- Если , существует только один экземпляр для «пробела» в , поэтому пусть .i P Δ ( i ) = 0
- В противном случае, пусть будет расстояние между экземпляра и экземпляра из в . Вычтите из него ожидаемое расстояние между экземплярами , определив следующее:
Если равномерно распределено в , то должно быть равно нулю или очень близко к нулю, если .j j + 1 i P i δ ( i , j ) = d ( i , j ) - n i P Δ ( i ) n i ∤ n
Теперь определим статистики , чтобы определить , сколько каждый равномерно разнесены в . Мы называем диффузным, если близко к нулю или примерно . (Можно выбрать пороговое значение специфичное для чтобы диффузным, если )i P P s ( P ) s ( P ) ≪ n 2 k ≪ 1 S P s ( P ) < k n 2
Это ограничение напоминает более строгую задачу планирования в реальном времени, называемую проблемой вращения, с мультимножеством (так что ) и плотностью . Цель состоит в том, чтобы запланировать циклическую бесконечную последовательность , чтобы любая подпоследовательность длины содержала, по меньшей мере, один экземпляр . Другими словами, выполнимое расписание требует все ; если плотно ( ), то и . Проблема с вертушкой, кажется, является NP-полной.a i = n / n i ρ = ∑ c i = 1 n i / n = 1 P a i i d ( i , j ) ≤ a i A ρ = 1 d ( i , j ) = a я s ( P ) = 0
Две перестановок и являются ненормальными , если представляет собой психоз из ; то есть для каждого индекса .Q
Например, предположим, что .
- и не являются ненормальными
- и являются ненормальными
Исследовательский анализ
Меня интересует семейство мультимножеств с и для . В частности, пусть .
Вероятность того, что два случайные перестановки и из являются ненормальными составляет около 3%.
Это можно рассчитать следующим образом, где - это й полином Лагерра: Смотрите здесь для объяснения.
Вероятность того, что случайная перестановка из является диффузной, составляет около 0,01%, устанавливая произвольный порог примерно на .
Ниже приведен график эмпирической вероятности 100 000 выборок где - случайная перестановка .
При средних размерах выборки .
Вероятность того, что две случайные перестановки действительны (как диффузная, так и ненормальная), составляет около .
Неэффективные алгоритмы
Обычный «быстрый» алгоритм для генерации случайного отклонения набора основан на отклонении:
сделать P ← случайная_перестановка ( D ) до is_derangement ( D , P ) возврат P
что занимает примерно итераций, поскольку существует примерно возможных неисправностей. Однако основанный на отбраковке рандомизированный алгоритм не был бы эффективен для этой задачи, так как он принимал бы порядок итераций.
В алгоритме, используемом Sage , случайное нарушение мультимножества «формируется путем случайного выбора элемента из списка всех возможных нарушений». Тем не менее, это тоже неэффективно, поскольку существует допустимых перестановок для перечисления, и, кроме того, для этого в любом случае потребуется алгоритм, просто выполняющий это.
Дальнейшие вопросы
В чем сложность этой проблемы? Может ли оно быть сведено к какой-либо знакомой парадигме, такой как сетевой поток, раскраска графа или линейное программирование?