Application of memory techniques for Speedsolving

abunickabhi

Legend
Joined
Jan 9, 2014
Messages
14,597
Location
Yo
WCA ID
2013GHOD01
YouTube
Visit Channel
Original discussion here: https://forum.artofmemory.com/t/application-of-memory-techniques-for-speedsolving/59340

Quoting Abendregen, "In speedcubing, we have Algorithms. An algorithm is a memorized sequence of moves that achieves something on the cube and that has to be done quickly. There are many sets of these algorithms, called algsets that can usually contain from 10 to about 500 algs. One of the larger ones is called ZBLL and has 493 algorithms each being about 15 moves long. Its notoriously hard to memorize with not many people that fully know it. I was thinking if i could apply some memorization technique to help me with learning any of these huge algsets.
When we learn algs we basically associate the state of the cube with a specific hand movement so its not memorizing letters or numbers.

The technique has to have extremely fast recall and also great reliability to be of any use.
Does a technique like this exist? How fast is memorization?"

Let me know if anyone has any views on this topic, other than splitting the algs into triggers, drilling a lot or trying to get the alg into muscle memory.
 
Personally, I feel Yo notation will be super helpful to learn algorithms which do not have any form of well know triggers, for example, f' E' R E' R' E2 F2 R' S R F' which solves UF-RU-RB-BL-DL is tough to memorise at first glance.
One might try f' (E' R E' R' E2) F2 R' S R F', but thats just one trigger that you have in the alg, and that too it is not that familiar to many speedcubers.
The idea is to make the alg into Yo notation, and it becomes, wtqj qkrx ksjw, from which we can form 3 images, watery megaminx (wtqj) yuck roux solve (qkrx) kiss jaws (ksjw), and trying to make a sentence out of it we have, watery megaminx leads to a bad roux solve, and I react by pouting my face showing the jawline.

More details about the Yo notation (document in progress) in this doc I have been making since 2018, https://docs.google.com/document/d/1bfDsydw6pxBftd8Xwik95FNjILGkdrJMBO5EORbftII/edit?usp=sharing
 
You could use something like flash cards which have helped me memorize many concepts while studying.
There was an idea posted on the forums a few years ago about how you could use them for learning ZB.
Something like using chess games as memory palaces might work if the user is into chess.
Or using just normal memory palaces like some place we know might work too

Or looking for patterns might work while memorizing long parity algs
eg. 4x4 OLL Parity:

Rw U2 x Rw U2 Rw U2 Rw' U2 Lw U2 Rw' U2 Rw U2 Rw' U2 Rw'

Notice the pattern on the Rw and Lw moves. It goes Up Up Up Down Down Down Up Down Down. Memoing something like that might help in easier memorizing.

Another example is the E perm:
R U' R' D R U R' D' R U R' D R U' R' D'
Notice how the U moves go like U' U U U' and there is always an R followed by a U move followed by R' which is followed by a D or D'
and also, the D moves go like D D' D D' and the R moves also go like R R' R R'. These patterns are easy to memorize and make alg memorizing easier until muscle memory kicks in.

Or like you say, Yo notation might be the best.
 
You could use something like flash cards which have helped me memorize many concepts while studying.
There was an idea posted on the forums a few years ago about how you could use them for learning ZB.
Something like using chess games as memory palaces might work if the user is into chess.
Or using just normal memory palaces like some place we know might work too

Or looking for patterns might work while memorizing long parity algs
eg. 4x4 OLL Parity:

Rw U2 x Rw U2 Rw U2 Rw' U2 Lw U2 Rw' U2 Rw U2 Rw' U2 Rw'

Notice the pattern on the Rw and Lw moves. It goes Up Up Up Down Down Down Up Down Down. Memoing something like that might help in easier memorizing.

Another example is the E perm:
R U' R' D R U R' D' R U R' D R U' R' D'
Notice how the U moves go like U' U U U' and there is always an R followed by a U move followed by R' which is followed by a D or D'
and also, the D moves go like D D' D D' and the R moves also go like R R' R R'. These patterns are easy to memorize and make alg memorizing easier until muscle memory kicks in.

Or like you say, Yo notation might be the best.
this reminds me of a post I made a while back about memorizing H perms and Z perms by their rhythm. Antoine Cantin too
 
Using memory palaces for something like ZBLL is harmless, but also unnecessary.

