유니버설 체스 인터페이스
Universal Chess Interface유니버설 체스 인터페이스(Universal Chess Interface, UCI)는 체스 엔진이 사용자 인터페이스와 통신할 수 있도록 하는 개방형 통신 프로토콜이다.[1][2]
역사
2000년 11월, UCI 프로토콜이 발매되었다.루돌프 휴버와 슈레더의 저자인 스테판 마이어-칼렌이 디자인한 UCI는 XBoard/WinBoard와 함께 도입된 구형 '체스 엔진 통신 프로토콜'에 필적한다.
2002년 프리츠를 시판하는 체스 소프트웨어 회사인 체스베이스는 기존에 몇 개의 인터페이스와 엔진만으로 지원되던 UCI를 지원하기 시작했다.
2021년[update] 현재 300개가 훨씬 넘는 엔진이 UCI를 직접 지원하는 것으로 알려져 있다.
디자인
설계에 의해 UCI는 전통적으로 엔진(비즈니스 계층) 자체에서 처리되어 온 사용자 인터페이스(즉, 프레젠테이션 계층)에 일부 작업을 할당한다.[citation needed]
가장 주목할 만한 것은, 일반적으로 오프닝 북은 단순히 책이 없을 때까지 플레이할 동작을 선택하고, 그 다음에야 결과 위치에서 계산을 위해 엔진을 시동하는 것으로 UI에 의해 처리될 것으로 예상된다.UCI는 오프닝 북에 온디스크 포맷을 지정하지 않는다.다른 UI들은 대개 그들만의 독점적 형식을 가지고 있다.[citation needed]
UI는 엔드게임 테이블베이스를 처리하는 것도 책임질 수 있지만, 테이블베이스 정보를 갖는 것이 가능한 미래 위치를 고려하는 데 유용할 수 있기 때문에 엔진 자체에서 훨씬 더 잘 처리된다.[3]
슈레더에서 스테판-마이어 칼렌의 UCI 프로토콜은 움직임에 긴 대수 표기법을 사용한다.엔진에서 GUI로 "nullmove"를 0000으로 보내야 한다.[4]
- 예
- e2e4
- e7e5
- e1g1(흰색 짧은 캐슬링)
- e7e8q(승진용)
특징들
uci_limit강도 매개변수는 이 기능이 있는 엔진에 더 낮은 레벨에서 작동하도록 지시한다.uci_elo 매개변수는 엔진이 작동하기 위한 Elo 등급을 지정한다.uci_elo를 구현한 엔진으로는 델피, 프리츠, 히아르크스, 후디니, 주니어, 렙카, 슈레더, 쩡, 스톡피쉬 등이 있다.
변형
UCI는 체스 변형을 하도록 수정되었다.이들 중 일부는 다음과 같다.[5]
또한 이러한 각 프로토콜은 PGN과 FEN의 변형을 정의할 수 있다.XBoard CECP는 변형을 지원하기 위해 훨씬 적은 변경을 필요로 한다고 한다.[5]
참고 항목
- 체스 엔진 통신 프로토콜(XBoard 프로토콜)
- 슈레더
- 엑스보어드
참조
- ^ "Chess engines". Business World Online. 2017-04-06. Retrieved 2018-06-14.
- ^ Torres, JC (2014-06-23). "Lichess embraces blind players with new chess site features". SlashGear. Retrieved 2018-06-14.
- ^ Chess Life. United States Chess Federation. 2003.
- ^ "UCI protocol". wbec-ridderkerk.nl. Retrieved 2018-06-14.
- ^ a b Evert. "UCI protocol for chess variants". TalkChess.com.
- ^ "The Universal Shogi Interface (USI)". hgm.nubati.net.
- ^ "中国象棋电脑应用规范(五):中国象棋通用引擎协议". www.xqbase.com.