caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Re: [Caml-list] bitboard - howto (fwd)
@ 2002-04-17 12:33 Diego Olivier Fernandez Pons
  2002-04-18 21:40 ` Ruchira Datta
  0 siblings, 1 reply; 2+ messages in thread
From: Diego Olivier Fernandez Pons @ 2002-04-17 12:33 UTC (permalink / raw)
  To: caml-list

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-04-18 21:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-04-17 12:33 [Caml-list] bitboard - howto (fwd) Diego Olivier Fernandez Pons
2002-04-18 21:40 ` Ruchira Datta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).