Vés al contingut

Motor d'escacs

De la Viquipèdia, l'enciclopèdia lliure

Un motor d'escacs és un programa que sap jugar escacs i que implementa un llenguatge de comunicació que li permet parlar amb altres programes.

Història

[modifica]

El significat de la frase “motor d'escacs” ha evolucionat amb el temps. El 1986, Linda i Tony Sherzer van ingressar el seu programa Bebe al 4t Campionat Mundial d'Escacs Informàtic, executant-lo a "Chess Engine", el seu nom comercial per al maquinari informàtic d'escacs [1] fabricat i comercialitzat per la seva empresa Sys-10, Inc.[2] El 1990, els desenvolupadors de Deep Blue, Feng-hsiung Hsu i Murray Campbell, van escriure sobre donar al seu programa un "motor de cerca", aparentment referint-se al programari més que al maquinari.[3] El desembre de 1991, Computer-schach & Spiele es va referir al recent llançament de Fritz de Chessbase com a 'Schach-motor', la traducció alemanya de 'motor d'escacs'.[4] A principis de 1993, Marty Hirsch estava fent una distinció entre programes d'escacs comercials com Chessmaster 3000 o Battle Chess per una banda, i "motors d'escacs" com ChessGenius o el seu propi MChess Pro de l'altra. En la seva caracterització, els programes d'escacs comercials tenien un preu baix, tenien gràfics elegants, però no ocupaven un lloc destacat a les llistes de classificació de la SSDF (Associació Sueca de Computadores d'Escacs), mentre que els motors eren més cars i tenien puntuacions altes.[5]

El 1994, Shay Bushinsky estava treballant en una versió inicial del seu programa Junior. Volia centrar-se en la part dels escacs en lloc dels gràfics, per la qual cosa va preguntar a Tim Mann com podia aconseguir que Junior es comuniqués amb Winboard. La resposta de Tim va formar la base del que es va conèixer com el Protocol de Comunicació del Motor d'Escacs o motors Winboard, originalment un subconjunt de la interfície de línia d'ordres de GNU Chess.[6]

També el 1994, Stephen J. Edwards va llançar l'especificació Portable Game Notation (PGN). Esmenta que els programes de lectura de PGN no necessiten tenir un "motor d'escacs complets". També esmenta tres "interfícies gràfiques d'usuari" (GUI): XBoard, pgnRead i la base de dades Slappy.[7]

Interfícies

[modifica]

Xboard / Winboard va ser una de les primeres interfícies gràfiques d'usuari (GUI). Tim Mann el va crear per proporcionar una GUI per al motor GNU Chess, però després d'això, van aparèixer altres motors com Crafty que usaven el protocol Winboard. Finalment, el programa Chessmaster va incloure l'opció d'importar altres motors Winboard a més del motor King inclòs.

El 1995, ChessBase va començar a oferir el motor Fritz com un programa separat dins del programa de base de dades de ChessBase i dins de la GUI de Fritz. Poc després, van afegir els motors Junior i Shredder a la seva línia de productes, empaquetant-los dins de la mateixa GUI que es va fer servir per a Fritz. A finals de la dècada de 1990, la GUI de Fritz podia executar motors Winboard a través d'un adaptador, però després de 2000, Chessbase simplement va afegir suport per a motors UCI i ja no va invertir gaire esforç a Winboard.

El 2000, Stefan Meyer-Kahlen va començar a vendre Shredder en una interfície gràfica d'usuari UCI separada del seu propi disseny, cosa que permetia importar motors UCI o Winboard.

Convekta de Chess Assistant i ChessPartner de Lokasoft també afegeixen la capacitat d'importar motors Winboard i UCI als seus productes. Shane Hudson va desenvolupar la Shane's Chess Information Database, una GUI gratuïta per a Linux, Mac i Windows. Martin Blume va desenvolupar Arena,[8] una altra GUI gratuïta per a Linux i Windows. Lucas Monge va entrar al camp amb la GUI gratuïta de Lucas Chess.[9] Tots tres poden manejar motors UCI i Winboard.

