Некоторый решатель кубов с использованием Python/SageMathPython

Программы на Python
Ответить
Anonymous
 Некоторый решатель кубов с использованием Python/SageMath

Сообщение Anonymous »

Я новичок в SageMath/Python и пытаюсь использовать Tiling Solver.
Мне не удалось получить 240 ожидаемых решений Soma Cube (см. страницу Википедии).
Вот что я сделал на данный момент:

Код: Выделить всё

from sage.combinat.tiling import TilingSolver, Polyomino
from sage.all_cmdline import *   # import sage library

P1 = Polyomino([(0,0,0), (0,0,1), (0,1,0)], color='red')
P2 = Polyomino([(0,0,0), (0,0,1), (0,1,0), (0,2,0)], color='red')
P3 = Polyomino([(0,0,0), (0,1,1), (0,1,0), (0,2,0)], color='red')
P4 = Polyomino([(0,0,1), (0,1,1), (0,1,0), (0,2,0)], color='red')
P5 = Polyomino([(0,0,0), (0,0,1), (1,0,1), (1,1,1)], color='red')
P6 = Polyomino([(0,0,0), (0,0,1), (1,0,1), (1,1,1)], color='red')
P7 = Polyomino([(0,0,0), (1,0,1), (1,0,0), (1,1,0)], color='red')

# G = P1.show3d()
# G.show(aspect_ratio=1, viewer='jmol')

T = TilingSolver([P1, P2, P3, P4, P5, P6, P7], box=(3,3,3))
T.number_of_solutions()

T.number_of_solutions() #returns 15 504 instead of 240 ??
Возможно, какие-то симметрии куба учтены, но 15 504/240 = 64,6....
У вас есть идеи?< /п>

Подробнее здесь: https://stackoverflow.com/questions/792 ... n-sagemath
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»