/vodka-ai-contest-1-reversi

First Vodka AI Contest - Reversi

Primary LanguagePython

보드카 배 리버시 AI 대회

대회 개요

DGIST의 구성원이라면 누구나 참가할 수 있는 게임 AI 대회입니다.

본 대회는 DGIST의 게임제작동아리 보드카게임즈의 후원을 받아 열리는 대회입니다.

리버시에 대해서

Renegade, 뒤집기, 오셀로 등 여러 이름으로 불리는 게임입니다.

  1. 무조건 검은색 플레이어부터 시작합니다.
  2. 각 플레이어는 번갈아 가면서 수를 둡니다.
  3. 각 플레이어는 최소 1개의 말을 뒤집을 수 있는 곳이 있다면 무조건 말을 둬야 합니다.
  4. 놓여진 말과 상하, 좌우, 대각선 8방향 안에 놓여진 첫 번째 자신의 말 사이에 있는 상대방의 말을 자신의 말로 뒤집습니다. 사이에 빈 공간이 있을 경우, 뒤집지 않습니다.
  5. 만일 수를 둘 수 없는 경우, 차례는 무시됩니다.
  6. 양 플레이어가 모두 말을 둘 수 없거나, 판이 가득 차면 게임은 종료됩니다.

여기에, 본 대회에서는 특별한 룰이 하나 추가됩니다.

  1. 64개의 칸 중, 가장 바깥쪽 28칸 중 매 판 랜덤으로 지정된 네 개의 칸은 누구도 말을 놓을 수 없습니다.

대회 상금

대회 상금은 다음과 같습니다.

우승 50,000 상당의 문화상품권
준우승 30,000 상당의 문화상품권
참가상 버거킹 와퍼 세트 기프티콘
  • 참가자 수에 따라, 상금 및 상품은 변경될 수 있습니다.
  • 기본으로 제공되는 ExampleGreedy 알고리즘을 대상으로 평균적으로 60% 이상의 승률을 보이는 알고리즘만 참가상을 수령할 수 있습니다.

대회 일정

대회 일정은 다음과 같습니다.

일시 내용 비고
2020/11/19 참가자 모집 마감 Github / 메일
2020/11/20 18:00 대회 내용 중계 유튜브 라이브 스트리밍 예정, 주소는 이후 공지
2020/11/20 20:00 시상식 및 종료 유튜브 라이브 스트리밍 예정, 주소는 이후 공지

대회 방식

대회는 최소 5명 이상의 참가자가 발생할 경우 시작됩니다.

대회는 리그전으로 시행되며, 각 유저는 다른 각각의 유저와 검정 시작 20번, 하양 시작 20번 총 40번의 경기를 치룹니다.

이기면 10점, 비기면 5점으로 취급하며, 최종 점수가 가장 높은 사람이 최종 우승자가 됩니다.

실행 시간이 점수에 반영됩니다. 각 게임마다 자기 차례의 실행 시간을 모두 더해서 5초까지는 감점이 없으며, 그 뒤로는 1초당 1점씩 최대 5점 감점됩니다.

또한, 만일 Agent에서 유효하지 않은 행동을 시도할 경우, 각 시도당 1점씩 감점되며 해당 턴은 유효한 랜덤한 움직임으로 결정됩니다. 최대 5점 감점됩니다.

아래는 예시입니다.

  • 승, 실행 시간 1.5, 실수 0번 = 얻는 점수 10
  • 승, 실행 시간 7.2, 실수 2번 = 얻는 점수 10 - 2.2 - 2 = 5.8
  • 패, 실행 시간 4.7, 실수 1번 = 얻는 점수 0 - 1 = -1
  • 무, 실행 시간 6.1, 실수 0번 = 얻는 점수 5 - 1.1 = 3.9

실행 시간은 중계를 진행하는 컴퓨터가 기준이며, 아래 PerformanceAnalysis.py 파일을 실행한 결과는 다음과 같습니다. 시간 비교는 절대적이지 않으니, 어디까지나 참고용으로만 사용하시기 바랍니다.

For loop 1000000 times 0.092637s
Shuffle and sort 200000 Elements 0.144050s
1000 by 1000 Matrix Multiplication 50 times with generation 4.391819s

제출 방식

제출은 두 가지 방법으로 할 수 있습니다.

  1. 본 Github Repository에 자신의 AI 파일을 Agents 폴더 내에 추가해 Pull Request를 보내고, 메일(coder@dgist.ac.kr)로 Github 계정명, 본명, DGIST 내 소속과 학번, 연락처 (상품을 받거나 기타 연락용, 핸드폰 번호나 이메일을 추천합니다.) 를 첨부.
  • Pull Request는 위 메일이 확인되면 Merge 됩니다.
  1. 메일(coder@dgist.ac.kr)로 소스 코드와 본명, DGIST 내 소속과 학번, 연락처 (상품을 받거나 기타 연락용, 핸드폰 번호나 이메일을 추천합니다.) 를 첨부.
  • 미리 보낼 경우, 작동 테스트가 가능하니 이를 추천합니다.
  • 본 대회를 위해 수집된 개인정보(본명, 연락처, 소속, 학번)은 본 대회의 운영을 원활히 하기 위한 목적과 대회 종료후 동아리 활동 내역 보관 목적으로서 저장되며, 다른 용도로 사용되지 않습니다.
  • 제출한 AI Agent 코드는 본 퍼블릭 레포지토리에 공개됩니다.

AI Agent 관련 사항

본 레포지토리의 Wiki 페이지 를 참조해 주세요.