HARCS (JARCS Replacement) - Cube Solver

Can you post pllalgs.txt that you used in the algsearch?

Code:
step oll
movegroup 1
prunedepth 1
searchdepth 1
epmask 0x0000ffffffff
eomask 0xffffffffffff
cpmask 0x0000ffff
comask 0xffffffff
cnmask 0xfff

step pll
movegroup 4
prunedepth 9
searchdepth 9
epmask 0xffffffffffff
eomask 0xffffffffffff
cpmask 0xffffffff
comask 0xffffffff
cnmask 0xfff

algsearch oll pll --NO-ISO
 
Is it possible to specify half turns in a custom method? I want to test a method for move count, but it involves passing through Thistlethwaite's G2, which is {L2, R2, F2, B2, U, D} as a generator.
 
I have made 2 quick changes. Click here to download v0.9d. A bug related to "algsearch" has been fixed (problem with edge orientations). Algorithms with unsolved centers still won't compute. Support for half-turn moves is implemented. Use should be obvious, or check the README.

Here is an input file for one of my old methods that demonstrates both changes.

Type:
Code:
 load portico apply F L2 U2 L2 B L2 R2 U2 B R2 B2 U' B D' U2 R2 U' B L'  # all view
( [ALT+SPACE]+E+P to paste into Windows command prompt )

You will see left and right block solutions that include F2 moves, because the input file contains: "movegroup <URLF2>"

Type:
Code:
 algsearch 1

It will generate and solve the 17 EP5 algorithms (16+solved) without a hitch. This wouldn't have worked on the previous version.

This input file won't work for most COLLs because it uses CMLL.txt as an alg source for convenience.

Is it possible to specify half turns in a custom method? I want to test a method for move count, but it involves passing through Thistlethwaite's G2, which is {L2, R2, F2, B2, U, D} as a generator.

Now it does.
 
You could also go a step further and allow the ability to have a move set that only does quarter turns with something like <M1U> where M can only be a quarter turn.

Furthermore, you could also go another step further and allow a move set that restricts it to just prime moves or just forward moves.

For example, you could make it so that something like <M'U> will restrict M to only be prime (as well as any U move), and maybe something like a double prime symbol OR a quotation mark for restricting it to only forward quarter turn moves like <M''U> or <M"U> so that M can only be a forward quarter turn (Allowing both '' and " as valid syntax options for forward moves would be neat)
 
For some reason whenever I go for xcross it does not give me the right movements, I thought maybe I scrambled it wrong or whatever, but when I go for the cross it gives me the right movements. I am using the latest version
 
<New version 0.9e> Fixed a bug for Mr. Taylor & Co. that was causing some problems generating algorithms.

Code:
step F2L-1
movegroup 8
prunedepth 1
searchdepth 1
epmask 0x0000ff0fffff
eomask 0x0000ff0fffff
cpmask 0x0000ff0f
comask 0x0000ff0f
cnmask 0xfff

step L5C
movegroup <rUD>
prunedepth 10
searchdepth 8
epmask 0x0000ff0fffff
eomask 0x0000ff0fffff
cpmask 0xffffffff
comask 0xffffffff
cnmask 0xfff

algsearch F2L-1 L5C --NO-ISO

Note the way I revised the input file. When analyzing methods and generating algorithms it's best to maximize your "prunedepth" (based on your RAM) so your CPU doesn't have to search as deep per state. 3 GB RAM for ~60 second analysis versus 1GB RAM for ~4 min analysis. Also isomorphs are removed.

tay.png


You could also go a step further and allow the ability to have a move set that only does quarter turns with something like <M1U> where M can only be a quarter turn.

Furthermore, you could also go another step further and allow a move set that restricts it to just prime moves or just forward moves.

For example, you could make it so that something like <M'U> will restrict M to only be prime (as well as any U move), and maybe something like a double prime symbol OR a quotation mark for restricting it to only forward quarter turn moves like <M''U> or <M"U> so that M can only be a forward quarter turn (Allowing both '' and " as valid syntax options for forward moves would be neat)

I can't imagine a use case for this but okay. Maybe for OH or feet algs.

*1 for quarter turns clockwise, *2 for half turns, *3 for quarter turns anticlockwise.

quarter.PNG



For some reason whenever I go for xcross it does not give me the right movements, I thought maybe I scrambled it wrong or whatever, but when I go for the cross it gives me the right movements. I am using the latest version

It seems to work for me. Are you doing these commands?

xcrosstest.PNG


"cfop" loads cfop
"apply * #" applies a certain scramble. # ends the scramble
"xcross" provides some xcross solutions
"1" and "view" are optional, they just apply the first solution and view the cube

To try a new scramble, type "revert" and then apply your next scramble, as before. Maybe the commands evolved since I posted that old tutorial video, all the years ago. Maybe that's what threw it off for you.
 
I am trying to learn how HARCS works.

I use revert, apply -scramble here- #, and then any number of commands. eoline, all, etc. Even switching to cfop yields the same results

Seems to work for me. Is that 64-bit windows?

Code:
 zz apply L2 F2 R2 U F2 D' F2 R2 D B R' U' B F2 D R2 B U2 # eoline 1

1549895257028.png
 
Okay. So I have an idea for some software, and I’m wondering if this software can do it. So I’m the midst of solving a cube, you put the state of the cube in the software, that you tell it that you want to move piece A to where piece B is, then you tell it the pieces that cannot get messed up (the solved peices). Then the cube tells you if what you want is possible, and if it is it gives you the algorithm to solve it.
 
Long time lurker here, just wanted to show some appreciation for this software! Thanks for the effort you've put in. I find it to be an awesome companion to learning to blockbuild with Petrus. It's like having @Tao Yu 's blockbuilding tricks pdf but with an unlimited number of examples. Or it's like having an optimal walkthrough generator. Good walkthroughs are few and far between for such an unpopular method as Petrus.

My current use-case:
  • get a scramble
  • go through all possible 2x2x2 (exploring the low movecount ones, with DCN turned on)
  • decide on an orientation for 3x2x2 based on previous step
  • learn the rest of the solution (pick up on ergonomic tricks and full f2l after EO)
  • lather, rinse, repeat
I'm still a noob, so going for full 3x2x2 is a bit counter productive at the moment which appears to be the default for the ALL command.

Using this approach you can circumvent a lot of the learning issues with Petrus (difficulty to have good block building intution when you're a noob). Thanks @mDiPalma .
 
I'm still a noob, so going for full 3x2x2 is a bit counter productive at the moment which appears to be the default for the ALL command.

I'm glad you like it. Here's an input file you can use for 'all' to work the way you want. Keep in mind HARCS picks an arbitrary (first?) orientation if you don't select a SINGLE one.
 

Attachments

Hey, do you know if this only works on windows, or can I use an emulator to get it on a mac? I have the most recent macintosh

Some people have told me it works in WINE, while others have insisted it doesn't. It's worth a try. If not, and you have some programming experience (or are willing to learn), you can compile from the source included in the zip file.
 
Back
Top