다음 Matlab 스크립트는 조렌 하이트의 루빅스 큐브 시뮬레이터와 솔버를 사용하여 Mathworks에서 다운로드할 수 있습니다. 루빅스 큐브는 1974년 이모 루빅이 발명한 입체 조합 퍼즐입니다. 루빅스 큐브의 물리적 버전은 중앙 축에서 회전하는 작은 블록으로 구성됩니다. 고전적으로, 퍼즐은 여섯 얼굴을 가지고, 아홉 블록은 $ 3 시간 3 $ 광장에 배치 각. 루빅스 큐브의 더 복잡한 버전은 n시간 n$의 $N 함께 존재합니다. 각 블록에는 흰색, 빨간색, 파란색, 주황색, 녹색 또는 노란색으로 된 컬러 스티커가 있습니다. 퍼즐을 풀기 위해 플레이어는 큐브의 여섯 얼굴이 각각 하나의 색상으로 채워지도록 한 번에 하나의 블록 스트립을 회전해야 합니다. 루빅스 큐브에 대한 가능한 모든 법적 이동을 감안할 때 $A 이동 연결 집합(f,r,c)$은 GAMS 내에서 컴퓨팅에 의해 구성됩니다: bm_assc(m, f, r,c)=YES는 a(f,r,c)$에서 $m $m.$에 해당합니다. GAMS에 적합한 형식으로 NxNxN 루빅스 큐브를 생성하려면 run generateRubiks.m.

루빅스 큐브에 지정된 솔루션에 대한 이미지를 만들려면 plotRubiksCube.m을 사용합니다. 그림 (3) 및 (5)는 크기의 루빅스 큐브에 모델을 보여줍니다 $2시간 2시간 2 $와 6 셔플 과 $4 시간 4 시간 4 셔플. 다음은 루빅스 큐브에 대해 알아야 할 몇 가지 사항입니다. 이러한 점 중 일부는 처음에는 사소한 것처럼 보일 수 있지만 각 지점은 큐브에 더 많은 시간을 할애할수록 더 명확해질 수 있는 통찰력을 제공합니다. 올해 초, 루빅스 큐브의 세계에서 가장 빠른 솔버에 대한 비디오를 함께 넣어하면서, 나는 고전적인 퍼즐을 해결하기 위해 자신을 배우는 데 시간을 할애하기로 결정했다. 세계 큐브 협회의 공동 창립자 인 타이슨 마오 (Tyson Mao)는 WIRED의 사무실에 와서 한 시간 정도 시간을 보내면서 초보자에게 가는 방법을 가르쳤습니다. 그 후 그는 연습을 통해 평균 해결 시간을 1분 반 미만으로 줄이면 될 수 있다고 말했습니다. 90초는 스피드큐빙(세계에서 가장 빠른 큐버 평균 10초 미만)으로 빠르지는 않지만, 마오쩌둥은 자신과 같은 다블러에게 는 훌륭한 시간이 될 것이라고 말했습니다.

매년 수십 개의 루빅스 큐브 대회가 전 세계에서 열리며, 목표는 가능한 한 빨리 퍼즐을 해결하는 것입니다. 플레이어가 루빅스 큐브 구성을 해결할 수 있도록 쉽게 기억할 수 있는 여러 가지 알고리즘이 존재합니다. 그러나 이러한 퍼즐을 푸는 것은 플레이어에게만 관심이 있는 것이 아닙니다. 또한 가능한 한 적은 회전에서 루빅스 큐브를 해결하기 위해 효율적인 알고리즘을 설계하는 데 많은 학문적 관심이 있습니다. 컴퓨터와 모니터 근처 두 루빅스 큐브를 사용하는 사람이 사례 연구의 목표는 모든 시작 구성에서 $N n 시간 N 시간 N $ 루빅스 큐브를 해결할 수있는 혼합 정수 프로그램을 제시하는 것입니다. 매직 큐브 퍼즐의 훌륭한 버전.