설명
오프닝 북은 게임 초반 포지션을 위해 준비된 수의 데이터베이스입니다. 프로그램은 처음부터 계산하는 대신 북을 조회해 저장된 진행 중 하나를 고를 수 있습니다. PolyGlot 형식은 보통 .bin 확장자의 이진 파일에 이런 북을 저장하는 널리 호환되는 방식입니다.
각 항목의 내용
PolyGlot 북은 정렬된 16바이트 레코드의 연속입니다. 각 레코드는 네 값을 담습니다.
- Zobrist 해시라는 방식으로 포지션의 수치 지문 역할을 하는 64비트 키.
- 16비트로 인코딩한 수.
- 그 수가 선택되는 빈도에 영향을 줄 수 있는 16비트 가중치.
- 학습 정보 또는 프로그램별 용도로 예약된 32비트 learn 필드.
키로 포지션에 연결된 모든 수를 빠르게 찾습니다. 가중치는 보편적인 평가가 아니며 그 수가 최선임을 보장하지도 않습니다. 북을 만든 방법과 애플리케이션이 이 데이터를 해석하는 방식에 따른 선호를 나타냅니다.
PolyGlot이라는 이름은 엔진을 인터페이스에 맞추는 프로그램에도 쓰입니다. 어댑터와 북 형식은 역사적으로 관련이 있지만 같은 것은 아닙니다.
용법과 맥락
이 형식은 소프트웨어가 효율적으로 읽도록 설계되었습니다. FEN 문자열이나 텍스트 파일처럼 손으로 편집하기에는 적합하지 않습니다.
자주 혼동하는 개념
가중치와 평가
가중치는 북의 수 중에서 고르는 데 도움을 줍니다. 엔진 점수와 같지 않으며 그 자체로 최선의 수를 증명하지 않습니다.
형식과 어댑터로서의 PolyGlot
형식은 오프닝 북을 저장합니다. PolyGlot 프로그램은 일부 UCI 엔진을 CECP 인터페이스에 연결할 수도 있습니다.
출처
- 1.Polyglot book format, PolyGlot project
- 2.Polyglot opening book reading, python-chess
