Some people like to argue that the development and learning of motor skills in humans is a lot like the development and learning of language in humans: intertwined, hard to separate, probably with a large element of hardwired knowledge and only a few parameters to tune through experience.
And sure, it may be helpful to think of motor skills this way, and people talk of motor primitives (kind of like words) and grammars that tell you how to combine them, which further helps with the analogy. From a computational standpoint, of course, natural language is a fascinating system clearly governed by rules that nonetheless admit a large degree of fuzziness in practice. Despite several good linguistic models of language production, it's still really hard to make a computer do a decent job of things like conversation and translation. There is, though, spectacular progress, and a whole body of research on the subject. So if motor skills are like natural language, then maybe we can apply things we know about the latter to the former. "Natural" motor skills: their fluidity, robustness to perturbation, and extremely precise yet very compliant control, are hard for robots perhaps the same way language is hard for computers. And it's quite probable that movements are compositional the way sentences are.
But I'd like to point out three fundamental differences.
1. Kinds of compositionality
Utterances are compositional according to the rules of grammar. Things like "apod ihfoa dhf" or "but the why cow give tree storm" don't count as language, even though they are strings composed of letters or phonemes (or words) and strung together. On the other hand, if I start twitiching and winking and throwing my limbs about, this is acceptable movement and maybe even a dance. The point is: movement is compositional (composed of little things you can do called motion primitives) but nothing dictates its acceptability other than physical laws. If a motion sequence is impossible for a human being, it's because the joint doesn't bend that way, or the muscle isn't strong enough, or the required degree of freedom is lacking from our body etc. On the other hand, as demonstrated above, I can make any number of utterances that don't mean or communicate anything because they don't obey the restricted, symbolic compositionality rules (grammar) of a language. Why is this distinction relevant?
2. Kinds of available information for learning
How utterances vs. movements are created, and which ones are acceptable is relevent because it directly bears on the question of how a human infant/child could possibly learn the two sets of skills. It's widely accepted in linguistics that there isn't enough information (enough examples of what does and doesn't constitute a grammatical sentence) in order to learn (infer) a complete grammar from nothing. The conclusion is that we must be born with a language organ in the brain that essentially has a hardwired grammar, the parameters of which need to be set by learning via exposure to a particular language. In particular, children don't hear nearly enough ungrammatical utterances, nor are they usually corrected when they say ungrammatical things, in order to reliably identify the grammar of a language.
Does the same hold in the case of motor skills? Let's see. Every waking minute of every day of our lives, we move our muscles and receive sensory feedback on our movements. We actively send neural control signals to our muscles and directly sense what happens as a result for everything that we do, including sitting, standing, breathing and blinking. Clearly, there are instinctive motor skills such as breathing and blinking that don't require any learning. We have the required neural circuitry at birth. But sitting and standing does not come at birth. Nor do any directed limb movements. But those muscles too get commanded relentlessly and at a high rate. And also relentlessly, at a high rate, we perceive the results of our actions in the form of sensory signals that come from proprioception, touch, and vision (and also hearing and smell and taste sometimes). But mostly proprioception. So it seems like a true wealth of experience to draw on for learning how to move.
Notice also, that there is a wealth of negative experience or negative examples of how not to move for human infants. They lose their balance all the time, they stumble, they fall, they bite their tongues ... They control their muscles in all these ways they shouldn't be, and they immediately get a negative failure signal due to the laws of physics. Again, there is plenty to learn from. And this disparity is specifically due to the fact that motor skill compositionality is not based on rules for stringing symbols, but directly and only on the physical capabilities of the body and the physical universe.
3. Kinds of goals
Utterances are vehicles for communication. Movements are vehicles for displacement. While the intended meaning of an utterance changes with its grammatical structure, any movement that achieves the desired displacement is generally acceptable.
There is surely more to say on the subject, but these three things lead me to believe motor skills are more learnable and less hardwired than linguistic abilities.
Showing posts with label complexity. Show all posts
Showing posts with label complexity. Show all posts
Thursday, October 23, 2008
Saturday, September 13, 2008
On the complexity of stuff
Last post got me thinking, which in my case means asking lots of questions and refusing to think through the answers, at least at first. Later, arguably, I will forget all about these very pressing questions and so will never find the answers until one day, I read something written about this elsewhere and bemoan the passing of time and my laziness.
But back to the pressing questions. One afternoon over tea with Dr. Peshkin, I heard him express an excellent question: what is the complexity of physical objects? In computational theory, there are complexity classes for problems. If an abstract machine (whose abilities can be approximated by a modern PC) can find the answer in a relatively short period of time, it belongs to one complexity class (called the 'polynomial-time' class or P) . If you need a machine that's capable of pursuing several solution lines at a time and non-deterministically switching between them, then it belongs to another, intuitively harder class of problems (called NP for 'nondeterministic polynomial time'). There's more classes, but the point is: you can tell if a problem fits into one of them. This is a useful thing for writing programs: you don't want to tell your computer to do something that's provably going to take from now until the end of time.
So is there a similar classification for objects? Objects are kind of like problems if you try to make them with your new personal fabber (PF). You need to tell the fabber how to make them, of course. And thus I think we can define useful complexity classes for objects in terms of the fabber that can make them and the instructions that it would require.
But what's the complexity of a fabber? Why, it's the class of objects it can make! :-) There's got to be a better way of course, but maybe we can establish equivalence classes, like in computability theory. Push-down automata can solve context-free grammars. A 2D laser printer can build planar objects. OK, this is a really uninformative example, but I have to think more to come up with useful classes in the complexity of stuff.
For now, let's all agree that stuff is pretty complex.
But back to the pressing questions. One afternoon over tea with Dr. Peshkin, I heard him express an excellent question: what is the complexity of physical objects? In computational theory, there are complexity classes for problems. If an abstract machine (whose abilities can be approximated by a modern PC) can find the answer in a relatively short period of time, it belongs to one complexity class (called the 'polynomial-time' class or P) . If you need a machine that's capable of pursuing several solution lines at a time and non-deterministically switching between them, then it belongs to another, intuitively harder class of problems (called NP for 'nondeterministic polynomial time'). There's more classes, but the point is: you can tell if a problem fits into one of them. This is a useful thing for writing programs: you don't want to tell your computer to do something that's provably going to take from now until the end of time.
So is there a similar classification for objects? Objects are kind of like problems if you try to make them with your new personal fabber (PF). You need to tell the fabber how to make them, of course. And thus I think we can define useful complexity classes for objects in terms of the fabber that can make them and the instructions that it would require.
But what's the complexity of a fabber? Why, it's the class of objects it can make! :-) There's got to be a better way of course, but maybe we can establish equivalence classes, like in computability theory. Push-down automata can solve context-free grammars. A 2D laser printer can build planar objects. OK, this is a really uninformative example, but I have to think more to come up with useful classes in the complexity of stuff.
For now, let's all agree that stuff is pretty complex.
Labels:
complexity,
philosophy,
physical world
Friday, September 12, 2008
On the computability of universal rapid-prototyping
The new issue of Seed magazine (No. 25) has an article on machines that can make a copy of themselves. Well, actually, they can only make all the parts (other than batteries) that are needed to make a copy of themselves. That's not half-bad either. A machine that's cheap (and for which the materials are cheap!) and that can make all the parts for a copy of itself -- that's a big step towards universal availability of rapid-prototyping. And that may very well lead to something like personal factories, by analogy with personal computers and a similarly revolutionary idea.
By the way, in addition to RepRap mentioned in Seed, Technocrati and tens of other online sources (presumably because the project is affiliated with Google?), Fab@Home and its inventor Evan Malone (then at Cornell) have been pursuing universal rapid-prototyping at least since 2006.
The very idea raises questions about the interplay of the computational and the physical. If you can readily manufacture articulated, controllable things in your home, how do you then make them do useful things? As of now, fabbers (for that is what we shall call these nifty machines) don't make computer chips or electronics as part of the process. But people are working on it, and it doesn't defy the imagination to consider building (programmable?) circuits directly into the fabricated parts. Ah. So many things to ask from a computational perspective. Here's one: what is the computational class of circuits built by a fabber? Meaning: what class of problems can these circuits compute? What about any physically realizable fabber? There's a research project in there, yours for free.
More on all that later.
By the way, in addition to RepRap mentioned in Seed, Technocrati and tens of other online sources (presumably because the project is affiliated with Google?), Fab@Home and its inventor Evan Malone (then at Cornell) have been pursuing universal rapid-prototyping at least since 2006.
The very idea raises questions about the interplay of the computational and the physical. If you can readily manufacture articulated, controllable things in your home, how do you then make them do useful things? As of now, fabbers (for that is what we shall call these nifty machines) don't make computer chips or electronics as part of the process. But people are working on it, and it doesn't defy the imagination to consider building (programmable?) circuits directly into the fabricated parts. Ah. So many things to ask from a computational perspective. Here's one: what is the computational class of circuits built by a fabber? Meaning: what class of problems can these circuits compute? What about any physically realizable fabber? There's a research project in there, yours for free.
More on all that later.
Labels:
complexity,
rapid-prototyping
Subscribe to:
Posts (Atom)