|
Acqua Chess Engines
Un
motore scacchistico sperimentale
|
|
Acqua è un Chess
Engine, ossia un motore scacchistico,
scritto in linguaggio Harbour. 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,
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.
Linguaggio di programmazione
utilizzato: Harbour
Nome
del motore
|
Acqua
|
Ultima
versione
|
(ver.
20160918)
|
Autore
|
Giovanni Di Maria
|
Licenza
|
Freeware
|
Righe
di programma
|
2449
|
Elo
attuale ufficiale G-Sei
|
844
|
Protocollo |
UCI
|
Book
|
No
|
Tablebase
|
No
|
Ponder
|
No
|
Data
primo rilascio |
7 maggio 2016 |
Data
ultimo rilascio |
18 settembre 2016 |
Linguaggio
di programmazione |
Harbour
|
Sorgenti rilasciati? |
Si
|
Sistema
operativo
|
Windows
|
Note |
Forza di gioco molto debole. Ideale
per bambini
|
Contro
chi può vincere?
|
Acqua batte nel 98% dei casi i Random
Mover,
nel 2% patta perché ancora non conosce
bene i metodi per lo scacco matto
|
Url
G-Sei
|
http://www.g-sei.org/acqua/
|
I progressi di Acqua
Chess Engine nel tempo
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...
- E' 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).
F.A.Q.
Che tipo di programma è "Acqua"?
Acqua
è 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, Arena, Tarrash, Crafty.
Chi lo può utilizzare per il
massimo divertimento?
Dal momento che Acqua 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
Acqua darà loro molte possibilità di successo.
Quanto
costa?
Acqua
è un prodotto freeware e rimarrà sempre gratuito.
Perchè
il nome del Chess Engine è Acqua?
Per
tanti motivi:
- Perchè è scritto
con il linguaggio Harbour, che in inglese
significa "porto";
- Perchè fa acqua da
tutte le parti;
- Perchè batterlo è
facile come bere un bicchier d'acqua;
- Perchè questo
engine si perde spesso in un bicchiere d'acqua;
- Perchè si trova
spesso in cattive acque;
- Perchè il codice e
i metodi algoritmici utilizzati sono semplici e
puri come l'acqua;
- Perchè in Russia,
spesso i giocatori disputano partite e tornei
nell'acqua ghiacciata;
- Perchè il gioco
degli Scacchi è prezioso come l'Acqua.
Quali
interfacce grafiche sono state provate con successo
con Acqua?
- Arena Chess GUI 3.5.1;
- Crafty Chess Interface;
- Lucas Chess;
- Tarrasch Chess GUI.
Perchè è stato utilizzato
Harbour come linguaggio di programmazione?
Perchè Harbour è un linguaggio abbastanza semplice
da imparare e, soprattutto, ad altissimo livello.
Questo si traduce nella scrittura di algoritmi e
procedure molto complesse, utilizzando poche righe
di codice. Harbour permette di gestire in maniera
sicura e semplice gli Array e i Database, entrambi
utilissimi per la memorizzazione degli stati della
scacchiera.
Con quale criterio Acqua
sceglie la miglior mossa, a ply 1?
La mossa da eseguire è selezionata utilizzando il
metodo del Bonus-Malus. Per ogni mossa possibile
dell'engine, viene assegnato un valore (positivo o
negativo) per l'effetto che la mossa stessa produce.
La somma di parametri diversificati determina la
mossa migliore da effettuare. Ad esempio, esporre la
propria Donna sotto la minaccia avversaria determina
una certa penalità, la cattura di una Torre
avversaria premia con alcuni punti, una mossa di
avvicinamento al Re avversario regala altri valori,
e così via. Molti criteri devono essere ancora
implementati.
Quale livello di
profondità di ricerca nelle mosse
raggiunge Acqua?
Secondo le regole generali del progetto, Acqua si
limita alla ricerca della migliore mossa a ply 1. Al
momento non sono previste creazioni di alberi delle
mosse.
Quali sono le regole
generali del progetto Acqua e i suoi stati
attuali?
Al momento, i criteri di lavorazione di Acqua sono
quelli riportati di seguito. Potrebbero subire,
ovviamente, delle modificazioni, se le competenze
acquisite sulla programmazione di un C.E. dovessero
aumentare.
- La miglior mossa di Acqua è
determinata a ply 1;
- Alcune mosse "migliori" si
possono calcolare matematicamente;
- Le rappresentazioni di
scacchiera sono effettuate tramite matrice
bidimensionale;
- Non è richiesta ne' potenza
di elaboratore ne' velocità esecutiva. La mossa è
dedotta in modo quasi istantaneo;
- Le mossa candidate risiedono
in un DBF in Ram;
- Ad ogni mossa sono
attribuiti dei bonus e malus che ne decretano la
bontà;
- Per calcolare gli effetti
della mossa, essa è "simulata" su una seconda
scacchiera;
- Al momento la promozione
avviene solo con la Donna;
- Al momento Acqua non sa
arroccare ne' catturare En Passant, ma li
riconosce dall'avversario;
- La gestione delle case sotto
controllo avviene con una matrice;
- Acqua sa effettuare il matto
in una mossa, solo se il Re avversario è solo
sulla scacchiera;
- Ai fini della bontà della
mossa, vengono considerati la distanza dei pezzi
dal Re e la strada percorsa.
Cosa fare se si dovesse
scoprire un "bug" nel programma?
Se si dovessero riscontrare malfunzionamenti o
strani comportamenti nel motore scacchistico Acqua,
si può contattare l'autore all'indirizzo elektrosoft@tiscali.it
oppure all'indirizzo calimero22@yahoo.it.
Grazie
|