Şah pe linux
Iată că există şi programe free care se pot compara cu alternativele comerciale şi profesionale din suita chessbase care există pe windows, în ciuda interfeţelor uneori hidoase şi complet neergonomice. Cu aceste programe, poţi să faci trei lucruri importante:
- să joci şah pe internet
- să joci şah împotriva calculatorului
- să vezi şi să analizezi partide
Există un singur server gratuit de şah şi acesta este freechess.org, mai pe scurt, FICS. Acesta a luat naştere în 1995 după ce administratorii Internet Chess Club-ului au decis să ceară bani celor care vroiau să se joace pe serverul lor. Este menţinut de voluntari şi operaţional în prezent cu un număr de 300000 utilizatori înregistraţi. Putem juca pe FICS şi prin telnet însă cea mai tare interfaţă este eboard. Are o groază de facilităţi cum ar fi auto-flagging, timeseal, pre-move, seek graph, interfaţa gtk2.
Cu eboard se poate şi să deschidem o fişiere pgn şi să ne uităm la partide, sau să jucăm contra chess engines, gen gnu chess, crafty, glaurung, fruit, Toga II. Acestea din urmă trebuiesc instalate separat. Nu am reuşit însă să-mi dau seama cum să fac să folosesc în eboard un chess engine pentru analiza poziţiei.
Un program ceva mai versatil decît eboard atunci cînd vine vorba de jucat contra engine sau chiar pentru meciuri engine vs engine este xboard. Poate şi el să deschidă şi să salveze pgn-uri, şi mai poate fi folosit în combinaţie cu polyglot pentru a folosi UCI engines. Exemplu:
xboard -fd /home/master/polyglot -fcp "polyglot fruit.ini".
fruit.ini:
[PolyGlot]
EngineDir = /home/master/polyglot
EngineCommand = fruit
Log = false
LogFile = xxx.log
Resign = false
ResignMoves = 3
ResignScore = 600
Book = true
BookFile = /home/master/polyglot/book.bin
[Engine]
Hash = 64
OwnBook = true
Procedura după care se poate creea cartea book.bin este:
polyglot make-book -pgn games.pgn -bin book.bin
Se iau partidele dintr-o bază pgn şi se face o carte de deschideri care poate fi folosită cu orice engine UCI.
Sau ca să facem un meci între engine-uri:
xboard -fd /home/master/polyglot -fcp "polyglot fruit.ini" -scp "polyglot toga.ini"
Deasemenea dacă avem un engine UCI disponibil ca executabil win32 avem mari şanse să-l putem folosi prin intermediul wine. De exemplu Rybka (s-a anunţat că Rybka 3 va fi disponibil şi pe linux, nativ):
rybka.ini:
[PolyGlot]
EngineDir = /home/master/polyglot
EngineCommand = wine Rybkav2.3.2a.w32.exe
Log = false
LogFile = xxx.log
Resign = false
ResignMoves = 3
ResignScore = 600
Book = true
BookFile = /home/master/polyglot/book.bin
[Engine]
Hash = 64
OwnBook = true
Pentru funcţii avansate de căutare şi analiză avem însă nevoie de scid-pg. Acesta are suport nativ pentru engine-uri UCI şi o groază de facilitaţi de lucru cu baze de date (baza pe care o folosesc eu în mod curent are 4 milioane de partide). Se pot filtra partidele în funcţie de an, loc, turneu, elo, jucatori, eco, poziţie, structură de pioni etc..etc..etc..
La prima vedere interfaţa e groaznică dar cu puţină obişnuinţă se poate folosi chiar destul de eficient.
Se găsesc pe internet două baze de date mari — una pe sourceforge: aici şi una pe icofy.net: aici
How-to scid-pg + databases.
Instalare scid-pg:
wget http://prolinux.free.fr/scid/download/scid-3.6.23.tar.bz2
tar jxvf scid-3.6.23.tar.bz2
cd scid
./configure
make
su root
make install
Pentru rulare tastaţi scid în consolă.
Baza de date de pe sourceforge
Din nefericire baza asta de date e împărţită în multe multe arhive mici şi nu, nu e vorba de o arhivă multi-volum, părţile dezarhivate trebuie unite manual. Deci, ne ducem în directorul unde am salvat arhivele şi procedăm în felul următor: ne facem un script care să facă toata treaba.
Pasul 1: touch unzip_script
Pasul 2: cu editorul vostru preferat, editaţi fişierul unzip_script astfel încît să arate cam aşa:
#!/bin/bash
ls huge.sg3*.zip| while read -r FILE
do
unzip -p “$FILE”| cat >> huge.sg3
done
ls huge.si3*.zip| while read -r FILE
do
unzip -p “$FILE”| cat >> huge.si3
done
unzip huge.sn3aa.zip
mv huge.sn3aa huge.sn3
Pasul 3: chmod +x unzip_script
Pasul 4: ./unzip_script
În urma execuţiei scriptului ar trebui să rezulte 3 fişiere: huge.sg3, huge.si3, huge.sn3. Deschideţi fişierul si3 cu scid-pg (sau chessdb). Dacă totul e ok, ştergeţi arhivele. Enjoy!
Baza de date de pe icofy.net
Pentru cealaltă bază de date, trebuie folosit utilitarul pgnscid care transformă cele 5 baze conţinute în arhivă (A,B,C,D,E) din format PGN în format scid (si3). Astfel vom economisi aproape 2gb de spaţiu.
pgnscid database.pgn.
Trebuie să adaug faptul că pgn-urile sunt pur şi simplu fişiere text care pot fi concatenate. Ceva gen cat 1.pgn 2.pgn > 1+2.pgn. Asta în caz că doriţi să faceţi un PGN mare pe care să-l convertiţi într-un singur pas.
Eu am downloadat prima bază de date iar apoi am adăugat la ea toate TWIC-urile de aici.
Deci avem engine-uri foarte puternice (şi opensource), cum ar fi Fruit 2.3.1 sau Toga II, putem folosi şi Rybka (care nici măcar nu e scump), avem bază de date de 4 milioane de partide şi cont pe FICS.
Mă găsiţi şi pe mine acolo cu handle-ul bogdanb. Enjoy!













Lasă un Răspuns