Shakkimoottori ( eng. Chess engine ) - tietokoneohjelma, joka on suunniteltu laskemaan shakkiliikkeitä .
Useimmilla shakkikoneilla ei ole omaa graafista käyttöliittymää (GUI), mutta on olemassa lisäsovelluksia, jotka tarjoavat sellaisen, kuten XBoard for Linux ja WinBoard for Windows .
GNU Chessin komentoriviliittymästä tuli de facto aloitusstandardi, nimeltään Chess Engine Communication Protocol, ja sitä tuettiin ensimmäisen kerran XBoardissa . Kun XBoard siirrettiin Windows-käyttöjärjestelmään nimellä WinBoard, tämä protokolla nimettiin uudelleen "WinBoard Protocoliksi". WinBoard-protokolla on päivitetty itsenäisesti, ja kahta protokollaversiota kutsutaan nimellä "WinBoard Protocol 1" (alkuperäinen versio) ja "WinBoard Protocol 2" (uudempi versio). On olemassa toinen protokolla - universaali shakkirajapinta (Universal Chess Interface, UCI ). Jotkut ohjelmat tukevat molempia protokollia, mutta jokaisella niistä on kannattajansa. Winboard-protokolla oli suosittu aiemmin, mutta nyt de facto standardi on UCI, monet shakkiohjelmistojen kehittäjät uskovat, että yleistä shakkikäyttöliittymää on helpompi käyttää. Jotkut käyttöliittymäohjelmat (esim. Arena) tukevat molempia protokollia, kun taas toiset tukevat vain yhtä ja ovat riippuvaisia lisäosista, kuten Polyglot [1] .
Tietokoneturnausten tulokset mahdollistavat shakkimoottoreiden vahvuuden vertailun. Luultavasti turnaukset eivät sisällä tarpeeksi pelejä niiden vahvuuden tarkkaan arvioimiseen. Luotettavien johtopäätösten tekemiseksi ohjelmien vahvuudesta on tarpeen pelata noin tuhat peliä niiden välillä, joten käytännössä turnaukset toimivat eri tavalla [2] . Suuremman objektiivisuuden saavuttamiseksi monet turnaukset asettavat samat vaatimukset laitteiston teholle kaikille osallistujille.
Historiallisesti kaupalliset shakkimoottorit ovat olleet vahvimpia. Rybka voitti tietokoneshakin maailmanmestaruuden vuosina 2007, 2008 ja 2009 , mikä oli jonkin verran toteutunut ennustus. Jos amatööriohjelma voittaa turnauksen tai menestyy hyvin, kuten Zappa teki vuonna 2005, ohjelma voi myöhemmin muuttua kaupalliseksi. Turnauksissa voiton jälkeen saadut arvosanat antavat arvovaltaa ja niitä käytetään myöhempään markkinointiin.
Shakkimoottorien luokituslistojen tarkoituksena on vertailla ohjelmien tilastollisesti merkitseviä suhteellisia vahvuuksia. Tällaisissa levyissä pelataan useita pelejä ohjelmien välillä vakiolaitteistoalustoilla, joten prosessorien eroja ei oteta huomioon. Jotkut arkit standardisoivat kirjojen avaamisen yrittäessään mitata ohjelmien voimakkuuden eroa yksinään. Arkit osoittavat myös estimointivirheen marginaalit. Listoja päivitetään yleensä jatkuvasti, ja päivityksiä julkaistaan useita kertoja vuodessa, riippumatta turnauksista, jotka järjestetään vain kerran vuodessa.
On monia tekijöitä, jotka erottavat shakkimoottoreiden luokitusluettelot:
Erot näissä tekijöissä vaikuttavat tulokseen ja vaikeuttavat suoraa vertailuluettelon tulosten vertailua.
Parhaiden shakkimoottoreiden luokitus eri arkeilla (vain kunkin ohjelman parhaat versiot näytetään):
luokituslista | Aikaohjaus ( liikkeet/minuutit) |
Aloitusvuosi _ |
Viimeisin päivitys |
Alustamoottoreiden lukumäärä _ |
Pelatut pelit |
Kolme parasta moottoria (vain parhaat versiot) |
Luokitus |
---|---|---|---|---|---|---|---|
CCRL [3] | 40/15 [4] | 2005 | 9. marraskuuta 2020 | 2732 | 1 189 229 | Stockfish 12 64-bittinen 4CPU Komodo 14 64-bittinen 4CPU Houdini 6 64-bittinen 4CPU |
3516 3419 3400 |
CEGT [5] | 40/20 [6] | 2006 | 9. marraskuuta 2020 | 1875 | 1 401 865 | Stockfish 12.0 x64 4CPU LCZero 0.26.3 Cuda Fat Fritz 1.1 Cuda |
3587 3539 3450 |
SSDF [7] | 40/120 | 1984 | 9. marraskuuta 2020 | 391 | 153 481 | Stockfish 11 x 64 Komodo 13,1 x 64 syväsilppuri 13 x 64 |
3558 3471 3357 |
Nämä arvosanat eivät liity suoraan tavanomaisiin FIDE -luokitukseen tai muihin shakkiliittojen luokitukseen, vaikka ne lasketaan Elo-luokitusjärjestelmällä tai vastaavilla laskentamenetelmillä. Lukuun ottamatta muutamia pelaajia, jotka pelasivat SSDF :n vuosia sitten käyttämiä shakkiohjelmia vastaan (jotka ovat kaukana tämän päivän tasosta), näiden luokitusluetteloiden ja pelaajapoolin välillä ei tällä hetkellä ole yhteyttä. Siten tulokset, jotka heijastavat sijoituksia ja sijoituksen eroja pikemminkin kuin absoluuttisia tasoja numeerisesti. Lisäksi jokainen lista kalibroi Elo-luokituksensa muilla menetelmillä. Tästä syystä näille luokituslistoille ei voi tehdä Elon luokitusvertailuja . Kuitenkin viimeaikaisten ihmisten ja koneen välisten otteluiden valossa, yleissääntönä on, että huippushakin tietokoneohjelmien pitäisi pystyä laskemaan ihmisen shakin rajalla ja todennäköisesti paljon korkeammalla.
Lähes kaikki luokituslistat eivät sisällä tietoja IPPOLIT- ohjelmasta ja sen johdannaisista (esimerkiksi Fire). Vaikka nämä ovat erittäin vahvoja avoimen lähdekoodin shakkiohjelmia , niitä silti vältetään, koska ne on luotu Rybka - ohjelman käänteisellä suunnittelulla [8] . Syntyneen kiistan vuoksi kaikki nämä moottorit on joutunut mustalle listalle turnauksissa ja luokituslistoissa. Rybka -ohjelmaa puolestaan syytettiin siitä, että se sisälsi laittomasti osia Fruit -ohjelmasta [9] , ja kesäkuussa 2011 ICGA väitti virallisesti, että Rybka sisälsi osia Fruit and Crafty -ohjelmista , minkä vuoksi se sai kiellon osallistua mestaruuskilpailuihin. maailman shakki tietokoneohjelmien joukossa , ja häneltä on riistetty kaikki voittajan tittelin (2007, 2008, 2009 ja 2010) [10] . ICGA :ta tästä päätöksestä kritisoi Dr. Søren Riis, joka on ollut pitkäaikainen Rybka -ohjelman kannattaja [11] . Rybka on edelleen mukana monilla rankinglistoilla.
Moottorit voidaan tarkistaa käyttämällä erityisesti valittuja shakkiasentoja. Tyypillisesti tällaisissa testeissä käytetään asentoja, joissa on vain yksi paras liike. Nämä positiot voidaan yhdistää painottaen sijoittelua, taktiikkaa tai loppupeliä. Nolot- testisarja valittiin keskittyen syviin uhrauksiin [12] . Saatavilla on myös Hubert Bednorzin ja Fred Toennissenin BT2450- ja BT2630-sarjat. Nämä setit on suunniteltu testaamaan shakkimoottorien taktisia mahdollisuuksia ja niitä on käytetty ainakin REBEL -shakkiohjelmassa . On myös Dana Turnmiren luoma yleinen testisarja nimeltä Brilliancy . Tämä sarja on koottu kirjasta How to Reassess Your Chess Workbook [13] .
Swaminathanin ja Dann Corbitin strategiatesti (STS) testasi moottoreiden strategista ajattelukykyä [14] .
Vaikein nykyaikainen testisarja on Nightmare II , jonka on valinnut Walter Eigenmann. Tämä sarja sisältää 30 erittäin vaikeaa tehtävää, jotka on valittu erityisellä tavalla shakkimoottoreille [15] .
Shakki | |
---|---|
Tärkeimmät artikkelit | |
Shakin inventaario | |
shakin säännöt | |
Termien sanasto | |
Shakkitaktiikka | |
Shakkistrategia | |
debyytit | |
Loppupeli | |
Shakkisivustot |
|
Shakki ohjelmat |