• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 35,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

5x5x5, 6x6x6, 7x7x7 or NxNxN solvers

Joined
Jul 13, 2018
Messages
35
Likes
1
P.S. The below was ran prior to the latest additions being ran.
$ git pull
$ python3 setup.py build
$ sudo python3 setup.py install
 
Joined
Jul 13, 2018
Messages
35
Likes
1
Hi dwalton76,
I see you've been very busy upgrading the solver and getting the larger cube sizes down further.

I noticed a few weeks back that some of the solver runs were taking longer than they had previously on my laptop. More recently, I've been getting error messages that seem to start after the program prints out "ida_search is missing". The solver began to abort on as low as a 4x4x4 cube (the 3x3x3 still worked).
I decided to rename my existing solver directory and reinstall from github. I'm still seeing the same problem.

On my Raspberry Pi 3 (which has not had connected to the internet for several weeks and has not received recent updates) can still solve a 4x4x4, but, on the 5x5x5 takes hours to run and does not find a solution.

Below is an example from the 4x4x4.


Do you have any ideas as to what I can do to fix the problem.

Thank You,
SteveCuber

2018-09-08 10:04:23,349 __init__.py INFO: F L D F
2018-09-08 10:04:23,350 __init__.py INFO: D L B D
2018-09-08 10:04:23,350 __init__.py INFO: F B L F
2018-09-08 10:04:23,350 __init__.py INFO: F R R B
2018-09-08 10:04:23,350 __init__.py INFO:
2018-09-08 10:04:23,351 __init__.py INFO: D F L D R U D R D R F R U B F L
2018-09-08 10:04:23,351 __init__.py INFO: B L U B R B F F R U R B L R F L
2018-09-08 10:04:23,351 __init__.py INFO: F R F U B D L U R D U B U R D U
2018-09-08 10:04:23,351 __init__.py INFO: F B D D B L U U B D L U L L R U
2018-09-08 10:04:23,351 __init__.py INFO:
2018-09-08 10:04:23,352 __init__.py INFO: L U F R
2018-09-08 10:04:23,352 __init__.py INFO: R F B L
2018-09-08 10:04:23,352 __init__.py INFO: D D U U
2018-09-08 10:04:23,352 __init__.py INFO: L B D B
2018-09-08 10:04:23,352 __init__.py INFO:
2018-09-08 10:04:23,353 __init__.py INFO:
2018-09-08 10:04:24,143 LookupTable.py INFO: 4x4x4-step31-reduce333-edges.hash-cost-only: end preload cost-only (230,228 bytes delta, 267,836 bytes total)
2018-09-08 10:04:24,387 LookupTable.py INFO: 4x4x4-step32-reduce333-centers: end preload cache dict (8,976 bytes delta, 276,812 bytes total)
2018-09-08 10:04:24,577 LookupTable.py INFO: 4x4x4-step30-reduce333: end preload cache string (101,112 bytes delta, 377,924 bytes total, 103,676,544 characters)
2018-09-08 10:04:24,578 RubiksCube444.py INFO: 4x4x4: Start of Phase1, 0 steps in
2018-09-08 10:04:24,578 LookupTable.py INFO: LookupTableIDA444ULFRBDCentersStage: recolor
2018-09-08 10:04:24,579 LookupTable.py INFO: ida_search is missing...compiling it now
ida_search_555.c: In function ‘ida_heuristic_ULFRBD_centers_555’:
ida_search_555.c:218:42: warning: ‘__builtin___sprintf_chk’ may write a terminating nul past the end of the destination [-Wformat-overflow=]
sprintf(UL_centers_state_str , "%09lx", UL_centers_state);
^
In file included from /usr/include/stdio.h:862:0,
from ida_search_555.c:3:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 10 and 17 bytes into a destination of size 16
return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ida_search_555.c:235:42: warning: ‘__builtin___sprintf_chk’ may write a terminating nul past the end of the destination [-Wformat-overflow=]
sprintf(UF_centers_state_str , "%09lx", UF_centers_state);
^
In file included from /usr/include/stdio.h:862:0,
from ida_search_555.c:3:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 10 and 17 bytes into a destination of size 16
return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ida_search_555.c:252:42: warning: ‘__builtin___sprintf_chk’ may write a terminating nul past the end of the destination [-Wformat-overflow=]
sprintf(LF_centers_state_str , "%09lx", LF_centers_state);
^
In file included from /usr/include/stdio.h:862:0,
from ida_search_555.c:3:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 10 and 17 bytes into a destination of size 16
return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/ccdFnIK7.o: In function `ida_heuristic':
ida_search.c:(.text+0xc7b): undefined reference to `ida_heuristic_step60_777'
ida_search.c:(.text+0xccb): undefined reference to `ida_heuristic_centers_444'
ida_search.c:(.text+0xd34): undefined reference to `ida_heuristic_UD_oblique_edges_stage_666'
ida_search.c:(.text+0xd59): undefined reference to `ida_heuristic_LR_inner_x_centers_and_oblique_edges_stage_666'
ida_search.c:(.text+0xd6c): undefined reference to `ida_heuristic_UD_oblique_edges_stage_777'
ida_search.c:(.text+0xd7c): undefined reference to `ida_heuristic_LR_oblique_edges_stage_777'
ida_search.c:(.text+0xda1): undefined reference to `ida_heuristic_step40_777'
ida_search.c:(.text+0xdc9): undefined reference to `ida_heuristic_step50_777'
/tmp/ccdFnIK7.o: In function `ida_search':
ida_search.c:(.text+0x17b7): undefined reference to `ida_heuristic_step60_777'
ida_search.c:(.text+0x1a27): undefined reference to `ida_heuristic_centers_444'
ida_search.c:(.text+0x1aa0): undefined reference to `ida_heuristic_UD_oblique_edges_stage_666'
ida_search.c:(.text+0x1acd): undefined reference to `ida_heuristic_LR_inner_x_centers_and_oblique_edges_stage_666'
ida_search.c:(.text+0x1ae8): undefined reference to `ida_heuristic_UD_oblique_edges_stage_777'
ida_search.c:(.text+0x1b00): undefined reference to `ida_heuristic_LR_oblique_edges_stage_777'
ida_search.c:(.text+0x1b2d): undefined reference to `ida_heuristic_step40_777'
ida_search.c:(.text+0x1b5d): undefined reference to `ida_heuristic_step50_777'
/tmp/ccdFnIK7.o: In function `ida_solve':
ida_search.c:(.text+0x2169): undefined reference to `ida_heuristic_step60_777'
ida_search.c:(.text+0x224f): undefined reference to `ida_heuristic_step50_777'
ida_search.c:(.text+0x2287): undefined reference to `ida_heuristic_step40_777'
ida_search.c:(.text+0x22a2): undefined reference to `ida_heuristic_LR_oblique_edges_stage_777'
ida_search.c:(.text+0x22c2): undefined reference to `ida_heuristic_UD_oblique_edges_stage_777'
ida_search.c:(.text+0x22f7): undefined reference to `ida_heuristic_LR_inner_x_centers_and_oblique_edges_stage_666'
ida_search.c:(.text+0x2312): undefined reference to `ida_heuristic_UD_oblique_edges_stage_666'
ida_search.c:(.text+0x23c1): undefined reference to `ida_heuristic_centers_444'
/tmp/ccdFnIK7.o: In function `ida_search_complete':
ida_search.c:(.text+0x1015): undefined reference to `ida_search_complete_UD_oblique_edges_stage_666'
ida_search.c:(.text+0x1025): undefined reference to `ida_search_complete_LR_inner_x_centers_and_oblique_edges_stage'
ida_search.c:(.text+0x1035): undefined reference to `ida_search_complete_UD_oblique_edges_stage_777'
ida_search.c:(.text+0x1045): undefined reference to `ida_search_complete_LR_oblique_edges_stage_777'
ida_search.c:(.text+0x1055): undefined reference to `ida_search_complete_step40_777'
ida_search.c:(.text+0x1065): undefined reference to `ida_search_complete_step50_777'
ida_search.c:(.text+0x1075): undefined reference to `ida_search_complete_centers_444'
ida_search.c:(.text+0x1085): undefined reference to `ida_search_complete_step60_777'
/tmp/ccoD7PC6.o: In function `ida_heuristic_ULFRBD_centers_555':
ida_search_555.c:(.text+0x3b1): undefined reference to `XXH32'
ida_search_555.c:(.text+0x46b): undefined reference to `XXH32'
ida_search_555.c:(.text+0x52e): undefined reference to `XXH32'
collect2: error: ld returned 1 exit status
Traceback (most recent call last):
File "./usr/bin/rubiks-cube-solver.py", line 301, in <module>
cube.solve()
File "/usr/local/lib/python3.6/dist-packages/rubikscubennnsolver/__init__.py", line 3935, in solve
self.group_centers_guts()
File "/usr/local/lib/python3.6/dist-packages/rubikscubennnsolver/RubiksCube444.py", line 1119, in group_centers_guts
self.lt_ULFRBD_centers_stage.solve()
File "/usr/local/lib/python3.6/dist-packages/rubikscubennnsolver/LookupTable.py", line 1252, in solve
subprocess.check_output("gcc -O3 -o ida_search ida_search_core.c ida_search.c rotate_xxx.c ida_search_555.c -lm".split())
File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['gcc', '-O3', '-o', 'ida_search', 'ida_search_core.c', 'ida_search.c', 'rotate_xxx.c', 'ida_search_555.c', '-lm']' returned non-zero exit status 1.
 
Joined
Jul 13, 2018
Messages
35
Likes
1
Hi dwalton76,
One more thing. I thought that I may have caused problems on both my laptop and Raspberry Pi 3, so I made a microSD with a fresh Raspbian Stretch install and downloaded the 3x3x3 and the NxNxN-solver per github.
A 4x4x4 case was ran with and without the --min-memory options were ran. There did not run to completion. Attached are the files.
SteveCuber
 

Attachments

Joined
Jan 2, 2017
Messages
65
Likes
44
YouTube
dwalton76
Thread starter #104
Apologies for being slow to respond...was out of town then had some hurricane fun. Can you try the following and let me know if it fixes the failures?


Code:
$ git pull
$ make clean
$ make all
 
Joined
Jul 13, 2018
Messages
35
Likes
1
Apologies for being slow to respond...was out of town then had some hurricane fun. Can you try the following and let me know if it fixes the failures?


Code:
$ git pull
$ make clean
$ make all
Hope you came out of the hurricane OK.

Thanks again for your efforts as well as the effort to put the code together in the first place!
I did the three lines above and ran 4x4x4, 5x5x5, 6x6x6 and 7x7x7. Only the 4x4x4 case gave a solution. Attached are the files.

I'm happy to run ideas that you have. If you are short on time let me know and I can reinstall Ubuntu and try again. Not much of a problem as my laptop had Ubuntu installed recently. There is not much installed beyond the NxNxN solver. Either way is fine with me.
 

Attachments

Joined
Jan 2, 2017
Messages
65
Likes
44
YouTube
dwalton76
Thread starter #106
Can you run this and send me the output:
Code:
./ida_search --kociemba .DBL.FxxxFFxxxDFxxxD.DUF..BRL.FLLLBDLLFLUFFLB.BRF..LFR.RLFLRLFFFBBLFFL.FBL..ULU.RxxxUBxxxULxxxU.URB..LDD.FFLFULFLLURFLFL.BUD..DRB.RLFLDDLFLFRFLFD.UFR. --type 5x5x5-LR-centers-stage
 
Joined
Jan 2, 2017
Messages
65
Likes
44
YouTube
dwalton76
Thread starter #111
What do you get for:
Code:
./ida_search --kociemba DLFFRRLFDUUDULRDUUDUDBDUUDUDBDUUDUFFDUUDUURBFRBFFUBLBBDBFLLLLLUDRRRRRFRRRRRRDRLLLLLBULLLLLUBLUUDRRDDUFLURBFBBFFLBFFBBBLFFBFFFBDBBFFFDBFBBBFFDDUDRRLRFLFFDULUDDUDBLUDDUDRDUDDUDLDUDDUDRFUDDUDUFFUUBDBLDFLDLFRRRRRRUULLLLLLULLLLLLURRRRRLRRRRRRDURFRUUBDDUULBFRBFFBBBDBFFBFFLFBBBBBRFBFFFBLBBBFBBULRRBRL --type 7x7x7-step60
 
