Lookup table: Difference between revisions

From Polymath Wiki
Jump to navigationJump to search
New page: A 113 MB lookup table (643KB when compressed) was created. The purpose of the table is, given a forbidden set <math>A \subset [3]^3</math>, to compute all the possible statistics (a,b,c,d...
 
No edit summary
Line 22: Line 22:
For each forbidden set A, and each such value of a,c,d, I recorded the largest b-value such that (a,b,c,d) is a feasible statistic of a Moser set avoiding A (or -1, if no such b-value exists), for a total size of 144 * 2^{14} * 49 = 110 MB.  (Presumably the extra 3MB in my file are for file management purposes.)
For each forbidden set A, and each such value of a,c,d, I recorded the largest b-value such that (a,b,c,d) is a feasible statistic of a Moser set avoiding A (or -1, if no such b-value exists), for a total size of 144 * 2^{14} * 49 = 110 MB.  (Presumably the extra 3MB in my file are for file management purposes.)


The C code to generate table is [lookup table C code|here].
The C code to generate table is [[lookup table C code|here]].  The file took about 10 minutes to generate.

Revision as of 08:58, 8 June 2009

A 113 MB lookup table (643KB when compressed) was created. The purpose of the table is, given a forbidden set [math]\displaystyle{ A \subset [3]^3 }[/math], to compute all the possible statistics (a,b,c,d) of Moser sets that avoid A.

To reduce the size of this table, the following reductions were employed:

  • One can assume that the forbidden set A does not contain the centre 222. This is because the only effect of adding in the centre is to send d to zero in the list of statistics. This reduces the number of forbidden sets from 2^27 to 2^26.
  • In principle, one can use the 48 symmetries of the cube to reduce 2^26 to 2^26/48 ~ 1,400,000. In practice, we will use 144*2^14 ~ 2,400,000 instead, to facilitate lookup. The way this worked was that I split the forbidden set into a 12-bit string (representing the b's) and a 14-bit string (representing the a's and c's). The b-string was then mapped to the reflection of itself (among all 48 reflections) which had the smallest b-value; of the 4096 b-strings, there are 144 minimal such b-strings. So the total number of forbidden sets is 144 * 2^{14}.
  • The (1,b,c,d) statistics can be recovered from the (0,b,c,d) statistics, because as long as A does not forbid all the a's, one can always add one a-point "for free" (it cannot create a line). So we can assume a is not 1.
  • For each (a,c,d), one only needs to record the largest b which is feasible (a number between 0 and 12, or -1 if no such b exists). From the preceding discussion we can ignore the case a=1. The cases (a,c,d) = (0,0,0) or (8,0,0) are also degenerate and can be deleted. Given the statistics for 3D Moser sets, this leaves 49 choices for (a,c,d), which I ordered as
(2,0,0) (3,0,0) (4,0,0) (5,0,0) (6,0,0) (7,0,0)
(0,1,0) (2,1,0) (3,1,0) (4,1,0) (5,1,0) (6,1,0)
(0,2,0) (2,2,0) (3,2,0) (4,2,0) (5,2,0) (6,2,0)
(0,3,0) (2,3,0) (3,3,0) (4,3,0) (5,3,0) 
(0,4,0) (2,4,0) (3,4,0) (4,4,0) 
(0,5,0) (2,5,0) (3,5,0) (4,5,0) 
(0,6,0) (2,6,0) 
(0,0,1) (2,0,1) (3,0,1) (4,0,1) 
(0,1,1) (2,1,1) (3,1,1) (4,1,1) 
(0,2,1) (2,2,1) (3,2,1) (4,2,1) 
(0,3,1) (2,3,1) (3,3,1) (4,3,1) 

For each forbidden set A, and each such value of a,c,d, I recorded the largest b-value such that (a,b,c,d) is a feasible statistic of a Moser set avoiding A (or -1, if no such b-value exists), for a total size of 144 * 2^{14} * 49 = 110 MB. (Presumably the extra 3MB in my file are for file management purposes.)

The C code to generate table is here. The file took about 10 minutes to generate.