Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] bitboard - howto (fwd)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Diego Olivier Fernandez Pons <Diego-Olivier.FERNANDEZ-PONS@c...>
Subject: Re: [Caml-list] bitboard - howto (fwd)
On Tue, 16 Apr 2002, V Krishnakumar wrote:

> Hi! all,
> 
> Iam new to OCaml. Iam trying to write a chess engine.
> In order to represent the board, I need bitvectors. How do I get bitvectors ? (i need exactly 64 bit vectors).

Je réponds en français, j'espère que cela fera l'affaire

En ce qui concerne la programmation de jeux d'échecs basés sur la
méthode des bitboards (laquelle consiste à représenter le tableau
d'échecs 8x8 sur un entier 64 bits) je conseille de jeter un coup
d'oeil aux programmes suivants : 

- crafty (main.c explique l'historique de la construction de crafty,
très intéressant à ce titre)

- dark thought (http://supertech.lcs.mit.edu/~heinz/dt/)
on y trouve en particulier plusieurs articles sur les algorithmes
utilisés par ce logiciel

Je précise cependant qu'un jeu d'échecs basé sur la lib Int64 sera
nettement moins performant que ses concurrents écrits en C. Aussi
l'approche que je préconiserait plutôt est celle du développement d'un
petit programme Caml qui écrive du code C adapté (un peu à la FFTW) 

Il vous faut à cet effet :
- un noyau minimal simulant un processeur 64 bits comme celui que l'on
trouve dans le livre de P. Weis et X. Leroy (Le lagage Caml) - je
crois qu'il est également disponible dans les exemples de
programmation Caml par P. Weis -
- un intérpréteur qui vous permette de déterminer la complexité (en
nombre de multiplications, additions, et, ou...) de vos algorithmes
- un peu de sucre syntaxique
- un simplificateur local (expressions algébriques et booléennes)
- un pretty printer qui fasse la sortie en code C

Je vous conseille également de jeter un coup d'oeil dans le code
source de la FFTW :  
- expr.ml définition des expression arithmétiques (100 lignes) 
- exprdag.ml simplificateurs locaux et algébriques (1000 lignes) 
- ast.ml arbre syntaxique C (200 lignes) 

En espérant que ces remarques vous auront été utiles

        Diego Olivier
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners