Spela schack mot datorn I: Schackmotorer

2009-07-24

Det här inlägget bygger på ett från 2008-01-11 (Prylar att spela schack med) men det inlägget var av-publicerat vilket sannolikt skedde av misstag när strukturen på Pryltrend gjordes om. Jag skrev därför ett nytt, större och bättre inlägg.

Varför spela schack på dator?

Att spela mot datorn kan ge bra träning. Även om man inte gillar det utan kanske föredrar att uteslutande spela med människor kan schackprogam vara värdefulla:

  • De kan analysera partier och ge dig nya idéer.
  • De har ofta massor av kända partier lagrade.
  • Det går ofta att spela schack med riktiga människor över internet.

Rätt dator att spela schack på

Detta inlägg inleder en liten artikelserie hur man bäst spelar schack på datorn. Det området togs kort upp i recensionen av Chessmaster Art of Learning till Nintendo DS där jag pekade på duktiga schackspelare behöver starka datorer om de inte ska behöva vänta överdrivet länge på datorn. Där gav jag även följande tips:

Att schackprogrammet är duktigt räcker inte för att en duktig spelare ska få ut något utan det handlar även om hur länge spelet behöver tänka inför varje drag. Duktiga spelare som vill ha en bra datorspelare rekommenderar jag:
  • Köp en PC.
  • Välja en så kraftfull processor du har råd till.
  • Köp mycket RAM till den så att spelet snabbt utan att utnyttja hårddisk kommer åt tabeller m.m. det bygger upp för att besluta "rätt" drag.
  • Var försiktig med bakgrundsaktiviteter Windows kan starta. Jag tror att schackspel kan tolkas felaktigt som att CPU m.m. kan utnyttjas till systemunderhåll trots att spelet behöver så mycket CPU som möjligt.
  • Även antivirusprogram kan tydligt försämra spelet prestationsförmåga. Denna typ av dataspel är notoriska på att utnyttja hårddisk i hög frekvens och om programmet varje gång behöver vänta på antivirusprogrammet drar det ner prestandan.

Detta ska beröras mer i kommande delar av artikelserien och här ska istället de schackmotor som ligger under dataspelen diskuteras. Kring processor kan jag dock säga redan nu att ledande schackmotorer har optimering både för en och flera processorer.

Dagens schackdatorer & Deep Blue

Schackdatorer, d.v.s. dataprogram som kan spela schack är idag, mycket kraftfulla. De kan tillochmed slå världens främsta spelare. Långt in i 1990-talet klarade starka spelare att besegra dem med hjälp av lateralt tänkande där dataspelarna lurades göra misstag i situationer för komplexa att analysera på tillgänglig tid. Vändpunkten kom så tidigt som maj 1997 när Kasparov som då ansågs vara världens främsta spelare besegrades av Deep Blue.

Deep Blue var en schackspelande dator skapad av IBM. Ingen schackdator hade innan besegrat en regerande världsmästare. Arbetet att bygga Deep Blue började redan 1990 och algoritmen förbättrades kontinuerligt liksom prestanda. Kasparov krävde en returmatch, då han var övertygad om att datorn under matchen haft hjälp av en människa men Deep Blue togs ner efter matchen och har inte någon mer gång fått spela schack.

Schackmotorn väljer rätt drag

En schackmotor är den del av dataprogrammet som sitter i schackspel och tänker ut dragen. Olika schackprogram kan använda samma schackmotor. Det finns flera även mycket starka schackmotor som är gratis vilket gör det möjligt att billigt utveckla schackprogram även för väldigt specialiserade ändamål.

Flera mätvärden av hur stark en schackmotor är finns och ett vanligt mått är placering på topplistan CCRL 40/40. Denna placering bestäms genom att schackmotorerna får spela mot varandra:

Upp till 40 drag på 40 minuter. Båda spelar vit och svart en gång.
Upp till 40 drag på 4 minuter. Båda spelar vit och svart en gång.

Flera andra standardiserade omständigheter för spelen gäller även avseende hårdvara och s.k. böcker som används vid analysen.

Till många schackspel går det att byta och växla mellan olika schackmotor. Det kommer tas upp längre fram i artikelserien.

Vilka schackmotorer är bäst?

Topplistan för CCRL 40/40 (2009-07-03) finns här:

CCRL 40/40

Topp tre innehas av Rybka, Naum och Deep Fritz.

Rybka

Rybka utvecklas av den internationell schackmästaren Vasik Rajlich och det är genomgående sedan 2007 alltid varit en av de bästa schackmotorerna. Det används idag i flera kommersiella program och en faktor som kan spela in i dess framgång både i turneringar mot andra schackmotorer och popularitet i kommersiella sammanhang är god förmåga hos det som kallas Evaluation function. Evaluation function förklarar i Wikipedia enligt:

"An evaluation function, also known as a heuristic evaluation function or static evaluation function, is a function used by game-playing programs to estimate the value or goodness of a position in the minimax and related algorithms. The evaluation function is typically designed to be fast and accuracy is not a concern (therefore heuristic); the function looks only at the current position and does not explore possible moves (therefore static)."

Stöd både för en och flera processorer ska finnas.

www.rybkachess.com

Fritz

Fritz och varianten Deep Fritz utvecklades av tyskarna Frans Morsch och Mathias Feist and published by ChessBase. Deep Fritz klarar att hantera fler processorer och Fritz är optimerad för en processor.

Fritz används i flera kommersiella schackspel. Mest känd av dataspelen är Chessbase som utvecklas av samma personer som gör Fritz.

www.chessbase.com

Naum

Naum utvecklades från början till Palm (Palm Pilot o.s.v.) men portades sedan även till PC och har fått från mycket svag till väldigt stark.

www.geocities.com/naum_chess/

Schackmotorer som är gratis

Med hjälp av kostnadsfria schackmotorer blir det mycket billigare för vem som helst att lägga möjlighet att spela schack i olika dataprogram eller på webbsajter. Inga av dessa schackmotorer ligger ännu i den absoluta toppen men många klarar givetvis av att besegra även skickliga dataspelare.

Fruit

Fruit är en bra schackmotor som placerat sig högt flera år. Fram till version 2.1 (Peach) var Fruit öppenkällkod och de därefter är kommersiella. Utveckling av Fruit version 2.1 pågår ännu av flera personer och det lär säkert utveckla sig vidare till ett eller flera långvariga öppenkällkodsprojekt.

Kommersiellt: www.fruitchess.com

Kod till Fruit 2.1: wbec-ridderkerk.nl/html/details/Fruit.html

Fler schackmotorer i öppenkällkod

Samtliga av följande (fler finns) är i öppenkällkod om jag tolkade informationen rätt (kontrollera själv):

www.craftychess.com

www.glaurungchess.com (till Mac OS X)

Aristarch

Slow Chess

En schackmotor utvecklad av svenska Perola Valfridsson är Ruffian:

ruffian.hkust.se

Ännu fler schackmotorer

Wikipedia listar fler schackmotorer som uppges vara gratis varav flera är i öppenkällkod:

Chess engine: Freely available chess engines

Fler artiklar och nyheter om schack på Pryltrend

Recension: Chessmaster: The Art of Learning till Nintendo DS

Schackspel i Lego med riddare, slott, vikingar m.m.

Schack samhällsfarligt menade Scientific American

Lycka till med schackspelandet!

Inga kommentarer:

Skicka en kommentar