« Anastomochess » : différence entre les versions

De Lillois Fractale Wiki
Aller à la navigation Aller à la recherche
Contenu ajouté Contenu supprimé
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 15 : Ligne 15 :
== Anastomosis ==
== Anastomosis ==


In a tree (computing science or life science), the [http://en.wikipedia.org/wiki/Anastomosis anastomosis] is the reconnection of two streams that previously branched out.
In a tree (in computing science and in life science), the [http://en.wikipedia.org/wiki/Anastomosis anastomosis] is the reconnection of two streams that previously branched out.


In chess anastomosis is highly present, but most of the time poorly handled.
In chess, which is tree game, anastomosis is highly present, but most of the time poorly handled.


Anastomosis brings complexity, because it eliminates several convenient properties of tree management.<br>
Anastomosis brings complexity, because it eliminates several convenient properties of tree management. But it also provides benefits.<br>


== Indexing positions ==
== Indexing positions ==

Version du 20 janvier 2014 à 15:25

Introduction

This article describes a project related to the chess game.

The purpose of the project is not a chess playing engine; it is a chess database and a front-end program to explore it (a dedicated web site).

Building the database

The building of the database should include the loading of MANY games (~106 and more if possible).

The loaded games should include (besides the sequence of moves), the result and the name and elo rating of the players.

Each game will be processed so that the 20 (or more) first positions generated by the moves are stored in the database.

Anastomosis

In a tree (in computing science and in life science), the anastomosis is the reconnection of two streams that previously branched out.

In chess, which is tree game, anastomosis is highly present, but most of the time poorly handled.

Anastomosis brings complexity, because it eliminates several convenient properties of tree management. But it also provides benefits.

Indexing positions

In order to manage a large number of positions, a good indexing scheme is required. An original and performing scheme is documented here, and provides a way to index any position on a compact bit set.

The number of bits fully defining a position is between 78 and 113, depending on the complexity of the position, but this is optimal in terms of compacity (would be hard to have it more compact).

The position indexing scheme is used to build huge HashSets of positions.

Database content

For each position in the database, the following fields should be present:

  • the number of paths leading to that position (anastomosis factor)
  • the various last moves leading to that position (and links to the corresponding previous positions)
  • the various next moves played from that position, and for each of them
    • the number of time they were played
    • the average Elo rating of the players who chose them
    • the results of the games (white/draw/black)
  • an uncertainty measure for this position, using an entropic measure
  • a global white/black balance measure
  • a global dynamic measure (measure of likelihood of a draw game)

User interface

The user interface should

  • display all the information present in the database (listed above)
  • allow backward links to previous positions for all last moves
  • allow forward links to next positions for all last moves

Development

Suggested Technology

Java / JavaFX / Collections.

The Matscape java libraries would provide fast development path.

Estimated workload

Between 1 and 3 year men.