# ACube4x4 question

#### cmhardw

Hi everyone,

I keep getting a memory heap error on ACube4x4, and I am not much of a computer person. I tried inputting the command line that the readme file says to use to increase the peak memory to 400MB and I get an error saying something about how that argument or command is unknown. I then used the following command:
java -Xms<initial heap size> -Xmx<maximum heap size>

but I didn't know my initial heap size so I ended up using the website's suggested default and used:
java -Xms32 -Xmx400

and all I got was a screen of commands, sort of like a help screen, telling me what a list of various commands do.

The particular line I am entering into ACube4x4 to get the memory heap error is:
603000 ! UB ! ! ! UF !! !! !!

as I am trying to let ACube help me search for nice parity algs for 4x4 BLD.

Thanks for any help in trying to get to where Acube will run this line, or at least I will figure out if it can't be run on my computer. I hope I have detailed at least what I have tried to do so far, from the standpoint of a non-computer savvy person.

Chris

#### Lucas Garron

##### Member
ACube4x4? I was getting ready to start drooling, but I think you mean using ACube for 4x4x4.

I have done it before, but with unsatisfactory results. I wanted to code ksolve to find a better r2 parity (which I suppose is equivalent to what you're trying to find).

Weren't you the person who found the now-standard OLL parity?
I've tried using the Domino idea to find more algs.

I have two issues in setting up ksolve for this (and some other projects), and hopefully Mitchell reads this and explains it to us...
-Defining indistinguishable parts
-Solving only certain parts

As for your problem, I'll try to run your input when I get home (although I have an extra GB of RAM in my laptop ).

#### cmhardw

ACube4x4? I was getting ready to start drooling, but I think you mean using ACube for 4x4x4.
No I actually mean ACube 4x4 :-D If you want a copy it should be on Josef's site, that's where I remember downloading it. If it's not there let me know and I'll send you a copy.

Weren't you the person who found the now-standard OLL parity?
I've tried using the Domino idea to find more algs.
Found in the sense that after a lengthy search off yahoo.com (I don't think google was really mainstream then) I found it on a list of parity algs and it just happened to be the shortest alg.

Chris

#### Lucas Garron

##### Member
I can find ACube 4x4 here, nor have i ever even heard of it or can find it with Google (but I HAVE dreamed of it). So, can you send it to me?

For now:
r' U2 r2 U2 r U2 r U2 l r2 U2 r' U2 r U2 l' U2

I suggest doing r2 l by grabbing the right three layers on F and B, moving r'-ish, then doing r' with only the right two layers, then R2-ing back.

Even number of U2 turns, too.

#### Lucas Garron

##### Member
Since I care so much for it, and dbeyer might appreciate it:
http://garron.us/archive/data/r2_parity.txt
They come in inverse pairs.

Shortest:
r' U2 r2 U2 r U2 r U2 r2 l U2 r' U2 r U2 l' U2 (27q, 17s)
U2 l U2 r' U2 r U2 r2 l' U2 r' U2 r' U2 r2 U2 r (27q, 17s)

The first can move-cancel with r2 for parity.

Okayish ones that can cancel:
r2 U2 r U2 l' U2 l U2 l U2 (r' l) U2 r U2 l' U2 r (27q, 18s)
r' U2 l U2 r' U2 r l' U2 l' U2 l' U2 l U2 r' U2 r2 (27q, 18s)
r' U2 l' U2 r U2 r l2 U2 r' U2 l U2 r2 l' U2 l2 U2 (29q, 18s)

r' U2 r2 U2 r U2 r U2 r2 l U2 r' U2 r U2 l' U2 is looking like the pure alg for this.
U2 r U2 l' U2 l U2 l U2 (r' l) U2 r U2 l' U2 r is a move less than r U2 r2 U2 r U2 r U2 r2 l U2 r' U2 r U2 l' U2, though... :confused:

Okay, we can now get onto ACube 4x4 when I get my copy.

#### cmhardw

Wow I'm really surprised that you can't find ACube4x4 anymore. I'm almost certain I remember just downloading it from Josef's site, unless I am mistaken. If anyone else wants a copy just PM on this forum with your e-mail address and I'll send you a copy.

