From cube-lovers-errors@mc.lcs.mit.edu Mon Dec 21 14:00:52 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 OAA01463 for ; Mon, 21 Dec 1998 14:00:52 -0500 (EST) Precedence: bulk Errors-To: cube-lovers-errors@mc.lcs.mit.edu Message-Id: <367BDD1D.DE6@hrz1.hrz.tu-darmstadt.de> Date: Sat, 19 Dec 1998 18:06:37 +0100 From: Herbert Kociemba Reply-To: kociemba@hrz1.hrz.tu-darmstadt.de To: cube-lovers@ai.mit.edu Cc: michael reid Subject: Re: Optimal Cube Solver References: <199812180306.WAA21451@cauchy.math.brown.edu> michael reid wrote: > herbert, you might be interested in what my sub-optimal program > (the one based on your two-stage algorithm) does about edge > permutations. i have this extra coordinate i call "sliceedge", > (really this is just another coset space) which considers the > locations of four distinguishable edges. there are 12*11*10*9 = 11880 > possibilities for this coordinate. when the cube is entered, it > calculates the corresponding coordinate for edges in the U-D slice, > also for edges in the F-B slice, and also for the R-L slice. > then i have lookup tables to tell me how this coordinate transforms > under turns. this lookup table is 18 * 11880 shorts = 427680 bytes. > > when stage 2 is reached, i have a lookup table that maps this > coordinate into permutations of the four U-D slice edges. actually, > only 24 of the entries are valid, but only these occur, since we've > reached stage 2. this lookup table is 11880 chars. I already made some experience with the "sliceedge"-coordinate before. I built it in the way: 24*position of the 4 edges + permutation of the 4 edges, where the position range is from 0 to 494 and permutation ranges from 0 to 23. In this way when reaching stage 2, the "sliceedge"-coordinate automatically is in the range from 0 to 23 and you need no lookup table at all. > 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. This seems an interesting approach. Using the edge-permutation-coordinate in the way I described it before, I need about 20MB for the lookup-table which tells the coordinate-tranformation under turns, which is quite a lot. Maybe I also try your method. Herbert