DAMY.

Par GOUZI – le 05/03/15 à 05h35Informations

Bonjour Mr TAILLE, en 2012, à PARTHENAY vous avez dit: "je vais essayer de programmer DAMY pour qu'il ai des réactions humaines;doute,stress,fatigue..." Avez-vous pu avancer dans ce projet ? Merci ,et continuez votre presence sur le forum.

Réponses (24)

Par Gérard TAILLE – le 06/03/15 à 00h02

Bonjour,

Je ne me rappelle pas avoir dit que j'allais essayer de programmer DAMY pour qu'il ai des réactions humaines du style doute, stress ou fatigue mais cela ne me paraît pas très difficile à faire.

Par contre le hasard fait bien les choses car il se trouve que je travaille sur un algorithme d'exploration révolutionnaire qui est beaucoup plus proche du raisonnement humain que les procédures hyper classiques comme alpha-beta ou MTD-f que j'ai pratiquées de très nombreuses années.

Ceux qui possèdent un logiciel performant pourront m'aider à me rendre compte indirectement du niveau de performance de mon nouvel algorithme. Prenez la position suivante:

Trait aux noirs


Au bout de combien de temps votre logiciel vous affiche le gain?
Damy propose le bon coup au bout de 3'15" mais il faut ensuite attendre jusqu'à la 12ème minute pour que Damy affirme le gain. Pour info je suis équipé d'un processeur Quad.

Merci de votre retour à partir de votre logiciel favori.

Amitiés
Gérard

Par GOUZI – le 06/03/15 à 07h56

Bien reçu , j'ai peut-être mal ouï à l'epoque. Cordialement.

Par Croc Robert – le 06/03/15 à 10h36

Bonjour à "Damy"

Jean aurait souhaité un logiciel qui évolue vers une intelligence humaine !!!
Quel est vraiment l'intérêt ?
Un robot qui à peur de l'adversaire, qui a le stress de la pendule ?
Le but N° UN n'est il pas d'abord de gagner.
Gagner tous les adversaires à chaque fois n'est il pas déjà un objectif tellement difficile à programmer ?
On arrive la dans de la philosophie...
Profiter de cette rapidité du processeur, des algorithmes savants de recherche, pour LE but ultime gagner est je pense le but le plus important.
Robert

Par Gérard TAILLE – le 06/03/15 à 16h08

Bonjour,

