과학

SortStack 퍼즐 디자인에 숨겨진 수학: 모든 퍼즐이 100% 풀리는 원리

2026년 3월 29일 · 6분 분량

로직 게임에서 30분간 퍼즐을 응시하다가 수학적으로 불가능한 시나리오라는 것을 깨닫는 것보다 최악의 기분은 없습니다. PuzzleVault의 SortStack을 구축할 때 엄격한 약속을 했습니다: 플레이어에게 생성되는 모든 퍼즐은 100% 수학적으로 풀 수 있어야 합니다.

무작위 생성의 결함

5가지 색상의 20개 블록을 6개의 빈 스택에 무작위로 배치하면, 풀 수 없는 레이아웃이 생성될 확률이 놀랍도록 높습니다. 특정 색상 조합이 필수 블록을 다른 블록 아래에 가두어 영구적인 교착 상태를 만들 수 있습니다.

역추적 알고리즘

SortStack은 퍼즐을 거꾸로 생성합니다. JavaScript 엔진이 먼저 완벽한 승리 상태를 만듭니다 — 모든 스택에 같은 색의 블록이 정확히 4개씩 정렬된 상태입니다. 이 상태에서 알고리즘이 게임을 역방향으로 플레이합니다. 올바르게 정렬된 스택의 맨 위 블록을 다른 스택으로 "역이동"시킵니다.

이 과정을 수백, 때로는 수천 번 반복하여 보드를 복잡하게 뒤섞습니다. 성공 상태에서 거꾸로 추적했기 때문에, 수학적으로 최소 하나의 해결 경로가 반드시 존재합니다.

복잡성과 플레이 가능성 보장

단순히 역방향으로 뒤섞는 것만으로는 재미있는 퍼즐이 되지 않습니다. 알고리즘은 스크램블링 단계에서 고급 휴리스틱 검사를 수행합니다. 역이동이 "너무 명백한" 시나리오를 만들면 해당 분기를 거부하고 다른 순열을 시도합니다.

수학적 공정성이 중요한 이유

플레이어가 SortStack에서 실패하고 마지막 턴에 움직임이 부족할 때, 그것이 자신의 전략적 실수 때문이라고 느껴야 합니다. 불공정한 무작위 함정 때문이 아니라. Expert 레벨에서 막혀도 확인된 수학적 해결책이 반드시 존재합니다. 찾기만 하면 됩니다.