France Echecs Bandeau France Echecs |  
---- Thursday 28 March 2024
--- ---- --- Ecrire au webmaster
Nom d’utilisateur   Code d’accès 
--- --- ---
Forums  | Devenir membre | Mot de passe oublié ? | Charte | A propos Contacter France-Echecs
Actualités   Actualités
Tournois   Tournois
Ouvertures   Ouvertures
Clubs   Clubs
Informatique   Informatique
Arbitrage   Arbitrage
Problèmes   Problèmes
FAQ   FAQ
Etudes   Etudes
Finales   Finales
Théorie   Théorie

 Rechercher sur le site  

Abonnez-vous à la revue Europe-Echecs
Les faiblesses de Fritz par Na***io*12132 le  [Aller à la fin] | Informatique |
Vous pouvez voir en video sur Les Chroniques des Echecs un problème de mat en 2 qui pose des problèmes à Fritz.

Quand Fritz 9 et 10 font moins bien que Fritz 5...








tres intéressant et joli mat en + (moi j'ai trouvé en 20secondes je suis plus fort que Fritz10 alors ???)


moi en 3 secondes!! sans déconner! 


moi j'ai fais aussi bien que fritz :-D 


Trouver en 1 min environ (pas si évident que ça)

Fritz 6 et Fritz 7 trouve quand même le mat en 2...

Assez bizaremment, Rybka 2.3.1 ne le trouve pas non plus (mat en 3: Tg6)


désolé pour le festival de fautes !!!

é, ent, rr


la question c'est pourquoi il trouve pas ?


les logiciels seraient trop humanisés? :-) 


JMC, le
Un peu plus d'une minute pour moi Très joli.

Et la curiosité signalée concernant Fritz est très interessante.

Si une personne arrive à avoir l'explication, ca m'interesse aussi.


ins4672, le
ben en 10 secondes... Je comprends pas le problème de Fritz, lui qui regarde tous les coups devrait trouver automatiquement.
Ya un bug quelque part...


Quand ils ne sont pas 
en mode "problème" (= recherche de mat) les moteurs d'analyse sont particulièrement faibles. Ils sont sans doute programmés pour trouver le gain et cela leur suffit. Il existe beaucoup d'autres 2-coups sur lesquels ils "sèchent".



Vous pouvez vous amuser à les torturer sur la version originale de ce problème :





mat en 3 coups (S. Loyd, 1868)




 Yggdrasil nous dit que les ordis trouvent un mat en trois. Si il trouvent le mat en trois en premier ils arretent sans doute de chercher


La position proposée par erony Ressemble beaucoup à la position de la vidéo..
En revanche je ne suis pas d'accord avec lui quand il dit quand mode 'recherche de mat' les moteurs sont faibles. Bien au contraire. Fritz en mode recherche de mat trouve instantanément le bon coup. En mode recherce, il n'y a pas d'evaluation de la position sur chaque demi-coup, mais un calcul binaire : ya mat ou pas. dans ce mode l'ordi explore toute les possibilité de l'arbre et ne peux donc rater (sauf bug enorme) un mat.
Mais en mode 'normal', c'est une toute autre affaire. il est possible que notre amis fritz, élimine le coup Te1 de ses calculs car la fonction d'evaluation tombe de manière trop importante. Du coup, il n'y revient même pas.


Oui 
Ils s'arrêtent trop tôt.



Le seul moteur qui trouve ce mat en deux, chez moi, est le vieux Fritz 5,32 !


Bellamy, le
Relis bien le commentaire d'erony, et surtout son titre 


la question qui reste sans réponse ... est tout de meme de comprendre pourquoi l'ancetre Fritz 5.32 ( qui est tres tres fort date de 1995 et capable de battre 99 % des humains) est capable de trouver instanement le mat , alors que la derniere version de Fritz 10 , sensée avoir progressée spectaculairement depuis 10 ans ...à en croire la publicité .


Nab : c'est pourquoi  

je disais justement "quand ils ne sont pas en mode problème"



Bien sûr qu'il "ressemble" : c'est la position après un coup blanc et noir. Une "version pour enfants", en somme.


Bellamy, le
@thierrycatalan : La réponse a été donnée Fritz ne trouve pas le mat le plus court, mais un des nombreux meilleurs coups. Un mat en 3 est aussi efficace qu'un mat en 2.


Cela étant 
Même le moteur "problèmes" n'est pas sans défauts : il fonctionne bien pour les mats directs et les mats inverses, mais pas toujours pour les mats aidés.



