님게임

님게임(Nim Game)이 쏘아 올린 작은 공

님생선구이 2024. 3. 13. 23:00

 

* 님게임(NIM GAME) 총정리

 

1. 님게임이란?

님(Nim)은 수학적 전략 보드게임이다.

몇개의 줄에 숫자나 자연수개의 돌을 두고 순서대로 돌아가면서

한 줄에서 정해진 수의 숫자를 제거한다. 가져오는 숫자에는 상한이 있고

마지막 돌을 가져오는 사람이 이긴다.

[변형] 마지막 돌을 가져오는 사람이 지는 것으로 하기도 한다.

줄이 하나인 경우에 대응되는 것으로 1부터 시작해서

서로 몇개부터 몇개까지 정해진 개수의 숫자를 부르고

(예를 들어 처음 3개를 부를 때는 1, 2, 3) 마지막 수로 정해진 수를

부르면 이기거나 지는 것으로 하기도한다.

님은 여러 가지 수학 문제에서 많이 사용된다. [출처 위키백과]

 

2. 님게임의 한 종류인 베스킨라빈스 31게임

두 명이 번갈아 1부터 31까지 수를 얘기하는데

최소 1개이상 몇 개까지는 선택을 하고 둘 중 마지막 31을

외치는 사람이 이기든지 지든지 정하고 하는 게임.

- 규칙 정하기

가. 31 외치면 이기기

나. 3개까지 가능

 

- 해법

한 번 외칠 수 있는 개수(3) +1로 31 나누면

4x7=28 나머지 3 먼저 1,2,3 외치면 100% 승리

3개까지 외칠 수 있으므로 상대방은 1개, 2개, 3개 얘기할 수 있음

상대방이 1개 외칠 수 3개 외치고, 상대방이 2개 외치면 2개 외치고,

상대방이 3개 외치면 1개 외쳐서 항상 4개 전진할 수 있습니다.

따라서 외칠 수 있는 수(3) +1 로 나누어 나머지 먼저 말하면

항상 승리하게 됩니다.

 

1,2,3, | 4,5, 6,7, | 8,9,10,11, | 12,13,14,15, | 16,17,18,19, | 20,21,22,23,

| 24,25,26,27,| 28,29,30,31

이렇게 1,2,3 먼저 외치면 아님 7,11,15,19,23,27을 외치면 4개씩 전진할 수 있어

31 외칠 수 있습니다.

만약 31 외치면 패배라고 규칙 정한다면 1,2 외치면 30까지 28개 이므로

4x7=28이므로 30을 외칠 수 있어 무조건 승리합니다.

 

5개까지 가능하다면 5+1인 6으로 나누어 나머지 만 외치면 항상 승리합니다.

이렇게 님게임은 승리 방법이 있습니다.

 

바둑도 유한한 경우지만 인간에게는 무한대에 가까워서 인간이 완전하게

정복하기는 불가능에 가깝습니다. 그나마 인공지능은 인간보다 더 많이

완벽에 접근할 수 있습니다.

이세돌이 영민한 사람이라는 것을 알 수 있는 것이 인공지능(알파고)에게는

안 된다는 것을 빨리 간파하고 바둑 그만 둔 것입니다.

최근 시점에 인공지능 최강과 인간 최강의 차이는 3점 깔아도 인공지능

이기기 힘들다고 합니다. 앞으로 양자컴퓨터 나오면 더 차이가 늘어날 겁니다.

이래서 처음부터 저도 바둑에 도전하지 않았습니다.

그 대신 완전 정복 가능한 님게임을 선택해서 거의 마스터가 되었네요.

 

세상에 유한한 것과 무한한 것이 있는데 그 중에서도 인간에게 무한에

가까운 것들이 꽤 있습니다. 그 중 하나가 바둑이고, 또 우주입니다.

우주는 무한 하지는 않은 것 같은데 인간에게는 무한한 것이나 마찬가지입니다.

우리 은하는 4천 억개 이상의 항성(태양과 같은 스스로 빛나는 천체, 즉 별)이 있고,

잘 알려진 안드로매다 은하는 조 단위로 항성이 있다고 합니다.

또 이런 은하들이 조 단위 보다 많다고 합니다.

그러니 그 크기는 인간에게 상상하기도 힘들 정도 입니다.

거기다 안드로메다 은하까지의 거리는 250만 광년이나 됩니다.

지금 보는 안드로메다 은하는 250만년 전에 출발한 빛인 거죠.

빛의 속도가 1초에 30만 km 간다니까 1년 만 날아가도 머리 복잡한데

250만년을 간다니 생각하기도 힘드네요.

그러니 인간은 현 상황으로는 우주는 무한에 가까운 것이죠.

