Robert-Y
Member
What things do you think about when you are brainstorming for a new method or substep?
I'll try to list some of my own things:
1. Number of cases and algorithm quality
It's important to consider the number of cases for a particular step. A step with over 300-500 algs is what I would say is a lot and I might abandon an idea if this is the case. Before I throw out an idea to people, I like to see how the algorithms are so I would generate algorithms for a small portion of the set of cases. (Unless the set is fairly small, then I would just generate algorithms for all of the cases). After generating algorithms, I test them out myself or I would ask others to help me with this. I tend to consider what I'm trying to achieve with the algorithm and the amount of time taken to execute the algorithms. For example, I believe that PLL is very decent step. I think most of the top cubers can execute all PLLs in about 1.5 seconds or less. So I think it was/is a good idea to consider steps which lead into PLL. Is the same possible with another step like OLL last? I think Ben Whitmore has successfully generated and learnt algorithms for OLL last but I don't think he can sub 1.5 most cases to my knowledge. I would just abandon this idea. I believe that ZBLL is also worth considering but some cases are difficult to recognise which costs time. I'm still not really sure if ZBLL-AS/S is better than OCLL into PLL. Perhaps Jabari can give his opinion on this
2. Looking ahead
Is it easy to look ahead for the next step? I think CFOP makes a lot of sense when you think about it enough. You slowly solve pieces in places and then you never need to look for your next pieces in those positions. After solving the cross, I've eliminated the need to look at the D layer for edges, making it easier for me to find edges for the next step. It's basically the same thing for other popular methods like Roux or Yau on 4x4x4. For another example: With Roux, after solving the left and right blocks, almost all of the remaining pieces to solve are in front of you with the except of the DB edge, but it's only a small portion of the cube that is "hidden" and shouldn't disrupt looking ahead that much.
3. Comparing your ideas to other methods
I tend to compare the ideas I have with the methods that have the most success. Sometimes I just compare partial solves. For example, maybe I want to see if Yau on 4x4x4 is better than traditional reduction. I don't need to consider the entire solve, I can compare my times by reducing to 3x3x3 + cross solved because the steps after this are the same. You can even ignore the first two centres with this reasoning. Usually when I try to come up with something new, it is because I have a problem with existing methods and would like to improve upon them. With traditional reduction on 4x4x4, I found it annoying to look for edges on the D layer during edge pairing; it "ruins" my flow. I was inspired by a video from Erik Akkersdijk (I believe this video was taken down unfortunately) which lead to the idea of solving the cross as soon as possible to eradicate the need to look at the D layer for edges. This helped with the birth of some popular method.
EDIT: Another thing I want to mention is that it is important to be open minded. Never just brainstorm a method and fix yourself on the idea that it is superior to other methods. You really have to consider both the advantages and disadvantages of your ideas with an open mind.
There's probably a bit more to consider but in any case, I think about an idea long enough and test out my ideas before I actually put it forward. I would like to hear some more thoughts on this.
I'll try to list some of my own things:
1. Number of cases and algorithm quality
It's important to consider the number of cases for a particular step. A step with over 300-500 algs is what I would say is a lot and I might abandon an idea if this is the case. Before I throw out an idea to people, I like to see how the algorithms are so I would generate algorithms for a small portion of the set of cases. (Unless the set is fairly small, then I would just generate algorithms for all of the cases). After generating algorithms, I test them out myself or I would ask others to help me with this. I tend to consider what I'm trying to achieve with the algorithm and the amount of time taken to execute the algorithms. For example, I believe that PLL is very decent step. I think most of the top cubers can execute all PLLs in about 1.5 seconds or less. So I think it was/is a good idea to consider steps which lead into PLL. Is the same possible with another step like OLL last? I think Ben Whitmore has successfully generated and learnt algorithms for OLL last but I don't think he can sub 1.5 most cases to my knowledge. I would just abandon this idea. I believe that ZBLL is also worth considering but some cases are difficult to recognise which costs time. I'm still not really sure if ZBLL-AS/S is better than OCLL into PLL. Perhaps Jabari can give his opinion on this
2. Looking ahead
Is it easy to look ahead for the next step? I think CFOP makes a lot of sense when you think about it enough. You slowly solve pieces in places and then you never need to look for your next pieces in those positions. After solving the cross, I've eliminated the need to look at the D layer for edges, making it easier for me to find edges for the next step. It's basically the same thing for other popular methods like Roux or Yau on 4x4x4. For another example: With Roux, after solving the left and right blocks, almost all of the remaining pieces to solve are in front of you with the except of the DB edge, but it's only a small portion of the cube that is "hidden" and shouldn't disrupt looking ahead that much.
3. Comparing your ideas to other methods
I tend to compare the ideas I have with the methods that have the most success. Sometimes I just compare partial solves. For example, maybe I want to see if Yau on 4x4x4 is better than traditional reduction. I don't need to consider the entire solve, I can compare my times by reducing to 3x3x3 + cross solved because the steps after this are the same. You can even ignore the first two centres with this reasoning. Usually when I try to come up with something new, it is because I have a problem with existing methods and would like to improve upon them. With traditional reduction on 4x4x4, I found it annoying to look for edges on the D layer during edge pairing; it "ruins" my flow. I was inspired by a video from Erik Akkersdijk (I believe this video was taken down unfortunately) which lead to the idea of solving the cross as soon as possible to eradicate the need to look at the D layer for edges. This helped with the birth of some popular method.
EDIT: Another thing I want to mention is that it is important to be open minded. Never just brainstorm a method and fix yourself on the idea that it is superior to other methods. You really have to consider both the advantages and disadvantages of your ideas with an open mind.
There's probably a bit more to consider but in any case, I think about an idea long enough and test out my ideas before I actually put it forward. I would like to hear some more thoughts on this.