thomasahle/sunfish
Sunfish: a Python Chess Engine in 111 lines of code
해결하는 문제
Sunfish는 단순하고 읽기 쉬우며, 플레이가 가능할 정도의 충분한 성능을 갖추도록 설계된 미니멀한 체스 엔진입니다. 개발자가 체스 프로그래밍에서 탐색 알고리즘, 평가 함수 및 딥러닝을 실험할 수 있는 학습 플랫폼 역할을 하는 컴팩트한 코드베이스를 제공합니다.
작동 방식
이 엔진은 Python으로 작성되었으며 MTD-bi (C*) 탐색 알고리즘을 사용합니다. 효율적으로 업데이트 가능한 평가 함수를 위한 Piece Square Tables와 데이터 구조를 위한 표준 Python 컬렉션과 같은 클래식한 체스 엔진 기술을 채택하고 있습니다. 또한 특화된 NNUE (Efficiently Updatable Neural Network) 버전도 제공되며, 이는 학습된 신경망 잔차를 단일 Python 정수에 담아 매우 작은 크기를 유지하면서도 경기력을 향상시킵니다.
대상 사용자
체스 엔진의 읽기 쉬운 참조 구현체나 자신만의 파생 엔진을 만들기 위한 기반을 원하는 개발자, 학생 및 체스 엔진 애호가를 대상으로 합니다.
주요 특징
- 초소형: 핵심 엔진은 약 152행의 코드로 구성되어 있습니다.
- UCI 호환: Arena, Cute Chess, PyChess와 같은 표준 체스 GUI와 함께 작동합니다.
- NNUE 지원: 크기가 불과 몇 킬로바이트에 불과한 신경망 기반 평가 버전을 포함합니다.
- 확장성: 병렬 탐색, 딥러닝 및 평가 튜닝을 실험하기 위한 플랫폼으로 특별히 설계되었습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트