Автор Тема: Анализ плоских головоломок с кругами и шариками с помощью TWSearch  (Прочитано 730 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
хочу рассказать об очень крутом проекте TWSearch (Twizzle Search — Twisty puzzle search library) автор Tomas Rokicki.
эта программа ищет алгоритмы для комбинаторных вращательных головоломок. и самое главное ей поддаются плоские головоломки с кругами, а также аналоги венгерских колец.

страница проекта на гит: https://github.com/cubing/twsearch
скомпилированные файлы под линукс и виндовс: https://sourceforge.net/projects/geraniumspot/files/TWSearch/
по какой-то причине автор не распространяет исполняемые файлы.
форк проекта откуда взял скомпилированные файлы
https://github.com/b10101101/twsearch

на странице проекта есть достаточно подробная документация, а в папке Samples много примеров файлов с описанием структуры головоломок. но разобраться сходу достаточно сложно. к тому же утилита консольная, надо запускать с командной строки, и правильно подготовить исследуемые вами файлы головоломок.

на данный момент здесь есть arecibo, eliac, vertushka.
https://github.com/cubing/twsearch/tree/main/samples/main

а на зарубежном форуме можно почитать статьи как с помощью twsearch решили две сложные головоломки :
Arecibo: https://twistypuzzles.com/forum/viewtopic.php?t=40276
Fomalhaut: https://twistypuzzles.com/forum/viewtopic.php?t=40379


--------------------------------------------------------------------------------------------------------


приведу пример анализа для одной несложной головоломки: возьму за основу Double Five от Володи Ярославского
значимыми для решения являются только большие треугольники. их всего 10 штук. но есть сложность - каждый надо поставить на свое место,  а также надо учитывать ориентацию

 


чтобы запустить решатель, вам надо задать в файле описание вашей головоломки.
суть описания в том, чтобы задать все типы частей, указать их количество и возможную ориентацию.
а также задать какие части перемещаются и как ориентируются при разных поворотах.
утилита вычисляет все возможные орбиты и может найти много полезного для решения.
1. число бога головоломки, 2. набор формул для простых комутаторов (2 и 3 циклы, 2*2 перестановки),
3. если вы зададите ей определенное состояние, то она найдет для него оптимальное решение,
4. а если зададите ей вашу формулу, то она ее оптимизирует и найдет кратчайший вариант для этой перестановки.
умея получать от программы этот базовый набор, вы сможете решить почти любую головоломку. давайте все это рассмотрим:

для начала я объясню как делать файл с описанием головоломки без учета ориентации деталей.
для большинства головоломок с кругами ориентация частей не нужна.
это нужно для 3д головоломок, а также для головоломок с маркерами, как здесь.

используем файл для поиска простых формул, не учитывающих ориентацию частей. формулы для разворота частей будем искать потом.
сделаем простой текстовый файл с описание структуры: doublefive.tws
Name doublefive
Set Triangles 10 1

Solved
Triangles
1 2 3 4 5 6 7 8 9 10
End

Move L
Triangles
3 2 6 1 5 9 4 8 7 10
End

Move R
Triangles
1 4 3 7 2 6 10 5 9 8
End

объясню по порядку его дерективы
Name doublefive : задаем имя головоломки
Set Triangles 10 1 : задаем вид частей: название, количество и количество возможных ориентаций (0 - не учитывается, 1 и более - количество ориентаций). этих секций может быть несколько - для каждого вида частей.
Set Triangles 10 3 : если мы делаем описание головоломки с ориентацией частей, тогда вместо 1 надо будет указать 3

многострочные секции:
Solved / End : тут содержится поблочно описание частей в решенном состоянии
далее идет блок с описанием состояний каждого вида частей. в блоке будет 2 или 3 строки.
Triangles / 1 2 3 4 5 6 7 8 9 10 - имя части (указано выше), а также номера частей начиная с 1 (нумерация в каждом блоке начинается с 1). обратите внимание: я указываю для каждой части уникальный номер - это нужно для маркированных головоломок.
если же головоломка цветная, без маркеров - тогда описать ее можно более просто.
Triangles / 1 1 1 1 1 6 6 6 6 6 - те мы говорим, что на заданных местах будут блоки из одинаковых частей, сгруппированные по цвету. те решение будет проще.
но если у нас есть маркеры, которые имеют ориентацию (например цифры), то у нас будет не только 10 уникальных частей, но еще надо задать их ориентацию.
Triangles / 1 2 3 4 5 6 7 8 9 10 / 0 0 0 0 0 0 0 0 0 0 - в таком случае в блок надо добавить третью строку, где каждому номеру части стоит соответствующий индекс ориентации. если у нас количество ориентаций выше указано 3, то индексы будут от 0 до 2.




следующие секции:
Move / End - эта секция будет задавать вращения групп частей - их может быть несколько
Move Group - задается имя группы. оно потом будет использовано в найденных формулах
Triangles / 3 2 6 1 5 9 4 8 7 10 - задаем положение всех частей после заданного поворота.
Triangles / 3 2 6 1 5 9 4 8 7 10 / 1 0 1 1 0 1 1 0 1 0 - если у нас есть ориентации частей, то добавим строку с индексом ориентации.
вот тут указаны номера частей после поворота левого круга. стоит отметить, что не нужно задавать настройки для поворотов против часовой стрелки или двойных поворотов.




вот пример файла, с настроенными ориентациями частей
Name doublefive
Set Triangles 10 3

Solved
Triangles
1 2 3 4 5 6 7 8 9 10
0 0 0 0 0 0 0 0 0 0
End

Move L
Triangles
3 2 6 1 5 9 4 8 7 10
1 0 1 1 0 1 1 0 1 0
End                   

Move R
Triangles
1 4 3 7 2 6 10 5 9 8
0 1 0 1 1 0 1  1 0 1
End


----------------------------------------------------------------------------------------------------------------


пришло время запустить нашу утилиту и посмотреть что она может.

учтите: у программы много параметров (все они описаны на главной странице в гит). многие параметры зависят от регистра! те -А и -а это разные команды. не перепутайте!

для начала запустим ее для поиска число бога у данной головоломки. к сожалению здесь не все так просто, это очень ресурсоемкая процедура. например для версии без ориентации частей - она нашла число бога 12. а вот с версией с ориентацией она пока не справилась, нужно очень много памяти! возможно попозже я смогу найти компьютер помощнее. (спойлер: смотрите следующее собщение)

нужно запустить нашу программу с такими параметрами:
twsearch.exe -g -M 10000 -a 1 doublefive.tws - параметр -g это запуск поиска числа бога, -M тут мы указываем сколько памяти выделяется под процесс (по умолчанию 8гб), -a сколько вывести найденных вариантов.

программа выдает вот такой результат. тут видимо количество состояний после каждого поворота. мы видим что она остановилась на 12 поворотах - это и есть число бога. также она нашла 2088 максимально отдаленных от решенного состояний.
Dist 0 cnt 1 tot 1 in 0.016
Dist 1 cnt 10 tot 11 in 0
Dist 2 cnt 50 tot 61 in 0
Dist 3 cnt 250 tot 311 in 0
Dist 4 cnt 1234 tot 1545 in 0
Dist 5 cnt 5634 tot 7179 in 0
Dist 6 cnt 24768 tot 31947 in 0.015
Dist 7 cnt 102066 tot 134013 in 0.016
Dist 8 cnt 374966 tot 508979 in 0.094
Dist 9 cnt 1095994 tot 1604973 in 0.328
Dist 10 cnt 1631368 tot 3236341 in 0.937
Dist 11 cnt 390371 tot 3626712 in 0.344
Dist 12 cnt 2088 tot 3628800 in 0.016
Showing 1 antipodes.
Scramble noname
   Triangles
   3 2 1 4 5 6 7 8 9 10
End

но самое здесь интересное это найденные максимально далекие состояния
Scramble noname
   Triangles
   3 2 1 4 5 6 7 8 9 10
End

к тому же они сразу указаны в формате который понимает программа. если вы сохраните эти 4 строчки в отдельный файл, например "max.scr" и запустите:
twsearch.exe doublefive.tws max.scr - то программа найдет нашу первую формулу, которая ведет к заданному состоянию:
L R2 L' R2 L3 R2' L' R2 L R L3 R2
Found 1 solution max depth 12 probes 60665 nodes 60457 in 0.032 rate 1.89578
одна из перестановок 2-х частей



---------------------------------------------------------------------------------------------------------------

а теперь давайте перейдем к самому интересному и важному - к функции автоматического поиска различных формул
twsearch.exe -A doublefive.tws - просто запустите утилиту с такими параметрами. и наслаждайтесь тем что она находит для вас

Triangles/3p 16 (L R L2 R')4 (1:3 3:1 4:1) 12
Triangles/2p 60 (L R L3 R2')15 (2:1 3:1 5:1) 30
Triangles/2p 60 (L R L2' R3)15 (2:1 3:1 5:1) 30
Triangles/3p 16 (L R L' R2)4 (1:3 3:1 4:1) 12
Triangles/4p 4 (L R L' R')1 (1:6 2:2) 2
Triangles/2p 60 (L R2 L3 R3)15 (2:1 3:1 5:1) 30
....
Triangles/3p 8 (L R2 L' R2 L R2 L' R2)
Triangles/3p 8 (L R2' L' R2' L R2' L' R2')
Triangles/3p 8 (L2 R L2 R' L2 R L2 R')
...
Triangles/2p 10 (L R L2 R' L2' R2 L3 R' L R')
Triangles/2p 10 (L R L2' R L3 R2' L2 R L3 R')
Triangles/2p 10 (L R L2' R2 L2 R3 L2' R2' L R')

вот примеры работы некоторых формул:
1) трицикл - (L2 R L2 R' L2 R L2 R');   2) двацикл - (L R L2' R2 L2 R3 L2' R2' L R')
 

как видим утилита вначале выдает очень длинные не оптимальные формулы. но потом постепенно начинает выдавать оптимальные алгоритмы.
стоит учитывать, что данные формулы могут менять ориентацию остальных частей, тк в файле не заданы ориентации.
если вы хотите сразу чистые формулы. то запускайте для анализа сразу второй файл. тогда будут затрагиваться только указанные части. но формулы будут немного длинее.


давайте посмотрим как можно оптимизировать наши формулы.
вот например я нашел вручную формулу, которая делает чистый трицикл, не нарушая ориентации остальных частей. но она достаточно длинная.
twsearch.exe doublefive.tws tri.scr - создаем файл "tri.scr" и запускаем анализатор, указав описание головоломки с ориентациями
ScrambleAlg TRI
   L  R L2 R3 L' R L R' R3 L2' R'  L'  R L2 R3 R L' R' L R3 L2' R'
End

получаем на выходе более короткий алгоритм!
L2 R' L2' R2 L R' L R' L' R L R L2' R'
Found 1 solution max depth 14 probes 332062 nodes 332055 in 0.688 rate 0.482648




а теперь давайте найдем этот же трицикл, просто указав в файле искомое состояние

обратите внимание, что я указываю ориентацию всех частей - 0. но на деле я могу задавать и нужные ориентации для каждой части
twsearch.exe doublefive.tws tri.scr - запускаем поиск и получаем новый алгоритм

R3 L2 R2 L' R2 L R2 L' R2 L' R3
Found 1 solution max depth 11 probes 48568 nodes 48563 in 0.062 rate 0.783355




а теперь давайте попробуем найти формулу для поворота двух частей на месте, без перемещения деталей.
Scramble TRI
Triangles
1 2 3 4 5 6 7 8 9 10
1 2 0 0 0 0 0 0 0 0
End

обратите внимание что части вращаются парами +/-
twsearch.exe doublefive.tws tri.scr - задаем в файле только изменение ориентации частей.

L2 R' L2' R2 L R' L R' L' R L R L2' R'
Found 1 solution max depth 14 probes 332062 nodes 332055 in 0.656 rate 0.506192




на этом статью заканчиваю. весь базовый и необходимый функционал рассмотрели. желаю вам интересных экспериментов!
« Последнее редактирование: 03 октября 2025, 11:08:00 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
мне только что ответил автор утилиты. он запустил анализ на мощном компьютере и нашел число бога у этой "простой" головоломки.
оказалось всего 20 ходов! моему компьютеру не хватило всего 3гб озу чтобы дойти до конца ;)

вот нужные формулы.
L R L2 R L R2 L' R L2 R3 L' R2' L' R L3 R' L R L2' R2'
L R L3 R L R2 L' R3 L R2 L3 R3 L2' R' L R2' L' R2' L2' R
L R L2' R2 L' R2' L2 R' L R' L' R2' L' R2' L2' R' L2' R2 L3 R2
L R L2' R L2 R2 L2 R L R2' L2 R2 L R2' L2 R2' L R2 L2' R'

а вот самые далекие от решения состояния
 
 


хочу добавить: почему описание утилиты строю вокруг решения плоских головоломок:
как выяснилось, не смотря на заманчивую простоту, решение этого класса головоломок невероятно трудное.
если на различных кубиках, минксах и тп, да хоть на чопозавре достаточно легко находить формулы, если знакомы с принципами построения комутаторов. то на головоломках с двумя кругами это все почти не работает.
как ни странно - если добавить к плоской головоломке еще 1-2-3 круга, то она станет больше, но при этом намного проще.
чтобы понять это попробуйте запутать часть кубика 2*2, 3*3 или мегаминкса вращая только две грани,  а потом решить их. быстро станет понятно что для решения надо совсем другие формулы и подходы.
так и на плоских головоломках ранее считалась, что многие из них почти не разрешимы. но сейчас подход к решению стал намного проще, когда есть инструментарий для анализа головоломки и поиска ее формул.
« Последнее редактирование: 21 сентября 2025, 19:44:01 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Хочу немного пояснить: я полноценно не понимаю как работает утилита. и возможно где-то мои советы ошибочны, потому что я покане всегда могу получить то что хочу.
как только разберусь с некоторыми моментами - неточности в статье сразу исправлю...

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Я решил проанализировать ряд "простых" головоломок с двумя кругами. показать вам ход моих исследований и приемами работы. а так же поделиться сделанными открытиями.

поясню для выполнения некоторых операций нужно было очень много ОЗУ. где-то около 30гб. а в ряде случаев не хватило 100гб. но иногда хватает и 8гб. надо пробовать

1) Arusloky, 2) Aruslotica, 3) Avenger Puzzler - Tricolor, 4) Avenger Puzzler, 5) Lotica, 6) Mandorla, 7) Pocket Quatrium, 8. Trio
я не буду рассматривать версии с маркированными элементами. те все части без учета вращений

