Tuesday 14 October 2008 @12:08
Eventually artificial machines will exhibit human-like intelligence, and even self-awareness. We are not there yet — not even close. Probably not in the next 35 years, and predicting the pace of technology beyond that is a fool’s game. In The Monkey in the Mirror (2002), anthropologist Ian Tattersall writes that it is “vanishingly improbable that any machine would ever achieve an internal state that we would recognize as consciousness.” But many sober technologists are convinced it can happen, so it’s worth examining why.
The first step in the argument is materialism, the notion that nothing exists except the physical — consciousness is some kind of emergent property of our electrochemical nervous system. Contrast this with dualism, which states that consciousness exists separate from the physical body. This concept of the ‘soul’ is a lovely metaphor and a comforting myth, but the weight of scientific evidence points firmly to materialism. If you disagree so far, then probably nothing else I say will be convincing either.
The next step is to investigate whether it’s possible in principle to construct some physical thing that possesses intelligence (or consciousness, or whatever). To prove that some occurrence X is possible, it is sufficient to demonstrate that X happened at least once before. In our case, the process of evolution on this planet constructed — over hundreds of millions of years — physical organisms with elaborate nervous systems, some of which have this property we seek. That is our existence proof… QED.

The final step is to determine whether the property is substrate-neutral. That is, does consciousness rely specifically on having an electrochemical system of axons, dendrites, synapses, and neurotransmitters? Or can it arise in some other sufficiently complex information-processing system made of different stuff, such as silicon, aluminum, and electrons? This is admittedly an open question, so I expect most scientifically-minded AI skeptics to focus their quarrels here. I have yet to hear a convincing argument against. In the worst case, it should be possible in principle to simulate the essential components of a primate nervous system on powerful machines. This has already begun with insects and (parts of) rats, which are about as complex as current supercomputers can handle. It may be that the first ‘true AI’ begins as a simulation of a natural system.
Now all that remains are questions of interpretation. Tattersall admits that we are “incapable of imagining states of consciousness other than our own,” which means it’s likely that we won’t recognize machine consciousness as such. As neuroscientist Terry Sejnowski points out, the Internet could already be self-aware… how would we know? Hell, in many places people of a particular race, gender identity, sexuality, or ethnicity are not treated as fully human. Good luck with civil rights for artificials… that struggle won’t be pretty, and the only way it would be short is if they destroy us.
But now I’ll retreat from the brink of science fiction; alarmist consequences detract from the main argument. I have a few other thoughts to work in on this topic — on the Turing/Loebner sideshow and on the uncharitably narrow notion of ‘algorithmic’ used by Tattersall and others — but I’ll save those for another day.
Wednesday 19 March 2008 @22:53
In April, I will be presenting a new paper — Something for Everyone: AI Lab Assignments that Span Learning Styles and Aptitudes — at the Consortium for Computing Sciences in Colleges, held in the exotic, distant locale of Staten Island. A preprint can be found in the publications section of my site.
I will be building a repository and wiki about the assignments. With any luck, it will be available in time for the presentation. Shown here are some photos from our Connect 4 tournament during the first year I used these lab assignments.
Thursday 28 September 2006 @10:33
In AI yesterday, I began describing genetic algorithms, a.k.a. evolutionary programming. I thought it important to get the essence of Darwinian evolution on the record too: descent with modification plus selective survival. I find that even among people who are generally supportive of evolution, and science in general, there is a lot of misunderstanding about how it works.
By watching the reactions on my students’ faces, I began to realize how brutal the whole thing sounds. Evolution has an enormous death toll. Lots of critters must die in order for the average fitness of the population to increase. This carnage, resulting from competition for scarce resources, is not optional; it’s essential.
It sounds all the more sinister when I mention that we will impersonate gods by applying our own selection criteria to the population. This isn’t natural selection, it’s artificial. You get to live and reproduce because you came closer to solving my problem than your peers did. In contrast, natural selection seems like a harmless truism: those who are good at surviving and reproducing are more likely to survive and reproduce.
Again, I tried to make the lecture more interactive with props. And nothing represents the concept of chance better than dice. Ideally, for an in-class demonstration, I’d like to leave nothing to chance. But in this case, I gave the dice to my students, put the success of my demo in the hands of Fortuna, and thus demonstrated my own ‘faith’ in the evolutionary process.
We ran through a simulation on the board, where I wrote 6 random 6-bit strings, and computed their fitness as solutions to a 0-1 knapsack problem with 6 elements. As my students passed and rolled the dice, we went through tournament selections, cross-overs, mutations, etc. The average fitness score of our offspring were clearly increasing compared to their parents. And I thanked Fortuna when, on the final roll of the die, a mutation flipped precisely the right bit to produce the optimal solution to the problem. (If that didn’t happen, I’d either have to go on to a 3rd generation, or be content with demonstrating just an increased average and max fitness.)
Friday 15 September 2006 @18:44
Such a gloomy, rainy day. Perfect for staying home and hacking.
One course I’m teaching this semester is artificial intelligence. It has nothing to do with my usual areas of interest, but it has always had a special place in my brain. Especially the early symbolic stuff… it’s good fun, no matter that the grand claims for it never panned out.
So I decided, in my subversive PL geek way, to use this opportunity to introduce my students to Scheme. Specifically, I’m using the PLT DrScheme environment as a companion for my AI course. I know that true Lisp is traditional, but I was really seduced by Scheme in my younger years (until ML came along) and it has been a pleasure so far to come back to it. Plus I can set up some nifty cross-platform graphical simulation thingamabobs for my students, which they’ll appreciate.
I chose the AI book by Nilsson. In my first course, we used Winston, and Russell/Norvig seems to be dominant these days. But I’m never one to choose the dominant platform just because it’s dominant (haven’t owned a copy of MS Windows since version 3.0). I still have fond memories from Winston, and was a touch disappointed to find that it hasn’t been updated in all these intervening years.
Anyway, Nilsson starts out with a “grid world” inhabited by an intelligent agent (robot). The first task is to try to make the robot follow the wall clockwise around the room. In other words, the first smidgen of intelligent, goal-directed behavior is to avoid walking into walls. Impressive, eh? Next stop: The Matrix.
So, I used DrScheme to bring the grid world to life, and allow my students (who, after all, have no Scheme exposure at all) to dig right in developing little wall-following robots, just by typing stuff like (if (or s1 s2) ’north (if … )), where s1–s8 are sensors for the 8-directions (clockwise starting from north-west) that return true if a wall is detected. Once you set up your little if-then-else robot controller, you can graphically place a robot on the grid and have it travel one step at a time around the room. The code for my simulator is here: gridworld.zip; just open grid-main.scm in DrScheme. (Select the graphical language, with MrEd + MzScheme.)
Next we’re going to jump right in to two kinds of machine learning, first by inferring a decision tree from a set of examples (Quinlan ID3 algorithm), then by evolving robot behavior by genetic programming. Both of these can be readily applied to the robot world, among other applications.
The students seemed fairly excited by Scheme, on their first exposure. “It’s so easy,” one said, although admittedly he had just been watching me; they have yet to write any code on their own. Nevertheless, I was a little surprised by the enthusiasm. Good signs.