Concours de Noël : plus que 10 jours !

Bonjour, chers amis abaloniens !

Déjà Décembre, et Noël est maintenant dans moins d’un mois !

Je rappelle à ceux qui souhaitent participer au concours de Noël qu’il ne vous reste plus que 10 jours pour faire connaître votre meilleure performance.

Nous avons déjà un gagnant potentiel, mais comme il sera peut-être difficile de comparer des IA différentes sur des niveaux proches, il est possible qu’il y ait, le cas échéant, plusieurs lauréats 😉

Qui relèvera le défi ?

FightClub

Publicités

Le bêtisier des IA #1

Une nouvelle rubrique divertissante, sur une idée de lolo.

Voir les IA se vautrer ne nous procurerait sans doute pas autant de plaisir si elles n’étaient pas aussi fortes 😉

FightClub

°°°°°°

Ce premier cas est proposé par lolo :

 lol_1

A gauche, Aba-Pro niveau 10 contre Aba-Pro niveau 10 :
Noir laisse échapper la sixième bille qui lui permettait de conclure !

A droite, Humain niveau zéro contre Aba-Pro niveau 10 :
conclure cette partie pour Noir est à la portée d’un enfant.

A gauche, Aba-Pro 10 met 4 coups à conclure la partie.

A droite, Noir pousse Blanc à l’abandon en 1 coup, ou gagne en 2 coups.

°

Plus sérieusement, une telle réaction chez une IA aussi puissante (à ce niveau) interpelle.
Il y a t-il un programmeur dans la salle qui soit en mesure de nous donner une explication ?

FightClub

Imagination et technique : un commentaire de Chriscool

Ce qui suit est un commentaire de Chriscool sur un ancien article de Gramgroum intitulé Imagination et technique : existe-t-il un art du jeu d’abalone ?

L’article de Gramgroum date de novembre 2005, et il est probable que ce commentaire, où Chriscool développe un point de vue personnel, lui soit contemporain.

FightClub

°°°°°°

Je pense que l’intelligence abalonienne fait appel à plusieurs caractéristiques, dont principalement :
__ les capacités de calcul brut, qui vont permettre d’anticiper un certain nombre de mouvements ;
__ les capacités de représentation spatiale, qui vont permettre d’identifier des patterns plus facilement (ce qui a pour avantage de réduire les nécessités de calcul pur) et les lignes de force (mouvements possibles en interaction avec l’adversaire).

Concernant le style personnel, un recensement le plus exhaustif possible des différentes techniques de jeu est nécessaire afin de pouvoir exprimer le style de chacun en fonction de critères objectifs et mesurables, le style de jeu pouvant alors être décrit comme la liste des techniques les plus souvent utilisées lors de situations ou patterns spécifiques.

Par exemple ce qui caractérise le plus le style d’eob, selon moi, c’est son approche « divide and conquer » (diviser pour régner). Il me semble qu’il accorde plus d’importance au fait de diviser les billes de l’adversaire que d’occuper le centre, sauver ses boules ou manger celles de l’adversaire. Concernant goha, c’est plus difficile de noter un style particulier car il fait souvent, durant une certaine période, ce que je qualifierais de l’exploration de concept. A une époque, par exemple, il s’efforçait d’introduire trois billes loin derrière les lignes ennemies pour l’y menacer constamment.

Je ne pense pas que le style s’efface lorsque deux joueurs de même niveau s’affrontent (i.e. que le jeu redevienne classique). En revanche, certains styles sont peut-être plus à même d’en contrecarrer d’autres. D’une certaine manière, le joueur qui va gagner sera celui qui réussira à imposer son style, et il se peut que cela prenne un certain temps (durant lequel le jeu semblera « classique ») avant que l’un des deux n’y parvienne.

Concernant les IA qui posséderaient un style ou non, il convient de mieux définir ce qu’on désigne par style. Si le style repose sur les techniques mises en oeuvre selon les situations, une IA possède bel et bien un style, plus qu’un joueur humain même, comme tu le précises, du fait de l’uniformité de ses réponses (lorsque deux situations identiques se présentent, les IA actuelles [novembre 2005, NDLR] joueront toujours la même chose).

Tu remets en question le fait qu’une IA possède bel et bien un style sous le prétexte qu’elle ne se baserait sur aucune émotion. Ce sont en fait, selon moi, deux notions complètement orthogonales, le style étant pour moi simplement l’ensemble des techniques mises en oeuvre. Si on cherche à normaliser le style humain, basé en grande partie sur l’émotion, la psychologie et l’état d’esprit du joueur, dont notamment son aversion au risque, avec celui d’une IA, il est facile de faire le parallèle entre la fonction d’évaluation de l’IA et l’émotion du joueur humain. La spécificité de l’émotion sur une fonction d’évaluation consiste à fournir une réponse en présence de paramètres non quantifiés, mais cette caractéristique est également présente, dans une certaine mesure, dans les IA basés sur des réseaux de neurones (dont l’intérêt repose précisément sur le fait de pouvoir choisir une solution lorsque le calcul algorithmique seul ne le permet pas).

Une IA est bel et bien pourvue d’un style, selon moi. Une question intéressante consiste à se demander dans quelle mesure telle IA possède un style *personnel*, dans la mesure où les IA actuelles semblent converger vers les mêmes notions tactiques (compacité et proximité du centre).

Concernant le rapport entre art et technique, il peut se résumer de manière assez simple. La notion d’art implique que l’artiste a le choix, ce qui n’est pas le cas dans les IA déterministes basées sur une fonction d’évaluation, dont l’objectif consiste précisément à déterminer une solution unique, celle qui sera considérée comme la meilleure en fonction de critères objectifs, mesurables, quantifiables. En clair, la notion d’art est incompatible avec celle de systèmes déterministes, sans que cela ne remette en question la possibilité d’une IA à posséder un style « personnel ».