« Последнее редактирование: 22 сентября 2025, 01:08:33 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Для начала давайте изучим головоломку "Avenger Puzzler - Tricolor". это топологически близкая к Дабл Файву головоломка.
https://twistypuzzles.com/app/museum/museum_showitem.php?pkey=5149

 


для того чтобы сделать скрипт с описанием головоломки для TWSearch нам нужно пронумеровать все части.
вы можете сделать это на распечатке, в графическом редакторе. или же как я в симуляторе для Geranium.

каждую часть мы нумеруем отдельно. от 1 до количества данных частей.


для этого я взял код от скрипта головоломки и добавил тег SetMarkerParts. синтаксис (номер части, номер на маркере). номер части можете узнать если нажать в симуляторе F6.

Name: Avenger Puzzler - Tricolor

Scale: 3
Speed: 4
Flip: y

Ring: 1,  50, 50, 50, 60
Ring: 2, 115, 50, 50, 60

AutoCutParts: (1R),5, (2L),5
AutoColorParts: 3, 5, 4

SetMarkerParts: (7,1),(1,2),(8,3),(2,4),(9,5), (15,6),(22,7),(16,8),(23,9),(17,10)
SetMarkerParts: (3,1),(4,2),(5,3),(6,4),(10,5), (12,6),(14,7),(18,8),(19,9),(20,10),(21,11)


