Now I'm really catching up. Maybe I'll try backdating it to make it look like I'm keeping up (it's actually Thursday afternoon, but we'll see if it looks like I posted this on Tuesday afternoon). And I suppose I should be putting IDS 419 in the title since most of the students are using the course to fill that requirement. But on to actual content. We start by looking at some examples from my favorite post of recent weeks, one that reviews the best robots of 2008.
My favorite is the robotic self-healing chair. Although the linked video would have been better without the obvious cuts; I would have preferred them to speed up the action and show the entire rebuilding process. But the part where the chair lifts itself up makes up for any other flaws.
Students were generally more interested in the Boston Dynamics Big Dog. The ability of this robot to maneuver over varied terrain is remarkable. And as the post linked above notes, that the robot can continue to stand and maneuver after being kicked hard was really amazing. I was actually hoping that the robot would kick the human back, but it's probably wise they didn't build that capability into it.
Everyone gave a short overview of which NetLogo models they were using to respond to Assignment 2. Flocking was the most popular by far; a couple students looked at the Traffic Basic model, with DaisyWorld, Rebellion, Follower, Termites and Wolf Sheep Predation also gaining some interest. Five days left on that assignment; I'm interested in seeing how everyone does. The purpose of this assignment is not just to see how slight modifications in simple rules can lead to significantly different and complex behavior in the models. I also want everyone to demonstrate that when they have a new programming system thrown at them, they can figure out how it works, learn the basics of the language, and build new behaviors. As some have already figured out, the hardest part of this assignment is not always the programming. It's expressing what you want to have happen. If you can do that clearly enough, then a language like NetLogo often already contains many of the high-level operators to implement the desired behavior with just a few lines of code.
During the remainder of class, we worked through the transition from Kelly to Pfeifer and Scheier. I chose to start with Kelly's Library of Form chapter, which does a nice job building from Borges (online version of the original). Several students quickly picked up on the search algorithm theme, with the specifics that there must be a goal that we're searching for (a legible book) and a means for determining whether we're getting closer to that goal. The library only has meaning to the extent that a person searching the library can provide it.
But as the class discussion of Deep Blue showed, we weren't willing to accept that the ability to implement a search algorithm was sufficient for intelligence, no matter how clever the algorithm or fast the computer. We might be impressed, but there's still something missing. The remainder of class was an attempt to grasp that missing piece. Because I'm posting this too long after the actual discussion, I can barely even give a flavor of the conversation. Except that everyone kept returning to a major theme of both Kelly and Pfeifer/Scheier: The interaction with the environment matters. And the presence of an external observer is an interesting consideration. Are you intelligent only if there's someone of equal or greater intelligence around to certify your intelligence?
This discussion only gets us a little closer to constructing something, so we're going to move into the agent-based systems next week with a focus on subsumption architecture. That will keep us busy for a little while.