Archive for 12 March 2008

Researchers from Rensselaer Polytechnic are working on creating characters for Second Life with the reasoning abilities of a four-year-old. They currently have a character named Eddie that can reason about his own beliefs and make choices based on them. This is interesting progress in AI. Children four and under haven’t learnt to build models of other people’s behavior. So in the example in the article, a child is shown Person A placing a teddy bear in a cabinet. Person A leaves and Person B moves the bear from the cabinet to the refrigerator. Person A comes back in and the child is asked to predict where Person A will look for the bear. Because they don’t have this model yet, they will say the refrigerator. Eddie does this at first, but then learns the correct model with an additional iteration of the process.

The problem here is the venue. Second Life is a den of sexual deviants. If it’s not the furries, it’s child molesters. One disturbing phenomenon is people with child avatars who want to be molested. So, is it really wise to put a simulated child character in this world?

So I was recently asked (and gave a very bad answer to) a question that has been haunting me ever since.  What is the subfield of computer science where I am the strongest?  First of all, in my undergraduate training, I was never really introduced to these ideas of subfields of CS explicitly.  I knew intuitively there was a difference between people working on databases or on operating systems, programming languages or algorithms, but it wasn’t emphasized as a choice I would ever need to make.  This is perhaps because I went to a relatively weak school in CS for my undergrad.  But now that I’m in a rather strong CS school and pursuing a CS-related masters, the question should probably have entered my mind before now.

So when asked, I floundered about for an idea and spluttered out “algorithms” just because it seemed like it was hard to go wrong there.  Well, I’ll leave the details out of this little memoire, but suffice it to say, I was wrong.  A better answer would have been “none.”  Where does natural language processing / computational linguistics fall in the list of subfields?  Is it its own?  Or is it part artificial intelligence, part algorithms, part whatever?  I’ve seen it lumped with AI more closely in the past, but unfortunately AI escaped me as a possible choice when called upon in this high-stress scenario.  Moreover, I haven’t really compartmentalized techniques as belonging to “AI” or “databases.”  Is it useful to do that?  I guess I do sometimes, but when people ask me to make big picture assessments of things I haven’t thought about much, it takes me a while to process it.

I hate interviews.