после этой визуализации достаточно легко создать файл для twsearch. очень удобно прописывать состояния после поворотов.
"Avenger Puzzler - Tricolor.tws"
Name AvengerTricolor
Set Triangle 10 1
Set Edge 11 1

Solved
Triangle
1 1 2 3 3 1 1 2 3 3
Edge
1 1 3 3 1 2 3 1 1 3 3
End

Move L
Triangle
6 1 2 4 5 7 8 3 9 10
Edge
5 1 3 4 8 2 7 9 6 10 11
End

Move R
Triangle
1 2 8 3 4 6 7 9 10 5
Edge
1 2 6 3 5 10 4 8 9 11 7
End


запускаем: twsearch.exe -g "Avenger Puzzler - Tricolor.tws"
и получаем число бога для этой вариации головоломки: максимум 15 поворотов
а также много позиций антиподов - самые отдаленные от решенного состояния. они мне не так интересны, отрисовывать их не буду.

но мне очень интересно составление на головоломке определенных узоров. попробую несколько из них показать:

давайте создадим вот такой файл "at.scr". где зададим 3 целевых состояния. назовем их флипами, где одинаковые части в левом и правом кругах меняются местами.
Scramble noname1
Triangle
  3 3 2 1 1 3 3 2 1 1
Edge
  3 3 1 1 3 2 1 3 3 1 1
End
Scramble noname2
Triangle
  1 1 2 3 3 1 1 2 3 3
Edge
  3 3 1 1 3 2 1 3 3 1 1
End
Scramble noname3
Triangle
  3 3 2 1 1 3 3 2 1 1
Edge
  1 1 3 3 1 2 3 1 1 3 3
End

запустим: twsearch.exe "Avenger Puzzler - Tricolor.tws" at.scr
программа выдаст три формулы. которые можно вставить в симулятор Гераней (кнопка Ins)

перестановка местами красных и синих частей
L,R,L3,R2',L2,R2',L',R,L3,R2',L,R3 - 12 повротов
 

перестановка местами красных и синих ребер
L2,R2,L2,R,L',R2',L3,R3,L',R,L2,R2 - 12
 

перестановка местами красных и синих уголков
L2,R2,L,R2,L,R3,L2',R3,L,R2,L,R2,L2 -13
 
« Последнее редактирование: 08 октября 2025, 00:34:04 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Теперь давайте изучим головоломку классический "Avenger Puzzler" с 6 цветами
https://twistypuzzles.com/app/museum/museum_showitem.php?pkey=1550

здесь все похоже. так что буду краток

 

добавим в конец скрипта головоломки маркеры
SetMarkerParts: (7,1),(1,2),(8,3),(2,4),(9,5), (15,6),(22,7),(16,8),(23,9),(17,10)
SetMarkerParts: (3,1),(4,2),(5,3),(6,4),(10,5), (12,6),(14,7),(18,8),(19,9),(20,10),(21,11)