En Android, Aart Bik va sortir amb Chess per a Android,[10] una altra GUI gratuïta, i Chess PGN Master [11] de Gerhard Kalab i Droidfish de Peter Osterlund[12] també poden servir com a GUI per a motors.

La Wiki de Computer Chess enumera moltes GUI d'escacs.[13]

Protocols

[modifica]

Els motors comuns de Winboard inclourien Crafty, ProDeo (basat en Rebel), Chenard, Zarkov i Phalanx.

El 1995, ChessBase va llançar una versió del seu programa de base de dades que incloïa Fritz 4 com a motor independent. Aquesta va ser la primera aparició del protocol ChessBase. Poc després, van afegir els motors Junior i Shredder a la seva línia de productes, inclosos els motors al protocol CB com a programes separats que podrien instal·lar-se al programa Chessbase o en una de les altres GUI d'estil Fritz. Fritz 1-14 només es van emetre com a motors Chessbase, mentre que Hiarcs, Nimzo, Chess Tiger i Crafty s'han adaptat al format Chessbase tot i que eren motors UCI o Winboard. Recentment, Chessbase ha començat a incloure motors d'Interfície Universal d'Escacs (UCI) als seus programes de joc, com Komodo, Houdini, Fritz 15-16 i Rybka en lloc de convertir-los en motors de ChessBase.

El 2000, Stefan Meyer-Kahlen i Franz Huber van llançar la Interfície Universal d'Escacs, un protocol més detallat que va introduir un conjunt més ampli de característiques. Poc després, Chessbase va abandonar el suport per als motors Winboard i va afegir suport per a UCI a les GUI dels seus motors i els programes de ChessBase. La majoria dels motors principals són UCI en aquests dies: Stockfish, Komodo, Leela Chess Zero, Houdini, Fritz, Rybka, Shredder, Fruit, Critter, Ivanhoe i Ruffian.

Des de 1998, l'empresa alemanya Millenium 2000 va passar breument dels ordinadors dedicats als escacs al mercat de programari, desenvolupant el protocol Millennium Chess System (MCS) per a una sèrie de CD que contenen ChessGenius o Shredder, però després de 2001 va deixar de llançar programari nou.[14] L'empresa holandesa Lokasoft ha utilitzat un protocol de motor més antic,[15] que finalment es va fer càrrec de la comercialització de Rebel d'Ed Schröder.

Força creixent

[modifica]

Els motors d'escacs incrementen la força de joc cada any. Això és en part per l'increment de la capacitat de processament que permet fer càlculs més profunds en un temps determinat. Addicionalment, les tècniques de programació han millorat permetent als mòduls ser més selectius en les línies que analitzen i tenir més “entesa posicional”.

Alguns motors usen bases de dades de finals per incrementar la seva força durant el final. Una base de dades de finals emmagatzema totes les possibles posicions amb petits grups de material. Cada posició és de manera concloent determinada com a guanyadora, perdedora, o taules per al jugador que mou, i el nombre de jugades per al final amb el millor joc de cada costat. Les bases de dades de finals en tots els casos identifiquen la millor jugada a cada posició inclosa (identificant la jugada que guanya més ràpid contra una defensa perfecta, o la jugada que perd més lentament contra un atac òptim). Hi ha bases de dades disponibles per a finals de 3 a 6 peces (comptant els reis) i per a alguns de 7 peces. Quan la maniobra en un final per aconseguir un millorament irreversible se'n va més enllà de l'horitzó de càlcul del motor, no es garanteix que aquest trobi la millor jugada sense l'ús d'una base de dades de finals, i en molts casos pot incórrer a la regla de les 50 jugades. Alguns experts han assenyalat el potencial mal ús de les bases de dades de finals pels programadors, portant a un joc dolent.

