Rybka

Da Wikipedia, l'enciclopedia libera.
Vai a: navigazione, cerca
Se hai problemi nella visualizzazione dei caratteri, clicca qui.

Rybka è un motore scacchistico sviluppato dal Maestro Internazionale Vasik Rajlich. Tra il 2007 e il 2011 Rybka è stato al vertice delle principali liste di rating dei motori scacchistici[1][2][3][4][5] ed ha vinto molti prestigiosi tornei per motori scacchistici, incluse quattro edizioni del Campionato del mondo di scacchi per computer, dal 2007 al 2010. Il 28 giugno 2011 Vasik Rajlich è stato squalificato a vita dalla ICGA per avere violato la regola secondo la quale i motori in gara devono essere sviluppati interamente dal relativo team e gli sono stati ritirati tutti i titoli, i premi ed i riconoscimenti ottenuti da Rybka.

Indice

[modifica] Nome

La parola rybka significa piccolo pesce in lingua ceca (pronuncia: ˈrɪpka). In un'intervista di Alexander Schmidt venne chiesto a Vasik Rajlich se il nome derivasse dal fatto che il programma gli sfuggiva di mano come un pesciolino, ma il Maestro replicò che per quanto riguarda il nome, esso rimaneva un suo segreto privato.

È stato ipotizzato che si tratti di un gioco di parole circa il nome di Bobby Fischer; potrebbe anche essere un diminutivo usato da lui nel parlare con sua moglie.

[modifica] Forza di gioco

La forza di Rybka 1.0 beta (che è scaricabile gratuitamente) è stato valutata pari a 2809 punti Elo[6] (circa la stessa forza di Toga II), e Rybka 2.3.1 è stato valutato circa 200 Elo più forte della prima versione.[senza fonte] Le versioni recenti di Rybka supportano sistemi multiprocessore, che comportano un aumento della forza di 50 punti Elo per ogni raddoppio del numero di processori.[7]

La funzione di valutazione di Rybka è considerata uno dei sui principali punti di forza rispetto ai software rivali.[8][9]

Rybka è molto più forte – circa il 60% più veloce – se usato su sistemi a 64-bit rispetto a 32-bit.[7]

[modifica] Software

Rybka supporta sia processori singoli che sistemi multiprocessore simmetrico (SMP). È un software closed-source, ma alcuni dettagli sono stati rivelati: usa una rappresentazione della posizione bitboard[10], ed ha una ricerca alfa-beta con una finestra di aspirazione relativamente larga[11]. Usa una potatura aggressiva, che porta a squilibrati alberi di ricerca[12]. I dettagli della funzione di valutazione sono sconosciuti, ma dalla versione 2.3.1 includono lavoro di Larry Kaufman sugli squilibri di materiale, molto del quale è stato fatto su carte degli anni '90.

Commenti del programmatore rivelano che Rybka non usa alcune tecniche di programmazione scacchistica standard, come l'algoritmo euristico null-move e finestra di aspirazione, assieme ad altri trucchi null-window.

Rybka è stato accusato di essere basato su Fruit, ma Rajlich ha categoricamente negato ciò[13]. Tali accuse hanno però trovato fondamento secondo la ICGA

[modifica] Team

Iweta e Vasik Rajlich

Il team di Rybka è insolito rispetto agli altri team di motori scacchistici, nei quali parecchi dei membri principali sono forti scacchisti: Vasik Rajlich, il principale autore di Rybka è un Maestro Internazionale (IM). Ugualmente, è un IM anche Larry Kaufman, che è (dalla versione 2.3) principalmente responsabile della funzione di valutazione. Iweta Rajlich, moglie di Vasik Rajlich e principale tester di Rybka, è GM femminile (WGM) ed IM. Jeroen Noomen (che ha lavorato su Rebel) e Dagh Nielsen sono gli autori del libro di apertura; Dagh Nielsen è anche uno dei più forti giocatori di scacchi avanzati.

[modifica] Storia

La prima beta di Rybka venne rilasciata il 2 dicembre 2005.

[modifica] Partecipazione ai tornei