Chris

#### Lucas Garron

##### Member
Hmm, no matter what I try to input, the "Generating States..." runs out of memory around 112799/200000
The "13779>" varies.

It pauses there for your input, and around there for my input ("442000 UB UB ! ! UF UF !! !! ??"). Making the centers ?? or !! seems to make no difference for this.
Then I noticed that I only had 111MB left on my hard disk, cleared 300MB extra, and that did nothing. And I have 707MB of RAM available for the program...

How did he find his example sequence at all?

EDIT:
Even worse, "400000 UB UB UL UL UF UF UR UR !! UBL UFL UFR URB !! ??" gives:
Generating states...
cut: 213/10800000
Searching duplicities...
cut: 213/10800000
at TurnList4.fill(TurnList4.java:198)
at TurnList4.<init>(TurnList4.java:27)
at AQb4.main(AQb4.java:29)

No wonder Josef took it off his site.

Last edited:

#### cmhardw

Hmm, no matter what I try to input, the "Generating States..." runs out of memory around 112799/200000
The "13779>" varies.
If you search with turn mask 777777, or without inputting any numbers, you usually can get the program to run, but the downside is that the maximum search depth is then only around 12 moves (probably not enough for finding a parity alg).

Chris

#### Lucas Garron

##### Member
If you search with turn mask 777777, or without inputting any numbers, you usually can get the program to run...
Really? I can't get it to work at all. Could you give me some input that worked for you?

#### reThinking the Cube

##### Member
Anybody know what happened with Acube 4x4x4?

reThinker

#### reThinking the Cube

##### Member
Anybody know what happened with Acube 4x4x4?

reThinker
It sorta didn't really work, and still doesn't.

Yeh, I read the thread, and that is why I asked. No need to get testy. I was just checking to see if the status on that had changed.

reThinker

#### Lucas Garron

##### Member
Okay, since I now have access to Stanford servers with dozens of gigabytes of RAM (something like 32GB "total" per machine according to free), I decided to try this again.

A pure dedge flip with no turn restrictions bottomed out at depth 10. If I leave it going for a while, I can probably get to 11 or 12, but finding an actual alg is probably out of reach.

Code:
What should corn10 do in ~/cube/ACube/ACube4? java -cp AQb4.jar AQb4 0,9:53:50pm
AQb4 0.2
by Josef Jelinek 2004

Enter a cube configuration:
UF UF UR UR UB UB UL UL DF DF DR DR DB DB DL DL FR FR FL FL BR BR BL BL  UFR URB UBL ULF DRF DFL DLB  U U U U D D D D F F F F B B B B L L L L R R R R
FU FU !! !!

FU FU !! !!
Error: Insufficient number of edges.
Error: Insufficient number of edges.
Enter a cube configuration:
UF UF UR UR UB UB UL UL DF DF DR DR DB DB DL DL FR FR FL FL BR BR BL BL  UFR URB UBL ULF DRF DFL DLB  U U U U D D D D F F F F B B B B L L L L R R R R
FU FU !! !! !!
Edge:
1  0  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #
Corner:
0  1  2  3  4  5  6
0  1  2  3  4  5  6
#  #  #  #  #  #  #
0  0  0  0  0  0  0
#  #  #  #  #  #  #
Center:
0  0  0  0  1  1  1  1  2  2  2  2  3  3  3  3  4  4  4  4  5  5  5  5
#  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #

FU FU !! !! !!
Allowed turns: Ux Fx Lx ux dx fx bx lx rx Uux Ffx Llx udx fbx lrx UUx FFx LLx
Turn list table: File reading error!
Generating...
Full transformation tables...
corner twist: 729 items per turn.
corner permutation: 5040 items per turn.
U center location: 10626 items per turn.
D center location: 10626 items per turn.
F center location: 10626 items per turn.
B center location: 10626 items per turn.
L center location: 10626 items per turn.
R center location: 10626 items per turn.
UF edge position: 552 items per turn.
UR edge position: 552 items per turn.
UB edge position: 552 items per turn.
UL edge position: 552 items per turn.
DF edge position: 552 items per turn.
DR edge position: 552 items per turn.
DB edge position: 552 items per turn.
DL edge position: 552 items per turn.
FR edge position: 552 items per turn.
FL edge position: 552 items per turn.
BR edge position: 552 items per turn.
BL edge position: 552 items per turn.
Generating states...
cut: 84193/10800000
Searching duplicities...
cut: 1585521/10800000
cut: 3205502/10800000
Optimizing...
equal states: 193735, active states: 6265
equal states: 4851, active states: 1414
equal states: 85, active states: 1329
equal states: 0, active states: 1329
active states: 1329/200000
cut: 25358/71766
Reducing...
Writing to 'tl200000x777777.tab'...
Transformation tables...
corner twist: 729 items per turn.
corner permutation: 5040 items per turn.
U center location: 10626 items per turn.
D center location: 10626 items per turn.
F center location: 10626 items per turn.
B center location: 10626 items per turn.
L center location: 10626 items per turn.
R center location: 10626 items per turn.
UF edge position: 552 items per turn.
UR edge position: 552 items per turn.
UB edge position: 552 items per turn.
UL edge position: 552 items per turn.
DF edge position: 552 items per turn.
DR edge position: 552 items per turn.
DB edge position: 552 items per turn.
DL edge position: 552 items per turn.
FR edge position: 552 items per turn.
FL edge position: 552 items per turn.
BR edge position: 552 items per turn.
BL edge position: 552 items per turn.
adjacent corner permutation: 840 items per turn.
opposite corner permutation: 840 items per turn.
Pruning tables...
corner twist - corner permutation: 1x1=1 -> 3674160 / 11
corner twist - U center location: 1x1=1 -> 7746354 / 8
corner twist - D center location: 1x1=1 -> 7746354 / 8
corner twist - F center location: 1x1=1 -> 7746354 / 8
corner twist - B center location: 1x1=1 -> 7746354 / 8
corner twist - L center location: 1x1=1 -> 7746354 / 8
corner twist - R center location: 1x1=1 -> 7746354 / 8
UF edge - DB edge position: 1x1=1 -> 255024 / 7
UR edge - DL edge position: 1x1=1 -> 255024 / 7
UB edge - DF edge position: 1x1=1 -> 255024 / 7
UL edge - DR edge position: 1x1=1 -> 255024 / 7
FR edge - BL edge position: 1x1=1 -> 255024 / 7
FL edge - BR edge position: 1x1=1 -> 255024 / 7
adjacent corner - UF edge position: 1x1=1 -> 463680 / 7
adjacent corner - UF edge position: 1x1=1 -> 463680 / 7
adjacent corner - UR edge position: 1x1=1 -> 463680 / 7
adjacent corner - UR edge position: 1x1=1 -> 463680 / 7
adjacent corner - UB edge position: 1x1=1 -> 463680 / 7
adjacent corner - UB edge position: 1x1=1 -> 463680 / 7
adjacent corner - UL edge position: 1x1=1 -> 463680 / 7
adjacent corner - UL edge position: 1x1=1 -> 463680 / 7
adjacent corner - DF edge position: 1x1=1 -> 463680 / 7
adjacent corner - DF edge position: 1x1=1 -> 463680 / 7
adjacent corner - DR edge position: 1x1=1 -> 463680 / 7
adjacent corner - DR edge position: 1x1=1 -> 463680 / 8
adjacent corner - DB edge position: 1x1=1 -> 463680 / 7
adjacent corner - DB edge position: 1x1=1 -> 463680 / 8
adjacent corner - DL edge position: 1x1=1 -> 463680 / 7
adjacent corner - DL edge position: 1x1=1 -> 463680 / 7
adjacent corner - FR edge position: 1x1=1 -> 463680 / 7
adjacent corner - FR edge position: 1x1=1 -> 463680 / 7
adjacent corner - FL edge position: 1x1=1 -> 463680 / 7
adjacent corner - FL edge position: 1x1=1 -> 463680 / 7
adjacent corner - BR edge position: 1x1=1 -> 463680 / 7
adjacent corner - BR edge position: 1x1=1 -> 463680 / 8
adjacent corner - BL edge position: 1x1=1 -> 463680 / 7
adjacent corner - BL edge position: 1x1=1 -> 463680 / 7
depth 4...
depth 5...
depth 6...
depth 7...
depth 8...
depth 9...
depth 10...

