Universal schackgränssnitt

Universal Chess Interface ( UCI ) är ett öppet kommunikationsprotokoll som gör det möjligt för schackmotorer att kommunicera med användargränssnitt .

Historia

I november 2000 släpptes UCI-protokollet. Designad av Rudolf Huber och Stefan Meyer-Kahlen , författaren till Shredder , konkurrerar UCI med det äldre "Chess Engine Communication Protocol" som introducerades med XBoard/WinBoard .

2002 började Chessbase , schackmjukvaruföretaget som marknadsför Fritz , stödja UCI, som tidigare endast hade stöds av ett fåtal gränssnitt och motorer.

Från och med 2021 är långt över 300 motorer kända för att direkt stödja UCI.

Design

Genom designen tilldelar UCI vissa uppgifter till användargränssnittet (dvs presentationslagret) som traditionellt har hanterats av motorn (i affärslagret) själv. [ citat behövs ]

Mest anmärkningsvärt är att öppningsboken vanligtvis förväntas hanteras av användargränssnittet , genom att helt enkelt välja drag att spela tills den är slut, och först därefter starta motorn för beräkning i den resulterande positionen. UCI specificerar inte något format på disken för öppningsboken. Olika användargränssnitt har vanligtvis sina egna proprietära format. [ citat behövs ]

Medan användargränssnittet också kan ta ansvar för att hantera slutspelstabellbaser , hanteras detta utan tvekan bättre i själva motorn, eftersom att ha tabellbasinformation kan vara användbart för att överväga möjliga framtida positioner.

Stefan-Meyer Kahlens UCI-protokoll i Shredder använder en variant av lång algebraisk notation för drag. En "nullmove" från motorn till GUI ska skickas som 0000.

Exempel
  • e2e4
  • e7e5
  • e1g1 (vit kort slott)
  • e7e8q (för marknadsföring)

Funktioner

Parametern uci_limitstrength talar om för motorer med denna funktion att spela på en lägre nivå. Parametern uci_elo specificerar Elo-betyget som motorn ska sikta på att spela på. Motorer som har implementerat uci_elo inkluderar Delfi , Fritz , Hiarcs , Houdini , Junior , Rybka , Shredder , Sjeng och Stockfish .

Varianter

UCI har modifierats för att spela några schackvarianter . Några av dessa är:

  • Universal Shogi Interface (USI), en dialekt för shogi ;
  • Universal Chinese Chess Interface (UCCI), en dialekt för xiangqi .

Vart och ett av dessa protokoll kan också definiera varianter av PGN och FEN. XBoard CECP sägs kräva mycket färre ändringar för att stödja varianter.

Se även

externa länkar