création d'un arbre de partie
Par hellaynea
– le 26/08/11
à 19h11
– Divers
Ayant à disposition quelques milliers de parties sous format pdn/gz et pas mal de connaissance en informatique je me posais quelques questions.
J'envisage la construction d'un arbre unique qui décrirait l'ensemble des parties jouées.
C'est à dire un graphe orienté au sein duquel les noeuds soient des positions et les branches les coups joués.
Est ce que cela a déjà été fait ?
Je sais qu'il existe des bibliothèques d'ouverture/fin de partie, mais là je parle seulement de reconstruire les parties jouées.
Au vue de la vitesse à laquelle j'avance sur le sujet, je pense faire un essai avec l'ensemble des parties des championnats de france d'ici dimanche. Le problème sera de construire une petite interface d'exploitation de l'arbre et surtout de trouver un hébergeur qui puisse faire l'affaire.
Pour donner un ordre d'idée sur mon dernier essai j'ai obtenu une base de 6.6Mo avec 348 parties
Réponses
(5)
Par hellaynea
– le 26/08/11
à 19h29
Question bonus :
j'ai les parties du championnat de france série nationales de 2001 à 2011, mais quelqu'un a les parties pour les années qui précédent ?
Par Gérard TAILLE
– le 26/08/11
à 20h06
Bonjour hellaynea,
Je pense que tu dois pouvoir faire beaucoup beaucoup mieux puisque la base Tdam stocke environ 390 000 parties en 450 Mo.
Pourquoi veux-tu faire un arbre? Avec une telle structure tu vas perdre énormément de place non?
Sachant que quelque soit la position il est impossible d'avoir un choix supérieur à 255 coups possibles j'en déduis que je n'ai besoin que d'un octet par demi-coups. Pour une partie jouée en 50 coups j'ai donc besoin de 100 octets (50 coups blancs + 50 coups noirs). Si tu stockes en plus les noms des joueurs, la date, lieu etc tu peux donc compter 200 octets par partie et tu es large. Cela veux dire que dans 1Mo tu peux stocker 5000 parties alors que tu as l'air de stocker seulement 348 parties dans 6.6Mo. Où est l'erreur?
Amitiés
Gérard
Par hellaynea
– le 26/08/11
à 20h27
Pourquoi un arbre ?
principalement pour essayer de faire quelque chose d'original pendant que j'ai un peu de temps libre. Et je voulais me remettre à la programmation php/mysql/ajax/...
Aucune erreur dans tes calcul, mais pour l'instant j'ai travaillé deux soirs dessus, j'en suis pas encore à l'optimisation de la base, le scripts permettant de parcourir mon arborescence de dossier/fichier et d'interprétation des fichiers gz et en cours de finition.
L'idée de base est de pouvoir requêter sur les positions, donc en plus de stocker les coups joués, je stocke aussi les positions ce qui me crée un survolume et la pluspart des données sont stocké sur des mediumint alors que je peux surement réduire ça.
Le challenge ce n'est pas d'optimiser au maximum le volume de la base mais d'avoir des données requêtables rapidement/facilement pour une bonne exploitation par la suite
Par Gérard TAILLE
– le 26/08/11
à 20h42
OK je comprends. Amuse-toi bien!
Amitiés
Gérard
Par hellaynea
– le 30/08/11
à 13h38
j'ai donc fait un essai avec les 1373 parties du championnats france que j'avais (nationale + un peu d'excellence).
J'ai fait une rapide petite interface de rendu, que j'ai mis en ligne en relançant une vieille monture de mon site. Il y a surement pas mal de problème/bug mais vous pouvez déjà voir un apercu du résultat là bas:
http://draughts.olympe-network.com/arbre/
Pour l'instant les dames ne s'affichent pas correctement et il y a des doublons qui trainent dans la base pour une raison qu'il m'est encore inconnu.
On navigue entre les positions en cliquant dessus
Les valeurs marquées au dessus correspondent au coup joué
et les valeurs en dessous au nombre de victoire_remise_défaite du point de vue blanc par rapport à la position.