создаем файл Avenger Puzzler.tws
Name Avenger
Set Triangle 10 1
Set Edge 11 1

Solved
Triangle
1 1 2 3 3 4 4 2 5 5
Edge
1 6 6 3 6 2 6 4 6 6 5
End

Move L
Triangle
6 1 2 4 5 7 8 3 9 10
Edge
5 1 3 4 8 2 7 9 6 10 11
End

Move R
Triangle
1 2 8 3 4 6 7 9 10 5
Edge
1 2 6 3 5 10 4 8 9 11 7
End

запускаем: twsearch.exe -g "Avenger Puzzler.tws"
и получаем число бога для этой вариации головоломки: максимум 17 поворотов

давайте найдем формулы для трех разных флипов: зададим их состояния в файле av.scr
Scramble noname1
Triangle
  3 3 2 1 1 5 5 2 4 4
Edge
  3 6 6 1 6 2 6 5 6 6 4
End
Scramble noname2
Triangle
  3 3 2 1 1 5 5 2 4 4
Edge
  1 6 6 3 6 2 6 4 6 6 5
End
Scramble noname3
Triangle
1 1 2 3 3 4 4 2 5 5
Edge
3 6 6 1 6 2 6 5 6 6 4
End

запустим поиск формул: twsearch.exe "Avenger Puzzler.tws" av.scr

перестановка левых и правых цветных блоков.
L2,R2',L2,R2',L2 - 5 поворотов. примитив
 

перестановка левых и правых уголков
L3,R,L3,R2',L3,R2,L2,R2',L2,R,L2,R3,L3,R3 - 14 поворотов
 

перестановка левых и правых ребер
L,R2',L2',R3,L',R,L3,R,L,R',L,R3,L3 -13 поворотов
 
« Последнее редактирование: 08 октября 2025, 00:34:20 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
теперь давайте попробуем познакомиться поближе с "Arusloky"
https://twistypuzzles.com/app/museum/museum_showitem.php?pkey=1764

я уже не буду писать все так подробно - только нужные скрипты. команды для запуска смотрите выше

обратите внимание. все треугольные части здесь одноцветные. те они не учитываются при анализе

 