Comparació entre motors

[modifica]

Tornejos

[modifica]

Els resultats dels tornejos de motors, com el Torneig Mundial d'Escacs per Ordinador, donen una idea de les forces relatives entre els motors d'escacs. Tot i això, en els tornejos no es juga un nombre de partides estadísticament significatiu per determinar de manera precisa la força dels motors. De fet, el nombre de partides necessari per assolir la precisió és de milers i és impracticable sota l'esquema d'un torneig. Molts tornejos permeten, a més, qualsevol tipus de maquinari, en aquests es comparen les combinacions motor/hardware.

Històricament, els programes comercials han estat els motors més forts. Rybka va guanyar el WCCC del 2007. Una cosa que s'ha vist és que si un motor guanya un torneig o té un bon exercici en un (per exemple Zappa el 2005), llavors és ràpidament comercialitzat.

Llistes de classificació de motors

[modifica]

Les llistes de qualificació dels motors d'escacs ajuden a proveir mesures estadístiques sobre la força dels diferents motors. Aquestes llistes juguen moltes partides entre motors en plataformes estàndard de maquinari, traient així el factor de diferències de processador que pot ser un avantatge. Aquestes llistes no només estableixen una classificació, sinó també marges d'error per a les qualificacions donades. A més, les llistes típicament juguen partides contínuament, publicant moltes dades per any, comparat amb els tornejos que només es fan una vegada a l'any.

Llistes de classificació a l'11 de novembre de 2020
Llista de classificació Control de temps

(moviments / minuts)

Any

iniciat

Última actualització Entrades de motor / plataforma Jocs

jugats

Els tres millors motors Classificació
CCRL [16] 40/40

Reflexió APAGAT

2005 7 de novembre de 2020 2,732 1,189,229
  • Stockfish 12 x64 4CPU
  • Komodo 14 x64 4 CPU
  • Houdini 6 x64 4CPU
  • 3516
  • 3419
  • 3400
CEGT [17] 40/20

Reflexionar APAGAT

2006 8 de novembre de 2020 1875 1,401,865
  • Stockfish 12.0 x64 4CPU
  • LCZero 0.26.3
  • Houdini 6.0
  • 3587
  • 3539
  • 3426
IPON 5m + 3s

~ 16min / partida Reflexionar ENCÈS

2006 15 de juliol de 2018 208 546,430
  • Stockfish 9
  • Houdini 6.02
  • Komodo 11.2.2
  • 3383
  • 3347
  • 3322
SSDF [18] Torneig 40/120

(+20 moviments/hora) Reflexionar sobre ?

1984 11 de juliol de 2020 391 153,481
  • Stockfish 11 x64
  • Komodo 13,1x64
  • Deep Shredder 13 x64

Suites de prova

[modifica]

Els motors es poden provar mesurant el seu exercici en posicions específiques. L'ús de Suites de prova és típic, on per a una posició donada hi ha una millor jugada per trobar. Aquestes posicions poden ser orientats cap a allò posicional, tàctic o joc de finals. La suite de prova Nolot, per exemple, s'enfoca en sacrificis profunds. [1] Hi ha altres suites com la BT2450 i BT2630 desenvolupades per Hubert Bednorz i Fred Toennissen. Aquestes suites mesuren la capacitat tàctica d'un mòdul [2] i han estat utilitzades almenys per REBEL. [3] Hi ha a més una suite d'ús general anomenada Brilliancy per Dana Turnmire. La suite ha estat compilada majoritàriament des de How to Reassess Your Chess Workbook. [4]

Categories de motors

[modifica]

Motors gratuïts

[modifica]

Hi ha centenars de motors d'escacs disponibles de manera gratuïta i que compleixin algun dels protocols de comunicació esmentats anteriorment. Molts corren a Windows o són codi obert. Uns quants dels més forts es llisten. Altres es poden trobar mirant les llistes de qualificació o els enllaços externs.

