Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Algorithm for storing Mate positions

Author: Les Fernandez

Date: 06:44:48 03/07/05

Go up one level in this thread


On March 07, 2005 at 03:50:54, Tony Werten wrote:

>On March 06, 2005 at 23:32:36, Les Fernandez wrote:
>
>>If I place a restriction that the chess positions involved in my coding scheme
>>are guaranteed to lead to mate for the side to move then I can store a large
>>number of chess positions with an average of very few bits.  In fact never,
>>regardless of what is on the board, will it take more then Approx. 200 bits to
>>store.  What is even more interesting is that entering 1 chess position with a
>>guaranteed mate into my utility I can generate a slew of new mate positions and
>>then store them into my encoding scheme. In fact the output below is from my
>>utility called "Mate Cruncher".  I dont know currently what use it may offer but
>>as you will see it is a good compression.  Perhaps some of you out here may find
>>some use for it and I would be interested in hearing about them.
>>
>>Oh and BTW if you think this is good wait until I finish working on a similar
>>thing that will potentially take 1 position and turn it into approx. 1500 very
>>useful EPD's.  At the moment I prefer not to mention why they will be useful but
>>STAY TUNED.
>>
>>The following continuous 225 bit string stores all the epd strings you see at
>>the bottom.  This works out to an average of 2.6 bits/position.
>
>
>Hmmm, aren't we just playing with numbers here ?

Hi Tony,

I am not trying to play with numbers but merely reporting what this encoding
scheme offers.  What should be emphasized is that I can generate a series of
positions which also are mate positions without needing to do any engine
analysis on them.  The encoding scheme offers a way of storing all those new
positions in a smaller footprint that can be used as a lookup with the hope of
saving time during a game.


>
>Suppose I want to encode all winning KQk positions with KQ side to move. (is
>always a win)
>0 no win, or no KQk with KQ side to move position
>1 won KQk position with KQ side to move
>
>Fast math: about 64*56 kingpositions * 62 queens positions. Divide by 2 for only
>legal positions, multiply by 2 for color mirroring= 222208
>
>1 bit for these positions, so I only need 4.5*10^-6 bits per position.
>
>Tony
>
>
>
>>
>>110110010100101101100101001000111101000100000100100100100111000110010000011
>>011000000011001011101001111100101011010001111000100010100100110100001000101
>>100000000100000110111100001100000110000010000001111000111100011111001000000
>>
>>In the above binary exists all the information you see here (88 epd positions)
>>
>>2kn4/2pr4/pp3Q2/8/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr1Q2/pp6/8/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn1Q2/2pr4/pp6/8/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp4Q1/8/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr3Q/pp6/8/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/6Q1/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/7Q/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3P2Q1/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3P1Q2/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3P4/2P2Q1P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3P4/2P4P/PP3QP1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3P4/2P4P/PP4P1/4RQK1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3PQ3/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3P4/2PQ3P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3P4/2P4P/PPQ3P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/8/3P4/2P4P/PP4P1/1Q2R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/4Q3/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/3Q4/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/2Q5/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/1Q6/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp6/Q7/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>2kn4/2pr4/pp2Q3/8/3P4/2P4P/PP4P1/4R1K1 w - - pv Qf5; ce 32754;
>>4nk2/4rp2/2Q3pp/8/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/2Q1rp2/6pp/8/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>2Q1nk2/4rp2/6pp/8/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/1Q4pp/8/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/Q3rp2/6pp/8/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/1Q6/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/Q7/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/1Q2P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/2Q1P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/4P3/P1Q2P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/4P3/P4P2/1PQ3PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/4P3/P4P2/1P4PP/1KQR4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/3QP3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/4P3/P3QP2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/4P3/P4P2/1P3QPP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/8/4P3/P4P2/1P4PP/1K1R2Q1 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/3Q4/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/4Q3/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/5Q2/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/6Q1/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/6pp/7Q/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4nk2/4rp2/3Q2pp/8/4P3/P4P2/1P4PP/1K1R4 w - - pv Qc5; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/8/PP3q2/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/8/PP6/2PR1q2/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/8/PP6/2PR4/2KN1q2 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/8/PP4q1/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/8/PP6/2PR3q/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/6q1/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/7q/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p2q1/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p1q2/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p2q1p/3p4/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp3qp1/2p4p/3p4/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4rqk1/pp4p1/2p4p/3p4/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3pq3/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2pq3p/3p4/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/ppq3p1/2p4p/3p4/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>1q2r1k1/pp4p1/2p4p/3p4/8/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/4q3/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/3q4/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/2q5/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/1q6/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/q7/PP6/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>4r1k1/pp4p1/2p4p/3p4/8/PP2q3/2PR4/2KN4 b - - pv Qf4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/8/2q3PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/8/6PP/2q1RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/8/6PP/4RP2/2q1NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/8/1q4PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/8/6PP/q3RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/1q6/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/q7/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/1q2p3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/2q1p3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p1q2p2/4p3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1pq3pp/p4p2/4p3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1kqr4/1p4pp/p4p2/4p3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/3qp3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p3qp2/4p3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p3qpp/p4p2/4p3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r2q1/1p4pp/p4p2/4p3/8/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/3q4/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/4q3/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/5q2/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/6q1/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/7q/6PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>1k1r4/1p4pp/p4p2/4p3/8/3q2PP/4RP2/4NK2 b - - pv Qc4; ce 32754;
>>
>>
>>Thanks,
>>
>>Les



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.