Алгоритм Бога Кубика Рубика 3х3
Маленькая пластмассовая игрушка-головоломка созданная венгерским скульптором Эрне Рубиком, стала самой популярной головоломкой в мире. В 1974 году профессор архитектуры для наглядного объяснения теории групп своим студентам создал всеми известную головоломку, названую в последствии Кубиком Рубика.
Ее суть состоит в том, что 26 маленьких кубиков, образуют куб большего размера с гранями по 3 кубика (3х3х3) установленными на центральном шарнире. Каждая грань кубика, состоящая из 9 малых кубиков, имеет свой цвет.
Спустя год, когда Эрне Рубик понял, что его изобретение становится популярным среди его учеников, он запатентовал головоломку. А уже через 7 лет был проведен первый мировой чемпионат по сборке Кубика Рубика. В 1982г. победителем первых соревнований стал студент из Лос-Анджелеса Minh Thai (Мин Тай) с результатом в 22,95 секунды.
Эти соревнования дали толчок любителям головоломки для составления своих алгоритмов сборки Кубика Рубика за наименьшее число вращений. Минимальное количество ходов, определяющее полную сборку головоломки, назвали – Алгоритм Бога кубика Рубика.
История создания формулы Бога
Английским математиком было выдвинуто утверждение, что собрать Кубик Рубика из любого положения можно за 23 хода. И, именно это число, на протяжении долгих лет
считалось числом бога. Но спустя 35 лет компания Google доказала, что для того, чтобы собрать кубик Рубика из любого положения за наименьшее число ходов, достаточно всего 20 поворотов граней кубика. С тех пор Алгоритм бога кубика Рубика 3х3 составляет всего 20 ходов. В ходе поиска наименьшего числа ходов сборки кубика были найдены множества алгоритмов, вычисляющих наименьшее число различных элементов кубика Рубика, верхней или фронтальной поверхности кубика.
В современном мире существуют сотни и даже тысячи различных комбинаций, позволяющих быстро собрать кубик Рубика 3 на 3, как правило все они составляют 40 и более поворотов кубика.
35 лет прошло со дня создания кубика Рубика до того момента, как ученым удалось создать универсальную формулу для сборки Кубика Рубика 3х3, названную – «Алгоритмом Бога».
Формула Бога кубика Рубика 3 на 3
Стоит отметить, что несмотря на созданную универсальную формулу сборки кубика Рубика 3 на 3, она все же не позволяет на 100% собирать головоломку.
Формула бога выглядит так:
B2 D2 F I R2 F U2 R2 F I R2 U2 F R U L B D R I D L2 U I
Лишь усредняет все имеющиеся комбинации для сборки кубика и решает головоломку только в 95% случаях. Поэтому если у вас не получилось собрать кубик с первого раза по формуле бога, попробуйте еще раз, возможно, вы попали именно в те 5% вариантов, которые не учитывает формула.
Расшифровка формулы Бога (Этапы сборки)
Для того, чтобы вам было удобнее понимать как необходимо вращать кубик, рассмотрим отдельно каждое значение формулы.
B2 (back) — поворот задней стороны кубика по часовой стрелке 2 раза
D2 (down) — поворот нижней стороны кубика по часовой стрелке 2 раза
F I (front) — поворот фронтальной (передней) части кубика против часовой стрелки 1 раз
R2 (right) — поворот правой стороны кубика по часовой стрелке 2 раза
F (front) — поворот фронтальной (передней) части кубика по часовой стрелке 1 раз
U2 (up) — поворот верхней стороны кубика по часовой стрелке 2 раза
R2 (right) — поворот правой стороны кубика по часовой стрелке 2 раза
F I (front) — поворот фронтальной (передней) части кубика против часовой стрелки 1 раз
R2 (right) — поворот правой стороны кубика по часовой стрелке 2 раза
U2 (up) — поворот верхней стороны кубика по часовой стрелке 2 раза
F (front) — поворот фронтальной (передней) части кубика по часовой стрелке 1 раз
R (right) — поворот правой стороны кубика по часовой стрелке 1 раз
U (up) — поворот верхней стороны кубика по часовой стрелке 1 раз
L (left) — поворот левой стороны кубика по часовой стрелке 1 раз
Формула бога русскими буквами:
Т2 Н2 Ф I П2 Ф В2 П2 Ф I П2 В2 Ф П В Л Т Н П I Н Л2 В I
ВНИМАНИЕ. Многие начинающие любители головоломки Рубика невнимательно производят вращение по формуле бога и тем самым не могут собрать кубик. Говоря о том, что формула не работает. Мы лишь предлагаем вам попробовать собрать кубик вновь, но более внимательно отнестись к вращениям граней, особенно когда их нужно вращать против часовой стрелки.
Ну и, конечно же, нужно помнить, что формула бога описывает лишь 95% комбинаций и не всегда может подходить для сборки кубика Рубика 3х3.
Источник
Y-метод — действительно простой способ собрать кубик Рубика
Введение
В статье рассматривается «Y-метод» сборки кубика Рубика — его легко понять и запомнить. Он основан всего на одной последовательности, которая называется «Y-движение». Поняв этот алгоритм, вы навряд ли забудете как собрать кубик самостоятельно.
Если попытаться нагуглить инструкцию по сборке кубика Рубика, то найдётся много вариантов с описанием «простой сборки», в том числе на википедии. Которые, в целом, действительно достаточно простые к пониманию, но обладают существенным недостатком. Для того, чтобы собрать кубик, нужно знать порядка пяти или более нетривиальных последовательностей (алгоритмов) для перестановки отдельных кубиков, для сборки кубика Рубика по слоям. В связи с чем запомнить и воспроизвести самостоятельно эти инструкции затруднительно. Недавно я случайно наткнулся на упоминание алгоритма «The Ultimate Solution to Rubik’s Cube», о котором утверждалось, что его легко запомнить и понять, и в нём используются всего две последовательности. А когда стал выяснять подробнее, то нашёл также и другой алгоритм — «Y-метод», тоже простой и использующий всего одну последовательность.
К сожалению, описания данного алгоритма на русском я не нашёл, поэтому я решил восполнить этот пробел. Также мне кажется, что главное в этом методе — понимание того как он работает. Поэтому тут я не предлагаю готовых наборов движений для конкретных ситуаций, а вместо этого я постарался подробнее описать что происходит.
Картинки в данной статье сгенерированы с помощью инструмента на сайте ruwix.com. Ссылки на картинках откроют этот инструмент с параметрами, соответствующими картинке. Это либо описываемое состояние кубика и вы сможете его повертеть мышкой, или, в некоторых случаях, там заданы описываемые движения, которые можно «проиграть» туда-обратно.
Y-движение
Основу данного алгоритма составляет Y-движение. И довольно важная составляющая алгоритма — это разобраться в механике этого движения.
Данная последовательность поворотов так называется из-за того, что кубики, которые она затрагивает, выглядят как буква «Y», составленная тремя рёбрами, выходящими из одного угла кубика.
Y-движение довольно простое и состоит из четырёх поворотов двух смежных граней, например правой и передней. В распространённой нотаци поворотов для кубика Рубика это выглядит так: R’ F R F’. Что можно описать следующим образом:
- правая грань против часовой стрелки на четверть оборота
- передняя грань по часовой стрелке на четверть оборота
- правая грань по часовой стрелке на четверть оборота
- передняя грань против часовой стрелки на четверть оборота
То есть грани сначала по очереди поворачиваются «на себя», а потом в обратном порядке «от себя».
Назовём этот вариант «правым Y-движением» (т.к. поворачивается сначала грань справа). В этом случае меняется положение кубиков на ребре, общем у данных граней и на верхних рёбрах. Если начинать повороты с передней грани, то будут затронуты те же самые кубики, такой вариант мы будем называть «левым Y-движением» (т.к. поворачивается сначала грань слева).
Также можно начинать с поворотов «от себя» — это будет то же самое, если бы мы перевернули кубик и начинали с поворотов «на себя», поэтому назовём такие варианты «правым и левым перевёрнутым Y-движением». При перевёрнутых Y-движениях будет также затронуто смежное ребро, а также уже не верхние, а нижние рёбра, соседние с ним.
Принципиальной разницы во всех этих движениях, конечно же, нет. Такое разнообразие нужно исключительно для удобства.
Перечислим некоторые свойства Y-движений:
- Правое и левое Y-движения обратны друг другу, т.е. последовательность правого и левого или левого и правого движений не изменят состояния кубика.
- Одно Y-движение приводит к тому, что меняются местами в паре два угловых кубика на смежной грани и два других угловых кубика. А три кубика находящиеся посередине рёбер (рёберные) перемещаются по кругу.
- Как можно догадаться, после двух движений угловые кубики возвращаются на свои места. Но при этом они оказываются повёрнутыми.
- И если выполнить три раза по два движения, то кубики повернутся три раза и в результате вернутся в исходное состояние.
- Рёберные кубики возвращаются в исходное состояние после цикла из трёх движений.
- Таким образом, если выполнить Y-движение шесть раз подряд, то состояние кубика вернётся в изначальное.
- После одного Y-движения рёберные кубики перемещаются в направлении первого поворота, при этом два кубика как бы поворачиваются вдоль соответствующих граней (вокруг их оси), а третий также поворачивается, но при этом переворачивается. Переворачивается тот кубик, который перемещается между верхними рёбрами, в случае обычного (не перевёрнутого) Y-движения. При работе с рёберными кубиками Y-движение вдоль одних и тех же рёбер можно производить повернув кубик в разных направлениях, тем самым добиваясь переворота нужного нам кубика.
Последовательность сборки кубика
Сначала собираются два нижних слоя кубика за исключением одного вертикального ребра, проходящего через эти слои. Это место мы оставляем себе как пространство для манёвра. Нижний крест и нижние угловые кубики собираются довольно просто, но если есть затруднения, то не так сложно приспособить Y-движение для этого или посмотреть одну из инструкций для простой послойной сборки кубика.
Далее нужно собрать средние кубики на вертикальных рёбрах (рёберные). Для этого нужно повернуть верхнюю грань с нужным кубиком, чтобы он оказался на одной из соседних с целевым ребром граней. А также временно (не забываем потом вернуть на место) повернуть нижнюю грань, чтобы на месте целевого ребра оказался кубик, который мы специально оставили несобранным. Теперь можно воспользоваться Y-движением, чтобы переместить кубик с верхней грани на нужное нам место. Y-движение нужно делать такое, чтобы этот рёберный кубик повернулся в нужном направлении в сторону ребра и если нужно, то перевернулся.
Если нужный кубик не находится на верхней грани, то нужно его предварительно, также Y-движением, «освободить» оттуда, не забывая опять же подставить несобранный угол на нижней грани.
Пока что мы собрали два нижних слоя без одного ребра. Далее нам нужно будет собрать два рёберных кубика на верхних рёбрах, которые не граничат с тем, что мы специально не собираем. После этого из рёберных кубиков останется только три несобранных, на рёбрах, которые формируют букву «Y»: вертикальное, которое мы не собирали, и два верхних ребра, соседних с ним.
И, конечно же, мы собираем их с помощью одного или нескольких Y-движений, переворачивая и ставя на нужные места. Тут только нужно учесть один момент с количеством перестановок, который описан чуть ниже.
При сборке последних пяти рёберных кубиков нам может понадобиться развернуть эту букву «Y», чтобы сделать Y-движение в другом направлении (поворачивая другие грани вдоль этих рёбер), таким образом добиваясь перемещения нужных нам кубиков на другие места с переворотом или без него.
К этому моменту у нас будет почти собранный кубик, в котором не собраны только угловые кубики на верхней грани и на вертикальном ребре, которое мы не собирали. Описанными ниже методами сначала переставляем углы друг с другом, чтобы они оказались на своих местах, возможно неправильно ориентированные. А потом разворачиваем их.
Ура, наш кубик собран!
Считаем перестановки
На что же нужно обратить внимание когда мы собираем пять последних рёберных кубиков. Когда их останется только три, то чтобы у всё получилось с перестановкой их в пределах буквы «Y», нужно чтобы либо они все находились на своих местах (возможно перевёрнутые) или же все были не на своих местах. Это связано с тем, что Y-движение переставляет три рёберных кубика одновременно. Если рассмотреть это с точки зрения попарных обменов кубиков местами на соседних рёбрах, то происходит два обмена (перестановки). Теперь должно быть понятно почему в случае, когда у нас ровно два кубика не на своих местах, то мы не сможем их собрать. Т.к. нам нужно совершить одну перестановку, а с помощью Y-движений мы можем сделать только чётное число перестановок.
Что же делать в таком случае? Обратим внимание, что если повернуть грань кубика, то мы поменяем местами одновременно четыре рёберных кубика, что будет эквивалентно трём перестановкам, т.е. нечётному числу, что нам и нужно. Из этого следует, что верхняя грань должна быть правильно ориентирована для того, чтобы мы могли собрать последние три рёберных кубика. Если так вышло, что последние три рёберных кубика требуют одной перестановки, то это значит, что нужно переставить на соседние места два рёберных кубика, уже собранные на верхней грани.
Кроме того, мы можем заранее, до сборки первых двух кубиков из этой пятёрки, подсчитать число перестановок, которые потребуются, чтобы поставить все пять рёберных кубиков на свои места. Если это число чётное, то верхняя грань ориентирована правильно. А если нечётное, то её нужно повернуть один раз в любую сторону. Таким образом, мы сразу сможем поставить те два кубика на нужные места.
Работа с угловыми кубиками
На последнем этапе сборки нам нужно переставлять угловые кубики местами и поворачивать их. Для этого воспользуемся перечисленными ранее свойствами Y-движения в отношении угловых кубиков. Т.к. удобнее работать с угловыми кубиками, расположенными на верхней грани, то для этого нам больше подойдёт перевёрнутое Y-движение (начинается с поворота «от себя»). В этом разделе будет использоваться именно эти варианты, без дополнительного уточнения. Обратим сразу внимание, что это движение меняет состояние только одного кубика на верхней грани — это угловой кубик на «смежном ребре».
Для перестановки угловых кубиков заметим, что одиночное Y-движение (как левое, так и правое) меняет местами пару угловых кубиков на «смежном ребре», а также что последовательное применение левого и правого Y-движения (или правого и левого) возвращает весь кубик в исходное состояние. Давайте подумаем, что произойдёт, если между этими движениями мы повернём верхнюю грань. Как мы уже обратили внимание, на верхней грани меняется только один угловой кубик, который переставляется с парным кубиком на ребре. В таком случае у нас произойдёт два обмена угловыми кубиками на ребре, но каждый раз сверху будет подставлен разный угол, а все остальные кубики останутся как были (конечно, нужно ещё не забыть повернуть верхнюю грань в исходное состояние). Таким образом, мы осуществили обмен местами трёх угловых кубиков — одного с нижней грани и двух с верхней.
Теперь разберёмся с поворотом кубиков. Для этого воспользуемся похожим трюком. Будем делать два последовательных Y-движения в одном направлении. В результате этого угловые кубики остаются на месте, но меняют свою ориентацию. Тут нас интересуют два варианта комбинации движений: три двойных движения в одном направлении (левые или правые) или двойное движение в одном направлении и двойное движение в обратном направлении. В каждом из этих вариантов весь кубик возвращается в исходное состояние. И мы опять будем между двойными движениями подставлять очередной нужный нам угол на место верхнего угла «смежного ребра». Таким образом мы можем повернуть либо три угловых кубика на одной грани в одном направлении, либо два угловых кубика на одной грани в разных направлениях, не меняя состояния остальных кубиков. Обратим внимание, что после двойного движения верхний кубик смежного ребра поворачивается в том же направлении, в котором осуществляется первое Y-движение.
Источник