добавим в конец скрипта головоломки маркеры
SetMarkerParts: (1,1),(2,2), (5,3),(6,4),(7,5),(8,6),(9,7),(10,8), (14,9),(15,10),(16,11)
SetMarkerParts: (20,12),(21,13),(22,14),(23,15),(24,16),(25,17), (28,18),(29,19)

нумерация частей следующая


создаем файл Arusloky.tws
Name Arusloky
Set Edge 19 1

Solved
Edge
1 2 1 3 2 1 3 2 3 3 3 1 3 2 1 3 2 1 2
End

Move L
Edge
3 2 12 9 4 1 7 8 13 5 11 18 14 10 6 16 17 15 19
End

Move R
Edge
1 5 3 4 14 10 6 2 9 15 7 12 13 19 16 11 8 18 17
End

получаем число бога для этой вариации головоломки: максимум 15 поворотов

давайте найдем формулы для флип цветных лепестков: зададим их состояния в файле av.scr
Scramble noname
Edge
  2 1 2 3 1 2 3 1 3 3 3 2 3 1 2 3 1 2 1
End

перестановка левых и правых цветных лепестков.
L,R,L',R,L',R,L2,R2,L,R2,L2,R,L2,R2,L' - 15 поворотов (число бога)
 
« Последнее редактирование: 08 октября 2025, 00:34:46 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
вот анализ для "Arusloky - tricolor" - "Cohan Circle"

 

добавим в конец скрипта головоломки маркеры. нумерация в сообщении выше
SetMarkerParts: (1,1),(2,2), (5,3),(6,4),(7,5),(8,6),(9,7),(10,8), (14,9),(15,10),(16,11)
SetMarkerParts: (20,12),(21,13),(22,14),(23,15),(24,16),(25,17), (28,18),(29,19)
SetMarkerParts: (3,1),(4,2), (11,3),(12,4),(13,5), (17,6),(18,7),(19,8), (26,9),(27,10)

создаем файл Arusloky2.tws
Name Arusloky2
Set Edge 19 1
Set Triangle 10 1

Solved
Edge
1 2 1 1 3 3 2 2 1 3 2 1 1 3 3 2 2 1 2
Triangle
1 2 1 3 2 1 3 2 1 2
End

Move L
Edge
3 2 12 9 4 1 7 8 13 5 11 18 14 10 6 16 17 15 19
Triangle
3 2 6 1 5 9 4 8 7 10
End

Move R
Edge
1 5 3 4 14 10 6 2 9 15 7 12 13 19 16 11 8 18 17
Triangle
1 4 3 7 2 6 10 5 9 8
End

получаем число бога для этой вариации головоломки: максимум 21 поворотов
это достаточно много. больше чем у кубика-рубика

давайте найдем формулы для трех разных флипов: зададим их состояния в файле ar2.scr
Scramble noname1
Edge
2 1 2 2 3 3 1 1 2 3 1 2 2 3 3 1 1 2 1
Triangle
2 1 2 3 1 2 3 1 2 1
End
Scramble noname2
Edge
1 2 1 1 3 3 2 2 1 3 2 1 1 3 3 2 2 1 2
Triangle
2 1 2 3 1 2 3 1 2 1
End
Scramble noname3
Edge
2 1 2 2 3 3 1 1 2 3 1 2 2 3 3 1 1 2 1
Triangle
1 2 1 3 2 1 3 2 1 2
End

перестановка местами красных и синих частей
L,R,L2,R',L2,R',L',R',L',R3,L',R,L,R - 14 поворотов

 

перестановка местами красных и синих треугольников
L,R3,L2,R,L2',R2,L2,R2',L3,R3,L2',R2,L2,R2',L,R2,L3,R - 18 поворотов

 

перестановка местами красных и синих лепестков
L3,R,L',R2',L2,R,L',R3,L',R,L2,R2',L',R,L3 - 15 поворотов

 
« Последнее редактирование: 11 октября 2025, 01:53:28 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
хочу добавить одну интересную находку для головоломки Double Five
https://twistypuzzles.com/app/museum/museum_showitem.php?pkey=9360

 

создаем файл doublefive1.tws
Name doublefive
Set Triangles 10 3

Solved
Triangles
1 2 3 4 5 6 7 8 9 10
0 0 0 0 0 0 0 0 0 0
End

