Home

 

AcquaD Chess Engine
Un motore scacchistico sperimentale a 32-bit per Windows
A 32-bit experimental chess engine for Windows
 

Download AcquaD

Download "AcquaD 3.9.1 LDC" (acquad.zip)

27 agosto 2019
/ 27
August 2019


Contenuto di "acquad.zip" / Content of "acquad.zip"

acquad.d (source file)
acquad.exe (executable file)
acquad.gif (logo)
acquad.txt (manual)


  Per le vecchie versioni contattare l'autore / For older versions contact the author
AcquaD

AcquaD è un Chess Engine, ossia un motore scacchistico, scritto in linguaggio D. Esso è stato creato da zero. La sua forza di gioco è molto bassa e ciò può ritornare utile ai principianti alle prime armi, che vogliano cimentarsi in una partita a scacchi contro il computer. Per il suo utilizzo occorre usare un'interfaccia GUI come, ad esempio, Lucas Chess, Arena, Tarrash, Crafty, ecc. Un Chess Engine, infatti, è un programma che può solo analizzare una determinata posizione scacchistica. Si basa su una applicazione "a console" che necessita di un'interfaccia GUI, con la quale il motore comunica, tramite il protocollo UCI. In teoria, si potrebbe usare solo l'engine, ma occorrebbe conoscere i comandi più importanti dell'Universal Chess Interface.

AcquaD is a Chess Engine, that is a software, written in D language. It has been created from scratch. Its playing strength is very low and this can be useful for beginners who want to try to play chess against the computer. For its usage it is necessary to use a GUI interface such as, for example, Lucas Chess, Arena, Tarrash, Crafty, etc. A Chess Engine, in fact, is a program that can only analyze a chess position. It is based on a "console" application that requires a GUI interface, by which the engine communicates via UCI protocol. In theory, you could only use the engine, but you would need to know the most important commands of the Universal Chess Interface.






Linguaggio di programmazione utilizzato: D
Programming language used: D


 
D Language



Caratteristiche / Features
Nome del motore / Engine name AcquaD
Autore / Author Giovanni Di Maria
Licenza / License Freeware
Protocollo / Protocol UCI
Book
No
Tablebase
No
Ponder
No
Data primo rilascio / First release date 11 novembre 2018 / 11 November 2018
Linguaggio di programmazione / Programming language D
Sorgenti rilasciati? / Available sources? Si / Yes
Note / Notes
Forza di gioco molto debole. Ideale per bambini
Very weak playing strength. Ideal for children
Contro chi può vincere? / Against whom can he win? AcquaD batte nel 98% dei casi i Random Mover,
nel 2% patta perché ancora non conosce
bene i metodi per lo scacco matto
AcquaD beats in 98% of cases the Random Mover,
in 2% it fails because it still does not know
well the methods for checkmate




