cs0x7f / acube Goto Github PK
View Code? Open in Web Editor NEWThis project forked from josef-jelinek/acube
Rubik's Cube solver for fully and/or partially defined cubes
This project forked from josef-jelinek/acube
Rubik's Cube solver for fully and/or partially defined cubes
ACube 4.0 alpha test version by Josef Jelinek <[email protected]> Forum for the project is located at http://www.speedsolving.com/forum/showthread.php?32153 Changes in v4.0a7 - Added experimental optimal - one phase solver mode Changes in v4.0a6 - Fixed turn pruning bug - Caching a few tables to a local directory added Changes in v4.0a5 - Added new shortcut symbols to cycle notation - Added checking for valid configuration (parity and orientation checks) - Joining phases A and B refined How to use aCube4 (thanks to Stachu Korick) Open it by cd-ing to the file and opening with java -jar acube.jar or whatever teh filename is. You should see a bunch of blah blah text come up. [1] This is to specify the cube's current state in the full positional notation. The notation is identical to what program shows as the curent state. It differs from aCube3 notation in that it does not support "!" shortcuts. It uses @ prefix for ignoring the orientation, ? for unknown position. Combinations are possible ("@?", "@UR", "-?", "+?", ...) 1: UF UL UB UR DF DR DB DL FR FL BR BL URB UFR UBL ULF DRF DFL DLB DBR↵ tperm 1: -? -? -? -? DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR↵ flip top 4 edges, don't care about permutation [2] This defines the cube's current state. () is to define cycle notations. [] is to detail pieces that you don't care about the positions of. [UF UL D*] means "I don't care about the permutation of UF, UL, and any of the bottom edges and corners." Use U* for all top pieces, UF* for all top-front pieces (UFR UF UFL); M, E, S, U, F, ... for all middle edges in the corresponding layers UF? is to say "hey, I don't care about the orientation of this" With this, UF- means "flip this" and UFR+ means twist this clockwise, UFR- for counter-clockwise. 2: (UL UR) (UFR URB)↵ tperm 2: (UL UR) (UFR URB) UF? UB?↵ tperm, not caring about the orientation of UF and UB 2: (UL UR) (UFR URB) [DF DL DR DB]↵ Tperm, not caring about the EP of the d-layer 2: UFR- URB+ UL- UF-↵ twist two corners, flip two edges 2: [UL UR UF UB] UL- UR- UF- UB-↵ flip top 4 edges, don't care about permutation [3] Enter allowed turns. Like, everything is supported as of now. 3: R* U* D*↵ all of the following can be used: R R' R2 D D' D2 U U' U2 3: R U D↵ can be used: R U D. So, no R' or any of that nonsense. You should know that so called wide turns r = R M', f = S F, u = U E' etc. e, s, m are rotations with the same direction as M, E, S, but for the entire cube. [4] Set the metric. I basically just use qtm, stm, or ftm. 4: qtm↵ quarter turn metric [5] Max length. Simply, "I don't want to bother with algs more than this number of moves in the chosen metric" 5: 19↵ Don't use more than 19 moves. No way. [6] Toggling between finding a bunch (hopefully all) of the optimal solutions or just the first optimal solution [7] Toggling between optimal and sub-optimal (two-phase) solver. Optimal solver uses more memory and takes more time to build its tables, but it can get to optimal solutions faster. [9] Once you hit this guy, all of your options should be reset. [ ] This is just ↵ or hitting the enter button. Runs the solver with the parameters specified using other options There are two ways to input parameters for the options a) type the option number, hit enter, type parameters, hit enter, b) type the option number followed by ":" and parameters and hit enter, where the second one is more convenient to keep command history in a console window
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.