Введение
Оптимальные решения для кубика Рубика – это решения, которые в некотором смысле являются самыми короткими. Существует два распространенных способа измерения длины решения. Первый – подсчет количества четвертных поворотов. Второй – подсчет количества поворотов внешнего слоя, называемых «поворотами грани». Движение, поворачивающее внешний слой на два четвертных (90°) поворота в одном и том же направлении, будет считаться как два движения в метрике четвертных поворотов (QTM), но как один поворот в метрике грани (FTM, или HTM «Half Turn Metric», или OBTM «Outer Block Turn Metric»). Максимальное количество поворотов грани, необходимых для решения любой конфигурации кубика Рубика, составляет 20, и было установлено Дэвидом Сингмастером. Следующие – стандартные движения, которые не перемещают центральные кубики какой-либо грани в другое место:
Optimal solutions for the Rubik's Cube are solutions that are the shortest in some sense. There are two common ways to measure the length of a solution. The first is to count the number of quarter turns. The second is to count the number of outer layer twists, called "face turns". A move to turn an outer layer two quarter (90°) turns in the same direction would be counted as two moves in the quarter turn metric (QTM), but as one turn in the face metric (FTM, or HTM "Half Turn Metric", or OBTM "Outer Block Turn Metric"). The maximal number of face turns needed to solve any instance of the Rubik's Cube is 20, which was developed by David Singmaster. The following are standard moves, which do not move centre cubies of any face to another location:
The letters L, R, F, B, U, and D indicate a clockwise quarter turn of the left, right, front, back, up, and down face respectively. A half turn (i. e. 2 quarter turns in the same direction) are indicated by appending a 2. A counterclockwise turn is indicated by appending a prime symbol ( ′ ). However, because these notations are human oriented, we use clockwise as positive, and not mathematically oriented, which is counterclockwise as positive. The following are non standard moves
Non standard moves are usually represented with lowercase letters in contrast to the standard moves above. Moving centre cubies of faces to other locations:
The letters M, S and E are used to denote the turning of a middle layer. M (short for "Middle" layer) represents turning the layer between the R and L faces 1 quarter turn clockwise (front to back), as seen facing the L face. S (short for "Standing" layer) represents turning the layer between the F and B faces 1 quarter turn clockwise (top to bottom), as seen facing the F face. E (short for "Equator" layer) represents turning the layer between the U and D faces 1 quarter turn clockwise (left to right), as seen from the D face. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Instead, lowercase letters r, f and u are also used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. This is more consistent with expectations. In multiple layer cubes, numbers may precede face names to indicate rotation of the nth layer from the named face. 2R, 2F and 2U are then used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. Using this notation for a three layer cube is more consistent with multiple layer cubes. Rotating the whole cube:
The letters x, y and z are used to signify cube rotations. x signifies rotating the cube in the R direction. y signifies the rotation of the cube in the U direction. z signifies the rotation of the cube on the F direction. These cube rotations are often used in algorithms to make them smoother and faster. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Note that these spacial rotations are usually represented with lowercase letters.
Буквы L, R, F, B, U и D обозначают четвертной поворот левой, правой, передней, задней, верхней и нижней граней соответственно по часовой стрелке. Поворот на пол-оборота (то есть два четвертных поворота в одном направлении) обозначается добавлением цифры 2. Поворот против часовой стрелки обозначается штрихом ( ′ ). Однако, поскольку эти обозначения ориентированы на человека, мы используем положительное направление – по часовой стрелке, а не математически ориентированное, где положительным является направление против часовой стрелки. Следующие – нестандартные движения:
Optimal solutions for the Rubik's Cube are solutions that are the shortest in some sense. There are two common ways to measure the length of a solution. The first is to count the number of quarter turns. The second is to count the number of outer layer twists, called "face turns". A move to turn an outer layer two quarter (90°) turns in the same direction would be counted as two moves in the quarter turn metric (QTM), but as one turn in the face metric (FTM, or HTM "Half Turn Metric", or OBTM "Outer Block Turn Metric"). The maximal number of face turns needed to solve any instance of the Rubik's Cube is 20, which was developed by David Singmaster. The following are standard moves, which do not move centre cubies of any face to another location:
The letters L, R, F, B, U, and D indicate a clockwise quarter turn of the left, right, front, back, up, and down face respectively. A half turn (i. e. 2 quarter turns in the same direction) are indicated by appending a 2. A counterclockwise turn is indicated by appending a prime symbol ( ′ ). However, because these notations are human oriented, we use clockwise as positive, and not mathematically oriented, which is counterclockwise as positive. The following are non standard moves
Non standard moves are usually represented with lowercase letters in contrast to the standard moves above. Moving centre cubies of faces to other locations:
The letters M, S and E are used to denote the turning of a middle layer. M (short for "Middle" layer) represents turning the layer between the R and L faces 1 quarter turn clockwise (front to back), as seen facing the L face. S (short for "Standing" layer) represents turning the layer between the F and B faces 1 quarter turn clockwise (top to bottom), as seen facing the F face. E (short for "Equator" layer) represents turning the layer between the U and D faces 1 quarter turn clockwise (left to right), as seen from the D face. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Instead, lowercase letters r, f and u are also used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. This is more consistent with expectations. In multiple layer cubes, numbers may precede face names to indicate rotation of the nth layer from the named face. 2R, 2F and 2U are then used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. Using this notation for a three layer cube is more consistent with multiple layer cubes. Rotating the whole cube:
The letters x, y and z are used to signify cube rotations. x signifies rotating the cube in the R direction. y signifies the rotation of the cube in the U direction. z signifies the rotation of the cube on the F direction. These cube rotations are often used in algorithms to make them smoother and faster. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Note that these spacial rotations are usually represented with lowercase letters.
Нестандартные движения обычно обозначаются строчными буквами, в отличие от стандартных движений, перечисленных выше. Перемещение центральных кубиков граней в другие места:
Optimal solutions for the Rubik's Cube are solutions that are the shortest in some sense. There are two common ways to measure the length of a solution. The first is to count the number of quarter turns. The second is to count the number of outer layer twists, called "face turns". A move to turn an outer layer two quarter (90°) turns in the same direction would be counted as two moves in the quarter turn metric (QTM), but as one turn in the face metric (FTM, or HTM "Half Turn Metric", or OBTM "Outer Block Turn Metric"). The maximal number of face turns needed to solve any instance of the Rubik's Cube is 20, which was developed by David Singmaster. The following are standard moves, which do not move centre cubies of any face to another location:
The letters L, R, F, B, U, and D indicate a clockwise quarter turn of the left, right, front, back, up, and down face respectively. A half turn (i. e. 2 quarter turns in the same direction) are indicated by appending a 2. A counterclockwise turn is indicated by appending a prime symbol ( ′ ). However, because these notations are human oriented, we use clockwise as positive, and not mathematically oriented, which is counterclockwise as positive. The following are non standard moves
Non standard moves are usually represented with lowercase letters in contrast to the standard moves above. Moving centre cubies of faces to other locations:
The letters M, S and E are used to denote the turning of a middle layer. M (short for "Middle" layer) represents turning the layer between the R and L faces 1 quarter turn clockwise (front to back), as seen facing the L face. S (short for "Standing" layer) represents turning the layer between the F and B faces 1 quarter turn clockwise (top to bottom), as seen facing the F face. E (short for "Equator" layer) represents turning the layer between the U and D faces 1 quarter turn clockwise (left to right), as seen from the D face. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Instead, lowercase letters r, f and u are also used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. This is more consistent with expectations. In multiple layer cubes, numbers may precede face names to indicate rotation of the nth layer from the named face. 2R, 2F and 2U are then used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. Using this notation for a three layer cube is more consistent with multiple layer cubes. Rotating the whole cube:
The letters x, y and z are used to signify cube rotations. x signifies rotating the cube in the R direction. y signifies the rotation of the cube in the U direction. z signifies the rotation of the cube on the F direction. These cube rotations are often used in algorithms to make them smoother and faster. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Note that these spacial rotations are usually represented with lowercase letters.
Буквы M, S и E используются для обозначения поворота среднего слоя. M (сокращение от «Middle» – средний) обозначает поворот слоя между гранями R и L на 1 четверть оборота по часовой стрелке (от передней к задней стороне), если смотреть на грань L. S (сокращение от «Standing» – стоящий) обозначает поворот слоя между гранями F и B на 1 четверть оборота по часовой стрелке (сверху вниз), если смотреть на грань F. E (сокращение от «Equator» – экватор) обозначает поворот слоя между гранями U и D на 1 четверть оборота по часовой стрелке (слева направо), если смотреть с грани D. Как и в случае с обычными поворотами, цифра 2 обозначает пол-оборота, а штрих (') – поворот против часовой стрелки. Вместо этого строчные буквы r, f и u также используются для обозначения поворота слоев, соседних с гранями R, F и U соответственно, в том же направлении, что и R, F и U. Это более соответствует ожиданиям. В многослойных кубиках перед названиями граней могут стоять цифры, указывающие на поворот n-го слоя от названной грани. 2R, 2F и 2U обозначают поворот слоев, соседних с гранями R, F и U соответственно, в том же направлении, что и R, F и U. Использование этой нотации для трехслойного куба более согласовано с многослойными кубами. Повороты всего куба:
Optimal solutions for the Rubik's Cube are solutions that are the shortest in some sense. There are two common ways to measure the length of a solution. The first is to count the number of quarter turns. The second is to count the number of outer layer twists, called "face turns". A move to turn an outer layer two quarter (90°) turns in the same direction would be counted as two moves in the quarter turn metric (QTM), but as one turn in the face metric (FTM, or HTM "Half Turn Metric", or OBTM "Outer Block Turn Metric"). The maximal number of face turns needed to solve any instance of the Rubik's Cube is 20, which was developed by David Singmaster. The following are standard moves, which do not move centre cubies of any face to another location:
The letters L, R, F, B, U, and D indicate a clockwise quarter turn of the left, right, front, back, up, and down face respectively. A half turn (i. e. 2 quarter turns in the same direction) are indicated by appending a 2. A counterclockwise turn is indicated by appending a prime symbol ( ′ ). However, because these notations are human oriented, we use clockwise as positive, and not mathematically oriented, which is counterclockwise as positive. The following are non standard moves
Non standard moves are usually represented with lowercase letters in contrast to the standard moves above. Moving centre cubies of faces to other locations:
The letters M, S and E are used to denote the turning of a middle layer. M (short for "Middle" layer) represents turning the layer between the R and L faces 1 quarter turn clockwise (front to back), as seen facing the L face. S (short for "Standing" layer) represents turning the layer between the F and B faces 1 quarter turn clockwise (top to bottom), as seen facing the F face. E (short for "Equator" layer) represents turning the layer between the U and D faces 1 quarter turn clockwise (left to right), as seen from the D face. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Instead, lowercase letters r, f and u are also used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. This is more consistent with expectations. In multiple layer cubes, numbers may precede face names to indicate rotation of the nth layer from the named face. 2R, 2F and 2U are then used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. Using this notation for a three layer cube is more consistent with multiple layer cubes. Rotating the whole cube:
The letters x, y and z are used to signify cube rotations. x signifies rotating the cube in the R direction. y signifies the rotation of the cube in the U direction. z signifies the rotation of the cube on the F direction. These cube rotations are often used in algorithms to make them smoother and faster. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Note that these spacial rotations are usually represented with lowercase letters.
Буквы x, y и z используются для обозначения вращений куба. x обозначает вращение куба в направлении R. y обозначает вращение куба в направлении U. z обозначает вращение куба в направлении F. Эти вращения куба часто используются в алгоритмах, чтобы сделать их более плавными и быстрыми. Как и в случае с обычными поворотами, цифра 2 обозначает пол-оборота, а штрих (') – поворот против часовой стрелки. Обратите внимание, что эти пространственные вращения обычно обозначаются строчными буквами.
Optimal solutions for the Rubik's Cube are solutions that are the shortest in some sense. There are two common ways to measure the length of a solution. The first is to count the number of quarter turns. The second is to count the number of outer layer twists, called "face turns". A move to turn an outer layer two quarter (90°) turns in the same direction would be counted as two moves in the quarter turn metric (QTM), but as one turn in the face metric (FTM, or HTM "Half Turn Metric", or OBTM "Outer Block Turn Metric"). The maximal number of face turns needed to solve any instance of the Rubik's Cube is 20, which was developed by David Singmaster. The following are standard moves, which do not move centre cubies of any face to another location:
The letters L, R, F, B, U, and D indicate a clockwise quarter turn of the left, right, front, back, up, and down face respectively. A half turn (i. e. 2 quarter turns in the same direction) are indicated by appending a 2. A counterclockwise turn is indicated by appending a prime symbol ( ′ ). However, because these notations are human oriented, we use clockwise as positive, and not mathematically oriented, which is counterclockwise as positive. The following are non standard moves
Non standard moves are usually represented with lowercase letters in contrast to the standard moves above. Moving centre cubies of faces to other locations:
The letters M, S and E are used to denote the turning of a middle layer. M (short for "Middle" layer) represents turning the layer between the R and L faces 1 quarter turn clockwise (front to back), as seen facing the L face. S (short for "Standing" layer) represents turning the layer between the F and B faces 1 quarter turn clockwise (top to bottom), as seen facing the F face. E (short for "Equator" layer) represents turning the layer between the U and D faces 1 quarter turn clockwise (left to right), as seen from the D face. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Instead, lowercase letters r, f and u are also used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. This is more consistent with expectations. In multiple layer cubes, numbers may precede face names to indicate rotation of the nth layer from the named face. 2R, 2F and 2U are then used to denote turning layers next to R, F and U respectively in the same direction as R, F and U. Using this notation for a three layer cube is more consistent with multiple layer cubes. Rotating the whole cube:
The letters x, y and z are used to signify cube rotations. x signifies rotating the cube in the R direction. y signifies the rotation of the cube in the U direction. z signifies the rotation of the cube on the F direction. These cube rotations are often used in algorithms to make them smoother and faster. As with regular turns, a 2 signifies a half turn and a prime (') indicates a turn counterclockwise. Note that these spacial rotations are usually represented with lowercase letters.
Нижняя граница
Можно доказать, подсчитав аргументы, что существуют позиции, для решения которых требуется не менее 18 ходов. Чтобы это показать, сначала подсчитайте общее количество возможных позиций куба, а затем подсчитайте количество позиций, достижимых не более чем за 17 ходов, начиная с решённого куба. Оказывается, что последнее число меньше. Этот аргумент долгое время оставался без улучшений. Кроме того, это не конструктивное доказательство: оно не указывает конкретную позицию, требующую такого количества ходов. Предполагалось, что так называемый суперфлип будет представлять собой очень сложную позицию. Куб Рубика находится в состоянии суперфлипа, когда все угловые элементы находятся на своих местах, но все рёберные элементы ориентированы неправильно. В 1992 году Дик Т. Винтер нашёл решение суперфлипа, состоящее из 20 поворотов граней, а в 1995 году Майкл Рид доказал его минимальность, тем самым предоставив новую нижнюю границу для диаметра группы куба. Также в 1995 году Майкл Рид нашёл решение суперфлипа, состоящее из 24 поворотов на 90 градусов, а Джерри Брайан доказал его минимальность.
Верхние границы
Первые верхние границы были основаны на "человеческих" алгоритмах. Комбинируя наихудшие сценарии для каждой части этих алгоритмов, типичная верхняя граница оказалась около 100. Вероятно, первым конкретным значением верхней границы было 277 ходов, упомянутых Дэвидом Сингмастером в начале 1979 года. Он просто подсчитал максимальное количество ходов, необходимое его алгоритму решения кубика. Хотя вся группа куба очень велика (~4.3×1019), правые смежные классы и гораздо меньше. Смежный класс является самым большим и содержит всего 1082565 элементов. Количество ходов, требуемых этим алгоритмом, является суммой максимального числа операций на каждом шаге. Изначально Тистлтвейт показал, что любую конфигурацию можно решить не более чем за 85 ходов. В январе 1980 года он улучшил свою стратегию, чтобы получить максимум 80 ходов. Позже в том же году он уменьшил это число до 63, а затем до 52. Алгоритмы Тистлтвейта были реализованы на различных языках программирования.
Although the whole cube group is very large (~4.3×1019), the right coset spaces and are much smaller. The coset space is the largest and contains only 1082565 elements. The number of moves required by this algorithm is the sum of the largest process in each step. Initially, Thistlethwaite showed that any configuration could be solved in at most 85 moves. In January 1980 he improved his strategy to yield a maximum of 80 moves. Later that same year, he reduced the number to 63, and then again to 52. There have been implementations of Thistlewaite's algorithm in various computer languages.
Алгоритм Коцембы
Алгоритм Тистлтвейта был улучшен Гербертом Коцембой в 1992 году. Он сократил количество промежуточных групп до двух:
Как и в алгоритме Тистлтвейта, он осуществлял поиск в правом косетовом пространстве, чтобы привести куб к группе Далее он искал оптимальное решение для группы. Поиски в и осуществлялись методом, эквивалентным итеративному углублению A* (IDA*). Поиск в требует не более 12 ходов, а поиск в – не более 18 ходов, как показал Майкл Рид в 1995 году. Также, генерируя субоптимальные решения, приводящие куб к группе и находя короткие решения в , обычно удается получить значительно более короткие общие решения. Используя этот алгоритм, обычно находят решения менее чем за 21 ход, хотя нет доказательств, что он всегда будет так делать. В 1995 году Майкл Рид доказал, что с помощью этих двух групп любую позицию можно решить не более чем за 29 поворотов граней или 42 четверть-поворотов. Этот результат был улучшен Сильвиу Раду в 2005 году до 40. На первый взгляд, этот алгоритм кажется практически неэффективным: если содержит 18 возможных ходов (каждый ход, его обратный ход и его вращение на 180 градусов), то остается (более 1 квадриллиона) состояний куба для поиска. Даже с эвристическим алгоритмом, основанным на компьютере, таким как IDA*, который может значительно сузить область поиска, поиск по такому количеству состояний вряд ли будет практичным. Для решения этой проблемы Коцемба разработал таблицу поиска, которая предоставляет точную эвристику для Когда точное количество ходов, необходимых для достижения , известно, поиск становится практически мгновенным: нужно лишь сгенерировать 18 состояний куба для каждого из 12 ходов и каждый раз выбирать состояние с наименьшей эвристикой. Это позволяет второй эвристике, для , быть менее точной и все же вычислять решение за разумное время на современном компьютере.
Дальнейшие улучшения и поиск числа Бога
В 2006 году Сильвиу Раду усовершенствовал свои методы, чтобы доказать, что любую позицию можно решить максимум за 27 поворотов граней или 35 четвертных поворотов. В 2007 году Даниэль Кункл и Джин Куперман использовали суперкомпьютер, чтобы показать, что все нерешенные кубики можно решить не более чем за 26 ходов (в метрике поворотов граней). Вместо попыток решить каждый из миллиардов вариантов явно, компьютер был запрограммирован на приведение кубика к одному из 15 752 состояний, каждое из которых можно было решить за несколько дополнительных ходов. Все позиции были доказаны решаемыми за 29 ходов, большинство – за 26. Те, которые изначально не могли быть решены за 26 ходов, затем были решены напрямую, и было показано, что и они тоже решаемы за 26 ходов. Томас Рокицки сообщил в 2008 году о вычислительном доказательстве того, что все нерешенные кубики можно решить за 25 ходов или меньше. Позже это число было уменьшено до 23 ходов. В августе 2008 года Рокицки объявил о наличии доказательства для 22 ходов. Наконец, в 2010 году Томас Рокицки, Герберт Косиемба, Морли Дэвидсон и Джон Детридж представили окончательное компьютерное доказательство того, что все позиции кубика можно решить максимум за 20 поворотов граней. А в 2014 году Томас Рокицки и Морли Дэвидсон доказали, что максимальное количество четвертных поворотов, необходимых для решения кубика, равно 26.