<2R, U> SiGN / <r, U> WCA - Mitchell Stern was the first to find algs for this, when I once asked him on twistypuzzles.com.
Code:
What should corn20 do in ~/cube/ACube/ACube4? ./j.bash             1,11:42:04pm
AQb4 0.2
by Josef Jelinek 2004

Enter a cube configuration:
UF UF UR UR UB UB UL UL DF DF DR DR DB DB DL DL FR FR FL FL BR BR BL BL  UFR URB UBL ULF DRF DFL DLB  U U U U D D D D F F F F B B B B L L L L R R R R
401000 FU FU !! !! !!
Edge:
1  0  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #
Corner:
0  1  2  3  4  5  6
0  1  2  3  4  5  6
#  #  #  #  #  #  #
0  0  0  0  0  0  0
#  #  #  #  #  #  #
Center:
0  0  0  0  1  1  1  1  2  2  2  2  3  3  3  3  4  4  4  4  5  5  5  5
#  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #

401000 FU FU !! !! !!
Allowed turns: Ux rx
Turn list table: File reading error!
Generating...
Full transformation tables...
corner twist: 729 items per turn.
corner permutation: 5040 items per turn.
U center location: 10626 items per turn.
D center location: 10626 items per turn.
F center location: 10626 items per turn.
B center location: 10626 items per turn.
L center location: 10626 items per turn.
R center location: 10626 items per turn.
UF edge position: 552 items per turn.
UR edge position: 552 items per turn.
UB edge position: 552 items per turn.
UL edge position: 552 items per turn.
DF edge position: 552 items per turn.
DR edge position: 552 items per turn.
DB edge position: 552 items per turn.
DL edge position: 552 items per turn.
FR edge position: 552 items per turn.
FL edge position: 552 items per turn.
BR edge position: 552 items per turn.
BL edge position: 552 items per turn.
Generating states...
cut: 3412927/10800000
Searching duplicities...
cut: 10201535/10800000
cut: 10202234/10800000
Optimizing...
equal states: 133250, active states: 66750
equal states: 44360, active states: 22390
equal states: 14803, active states: 7587
equal states: 4897, active states: 2690
equal states: 1589, active states: 1101
equal states: 485, active states: 616
equal states: 125, active states: 491
equal states: 23, active states: 468
equal states: 2, active states: 466
equal states: 0, active states: 466
active states: 466/200000
cut: 23808/25164
Reducing...
Writing to 'tl200000x401.tab'...
Transformation tables...
corner twist: 729 items per turn.
corner permutation: 5040 items per turn.
U center location: 10626 items per turn.
D center location: 10626 items per turn.
F center location: 10626 items per turn.
B center location: 10626 items per turn.
L center location: 10626 items per turn.
R center location: 10626 items per turn.
UF edge position: 552 items per turn.
UR edge position: 552 items per turn.
UB edge position: 552 items per turn.
UL edge position: 552 items per turn.
DF edge position: 552 items per turn.
DR edge position: 552 items per turn.
DB edge position: 552 items per turn.
DL edge position: 552 items per turn.
FR edge position: 552 items per turn.
FL edge position: 552 items per turn.
BR edge position: 552 items per turn.
BL edge position: 552 items per turn.
adjacent corner permutation: 840 items per turn.
opposite corner permutation: 840 items per turn.
Pruning tables...
corner twist - corner permutation: 1x1=1 -> 4 / 1
corner twist - U center location: 1x1=1 -> 210 / 8
corner twist - D center location: 1x1=1 -> 45 / 5
corner twist - F center location: 1x1=1 -> 45 / 5
corner twist - B center location: 1x1=1 -> 45 / 5
corner twist - L center location: 1x1=1 -> 1 / 0
corner twist - R center location: 1x1=1 -> 1 / 0
UF edge - DB edge position: 1x1=1 -> 720 / 8
UR edge - DL edge position: 1x1=1 -> 90 / 7
UB edge - DF edge position: 1x1=1 -> 720 / 8
UL edge - DR edge position: 1x1=1 -> 90 / 7
FR edge - BL edge position: 1x1=1 -> 1 / 0
FL edge - BR edge position: 1x1=1 -> 1 / 0
adjacent corner - UF edge position: 1x1=1 -> 360 / 8
adjacent corner - UF edge position: 1x1=1 -> 360 / 8
adjacent corner - UR edge position: 1x1=1 -> 360 / 9
adjacent corner - UR edge position: 1x1=1 -> 360 / 9
adjacent corner - UB edge position: 1x1=1 -> 360 / 8
adjacent corner - UB edge position: 1x1=1 -> 360 / 8
adjacent corner - UL edge position: 1x1=1 -> 360 / 9
adjacent corner - UL edge position: 1x1=1 -> 360 / 9
adjacent corner - DF edge position: 1x1=1 -> 40 / 3
adjacent corner - DF edge position: 1x1=1 -> 40 / 3
adjacent corner - DR edge position: 1x1=1 -> 4 / 1
adjacent corner - DR edge position: 1x1=1 -> 4 / 1
adjacent corner - DB edge position: 1x1=1 -> 40 / 3
adjacent corner - DB edge position: 1x1=1 -> 40 / 3
adjacent corner - DL edge position: 1x1=1 -> 4 / 1
adjacent corner - DL edge position: 1x1=1 -> 4 / 1
adjacent corner - FR edge position: 1x1=1 -> 4 / 1
adjacent corner - FR edge position: 1x1=1 -> 4 / 1
adjacent corner - FL edge position: 1x1=1 -> 4 / 1
adjacent corner - FL edge position: 1x1=1 -> 4 / 1
adjacent corner - BR edge position: 1x1=1 -> 4 / 1
adjacent corner - BR edge position: 1x1=1 -> 4 / 1
adjacent corner - BL edge position: 1x1=1 -> 4 / 1
adjacent corner - BL edge position: 1x1=1 -> 4 / 1
depth 5...
depth 6...
depth 7...
depth 8...
depth 9...
depth 10...
depth 11...
depth 12...
depth 13...
depth 14...
depth 15...
depth 16...
depth 17...
depth 18...
depth 19...
depth 20...
depth 21...
depth 22...
U2 r2 U r U' r' U2 r' U2 r2 U2 r' U' r' U' r' U2 r' U2 r U2 r' (22)
U2 r2 U' r U r' U2 r' U2 r2 U2 r' U r' U r' U2 r' U2 r U2 r' (22)
U2 r' U2 r U2 r' U2 r' U r' U r' U2 r2 U2 r' U2 r' U r U' r2 (22)
U2 r' U2 r U2 r' U2 r' U' r' U' r' U2 r2 U2 r' U2 r' U' r U r2 (22)
r U2 r' U2 r U2 r U r U r U2 r2 U2 r U2 r U r' U' r2 U2 (22)
r U2 r' U2 r U2 r U' r U' r U2 r2 U2 r U2 r U' r' U r2 U2 (22)
r2 U r' U' r U2 r U2 r2 U2 r U' r U' r U2 r U2 r' U2 r U2 (22)
r2 U' r' U r U2 r U2 r2 U2 r U r U r U2 r U2 r' U2 r U2 (22)
Done. (8 solutions found)
(66% save - 144800263 of 217694485 entries)

