A Note on the Computational Complexity of Selfmate and Reflexmate Chess Problems

📝 Abstract
A selfmate is a Chess problem in which White, moving first, needs to force Black to checkmate within a specified number of moves. The reflexmate is a derivative of the selfmate in which White compels Black to checkmate with the added condition that if either player can checkmate, they must do that (when this condition applies only to Black, it is a semi-reflexmate). We slightly modify the reduction of EXPTIME-hardness of Chess and apply the reduction to these Chess problems. It is proved that selfmate, reflexmate, and semi-reflexmate are all EXPTIME-complete.
💡 Analysis
A selfmate is a Chess problem in which White, moving first, needs to force Black to checkmate within a specified number of moves. The reflexmate is a derivative of the selfmate in which White compels Black to checkmate with the added condition that if either player can checkmate, they must do that (when this condition applies only to Black, it is a semi-reflexmate). We slightly modify the reduction of EXPTIME-hardness of Chess and apply the reduction to these Chess problems. It is proved that selfmate, reflexmate, and semi-reflexmate are all EXPTIME-complete.
📄 Content
셀프메이트(selfmate)는 체스 퍼즐의 한 종류로, 백이 먼저 차례를 두고 정해진 수 안에 흑이 스스로 체크메이트하도록 강제해야 하는 문제를 말한다. 즉, 백은 자신의 수를 두어 흑이 반드시 체크메이트를 할 수밖에 없는 상황을 만들고, 흑은 그 체크메이트를 피할 어떠한 수단도 없도록 제한한다. 이때 “강제한다”는 의미는 체스의 일반적인 규칙과 달리, 흑이 어떤 방어 수를 두더라도 결국 체크메이트가 피할 수 없는 구조를 만들라는 뜻이다.
리플렉스메이트(reflexmate)는 셀프메이트에서 파생된 변형 형태이며, 백이 흑에게 체크메이트를 강제하는 동시에 “양쪽 플레이어 중 어느 한쪽이라도 체크메이트를 할 수 있는 경우 반드시 그 체크메이트를 실행해야 한다”는 추가적인 조건이 붙는다. 이 조건은 “체크메이트가 가능한 경우 반드시 실행한다”는 규칙으로, 일반적인 체스에서는 체크메이트를 피하려고 하는 것이 보통이지만, 리플렉스메이트에서는 체크메이트를 회피하려는 것이 금지되고 오히려 수행해야 하는 강제성이 부여된다. 따라서 백은 흑이 체크메이트를 할 수 있는 상황을 만들면, 흑은 그 체크메이트를 반드시 수행해야 하고, 동시에 백도 자신이 체크메이트를 할 수 있는 경우라면 반드시 체크메이트를 실행해야 한다.
이러한 조건이 흑에게만 적용되는 경우를 반리플렉스메이트(semi‑reflexmate)라고 부른다. 반리플렉스메이트에서는 백이 흑에게 체크메이트를 강제하는 동시에, 흑이 체크메이트를 할 수 있는 상황이 발생하면 흑은 반드시 그 체크메이트를 실행해야 한다. 반면 백은 “체크메이트가 가능한 경우 반드시 실행한다”는 규칙에 구속되지 않으며, 자신의 체크메이트 가능 여부와 관계없이 흑에게 체크메이트를 강제하는 목표만을 수행한다.
우리는 체스의 EXPTIME‑hardness(지수 시간 복잡도 하드) 증명에 사용된 기존의 복잡도 이론적 감소 과정을 약간 변형하고, 이 변형된 감소를 위에서 정의한 셀프메이트, 리플렉스메이트, 그리고 반리플렉스메이트 문제에 적용한다. 구체적으로, 기존의 체스 게임을 인코딩하는 논리 회로나 튜링 기계의 동작을 체스 보드 위의 기물 배치와 이동 규칙으로 변환하는 과정에서, 각 플레이어가 반드시 특정한 수 안에 승리하거나 패배하도록 강제하는 구조를 설계한다. 이때 설계된 보드와 기물 배치는 “백이 첫 수를 두면, 흑은 반드시 정해진 수 이내에 체크메이트를 해야만 하는” 상황을 만들도록 조정된다.
이러한 변형된 감소 과정을 통해, 주어진 제한된 수의 수 안에 흑이 체크메이트하도록 강제하는 셀프메이트 문제는 EXPTIME‑hard임을 보일 수 있다. 즉, 임의의 EXPTIME‑complete 문제를 셀프메이트 문제로 다항식 시간 안에 변환할 수 있음을 의미한다. 동시에, 셀프메이트 문제 자체는 EXPTIME에 속함을 보이는 결정 알고리즘을 제시함으로써, 이 문제가 EXPTIME‑complete임을 증명한다.
동일한 논리를 리플렉스메이트와 반리플렉스메이트에 적용하면, 이 두 문제 역시 EXPTIME‑hard임을 보이는 감소를 구성할 수 있다. 리플렉스메이트의 경우, “양쪽 모두 체크메이트를 할 수 있는 경우 반드시 실행한다”는 추가 조건을 만족시키도록 보드와 기물의 배치를 조정하면, 원래의 셀프메이트 감소와 거의 동일한 복잡도 구조를 유지한다. 반리플렉스메이트의 경우에도, 흑에게만 체크메이트 강제 조건을 부여하고, 백은 그 조건에 구속되지 않도록 설계함으로써, 동일한 EXPTIME‑hardness 결과를 얻을 수 있다. 또한, 각각의 문제에 대해 EXPTIME 안에 해결 가능한 알고리즘을 제시함으로써, 리플렉스메이트와 반리플렉스메이트도 EXPTIME‑complete임을 확인한다.
따라서, 셀프메이트, 리플렉스메이트, 그리고 반리플렉스메이트는 모두 계산 복잡도 이론에서 EXPTIME‑complete 문제군에 속한다는 결론에 도달한다. 이 결과는 체스 퍼즐의 복잡성이 일반적인 체스 게임의 복잡도와 동등하거나 그보다 높을 수 있음을 시사한다. 특히 체크메이트를 강제하는 특수한 규칙이 추가될 때, 문제의 난이도가 급격히 상승하여 지수 시간 복잡도 영역에 들어간다는 점을 명확히 보여준다.
요약하면, 우리는 기존 체스의 EXPTIME‑hardness 증명을 약간 변형하여 셀프메이트, 리플렉스메이트, 반리플렉스메이트라는 세 가지 특수 체스 퍼즐에 적용했으며, 각각이 EXPTIME‑complete임을 엄밀히 증명하였다. 이는 체스와 같은 전통적인 보드 게임에서도 매우 복잡한 논리적 구조와 계산적 난이도가 존재할 수 있음을 학문적으로 입증한 중요한 결과라 할 수 있다.