Échecs

Venez à la rencontre des autres membres: discussions en tous genres (sauf politiques), anniversaires, faits divers
benekire2
Membre Transcendant
Messages: 4678
Enregistré le: 08 Avr 2009, 17:39

par benekire2 » 18 Sep 2010, 19:24

En même temps si tu t'entraîne plus c'est normal que tu perd du niveau, mais ça doit se retrouver assez vite je pense :zen:



Micki28
Membre Relatif
Messages: 377
Enregistré le: 01 Aoû 2007, 19:51

par Micki28 » 18 Sep 2010, 19:44

Bah en Mai ou Juin j'ai fais un tournoi au club.

Mais un tournoi rapide, donc mon élo en rapide est de 1860 et quelques je crois. Là par contre j'ai fais une belle performance pour un mec qui joue plus. Je me suis cuit un 2000 =p ! Et des amis à 1700 qui eux s'entrainent toujours autant.

Tomthumb
Messages: 1
Enregistré le: 19 Sep 2010, 18:30

par Tomthumb » 19 Sep 2010, 19:54

Salut à tous.
Etant un grand amateur d’échecs depuis ma toute jeune enfance (4 an et demi) , et voyant ce topic, je suis obligé de vous apporter une réponse autant sur le plan humain que sur celui de la machine (ou ordinateur pour ceux qui ne comprennent pas).

Comment se passe une partie de haut niveau entre deux joueurs humains ?
Contrairement aux parties avec un niveau plus bas, les dons de pièces ne se font plus.
La différence se faire sur des petits coups appelés « thèmes ». Je vous en cite quelques uns : éviter d’avoir des pions doublés (des pions doubles sont deux pions sur la même colonne), essayer de faire des pions doublés a son adversaire, etc.
Il en existe des centaines, donc je ne peux pas tous vous les dires. En tout cas, ce sont ces thèmes qui font la différence surtout combinés à l’expérience qui permet au joueur de savoir quand les appliqués judicieusement.

Des fois il arrive que la perception des joueurs fassent aussi la différence, si l’un prévoit 10 coups d’avance et l’autre 5, c’est évidemment pas les mêmes chances.




Maintenant entre un homme et une machine ?
Pour avoir essayé de combiner mes deux passions (informatique et échecs), je peux vous expliquer aisément comment une machine fonctionne. La puissance de la machine est directement liée à ces processeurs (en gros ca détermine le nombre de calcul par seconde qu’elle fait).
Tandis que l’intelligence de la machine est directement liée à un programme. Programme qui est programmé selon la logique suivante :

Il suffit de coefficienter des actions. Je donne directement un exemple pour être plus clair :
« Prendre un pion vaut X », « Prendre une tour vaut Y ». Vous aurez compris que si X>Y, alors la machine échangera toujours ses tours contre vos pions.

C’est à travers ces coefficients que la machine joue. Elle réfléchie a 7 coups a l’avance (machine moyenne donc), elle fait la somme de tout ces coeffs et a la fin joue la variante qui permet d’avoir le coefficient le plus élevé donc la plus intéressante pour la machine.

Mais des fois la programmation de ces programmes laisse à désirer, et on se retrouve dans une configuration ou la machine vous donnera des tours contre des pions. (cf mon exemple encore). Effectivement c’est exagérer, mais je le fait volontairement pour que vous compreniez mieux.



J'espère avoir été assez clair, sinon vous pouvez toujours me poser des questions.

Mathusalem
Membre Irrationnel
Messages: 1837
Enregistré le: 14 Sep 2008, 04:41

par Mathusalem » 19 Sep 2010, 21:52

Je me doute bien que la programmation du programme est plus complexe que cela, mais ce qui sépare un bon programme d'un mauvais programme serait le juste dosage des coefficients liés à chaque action ?

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 19 Sep 2010, 22:27

Pour etre plus précis, c'est plutot l'évaluation d'une solution qui fait la qualité d'un programme. C'est à dire, que - inéluctablement - le programme ne peut pas tout explorer. C'est dans l'estimation d'un coup plutot qu'un autre qu'on estime la qualité du programme, (et évidemment avec le temps mis pour faire son choix).

On peut se poser la question de "comment évaluer un coup", et Tomthumb y a répondu avec les thèmes (mais j'ai pas encore expérimenté l'IA d'un bot, juste parcouru qqs articles).

Cqui vient directos en tete est l'algo min/max ou alpha/beta, mais bon, ca c'est pour les mignons, pour faire un bon programme, il faut sûrement aller plus loin et se poser la question de comment reconnaître les thèmes, les relations de proximité entre les thèmes, etc...
la vie est une fête :)

Benjamin
Membre Complexe
Messages: 2337
Enregistré le: 14 Avr 2008, 11:00

par Benjamin » 19 Sep 2010, 22:35