Puntuacions Elo preses de CCRL 40/40, accedit al juliol de 2011.

  • Alaric Arxivat 2021-12-08 a Wayback Machine. (v707 Elo 2752) per Peter Fendrich (SE)
  • Alfil (v811 Elo 2706) per Enrique Sánchez (SP)
  • Aristarch (v4.50 Elo 2698) per Stefan Zipproth (DE)
  • Baron (v1.8.1 Elo 2625) per Richard Pijl (NL)
  • Crafty (v21.5 Elo 2631 - 21.6 disponible) per Bob Hyatt (US)
  • Delfi (v5.2 Elo 2756) per Philippe Fabiani (FR)
  • Fruit (v2.3.1 Elo 2863) per Fabien Letouzey (FR)
  • Gambit Fruit (derivat de Fruit) per Fabien Letouzey/Bryan Hofmann (FR/US)
  • Houdini (v1.5a Elo 3309)
  • Glaurung (v1.2.1 Elo 2726) per Tord Romstad (NO)
  • Ktulu (v4.2) per Rahman Paidar (IR)
  • List (v5.12 Elo 2720) per Fritz Reul (DE)
  • Movei (v0.08.438 Elo 2748) per Uri Blass (IL)
  • Naum (v1.91 Elo 2704) per Aleksandar Naumov (RS/CA)
  • Pharaon (3.5.1 Elo 2708) per Franck Zibi (FR)
  • ProDeo Arxivat 2007-07-30 a Wayback Machine. (v1.2 Elo 2689) per Ed Schröder (NL)
  • Ruffian (v1.0.5 Elo 2711) per Per-Ola Valfridsson (SE)
  • Rybka (v.10 (versió gratuïta) Elo 2920) per Vasik Rajlich (CZ/US)
  • Scorpio (v1.9 Elo 2754) per Daniel Shawul (ET)
  • Sjeng (és el mòdul de Mac US X Chess) per Gian-Carlo Pascutto (BE)
  • Slow Chess (vBlitz WV2.1 Elo 2740) per Jonathan Kreuzer (US)
  • Spike (v1.2 Turin Elo 2855) per Volker Böhm i Ralf Schäfer (DE)
  • Strelka (v1.8 Elo 2867) per Yuri Osipov (RU)
  • Toga II (v1.3.4 Elo 2868) derivat de Fruit per Fabien Letouzey/Thomas Gaksch (FR/DE)
  • Wildcat (v7 Elo 2730) per Igor Korshunov (RU)
  • Zappa (v1.1 (versió gratuïta)) Elo 2687 per Anthony Cozzie (US)

Ikarus i Ferret, van ser els guanyadors del World Computer Speed Chess Championship.

Motors pedagògics

[modifica]

Aquests programes de codi obert van ser expressament escrits per ensenyar l'art de la programació d'escacs.

Programes comercials

[modifica]

Aquests programes es distribueixen comercialment. Molts inclouen la seva pròpia interfície d'usuari.

  • Chess Genius, per Richard Lang
  • Chessmaster
  • Chess Tiger
  • Fritz (processador simple), Deep Fritz (multi processador)
  • Gandalf
  • HIARCS
  • Junior - (versions mono- i multi-processador)
  • The King - el mòdul de programa Chessmaster
  • Ktulu
  • Loop
  • Naum versions 2.1 i posteriors
  • Rebel - (vegeu també ProDeo)
  • Ruffian 2
  • Rybka
  • Shredder
  • Deep Sjeng
  • Smarthink
  • Zappa

Maquinari dedicat

[modifica]

Aquests sistemes de joc inclouen maquinari modificat o corren en superordinadors.

  • Beu, a strong bit-slice processor als 1980s
  • Belle
  • Chess (Northwestern University)
  • ChipTest
  • Cray Blitz
  • Deep Blue
  • Deep Thought
  • HiTech
  • Hydra, el seu predecessor va ser anomenat Brutus