ok pour shredder shredder 7 l'a trouvé en moins d'1 seconde.

essayez d'ajouter des pièces (cavaliers noir par exemple) dans l'autre côté de l'échiquier pour voir


franchement trouvé en 3 secondes ca me parait un peu gros !


Enfin c'est mon avis...


@ erony et @chessbord Désolé erony, je n'avais pas lu le titre...
Sans le titre, on interprete carrément l'inverse ;-)). Je suis donc tout à fait d'accord avec toi.

Pour ChessBord : ya pas d'arnaque du tout, il suffit de mettre la position sur Fritz pour vérifier...


En suivant les explications de chacun, j'ai composé un problème à mon niveau (et je vous laisse découvrir sa faiblesse avec par avance mes excuses), qui ne devrait pas etre résolu par Fritz 9 mais par Fritz 5.32 (d'après vos explications)- Enfin cela m'étonnerait fort que ce logiciel découvre le mat en 3 et non le mat en 2.



Comme je n'ai aucun des deux logiciels, je vous laisse tester la position, en espérant que mon problème soit correct.
Merci par avance





B:Rb1,Dd6,Td1,Td7,Ca6/N:Ra8,Dg8,Td8,Th8,b7,a7


midi, le
Stop !!! Il est question ici d'un module d'échecs et non d'un module de problémiste. Les algorithmes cherchent le coup sortant en empruntant le chemin le plus court et non un mat absolu. La logique de fonctionnement est différente, le module de problémiste recherche toutes les solutions et l'arborescence de calcul est maximale pour un nombre de coups donnés alors que dans le cas d'un module d'échecs l'approche est sélective et résolument optimisée pour un temps de jeu optimal pour le coup sortant. ndlr.







Excusez moi une première fois pour mon incompétence


Bellamy, le
Ça me fait penser à une vieille pub des années 1980 pour le Chess Challenger 9 (je crois). Sous le titre "Mieux que Fischer", on montrait une position de la fameuse partie Donald Byrne - Fischer, où Fischer avait maté en 5 coups alors qu'il y avait un mat en 4 (trouvé par l'ordinateur en question).


Fischer a vu un mat en 5, il l'a joué (il était de toute façon complètement gagnant). Si Fritz10 ne joue pas le mat en 2, c'est après tout très humain. Le coup proposé est sans doute plus logique : pourquoi sacrifier une tour ?


Il n'y a pas de bug, puisque le programme fait exactement ce qu'on attend de lui : proposer le meilleur coup. Ici, il y en a plusieurs.


certes midi... On est d'accord, et c'est ce que je disais un peu plus haut.

Le problème n'est pas tant que Fritz 10 vois un mat en 4 au lieu d'un mat en 2. C'est qu'une ancienne version trouve lui ce mat en 2. Il y a donc bien, sur certain type de position uniquement, une espèce de régression. Car on ne peut nier que Fritz, dans la position donnée, ne trouve pas la meilleur variante, contrairement à son ancêtre. Ce qui est vrai dans cette position de mat, peut-être vrai dans d'autres types de positions, en plein milieu de partie par exemple.
De plus, j'ai déjà vu de nombreuses fois mon Fritz trouver des mats en 10 ou 12 coups, puis quelques minutes ou secondes plus tard, trouver un mat plus court en 7 ou 8 coups par exemple. C'est que le monsieur continue de 'penser'... Il se trouve que là, il n'en trouve jamais de plus court.


Dans cet exemple 

c'est le contraire : mon Fritz 5,32 affiche mat en 3 et Fritz 7 (je n'ai pas plus "haut") affiche mat en 2.



Je suppose que cela dépend de l'ordre dans lequel les coups candidats sont examinés : si Txd8+ est avant dans la liste, il ne va pas plus loin.


ins4672, le
MDR wqa :D 


Et comme semble dire Bellamy 
les sacrifices sont peut-être examinés en dernier.


@bellamy Je ne suis pas d'accord avec toi quand tu dis que Fritz propose le meilleur coup. Certes, il propose un mat en 4 coups, ce qui doit être suffisant pour gagner. Enfin, je crois... ;-)
Mais le meilleur coup, n'est-il pas celui qui mate le plus rapidement??


Bellamy, le
Mais le meilleur coup, n'est-il pas celui qui mate le plus rapidement?? Non.


@wqa Fritz 6,7,8,9 trouvent le mat en 2 immédiatemment.

