Le programme ULA (Uncle Lolo’s Abalone)

ULA (Uncle Lolo’s Abalone) fait partie des plus puissants programmes jouant à Abalone. Il a été conçu par Laurent Pagli, alias IA de lolo. Et c’est encore son auteur qui en parle le mieux :

° ° ° ° ° °

ULA (Uncle Lolo’s Abalone) est un programme pour PC qui tourne sous Windows.
Il a été développé en langage Delphi (de Borland), une sorte de langage Pascal.
Le fonctionnement de cette IA est classique : minimax avec élagage alpha-beta, des tables de transposition, et des options d’élagage des coups a priori pour aller plus vite.
Pour donner une idée de son niveau de jeu, à temps de réflexion égal, ULA est un peu moins forte qu’Aba-Pro (à mon grand désespoir), mais son plus fort niveau l’a déjà vaincu.
L’interface graphique permet de jouer (heureusement), mais j’aurais aimé mieux faire si j’avais eu le temps et la patience… Là aussi, je trouve Aba-Pro mieux fait.

Alors pourquoi utiliser ULA ?
– Le style de jeu est différent de celui d’Aba-Pro
– On peut lui donner un style de jeu plus ou moins agressif et faire intervenir le hasard pour varier les parties
– On peut la forcer à éviter une répétition de position
– Elle permet de fixer une position de départ et de la résoudre s’il s’agit d’un problème du style : noir gagne en x coups ou en combien de coups noir va perdre
– On peut voir la suite des coups qu’elle a prévu pour elle et son adversaire
– Elle possède un grand nombre de variantes de départ et on peut même prendre l’option pilier (la case centrale est inaccessible)
– A son niveau le plus élevé, et si on possède un PC puissant (et beaucoup de patience), elle est sûrement imbattable, je pense.

Il lui manque une bibliothèque d’ouverture, et sûrement plein d’autres choses. Je l’ai laissée un peu tomber et elle n’est pas finalisée, voire un peu en chantier.

Si vous voulez l’essayer et me donner votre avis ou des suggestions, ou bien si vous voulez des précisions sur sa programmation, écrivez-moi à :

iadelolo@laposte.net

je vous enverrai son .exe provisoire.

iadelolo, 12 mars 2014, à 16 h 43 min


Quelques avis sur ULA

La belge de la quinzaine (début octobre 2015)

Le principe de cette rubrique est de soumettre deux fois par mois à votre analyse une partie ancienne ou inédite en marguerite belge, la reine des variantes.

Comme pour les problèmes, ces parties peuvent bien sûr faire l’objet de commentaires dans lesquels vous pouvez donner votre avis sur les choix effectués par les joueurs au cours de la partie.

Gardez cependant toujours à l’esprit que les joueurs, eux, ne connaissaient pas à l’avance le déroulement de la partie 😉

Marguerite belge

MB

(cliquez sur l’image pour visionner la partie)

ULA, plus pro qu’ABA-PRO ?

°°°°°°

Cette partie, retranscrite par Laurent Pagli, le concepteur du programme ULA (Uncle’s Lolo Abalone), oppose ULA à ABA-PRO niveau 10. Nous avons donc pour la première fois dans cette rubrique du blog une partie confrontant deux IA.

Si le niveau d’ABA-PRO est facile à déterminer (il n’existe qu’une seule version, et aucun paramétrage possible), dans le cas d’ULA, l’affaire est plus complexe. Cette IA a en effet l’avantage d’offrir un large éventail de paramètres (niveau, style de jeu, tronquage ou non, turbo ou non), ce qui, en croisant les réglages, représente pas moins de 240 niveaux possibles !

Dans le cas présent, ULA n’a pas vraiment de niveau défini : on lui a accordé un délai (ici 15 secondes) pour jouer, à chaque tour, son meilleur coup.

Un tel paramétrage permet une certaine maîtrise de la durée de la partie, mais le niveau de jeu dépend alors de la puissance du PC, ce qui ne permet plus les comparaisons dans l’absolu. De plus, l’auteur était en phase de réglage des coefficients de sa fonction d’évaluation (ULA semblait un peu plus agressive), ce qui rend en quelque sorte la partie unique et non reproductible. Néanmoins, Laurent estime qu’avec le PC utilisé pour cette expérimentation, le réglage de 15s/coup correspondait grosso modo à un niveau 6 ou 7 de la précédente version d’ULA.

FightClub


Notation Aba-Pro de la partie :