Move L
Triangles
3 2 6 1 5 9 4 8 7 10
1 0 1 1 0 1 1 0 1 0
End                   

Move R
Triangles
1 4 3 7 2 6 10 5 9 8
0 1 0 1 1 0 1  1 0 1
End

мы уже знаем число бога для этой головоломки: максимум 20 поворотов

давайте найдем формулу для интересного флипа: зададим его состояния в файле flip.scr
Scramble TRI
Triangles
2 1 5 4 3 8 7 6 10 9
0 0 0 0 0 0 0 0 0 0
End

перестановка всех треугольников в обратном порядке справа налево
L2,R',L2',R3,L',R,L2,R2',L2,R,L',R3,L2',R',L2 - 15 поворотов

 
« Последнее редактирование: 08 октября 2025, 00:35:25 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Пришло время обманчиво простой головоломки "Mandorla"
https://twistypuzzles.com/app/museum/museum_showitem.php?pkey=4969

 

добавим в конец скрипта головоломки маркеры
SetMarkerParts: (1,1),(2,2), (4,3),(6,4),(7,5),(9,6), (10,7),(12,8),
SetMarkerParts: (13,9),(15,10),(16,11),(18,12), (19,13),(20,14)
SetMarkerParts: (5,1),(8,2),(11,3),(14,4),(17,5)

нумерация частей следующая


создаем файл Mandorla.tws
Name Mandorla
Set Edge 14 1
Set Rombic 5 1

Solved
Edge
1 2 1 3 3 2 1 2 1 3  3  2  1  2
Rombic
1 2 3 1 2
End

Move L
Edge
9 2 13 7 3 6 10 8 11 4 1 12 5 14
Rombic
4 2 1 3 5
End

Move R
Edge
1 10 3 14 11 4 7 5 9 12 8 2 13 6
Rombic
1 3 5 4 2
End

получаем число бога для этой вариации головоломки: максимум 21 поворотов
это много. тоже больше чем у кубика-рубика. учитывая как что тут 19 деталей и нет ориентации частей

давайте найдем формулы для трех разных флипов: зададим их состояния в файле ma.scr
Scramble noname1
Edge
1 2 1 3 3 2 1 2 1 3 3 2 1 2
Rombic
2 1 3 2 1
End
Scramble noname2
Edge
2 1 2 3 3 1 2 1 2 3 3 1 2 1
Rombic
1 2 3 1 2
End
Scramble noname3
Edge
2 1 2 3 3 1 2 1 2 3 3 1 2 1
Rombic
2 1 3 2 1
End

перестановка голубых и зеленых ромбиков
L,R,L,R,L,R',L,R',L,R',L,R',L,R,L,R',L',R',L,R' - 20 поворотов

 

а вот второе (флип лепестков) и третье состояние (полный флип) - толи утилита зависла, толи они не разрешимы

--------------- добавил ---------------------------------------------------------

после небольших раздумий я понял:
оказывается лепестки двигаются по двум несвязанным друг с другом орбитам. получается флип голубых и зеленых лепестков попросту невозможен


однако можно сделать вот такой упрощенный флип лепестков
L,R',L,R,L',R,L,R,L',R,L',R,L',R',L',R,L,R,L',R,L',R,L',R,L',R,L' - 27 поворотов (наверно решение не оптимальное)
 
« Последнее редактирование: 08 октября 2025, 00:36:09 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Пришло время изучить "Lotica"
https://twistypuzzles.com/app/museum/museum_showitem.php?pkey=4116

 

добавим в конец скрипта головоломки маркеры
SetMarkerParts: (1,1), (6,2),(7,3),(8,4), (12,5)
SetMarkerParts: (3,1),(4,2),(5,3),(9,4),(10,5),(11,6)

нумерация частей


создаем файл Lotica.tws
Name Lotica
Set Triangle 5 1
Set Edge 6 1

Solved
Triangle
1 1 3 2 1
Edge
1 3 2 1 3 2
End

Move L
Triangle
2 5 1 4 3
Edge
4 1 3 5 2 6
End

Move R
Triangle
1 2 4 3 5
Edge
1 6 5 4 3 2
End

находим число бога для этой головоломки: максимум 15 поворотов

найдем формулы например для такой перестановки: зададим ее состояние в файле lo.scr
Scramble noname
Triangle
  1 1 2 3 1
