LINUX.ORG.RU

У кого есть Sage, какое у кого время работы OrderedSetPartitions().list()?

 ordered set partitions,


0

1

Пишу свой гогнокод по реализации корявых OSP (алгоритм - свой, комбинировал из того, что знал), у меня работает достаточно медленно. Из нагугленного реализация подобного есть только у Sage math: http://www.sagemath.org/doc/reference/combinat/sage/combinat/set_partition_or.... Попробуйте запустить с числами порядка 8-12 (ворнинг: ростет очень быстро: http://oeis.org/A000670).

Еще было бы хорошо услышать мнение по поводу придуманного алгоритма - сначала строю разбиения массива методом restricted growth length, потом заполняю соответственно полученным строкам множество своими числами, потом строю все перестановки по полученным подмножествам на каждое множество. Получается так же, как и в примере, но не так упорядочено (пока пофиг). Суть в том, каким образом можно ускорить алгоритм, чтобы добиться приемлемой скорости, если это вообще реально. (В исходниках Sage берутся все разбиения мощности множества на части от 1 до |S|, и для каждого такого разбиения потом просто перестанавливаются элементы).

Перемещено tazhate из talks

★★★★★

На 8 убивается oom-killer'ом.

cchr
()
Ответ на: комментарий от Harald

Ты вообще ОП читал? Уйди.

true_admin, ты питонщег, попробуй ты, пожалуйста. И перенеси в девелопмент, вдруг там анонимус подскажет?

cdshines ★★★★★
() автор топика
Ответ на: комментарий от true_admin

Основной целью было перенести, я не знал, что ты больше не торт. ПРо попробовать дописал наудачу - а вдруг у тебя есть sage?

cdshines ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.