Git Product home page Git Product logo

Comments (4)

jm493 avatar jm493 commented on May 30, 2024

PS. Adding an extra twist: R1 U1 F1 L1
= BUUBUULLDFBBFRRFRRUFRUFRLDRFRUFDBDDBLLFLLFBDDLLDUBDUBR
-> Cube solution: 4 moves L3 F3 U3 R3
Solves optimally.

from rubikscube-twophasesolver.

AndreaFavero71 avatar AndreaFavero71 commented on May 30, 2024

@jm493, by manually applying F3 U1 D2 R2 L2 U2 D2 R1 L2 to a cube scrambled R1 U1 F1 the cube gets correctly solved.
Thanks to your note I have found a semantic error in the optim_moves2 function of the Cubotino autonomous robot, that was preventing the robot from correctly solving the cube. I have just released the correction.
I cannot comment on the RubikTwoPhase returning less moves when running on a Raspberry Pi Zero2 compared to a Mac, by providing the same timeout.

from rubikscube-twophasesolver.

jm493 avatar jm493 commented on May 30, 2024

@AndreaFavero71 Thanks. I see now.
Re-orientate the cube from its post-scan position back to its starting position before applying the moves.

I have installed your latest code, and it generated the same 9-move solution, which the robot applied to correctly solve the cube.
So, the "not solution" part of this issue is solved, we still have the 9-move / 10-move suboptimal answer issue.

from rubikscube-twophasesolver.

hkociemba avatar hkociemba commented on May 30, 2024

sv.solve(cubestring,19,2) has no issue at all.
In the documentation you can read:

This solves the cube described by the definition string with a desired maximum length of 19 moves and a timeout of 2 seconds. If the timeout is reached, the shortest solution computed so far is returned even if it is longer than the desired maximum length.

So your desired maximum length is 19 and the returned solution with 10 moves is within this specification. If a solution with <=19 moves is found this is returned immediately no matter if there are any shorter solutions which might be found within your 2 s timelimit. So you should use sv.solve(cubestring,0,2) or even sv.solve(cubestring,0,0.1) for example and the 3 move solution is returned.

from rubikscube-twophasesolver.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.