그래도 이제 겨우 우리나라가 달에 간다는데 어떤 느낌일까요!

도전은 아름다운거니까 응원합니다. 도전, 도전, 도전.

 

3. 님게임 종류

 

가. 3, 5, 7 게임

 

O O O

O O O O O

O O O O O O O

 

한 줄에서 만 가져 갈 수 있고, 한 줄에서는 다 가져 갈 수도 있고,

번갈아 가져 가서 마지막에 하나 남기기 또는 마지막 하나 가져가기

 

나. 위 게임 개수 임의대로

 

위 3,5,7 게임을 개수 제한 없이 만들면 게임 됨.

예를들면

4,6,8,10

3,6,8,12,15

3,6,9,14,18 등등

이렇게 제한 없이 게임을 만들 수 있습니다.

 

다. 정사각형 도착점에 먼저 도착하기

 

출발점에서 번갈아 움직여 도착점에 먼저 도착하기

항상 오른쪽과 위로 만 갈 수 있고, 오른쪽이나 위 개수는 관계없고

오른쪽으로 가던지 위로 한번 가야 함.

사각형 개수는 마음대로 늘려도 됨. 따라서 정사각형 n 게임 이랄까!

정사각형 11게임, 정사각형 12게임, 정사각형 13게임 등등.

 

라. 바둑돌 번갈아 빼서 마지막 한 개 남기기 또는 마지막 한 개 가져가기

 

바둑돌을 아래와 같이 붙여 놓고 한 줄에서는 다 가져 갈 수 있고,

바둑돌이 1센치 넘는데 1센치 이하로 붙어 있는 돌은 다 가져갈 수 있고,

두 줄이상은 안되고, 중간에서 돌을 빼 가도 되는데 돌을 움직일 수는 없고,

따라서 중간에 돌 빼면 한 줄도 두 줄이 되는 것이죠.

첫 줄에서 7개인데 가장 중간 돌 빼면 3개, 3개씩 되어 줄이 한 줄 더 생긴

효과가 생깁니다. 이제는 그 줄은 최대 3개까지 가져 갈 수 있습니다.

이런 식으로 해서 마지막 한 개 남기기 게임이나 마지막 한 개 가져가기

게임입니다.

개수은 아래 그림과 같이 했지만 마음대로 늘릴 수 있습니다.

게임 형태가 얼마든지 가능하겠죠.

 

(게임 예)

OOOOOOO

OOOOOOOOOOO

OOOOOOOOOOOOOOO

 

마. 세 개 주머니에 몇개의 돌이 있는 데 마지막 돌 꺼내면 승리

[출처:OHGYM]

 

 

이를 반복하여 가져갈 구슬이 없을 지는 게임이다.

 

이 외에도 여러 형태가 있겠지만 다 해법이 있다는 거 참 신기하죠.

 

grundy number라는 것도 있다.

 

grundy number는 nimber라고도 불리는데 nim game과 비슷하게

필승전략을 짜는 방법니다.

 

2 x n 게임판이 있고, 번갈아 가면서 게임을 진행한다. 각 플레이어는

1x1 또는 2x2의 정사각형을 하나씩 색칠할 수 있는데, 모든 칸이

색칠되어 더 이상 진행할 수 없는 플레이어가 지는 게임이다.

이때 X 표시된 칸에는 색칠할 수 없다.

 

기본형

 

다중형

 

이런 것들도 다 필승전략이 있다.

 

이걸 다 휴대폰 게임으로 만들면 돈 좀 벌텐데 아직 도전을 못하고 있네요.

프로그램 공부를 해야하는데 시작을 못했습니다.

 

그래서 로또에 도전했고, 로또조합프로그램을 만들었습니다.

엑셀 64비트에서 작동합니다.

저작권 등록도 되어 있습니다.

1에서 45까지 45개 수 중에 선택한 수를 최소, 최대 조건을 입력하면

그 조건에 맞는 조합 만 뽑아내는 프로그램입니다.

필요없는 필터링(ac값, 배수, 궁도 등)은 안 넣었습니다.

오로지 45개 수 중 선택한 수에 당첨 6개 포함되고 조건 다 맞으면

1등 당첨 조합 추출됩니다.

아래 화면은 프로그램 첫화면입니다.

                                                                    [로또조합프로그램 첫 화면]

 

관심 있으시면 네이버카페나 유튜브에 로또세상 가시면 프로그램

실행 영상들이 업로드 되어 있습니다.

또 네이버카페 로또세상Lotto World에서 판매하고 있습니다.

 

로또도 마스터가 되자!

 

'님게임' 카테고리의 다른 글

님게임 이란?  (0) 2024.03.14