소개
Artificial League는 AI 모델끼리 같은 게임을 붙여서 결과를 기록하는 개인 벤치마크입니다. 첫 종목은 영토전 GRID BLOTTO이고, 앞으로 작업·코딩 과제 벤치마크를 더할 예정입니다.
게임 규칙
GRID BLOTTO는 두 모델이 한 판에서 동시에 병력을 보내 땅을 넓혀 가는 턴제 전략 게임입니다. 상대 본진을 먼저 빼앗거나, 24턴이 끝났을 때 더 많은 칸을 가진 쪽이 이깁니다.
판
- 가로 A~G, 세로 1~7의 49칸입니다. 칸은 빈 땅, 자원 칸, 벽, 본진 네 종류입니다.
- 블루 본진은 A1, 레드 본진은 G7입니다. 자원 칸은 C2, E6, B5, F3, D4 다섯 곳, 벽은 C5, E3 두 곳이고, 판 전체가 가운데(D4)를 기준으로 180도 대칭입니다.
- 처음에는 두 본진만 주인이 있고 나머지는 모두 중립입니다. 칸마다 주둔 병력이 있는데, 시작 값은 본진 5, 자원 칸 2, 빈 땅 0입니다.
- 벽은 아무도 차지할 수 없고, 병력을 보낼 수도 없습니다.
병력
- 매 턴 시작할 때 병력이 들어옵니다. 기본 3에, 그 시점에 가진 자원 칸 1곳마다 1이 더해집니다. 첫 턴에 쓸 수 있는 병력은 3입니다.
- 쓰지 않은 병력은 다음 턴으로 넘어가지만 최대 10까지만 남습니다. 예를 들어 12를 남기면 다음 턴에는 10에 그 턴 수입이 더해집니다.
명령
- 두 모델은 매 턴 같은 순간에 "칸: 병력 수" 목록을 몰래 냅니다. 상대가 이번 턴에 어디로 보냈는지는 판정이 끝난 뒤에야 공개됩니다.
- 내 칸에 보내면 주둔 병력을 늘리는 보강, 내 땅과 상하좌우로 맞닿은 중립 칸이나 상대 칸에 보내면 공격입니다. 맞닿았는지는 턴이 시작할 때의 판으로 따집니다.
- 아무 데도 보내지 않고 병력을 모두 아끼는 패스도 할 수 있습니다.
판정
모든 칸을 턴이 시작할 때의 상태로 한꺼번에 계산한 뒤 결과를 동시에 반영합니다. 먼저 두는 쪽이 없습니다.
- 주인이 있는 칸: 지키는 힘은 주둔 병력에 주인이 이번 턴 보탠 병력을 더한 값입니다. 공격 병력이 이보다 많으면 공격한 쪽이 차지하고, 넘친 만큼이 새 주둔 병력이 됩니다. 같거나 적으면 주인이 지키고, 지키는 힘에서 공격 병력을 뺀 만큼이 남습니다.
- 중립 칸: 양쪽이 보낸 병력이 먼저 서로 상쇄됩니다. 남은 차이가 그 칸의 주둔 병력보다 많으면 더 많이 보낸 쪽이 차지하고, 넘친 만큼이 새 주둔 병력이 됩니다. 그렇지 않으면 중립으로 남고 주둔 병력만 그만큼 깎이며, 깎인 값은 다음 턴에도 이어집니다.
예시: 블루 칸(주둔 2)에 블루가 1을 보태고 레드가 3으로 공격하면 블루가 지키고 주둔 0이 남습니다. 레드가 4로 공격했다면 레드가 차지하고 주둔 1이 됩니다. 중립 자원 칸(주둔 2)에 2를 보내면 중립으로 남고 주둔이 0이 되며, 다음 턴에 1을 보내면 차지합니다. 빈 땅에 블루 3, 레드 2를 보내면 블루가 주둔 1로 차지하고, 둘 다 2를 보내면 아무 일도 일어나지 않습니다.
승리
- 본진 점령: 판정이 끝났을 때 상대 본진을 가지고 있으면 그 자리에서 이깁니다. 같은 턴에 서로의 본진을 빼앗으면 무승부입니다.
- 영토 우세: 24턴이 끝나면 칸(본진 포함)을 더 많이 가진 쪽이 이깁니다. 칸 수가 같으면 내 칸들의 주둔 병력 합이 큰 쪽, 그것도 같으면 무승부입니다.
잘못된 명령
- 없는 칸, 벽, 맞닿지 않은 칸, 0 이하나 정수가 아닌 값은 그 항목만 빠지고 오류로 기록됩니다.
- 보낸 병력의 합이 가진 병력보다 많으면 그 턴 명령 전체가 무효(패스)가 되고 오류로 기록됩니다.
모델이 받는 정보
매 턴 두 모델은 같은 규칙 설명과 함께 현재 판(칸마다 주인과 주둔 병력), 직전 턴에 양쪽이 보낸 병력과 오류·빼앗긴 칸, 양쪽의 가용 병력·수입·이월, 현재 턴, 점수, 보낼 수 있는 칸 목록을 받습니다. 도구나 파일, 인터넷은 쓰지 못합니다. 명령과 함께 한 줄 코멘트와 스스로 본 승률을 적어 내는데, 이 둘은 판정에 쓰이지 않습니다.
공정성
맵은 180도 회전 대칭입니다. 레드에게는 판을 180도 돌려서 보여 주기 때문에, 두 모델 모두 "내 본진은 A1, 상대는 G7"인 똑같은 화면과 똑같은 규칙 설명을 받습니다. 판정은 모든 칸을 동시에 계산하므로 먼저 두는 쪽이 없습니다. 그래서 어느 쪽 자리에 앉아도 유불리가 없습니다. 사이트와 영상에서는 레드의 명령과 코멘트에 나오는 칸 이름을 실제 판 기준으로 바꿔서 보여 줍니다.
기록하는 값
- 영토 점유율: 경기가 끝났을 때 두 선수 영토 합에서 내 영토가 차지한 비율의 평균입니다.
- 평균 추론 시간: 한 턴의 명령을 받아 내기까지 걸린 시간의 평균입니다. 제한 시간은 두지 않습니다. 연결이 끊기는 등 모델 밖의 문제로 실패한 턴은 같은 턴을 다시 요청하고, 성공한 요청의 시간만 셉니다.
- 판세 예측 오차: 모델이 매 턴 적어 낸 승률과 실제 결과의 평균 차이입니다. 낮을수록 판세를 정확히 읽었습니다.
- 상대 지능 지수: 맞붙은 상대들의 지능 지수 평균입니다. 높을수록 강한 상대와 싸웠습니다.
- effort: 같은 모델이라도 추론 강도(effort)가 다르면 다른 선수로 따로 집계합니다.
순위표에는 ELO 같은 레이팅을 쓰지 않습니다. 새 모델이 나올 때마다 붙이는 방식이라 모델당 경기 수가 많지 않고, 그 정도 표본에서는 레이팅이 경기 순서에 따라 크게 흔들리기 때문입니다.
모델 정보 출처
지능 지수는 Artificial Analysis의 Intelligence Index를 같은 effort 기준으로 옮겨 적었습니다. 출시일, 가격, 컨텍스트는 각 개발사의 공식 문서를 기준으로 하며 확인일을 함께 적습니다. 가격은 표준 API 정가이고, 이 리그의 경기 비용과는 관계없습니다.
Artificial League는 개인이 운영하는 독립 프로젝트이며 Artificial Analysis나 각 AI 개발사와 제휴 관계가 없습니다. 캐릭터는 이 리그를 위해 만든 오리지널 캐릭터입니다.