Description of a player.
Every player consists of :
- A 19x19 array of vector of input neural adresses, telling where each value of each case on the board goes. Every case goes to at least one neural input.
- A 19x19 array of output neural adress, telling from where information should be retrived do decide the move of the player.
- A Neural network processing the input information and providing a value for each case of the goban. The higher value decides the chosen move.
Description of the neural network.
The neural network consists in a map of genes ; each gene is a map of neurones. Each neurone is conceived as a classical artificial neuron and is defined by :
- It's type : linear, sigmoid, fully linear or piecwise linear.
- Two parameters defining its transfer function : threshold and global weight.
- A vector of output adresses telling where the inputs are connected.
- An associated vector of weights defining the weight of each input.
- A vector of input adresses telling where the output of the neuron goes.
- A mutation probability for every one of these values, ranging from 1/10 to 1/32000.
- A species tag.
- An historical log telling where the player's ascendants have been.
The Tournament
The tournament is organized as follow : each player 0-49 plays against a randomly chosen player 50-99, playing black twice and white twice. A win earns 3 points, a tie earns 1 point and a loss 0 points. By the end of the tournaments, players are sorted , players with as many points are sorted according to their file size.
The 50 highest ranked survive, and the other are killed.
Reproduction
Players who are in the top half of the population get the right to reproduce. Every one of them follow this procedure .
- First, they try to mate with another winner : they search the population for another member with the same species tag. If found, the achive sexual reproduction twice. Sexual reproduction consists in swapping random genes from the two reproductors. Generally, the results is a non valid neural networks. When its the case, the reproducing player is chosen a new species tag and proceeds as if it had not found a suitable partner.
- If sexual reproduction failed, a simple cloning is achieved.
Mutation
After reproduction is achieved, every player suffers a random mutation :
- Every neural properties can randomly mutate.
- Every adresses can mutate.
- Genes can split, merge, grow, shrink, duplicate or disappear.
- Every mutation probability can mutate, according to a driving metamutation probability factor arbitrarilly set at 0.002 for the moment.
Journey
By the end of every tournament, some genetic mixing is assured with the other ecosystems through the transfer of players via a web hosted ftp server.
- The hishest ranked in the tournament is sent to the ftp server, and assigned a new number ther from 0 to 29.
- One of the 30 players available on the ftp server is randomly chosen and replaces one of the 100 players in the local ecosystem.