Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Algorithm for storing Mate positions

Author: Tony Werten

Date: 00:50:54 03/07/05

Go up one level in this thread


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 ?

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.