Last edited:

#### reThinking the Cube

##### Member
Okay, since I now have access to Stanford servers with dozens of gigabytes of RAM (something like 32GB "total" per machine according to free), I decided to try this again.
YES! Just being able to compare this with the domino based methods is going to be awesome.

Allowed turns: Ux Fx Lx ux dx fx bx lx rx Uux Ffx Llx udx fbx lrx UUx FFx LLx
Allowed turns: Ux rx
Your probably already in the process of doing it, but something in between for allowed turns would be very interesting. How about setting it up to not do "pure" OLL parity? Acube should be able to find a solution quicker that way, even with more allowable moves. I would love to get an elegant OLL dedge flip for the case - LL unsolved, last F2L slot unsolved (5 dedges &5 corners yet to be solved).

reThinker

#### Lucas Garron

##### Member
Your probably already in the process of doing it, but something in between for allowed turns would be very interesting. How about setting it up to not do "pure" OLL parity? Acube should be able to find a solution quicker that way, even with more allowable moves. I would love to get an elegant OLL dedge flip for the case - LL unsolved, last F2L slot unsolved (5 dedges &5 corners yet to be solved).

reThinker
<U, 2L, L> is currently at depth 22 and not getting any algs. ksolve could probably handle it, though.

Anyhow, keeping together dedges while ignoring their position can't be done by any solvers that I know of.

