Home 
Search 
Today's Posts 
#1




Integer Game Notation (IGN)  a way to encode PI game states
Integer Game Notation (IGN)  updated
Integer Game Notation is a way to store the state of any perfect information game where players have a variable number of possible moves along the way. This method maps all nodes in the game tree to an integer. The current example applies this to chess and could be useful in opening book or database applications. Here is the algorithm: 1. Let IGN:=0, Product:=1 and the game is in its opening position 2. Let Moves = a list of possible moves from this position 3. IGN += Product * the ordinal of the current move in Moves (one indexed) 4. Product *= the cardinality of Moves 5. Goto 2 .... and to decode 1. IGN is given and the game is in its opening position 2. Let Moves = a list of possible moves from this position 3. If IGN = 0 and the cardinality of moves is greater than 1, then this algorithm ends 4. IGN % the cardinality of Moves is the current move (zero wraps around to the last element of Moves) 5. IGN /= the cardinality of Moves (round down) 6. Goto 2  I have a proof of concept which will convert PNG files to and from an integer. (Only the moves are encoded, no text). More info: http://phor.net/PUB/chess/ign Proof of concept (encoding): http://phor.net/PUB/chess/pgnign Proof of concept (decoding): http://phor.net/PUB/chess/ignpgn  
#2




Integer Game Notation (IGN)  a way to encode PI game states
An interesting idea, but you'd have to standardize the ordering of the
moves somehow. Also, I wonder if/how repeatable positions could cause problems with this. On Feb 14, 4:32*pm, Will Entriken wrote: Integer Game Notation (IGN)  updated Integer Game Notation is a way to store the state of any perfect information game where players have a variable number of possible moves along the way. This method maps all nodes in the game tree to an integer. The current example applies this to chess and could be useful in opening book or database applications. Here is the algorithm: 1. Let IGN:=0, Product:=1 and the game is in its opening position 2. Let Moves = a list of possible moves from this position 3. IGN += Product * the ordinal of the current move in Moves (one indexed) 4. Product *= the cardinality of Moves 5. Goto 2 ... and to decode 1. IGN is given and the game is in its opening position 2. Let Moves = a list of possible moves from this position 3. If IGN = 0 and the cardinality of moves is greater than 1, then this algorithm ends 4. IGN % the cardinality of Moves is the current move (zero wraps around to the last element of Moves) 5. IGN /= the cardinality of Moves (round down) 6. Goto 2  I have a proof of concept which will convert PNG files to and from an integer. (Only the moves are encoded, no text). More info:http://phor.net/PUB/chess/ign Proof of concept (encoding):http://phor.net/PUB/chess/pgnign Proof of concept (decoding):http://phor.net/PUB/chess/ignpgn  
Reply 
Thread Tools  
Display Modes  


Similar Threads  
Thread  Forum  
New member  rec.games.chess.misc (Chess General)  
rec.games.chess.misc FAQ [2/4]  rec.games.chess.misc (Chess General)  
rec.games.chess.misc FAQ [2/4]  rec.games.chess.misc (Chess General)  
rec.games.chess.misc FAQ [2/4]  rec.games.chess.misc (Chess General)  
rec.games.chess.misc FAQ [2/4]  rec.games.chess.misc (Chess General) 