• 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.

Prisma Puzzle Timer

I'm planning to revamp the tips system. Your suggestion is now in my to do list.

Now my request: can you describe how your square-1 solver works? How the search tree is pruned? How much memory does it consume? How long is the preprocessing? What is the average time for a single solution?
Ugh, how come you remember? It's ages ago when I posted and worked on it.

The basic concept was using parity to get rid of the incorrect solution paths, which are partly fetched before the actual bidirectional bfs search.
Transition and pruning tables are merged into 3 distinct tables (separation and parity, permutation, shape). I use some weird heap structure for them (inserting O(1), fetching the smallest paths O(log n). Having them base-encoded (minimally) and zipped, they use about 1.1 GB HDD space.
Because fetching the smallest path requires removing (O(log n)) nodes, the memory usage increases due to duplicate temporary tables up to around 3GB RAM.
Preprocessing these tables took at least 6 hours (did it during night and was somewhere at the highest depth when I woke up), I don't know the exact time though.
[edit] Oh, and it takes around 15 seconds each solution.

If you're interested and manage to get my old machine running I can send you the (.NET) sources. It's all embedded in a big web service application though, but I'm sure you have no problem with that.
 
Last edited:
FINALLY! A timer for the cube that has spacebar as a hotkey! I finally have a proper personal record! other timers give me an extra second or two just because I need to click the mouse! My personal record is 53.37 seconds!
Maybe you should try actual timers sometime? All of the popular ones use the spacebar, and have plenty of other features to make them easy to use too. Sometimes it seems like the noobs always go for the worst timers they can find, and then don't have any clue that better ones might exist.
 
When I exit the program after a session, the times gets saved at my desktop. How do i fix this, so that the time never gets saved, or another place?
 
When I exit the program after a session, the times gets saved at my desktop. How do i fix this, so that the time never gets saved, or another place?

This can't be changed, it's just designed that way. If you really don't want to see any of your previous results then just delete the database file before starting the program.

That database file will as of now be saved in the directory where the program are, but as configuration are stored in the database then I can't see how this could be changed.
 
This can't be changed, it's just designed that way. If you really don't want to see any of your previous results then just delete the database file before starting the program.

That database file will as of now be saved in the directory where the program are, but as configuration are stored in the database then I can't see how this could be changed.

What i did to solve that problem was save it some where else and create a shortcut on the desktop.
 
Some more comments:


1)
If you didn't see the pads go fuzzy, it can be unclear from a glance whether the timer is ready. I tried replacing the pressed images with the following. It works quite well, though it's not as pretty as a consistent yellow. (I also tried giving the circles colored rims.)
leftPressed.png
leftPressed.png



2)
I use a Mac, and it would be nice to have an application icon and a dock icon when the application is running, so it's distinguishable from other Java programs. I'm tentatively using the following image for the file (so I know I'm launching the right one), but I haven't tried to get the dock to work. I did find com.apple.eawt.Application.setDockIconImage(java.awt.Image), though.
puzzletimer_cube.png



3)
Imported scrambles don't support moves like U2'.


4)
I think I have a good explanation of what is important for me about sessions. A session is when I sit down to do a few solves that belong to each other (for the purposes of statistics). It is simply the set of most recent solves beginning with a certain one. I don't care too much about past sessions right now.

- I don't care if my solves are just put into a long list in a database, but:
- It should be clear which statistics apply to my current session, and which ones, if any, overlap from the past. (You seem to show XX:XX.XX for N/A, so that's fine.)
- Ideally, I should be able to start a new session at any time, and there should be an option to resume the latest session on program restart (your program is stable, but programs get quit and computers fail for various reasons).
- For long-term statistics, I should be able to edit or delete past times that don't belong. (If I do a few spacebar taps to get scrambles and then close the program, it seems those times are permanently stored?)

Ooooh, Lucas! How do you replace the pressed images?

Anyone?
 
Ugh, how come you remember? It's ages ago when I posted and worked on it.

The basic concept was using parity to get rid of the incorrect solution paths, which are partly fetched before the actual bidirectional bfs search.
Transition and pruning tables are merged into 3 distinct tables (separation and parity, permutation, shape). I use some weird heap structure for them (inserting O(1), fetching the smallest paths O(log n). Having them base-encoded (minimally) and zipped, they use about 1.1 GB HDD space.
Because fetching the smallest path requires removing (O(log n)) nodes, the memory usage increases due to duplicate temporary tables up to around 3GB RAM.
Preprocessing these tables took at least 6 hours (did it during night and was somewhere at the highest depth when I woke up), I don't know the exact time though.
[edit] Oh, and it takes around 15 seconds each solution.

If you're interested and manage to get my old machine running I can send you the (.NET) sources. It's all embedded in a big web service application though, but I'm sure you have no problem with that.

You took a different approach from Jaap's solver. IIRC, his solver uses three tables (separation + shape) for pruning and IDA* for searching.

Needless to say, I would love to see your source code.
 
You took a different approach from Jaap's solver. IIRC, his solver uses three tables (separation + shape) for pruning and IDA* for searching.

Needless to say, I would love to see your source code.
I always thought Jaaps solver uses multiphase solving. I am using an IDA* as well.
I'll try to get my old machine running and give you a shout during next week.
 
In the next version, could you change the session summary thing so that the results slower than 1 minute to min:sec.mili instead of just sec.mili, I just did a 5x5 avg and looked at my session summary, it was scary
 
I can't get my stackmat to work, though, I also can't get it to work with CCT.


I'm running windows 7 and have it plugged in to microphone port. I think I have a setting wrong on my computer for recording devices, but I seem to have tried everything and can't figure it out.
 
I always thought Jaaps solver uses multiphase solving. I am using an IDA* as well.
I'll try to get my old machine running and give you a shout during next week.

His non-optimal solver first brings the puzzle to cube shape with an even permutation of pieces and then solves it using only moves that preserve cube shape.

His optimal solver uses a single search.
 
Back
Top