내가 만든 보드게임을 AI와 두기
보드마당에 올린 게임에 AI 만들기를 요청하면, 그 게임의 규칙으로 스스로 두며 배운 AI 상대가 생깁니다. 혼자서도 플레이테스트를 하고, 선공과 후공 중 누가 유리한지도 숫자로 봅니다.
어떻게 배우나요
AlphaZero 방식입니다. 신경망이 어디에 둘지와 누가 유리한지를 어림하고, 몬테카를로 트리 탐색(MCTS)으로 몇 수 앞을 읽으면서 자기 자신과 수만 판을 둡니다. 그렇게 둔 판에서 다시 배우기를 되풀이합니다.
게임마다 그 게임의 규칙 코드로 따로 학습하므로, 세상에 처음 나온 창작 게임도 배울 수 있습니다. 학습한 AI는 내 브라우저에서 돌아서 서버를 기다리지 않고, 쉬움, 보통, 어려움 세 단계로 둡니다.
요청에서 대국까지
1. 게임 올리기
규칙을 써서 게임을 올립니다. 온라인 보드게임 만들기를 보세요.
2. AI 만들기
내 프로필의 "내가 올린 게임"에서 "AI 만들기"를 누릅니다. 요청은 계정마다 일주일에 한 번입니다.
3. 학습
운영자가 게임마다 한 시간쯤 학습해서 올립니다. 요청이 많으면 차례로 합니다.
4. 두기
게임 창에 "AI와 두기"가 생기고, 선공·후공 승률이 같이 나옵니다.
선공·후공 승률
학습 마지막 구간에 AI끼리 둔 판에서 선공이 이긴 비율, 무승부, 후공이 이긴 비율을 보여 줍니다. 학습용 대국이라 사람끼리 둘 때와 똑같지는 않지만, 한쪽이 크게 유리한 게임은 바로 드러납니다. 그럴 때는 후공에게 무언가를 더 주거나 시작 판을 바꾸는 식으로 규칙을 고쳐 보고, 다시 학습해서 숫자가 어떻게 바뀌는지 봅니다.
학습 기록으로 허점 찾기
학습하는 동안 AI가 둔 판을 다시보기로 볼 수 있습니다. 게임을 올린 제작자와 운영자만 봅니다. AI는 이기려고 무엇이든 해 보기 때문에, 끝나지 않는 판이나 사람이 놓친 규칙의 빈틈을 먼저 찾아내기도 합니다.
AI가 잘 배우는 게임
- 두 사람이 번갈아 두는 게임 (동시에 두는 게임은 배울 수 없습니다)
- 판에 보이는 것으로 두는 게임. 판에 안 보이는 정보(바둑의 패 자리, 체스의 캐슬링 권리 같은 것)는
observe()로 알려 줍니다 - 둘 수 있는 수의 목록(
legal())을 주면 더 빨리 배웁니다 - 학습 시간이 정해져 있어서, 판이 크고 한 판이 길수록 같은 시간에 덜 강해집니다
AI와 둘 수 있는 게임
자주 묻는 질문
- AI는 얼마나 강한가요?
- 정해진 시간만큼만 학습해서 게임마다 다릅니다. 틱택토처럼 작은 게임은 완벽한 상대와 모두 비길 만큼 배우고, 큰 게임은 아직 사람이 이길 수 있습니다.
- 돈이 드나요?
- 아니요. 게임을 올리는 것도, AI 만들기도 무료입니다.
- 규칙을 고치면 AI는 어떻게 되나요?
- 판과 행동의 모양이 같으면 예전 AI를 그대로 쓰고, 승률 아래에 다른 버전의 코드로 학습했다고 알려 줍니다. 새 규칙으로 다시 학습하려면 AI 만들기를 다시 요청합니다.