J'ai bien dit qu'il n'était pas difficile de simuler un comportement "plus humain" des ordinateurs mais je n'ai pas franchi le pas pour le faire effectivement. Si un jour je devais commercialiser Damy cela peut par contre être une idée originale car en pratique cela peut être intéressant. Suppose en effet que tu saches qu'à un moment de la partie, il est tout-à-fait possible (mais cela n'est jamais sûr) que l'ordinateur simule une erreur de calcul et fasse (volontairement) un coup douteux. N'est-il pas plus motivant pour un humain (ou du moins pour certains d'entre eux) de faire une telle partie et de se concentrer un maximum pour profiter de cette erreur plus ou moins cachée et pouvant venir n'importe quand?

Une autre approche complètement différente serait aussi de faire jouer un programme de façon différente quand il est fasse un humain ou fasse à un autre ordinateur. Suppose par exemple que l'ordinateur hésite entre un coup A qui lui rapporte un avantage estimé égal à +20 et un coup B qui ne lui rapporterait que +10. S'il est fasse à un humain et qu'il s'aperçoit que la réponse au coup A est logique pour un humain alors que la réponse au coup B est très difficile car il faut voir au passage des combinaisons très complexes, alors on pourrait penser que, contre un humain, l'ordinateur serait mieux inspiré en jouant le coup B!

Aujourd'hui mon approche est plutôt de décortiquer comment un humain (moi-même) raisonne pour trouver un coup ceci afin de programmer une approche similaire pour l'ordinateur. C'est comme cela que j'avance dans l'élaboration d'un nouvel algorithme.

Amitiés
Gérard

Par MINAUX – le 06/03/15 à 22h32

Bonsoir Gérard,

Mon logiciel TDam sur mon PC portable ne trouve pas de solution gagnante !

Trait aux noirs


Personnellement, de tête, je regarde d'abord 45-40 et je vois que cela pose un problème après 39-34 40-45 34-3025x23 01x15.
J'hésite ensuite entre 20-14 et 20-03.

Je regarde 20-14 et la variante 27-22 14-05 29-24 05-19 24-20 25x14 22-17
Trait aux noirs

et je ne vois pas comment éviter 17-11

Je regarde ensuite 14-03 pour empêcher le pion 27 de venir en 17 et pour attaquer le pion 27 par 03-21 et passer ensuite le pion 26 ou 35 à dame.

Trait aux blancs


Après 14-03 , je ne vois pas trop comment les blancs vont se défendre, le mieux me semble 29-24,03-21 17-22 26-31 et ? .

Au faîte , avec ton algorithme habituel , combien de temps met donc Damy pour trouver le gain ?

Amitiés Serge

Par Gérard TAILLE – le 06/03/15 à 22h58

Bonsoir Serge,

Ton début d'analyse est correct.

.Après 14-03 29-24,03-21 17-22 26-31 Damy joue 1-23.

Trait aux noirs


Je ne saurais pas de te donner les performance de mon "ancienne" version car ma nouvel version travaille en particulier avec un format de base de donnée différent et il me faudrait faire un gros travail pour remettre en place cette ancienne version que je n'utilise plus du tout.

Amitiés
Gérard

Par MINAUX – le 07/03/15 à 09h07

Bonjour Gérard,

A partir de cette position :

Trait aux noirs


Je pense qu'il vaut mieux revenir en 03 avec la dame, car sur la suite envisagée 26-31 01-2331-36 39-34 avec ensuite la menace de venir à 05 avec la dame est d'échanger les 3 pions 25,13 et 35.et je ne vois pas de solution pour éviter cela.

Après 21-03 les noirs ont plus de possibilités de neutraliser ces échangent et amène une menace sur le pion 24.

Je pense que tu as regardé le temps que met Kingsrow pour résoudre ce problème avec ton ordinateur!

Est ce qu'il y a une grosse différence?

Amitiés Serge

Par Gérard TAILLE – le 07/03/15 à 09h33

Bonjour Serge,

Après 21-3 Damy joue 39-34 suivi probablement 34-30 25x34 1x45 et ensuite les blancs chercheront un nouvel échange par 45-18 ou par 45-24

Trait aux noirs


J'ai bien sûr voulu essayer de tester Kingsrow sur cette position mais Kingsrow est installé sur un autre ordinateur et pour des raisons pour moi très obscures j'ai des problème bizarre de performance sur cet ordinateur qui semble tourné au ralentit. C'est la raison pour laquelle je sollicite ceux qui le peuvent de faire ce genre de test.

Amitiés
Gérard

Par MINAUX – le 07/03/15 à 23h32

Bonsoir Gérard,

Pas terrible non plus cette variante.

Trait aux noirs


Qu'est ce qui se passe après 20-03 29-24 25-30 ?

Amitiés Serge

Par Gérard TAILLE – le 08/03/15 à 20h02

Bonsoir Serge,

Après 20-3 29-24 25-30 Damy joue 24-19 13x24 33-28

Trait aux noirs


Si maintenant 3-17 alors 27-22

Amitiés
Gérard

Par MINAUX – le 08/03/15 à 21h40

Bonsoir Gérard,

Après 20-3 29-24 25-30 24-19 13x24 33-28 3-17 27-22 17-03

Trait aux blancs


Amitiés Serge

Par Gérard TAILLE – le 08/03/15 à 21h58

Serge,

20-3 29-24 25-30 24-19 13x24 33-28 3-17 27-22 17-03 01-45

Trait aux noirs


Avec l'idée de faire une deuxième dame par 22-18-13 28-22-17 13-9 pour ensuite aller chercher un des pions 24 ou 30.

Amitiés
Gérard

Par Yves – le 09/03/15 à 09h03

Bonjour,
Pour revenir au post initial de Jean, et à la réponse de Gérard, on attend d'un ordinateur qu'il apporte la meilleure réponse . Mais qu'elle est la meilleure réponse, celle qui est techniquement et tactiquement la meilleure ou celle qui apportera les meilleures chances de gain, en tenant compte que l'adversaire est un humain?
Cordialement,
Yves

Par Jean-François – le 09/03/15 à 13h06

Bonjour,

Pour information, je viens de tester la position avec dragon damen:
- il évalue gagnante cette position en qqs secondes avec une profondeur de 5 seulement, mais les débuts de variantes proposés évoluent au fur et à mesure de la profondeur d'analyse. Au début, ils sont sans doute incorrects du fait d'une profondeur d'analyse insuffisante.
- il en arrive à proposer un début de solution 20-3 29-24 25-30 24-19 13x24 au bout d'une 1/2 heure env. avec une profondeur = 21 et env 4000 M. de positions vues (2,3 M/s), il confirme avec une prof = 22 à + d'1h.

Pour poursuivre cette discussion, cela m'amène à faire la remarque suivante :
- à bases identique (pc, langage, base de données x par x pions, etc..), par rapport à un algorithme qui fait une analyse exhaustive, il me semble qu'un algorithme ne peut aller plus + vite qu'en évitant des voies d'analyse d'après les critères d’évaluation (humains ...) qui lui ont été programmés. Donc si je ne me trompe pas, on ne peut pas être sûr à 100% que la ou les solutions trouvées ne sont pas compromises par d'autres voies annexes qui n'ont pas été explorées complètement.

Le temps de calcul est-il alors le seul critère de performance?

Ne faut-il pas tenir compte du risque de solutions "oubliées", et du compromis ainsi obtenu pour juger l'algorithme, tout ceci en fonction du type de partie engagé (rapide, semi rapide, etc...) ?

Amicalement

Jean-François

Par Gérard TAILLE – le 09/03/15 à 14h16

Bonjour Jean-François,

J'ai bien peur que le logiciel "dragon damen" que tu utilises ne soit pas capable de résoudre ce problème car la suite qu'il donne conduit à la nulle. Si le logiciel donne néanmoins le gain avec cette variante j'en déduis qu'il ne fait pas une analyse exhaustive et qu'il a dû écarter une bonne défense qui aurait permis d'annuler.

Quand je dis que Damy trouve le gain c'est toujours une certitude basée sur une analyse exhaustive. Si ce n'est pas le cas je parle d'un avantage plus ou moins grand mais je ne parle pas de gain.

Pour la nulle c'est beaucoup plus compliqué car, par définition, il y a nulle quand la partie peut se continuer à l'infini. Il est donc assez rare que l'on puisse réellement démontrer une nulle. Le logiciel affichera une valeur quasiment égale mais la nulle ne sera que très rarement démontrée rigoureusement.

Pour aller dans le sens de ta discussion je pense de mon côté qu'il y a de nombreuses façons de faire un algorithme capable de déclarer un gain sans ambiguïté, c'est-à-dire sans éviter certaines voies d'analyse comme tu le proposes. Un algorithme basique comme alpha-beta répond à ce critère mais, par rapport à d'autres algorithmes, il n'est probablement pas assez performant pour résoudre le problème proposé.

Ce que tu dis est pertinent plus en amont dans une partie c'est-à-dire quand on est trop loin des bases de données pour pouvoir résoudre complètement une position. Là il faut faire des choix sur les variantes à explorer et donc sur les variantes que l'on décide d'oublier. Le plus fort logiciel sera celui qui fera les choix les plus judicieux!

Amitiés
Gérard

Par Gérard TAILLE – le 09/03/15 à 14h39

Bonjour Yves,

Ta question sur l'identification du meilleur coup est difficile. ma vision est la suivante:

Dans une position théoriquement gagnante le meilleur coup théorique est celui qui amène le gain avec le minimum de coups mais on peut aussi penser à privilégier l'esthétique en choisissant un coup théoriquement un peut plus long pour gagner mais qui met en place un piège subtil permettant de placer éventuellement une combinaison pour gagner beaucoup plus rapidement.
Dans une position perdante le meilleur coup est beaucoup plus difficile à définir. On pourrait penser que la meilleure défense est le coup qui repousse le gain le plus loin possible mais je ne suis pas sûr que ce soit la meilleure façon de jouer car ce soi-disant meilleur coup ne pose peut-être aucun souci particulier à l'adversaire. Il est certainement meilleur de jouer un coup qui théoriquement est plus rapidement perdant mais qui pose de gros problèmes à l'adversaire pour trouver la suite gagnante.
Dans une position nulle le meilleur coup est celui qui engage la partie dans une suite de coups qui maximise les chances que l'adversaire se trompe. Le meilleur coup dépond donc de l'adversaire, de ses forces et de ses faiblesses.

Il est clair qu'avec une telle définition du meilleur coup on ne peut attendre que l'ordinateur fasse le choix le plus judicieux contre un humain. A ma connaissance tous les ordinateurs choisissent leur coup comme s'il jouait contre un autre ordinateur. Ils joueront certes très bien contre un humain mais je pense qu'on doit pouvoir faire mieux si on sait que la partie se joue contre un humain. Ensuite on peut tenir compte de la force de l'humain en question mais cela devient vite assez compliqué.

Amitiés
Gérard

Par Croc Robert – le 09/03/15 à 21h06

Le meilleur coup ?

J'aurais une définition personnelle du meilleur coup (gagnant)
C'est le coup qui permet de gagner quel que soit la réponse de l'adversaire en utilisant le moins de déplacements possibles et valable pour n'importe quelle variante choisie par l'adversaire tout au long de la partie.
On est loin des nulles de salon ou des forcings...
Garder la "main" tout au long du jeu et avoir ainsi une longueur d'avance.
Robert

Par Croc Robert – le 09/03/15 à 21h17

L'art de garder le contrôle !

Les blancs gagnent en 9 temps
Un gain clair et net des blancs sans possibilité de sortir du piège pour les noirs

Trait aux blancs

Par MINAUX – le 09/03/15 à 23h41

Bonsoir Gérard,

20-3 29-24 25-30 24-19 13x24 33-28 3-17 27-22 17-03 01-45
Si les blancs font une deuxième dame comme tu le dis par 22-18-13 28-22-17 13-9 et gagne un des pions 24 ou 30.c'est remise.

Il faut donc peut être attaquer tout de suite le pion 22 par 03-09 pour éviter cela:

Trait aux blancs


sur 22-17 on continue par 09-03 et
l'échange des 2 pions par 45-50 09x36 39-34 x 50x15 est perdant
tandis que 17'-11 x x01 ne me semble pas trop bon non plus pour les blancs.

Qu'est ce qu'il y a après 03-09?

Amitiés Serge

Par Gérard TAILLE – le 10/03/15 à 00h00

Bonsoir Serge,

Tous les échanges sont bons pour les blancs non?
Donc 3-9 22-17 9-3 17-11 16x7 45x1 avec la menace 1-45-50 et on continue les échanges

Trait aux noirs


Amitiés
Gérard

Par Gérard TAILLE – le 10/03/15 à 00h01

Bonsoir Serge,

Tous les échanges sont bons pour les blancs non?
Donc 3-9 22-17 9-3 17-11 16x7 45x1 avec la menace 1-45-50 et on continue les échanges

Trait aux noirs


Amitiés
Gérard

Par Yves – le 10/03/15 à 09h37

Bonjour,
La réponse sur le meilleure coup est intéressante.
A mon avis la différence entre un pc et l'être humain est que si l'être (sur)humain avait la même capacité que le pc il aurait en plus de la capacité de deviner la réponse, la possibilité d'adapter son jeu et puisque la machine est toujours perfectible , il aurait la possibilité de la vaincre en jouant sur les défauts qu'il aurait décelés. La machine ne pourra seulement "travailler " l'humain que sur les défauts qu'elle vient de constater, mais ne s'en rappellera pas la fois d'après, à moins qu'un être humain ne vienne à son secours . On est là presque dans la science -fiction.
Cordialement,
Yves

Par Gérard TAILLE – le 10/03/15 à 12h23

Bonjour Yves,

Comment ne pas être d'accord avec toi? Un humain qui s'aiderait d'un ordinateur est évidemment plus fort qu'un ordinateur tout seul non?

Pour revenir à la définition possible du meilleur coup je n'ai pas trop envie de m'attarder sur les positions gagnantes car il est trivial de dire que le meilleur coup doit être un coup gagnant. S'il y a plusieurs coups gagnants le meilleur coup est celui qui conduit le plus rapidement au gain et la définition est quasiment pliée.

Il peut vraiment y avoir débat quand on cherche par contre à définir le meilleur coup dans une position théoriquement nulle ou perdante. Là c'est beaucoup plus difficile et cela pourrait très bien dépendre du niveau respectif des joueurs et de la connaissance de leurs forces et/ou faiblesses.

Amitiés
Gérard

Par Yves – le 10/03/15 à 18h04

Bonsoir Gérard,
votre dernière réponse est appliquée tout naturellement en partie, et dans la préparation des grandes compétitions
Cordialement
Yves