Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Muscle memory" has always seemed like a terrible name for that kind of skill. A ball will be thrown to a slightly different location every time. There's no memory evolved there at all, its just calculations and predictions happening at a level that our conscious mind doesn't seem to see or recognize.


It is a trained skill. And one that you are very unlikely to be able to do without training. Such that it really does come as a sort of memory that you implant in your muscles.

You seem to be objecting because it is not perfect recall memory at play? But it is more about appealing to "remembering how to ride a bike" where you can kind of let the body flow into all of the various responses it needs to do to make the skill work. And if you've never done it... expect to fall down. Your muscles don't have the memory of coordinating in the right way.

And no, you are not calculating and predicting your way to what most people refer to for muscle memory. Is why juggling takes practice, and not just knowing where the balls have to be going.


I think it's actually a good name.

The "memory" is stored as the parameters of a function. So, when you practice, you actually update this memory/parameters.

This is why you can use the same "memory" and achieve different results.

Think of it as

function muscleAction(Vec3d target, Vec3d environment, MuscleMemory memory) -> MuscleActivation[];


To complete the other comment: the MuscleMemory is updated through learning, so a more complete example would be:

    function muscleAction(Vec3d target, Vec3d environment, MuscleMemory memory) -> {actions: MuscleActivation[], result: Vec3d}
After executing the muscleAction function, through "practice", the MuscleMemory will be updated.

    function updateMuscleMemory(Vec3d target, Vec3d environment, MuscleMemory memory, MuscleActivation[] actions, Vec3d result) {
        memory.update(target, environment, actions, result);
    }

Sort-of like backpropagation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: