27. 완전 정보 게임
[11-2주차]
2024년
1월 14일 일요일
오전 3:10
<완전 정보 게임>
완전 정보 게임
 
불완전 정보 게임
 
 
<NIM>
한 턴을 플레이할 때마다 문제의 크기가 줄어든다는 것이 보장된 게임.
문제의 크기가 줄어든다 : 체스에서 말 하나가
죽으면 말의 개수가 줄어드므로 문제 사이즈가 줄어든다.
 
 
<NIM의 예 :
바둑돌 가져가기>
바둑돌이 K개 있다. 두 사람이 번갈아가며 자신의 차례에 1개 또는 2개의 돌을 가져갈 수 있다. 자신의 차례에 동작을 할 수 없으면
그 사람이 진다. 두 사람이 최선의 선택을 한다고 가정했을 때, 누가
이기는 지 맞추는 방법은?
 
바둑돌의 개수를 3의 배수로 맞추고 턴을 넘기는
사람이 무조건 이길 수 있다.
(반대로, 바둑돌의
개수가 3의 배수인 상태에서 턴을 넘겨받으면 상대방이 최선의 선택을 할 때 절대로 이길 수 없다)
즉, 턴을 넘겨받을 때 바둑돌의 개수가 3의 배수만 아니면 무조건 이길 수 있다.
 
상대방이 3n개를 넘겨받았다면, 다음 턴에 나는 3n-1또는
3n-2개를 넘겨받게 된다.
내가 2개, 1개를
가져가면, 상대방은 3n-3개를 넘겨받는다.
따라서 상대방이 3의 배수를 넘겨받으면, 무조건 다음 턴에도 상대방이 3의 배수를 넘겨받도록 할 수 있다.
 
상대방이 3개를 넘겨받았다면, 상대방이 몇 개를 가져가든 내 턴에 나머지 바둑돌을 모두 가져갈 수 있으므로 결국 이기게 된다.
 
 
<바둑돌 가져가기2>
바둑돌이 K개 있다. 두 사람이 번갈아가며 자신의 차례에 1개, 3개, 4개의 돌을 가져갈 수 있다. 자신의 차례에 동작을 할 수 없으면 그 사람이 진다. 두 사람이
최선의 선택을 한다고 가정했을 때, 누가 이기는지를 구하시오.
 
D(i)를 다음과 같이 정의한다.
(완전 정보 게임이므로 무조건 이기거나 무조건 지는 경우만
존재)
 
D(i)에 대해 다음 점화식을 세울 수 있다.

 
D(0) = 0, D(1) = 1, D(2) = 0, D(3) = 1,
D(4) = 1 임은 쉽게 알 수 있다.
 
위 점화식과 초깃값을 이용하여 D배열을 0부터 채우면, 몇 개의 돌을 넘겨받은 사람이 이기는지를 알 수 있다.

 
OneNote에서 작성되었습니다.