From cube-lovers-errors@mc.lcs.mit.edu Tue Dec 22 18:44:01 1998 Return-Path: Received: from sun28.aic.nrl.navy.mil (sun28.aic.nrl.navy.mil [132.250.84.38]) by mc.lcs.mit.edu (8.9.1a/8.9.1-mod) with SMTP id SAA04933 for ; Tue, 22 Dec 1998 18:44:00 -0500 (EST) Precedence: bulk Errors-To: cube-lovers-errors@mc.lcs.mit.edu Date: Tue, 22 Dec 1998 18:37:57 -0500 From: michael reid Message-Id: <199812222337.SAA26516@adams.math.brown.edu> To: cube-lovers@ai.mit.edu Subject: Re: Optimal Cube Solver i'm glad that herbert brought up this issue of edge transformations. because now that i think about this again, i realize that my tables can be reduced dramatically. i described my tables: > there's also a lookup table to transform the "sliceedge" coordinate > into another coordinate, which gives the locations of four > distinguishable edges among the eight U and D edges. this coordinate > has 8*7*6*5 = 1680 possibilities, and the lookup table is 11880 shorts. > > the big lookup table is the one that takes two of these last coordinates > and transforms it into a permutation of the eight U and D edges. > this table has 1680 * 1680 shorts = about 5.5 megabytes. most of > the entries are garbage, only 40320 = 8! actually occur, since we've > reached stage 2. since this big table is sparse, we don't need most of it. what i should do is have another table (11880 char's) to transform "sliceedges" into permutations of four edges. the location of the four R-L slice edges determines the location of the four F-B slice edges, so we only need to know how they're permuted. thus the big table can be replaced by one with 1680 * 24 shorts that gives the permutation of the eight U and D edges. it no longer would have error-checking (i.e. making sure we don't get an invalid entry in the big table), but that could be installed with another simple table lookup, if desired. with this new mechanism, only about 543K of tables would be needed, the largest being a lookup table which tells how "sliceedges" transform under face turns. this is much better than the 6 megabytes of tables i'm currently using. i don't know why i didn't think of this earlier! mike