Nel 2005, fra il 27 ed il 30 dicembre, Rybka partecipa al 15º International Paderborn Computer Chess Championship a Paderborn, in Germania. Ha vinto il torneo con un punteggio di 5½ su 7, davanti ad altri motori come Gandalf, Zappa, Spike, Shredder e Fruit.

Al CCT8 dal 25 al 26 febbraio, Rybka vince con 8 punti su 9, rimanendo imbattuto. Nel torneo PAL/CSS Freestyle main tournament dell'aprile 2006, Rybka 1.1 senza aiuto si piazza primo. Nel torneo finale,finisce il torneo in seconda e terza posizione, dietro Hydra. Al 6º Leiden ICT nel maggio 2006, Rybka vince con un punteggio di 8½ su 9, davanti a Sjeng, Gandalf e Shredder. Al 14º Campionato Mondiale di scacchi per computer a Torino, nel maggio 2006, Rybka, giocando sotto il nome di Rajlich, finisce secondo, ex æquo con Shredder, dopo Junior, il campione mondiale del 2006. Al PAL/CSS Freestyle main tournament del giugno 2006, il team di Rybka, giocando sotto la guida di Rajlich, pareggia per il primo posto con Intagrand. Nella finale, il team di Rybka ottenne la prima posizione, un punto avanti sul campo. Tutti gli 8 qualificati alla finale hanno usato Rybka. Nel Dutch open computer chess championship del 2006, Rybka 2.2 conclude in prima posizione con un punteggio perfetto di 9/9.[14] Nel dicembre 2006, Rybka participò al 16º International Paderborn Computer Chess Championship, vincendo il torneo con un punteggio di 6½ punti su 7.[15]

Nel febbraio 2007, Rybka partecipa al CCT9 vincendo con 6/7.[16] Al 7º Leiden ICT nel maggio 2007 vince con un punteggio di 7½ su 9, davanti a Zappa ed HIARCS.[17] Rybka ha vinto il 15º WCCC nel giugno 2007 con un punteggio di 10 su 11[18]. Il team di Rybka, giocando sotto i comandi di Rajlich, nel giugno 2007 ha la meglio nella finale del PAL/CSS Freestyle con un punteggio di 6/9. Un anno dopo vince nuovamente il Dutch open computer chess championship, con un punteggio di 8/9.[19]

Nel gennaio 2008 Ribka vince ex æquo il CCT10 con un punteggio di 5.5/7[20]. Nell'ottobre dello stesso anno, vince il 16º WCCC a Pechino, con un punteggio di 8/9[18]. Un mese dopo conquista imbattuto il 27º Open Dutch Computer Chess Championship con il punteggio perfetto di 9/9[21].

Sempre inarrestabile, Ribka trionfa ancora nel marzo 2009 al CCT11 con un punteggio di 7.5/9[22], imponendosi poi due mesi dopo nel 17º WCCC, a Pamplona, dove trionfa con un punteggio di 8.0/9, 1,5 punti sopra Junior, Shredder e Deep Sjeng[18]. Nello stesso evento vince anche la 14th Computer Olympiad (torneo senza limiti hardware) con 5 punti (1 punto sopra Shredder) e il 17º WCCC Blitz, con 7 punti (è sempre Shredder a seguire, ad una distanza di 0,5 punti)[23][18].

[modifica] Sfide fra Rybka e Grandi Maestri