Edge
  2 3 1 2 3 1
End

красивый узор
L,R,L',R,L2,R,L',R,L2,R,L',R,L - 13
 
« Последнее редактирование: 08 октября 2025, 00:36:47 от grigr »

Оффлайн Plut`on

  • Глобальный модератор
  • *****
  • Сообщений: 1 661
  • Пол: Мужской
  • коллекционер
    • мои коллекции
Круто. Ждём Сириус :)
Возможен ли анализ головоломок в которых детали меняют свою ориентацию - Vitrail, Algol, Capella?

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Познакомимся поближе с "Aruslotica"
https://twistypuzzles.com/app/museum/museum_showitem.php?pkey=10598

 

добавим в конец скрипта головоломки маркеры
SetMarkerParts: (5,1),(1,2),(6,3),(7,4),(12,5),(18,6.),(13,7),(14,8)
SetMarkerParts: (2,1),(3,2),(4,3),(8,4),(9,5),(11,6.),(15,7),(16,8),(17,9.)

нумерация частей следующая


создаем файл ArusLotica.tws
Name ArusLotica
Set Slim 9 1
Set Triangle 8 1

Solved
Slim
1 3 2 1 3 2 1 3 2
Triangle
1 1 3 2 1 1 3 2
End

Move L
Slim
4 1 3 7 2 6 8 5 9
Triangle
5 1 2 4 6 7 3 8
End

Move R
Slim
1 9 8 4 6 5 7 3 2
Triangle
1 2 8 7 5 6 4 3
End

число бога для этой головоломки: максимум 21 поворотов

давайте найдем формулы для нескольких разных узоров: зададим их состояния в файле al.scr
Scramble noname1
Slim
2 3 1 2 3 1 2 3 1
Triangle
1 1 3 2 1 1 3 2
End
Scramble noname2
Slim
3 1 2 3 1 2 3 1 2
Triangle
1 1 3 2 1 1 3 2
End
Scramble noname3
Slim
2 1 3 2 1 3 2 1 3
Triangle
1 1 3 2 1 1 3 2
End

Scramble noname4
Slim
1 3 2 1 3 2 1 3 2
Triangle
2 1 3 1 2 1 3 1
End
Scramble noname4
Slim
1 3 2 1 3 2 1 3 2
Triangle
3 2 1 1 3 2 1 1
End

флип красных и голубых лепестков
R,L,R,L3,R,L3,R,L,R,L3,R,L3,R,L,R - 15 поворотов
 

флип красных и желтых лепестков
L,R,L3,R,L3,R,L,R,L3,R,L3,R,L - 13 поворотов
 

флип всех лепестков. формула имеет длину числа бога
L,R,L,R,L2',R,L2',R,L2',R,L2',R,L3,R,L,R,L3,R,L,R,L3 - 21
 


флип красных и голубых треугольников
R,L,R,L3,R,L3,R,L,R,L3,R,L3,R,L2',R - 15 поворотов
 

перестановка всех треугольников. формула имеет длину числа бога
L,R,L,R,L2',R,L2,R,L',R,L2,R,L',R,L2,R,L2',R,L,R,L - 21
 
« Последнее редактирование: 08 октября 2025, 00:37:12 от grigr »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Спасибо ))

Ждём Сириус :)
ну я врядли сделаю... причину чуть позже объясню на примере другой головоломки.
а вот то что его возможно решить - в этом я теперь на 100% уверен.
все нужные формулы найти не проблема. а дальше дело техники...

Возможен ли анализ головоломок в которых детали меняют свою ориентацию - Vitrail, Algol, Capella?
такие думаю нет... либо какой-то особый изврат надо придумывать... но всему свое время.
раньше и простые то не поддавались. теперь все проще )))

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 258
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
а теперь немного плохие новости ... две оставшиеся головоломки Quatrium и Trio не получается полноценно проанализировать. даже на моем рабочем компьютере где 128гб озу ему не хватило памяти чтобы найти число бога для этих головоломок. Quatrium остановился на 20, а Trio на 8. может в будущем я смогу раскрыть их полностью

пс
за Сириус даже браться не буду по той же причине

ппс
однако для анализа самих головоломок и поиска формул для интересных состояний памяти все же хватает!
« Последнее редактирование: 24 сентября 2025, 00:32:08 от grigr »