Parler de l’art comme étant l’union de l’imagination et de la technique frise la théologie dans la mesure où il est difficile de définir clairement ce qu’est l’imagination. D’un point de vue pratique, je qualifierais d’art abalonien la capacité à choisir un parmi différents mouvements de même « valence », voire la capacité à choisir un mouvement qui pourra être jugé moins efficace selon des critères objectifs. L’art abalonien réside, selon moi, dans la capacité du joueur à évaluer des critères subjectifs, non mesurables par la machine. A titre d’exemples, un joueur peut jouer un mouvement « objectivement » moins efficace mais qui aura pour effet de déstabiliser son adversaire ou de lui exercer une pression psychologique, ou encore d’orienter le jeu vers des patterns plus favorables à son style de jeu qu’à celui de son adversaire.

Chriscool, 16 novembre 2005

Les codementaires et les saabacodes

Système de notation, par saabalone
Présentation, par saabalone et FightClub
Exemple codementé, par saabalone

°

A mi-chemin entre la notation de coups, qui permet de coder les mouvements d’une partie pour la rejouer, et la représentation de cette partie par une vidéo ou une succession d’images, les « codementaires » (un néologisme inventé par saabalone) ont pour fonction de décrire les événements ou la situation qui accompagnent chaque mouvement. Ils donnent ainsi un aspect plus visuel à la simple notation brute des déplacements de billes, ce qui permet de mieux comprendre ce qui se passe au cours de la partie, que l’on soit un joueur confirmé qui ne dispose pas des moyens de visionner la partie, ou au contraire un débutant qui n’a pas suffisamment d’expérience pour repérer ce qu’il y a d’important à voir à chaque étape de la partie.

Saabalone est ainsi l’auteur de saabacodes, des systèmes de « codementaires » qui permettent de commenter une partie, indépendamment du système de notation utilisé pour la retranscrire. En effet, les codementaires s’adaptent à n’importe quel système de notation, sur lequel ils viennent se greffer à la manière d’un plugin. On peut donc aussi bien « codementer » du Aba-Pro, du Nacre, du Nacre étendu, du Kubik, ou tout autre système de notation.

°

LES SAABACODES

Le sabaacode A constitue le codementaire de base :

NOTATION

SIGNIFICATION

0y. indique la position de départ, Noir a le trait
3x.I9F6> indique au 3ème coup de Noir le déplacement I9F6 par sumito 2+1
#°ny indique le nombre de coups « n » imparables de Blanc avant l’issu de la partie (mort programmée de « x »). Blanc gagne au prochain coup: « #°1y », dans  n coups : « #°ny »
(1-1) les chiffres entre parenthèses indiquent le score après une éjection
$A1 indique une menace sur la bille adverse A1
$$A1 indique une double menace sur la bille adverse A1 (elle peut être éjectée de deux côtés)
$(A1) indique que la case A1 est contrôlée : venir s’y placer, c’est s’exposer à une éjection (et à une défaite en fin de partie)
?A1 indique le sacrifice de sa propre bille A1. De même « ?? » indiquera un double sacrifice.
?(A1) indique le contrôle de l’emplacement A1 par l’adversaire. Si je m’y place, je m’expose à une éjection. (et à une défaite en fin de partie)
>F7 indique un sumito sur la bille adverse F7. De même « >> » indiquera un double sumito.
>(F7) Indique que  la case « F7 » est contrôlée par le joueur venant de jouer
<F7 indique un sumito adverse sur la bille F7.  De même « << » indiquera un double sumito adverse.
<(F7) Indique que  la case « F7 » est contrôlée par l’adversaire
E6=E9 indique un pac  sur les billes adverses depuis E6 jusqu’à E9

°

Le sabaacode B complète éventuellement le codementaire A pour donner plus d’indications :

NOTATION

SIGNIFICATION

?(A2) /D2+C4 indique par quelles billes se fait le contrôle d’une case. Ici, contrôle de la case A2 par D2 ou C4.
>D2A2 indique le déplacement possible D2A2, par sumito 2+1 sur la bille adverse B2 par D2
<D2A2 indique le déplacement adverse possible D2A2, par sumito 2+1 sur la bille B2 par D2

°

Pour noter chaque coup et ne rien oublier, on peut suivre cet ordre :

Noter le coup joue d’origine « nx. » ou  « ny. » avec si besoin « > », « (score) », « #°n ».

Puis en face les un sous les autres :
1) indiquer les « $ », puis « ($) », avec leur « / » relatif en saabacode B, puis « > ».
2) indiquer les « ? », puis « (?) », avec leur « / » relatif en saabacode B,  puis « <« .
3) indiquer les « = ».

A titre d’exemple, voici la solution du problème d’octobre 2014 en notation nacre étendue codementée en saabacode A et en saabacode B :

Solution codementée en version PDF

L’intuition du joueur

23/11/2014

Anatoly_Karpov_1979

« Je crois qu’il existe des manières très spécifiques de jouer efficacement contre une machine. Évidemment, nous n’avons aucune chance en tactique pure, parce que l’ordinateur calcule de façon parfaite. Mais lorsque nous faisons appel à notre cerveau en utilisant l’intuition et la compréhension, alors nous restons beaucoup plus forts. »

(source : Europe Échecs, avril 2000, n° 488, 42ème année, p. 11)

Anatoli Karpov, champion d’échecs russe (1951-)

 FightClub

Retrouvez toutes les citations dans le Dictionnaire de citations.