Showing posts with label language. Show all posts
Showing posts with label language. Show all posts

23.6.10

The great guessing machine

Here's a quote from this great piece over at the NYTimes that's already made the rounds about IBM's Jeopardy! Computer:
At best, Ferrucci suspects that Watson might be simulating, in a stripped-down fashion, some of the ways that our human brains process language. Modern neuroscience has found that our brain is highly “parallel”: it uses many different parts simultaneously, harnessing billions of neurons whenever we talk or listen to words. “I’m no cognitive scientist, so this is just speculation,” Ferrucci says, but Watson’s approach — tackling a question in thousands of different ways — may succeed precisely because it mimics the same approach. Watson doesn’t come up with an answer to a question so much as make an educated guess, based on similarities to things it has been exposed to. “I have young children, you can see them guessing at the meaning of words, you can see them guessing at grammatical structure,” he notes..
This really resonates with me, especially the point about the brain being a guessing machine rather than an understanding machine. From watching my son learn and grow I noticed there was a point where he was still guessing, because he didn't really know yet, but his guesses were so accurate he was right every time. But he was still guessing.

Perhaps by the time we really understand something it's because we're already on to guessing the answer to something even bigger.

22.4.10

Kids' brains are early-binding

When it comes to programming language variables there are two flavors, early binding and late binding. An early binding language needs to know what type variables will be ahead of time, if 'x' is going to store a number it's not going to store a string and vice versa. Late binding means you can define variables and depending on how they get used, the programming language determines retroactively what kind of variable you needed.

Based on how my 3yr old understands things, I'm tempted to think of it as early-binding. He doesn't yet know how to let words temporarily represent abstract concepts he doesn't understand. Instead if you start to explain something, he'll expect you to define and explain a word that he didn't understand, rather than making sense out of the word as its used in context.

It's not so upsetting that he can't do these things yet, these are very abstract concepts which he will develop in time. It's interesting though, for me to look back on all the programming languages I've come to know and see how as they mature, they're expected to allow for the more flexible late binding.