Belgian daisy
1.A1B2 I5H5 2.A2B3 I6H6 3.C2C3 A5B5 4.B2C3 C7C6 5.I9H8 A4B4 6.H9G8 G4G5 7.G8F7 C6C5 8.B1C2 C5C4 9.F7F6 B6B5 10.C1D2 B3C3 11.D5E5 I5I6 12.F6F5 H4H5 13.E3F4 G7G6 14.H9G9G8 I7H7 15.D2E3 I6I5 16.E6D5 B5B4 17.E3E4 D3D4 18.E6F6 F3E3 19.F8E7 E3D2 20.D6E7E6 D2C2 21.I8H8 C2B2 22.E6E5 D5D4 23.F4F3 I5H5 24.F8F7 A2B3 25.F3G4 F4G5 26.G4H5 G7H7 27.F7G7 B4C4 28.F4F5 H7H6 29.E3F3 I7H6 30.E6E5 H6H5 31.E4F5 H4H5 32.F5G6 I8I7 33.F7F6 F4G4 34.F3F4 G4H5 35.G8G7 G4H4 36.E5F5 B2C3 37.G7H7 I5I6 38.I8I9 C4C5 39.I9H8 B3C4 40.G7H7 C3D4 41.G7G6 H4G3 42.G5G4 C5D5 43.H7G6 F6E5 44.G4H5 C4D4 45.G4G5 D4E4 46.H5G5 C3D3 47.G3H4 E4F4

Problème 21944-15y : un vrai travail d’équipe !

Il a fallu se mettre à plusieurs pour concevoir une solution optimale pour les deux camps. Non pas 5, ni 7, mais bien 6 coups sont nécessaires pour que Noir soit déclaré vainqueur par K.O.

Il y a plusieurs voies pour arriver à ce résultat. Je vous propose, à titre d’exemple, cette solution que je trouve sympa :

f6e6 / a5a4
c6b5 / b6c7
d6d7 / c7b6
c5d5c6 / b6a5
c4c5 / f5e4
c5b5 (victoire en 6 coups, 6-0).

Remerciement à Lolo pour son précieux éclairage du problème.

FightClub

Poisson d’Avril !

Une nouvelle variante à vous mettre sous la nageoire :

Poisson d'Avril © LGB Productions

Merci à Lolo et son IA pour le support. Vous pouvez créer vos variantes en utilisant la fonction « Jeu/Modifier la position actuelle ». Les billes s’enlèvent par simple clic sur la bille à ôter. Pour ajouter une bille, clic gauche pour une noire, clic droit pour une blanche.

Bonne expérimentation et bon jeu !

FightClub

ULA, par Laurent Pagli

ULA (Uncle Lolo’s Abalone) fait partie des plus puissants programmes jouant à Abalone. Il a été conçu par Laurent Pagli, alias IA de lolo. Et c’est encore son auteur qui en parle le mieux :

° ° ° ° ° °

ULA (Uncle Lolo’s Abalone) est un programme pour PC qui tourne sous Windows.
Il a été développé en langage Delphi (de Borland), une sorte de langage Pascal.
Le fonctionnement de cette IA est classique : minimax avec élagage alpha-beta, des tables de transposition, et des options d’élagage des coups a priori pour aller plus vite.
Pour donner une idée de son niveau de jeu, à temps de réflexion égal, ULA est un peu moins forte qu’Aba-Pro (à mon grand désespoir), mais son plus fort niveau l’a déjà vaincu.
L’interface graphique permet de jouer (heureusement), mais j’aurais aimé mieux faire si j’avais eu le temps et la patience… Là aussi, je trouve Aba-Pro mieux fait.

Alors pourquoi utiliser ULA ?
– Le style de jeu est différent de celui d’Aba-Pro
– On peut lui donner un style de jeu plus ou moins agressif et faire intervenir le hasard pour varier les parties
– On peut la forcer à éviter une répétition de position
– Elle permet de fixer une position de départ et de la résoudre s’il s’agit d’un problème du style : noir gagne en x coups ou en combien de coups noir va perdre
– On peut voir la suite des coups qu’elle a prévu pour elle et son adversaire
– Elle possède un grand nombre de variantes de départ et on peut même prendre l’option pilier (la case centrale est inaccessible)
– A son niveau le plus élevé, et si on possède un PC puissant (et beaucoup de patience), elle est sûrement imbattable, je pense.

Il lui manque une bibliothèque d’ouverture, et sûrement plein d’autres choses. Je l’ai laissée un peu tomber et elle n’est pas finalisée, voire un peu en chantier.

Si vous voulez l’essayer et me donner votre avis ou des suggestions, ou bien si vous voulez des précisions sur sa programmation, écrivez-moi à :

iadelolo@laposte.net

je vous enverrai son .exe provisoire.

iadelolo, 12 mars 2014, à 16 h 43 min


Article connexe : ULA (Uncle Lolo’s Abalone)