I progressi di AcquaD nel tempo (partite di 4'+5")
The progress of AcquaD over the time (games of 4'+5")

Grafico aggiornato al 27/08/2019 / Graph updated on 27/08/2019



Rating list created with "Ordo 1.2.6" (08/06/2021)


   # PLAYER                         :  RATING  POINTS  PLAYED   (%)
   1 Stockfish_21031920_x64       > :  5333.4    29.0      29   100
   2 Pedone 3.1                     :  5175.5    15.0      16    94
   3 Stockfish_19080109_32bit       :  4064.5    15.0      24    63
   4 Cfish 2019-07-06 32 GENERAL    :  4062.0    93.5     126    74
   5 Cfish_x32_040819_LTO           :  4039.3    34.0      57    60
   6 SugaR-NN.1.0.32                :  4028.8   115.0     131    88
   7 Komodo-10-32bit                :  3826.6    29.0      54    54
   8 Komodo-9.02-32bit              :  3646.1   160.5     232    69
   9 Critter_1.6a_32bit             :  3293.9   370.5     410    90
  10 Brutus_v8_05_x32               :  2686.6   352.0     407    86
  11 Ufim802                        :  2582.8    48.0      60    80
  12 Madeleine_0.2                  :  2361.8   301.5     409    74
  13 Piranha                        :  1991.9   221.0     284    78
  14 Gringo149b                     :  1644.6    42.0      76    55
  15 Skaki                          :  1604.7    44.5      80    56
  16 Frank                          :  1504.7    26.5      38    70
  17 Brama                          :  1424.8   367.5     466    79
  18 Di Maria Giovanni              :  1323.2    38.5      68    57
  19 Giuchess                       :  1249.0   400.5     520    77
  20 Kace                           :  1193.8   301.5     460    66
  21 Geko_043                       :  1121.2    78.5     129    61
  22 AcquaD 3.9.1 LDC               :  1088.2   245.0     342    72
  23 Fimbulwinter-504-32-ja         :  1081.1    59.0      96    61
  24 AcquaD 3.9.1 Optimized         :  1049.9   169.5     246    69
  25 AcquaD 4.0.0 LDC 64bit         :  1034.5    59.0     129    46
  26 Dikabi                         :   961.6   327.5     528    62
  27 AcquaD 3.9.1                   :   958.0   236.0     409    58
  28 AcquaD 3.8.5                   :   914.0   358.0     702    51
  29 AcquaD 3.9.0                   :   907.7   100.0     164    61
  30 AcquaD 3.5.3                   :   896.7   855.0    1640    52
  31 AcquaD 3.7.12                  :   880.9   133.0     247    54
  32 AcquaD 3.4.1                   :   871.0   559.0    1168    48
  33 AcquaD 3.3.19                  :   856.8   641.5    1139    56
  34 AcquaD 3.4.7                   :   850.2   251.5     513    49
  35 AcquaD 3.3.8                   :   845.9   876.0    1644    53
  36 AcquaD 3.3.13                  :   828.6   856.0    1664    51
  37 AcquaD 3.2.26                  :   722.5   629.5    1563    40
  38 Acqua 20160918                 :   539.7    31.5     179    18
  39 Di Maria Giuseppe              :   512.4     1.0       4    25
  40 AlouetteA32                    :   511.9    32.5     155    21
  41 Acqua20                        :   501.7   245.0    1092    22
  42 LaMoSca                        :   428.5   136.0     605    22
  43 Pos-bin-1.18                   :   347.4   148.5    1087    14
  44 ACE                            :   341.0   129.5     934    14


Total games               10163
 - White wins              4021
 - Draws                   2198
 - Black wins              3944
 - Truncated/Discarded        0
Unique head to head        9.83%
Reference rating       341.0 (set to "ACE")






Questa classifica è stata creata con il programma Ordo, usando il seguente comando:
ordo-win32.exe -W -p test.pgn -a 341 -A ACE -G


This ranking has been created with the program Ordo, using the following command:
ordo-win32.exe -W -p test.pgn -a 341 -A ACE -G






Scarica tutte le partite
Download all the games





Clicca qui per vedere i risultati del test corrente
Click here to see the results of the Tests in progress




Grafico dei Punti Attesi / Graph of Expected Points








Il grafico di sopra serve per calcolare il punteggio atteso.



Si supponga che due "Chess Engines" (o due giocatori umani) stiano giocando una partita. I punteggi ELO attuali dei due giocatori siano, per esempio, i seguenti:
  • Giocatore A: 1200 ELO;
  • Giocatore B: 1000 ELO.

La differenza ELO tra i due giocatori è, dunque, di +200 ELO. La somma dei punti attesi dei due giocatori equivale sempre a 1. Dal grafico si evince che i punti attesi di ogni giocatore, in una sola partita, sono i seguenti:

  • Giocatore A: 0,76;
  • Giocatore B: 0,24.

Per una sfida di 100 partite, ovviamente, i punti attesi sono i seguenti:

  • Giocatore A: 76;
  • Giocatore B: 24.



The graph above is used to calculate the expected score.



Suppose that two "Chess Engines" (or two human players) are playing a game. The current ELO scores of the two players are, for example, the following:
  • Player A: 1200 ELO;
  • Player B: 1000 ELO.
The ELO difference between the two players is, therefore, +200 ELOs. The sum of the expected points of two players is always equal to 1. From the graph we can see that the expected points of each player, in a single game, are the following:
  • Player A: 0.76;
  • Player B: 0.24.
For a challenge of 100 games, of course, the expected points are the following:
  • Player A: 76;
  • Player B: 24.


Grafico della Variazione ELO / Graph of  ELO Variation







Il grafico di sopra serve per calcolare la variazione ELO di un giocatore, dopo una o più partite.

ELO Var = (PT obtained - EXP score) * K

Si supponga che due "Chess Engines" (o due giocatori umani) stiano giocando una partita. I punteggi ELO attuali dei due giocatori siano, per esempio, i seguenti:
  • Giocatore A: 1200 ELO;
  • Giocatore B: 1000 ELO.

La differenza ELO tra i due giocatori è, dunque, di +200 ELO. Dal grafico si possono calcolare le variazioni ELO del giocatore:

  • Se vince, la variazione sarà di +2.5 ELO;
  • Se patta, la variazione sarà di -2.5 ELO;
  • Se perde, la variazione sarà di -7.5 ELO.



The graph above is used to calculate the ELO variation of a player, after one o more games.

ELO Var = (PT obtained - EXP score) * K

Suppose that two "Chess Engines" (or two human players) are playing a game. The current ELO scores of the two players are, for example, the following:
  • Player A: 1200 ELO;
  • Player B: 1000 ELO.
The ELO difference between the two players is, therefore, +200 ELOs. From the graph we can calculate the ELO variations of the player:
  • If he wins, the ELO variation vill be +2.5;
  • If he draws, the ELO variation will be -2.5;
  • If he loses, the ELO variation will be -7.5.






Giovanni Di Maria
photo by Giuseppe Carlino

Pensieri...

Ed ecco alcuni strani pensieri, ipotesi matematiche, congetture e pazze idee di Giovanni Di Maria sugli Scacchi, volutamente provocatorie che, sicuramente, faranno sobbalzare e inorridire gli scacchisti esperti e i programmatori di Chess Engines:
  • la Patta non esiste, vince sempre un colore, ma ancora oggi non si sa quale;
  • è inutile cercare nella profondità delle mosse: esiste sempre una migliore risposta ad ogni mossa dell'avversario, senza la necessità di esaminare le varianti (ply 1);
  • la mossa corretta può essere determinata mediante calcoli matematici, senza che l'Engine o il Giocatore conosca le regole del gioco. Purtroppo, a tutt'oggi, tali formule sono oscure all'Uomo;
  • gli scacchi si possono paragonare al gioco dei fiammiferi Nim o Marienbad, ma con un'estensione enormemente maggiore e una immensità quasi infinita (mi scusino gli Scacchisti).
Thoughts ...

And here are some strange Giovanni Di Maria's thoughts, mathematical hypotheses, conjectures and crazy ideas about Chess, deliberately provocative that, surely, will make jump and horrify the expert chess players and programmers of Chess Engines:
  • the Draw does not exist, always wins a color, but even today we do not know which;
  • it is useless to look into the depths of the moves: there is always a better response to every move of the opponent, without the need to examine the variants (ply 1);
  • the correct move can be determined using mathematical calculations, without that the Engine or Player knowing the rules of the game. Unfortunately, now, these formulas are obscure to Man;
  • chess can be compared to Nim or Marienbad games, but with an enormously greater extent and an almost infinite immensity.

F.A.Q.



Che tipo di programma è "AcquaD"?
AcquaD è un Chess Engine, ossia un programma che analizza una determinata posizione scacchistica ricevuta in input. Il motore utilizza il protocollo UCI. Si tratta di un'applicazione "a console" e per il suo funzionamento occorre utilizzare un'interfaccia grafica (GUI) come, ad esempio, Lucas Chess, Arena, Tarrash, Crafty.
What kind of program is "AcquaD"?
AcquaD is a Chess Engine, which is a program that analyzes a given chess position received as input. The engine uses the UCI protocol. It is a "console" application and for its work it is necessary to use a graphical interface (GUI) as Lucas Chess, Arena, Tarrash, Crafty.
Chi lo può utilizzare per il massimo divertimento?
Dal momento che AcquaD gioca con una forza molto bassa, può essere utilizzato dai principianti e, soprattutto, dai bambini che giocano da poco tempo e conoscono appena le regole fondamentali. Il debole gioco di AcquaD darà loro molte possibilità di successo.
Who can use it for maximum enjoyment?
Since AcquaD plays with a very low strength, it can be used by beginners and, above all, by children who know only the basic rules. AcquaD's weak game will give them many chances of success.
Quanto costa?
AcquaD è un prodotto freeware.
How much is it?
AcquaD is a freeware product.
Perchè il nome del Chess Engine è AcquaD?
Per tanti motivi:
  1. perchè fa acqua da tutte le parti;
  2. perchè batterlo è facile come bere un bicchier d'acqua;
  3. perchè questo engine si perde spesso in un bicchiere d'acqua;
  4. perchè si trova spesso in cattive acque;
  5. perchè il codice e i metodi algoritmici utilizzati sono semplici e puri come l'acqua;
  6. perchè in Russia, spesso i giocatori di scacchi disputano partite e tornei nell'acqua ghiacciata;
  7. perchè il gioco degli Scacchi è prezioso come l'Acqua;
  8. perchè molto spesso ha l'acqua alla gola;
  9. perchè fa spesso un buco nell'acqua.

Why is AcquaD the name of the Chess Engine ?
For many reasons:

  1. because it makes water on all the sides;
  2. because to beat it is easy as drinking a glass of water;
  3. because this engine often loses in a glass of water;
  4. because it is often in bad waters;
  5. because the code and the algorithmic methods used are simple and pure as water;
  6. because in Russia, chess players often play games and tournaments in frozen water;
  7. because the game of Chess is as precious as Water;
  8. because very often it has water in the throat;
  9. because it often makes a hole in the water.

Quali interfacce grafiche sono state provate con successo con AcquaD?

  • Lucas Chess;
  • Arena Chess GUI 3.5.1;
  • Crafty Chess Interface;
  • Lucas Chess;
  • Tarrasch Chess GUI.
Which graphical interfaces have been successfully tested with AcquaD?

     Lucas Chess;
     Arena Chess GUI 3.5.1;
     Crafty Chess Interface;
     Lucas Chess;
     Tarrasch Chess GUI.
Perchè è stato utilizzato D come linguaggio di programmazione?
Perchè D è un linguaggio molto semplice da imparare e, soprattutto, ad alto livello. Questo si traduce nella scrittura di algoritmi e procedure molto complesse, utilizzando poche righe di codice. Il D permette di gestire in maniera sicura e semplice gli Array, utilissimi per la memorizzazione degli stati della scacchiera. Ha anche un'ottima gestione della memoria.
Why was D used as a programming language?
Because D is a very simple language to learn and, above all, at a high level. This means to write very complex algorithms and procedures, using a few lines of code. The D allows to well manage Arrays, very useful for storing chessboard states. It also has excellent memory management.
Con quale criterio AcquaD sceglie la miglior mossa?
La mossa da eseguire è selezionata casualmente attraverso una simulazione di migliaia di nodi a diversa profondità. Tramite una opportuna funzione di valutazione viene scelta la migliore.
With which criterion does AcquaD choose the best move?
The move to be executed is selected randomly through a simulation of thousands of nodes at different depths. The best move is chosen through an appropriate evaluation function.
Cosa fare se si dovesse scoprire un "bug" nel programma?
Se si dovessero riscontrare malfunzionamenti o strani comportamenti nel motore scacchistico AcquaD, si può contattare l'autore all'indirizzo elektrosoft@tiscali.it oppure all'indirizzo calimero22@yahoo.it. Grazie.
What to do if you discover a "bug" in the program?
If you find any malfunctions or strange behavior in the AcquaD chess engine, you can contact the author at elektrosoft@tiscali.it or at calimero22@yahoo.it. Thank you.





Sito aggiornato al 21 agosto 2019 / Last modified: 2019-08-27




...dedicato a mio padre che mi ha insegnato il gioco degli scacchi quando ero bambino
... dedicated to my father who taught me the game of chess when I was a child