Je pense que la différence entre ton problème et le précédent est que dans ton problème la réponse noire est forcée (parer l'échecs) alors que dans le 1er problème Td1 ne donnant pas l'échec, les noirs n'ont pas de réponse forcée: la position est un zugzwang mais Fritz ne semble pas le comprendre...


Autre exemple 

de la "régression" dont parle Nabu :




mat en 2 coups (M. Havel, 1900)


Fritz 5,32 affiche la clé instantanément, tandis que "Deep" Fritz 7 affiche mat en 3 , et n'en démord pas.



Autre exemple 

de la "régression" dont parle Nabu :




mat en 2 coups (M. Havel, 1900)


Fritz 5,32 affiche la clé instantanément, tandis que "Deep" Fritz 7 affiche mat en 3 , et n'en démord pas.



Quelques éléments de réponse j'ai posé la question sur le forum du fou numerique , qui est un des meilleur specialiste francais de fritz et consors au silicium ...


Je vous invite à lire les réponses qui ont été données , et qui éclairent bien le probleme posé


je résume les points principaux :


En mode recherche de mat, ce n'est pas le module Fritz qui travaille , mais un logiciel specialisé " made in chessbase" en recherche de mat : ce module specialisé s'appelle mat !


Ensuite , lorsque que l'on est en mode de jeu, lorsque le logiciel fritz trouve un mat en 4 , il le joue immediatement, sans forcement verifier si il en existe un autre en 2 coups.


Une intervention particulierement pertinente explique d'où peut provenir la difference entre fritz 5 et fritz 10 pour trouver le mat ( les arbres de decision comportent des trous pour descendre le plus vite possible)





Désolé pour le bégaiement


Ygg a raison 

La notion de zugzwang est très mal perçue. Egalement celle de batterie.



Dans les deux dernières lignes 
de ce qu'a écrit Thierry réside sans doute la réponse.



@bellami Tu m'as convaincu!!



mon ordi ne trouve même pas un mat en 290coups, il est nul :-) http://www.jmrw.com/Chess/MAt290/base.htm


@Thierrycatalan Merci Thierry.
Il y a effectivement là des éléments de réponse.
Le lien vers le forum du fou numérique


Oimsi, le
Mon Fritz 9 trouve immédiatement le mat et avec le module Fritz 5.32 aussi, par contre avec crafty il ne trouve pas.
Pourquoi chez moi Fritz 9 trouve....d'où peuvent venir ces différences?


midi, le
Suite Nabulio Attention l'ami... il vaut mieux avoir une approche statistique pour porter un jugement sur le fonctionnement d'un module. Il ne faut pas oublier qu'il est question de machines et établir des analogies avec une poignet de résultats s'éloigne un peu de la réalité.


ins4672, le
ben ils ont juste un problème de configuration... 


midi, le
Ce qu'il vaut mieux savoir D'une part un module comporte des aléas de fonctionnement : d'une position à l'autre, on peut obtenir des résultats paradoxaux dans le cadre de la comparaison du comportement des modules de jeu avec un ensemble de positions de tests. D'autre part, le meilleur coup pour un module de jeu n'est pas le mat le plus court comme l'a bien compris Bellamy mais également bien préciser Thierrycatalan. Le module de jeu cherche le meilleur coup gagnant dans la position relativement au temps qui lui est imparti. Il n'a que faire de mater en deux coups dans la mesure où il a trouvé un mat en trois coups, ici c'est le temps qui prime et le gain de la partie. En effet, dans la mesure où il trouve un mat en trois coups... la partie est gagnée ce qui lui suffit amplement et c'est déjà pas mal. Un problémiste n'est pas un joueur d'échecs !


@midi Tu parles de "meilleurs coups dans le temps imparti". En l'occurence ici, Fritz était en reflexion permanent, sans pendule pour lui botter les fesses.

Maintenant je n'ai pas voulu prouver quoi que ce soit ici. Encore moins que Fritz 9 et 10 jouent moins bien que Fritz 5...
C'est juste que j'aurais aimé une petite explication algorythmique bien claire pour comprendre...



