Конференция "Игры" » AI для кубика Рубика [Delphi, Windows]
 
  • Kira © (21.01.06 18:59) [0]
    Здравствуйте! Подкиньте, кто может, идею - как реализовать автоматическое собирание кубика Рубика. Желательно для Delphi и так, чтобы до меня дошло :o)
  • Bogdan1024 © (21.01.06 20:05) [1]
    Не представляю как это сделать иначе чем методом перебора :) А вообще если делаешь игру, то лучше просто запомнить последовательность движений, которые привели куб до текущего состояния, а потом просто повторить обратно их чтобы собрать... если плеер крутил куб, то там можно проанализировать какие движения будут лишними, а какие нужно добавить.
  • П7 (21.01.06 20:56) [2]

    > Kira ©   (21.01.06 18:59)

    Возьми кубик Рубика. И Собирай его, пока не постигнешь всю силу алгоритма.
    У меня было как-то так, я целый год бегал с ним. Мог за минуты собрать все стороны. (:
    А вот недавно взялся опять - не получается. Забыл всё. Так и забросил не разобравшись. (:
  • ArtemESC © (22.01.06 03:02) [3]
    algolist.manual.ru
  • П7 (22.01.06 05:01) [4]

    > ArtemESC ©   (22.01.06 03:02) [3]

    А ведь точно. (:
  • Kira © (26.01.06 20:49) [5]
    Всем, кто откликнулся, большое спасибо!
    Но боюсь, что я неправильно выразился.
    Мне необходимо РЕАЛИЗОВАТЬ автоматическую сборку кубика.
    Как его собирать ручками, я знаю.
  • Леонид (31.08.06 11:25) [6]
    Я собираю кубик Рубика уже 25 лет.Нет ничего проще.2 слоя собираю без всяких  алгоритмов, а для сборки третьего слоя существует около 300 алгоритмов,которые я выучил и собираю весь кубик в пределах около 40 ходов.Для запоминания алгоритмов составляю  предложения по первым буквам моих алгоритмов.Молодым желаю творческих успехов-у них ещё есть время,чтобы овладеть сборкой кубика.Для начала необходимы статьи из журнала наука и жизнь 80-х годов прошлого века.
  • Владимир (03.09.06 16:55) [7]
    Меня заинтересовала цитата №6. Я тоже собираю кубик практически без
    алгоритмов и давно отказался от обычной сборки по слоям. В среднем собираю за 45-55 ходов, а личный рекорд 35 ходов.
  • Думкин © (04.09.06 06:50) [8]
    > практически без алгоритмов


    Это как? И главное - что значит практически - так с алгоритмами или без? Рэндомом?
  • Владимир (08.09.06 19:31) [9]
    Я начинаю сборку кубика с вершин. Только на этом этапе применяю алгоритмы состоящие из 7-9 ходов. На это уходит от 7 до 21 хода. Дальнейшая сборка (20-40 ходов) алгоритмов не требует, если не считать за алгоритмы простейшие перемещения кубиков, используемые при построении  на уже собранном  кубике фигур.
  • Думкин © (11.09.06 06:10) [10]
    > Владимир   (08.09.06 19:31) [9]

    А что же это такое, если не алгоритмы?
  • Владимир (11.09.06 18:25) [11]
    Думкин, мне интересно, ты сам кубик собираешь? Или грузишь от нечего делать?
  • Думкин © (12.09.06 07:04) [12]
    > Владимир   (11.09.06 18:25) [11]

    Я собираю. Причем уже не помню тех алгоритмов что в журнале были более 20 лет назад. Собираю по ходу, придерживаясь определенных методов. Но считаю, что любое действие там - алгоритимзировано. И считаю, что и вы собираете по алгоритмам, а вовсе не по рэндому. Другое дело, что вы используя мелкие алгоритмы комбинируете их каждый раз в новый итоговый.

    Если же вы покажете, что собираете рэндомом - я съем свою шляпу. Я не гружу - я интересуюсь.
  • Думкин © (12.09.06 07:10) [13]
    Что касается задачки.
    1. Если начальное состояние получено не из полной сборки верными перемещениями. то восе не обязательно кубик соберется. Также как и в игре 15. Поэтому положения в играх таких(да и в реале) получают из конечного путем правильных перемещений - тогда сборка осуществима точно.
    2. Один алгоритм в этом случае есть точно - повторить те ходы наоборот, что и было использовано. А это не интересно.
    3. Было бы забавно выстроить алгоритм реализующий минимум ходов в любой ситуации.
    4. А так - использовать те что есть. Как и было заявлено, алгоритмов сборки - очень много. В том числе и простые перемещения кубиков.
  • Владимир (13.09.06 21:22) [14]
    Что такое "определенные методы"? Все очень мутно. Меня не интересуют
    общие фразы. Это напоминает объявления в газетах:приглашаем непонятно кого на непонятную работу. За сколько поворотов граней собираете кубик?
    И как вы его собираете? Я считаю, что если вы контролируете процесс сборки, знаете заранее,сколько ходов на это нужно, то это уже не алгоритмы, это уже от головы.
  • Virgo_Style © (13.09.06 21:46) [15]
    Владимир   (13.09.06 21:22) [14]
    то это уже не алгоритмы, это уже от головы


    ничего себе. Хотелось бы узнать, что в таком случае алгоритм. Или под головой подразумевалась интуиция?
  • Думкин © (14.09.06 05:45) [16]
    > Владимир   (13.09.06 21:22) [14]

    А какая разница за сколько я его собираю? если мне сейчас его дать - то минимум полчаса надо будет. И что? Очем это говорит?

    А вот определнение алгоритма от вас - не помешало бы.
  • Думкин © (14.09.06 05:46) [17]
    > Владимир   (13.09.06 21:22) [14]

    Вот вы без общих фраз и выложите свои недоалгоритмы. Пипец.
  • Думкин © (14.09.06 08:00) [18]
    > Kira ©   (21.01.06 18:59)  

    А как собирать прораммно можно по первому приближению так:
    1. Для описания состояния кубика можно использовать либо строку из 54 элементов, либо матрицу 6*9, или диагональные матрицы 54*54. :) Договориться какое место на кубике на каом месте в этих структурах.
    2. Описать правильные элементарные переходы - то есть пары состояний, когда из первого состояния путем поворота грани переходим во второе. Из них можно получить простые переходы, которыми собственно и оперируют собиральщики.
    3. Правильный переход - конечная линейно упорядоченая комбинация элементарных переходжов, где второе состояние каждого(кроме последнего) является первым у последующего.
    4. Правильное конечное состояние - это собранный кубик.
    5. Правильное состояние - если существует правильный переход связывающий его и правильное конечное.

    Задача: Дано состояние, выяснить правильное оно или нет и в случае правильности предъявить правильный переход.
    Построить конечный алгоритм по решению такой задачи.

    Простейшие алгоритмы - это стандартная сборка - описана на алголисте, а также можно воспользоваться огромной базой недоалгоритмов от Владимира. :)

    Более сложная задача - найти кратчайший правильный переход.

    И все. задача поставлена. Решайте.

    > Подкиньте, кто может, идею


    Идея подкинута. Можно и не 54 эелемента пользовать - но так понятнее.
  • Думкин © (14.09.06 08:02) [19]
    Кстати, в случае диаг.матриц - переходы можно описывать разреженными матрицами. Сам переход - умножение на такую матрицу - переведт одно состояние в другое.
 
Конференция "Игры" » AI для кубика Рубика [Delphi, Windows]
Есть новые Нет новых   [134431   +10][b:0][p:0.001]