I've been solving levels in many of the level collections using the program since yesterday, however, I've been failing to get any of the "best pushes/moves" for any of the levels that I've been trying to get.
I realize that many of the levels are first come first served in terms of the solution and the best moves/pushes, however, on some of the bigger levels, I'm finding that my solutions are usually over for both moves and pushes.
Does anyone have any suggestions on how to best optimize my level solving skills so that I might be able to beat a few of these?
There are 3 stages in solving. First: only solve a level, second is best push and third best move. Most are satisfied with solved only, not realizing that best push is a whole new thing to achieve and best move the hardest to achieve.
Best push is easier, since you need to only see the smalest amount of box movements to bring them to goals. Best move is very difficult and requires high intellect and space orientation and "cutting" the path, ignoring the boxes in one regard, but taking them into consideration in other regard to actually bring them on goals, which is very complex to do.
You can clearly see that in 100,000 moves by Vipul Patel. To bring it under 100,000 by hand (no program help) would be practically impossible, specially when you see, how it is solved when under 100,000.
Thus the best move or push is usually the combination of "man and machine", for you need to solve the level at minimum possible in the first place, so that the optimizing program can bring it to the limit of minimum.
Globally the solutions on this site are not the best (in comparisment to other sites and what is possible in theory), thus suggesting they were made mostly by humans, so mostly without the help of programs.
So you have the abbility to still make most of the solutions on this site better, but probably not completely by hand. Exception are small levels, which are already at minimum (it is sort of unfair, that the first person who reaches this minimum can never be beaten on the level).
All together I would say, you are going to need some program help, but optimizing is a long a difficult process, with CPU of the computer at max. So you will need a good computer and a lot of time. So it seems, that despite the fact the program did it for you, you still needed to solve it at "human's minumum" and wait for a long time for program's work, suggesting you actually earned the result.
Thanks for the first part of your answer.
I have no intention of using a program to help me solve levels. I plan on solving levels and making sure that I do so as efficiently as possible. I most likely will not be solving with best moves, but I will look into possibly best pushes.
While I am relatively new to using Sokoban for Windows, I have been using Sokoban YASC for a few years now. I can tell you that nothing beats repetition. Solving the same level many times will allow you to see more and better optimizations. That said, not everyone likes to solve the same puzzle a thousand times.
What has taught me the most about solving though, has been the use of the YASO optimizer. When you look at how a extremely optimized solution plays out, you can see that there are many moves/pushes that the average human is never even going to think about making.
By watching these solutions play out, I have been able to see many ways to change my solution to make it better, even though it will never equal the optimized solution. (Some of these optimized solutions took 1-3 hours to complete on my computer because it is an older system.) By creating move-optimized solutions to compare to the push-optimized solutions, I have been able to see that many times the best we can hope for is somewhere in between them.
In my experience, there are three types of solving that take place. The first is simple, straight-forward movement of boxes to targets. The second is a little more involved, and requires re-arrangement of at least one part of the puzzle to unlock a blockage that prevents further solution. The third is finding your way through a maze of twists and turns to get to a target.
In the second type, many times it is better to unlock a blocked position before doing any other solving than to try to solve and unblock at the same time. Sometimes you have no choice, but in most cases there are multiple ways to approach it.
In the third type, finding the path is necessary before you can solve the puzzle in many cases. Once the path is determined, it is just moving boxes to targets using the path.
Many puzzles use a combination of two or all three types to solve them. In all of these scenarios, the only things that can make it easier to find a better solution is to continue to resolve them, and to view the solutions of others (and optimizers) for clues and ideas.
I hope this helps you.