1. #41
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut

    J'ai corrigé quelques bugs de Valisoa UCI. En voici le résultat :
    ValisoaUCI.zip
    " Le voyage compte plus que la destination. "
    ValisoaChess

  2. #42
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut ValisoaChess 0.1.2 peut trouver l'échecs et mat en demi-coup

    Bonjour !
    Voici ValisoaChess 0.1.2 qui peut trouver l'échecs et mat en demi-coup.
    Nombre de critères du choix de coup : 15
    Critère rajouté : Échecs et mat
    ValisoaChess 0.1.2.rar
    " Le voyage compte plus que la destination. "
    ValisoaChess

  3. #43
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut ValisoaChess 0.1.3

    Slt ! Voici la version 0.1.3 de ValisoaChess. Il commence à comprendre la notion d'espace.
    ValisoaChess 0.1.3.rar
    Nombre de critères : 16
    Critère rajouté : Cases contrôlées.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  4. #44
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut ValisoaChess 0.1.4 commence à comprendre la valeur d'une tour.

    Bonsoir,
    Voici la version 0.1.4 de ValisoaChess.
    Nombre de critères de choix de coup : 17
    Critère rajouté : Tour sur une colonne ouverte.
    ValisoaChess 0.1.4.zip
    " Le voyage compte plus que la destination. "
    ValisoaChess

  5. #45
    Responsable Pascal, Delphi et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    7 509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : mars 2003
    Messages : 7 509
    Points : 48 423
    Points
    48 423
    Billets dans le blog
    2

    Par défaut

    Je viens d'essayer cette nouvelle version.

    Lorsque je laisse le jeu débuter la partie, il se met rapidement en grande difficulté en choisissant d'attaquer à tout crin. Est-il prévu d'utiliser un livre d'ouvertures, ou est-ce déjà le cas ?
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]

  6. #46
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut

    Citation Envoyé par Alcatîz Voir le message
    Lorsque je laisse le jeu débuter la partie, il se met rapidement en grande difficulté en choisissant d'attaquer à tout crin. Est-il prévu d'utiliser un livre d'ouvertures, ou est-ce déjà le cas ?
    Bonjour Alcatîz.
    ValisoaChess n'utilise pas encore de livre d'ouverture. Il se contente juste de jouer un coup qui répond aux critères d'analyse que je lui ai donné. Bien sûr, je lui rajouterai un livre d'ouverture dans des prochaines versions.
    Avant de lui rajouter un quelconque livre " d'ouverture" ou " de finale" j'aimerais voir jusqu'où peut-il aller en n'utilisant que les critères d'analyse. Il a maintenant 17 critères et son niveau est aux alentours de 1 000 ELO (fide) d'après les tests que j'ai fait avec d'autres logiciels ayant une classification Elo. Ensuite, quand j'atteindrai la limite raisonnable de nombre de critères possibles dans un moteur d'échecs, je lui rajouterai un (ou plusieurs) algorithme de recherche de meilleur coup tout en n'ayant pas de "livre".
    C'est à la fin que lui rajouterai un livre d'ouverture. De cette façon je saurai quelle est sa véritable force (sans base de données).

    Merci de l'avoir testé et soulevé ce problème. Je pense que le niveau de ValisoaChess augmente au fur et à mesure que je lui rajoute des nouveaux critères d'analyse de meilleur coup.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  7. #47
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut Nombre de critères d'analyse de meilleur coup

    Bonjour tout le monde !
    Voici des questions qui me hantent tous les jours. Pouvez-vous les répondre ne serait ce que me donner une simple idée ou conseil ?

    1- Un moteur d'échecs a environ combien de critères d'analyse de meilleur coup ? Je parle ici des meilleurs logiciels d'échecs comme Stockfish, Houdini, Komodo...
    2- Quel est le meilleur algorithme de recherche qu'on peut utiliser ? Il y en a plusieurs, mais j'aimerais savoir celui qui donnerait le meilleur résultat quand on l'utilise dans un moteur d'échecs.
    3- Quelles sont les conditions à remplir pour qu'un moteur d'échecs puisse être dans le TOP 10 des meilleurs : http://www.computerchess.org.uk/ccrl/4040/index.html

    A titre de comparaison :

    ValisoaChess 0.0.2 a moins de 25 ELO avec 2 critères d'analyse.
    ValisoaChess 0.1.4 a 1 005 Elo avec 17 critères d'analyse.
    SugaR XPRO 1.2 (Le N°1 mondial) a 3 411 ELO ( avec combien de critères d'analyse ? )
    Houdini 6 a 3 406 ELO ( avec combien de critères d'analyse ? )

    Merci d'avance pour les réponses.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  8. #48
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    3 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 3 221
    Points : 11 736
    Points
    11 736
    Billets dans le blog
    5

    Par défaut

    Bonjour !

    D'après ma propre expérience et aussi d'après ce que j'ai pu lire sur le sujet, le seul moyen de donner de la force à un programme d'échecs est une recherche en profondeur, avec l'algorithme "minimax" ou l'une de ses variantes plus sophistiquées. Une évaluation sans profondeur, même avec beaucoup de critères, ne donnera jamais un très bon résultat. Inversement, une évaluation en profondeur, avec comme seul critère la différence de matériel, donnera un résultat plus satisfaisant.

  9. #49
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut

    Merci pour cette idée. Je vais donc injecter un algorithme minmax dans le code ValisoaChess.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  10. #50
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 631
    Points : 4 184
    Points
    4 184

    Par défaut

    salut

    utilise le avec l'alpha beta afin d'optimiser les recherches
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  11. #51
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut

    Merci anapurna ! Je compte bien en utiliser.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  12. #52
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 631
    Points : 4 184
    Points
    4 184

    Par défaut

    Salut

    Cela faisait un petit moment que je n'avais pas regardé le code.

    Il y a quelques améliorations que tu peux faire :

    Dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function GestiondEchecs(Depart,Arrivee : byte; Piece : PiecePourTous; Trait : shortint) : boolean;
    tu peux remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i:= 0 to 99 do PieceChess[i] := Piece[i]; { Transfert d'état de l'échiquier à la variable locale }
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move(Piece[0],PieceChess[0],sizeof(Piece)); { Transfert d'état de l'échiquier à la variable locale }
    Un truc un peu blizzard dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function Evaluation(nbCoup : byte) : string; { Evalue l'état du jeu et renvoi le meilleur coup }
    je trouve ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Case Piece[CaseArrivee]*(-Trait) of { On ajoute la valeur de la pièce à capturer au nombre des points }
      Dame : Pointmixte[i] := Pointmixte[i]+Dame;
      Tour : Pointmixte[i] := Pointmixte[i]+Tour;
      Fou  : Pointmixte[i] := Pointmixte[i]+Fou;
      Cavalier : Pointmixte[i] := Pointmixte[i]+Cavalier;
      Pion : Pointmixte[i] := Pointmixte[i]+Pion;
     end;
    pourquoi ne pas faire directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Pointmixte[i] := Pointmixte[i]+Piece[CaseArrivee]*(-Trait); { On ajoute la valeur de la pièce à capturer au nombre des points }
    Bon j'ai pas tout décortiqué, bon courage pour la suite
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  13. #53
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut

    Salut anapurna !

    Citation Envoyé par anapurna Voir le message
    pourquoi ne pas faire directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Pointmixte[i] := Pointmixte[i]+Piece[CaseArrivee]*(-Trait); { On ajoute la valeur de la pièce à capturer au nombre des points }
    Sincèrement, je ne savais pas que cela était possible. Pour ce qui est de langage Pascal, je ne connais que les bases mais j'essaye de faire un grand exploit avec. Merci pour cette correction.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  14. #54
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut

    Citation Envoyé par anapurna Voir le message
    tu peux remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i:= 0 to 99 do PieceChess[i] := Piece[i]; { Transfert d'état de l'échiquier à la variable locale }
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move(Piece[0],PieceChess[0],sizeof(Piece)); { Transfert d'état de l'échiquier à la variable locale }
    C'est génial comme astuce.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  15. #55
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 631
    Points : 4 184
    Points
    4 184

    Par défaut

    salut

    je viens de me relire le case n'est pas nécessaire dans ma déclaration
    il fallait lire
    Pointmixte[i] := Pointmixte[i]+ Piece[CaseArrivee]*(-Trait);
    c'est plus simple et logique
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  16. #56
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut

    oui, t'as raison. C'est plus simple. Comment est-ce que je n'ai pas pu voir cela ?
    Je vais revérifier mon code pour voir s'il y a encore des trucs à simplifier comme celui-là. Merci.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  17. #57
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut ValisoaChess 0.0.1 le minimum de code possible : Mon 1er objectif est atteint.

    Bonjour ! J'ai le plaisir d'annoncer que mon premier objectif concernant ValisoaChess est atteint. Si vous avez pu lire ma première publication, j'ai mentionné que je cherchais à créer un logiciel d'échecs avec le minimum de code possible, écrit en langage Pascal. Cet objectif est désormais atteint grâce à la version 0.0.1 de ValisoaChess que vous pouvez voir ici : ValisoaChess 0.0.1.zip
    Je l'ai écrit avec seulement 221 lignes de code. Même si le minimum de code était mon objectif principal, j'ai quand même respecté quelques principes et styles de programmation à savoir :
    • J'ai fait en sorte qu'il soit en minimum de code possible (221 lignes seulement),

    • Simple
    • Facile à comprendre même pour un débutant en programmation.

    • Le code est assez commenté

    • Le choix des identificateurs ont été soigneusement réfléchit.

    • Le code est aéré et sa structure est propre et bien arrangée. L'espacement, l'indentation et le saut de ligne ont été bien fait.


    Bien sûr, on peut encore y trouver de quoi à corriger mais je crois que si on veut DÉBUTER à programmer un logiciel d'échecs en langage Pascal, ValisoaChess 0.0.1 est une bonne référence à prendre comme exemple.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  18. #58
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut L'objectif suivant : Que ValisoChess soit dans la liste de TOP 10 mondial des logiciels d'échecs.

    Cet objectif semble être une grande ambition et de difficulté élevée vu mes propres principes que je dois respecter (mentionnés à la 1ère publication) mais j'y crois vraiment. En Plus, avec les résultats des tests que j'ai effectués à DEMI-COUP contre les grands logiciels comme stockfish, Komodo, Spike, AnMon, Fruit, Hermann, Strelka ... m'ont montré que leurs FONCTIONS D'ÉVALUATION sont dépassées par celle de ValisoaChess (0.1.7) dans certaines positions particulières.
    A titre d'exemple :
    - sur 100 parties jouées contre Spike (36èm mondial) ValisoaChess 0.1.7 a obtenu 50 parties nulles.
    - sur 100 parties jouées contre Strelka (23èm mondial) ValisoaChess 0.1.7 a obtenu 50 parties nulles.
    - sur 100 parties jouées contre SCHACH, qui calcul jusqu'à 4 demi-coup, ValisoaChess qui ne calcul qu'à 1 demi-coup a obtenu 50 victoires, 50 nulles et aucune défaite (ValisoaChess 75 # 25 SCHACH).
    - sur 100 parties jouées contre AnMon (148èm mondial) ValisoaChess a obtenu 41 victoires et 18 parties nulles.
    - avec certaines modifications des valeurs de critères d'évaluation de la version 0.1.7, sur 100 parties jouées contre Houdini (2èm mondial), ValisoaChess a obtenu 50 parties nulles.

    Le classement que j'ai pris se trouve ici : http://www.computerchess.org.uk/ccrl/4040/
    Lors des tests, j'ai utilisé Arena et j'ai intégré le protocole UCI dans ValisoaChess. Arena se trouve là : http://www.playwitharena.com/?Download
    Ma déduction : bientôt, ValisoaChess les écraserait tous à demi-coup. Ce qui veut dire que la fonction d'évaluation de ValisoaChess serait très bientôt meilleure que les siennes, y compris celle de Stockfish ou de Houdini.
    Pour ce qui est d'algorithme de recherche comme MinMax et autres, c'est une autre histoire que ValisoaChess aborderait après la future victoire de sa fonction d'évaluation.
    " Le voyage compte plus que la destination. "
    ValisoaChess

  19. #59
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut ValisoaChess 0.1.6 est juste un passe-temps

    Bonjour !
    Voici la version 0.1.6 de ValisoaChess. Je lui ai rajouté une liste des coups joués qu'on peut consulter à tout moment sur son interface.
    ValisoaChess 0.1.6.zip
    " Le voyage compte plus que la destination. "
    ValisoaChess

  20. #60
    Membre actif
    Avatar de inspirateur
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mars 2014
    Messages : 80
    Points : 239
    Points
    239

    Par défaut

    A la demande des utilisateurs, j'ai rajouté une liste des coups sur l'interface.
    " Le voyage compte plus que la destination. "
    ValisoaChess

Discussions similaires

  1. Projet Jeu d'échec
    Par Layla dans le forum Langage
    Réponses: 10
    Dernier message: 23/12/2010, 13h06
  2. [IA] jeu d'échec
    Par Leinhardt dans le forum Intelligence artificielle
    Réponses: 7
    Dernier message: 01/04/2008, 21h33
  3. L'empereur de Chine et le jeu d'échecs
    Par momo1367 dans le forum Pascal
    Réponses: 1
    Dernier message: 04/01/2008, 02h08
  4. Serveur de jeu d'échec en PHP
    Par S_Xavier dans le forum Débuter
    Réponses: 3
    Dernier message: 20/10/2007, 15h02
  5. Jeu d'échec borland soap
    Par rpoulin dans le forum Web & réseau
    Réponses: 2
    Dernier message: 20/10/2005, 05h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo