• Welcome to SpeedSolving.com — the world’s largest puzzle community!

    You’re currently browsing as a guest, which means you have limited access to discussions, resources, member profiles, and community features.

    Join 50,000+ cubers and puzzle enthusiasts from around the world to ask questions, share solves, improve faster, and be part of the community.

    Registration is free, fast, and easy — create your account today.

    Already a member? Log in here to hide this message and start participating.

ACube4 alpha testers needed!

Hey, thanks for the feedback.
This version is still quite early alpha and I expect you will find more bugs than I can for me to fix it.
The transition between the two phases is not expected to repeat turns of the same side, but there are some problems which I need to fix and I had to relax the limitation of redundant turns between the phases (the implementation actually uses finite automaton to prune the turns that may be already tried to depth 4, which is quite a boost considering standard approach of limiting the same face turning again and fitting it with all these wide, slice, cube turns that the program now supports.. there is just too much ambiguity now in short turn sequences to use anything simpler). It should work ok when the two phases' turn sequences are linked properly.

Regarding programming languages and their efficiency... I really do not much care anymore... C++ would get you nothing in this case, since JVM now optimizes and inlines the main solver functions and loops even better (suited to the exact processor it runs on), but that means nothing, because vast majority of time is spent on accessing the main memory, since used tables are not small and accesses are scattered and not cache-able. I could have implemented that in Lisp (clojure 1.3 for native arrays) and it would be the same speed. Well in Python it would be significantly slower though.

In the last example "F F" is output as the solver uses just the specified turns and does not know about F2 at that moment, but it is just limitation of the output representation in this console UI, which was just done very fast to allow testing before integrating with more sophisticated UI.
 
Hey, it has been a long time since I last posted on here!

So, sorry about the noob python comment there -- I had just started learning the language (5th one) and... I was sorta clueless I guess.

anyway, I was hoping to ask about one functionality that I can't find in the current one. I use to do something like [UD] before the command line to ignore AUFs/ADFs. Does this exist (and I am missing it on the readme), or do you think you could try to add it in in the future versions? I used to use it; it was very helpful

One other thing- I remember seeing a GUI in older 4.x versions. I am completely fine with using it without a GUI, but I was wondering the current status of it (If there is another download I am missing or if the old one is simply deprecated).

Thanks!
 
Hi Josef, all,

I have been using Acube3 for year, and I just discovered your recent rebuilt in Acube4.
I was using it through batches of several scrambles, like
C:\>@java -cp ACube3.jar ACube < "scramble5322.txt" > "result5322.txt"
of course the file scramble5322.txt contains many scrambles, and result5322.txt all the results

Acube4 is working well for one scramble at a time (you known 1: @? @? @? LF DF DR DB DL @? @? BR BL FLD @? @? @? @? @? DLB DBR <enter> => magic result)
but for bunch of scrambles, I tried several things like
C:\>java -jar acube4.0a8.jar < "scramble5322.txt"
and then ouch:
Exception in thread "main" java.lang.NullPointerException
at acube.console.ACube.interactiveConsole(ACube.java:46)
at acube.console.ACube.main(ACube.java:39)

Do you have a method to process in batches ?

Thank you so much in advance,
Stéphane,
 
Back
Top