Edax - Le Bottin des Jeux Linux

Edax

Specifications

Title: Edax Type: Tool
Genre: Puzzle Status:
Category: Puzzle ➤ Board Game ➤ Reversi Commercial:
Tags: Puzzle; Board Game; Reversi Engine Demo:
Released: Latest : 4.4 / Dev : 8e5da6d Package Name:
Date: 2017-06-11 Extern Repo:
License: GPL v3 Deb Repo:
View: Third person Package:
Graphic: Text Binary: ✓
Mechanics: Turn-Based Source: ✓
Played: Single PDA:
Quality (record): 5 stars Quality (game): 5 stars
Contrib.: Goupil & Louis ID: 15410
Created: 2018-04-27 Updated: 2019-02-24

Summary

[fr]: Une IA libre, multi-plateforme, d'un très bon niveau pour le jeu de Reversi / Othello. Elle est rapide, multithread, fonctionne sur une représentation bitboard, à des capacités d'évaluation de milieu de partie et d'apprentissage de livre d'ouverture, et dispose du support multi-protocole pour se connecter à des interfaces graphiques ou jouer sur Internet (GGS). Un très bon moteur écrit en C avec un soin particulier apporté à sa portabilité et à sa modularité. [en]: A free/libre, cross-platform, and strong IA for Reversi / Othello. Its fast, multithreaded, runs on a bitboard representation, has midgame-evaluation and opens book learning capabilities, and has multi-protocol support for connecting to GUI or playing on the Internet. (GGS). A very good engine written in C with particular care given to its portability and its modularity.

Videos

Links

Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t ts gd id r lp g g[fr] g[de] g[ru] g[pl] g[cz] g[sp] g[pt] g[it] g[tr] g] [WIKI] [FAQ] [RSS] [Changelog 1 2]

Commercial : (empty)

Resources
• (empty)
Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

Social
Devs (Richard Delorme (abulmo) [fr] [en]) : [Site 1 2] [twitter] [Facebook] [YouTube] [Linkedin] [Interview 1 2]
Game : [Blog] [Forums] [twitter] [YouTube]

On other sites
[Wikipedia (Edax) [fr] [en] [de]]

Reviews
[metacritic] [Edax 3.6 vs. Cyrano 3.1 [fr]]

News / Source of this Entry (SotE) / News (SotN)

Description [fr]

Une IA très forte pour le jeu de Reversi / Othello, par Richard Delorme (abulmo).
En C.

Edax est une IA libre, multi-plateforme, d'un très bon niveau pour le jeu de Reversi / Othello. Elle est rapide, multithread, fonctionne sur une représentation bitboard, à des capacités d'évaluation de milieu de partie et d'apprentissage de livre d'ouverture, et dispose du support multi-protocole pour se connecter à des interfaces graphiques ou jouer sur Internet (GGS). Un très bon moteur écrit en C avec un soin particulier apporté à sa portabilité et à sa modularité.


Edax est un programme d'othello très fort. Ses principales fonctionnalités sont:

• moteur rapide et multithread basé sur une représentation bitboard (NdT : représentation relative et informatique du tablier par rapport à une pièce donnée).
• une fonction précise d'évaluation de milieu de partie.
• capacité d'apprentissage de livre d'ouverture.
• interface textuelle riche.
• support multi-protocole pour se connecter à des interfaces graphiques ou jouer sur Internet (GGS).
• support multi-OS pour fonctionner sous MS-Windows, Linux et Mac OS X.

Installation: Depuis la section release de github, vous devez à la fois décompresser l'exécutable correspondant à votre système d'exploitation préféré et les données d'évaluation (data/eval.dat) dans le même répertoire. Seul les exécutables 64 bits avec support popcount sont fournis.



Wikipedia [en] (traduction du Bottin) :

Edax est un logiciel d'Othello régulièrement mis à jour et écrit par Richard Delorme en 1998. Les principaux algorithmes appliqués par le programme sont le générateur de mouvement bitboard, la recherche par arbre negascout, la recherche sélective multi-probabilités, la recherche parallèle utilisant le concept Young Brother Wait. Le code source d'Edax est disponible sous les termes de la licence publique générale GNU.

Description [en]

Edax is a very strong othello program. Its main features are:

• fast bitboard based & multithreaded engine.
• accurate midgame-evaluation function.
• opening book learning capability.
• text based rich interface.
• multi-protocol support to connect to graphical interfaces or play on Internet (GGS).
• multi-OS support to run under MS-Windows, Linux and Mac OS X.

Installation: From the release section of github, you must 7unzip both an executable of your favorite OS, and the evaluation weights (data/eval.dat) in the same directory. Only 64 bit executable with popcount support are provided.



Edax is a very strong and fast Othello program. For the purpose of strength, I made the following choices:

