From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA00651; Thu, 18 Apr 2002 23:01:12 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA00648 for caml-list@pauillac.inria.fr; Thu, 18 Apr 2002 23:01:12 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id OAA27089 for ; Wed, 17 Apr 2002 14:34:36 +0200 (MET DST) Received: from shiva.jussieu.fr (shiva.jussieu.fr [134.157.0.129]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g3HCYZb02344 for ; Wed, 17 Apr 2002 14:34:35 +0200 (MET DST) Received: from ibm3.cicrp.jussieu.fr (ibm3.cicrp.jussieu.fr [134.157.15.3]) by shiva.jussieu.fr (8.12.1/jtpda-5.4) with ESMTP id g3HCYZYD063040 for ; Wed, 17 Apr 2002 14:34:35 +0200 (CEST) Received: from ibm1.cicrp.jussieu.fr (ibm1.cicrp.jussieu.fr [134.157.15.1]) by ibm3.cicrp.jussieu.fr (8.8.8/jtpda/mob-V8) with ESMTP id OAA16486 for ; Wed, 17 Apr 2002 14:35:48 +0200 Received: from localhost (fernande@localhost) by ibm1.cicrp.jussieu.fr (8.8.8/jtpda/mob-v8) with SMTP id OAA142012 for ; Wed, 17 Apr 2002 14:33:14 +0200 Date: Wed, 17 Apr 2002 14:33:14 +0200 (DST) From: Diego Olivier Fernandez Pons To: caml-list@inria.fr Subject: Re: [Caml-list] bitboard - howto (fwd) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Tue, 16 Apr 2002, V Krishnakumar wrote: > Hi! all, >=20 > Iam new to OCaml. Iam trying to write a chess engine. > In order to represent the board, I need bitvectors. How do I get bitvecto= rs ? (i need exactly 64 bit vectors). Je r=E9ponds en fran=E7ais, j'esp=E8re que cela fera l'affaire En ce qui concerne la programmation de jeux d'=E9checs bas=E9s sur la m=E9thode des bitboards (laquelle consiste =E0 repr=E9senter le tableau d'=E9checs 8x8 sur un entier 64 bits) je conseille de jeter un coup d'oeil aux programmes suivants :=20 - crafty (main.c explique l'historique de la construction de crafty, tr=E8s int=E9ressant =E0 ce titre) - dark thought (http://supertech.lcs.mit.edu/~heinz/dt/) on y trouve en particulier plusieurs articles sur les algorithmes utilis=E9s par ce logiciel Je pr=E9cise cependant qu'un jeu d'=E9checs bas=E9 sur la lib Int64 sera nettement moins performant que ses concurrents =E9crits en C. Aussi l'approche que je pr=E9coniserait plut=F4t est celle du d=E9veloppement d'u= n petit programme Caml qui =E9crive du code C adapt=E9 (un peu =E0 la FFTW)= =20 Il vous faut =E0 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 =E9galement disponible dans les exemples de programmation Caml par P. Weis - - un int=E9rpr=E9teur qui vous permette de d=E9terminer la complexit=E9 (en nombre de multiplications, additions, et, ou...) de vos algorithmes - un peu de sucre syntaxique - un simplificateur local (expressions alg=E9briques et bool=E9ennes) - un pretty printer qui fasse la sortie en code C Je vous conseille =E9galement de jeter un coup d'oeil dans le code source de la FFTW : =20 - expr.ml d=E9finition des expression arithm=E9tiques (100 lignes)=20 - exprdag.ml simplificateurs locaux et alg=E9briques (1000 lignes)=20 - ast.ml arbre syntaxique C (200 lignes)=20 En esp=E9rant que ces remarques vous auront =E9t=E9 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