Author: Vincent Diepeveen
Date: 11:40:47 08/11/99
Go up one level in this thread
On August 09, 1999 at 13:46:37, José de Jesús García Ruvalcaba wrote: > I finally sat down and make all the computations from scratch and then >rechecked the results. >Number of 5+1 tablebases: 40 >Number of 4+2 tablebases: 200 >Number of 3+3 tablebases: 120 >Total number of six men tablebases: 360 > If there is interest I can explain how I got the results, they are simple >combinatorics problems. >José. Most interesting for me and many chessplayers is the KRPP KR database. We already have all 5 men. For KRPP KR we need next 6 men: type KRQQ KR a KRQR KR a KRQB KR c KRQN KR c KRQP KR b KRRB KR a KRRN KR a KRRP KR d KRBB KR a KRBN KR c KRBP KR b KRNN KR a KRNP KR b KRPP KR e type a: no pawns, and 2 pieces the same ; 6x type b: 1 pawn, all pieces different ; 3x type c: no pawns, all pieces different ; 3x type d: 1 pawn , 2 pieces the same ; 1x type e: 2 pawns ; 1x My simple fast (and regrettably currently still buggy) generator which needs 4096 positions for KK position (but that's very fast then when generating, ask Urban Koistinen for further info about why it can do 64 positions at the same time, and there are even different methods to do it), further can use normal reductions for the other pieces. Of course i use 8 bits a tuple everywhere as that's faster, though 7 bits would be sufficient as we need only (-mate 50..,unknown,empty,illegal,draw...+mate 50). And you go argue: that's not DTM. Indeed it's not, but with DTC we can calculate a bound to the maximum distance to mate, which is preferred above 50 move rule now and then. So 4 pieces left for type c: 10 * 64*64*64 (first piece 8 times mirrored) this makes size of 1 database: 64^5 * 10 = 10.737.418.240 tuples or bytes type a: 10 * 64 * 32*63 ( ===> n/2 * (n-1) for the 2 same pieces which is in a table). So size is 40960 * 64 * 32 * 63 = 5.284.823.040 bytes each 'file' Now real problems start (pawns): type b: 24 (pawn) * 64^3 leads to 25.769.803.776 bytes type d: 24 * 64 * 32 * 63 leads to 12.683.575.296 bytes or tuples type e: 24 * 48 * 64 * 64 gives to 19.327.352.832 (note that PP doesn't get reduced in my prog as i don't take into account reductions for a piece when the first piece must be taken into account, here pawn is put first and mirrored, so reductions are a bit tougher here, and i don't plan to waste time on that!) Ok summarize the total (uncompressed) sizes: First of all we have WTM and BTM, so we need the doubling of next: 6a x 5.284.823.040 = 6x5 gigs = 30 gigs 3b x 25.769.803.776 = 3x25 g = 75 gigs 3c x 10.737.418.240 = 3x10 g = 30 gigs 1d x 12.683.575.296 = 1x12 g = 12 gigs 1e x 19.327.352.832 = 1x19 g = 19 gigs So suppose i just do CALCULATION using my format, and lookup to older EGTB using Nalimov, and after calculation of them i convert the results to nalimov format (creating in fact a new format that has DTC) then i need just for the 1 pawn databases WTM+BTM = 50 gigs and for the bitmaps i need another 4 bitmaps which together are 25 gigs, totalling 70 gigabytes free needed, JUST for calculation. Lookup is done 1 database after each other, so one can delete each looked up database after it's used and copy the next one, the bitmaps don't exist by then, so 75 is definitely sufficient, together with some dozens of DAT tapes. However who has at least 75 gigs free, has dat-streamer that can stream old databases, and then we still didn't talk about me making a converter from my simple format to nalimov EGTB... ...in short my generator is fast. faster than anything i've seen before (but no conversion to nalimov currently). It can do those 6 men very quickly at a fast CPU (PII500 should be more than enough). For harddisk even an older LVD SCSI is already enough, but there is about a gigabyte of RAM needed to do those 6 men with pawns within 2 weeks. The other 6 men are done within a few days each as less internal passes are needed. Someone also has to write a converter for DIEP ==> nalimov cuz i don't want to do it, then 6 men are possible if above conditions are met. 5 men (with one side with pawns, but i don't have en passant in it yet though but that's a plan for the future too) about an hour at a system with a PII-450, 128 mb RAM and a SCSI harddisk (my IDE harddisk plain sucks for it). Longest time (about 20 minutes) is taken by the initialization passes where it looks up things at other databases. Greetings, Vincent
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.