midi, le
Un module n'est qu'une machine Il vaut mieux éviter la comparaison de l'homme avec la machine, c'est de l'anthropomorphisme en quelque sorte ! Les modules ne sont pas spécialement développés pour fonctionner en mode analyse infinie. D'ailleurs, bien souvent, le module se bloque quand il trouve un mat en X coups sans chercher un mat en X coups - 1 et l'on revient au principe de fonctionnement expliqué plus haut dans le fil par Thierrycatalan. Un module de jeu cherche un coup et trouve un coup A qu'il conserve avec son estimation, puis, en fonction du temps qui lui est imparti, cherche un coup B qui a une probabilité d'être meilleur en raison du fait qu'il a approfondi sa recherche entre temps. Si celui-ci est meilleur d'après son estimation, il remplace le coup sortant A par le coup sortant B et ainsi de suite. De plus, 99% des modules randomisent les coups sortants afin de varier le jeu (y compris les modules Fritz). Le coup sortant, dans la mesure où un autre coup a une estimation sensiblement la même, va être choisi aléatoirement avec un algorithme de randomisation (un partenaire agréable ne joue pas toujours la même variante). Les modules d'échecs actuels sont tous développés sur le modèle du joueur d'échecs et non pas de l'analyste. Tout là est le problème et je crois, Nabulio, que tu anticipes un peu en ce qui concerne les capacités d'un module. Il ne faut pas leur donner un rôle qu'il n'ont pas encore pleinement. La mode actuelle n'est plus au jeu contre un module mais à l'analyse des parties, seulement voilà : on attend toujours une nouvelle génération d'interfaces et de modules à ce jour, ce qui n'est pas le cas actuellement. Contrairement à ce que l'on pourrait penser, analyser avec un module n'est pas chose simple. Les technologies logicielles employées actuellement pour développer les modules ne permettent pas encore d'établir des plans, les modules jouent au coup par coup et leur force globale, bien que supérieure à celle d'un humain, se voit réduite lors d'une analyse au coup par coup, ce que les GMI ont pu constater depuis quelques années. D'où le relatif bazar ambiant que l'on a pu observer ces derniers mois entre les GMI pro-modules et leurs opposants. Pour revenir aux problèmes de mat, il est bon de ne pas oublier qu'un module est une machine. La méthode de résolution de mat n'est pas la même que la méthode qui consiste à trouver les meilleurs coups pour gagner une partie. Quelle sont les différences ? Elles se situent dans l'univers des possibles. Un module de mat va explorer une position en prenant en compte tous les coups possibles pour chaque demi-coup tout en sachant sur combien de coup il doit trouver la solution alors qu'un module de jeu va user d'une sélection dans l'arborescence pour effectuer ses calculs en prenant en compte sa base de connaissance et cela sans connaître le nombre de coups... pour lui la solution c'est de gagner la partie ! Le nombre de calculs à effectuer grimpe de façon quasi exponentielle avec la profondeur de calculs et l'"effet horizon" représente le stade où le module ne peut plus traiter le volume de calculs. Un petit exemple étonnant : Roi+Cavalier+Fou contre Roi. Il est question ici d'un mat élémentaire qui relève de l'étude, il est considéré comme académique dans les livres d'échecs généralistes. Alors... qu'est-ce qu'il raconte le Fritz ? J'espère t'avoir apporté des informations intéressantes en ce qui concerne les modules d'échecs actuels, en deux mots je dirais que l'on se trouve en fin de génération dans l'attente d'une nouvelle génération de modules analystes prenant en compte les coups sortants sans randomisation et la gestion des plans.


midi, le
Un module n'est qu'une machine (suite) Au fait... C'est le développeur qui bloque volontairement le coup sortant quand il trouve un mat car dans sa problématique la découverte d'un mat représente le meilleur coup !


midi, le
Un module n'est qu'une machine (suite) En conclusion. En raison du volume d’information à traiter, ce sont des algorithmes d’élagage qui traitent l’information. Le facteur de branche d’arbre moyen pour une partie d’échec est de 35 à 40 coups (nombre de coups possibles moyen pour chaque coup à jouer). Pour calculer tous les coups possibles pour les 4 prochains coups, ce qui veut dire une profondeur dans l’arbre de 8 (car un coup veut dire un coup chacun des adversaires), en prenant comme facteur de branche 35 cela donnerait : Nombre de coups possibles = 35 ^ 8 = 2 251 875 390 625. La notion de sélectivité prend ici tout son sens et notamment l’élagage alpha bêta, technique permettant de réduire le nombre de nœuds évalués. C’est la technique la plus connue et la plus employée par les développeurs de modules d’échecs. L’évolution des processus relève de la recherche heuristique. Quant au comportement du module, il est guidé par les directives du développeur en fonction du but à atteindre. Pour plus d’information il faut s’intéresser au calcul heuristique employé en intelligence artificielle et éventuellement penser à développer un module.




© 2024 - France Echecs  | Utilisation des cookies  | Politique de confidentialité