Revisit Position Learning

Discussion of chess software programming and technical issues.

Moderator: Ras

jhaglund
Posts: 173
Joined: Sun May 11, 2008 7:43 am

Revisit Position Learning

Post by jhaglund »

Crafty stopped using position learning files long ago.

I am requesting a reimplementation once again, with options. Please? :idea:

The Proposal:

Enabled|Disabled
a) compile option flag
b) by rc file

This would not interfere with your control environment testing of Crafty.

I would like to also see some other things for position learning.

1) a file parser that evaluates each position or move.
a) FENs/EPDs/PGN/SANs formats
2) writes information too position.lrn && position.bin.
a) top x moves specified
b) score(s) associated with x moves

Sometimes there is more than one move to choose from.

learn <format> <moves> <time>

intial position...

learn FEN 20 5
or
learn FEN max 5
evaluating all possible moves for the position...

This would take the starting board position
Write 20 FENs to position.lrn|.bin
Each move listed with it's score evaluated, maybe ply
Spend 5 seconds on each move to, then grab evaluation score||ply

Something like:
FEN [move][score][ply]

For PGN format:

1) read each move
a) evaluate each move
2) convert each move in the PGN into <format> e.g., FEN
a) write FEN [move][score][ply] to position.lrn|.bin

After each game close & reload position.bin into memory.
Maybe a duplication catcher would be good also.

A vast amount of knowledge can be stored.

Other paths to consider is making more phases of learn files,
such as opening, middle-game, end-game, special cases, tournament, etc.
Loading them into memory by rc file would work. This would be useful for selection, & if the files would get too large.

My final idea is having a learn searching fuction. This would start from a move or position and would search x||all moves and branches, maybe in a given evaluation window if desired. This would search either until a certian ply, time, or max. The max would have a hash_signature to where it left off, & storing in chunks of knowledge in appropriate sizes (Less than 2GB).

I know you have a lot on your plate Bob.
Thoughts?

Joshua D. Haglund