Rubik ‘s Cube를 해결하는 데 필요한 움직임 수가 로컬 최대 값입니까? Shor 는

Peter Shor 는 Rubiks 큐브 를 풀기의 복잡성에 대한 이전 질문 에 대답하려는 시도와 관련하여 흥미로운 점을 제기 했습니다 . 나는 그것이 NP에 포함되어야한다는 것을 보여주기 위해 다소 순진한 시도를 게시했습니다. Peter가 지적했듯이 일부 경우에는 접근 방식이 실패합니다. 이러한 인스턴스의 잠재적 인 사례 중 하나는 경로 길이에 로컬 최대 값이있는 경우입니다. 이것은 구성 에서 큐브를 해결하기 위해 이동 이 필요할 수 있음을 의미하며 , 또는 은 에서 한 번 이동하여 도달 할 수있는 위치에서 큐브를 해결하기 위해 이동합니다 . 경우에 반드시 그런 문제는 아닙니다S A A S A S A1 A S A S A 3 × 3 × 3

n×n×n

SA

A

SA

SA1

A

SA

는 큐브를 일반적으로 해결하는 데 필요한 최대 이동 수 ( 해당 큐브 의 신 수 )이지만 가 해당 큐브의 신 수보다 엄격히 적은 경우에는 확실히 문제가됩니다 . 그래서 내 질문은 그러한 지역 최대가 존재합니까? 큐브에 대한 대답조차도 흥미로울 것입니다.

SA

3×3×3



답변

Tomas Rokicki에게이 질문을하자마자 정답을 얻었습니다 ( “예, 지역 최대치”)

위치가 전체 대칭을 나타내는 경우 로컬 최대 값 (시작을 제외한 모든 것)이 필요합니다. 이것이 왜 QTM [quarter-turn metric]에 해당되는지 분명히 이해해야합니다. HTM [하프 턴 메트릭]의 경우 좀 더 미묘하지만 나쁘지는 않습니다.

이러한 위치는 QTM에서 거리 12, HTM에서 거리 6 (ponse asinorum)입니다 (U2D2F2B2L2R2).

왜 이것이 하프 턴 메트릭의 경우인지 모르겠습니다. 그러나 1/4 회전 메트릭의 경우 분명합니다. 전체 대칭이있는 위치에서 모든 인접 위치는 동일한 경로 길이에 있어야합니다 (모든 이동은 대칭에 의해 동일하므로). 따라서 전체 대칭 위치는 로컬 최대 값 또는 엄격한 로컬 최소값이어야합니다. 그러나 엄격한 지역의 최소값이 존재하지 수 있습니다 …이 있어야한다 일부 단지 거리의 정의함으로써 해결 상태로 거리를 줄여 이동. 대칭 인수 는 제공된 위치 예와 같이 큐브로 변환됩니다.

n×n×n


답변

다음은 로컬 최대 값을 찾을 수있는 위치를 제안하는 매우 추론적인 주장입니다. 를 풀기 위해 정확히 d 움직임 이 필요한 위치의 수라고 하자 . 이러한 위치에서 이동할 때마다 큐브는 거리 d 1 , d 또는 d + 1로 이동합니다 . 따라서 액세스 가능한 총 N d 1 + N d + N d + 1 위치가 있습니다. 각 위치에서 M 개의 이동 이있어 M 개의 새로운 위치로 이어집니다. 거리 d 에서의 위치

Nd

d

d1

d

d+1

Nd1+Nd+Nd+1

M

M

d

위치 중 어느 것도 d + 1 거리에 있지 않은 경우 로컬 최대 값 입니다. 접근 가능한 위치 (물론, 그렇지 않습니다. 이것은 휴리스틱 부분 임)에서이 위치를 무작위로 균일하게 가져 오면 다음과 같습니다.

M

d+1

Xd=P[ a given position at d is a local max ]=(Nd1+NdNd1+Nd+Nd+1)M=(1+Nd+1Nd1+Nd)M.

거리 에서 예상되는 최대 극대값 은 N d X d 입니다.

d

NdXd

들어 큐브, 소정의 위치로부터 이동의 수는 M = 18 , 및 추정을위한 N의 D가 제공된다 20 신의 번호 . 이 값을 사용하여 예상되는 최대 극대값의 수는 N 16 X 16 = 0.2 , N 17 X 17 = 9 × 10 9N 18 X 18 = 1.5 × 10 19 입니다. 따라서 지역 최대 값이 없을 것 같습니다

3×3×3

M=18

Nd

N16X16=0.2

N17X17=9×109

N18X18=1.5×1019

. 에서 D = 17 , 위치의 총 수는 것으로 추정된다 12 × 10 (18)을 하나의 로컬 최대를 발견하기 전에 억 개 위치를 테스트하기 위해 예상 할 수 있도록. 마지막으로 d = 18 에서는 20 개의 위치마다 로컬 최대 값을 기대합니다.

d16

d=17

12×1018

d=18


답변