Mentre Rybka ha vinto un match contro il GM Jaan Ehlvest, che necessitò di un vantaggio (un pedone in più dato all'umano), il IM Larry Kaufman del team di Rybka impegnò i suoi soldi per un GM umano che potesse battere Ribka in un match di 6 partite senza squilibri di materiale. Il GM Jaan Ehlvest è stato nuovamente scelto per giocare con Rybka, fornendogli un tempo di riflessione doppio ed il bianco ad ogni partita, dando a Rybka un libro di apertura di sole tre mosse, con hash limitata (512MB) e senza tablebase dei finali (il match è stato soprannominato "Tutto tranne che un pedone"). Il match finì 4.5-1.5 dopo tre vittorie di Rybka e tre patte.[senza fonte]

Rybka vs GM Dzindzichashvili - Pedone e mossa, venne giocata come match a otto partite, fra il 3 e il 7 marzo 2008. Il risultato fu 4-4.

[modifica] Match contro Zappa

Nel settembre 2007, Zappa batté Rybka in un match, 5½-4½.

[modifica] Rybka 3

Mentre le precedenti versioni di Rybka sono state rilasciate esclusivamente da Convekta, Rybka 3 è stato rilasciato sia da Convekta che dalla ChessBase.[24] Benché sia un motore UCI, Rybka 3 ha caratteristiche extra quando gira sulle interfacce utente ChessBase e Convekta. In un'intervista di Frank Quisinsky, Vasik Rajlich rivelò il piano di una futura GUI che dovrebbe "mostrare correttamente la conoscenza degli scacchi all'utente."[8], soprattutto in forma di valutazione grafica dei pezzi sulla scacchiera. La GUI, Chiamata Aquarium, è in fase di sviluppo da parte di ChessOK (precedentemente conosciuta come Convekta).[25]

Il supporto per gli scacchi960 è stato implementato per il Chess Classic Mainz 2007, dove Rybka successivamente vinse il torneo di Scacchi960 per computer.[26][27]

Ci sono stati numerosi miglioramenti della forza di gioco, inclusi il miglioramento delle prestazioni su multiprocessori, un incremento dell'efficienza di ricerca ed una migliore valutazione delle posizioni. Sono supportati tre stili di gioco del motore: ottimale, umano, e dinamico. Il libro di apertura è stato talmente ampliato in estensione che ora è venduto come prodotto separato. Le graduatorie di motori scacchistici che hanno già pubblicato i risultati di Rybka 3 mostrano che esso è in cima alle classifiche davanti alla precedente versione di Rybka, a volte anche di circa 100 punti Elo.[28]

[modifica] Rybka 4

La quarta versione del software è stata rilasciata il 26 maggio 2010, in edizioni per multiprocessore e per processore singolo. A soli quattro giorni dal rilascio ufficiale, Ribka 4 vince il suo primo torneo, l'ICT10, con un punteggio di 8/9.

[modifica] Versioni future

Le seguenti caratteristiche sono state confermate per le versioni future di Rybka:

  • Il supporto nativo su Linux è stato confermato, senza una data specifica. Il rilascio per piattaforme diverse da Windows è atteso dopo il termine di Rybka 3.0[29]. Rybka gira comunque su Wine, e la versione a 64-bit gira su Linux e Mac OS X usando un traduttore sperimentale specifico per Rybka chiamato microwine[30]
  • Il supporto per Pocket PC e altri dispositivi mobile è stato annunciato nel 2007[31], ma fino ad ora non è stata rilasciata alcuna versione del software per questi dispositivi.

[modifica] Controversie

[modifica] Crafty

Alcune vecchie versioni di Rybka sono state accusate di essere un clone di Crafty[32]. Tali versioni hanno gareggiato in competizioni nelle quali il fatto avrebbe costituito motivo di squalifica. Vasik Rajlich non ha risposto a queste accuse.

[modifica] Fruit

Rybka è stato accusato di avere impiegato codice sorgente di Fruit, ma Rajlich ha negato categoricamente una simile eventualità[33], affermando che il codice di Rybka è interamente originale. Altre accuse di violazione della licenza GPL sono state mosse dal programmatore di software scacchistici Zach Wegner[34], basate su una decompilazione ed un anno di studio dell'eseguibile di Rybka 1.0[35]. Rajlich si è inizialmente rifiutato di rispondere a tali accuse[36]. Lo sviluppatore di Fruit, Fabien Letouzey, è riapparso dopo 5 anni di asseza dalle scene nel gennaio 2011 e ha pubblicato una lettera aperta[37] chiedendo chiarimenti sulla vicenda.

Il presidente della ICGA, David Levy, ha richiesto la convocazione di un collegio di programmatori di software scacchistico per esaminare la situazione[38]. Tra le varie possibilità vi era quella di revocare tutti i titoli ottenuti da Rybka, in virtù del punto 3.h.iv dello statuto della fondazione[39]. Quattordici noti programmatori di software scacchistico hanno scritto una lettera aperta a David Levy, Jaap van den Herik e al consiglio della ICGA[40] dichiarando che era evidente il fatto che Rybka 1.0 beta (la prima versione forte di Rybka) derivasse da Fruit, chiedendo alla ICGA di valutare con attenzione i fatti e agire di conseguenza.

Il 28 giugno 2011 la ICGA ha espresso il suo verdetto sulla vicenda, riconoscendo che Rybka ha plagiato il codice di Crafty and Fruit, privandolo perciò di tutti i titoli conseguiti e squalificandolo da tutti i futuri eventi organizzati dalla ICGA[41].

[modifica] Strelka

Nel maggio 2007 apparve un nuovo motore scacchistico chiamato Strelka, scritto da Yuri Osipov. Strelka era ritenuto un clone di Rybka 1.0 beta, reingegnerizzato e leggermente modificato[42]. Diversi giocatori osservarono che Strelka eseguiva analisi identiche a quelle di Ribka in svariate situazioni, mostrando gli stessi bug e le stesse debolezze. Osipov sostenne ripetutamente che Strelka era basato su Fruit, non su Rybka, e che le somiglianze derivassero dal fatto che anche Rybka fosse basato su Fruit, o perché la funzione di valutazione era molto simile a quella di Rybka[43][44].

Con il rilascio di Strelka 2.0 beta, il codice sorgente è stato pubblicato. Rajlich disse che Strelka 2.0 beta era certamente un clone di Rybka 1.0 beta, benché con dei miglioramenti. Sulla base di ciò, si appellò alla proprietà del codice sorgente e aveva intenzione di ri-rilasciare il software sotto la sua proprietà[45], sebbene ciò ancora non sia avvenuto.

Rajlich sostenne anche che "Yuri Osipov" fosse uno pseudonimo. Victor Zakharov (che lavora per Convekta) ha contattato Osipov per una collaborazione nello sviluppo di software scacchistico per dispositivi mobili, e ha detto in merito[46]:

(EN)
« I consider that Yuri Osipov (Ivanovich) is real name. He didn't hide it. However I can't state this with 100% assurance. »
(IT)
« Io penso che Yuri Osipov (Ivanovich) sia un nome reale. Non lo ha nascosto. Comunque non posso esserne sicuro al 100% »
(Victor Zakharov)

Fabien Letouzey, sviluppatore di Fruit, sostiene invece che Strelka sia un derivato di Fruit con alcune modifiche minori[37].

[modifica] IPPOLIT

IPPOLIT, RobboLito, Igorrit, IvanHoe, FireBird e Fire sono una serie di forti motori scacchistici open source sviluppati da un team di programmatori anonimi che si fanno chiamare i decabristi, in riferimento all'insurrezione decabrista[47].

IPPOLIT è stato rilasciato nel maggio 2009 con il codice sorgente, tuttavia è rimasto poco conosciuto fino a ottobre del 2009 perché molti forum scacchistici non pubblicavano materiale il cui stato legale era considerato discutibile. Vasik Rajlich ha affermato[48] che IPPOLIT è una versione decompilata di Rybka e che le persone coinvolte l'avrebbero informato via email[49]. Prove indiziarie del plagio secondo Rajlich sono fornite dal fatto che il codice sorgente di IPPOLIT[50] sembra il risultato di una decompilazione, oltre al fatto che lo stile di gioco di IPPOLIT e dei suoi derivati è molto simile a quello di Rybka 3.

[modifica] La revoca dei titoli WCCC e la squalifica

Il 28 giugno 2011 la International Computer Games Association (ICGA) ha terminato la sua indagine sulla controversia Fruit-Rybka, concludendo che Vasik Rajlich nello sviluppo di Rybka ha plagiato il codice di altri due motori, Crafty e Fruit[51]. Vasik Rajlich ha così violato una regola fondamentale della ICGA, la quale stabilisce che i motori partecipanti alle competizioni devono interamente essere opera del team di sviluppatori. L'ICGA ha considerato le violazioni di Rajlich le più offensive verso la federazione e verso i colleghi[52], prevedendo come pena la revoca dei titoli WCCC vinti da Rybka nel 2006, 2007, 2008, 2009 e 2010[53]. Vasik Rajlich è stato squalificato a vita dalle competizioni organizzate dalla ICGA[54]. Inoltre la federazione ha richiesto la restituzione delle quattro repliche dello Shannon Trophy conseguite al WCCC nel 2007, 2008, 2009 e 2010 e la restituzione di tutti i premi in denaro vinti[55]. Vasik Rajlich ha scelto di non difendersi dalle accuse e di non discutere la questione pubblicamente o rispondere ai tentativi di mettersi in contatto con lui. L'unica risposta di Rajlich alle accuse è stata una email, nella quale ha affermato:

(EN)
« Rybka has does not “include game-playing code written by others”, aside from standard exceptions which wouldn’t count as ‘game-playing’. [...] The vague phrase “derived from game-playing code written by others” also does not in my view apply to Rybka.  »
(IT)
« Rybka non "include codice per il gioco scritto da altri", a parte eccezioni standard che non possono essere considerate 'per il gioco'. [...] Anche la frase vaga "derivato da codice per il gioco scritto da altri" dal mio punto di vista non si applica a Rybka.  »
(email spedita da Rajlich a David Levy, presidente della ICGA, il 13 maggio 2011[41] )

[modifica] Reazione e critica alle accuse

Rajlich ha commentato le accuse in una intervista, datata 4 luglio 2011, condotta da Nelson Hernandez e pubblicata su YouTube[56], affermando che Rybka non conteneva codice copiato da Crafty e Fruit, in quanto Rybka impiega una rappresentazione della scacchiera ed una struttura delle funzioni di ricerca differenti. Rajlich ha affermato di avere preso ispirazione da Fruit su alcune soluzioni, ma ad un livello più astratto del codice sorgente, e che Rybka contiene codice sorgente di pubblico dominio proveniente da altri software, come il codice per le tablebase Nalimov attinto da Crafty, pratica che a detta del programmatore statunitense è legale e accettata[57].

Il 5 ottobre 2011 Ed Schröder, esperto di computer chess e sviluppatore del motore scacchistico REBEL, ha pubblicato un'analisi[58] nella quale contraddice le accuse della ICGA verso Rajlich. Schröder ha fatto parte della commissione d'inchiesta istituita dalla ICGA contro Rybka, ma ha preso le distanze da essa dubitando dei metodi impiegati e delle conclusioni alle quali la commissione era giunta.

Nel gennaio 2012 ChessBase news ha pubblicato una approfondita analisi suddivisa in quattro articoli[59], curata dal dottor Søren Riis, informatico presso la Queen Mary University di Londra ed ex scacchista (2300 punti elo). In questa analisi Riis studia con cura le accuse mosse, nel più ampio contesto dello sviluppo della computer chess negli ultimi decenni, e giunge a conclusioni opposte al verdetto della ICGA.

[modifica] Note

  1. ^ CCRL 40/40 - Pure list. 5 marzo 2010. URL consultato il 31 marzo 2010.
  2. ^ CEGT 40/20. Chess Engines Grand Tournament, 28 marzo 2010. URL consultato il 31 marzo 2010.
  3. ^ Computerschach und Spiele - Eternal Rating. Computerschach und Spiele, 18 marzo 2007. URL consultato il 21 maggio 2008.
  4. ^ SSDF Rating List. SSDF, 21 marzo 2010. URL consultato il 31 marzo 2010.
  5. ^ Bayesian Elo Ratinglist WBEC Ridderkerk after edition 14. URL consultato il 20 maggio 2008.
  6. ^ Rybka
  7. ^ a b FAQ per Rybka 2.0-2.2n2
  8. ^ a b Interview with Vasik Rajlich
  9. ^ Rybka’s immortal game
  10. ^ rybka source code
  11. ^ Rybka search
  12. ^ Rybka search
  13. ^ Is Rybka a derivative of Fruit?
  14. ^ Rybkachess.com
  15. ^ 17th International Computer Chess Championship - IPCCC 2007 in Paderborn
  16. ^ Rybka di Vasik Rajlich è campione CCT9
  17. ^ International CSVN Tournament 2007
  18. ^ a b c d Rybka ha ottenuto la prima posizione nelle edizioni del WCCC dal 2007 al 2010, ma la ICGA ha riconosciuto colpevole il team di Vasik Rajlich di aver plagiato porzioni di codice dei motori Crafty e Fruit (rilasciati sotto licenza GPL), squalificandolo a vita dalle competizioni e ritirandogli i titoli ed i premi conseguiti.
  19. ^ Computerschaak - ONK 2007
  20. ^ [1] Risultati del CCT10
  21. ^ http://www.csvn.nl/index.php?option=com_content&task=view&id=352&Itemid=28&lang=en]Rybka campione dell'Open d'Olanda 2008
  22. ^ Risultati del CCT11
  23. ^ Risultati del 17° WCCC su ChessBase News
  24. ^ Chessvine Article, "A 'Little Fish' (Rybka) in Corporate Waters"
  25. ^ Rybka Aquarium: Intervista agli sviluppatori
  26. ^ Rybka in Chess Classic Mainz 2007, Chess 960
  27. ^ CCM7 - 3. Livingston Chess960 Computer-Weltmeisterschaft. Chess Tigers. URL consultato il 22 agosto 2007.
  28. ^ CEGT
  29. ^ http://chessok.com/?p=512
  30. ^ (Sperimentale) Rybka 64-bit su Linux
  31. ^ Rybka per pocketpc
  32. ^ Rybka has same 99999 bug as Crafty. Open-Chess.Org
  33. ^ Is Rybka a derivative of Fruit?. Rybkaforum.net
  34. ^ Zach Wegner su chessprogramming.wikispaces.com
  35. ^
  36. ^ Rybka Chess Community Forum. Rybkaforum.net. URL consultato il 4 luglio 2011.
  37. ^ a b Open letter of Fabien Letouzey. talkchess.com. URL consultato il 4 luglio 2011.
  38. ^ Attack of the Clones. chessvibes.com. URL consultato il 4 luglio 2011.
  39. ^ Statuto della fondazione (.pdf). URL consultato il 4 luglio 2011.
  40. ^ Programmers write open letter about Rybka-Fruit issue. URL consultato il 4 luglio 2011.
  41. ^ a b Rybka disqualified and banned from World Computer Chess Championships. URL consultato il 4 luglio 2011.
  42. ^ Strelka 1.0 x32: un clone di Rybka?
  43. ^ Strelka = Rybka 1.0
  44. ^ osipovs arguments about strelka
  45. ^ Strelka 2.0
  46. ^ Recensione di Zakharov per il sito web di Arena
  47. ^ . Ippolit.wikispaces.com, 26 dicembre 2010. URL consultato il 5 luglio 2011.
  48. ^ Chess engine controversy. Chessvibes.com. URL consultato il 5 luglio 2011.
  49. ^ Official statement on Ippolit. Rybkaforum.net, 21 ottobre 2009. URL consultato il 5 luglio 2011.
  50. ^ Il codice sorgente di IPPOLIT. URL consultato il 5 luglio 2011.
  51. ^ ICGA I documenti dell'indagine. URL consultato il 5 luglio 2011.
  52. ^ Rybka disqualified and banned from World Computer Chess Championships. Chess Vibes. URL consultato il 5 luglio 2011.
  53. ^ Computer chess champ stripped of its four titles. Washington Times. URL consultato il 5 luglio 2011.
  54. ^ World's best chess program loses titles in plagiarism row. Tech World. URL consultato il 5 luglio 2011.
  55. ^ Rybka, the world’s best chess engine, outlawed and disqualified. Extreme Tech. URL consultato il 5 luglio 2011.
  56. ^ Video dell'intervista su YouTube. URL consultato il 17 luglio 2011.
  57. ^ Rybka affair: Rajlich speaks. URL consultato il 17 luglio 2011.
  58. ^ Analisi di Ed Schröder. URL consultato il 6 gennaio 2011.
  59. ^ A Gross Miscarriage of Justice in Computer Chess (part one). URL consultato il 6 gennaio 2011.
    A Gross Miscarriage of Justice in Computer Chess (part two). URL consultato il 6 gennaio 2011.
    A Gross Miscarriage of Justice in Computer Chess (part three). URL consultato il 6 gennaio 2011.
    A Gross Miscarriage of Justice in Computer Chess (part four). URL consultato il 6 gennaio 2011.

[modifica] Voci correlate

[modifica] Collegamenti esterni

scacchi Portale Scacchi: accedi alle voci di Wikipedia che trattano di scacchi
Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Comunità
Stampa/esporta
Strumenti
Altre lingue