#### reThinking the Cube

##### Member
Your probably already in the process of doing it, but something in between for allowed turns would be very interesting. How about setting it up to not do "pure" OLL parity? Acube should be able to find a solution quicker that way, even with more allowable moves. I would love to get an elegant OLL dedge flip for the case - LL unsolved, last F2L slot unsolved (5 dedges &5 corners yet to be solved).

reThinker
<U, 2L, L> is currently at depth 22 and not getting any algs. ksolve could probably handle it, though.

Yeh, maybe allowing some B turns (=x'), and a few others would help shorten the solution, and still get something nice.

Anyhow, keeping together dedges while ignoring their position can't be done by any solvers that I know of.

I guess the positions would have to be set up and brute forced. The dbl parity 4-cycle seems more promising than the pure 2-cycle flip. I also wonder about the possibility of a good alg being found using an even-cycle of edges created by switching the orbits of the 2 edge pieces in just one dedge, and then permuting them all to complete an even-cycle of edges. It would take some experimenting to try different setups, but should be revealing.

#### Lucas Garron

##### Member
Yeh, maybe allowing some B turns (=x'), and a few others would help shorten the solution, and still get something nice.

Anyhow, the <U, 2L, L> search returned algs not using L:
U2 l U2 l' U2 l U2 l U l U l U2 l2 U2 l U2 l U l' U' l2 (22)
U2 l U2 l' U2 l U2 l U' l U' l U2 l2 U2 l U2 l U' l' U l2 (22)
U2 l2 U l' U' l U2 l U2 l2 U2 l U' l U' l U2 l U2 l' U2 l (22)
U2 l2 U' l' U l U2 l U2 l2 U2 l U l U l U2 l U2 l' U2 l (22)

I'm not going to try brute-forcing a lot of cases. Unless maybe I can run things remote without staying logged in.

#### reThinking the Cube

##### Member
cmowla;299267 [QUOTE said:
Sooner or later, reThinker, you're going to have to accept my claim. Lucas may have found a 19q, but not with your desire (LL and F2L slot as degrees of freedom).

What am I supposed to be disputing here?

Are you claiming that the pure OLL parity is the shortest possible way to change edge parity?

Are you also claiming that conjugations based on this pure parity alg are going to result in the shortest possible algs for these cases?

If you didn't yet notice on my "Odd parity algorithms (specifically single edge flip)" thread, I now found a 22q pure. (Thus, 21 or less is your restrictions now...and I am not going to post next week that I found a 21q...because I definitely cannot lower it anymore. Thus, 21q should be the upper-bound for the algorithm you wish to find).

Congrats. I would care less about the upper-bound. What I really want, is to find a better alg to change edge parity. It is not any better if it requires setup moves (conjugates) that are combined with an existing "even if it is the best of a worst case 22q" OLL pure parity alg!!!

In my proof on your thread, reThinker, I made the claim that no alg exists that meets your description that is less moves than the briefiest pure alg. Sure you can consider the double parity 4-cycle, but, as for soley OLL parity fix, it's not going to happen (that's really all I was trying to say in my "proof")
.

The 4-cycle dbl parity fixes OLL parity - and THAT is what I was asking for in the thread "WANTED: A New Dedge Flip". I specifically requested algs based on something OTHER than pure parity OLL, so your "proof" was totally off-topic then, and it is totally off-topic now.