Joined
Jul 13, 2018
Messages
35
Likes
1
What do you get for:
Code:
./ida_search --kociemba DLFFRRLFDUUDULRDUUDUDBDUUDUDBDUUDUFFDUUDUURBFRBFFUBLBBDBFLLLLLUDRRRRRFRRRRRRDRLLLLLBULLLLLUBLUUDRRDDUFLURBFBBFFLBFFBBBLFFBFFFBDBBFFFDBFBBBFFDDUDRRLRFLFFDULUDDUDBLUDDUDRDUDDUDLDUDDUDRFUDDUDUFFUUBDBLDFLDLFRRRRRRUULLLLLLULLLLLLURRRRRLRRRRRRDURFRUUBDDUULBFRBFFBBBDBFFBFFLFBBBBBRFBFFFBLBBBFBBULRRBRL --type 7x7x7-step60
Attached is file when the above was ran.

Also, have ran five cases of 3x3x3, 4x4x4, 5x5x5, and 6x6x6. They all were solved. Five of five cases for the 7x7x7 were unsolved. One of one case of 8x8x8 ran and was unsolved. Files for unsolved cases attached.
 

Attachments

Joined
Jul 13, 2018
Messages
35
Likes
1
Thanks for the quick reply.

Nothing but good news this time. All five cases of 7x7x7 are passing. All five cases of 8x8x8 are passing. Two of two 9x9x9 cases passing. Will be doing more testing later today.
 
Joined
Jul 13, 2018
Messages
35
Likes
1
Thanks for the quick reply.

Nothing but good news this time. All five cases of 7x7x7 are passing. All five cases of 8x8x8 are passing. Two of two 9x9x9 cases passing. Will be doing more testing later today.
dwalton76,

Planned testing is completed. Five cases of 7x7x7, 8x8x8, 9x9x9, 10x10x10, and 11x11x11 were done. All cases were solved.
Thanks for resolving this problem.
 
Joined
Jan 2, 2017
Messages
65
Likes
44
YouTube
dwalton76
Thread starter #116
FYI I have installed my solver on a pi3 and will use that for testing in the future. 4x4x4 takes ~10s, 5x5x5 takes ~180s, 6x6x6 and larger run out of RAM and do not produce a solution. Am going to work on making this run faster on pi3 but the solutions will be a little longer than "--normal" mode.
 
Joined
Jul 13, 2018
Messages
35
Likes
1
FYI I have installed my solver on a pi3 and will use that for testing in the future. 4x4x4 takes ~10s, 5x5x5 takes ~180s, 6x6x6 and larger run out of RAM and do not produce a solution. Am going to work on making this run faster on pi3 but the solutions will be a little longer than "--normal" mode.
Thanks! I look forward to seeing it.
 
Joined
Jul 13, 2018
Messages
35
Likes
1
Hi dwalton76,
I had previously made a cube tracker to determine cube color values for a 3x3x3. Decided to update my code instead of using the rubiks-cube-tracker.py code you have. I was thinking that as long as the output file that goes into the solver is the same format, then there should not be a problem. I have typed into the files the values of each of the six faces. My tracker code takes one file from each of the six faces and simply combines them. For the moment I'm cutting and pasting the result into the command line after "reset; ./usr/bin/rubiks-cube-solver.py --state" and pressing return. My hope was that this would validate the approach.
It hasn't turn out exactly that way. For the test case I created files for a cube that has had only two turns. The 5x5x5 case solved as expected. When I ran the attached "11x11x11InputToSolver" case the program did not run to completion. The cube was as expected when it was displayed early in the solve process. It ran until only edge and corner cubes were unsolved and gave a message ending with "raise Exception("L4E group but where?") Exception: L4E group but where?".
Can you see anything wrong with my "11x11x11InputToSolver" file? Would you be able to tell me if it runs on your system? Any help would be appreciated.
 

Attachments

Joined
Jun 10, 2018
Messages
150
Likes
145
Location
South Africa
WCA
2017SWAR03
I'm sorry that this is totally unrelated to the conversation, but I just spent a quarter of an hour or so reading through some messages on this thread and this is so fascinating. I know very little of what any of you say but I wish I did, are you programmers or coders? Or is coding a hobby?
 
Top