Direct recognition and recall for ZBLL, like the way one recognizes PLL, is faster than using memory palaces because there's no extra required step of decoding images or visiting memory palaces. The only advantage memory palaces can bring is long term memory, however
it has been shown in practice by quite a few people that memory palaces aren't required to remember the algs long term. As examples, I don't use them, Jabari doesn't use them, and Daniel Rose-Levine doesn't use them, and I, at least, can attest that I can remember my algs long term without reviewing.
 
Personally, I feel Yo notation will be super helpful to learn algorithms which do not have any form of well know triggers, for example, f' E' R E' R' E2 F2 R' S R F' which solves UF-RU-RB-BL-DL is tough to memorise at first glance.
One might try f' (E' R E' R' E2) F2 R' S R F', but thats just one trigger that you have in the alg, and that too it is not that familiar to many speedcubers.
The idea is to make the alg into Yo notation, and it becomes, wtqj qkrx ksjw, from which we can form 3 images, watery megaminx (wtqj) yuck roux solve (qkrx) kiss jaws (ksjw), and trying to make a sentence out of it we have, watery megaminx leads to a bad roux solve, and I react by pouting my face showing the jawline.

More details about the Yo notation (document in progress) in this doc I have been making since 2018, https://docs.google.com/document/d/1bfDsydw6pxBftd8Xwik95FNjILGkdrJMBO5EORbftII/edit?usp=sharing
Yes. This would probably be an effective way. HOWEVER, memorising multiple sentences seems even more clunkier than drilling in algorithms, considering you would have to memorise 493 sentences, pretty much an essays worth, which on average (considering each alg is 15 moves and 2 moves = 1 word) is 1232.5 words.
Good thought process but I don't think it will work out well
 
I developed a different algorithm memorization technique that more closely mimics a BLD memorization letter list. It is to follow the dance of one of the corner cubies as the moves in the algorithm occur. For example, f' E' R E' R' E2 F2 R' S R F' translates as |_C 3 _F 5 _R|_B _T 5 _P _O|_R 52 _J 2 _L|_T _B 5 _O _P _C|| if your letter system is Speffz, then the first move, f', is as the edge cubie at Speffz position _C goes with a wide move, code 3, to the edge cubie position _F. or |_C 3 _F||. Slice moves, code 5, are slightly different. the appearance of | usually means that the edge cubie rests on the next move, so consideration is switched to a different cubie.
 
I developed a different algorithm memorization technique that more closely mimics a BLD memorization letter list. It is to follow the dance of one of the corner cubies as the moves in the algorithm occur. For example, f' E' R E' R' E2 F2 R' S R F' translates as |_C 3 _F 5 _R|_B _T 5 _P _O|_R 52 _J 2 _L|_T _B 5 _O _P _C|| if your letter system is Speffz, then the first move, f', is as the edge cubie at Speffz position _C goes with a wide move, code 3, to the edge cubie position _F. or |_C 3 _F||. Slice moves, code 5, are slightly different. the appearance of | usually means that the edge cubie rests on the next move, so consideration is switched to a different cubie.
Interesting system, but feels super complicated to get used for, atleast for me.
I feel Yo notation is a bit easier as we have break algs in groups of 4, and form images of the letter quads.
 
I have no experience with memorizing a large quantity of algorithms, but I just thought about something when looking at Yo Notation. (@abunickabhi , this does not at all mean that I'm not going to implement Yo notation into your spreadsheet. But this could mean an additional feature which I could add to your sheet, if you want. I would just put the results of this "new feature" in its own separate column for experimentation.)

But suppose you have a 100k alg set in a spreadsheet. And suppose that:
  • 10k algorithms have the same two moves U F (Singmaster notation) in them somewhere.
  • 6k algorithms have the two moves R F in them somewhere.
  • 1k algorithms have U M' U' in them somewhere.

The Excel spreadsheet can be coded (with VBA) to allow the user to come up with their own custom "partial algorithm substitution dictionary", where with the click of a button, they are given a list of the, say, 10 most frequently occurring 4 moves that occur in the entire 100k alg set. Then they can substitute every occurrence of those 4 moves (in all algorithms which contain them) with whatever they want. It could be a letter or a word. (For example, they could substitute "R U R' U'" with "sexy".)

They can do this dynamically in time. Meaning that they only have to do replacements as they are memorizing the huge alg set. So this means that they don't have to get the list of "top 10 most frequently occurring 4 moves". They could (at any time) choose to substitute any random 2-4 move sequence that they see in the current algorithm that they are memorizing and apply it to all algorithms which they haven't even looked at yet.

(So the algorithms in this separate column will consist of a mixture of normal moves in Singmaster notation and their customly assigned substitutions.)

And they can (at any time) undo a substitution that they did previously (as long as the expressions/symbols/words they choose to substitute those moves with are properly chosen, of course.)

The advantage of doing this is to shorten the length of the algorithms.

In summary, the user could develop his/her own "language" to memorize an alg set. If this is done, then (in time) people can share their custom-made dictionary with everyone else (I define "Yo Notation" as a 1-move substitution dictionary, but this idea is all about generalizing that to any number of moves and anyone's choice for the "words" in their dictionary), explaining the reason for each substitution they made so that eventually people will be able to see what is the best "dictionary" to use to "define" a particular algorithm set . . . or simultaneously, people can learn what the best "dictionary" is for the majority of the alg set and then find different algorithms for all cases in the set which that dictionary doesn't fit well -- so that the dictionary WILL then fit the entire set.

What do you think if something like this was implemented programmatically in, say, a programmed Excel sheet in VBA?

I got this "substitution logic" from looking at how compactly @cuBerBruce wrote the Hamiltonian circuit for the 2x2x2, for example. But unlike that, which is compound substitution (in this case, where, for example, we substitute "sexy" for "R U R' U'" and "are you" for "R U" but then substitute "yep" for any occurrence of "are you sexy" in all algorithms), which is probably impractical for alg sets like this, but it could shorten the length of algorithms even more (but requires a play on word combinations . . . which is okay, since this would be user-customized).

______________________________
On a completely different tangent,

Take the UF5 algset, for example. Why not just choose algorithms which are all conjugations and/or slight modifications of a smaller set of algorithms? Again, I am not an expert on memorization, but as a concrete example, on pages 18-21 of my F3L PDF, I show how all 211 algs can be broken down to essentially 14 algorithms (step-by-step).

So, if anything, you can have a handful of 5-cycle algorithms B_1, B_2, B_3, . . . , B_10 and then the "algorithms" for every one of the 100k cases could just be the conjugate moves A for a complete sequence [A, B_1], for example.

The algorithms would be longer overall, but they would technically have to memorize far shorter algorithms, as it would just be the setup moves that they would have to memorize.

If this conjugation idea sounds good, this can be done (the alg set can be found) programmatically rather than manually, where the input would just be the base 5-cycle algorithms of your choice. If the minimum required setup moves to reach all UF5 cases is too long, you can give the computer more base 5-cycle algorithms to use to reduce the number of required setup moves.
 
Last edited:
A really interesting thought @Christopher Mowla .
People can try and create their dictionary or say 2-3 move pattern, and check all the occurrences in the sheet, and form their association.

They can do classification in their own way, according to their liking. So if they just want [RES] gen algs, or only [LUM] gen algs, they can search for it and find a subset. I have never thought of this idea.

For long I was wondering on how to get an ideal subset of the 100k algset, which will be easier as well as tailor made to each person as they want to learn. I guess your approach will be the way to go.

The disadvantage that I see with this is that say the user decides to substitute "R U R' U'" and "are you" , and leaves the rest of the alg not assigned to any word, the output the user will have be a mix-up between words and Singmaster notation, and it will make them more confused.

Also a >1-move dictionary will be much larger in size, and will have too many words possible making this a bit more time consuming task to map.

Mapping to Yo notation is easier, and memorising it is easier as well, as the alg in broken down into groups of 4, and memorised as letter quads =1 image. I have gotten quite comfortable with this way of dealing with algs, and I don't have to confuse myself with Singmaster R and R' and its just different letter, J and K in Yo notation for me respectively.

I am open to this thought as well, as a cool substitution logic (>1 move substitution) might be the way to go in the future.
 
I wanted to follow up on my post about rhythm. A long time ago for an intro undergrad class, we actually had to learn Morse code in 1 week. The problem was it was on paper and you were given a lot of time, so you would not be able to send or receive actual code. This makes me wonder: instead of letter pairs or quads, if it's possible to use Morse to memorize sounds instead of letters. This is pretty obscure but to according to those who've learned Morse, you can hear and directly translate between the sounds and letters/common words, and more interestingly also form sentences in your head without writing any letters down. So instead of remembering letter pairs in order, you remember in short term audio memory the sounds of the sequence. The problem is that Morse even at 20 wpm would take time to playback in your head as a "transmission".
 
Back
Top