Wyjaśnienie
UCI oznacza Universal Chess Interface. Jest to protokół tekstowy umożliwiający interfejsowi graficznemu, czyli programowi wyświetlającemu szachownicę i elementy sterujące, komunikację z , programem obliczającym ruchy. Opcja UCI jest ustawieniem udostępnianym przez silnik temu interfejsowi, na przykład rozmiarem pamięci, liczbą wątków przetwarzania lub obsługą Chess960.
Gdy interfejs rozpoczyna sesję UCI, silnik ogłasza każdą opcję wraz z nazwą, typem oraz, gdy ma to zastosowanie, wartością domyślną, ograniczeniami lub dozwolonymi wyborami. Interfejs może przekształcić ten opis w widoczny element sterujący, a później wysłać polecenie setoption, aby zmienić wartość. Dostępne opcje zależą od silnika i jego wersji.
Pięć typów opcji UCI
- check: wartość prawda albo fałsz, zwykle wyświetlana jako pole wyboru.
- spin: liczba całkowita ograniczona wartością minimalną i maksymalną.
- combo: jeden wybór ze zdefiniowanego zestawu.
- button: jednorazowa czynność bez przechowywanej wartości, na przykład wyczyszczenie wewnętrznej tabeli.
- string: dowolny tekst, na przykład ścieżka do pliku.
Opcja nie jest ani regułą szachową, ani obietnicą powszechnej zgodności. Dwa silniki mogą używać różnych nazw, zakresów i wartości dla podobnych funkcji. Program sterujący powinien odczytywać to, co rzeczywiście ogłasza każdy silnik, zamiast zakładać stałą listę.
Częste nieporozumienia
UCI a opcja UCI
UCI jest całym protokołem komunikacyjnym, natomiast opcja UCI jest jednym ustawieniem udostępnianym za jego pośrednictwem.
Źródła
- 1.UCI Protocol and Stockfish Commands, Stockfish
- 2.UCI Protocol, backscattering.de
