[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Eliot-general] Algorithme Scrabble
From: |
Hibernatus |
Subject: |
[Eliot-general] Algorithme Scrabble |
Date: |
Wed, 29 Dec 2010 22:25:23 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 |
Bonjour,
Je cherche à entrer en contact avec l'un des auteurs de Eliot, car j'ai vu
qu'ils étaient français, et j'ai moi-même écrit un petit programme servant à
trouver les meilleurs coups.
J'ai fait ça suite à un défi lancé par un collègue, en 2 jours, en C++ sous
forme de DLL pour une application WinDev (framework pour Windows).
Évidemment, je m'attendais à ce que d'autres l'aient fait avant moi, et je vous
félicite d'ailleurs pour votre programme qui est si complet (le mien n'est
qu'une expérience).
J'aurais aimé discuter de l'algorithme de recherche des coups possibles, et
voir si je n'ai pas oublié des cas tordus.
Ce qui m'intrigue notamment c'est que vous faites référence à des white papers,
alors que pour ma part je me suis contenté de suivre mon intuition en
développant un simple arbre lexicographique (légèrement optimisé pour un petit
alphabet, car je n'ai que 26 lettres) et les résultats me semblent
satisfaisants :
En lui donnant un tirage de 7 jokers et en plaçant quelques lettres sur le
plateau, il me génère une liste d'un million de coups possibles en moins d'une
seconde, réellement stockée avec les mots et les points de chaque coup. Des cas
plus réalistes prennent quant à eux de 50µs à 20ms, avec de quelques dizaines à
quelques milliers de coups générés.
Je pense qu'on peut facilement exploiter le multicore sur un tel algorithme, ne
serait-ce qu'en distribuant les points de départ des recherches, ou en séparant
horizontal et vertical. Avec OpenMP ça prendrait très peu ce lignes de code, et
conserverait la portabilité.
Je n'ai pas eu le temps de regarder votre code, je suis au travail quand je
fais tout ça, mais je n'y manquerais pas, et je vous remercie pour votre
excellent programme open source.
Cordialement,
Thomas
- [Eliot-general] Algorithme Scrabble,
Hibernatus <=