1. Usage of the C language. This is a language that is simple, fast, portable, etc. I tried to conform to the iso-C99 standard, except where non- standard features were necessary, such as time management or multi-threading capabilities. In such cases, code was made to be easily portable, at least between MS-Windows and Unix. It does compile with most of the C compiler available under Windows, linux & mac OS X.

2. I used the C language as a very high language. I wrote very modular code. I privileged small functions over long pieces of code. I avoided global variables. Instead I organize data into structures passed to functions as pointers. Structure and function naming was carefully chosen to give an object-oriented-programming feeling. My purpose was to make the program as bug free as possible, and as clear as possible for me to understand it.

3. I used the best algorithms I know:
• fast bitboard-based move generators.
• Principal Variation Search (an enhanced alphabeta).
• Multi-way lock-free hash table.
• Pattern-based Evaluation function.
• MultiProbcut-like selective search.
• Parallel search using Young Brother Wait Concept (YBWC).


Wikipedia:

Edax is a regularly updated Computer Othello program written by Richard Delorme in 1998. The main algorithms applied by the program are bitboard move generator, negascout tree search, multi-probcut selective search, parallel search using the Young Brother Wait concept, and pattern based evaluation function. Edax's source code is available under the terms of the GNU General Public License.

Installation [fr]

INSTALLATION :

➥ Installation à partir du binaire du jeu :

Un binaire 64-bits est disponible (non testé).

➥ Installation à partir du source du jeu :
• Téléchargez le source sur GitHub et décompressez-le
• Dans son répertoire principal (au même niveau que les répertoires src/ et include/), créez le répertoire bin/
• Téléchargez sur GitHub le livre d'ouverture (dénommé "eval.7z"), il contient un répertoire data/ avec un fichier eval.dat. Copiez ce répertoire data/ dans le répertoire bin/ ci-avant (vous obtenez bin/data/eval.dat).
• Dans son répertoire src/ lancez successivement :
⚬ si votre OS est toujours en 32-bit : $ export ARCH=x86
⚬ ou si votre OS est en 64-bit : $ export ARCH=amd64
(à adapter en fonction de votre architecture, pour voir les commandes disponibles lancez : $ make help
$ export OS=linux
$ export COMP=gcc
$ make build
(le binaire produit se trouvera dans le répertoire bin/)


LANCEMENT DU JEU :

• En console dans son répertoire bin/ lancez :
- si vous disposez d'une architecture 32-bit : $ ./lEdax-x86
- si vous disposez d'une architecture 64-bit : $ ./lEdax-amd64
(à adapter, car en fonction de l'architecture que vous avez retenu le nom ne sera pas le même)

Nota : ce moteur seul en console n'a que peu d'intérêt, il s'utilise avec une interface externe tel que NBoard (testé : ok) ou Quarry.

Exemple, pour ajouter ce moteur sous l'interface NBoard :

• Ajout de l'IA :
Dans le menu Engine :
"Select Opponent"
Cliquez sur le bouton "Add engine..."
Et saisissez :
Edax
/mnt/DDprc/Download/edax-reversi-master/bin
lEdax-x86 -nboard
(à adapter en fonction du nom de votre moteur et de sa localisation, saisissez une adresse absolue, c'est à dire une adresse complète depuis la racine)

• Sélection de l'IA :
Dans le menu Engine :
"Select Opponent"
Sélectionnez Edax, puis le niveau souhaité.

Test [fr]

Test (source v4.4 de Richard Delorme, compilé sous Debian 64-bit) par goupildb :

(test de fonctionnement)

☯ Facilité d'installation

Le source se compile bien, il nécessite quelques manipulations complémentaires (création du répertoire bin/ et une copie séparée du livre d'ouverture).

Au lancement du moteur on obtient quelque-chose semblable à cet affichage :

A B C D E F G H BLACK A B C D E F G H
1 - - - - - - - - 1 0:00.000 1 | | | | | | | | | 1
2 - - - - - - - - 2 2 discs 4 moves 2 | | | | | | | | | 2
3 - - - . - - - - 3 3 | | | | | | | | | 3
4 - - . O * - - - 4 ply 1 (60 empties) 4 | | | |()|##| | | | 4
5 - - - * O . - - 5 Black's turn (*) 5 | | | |##|()| | | | 5
6 - - - - . - - - 6 6 | | | | | | | | | 6
7 - - - - - - - - 7 2 discs 4 moves 7 | | | | | | | | | 7
8 - - - - - - - - 8 0:00.000 8 | | | | | | | | | 8
A B C D E F G H WHITE A B C D E F G H

J'ai aussi testé testé ce moteur avec l'interface NBoard (voir la section "Installation" ci-avant) : il marche parfaitement.

Côté ☺ :
• Une IA puissante conçue avec soin
• Une documentation complète en HTML est fournie avec le livrable

Côté ☹ :
• Aucun (pas trouvé)

☯ Conclusion :
Une IA d'un très bon niveau, très bien conçue et qui fonctionne très bien sous Linux.
Un grand bravo et merci à son auteur !