Computadors comercials dedicats

[modifica]

Als 1980s i principis dels 1990s, hi havia un mercat competitiu per a ordinadors dedicats als escacs. A meitat dels 90s el mercat dels ordinadors dedicats als escacs no va poder competir amb els ràpids processadors dels ordinadors personal. Avui dia, la majoria de les unitats dedicades que es venen són de nivell principiant o intermedi.

  • Chess Challenger, una línia d'ordinadors d'escacs que va ser venuda per Fidelity Electronics del 1980 al 1992. Aquests models van guanyar els quatre primers World Microcomputer Chess Championships.
  • Chessmachine, un ordinador dedicat basat en ARM, que podia executar 2 mòduls:
    • The King, que després es convertiria en el mòdul de Chessmaster, també es va usar a l'ordinador dedicada TASC R30.
    • Gideon, una versió de Rebel, el 1992 es va convertir en la primera microcomputadora a guanyar el World Computer Chess Championship.
  • Mephisto, una línia d'ordinadors d'escacs venuts per Hegner & Glaser. Les unitats programades per Richard Lang van guanyar 6 World Microcomputer Chess Championships consecutius.
  • Novag va vendre una línia d'ordinadors tàcticament forts, incloent-hi les marques Constellation i Sapphire.
  • Saitek va vèncer unitats de nivell intermedi.
  • Excalibur ven una línia d'unitats de nivell intermedi.

Programes històrics

[modifica]

Aquests programes corren en maquinari obsolet.

  • 1K ZX Chess
  • Kaissa
  • Kotok-McCarthy
  • Mac Hack
  • Microchess
  • Sargon
  • Distant Armies, un programa per a Amiga que jugava moltes variants d'escacs, inclosos els escacs xinesos, moltes variants en tauler circular, i una gran quantitat de variants antigues. No jugava escacs occidentals moderns i tampoc shōgi.

Referències

[modifica]
  1. [enllaç sense format] https://www.game-ai-forum.org/icga-tournaments/tournament.php?id=65 Arxivat 2018-12-02 a Wayback Machine.
  2. [enllaç sense format] http://www.sys-10.com/
  3. Feng-hsiung Hsu, Thomas Anantharaman, Murray Campbell and Andreas Nowatzyk. "A Grandmaster Chess Machine." Scientific American. October 1990.
  4. Computer-schach & Spiele would later start using the English word 'engine,' eg. 1997#6 when describing Fritz or Hiarcs.
  5. "The True Value of Chess Software." Computer Chess Reports. 1992-3. vol. 3 no. 2 page 22
  6. [enllaç sense format] http://tim-mann.org/history.html
  7. [enllaç sense format] http://www.thechessdrum.net/PGN_Reference.txt
  8. «Archived copy». Arxivat de l'original el 2007-03-14. [Consulta: 29 novembre 2018].
  9. [enllaç sense format] https://lucaschess.pythonanywhere.com/
  10. [enllaç sense format] http://www.aartbik.com/android.php
  11. [enllaç sense format] http://pgnmaster.kalab.com/
  12. [enllaç sense format] http://hem.bredband.net/petero2b/droidfish/index.html
  13. [enllaç sense format] http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:gui_protocol_support_list
  14. Computer-schach & Spiele.
  15. [enllaç sense format] http://www.lokasoft.nl/
  16. «CCRL 40/15» (en anglès). www.computerchess.org.uk, 16-05-2020. [Consulta: 17 maig 2017].
  17. «CEGT Best Versions 40/20 (AMD 4200+)» (en anglès). archive.is, 08-09-2012. Arxivat de l'original el 2012-09-08. [Consulta: 17 maig 2020].
  18. «The SSDF Rating List» (en anglès). ssdf.bosjo.net, 10-12-2019. [Consulta: 17 maig 2020].

Vegeu també

[modifica]

Enllaços externs

[modifica]