|
|
maximkarimov |
Эффективный алгоритм получения перестановок с повторениями 24.04.2020, 00:34 |
|
26/09/17 341
|
Последний раз редактировалось maximkarimov 24.04.2020, 00:38, всего редактировалось 5 раз(а).
Известно, что количество перестановок с повторениями равно частному от деления факториала количества элементов на произведение факториалов коэффициентов повторения элементов. Также известны несколько эффективных алгоритмов получения перестановок с повторениями - они генерируют матрицу, каждая строка которой сразу является уникальной перестановкой (удается избежать построения, а значит и последующего отсева тождественных строк). Однако, матрица перестановок с повторениями содержит множество строк, которые совпадают друг с другом при циклическом сдвиге - подобно тому, как совпадает с самим собой ожерелье при вращении. Например, для множества элементов [2 2 2 2 3] матрица уникальных перестановок содержит 5 строк и все они отличаются лишь циклическим сдвигом. Если определить, что две перестановки, которые отличаются лишь циклическим сдвигом, являются тождественными, то естественным образом возникают следующие вопросы, которые и предлагается обсудить: 1. Каково количество уникальных перестановок с повторениями, если две перестановки отличающиеся лишь циклическим сдвигом рассматриваются как тождественные? 2. Какова может быть принципиальная схема эффективного алгоритма генерации множества таких уникальных перестановок с повторениями?
|
|
|
|
|
tolstopuz |
Re: Эффективный алгоритм получения перестановок с повторениями 24.04.2020, 04:36 |
|
Заслуженный участник |
|
31/12/05 1517
|
|
|
|
|
maximkarimov |
Re: Эффективный алгоритм получения перестановок с повторениями 24.04.2020, 10:30 |
|
26/09/17 341
|
Последний раз редактировалось maximkarimov 24.04.2020, 10:33, всего редактировалось 1 раз.
Это просто великолепно! Нет слов. Я упустил из виду, что вопрос можно свести именно к эффективному алгоритму генерации бинарных ожерелий. Формула для вычисления их количества также известна. Огромное спасибо!
|
|
|
|
|
maximkarimov |
Re: Эффективный алгоритм получения перестановок с повторениями 24.04.2020, 14:41 |
|
26/09/17 341
|
Последний раз редактировалось maximkarimov 24.04.2020, 14:41, всего редактировалось 1 раз.
http://www.cis.uoguelph.ca/~sawada/papers/alph.pdf Досадно, что ссылка на с-код в конце статьи нерабочая. Придется разбираться.
|
|
|
|
|
tolstopuz |
Re: Эффективный алгоритм получения перестановок с повторениями 24.04.2020, 15:47 |
|
Заслуженный участник |
|
31/12/05 1517
|
|
|
|
|
maximkarimov |
Re: Эффективный алгоритм получения перестановок с повторениями 24.04.2020, 20:26 |
|
26/09/17 341
|
Да, работает! Спасибо огромное!
|
|
|
|
|
|
Страница 1 из 1
|
[ Сообщений: 6 ] |
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы