|
Houdini est maintenant le bienvenu sur Playchess.com par Sh***ta**5262 le
[Aller à la fin] |
| Informatique | |
Depuis la fin d'après midi, le chess engine Houdini est accepté sur la plateforme playchess.com.
|
|
ok Il fait -2 à Amsterdam.
|
|
Pour quelqu'un qui ne connait pas playchess comme moi, que doit on comprendre ? Il y a droit à assistance d'un programme sur ce site ?!
|
|
Il y a des zones sur Playchess où les machines peuvent s'affronter. Houdini est considéré par beaucoup comme le meilleur moteur actuel... et il est gratuit.
|
|
Il mène 9 à 5 contre Rybka 4 au championnat du monde (finale en 40 parties!!)
|
|
Houdini semble très fort mais on lit ici :
http://www.open-chess.org/viewtopic.php?f=4&t=265
que rybka4 l'a emporté 26,5 à 21,5 contre Houdini 1.02 dans un match à cadence lente !
il est vrai qu'on en est maintenant à Houdini 1.5
|
|
La version 1.5a n'a plus rien à voir avec ... ...la 1.02 au niveau de la force. A l'époque Houdini commençait à s'approcher de Rybka seulement. Maintenant il est clairement devant.
Voici le lien vers le match :
http://www.chessdom.com/news-2011/houdini-rybka-computer-chess-live
Pour le moment 9,5 à 5,5 pour Houdini avec notamment 3 victoires avec les noirs pour une seule défaite. La partie en cours est une scandinave et Houdini a les blancs.
|
|
Je te crois pour la force relative des deux programmes (je commence à peine à connaître Houdini). Cependant, il y a un clair biais dans ce match : on sait qu'il est plus précis de faire jouer la même ouverture deux parties de suite par chaque logiciel (une fois avec les blancs une fois avec les noirs), sinon le choix (aléatoire !!) de l'ouverture peut influer plus ou moins fortement sur le résultat du match. Or dans le match que tu évoques ce n'est pas le cas.
|
|
Cela semble être le cas dan31 du moins ds la première partie de ce championnat avec ts les engines
|
|
Est-ce que les machines "tournent" sur le même hardware ?
|
|
ref rodeval oui mais pas pour la finale, c'est dommage !
Ceci dit j'ai regardé un peu les parties, et visiblement c'est la profondeur de recherche supérieure de Houdini qui fait la différence. C'est aussi ce qui expliquait pourquoi Rybka battait les autres si je me souviens bien. En revanche, la fonction d'évaluation de rybka à profondeur égale semble légèrement meilleure.
|
|
Dans quelle phase de jeu se manifeste la supériorité d'Houdini? Souvent Rybka s'engage dans une combinaison brillante , et finalement en sort avec 1 pion de plus , mais une finale ingagnable
Houdini ne la joue pas : il ne l'a pas "vue" ou il "estime" le bénéfice à long terme insuffisant?
|
|
Stratégie vs Tactique Oui, Rybka possède un jeu fortement positionnel où très peu de positions sont calculées (quelques centaines de milliers de noeuds par seconde). Houdini quant à lui est fortement axé vers le calcul brute de positions (plusieurs millions de noeuds par seconde).
Dans ce duel Stratégie / Tactique, le potentiel de Houdini est très prometteur grâce à la croissance continue de la puissance de calcul de nos ordinateurs.
Quel dommage que le code source de Houdini ne soit pas public...
|
|
Stratégie La stratégie est limitée par l'imagination humaine, la tactique n'est plus humaine depuis longtemps
|
|
certes sheratan, mais comme tu as l'air de t'y connaître n'est-il pas curieux qu'Houdini arrive à calculer aussi loin. Que Rybka puisse arriver communément à une profondeur de 22, je le comprends, car il évalue relativement peu de positions (cad qu'il coupe l'arbre de recherche n'est-ce pas ?). Mais comment Houdini arrive-t-il dans les mêmes positions (cf le match actuel rybka-houdini) à calculer en moyenne 4 demi-coups plus loin, tout en évaluant plus de positions (noeuds) à chaque fois ? La seule différence est-elle dans le temps que met à être calculée la fonction d'évaluation ? Ou y a-t-il d'autres astuces ?
|
|
La fonction d'évaluation permet d'après une convention propre au "moteur d'échecs" de définir le chemin le plus favorable face à une position donnée. Cette évaluation ou "Heuristique" est en réalité une combinaison plus ou moins complexe d'algorithme de recherche et de "choix"/selection dans des arbres extrêmement larges et profonds.
Dans l'exemple de Rybka, la construction de l'arbre de recherche prend beaucoup plus de temps en raison des nombreux paramètres en entrée de la fonction heuristique (contrôle du centre, chaîne de pions... et des centaines d'autres). Il ne reste alors que peu de temps à Rybka pour le parcours de cet arbre... mais Rybka est sur que cet arbre est de bonne qualité.
Houdini utilise quant à lui un algorithme de recherche beaucoup moins "complexe" qui construit rapidement un arbre plus grand. L'idée est alors de parcourir le plus rapidement possible cet arbre de recherche. La valeur ajoutée est là: trouver un algorithme de parcours efficace avec une complexité la plus petite possible. Evidemment, l'arbre de Houdini doit être rempli de déchets...
Si jamais, la référence en anglais sur internet:
http://chessprogramming.wikispaces.com/Algorithms
|
|
Par exemple Si on exagère les choses: si Rybka et Houdini ont chacun une minute pour évaluer une position. Rybka va prendre 55 secondes pour construire un arbre de solution en fonction de paramètres stratégiques précis. L'arbre est profond mais pas très large et Rybka va pouvoir atteindre une profondeur 22 par exemple en 5 secondes. Par contre Houdini lui va construire son arbre de solution en seulement 25 secondes car l'algorithme de calcul/selection est moins complexe. L'arbre est alors large, profond et optimisé pour le parcours (i.e pour SSS*). Il va parcourir l'arbre en 25 secondes et atteindre la profondeur 22, comme Rybka. Si Rybka cherche une solution, il va chercher là où c'est éclairer... Houdini cherche un peu dans la zone d'ombre autour...
|
|
ça ne cadre pas avec ce que j'ai observé Si je peux oser une comparaison , Rybka c'est Topalov et Houdini c'est Anand , et non l'inverse
|
|
Merci Sheratan pour tes explications sur le mode de fonctionnement de Rybka et Houdini!J'avais proposé ce livre sur le forum il y a quelques temps,connaitrais-tu d'autres bons ouvrages sur l'intelligence artificielle? Je me pose une question à propose de Fritz:comment fonctionne t-il?J'ai l'impression qu'il a une bonne force de calcul mais qu'il évalue mal au final,c'est bien ça?
|
|
@TrueMadness Le livre que tu as proposé est excellent... La référence actuelle pour moi est Artificial Intelligence: A Modern Approach (http://aima.cs.berkeley.edu/) et bien sur beaucoup d'autres que l'on peut trouver ici: http://chessprogramming.wikispaces.com/
Pour Fritz, je le connais très mal car son code source n'est pas disponible contrairement à d'autres comme Ippolit/Robbolito, Stockfish...En effet le code source de ces derniers permet de comprendre les moteurs Rybka et Houdini par voie supposée de filliation. Il se pourrait en effet que Ippolit/Robbolito soit largement inspiré de Rybka et que Houdini combine des techniques issues de Ippolit/Robbolito, Stockfish... Nous sommes ici dans la même mouvance moderne...
Fritz semble quelque peu dépassé sur tous les plans: stratégiques et tactiques.
|
|
@Photophore Je suis assez d'accord avec la comparaison Topalov et Rybka. Le jeu de Topalov est brillant et novateur (et je pense fortement influencée par Kasparov). Dans le jeu positionnel, Topalov est sans doute le meilleur au monde actuellement selon moi ... comme Rybka. En revanche, je pense qu'aucun joueur de peut être comparé à Houdini, car son jeu n'est pas très "humain". Calculer en force des positions est facile quand la puissance est là... mais sur de vieux ordinateurs... le résulats est surprenant car dans ce cas, c'est Rybka qui raffle la mise (reférence personnel de parties sur des ordinateurs Pentium II). Il serait intéressant de savoir ce que pense notre "fou numérique".
|
|
J e suis toujours un peu perplexe quand j'entends parler de "comportement pas très humain" pour un module d'Echecs , parce que je ne sais pas très bien ce qu'on entend par là
Les coups proposés par Houdini ne sont pas incompréhensibles , mais on ne voit pas toujours en quoi ils sont les meilleurs , ce qui n'est pas en soi "non-humain"
|
|
passionnant et les explications de Sheratan, très claires.
la stratégie de Houdini est donc bête et méchante : j'analyse comme une brute tout ce qui se présente, et je retiens le coup présentant la meilleure évaluation.
donc, en considérant que les fonctions d'évaluation entre les 2 sont équivalents, c'est la méthode Houdini qui va l'emporter, non ?
désolant (la force brute l'emporte sur une analyse fine préalable), mais inéluctable ?!
|
|
Ce qui n'est pas humain c'est le fait de calculer plusieurs dizaine de millions de positions par minutes. Ce qui est plus humain en revanche c'est la composante stratégique du jeu d'échecs que l'humain introduit dans l'évaluation des positions pour éviter de noyer nos ordinateurs dans les calculs. Chaque moteur possède ces deux composantes stratégique et tactique mais à des doses différentes
Houdini n'est pas vraiment qu'une grosse brute en calcul car il possède aussi une bonne composante strategique et positionnelle... Tout est dans le dosage :-)
|
|
Tous le monde parle de Houdini et Rybka sur ce fil mais personne ne mentionne Fire 1.31 que je considère comme étant mon moteur le plus fort. Je n'ai pas encore testé Houdini à fond mais il ne m'a pas l'air supérieur à Fire, j'ai même eu l'impression qu'il finissait par confirmer les évals de Fire après un plus long calcul... De plus sur les résultats de matchs entre ordis, j'ai pas vu de duel Fire vs Houdini...Vos avis?
|
|
ref ArKheinN http://immortalchess.net/forum/showthread.php?t=2236
Il est question d'un match de 50 parties en 15'+10" qui s'est terminé par 29 à 21 en faveur de Rybka, ce qui fait du 58%, soit une différence de elo de 56 points.
|
|
ça fait pas plutôt 112 points de différence?
|
|
Bon c'est des parties rapides, moi j'utilise l'analyse en continu. De plus il se peut que ça fasse un peu feuille caillou ciseaux (exemple, rybka>fire>houdini>rybka)
|
|
@arkhein D'aprés le tournoi que je viens d'effectuer rapidement Fire arrive devant Houdini, rybka 3 et robbolito dans l'ordre.
|
|
Et Stockfish 2.0.1 dans tout ça ?
Ils se suivent probablement tous dans un mouchoir de poche.
|
|
Et Kasparov?
|
|
Etrange Je me demande tout de même vu que le programme Houdini dépasse Rybka, si ce n'est pas un clone ?! Comme on en a déjà vu pas mal ses dernières années ... Maintenant apparemment çà n'a pas l'air le cas.
|
|
Curieux raisonnement -ça me rappelle une histoire : dans un asile ,un des patients marche au plafond ; un visiteur l'aperçoit et demande au directeur "comment fait-il?" ; "vous voyez bien qu'il est fou"
Un module bat tous les autres? "c'est un clone!!"
|
|
Juste méfiant Non c'est juste que le programme était inconnu il y a un an et que cela m'étonne de le voir dépasser Rybka. Maintenant Rybka peut-être dépassé. De toute façon Houdini ne le dépasse que de quelques points elo.
|
|
Qu'est ce que cela change si Houdini est un clone ?
|
|
La question est: photophore arrive-t-il encore a gagner avec le gambit Evans avec les derniers logiciels, contre les derniers logiciels?? (Ca m'intéresse car j'étudie le sujet actuellement)
|
|
(Je pourrais presque dire "à ne pas perdre" selon la variante choisie par les noirs.)
|
|
en voilà une [Event "ZH-2010-0-00434"]
[Site "Lechenicher SchachServer"]
[Date "2010.06.17"]
[Round "-"]
[White "dan31"]
[Black "korcha"]
[Result "1-0"]
[WhiteELO "2105"]
[BlackELO "1998"]
[EventDate "2010.06.05"]
1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4
Bxb4 5. c3 Ba5 6. d4 d6 7. Qb3 Qd7 8. dxe5
dxe5 9. O-O Bb6 10. Rd1 Qe7 11. Rd5
Bd7 12. a4 Na5 13. Rxa5 Bxa5 14. Qxb7
Rd8 15. h3 Bb6 16. Ba3 Qf6 17. a5 Bxa5
18. Bc1 Qb6 19. Bxf7+ Kxf7 20. Qd5+
Ke8 21. Qxe5+ Be6 22. Nbd2 Nh6 23. Qxa5
Qxa5 24. Rxa5 Kd7 25. Nd4 Rhe8 26. f4
Bf7 27. e5 Kc8 28. Ne4 Nf5 29. Nxf5
Bg6 30. Nxg7 Rd1+ 31. Kh2 Re7 32. Nc5
Rxc1 33. Nge6 Rxc3 34. Rxa7 Kb8 35. Ra5
Rc4 36. g4 Bf7 37. Nd8 Be8 38. f5 Rxe5
39. Nd7+ Bxd7 40. Rxe5 Kc8 41. Nf7 Rf4
42. Kg3 Rf1 43. Kh4 Ba4 44. Ng5 h6 45. Nf7
Kd7 46. Nxh6 Bb3 47. Kg5 Kd6 48. Re3
Bd5 49. f6 c5 50. Nf5+ Kc7 51. Re7+
Kc6 52. Ne3 1-0
|
|
Merci pour la partie, c'était un essai isolé ou tu joues souvent l'Evans en corr?
|
|
en fait je joue très peu par correspondance, donc pour l'instant c'est la seule ...
|
|
Qui est le développeur du soft FIRE 1.3 ? Merci
|
|
Houdini vient de remporter le tournoi TCEC A propos du match mentionné dans un post précédent : Houdini vient de battre Rybka dans ce match de 40 parties (!) à la cadence 150 minutes + 30 secondes par coup sur le score de 23,5 à 16,5.
|
|
@GenieGP Sur le site du développeur d'Houdini, il est dit :
"Without many ideas from the open source chess engines Ippolit/Robbolito, Stockfish and Crafty, Houdini would not nearly be as strong as it is now."
Pour les non anglophones : "sans l'inspiration des programmes open source Ippolit/Robbolito, Stockfish et Crafty, Houdini ne serait pas aussi fort qu'il ne l'est maintenant"
Donc le programme ne sort pas de nulle part, son développeur s'est inspiré sinon plus de programmes parmi les plus forts disponibles dont les sources étaient consultables.
|
|
@Triplev En plus, peut être que je me trompe, mais c'est bien pour ça qu'on publie le code source non ? Pour qu'on puisse l'étudier ?
Je ne vois pas pourquoi cette polémique prend autant d'ampleur... le boulot de l'auteur d'Houdini ne doit pas être un bête copier-coller. Ca n'a pas l'air d'être le dernier des blaireaux...
|
|
La polémique doit probablement provenir du fait que Robbolito a été possiblement pompé sur Rybka dont les sources sont fermées, mais Robbolito est open source.
Donc si Houdini s'est inspiré de Robbolito (entre autres) il s'est donc indirectement inspiré de Rybka et blablabla....
Je ne prends pas partie, le débat est sans fin.
|
|
Et comme Rybka 1.0 beta ... ... était largement copié-collé de Fruit ...
En fait le premier open source qui a révolutionné l'ère de l'UCI est Fruit. Rybka (même si son auteur dit le contraire) est copié de Fruit. Et donc quand l'auteur de Rybka vient dire que Robbolito est tiré de Rybka c'est un peu culotté. Il suffit que Robbolito soit tiré de Fruit pour que Rybka et Robbolito soient très proches au niveau code.
Un exemple parmi d'autres :
http://ippolit.wikispaces.com/message/view/Clone+%28Question%29/19790019
On peut même trouver sur le net une interview de l'auteur de Fruit (Fabien Letouzey) qui sort de son absence sur le circuit des logiciels d'échecs depuis 5 ans pour confirmer que Rybka est simplement copié de son moteur.
|
|
c'est bien connu le programmeur ne réinvente pas l'eau chaude. Il est déplorable en revanche que Rybka et Houdini soient Bill Gates-dépendants.
|
|
N'empèche... Il n’empêche que décompiler un logiciel d'échecs et en tirer quelque chose, c'est déjà un exploit. A moins que les décompilateurs aient fait des progrès énorme... en général (enfin, de ma petite expérience, je ne suis pas programmeur) on obtient une soupe un peu difficile à déchiffrer (bon... ok, c'est peut être aussi parce que je ne suis pas programmeur :) )
A une époque lointaine (dizaine d'année) je m'étais amusé à programmer un engine Winboard. J'avais étudié ce qui se faisait en la matière, et je m'étais lancé là dedans en Pascal. Le seul langage que je savais à peu près exploiter... bien que je puisse "lire" (pas tout comprendre hein, nuance) le C. J'avais implémenté ce qui se faisait à l'époque (Negascout, moveordering, iterative deepening, mailbox and Co... de mémoire) et j'avais plus ou moins pondu (de façon laborieuse) un programme jouant aux échecs à plus ou moins 2200 élos. J'avais implémenté les algos comme un porc, ça gérait pas la sous-promotion & c'était pas bien robuste --> mais bon... j'étais content :)
J'avais rien inventé, j'ai juste mis en application les trucs que j'avais compris en étudiant des codes sources & des papiers sur le sujet. J'ai jamais fait un release car j'étais pas bien fier de mon code source.
Ce que j'en ai retenu : pour faire progresser un moteur comme Fruit, faut pas être une bille & je pense qu'il faut déjà bien maîtriser tous les aspects de la programmation d'un moteur d'échecs. Alors soit l'auteur de Rybka a pris Fruit comme "base" de façon un peu malhonnête... soit il l'a largement "plagié" --> mais je pense qu'il a mis sacrément les mains dans le cambouis pour le faire progresser.
|
|
...et au passage... :) ..A chaque fois que j'avais une idée "géniale" à implémenter : c'était une catastrophe. L'engine jouait moins bien, était plus lent ou jouait des coups à deux balles dans des situations critiques. Faut être une sacré bête en algo pour trouver de réelles améliorations. C'est pas forcément le fait d'ajouter des "connaissances échiquéennes" qui vont faire progresser le moteur.
Par contre, pour ceux qui savent programmer : c'est très instructif que de se lancer là dedans (par contre, ça bousille un max de soirées) :)
|
|
La suite de l'affaire de Fruit/Rybka www.chessvibes.com/reports/programmers-write-open-letter-about-rybka-fruit-issue/
|
|
Apparemment, ça chauffe pour rybka !
|
|
|