2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Эффективный алгоритм получения перестановок с повторениями
Сообщение24.04.2020, 00:34 


26/09/17
326
Известно, что количество перестановок с повторениями равно частному от деления факториала количества элементов на произведение факториалов коэффициентов повторения элементов. Также известны несколько эффективных алгоритмов получения перестановок с повторениями - они генерируют матрицу, каждая строка которой сразу является уникальной перестановкой (удается избежать построения, а значит и последующего отсева тождественных строк).
Однако, матрица перестановок с повторениями содержит множество строк, которые совпадают друг с другом при циклическом сдвиге - подобно тому, как совпадает с самим собой ожерелье при вращении. Например, для множества элементов [2 2 2 2 3] матрица уникальных перестановок содержит 5 строк и все они отличаются лишь циклическим сдвигом. Если определить, что две перестановки, которые отличаются лишь циклическим сдвигом, являются тождественными, то естественным образом возникают следующие вопросы, которые и предлагается обсудить:
1. Каково количество уникальных перестановок с повторениями, если две перестановки отличающиеся лишь циклическим сдвигом рассматриваются как тождественные?
2. Какова может быть принципиальная схема эффективного алгоритма генерации множества таких уникальных перестановок с повторениями?

 Профиль  
                  
 
 Re: Эффективный алгоритм получения перестановок с повторениями
Сообщение24.04.2020, 04:36 
Заслуженный участник


31/12/05
1480
http://www.cis.uoguelph.ca/~sawada/papers/alph.pdf

 Профиль  
                  
 
 Re: Эффективный алгоритм получения перестановок с повторениями
Сообщение24.04.2020, 10:30 


26/09/17
326
Это просто великолепно! Нет слов. Я упустил из виду, что вопрос можно свести именно к эффективному алгоритму генерации бинарных ожерелий. Формула для вычисления их количества также известна. Огромное спасибо!

 Профиль  
                  
 
 Re: Эффективный алгоритм получения перестановок с повторениями
Сообщение24.04.2020, 14:41 


26/09/17
326
tolstopuz в сообщении #1457548 писал(а):
http://www.cis.uoguelph.ca/~sawada/papers/alph.pdf

Досадно, что ссылка на с-код в конце статьи нерабочая. Придется разбираться.

 Профиль  
                  
 
 Re: Эффективный алгоритм получения перестановок с повторениями
Сообщение24.04.2020, 15:47 
Заслуженный участник


31/12/05
1480
Вот эта вроде работает.

http://www.cis.uoguelph.ca/~sawada/programs.html

 Профиль  
                  
 
 Re: Эффективный алгоритм получения перестановок с повторениями
Сообщение24.04.2020, 20:26 


26/09/17
326
Да, работает! Спасибо огромное!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group