초급 단계에서 지뢰를 누를 확률은 흥미롭게도 0부터 9까지의 숫자를 차례로 나열한 소수이다. 즉, 아래와 같다.
![](https://img1.daumcdn.net/relay/cafe/original/?fname=http%3A%2F%2Fncc.phinf.naver.net%2Fncc02%2F2010%2F3%2F12%2F295%2F%25BC%25F6%25BD%25C41.jpg)
또 중급과 고급에서 지뢰를 누를 확률은 40/256=0.15625과 99/480=0.20625로 수준이 올라갈수록 지뢰를 누를 확률이 높아진다. 이렇게 ‘지뢰 찾기’는 어려운 게임이지만, 인터넷에서는 고급을 30초 대, 중급을 10초에 깼다는 놀라운 기록을 담은 동영상을 쉽게 볼 수 있다.
지뢰 찾기 게임은 P대 NP 문제의 열쇠?
![](https://img1.daumcdn.net/relay/cafe/original/?fname=http%3A%2F%2Fncc.phinf.naver.net%2Fncc02%2F2010%2F3%2F12%2F65%2F17.jpg)
격자의 어느 곳에 지뢰가 묻혀 있는지를 알아내는 단순해 보이는 이 게임이 지금까지 풀리지 않은 수학 문제는 물론 고도로 복잡한 컴퓨터 코드 해독의 열쇠가 된다면 어떨까? 영국 버밍엄 대학의 수학과 교수 리처드 케이(Richard Kaye)는 지뢰 찾기 게임의 지뢰밭의 크기를 확장함으로써 지뢰의 위치에 관한 조합을 결정하는 알고리즘을 발견할 수 있다면 지금까지 수학계의 주요 과제 중 하나인 P대 NP(P versus NP) 문제를 풀 수 있는 단서를 찾을 수 있다고 생각한 것이다. 이 P대 NP 문제는, 클레이 수학연구소(CMI, The Clay Mathematics Institute)에서 푸는 사람에게 100만 달러의 상금을 주겠다는 7개 문제 중 하나로도 유명하다.
케이 교수는 마인스위퍼 게임을 효율적으로 하는 방법이 있다면, 복잡한 인터넷 보안 코드 등 컴퓨터 코드를 효과적으로 해독하는 방법도 있을 것이라면서, 이번 발견이 난해한 수학문제해결에만 그치지 않고 컴퓨터 코드 해독에 적용되는 등 엄청난 영향력을 발휘할 수 있다고 전망했다.
P 문제는 ‘쉬운’ 문제
![](https://img1.daumcdn.net/relay/cafe/original/?fname=http%3A%2F%2Fncc.phinf.naver.net%2Fncc02%2F2010%2F3%2F12%2F65%2F17.jpg)
그렇다면 P 문제(Polynomial time problem, 다항시간문제)와 NP(Nondeterministic Polynomial time problem, 미정다항시간문제) 문제는 과연 무엇일까? P 문제는 주어진 문제를 푸는 알고리즘이 걸리는 시간이 어떤 다항식으로 나타날 때를 말한다.
예를 들어서 수열 5, 3, 6, 1, 4, 2를 재배열하여 1, 2, 3, 4, 5, 6가 되게 하는 방법을 생각해 보자. 이때, 재배열하는 방법은 앞에서부터 차례로 두 항을 비교해서 작은 수를 앞에 오게 하자. 이 방법을 처음부터 끝까지 적용하여 첫 번째 재배열한 것을 [단계1]이라고 하면 아래 그림에서 알 수 있듯이 모두 5번을 시행했으므로 걸린 시간을 5라고 할 수 있다. |