Je sais que les algorithmes d'optimisation sont plutôt "essaim de particules" ou génétique plutôt que min/max. La différence entre les 2 est fondamentale et nécessaire. En effet, un algo type min/max est purement déterministe. Des mêmes conditions initiales donneront un résultat identique. Il est donc facile au bout de quelques parties de toujours faire tomber le programme dans la même erreur. De plus, ce type d'algorithme permet de trouver des solutions locales.

A contrario, les algo types génétiques introduisent une part d'aléatoire et sont des algorithmes de recherches de solutions globales. Une même position initiale donnera deux résultats différents du fait du caractère aléatoire (mais si l'algo tourne suffisamment longtemps, la convergence vers la solution globale sera bien sûr la même et assurée). De plus, le fait de rechercher dans différentes directions en parallèles (ce que fait un essaim de particules, basée sur le comportement des abeilles : on "envoie" des essaims explorer dans diverses zones de solutions (l'analogie avec des abeilles qui vont chercher des champs), puis au bout de quelques itérations, on met en commun les résultats pour repérer les zones les plus prometteuses, puis on renvoie les essaims, mais en analysant plus en détails les zones d'intérêts (l'analogie avec plus d'abeilles vont là où il y a le plus de fleurs). Mais on continue bien sûr d'envoyer de manière aléatoire des essaims vers d'autres zones de recherche) on peut tomber sur des solutions plus exotiques qu'on aurait pas trouvé par un algorithme type min/max.

Sve@r
Membre Transcendant
Messages: 5441
Enregistré le: 13 Avr 2008, 12:00

par Sve@r » 20 Sep 2010, 08:55

Tomthumb a écrit:Salut à tous.
Etant un grand amateur d’échecs depuis ma toute jeune enfance (4 an et demi) , et voyant ce topic, je suis obligé de vous apporter une réponse autant sur le plan humain que sur celui de la machine (ou ordinateur pour ceux qui ne comprennent pas).

Comment se passe une partie de haut niveau entre deux joueurs humains ?
Contrairement aux parties avec un niveau plus bas, les dons de pièces ne se font plus.
La différence se faire sur des petits coups appelés « thèmes ». Je vous en cite quelques uns : éviter d’avoir des pions doublés (des pions doubles sont deux pions sur la même colonne), essayer de faire des pions doublés a son adversaire, etc.
Il en existe des centaines, donc je ne peux pas tous vous les dires. En tout cas, ce sont ces thèmes qui font la différence surtout combinés à l’expérience qui permet au joueur de savoir quand les appliqués judicieusement.

Des fois il arrive que la perception des joueurs fassent aussi la différence, si l’un prévoit 10 coups d’avance et l’autre 5, c’est évidemment pas les mêmes chances.




Maintenant entre un homme et une machine ?
Pour avoir essayé de combiner mes deux passions (informatique et échecs), je peux vous expliquer aisément comment une machine fonctionne. La puissance de la machine est directement liée à ces processeurs (en gros ca détermine le nombre de calcul par seconde qu’elle fait).
Tandis que l’intelligence de la machine est directement liée à un programme. Programme qui est programmé selon la logique suivante :

Il suffit de coefficienter des actions. Je donne directement un exemple pour être plus clair :
« Prendre un pion vaut X », « Prendre une tour vaut Y ». Vous aurez compris que si X>Y, alors la machine échangera toujours ses tours contre vos pions.

C’est à travers ces coefficients que la machine joue. Elle réfléchie a 7 coups a l’avance (machine moyenne donc), elle fait la somme de tout ces coeffs et a la fin joue la variante qui permet d’avoir le coefficient le plus élevé donc la plus intéressante pour la machine.

Mais des fois la programmation de ces programmes laisse à désirer, et on se retrouve dans une configuration ou la machine vous donnera des tours contre des pions. (cf mon exemple encore). Effectivement c’est exagérer, mais je le fait volontairement pour que vous compreniez mieux.


Ce type de programmation est effectivement connu de tous ceux qui font de l'informatique de façon un peu poussée. Toutefois elle amène parfois à un paradoxe où une position serait facilement gagnée par un joueur humain mais impossible à résoudre par une machine.
Imaginons une position d'un roi noir avec 2 pions mais bloqué par une connerie quelconque (style un risque de promotion) et d'un roi blanc tout seul (sauf le pion qui peut être promu et la pièce qui protège ledit pion style un fou).
Le joueur humain blanc, qui a une vision "globale" de la chose verra de suite qu'en 10 ou 12 coups il aura éliminé les pions ennemis puis il ira attaquer le roi noir ou défendre le pion et arrivera facilement à la promotion. Ensuite avec 3 ou 4 coups de plus il matera.
L'ordinateur qui, lui, ne calcule qu'à partir de la possibilité d'une pièce à la fois, aura énormément de mal à voir la finale car le gain ne se produira qu'au 10° ou 12° coup. Mais ses calculs limités à 7 ou 8 coups (exemple bien sûr) ne voient pas le gain. Et il est probable que son roi blanc se promènera de ci de là, tournant en rond autour de sa position initiale.

Benjamin
Membre Complexe
Messages: 2337
Enregistré le: 14 Avr 2008, 11:00

par Benjamin » 20 Sep 2010, 11:19

Sauf qu'aujourd'hui, tous les programmes ont des bases de données des finales à moins de 5 pièces qui font que la machine ne réfléchit même plus à ce stade, mais ne fait que lire une table qui l'amène au meilleur résultat.

beagle
Habitué(e)
Messages: 8707
Enregistré le: 08 Sep 2009, 15:14

par beagle » 21 Sep 2010, 11:34

Sve@r a écrit:Ce type de programmation est effectivement connu de tous ceux qui font de l'informatique de façon un peu poussée. Toutefois elle amène parfois à un paradoxe où une position serait facilement gagnée par un joueur humain mais impossible à résoudre par une machine.
Imaginons une position d'un roi noir avec 2 pions mais bloqué par une connerie quelconque (style un risque de promotion) et d'un roi blanc tout seul (sauf le pion qui peut être promu et la pièce qui protège ledit pion style un fou).
Le joueur humain blanc, qui a une vision "globale" de la chose verra de suite qu'en 10 ou 12 coups il aura éliminé les pions ennemis puis il ira attaquer le roi noir ou défendre le pion et arrivera facilement à la promotion. Ensuite avec 3 ou 4 coups de plus il matera.
L'ordinateur qui, lui, ne calcule qu'à partir de la possibilité d'une pièce à la fois, aura énormément de mal à voir la finale car le gain ne se produira qu'au 10° ou 12° coup. Mais ses calculs limités à 7 ou 8 coups (exemple bien sûr) ne voient pas le gain. Et il est probable que son roi blanc se promènera de ci de là, tournant en rond autour de sa position initiale.


Ce que tu décrits là était l'effet horizon qui empéchait les anciennes machines de voir des trucs évidents pour un humain.
Mais ce genre de gag est aujourd'hui très limité, et un humain voulant jouer antiordinateur ne peut plus se contenter d'espérer créer de telles situations.
La raison, c'est que l'ordinateur ne fait pas que calculer des combinaisons de coups à la recherche du matériel,

d'une part sa fonction d'évaluation n'est pas uniquement matérielle, mais est aussi positionnelle, il sait tout à fait apprécier des pions doublés, des structures de pions,
ensuite sa fonction de recherche est basée aussi sur les thèmes récurrents,
or ce que tu as décrits peut se programmer comme thème classique, et l'ordinateur saura défendre ou attaquer ce genre de situations.

Donc calcul sur 7 coups, oui, je ne sais plus actuellement, mais par des procédés comme évoqués par benjamin des filières vont ètre explorées plus à fond car thématiques.
L'important est de savoir quoi faire lorsqu'il n' y a rien à faire.

beagle
Habitué(e)
Messages: 8707
Enregistré le: 08 Sep 2009, 15:14

par beagle » 05 Oct 2010, 12:25

Ivanchuk-Jobava
olympiades par équipes:à voir vite
http://ugra-chess.com/liveboard?gameid=1001070011&tmnt=1
L'important est de savoir quoi faire lorsqu'il n' y a rien à faire.

Sve@r
Membre Transcendant
Messages: 5441
Enregistré le: 13 Avr 2008, 12:00

par Sve@r » 07 Oct 2010, 18:49

beagle a écrit:Ivanchuk-Jobava
olympiades par équipes:à voir vite
http://ugra-chess.com/liveboard?gameid=1001070011&tmnt=1


Je viens d'aller voir. La finale à partir du coup 27 est superbe. Les noirs sont sûrs d'eux, ne se pressent pas. Ils se laissent même prendre des pièces sans les protéger sachant que le mat se fera quand-même. Très joli.

beagle
Habitué(e)
Messages: 8707
Enregistré le: 08 Sep 2009, 15:14

par beagle » 07 Oct 2010, 19:34

bonsoir Sve@r,
je n'ai pas trop le temps de suivre les échecs,
Mais parfois je discute avec mon libraire, il sait que je suis un ancien fan,
et là il me dit faut aller voir ça.
Déjà 3.f3 sur la caro-kann c'est connu (pas de moi) mais pas classique à ce niveau,
ensuite c'est dément, il faut analyser le gain matériel des blancs qui mettent leur roi en danger, faut savoir si courber l'échine va tenir,
ensuite il y a l'enfermement de la dame noire,
faut avoir les nerfs.

Cela fait du bien ces parties "romantiques" ...
L'important est de savoir quoi faire lorsqu'il n' y a rien à faire.

 

Retourner vers ☕ Coin café

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 11 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite