- 약 2KB 크기로 동작하는 경량 체스 엔진으로, 제한된 규칙 내에서 완전한 게임 진행이 가능함
-
120셀 메일박스 보드, 네가맥스 탐색, 알파-베타 가지치기 등 핵심 알고리듬을 포함함
-
기물 가치 기반 평가(material-only eval) 와 캡처 우선(move ordering) 방식을 사용함
- 캐슬링, 앙파상, 승진, 반복, 50수 규칙 등은 미구현 상태임
- 약 1170~1200 Elo 수준의 성능을 보이며, 2KB 이하 코드로 체스 엔진을 구현한 사례로 주목받음
프로젝트 개요
- Sameshi는 제한된 규칙을 지원하는 최소형 체스 엔진으로, 전체 코드 크기가 약 1.95KB에 불과함
- 주요 파일은 sameshi.h이며, 읽기 쉬운 버전은 readable/sameshi.h에 포함됨
- GitHub 저장소에는 main.c, Makefile, .gitignore 등이 함께 제공됨
-
데모 영상이 YouTube에 공개되어 있으며, 실제 동작을 확인할 수 있음
핵심 구조 (core)
- 엔진은 다음 여섯 가지 주요 구성 요소로 이루어짐
-
120셀 메일박스 보드 구조
-
Negamax 탐색 알고리듬
-
Alpha-Beta 가지치기
-
기물 가치 기반 평가(material-only evaluation)
-
캡처 우선(move ordering)
-
체크·체크메이트·스테일메이트를 포함한 완전한 합법 수 검증
-
미구현 기능으로는 캐슬링, 앙파상, 승진, 반복, 50수 규칙이 명시되어 있음
성능 (strength)
- 약 1170 Elo 수준으로 평가되며, 95% 신뢰구간은 1110~1225 Elo
-
Stockfish (1320~1600 레벨) 과 240판 대국 결과를 기반으로 측정됨
-
깊이 5(fixed depth 5) , 최대 60플라이, 제한된 규칙 조건에서 테스트됨
기술적 특징
- 전체 코드 크기가 2KB 미만으로, C 언어 98.6% , Makefile 1.4% 로 구성됨
-
경량화와 알고리듬 효율성을 극대화하여, 최소한의 코드로 체스 로직을 구현함
-
체스 엔진(chess-engine) , 체스(chess) , 데모씬(demoscene) 관련 주제로 분류됨
저장소 현황
- GitHub에서 143개의 스타, 5개의 포크를 기록함
- Issues, Pull requests, Projects, Security 항목은 모두 비어 있음
- 저장소 설명은 “a ~1200 Elo chess engine that fits within 2KB”로 요약됨