<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d13597791\x26blogName\x3dAAAI-05++Blog\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://aaai05blog.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://aaai05blog.blogspot.com/\x26vt\x3d-7311799087187756948', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Thursday, July 07, 2005

So, what’s an agent, anyways?

I spent the morning thinking about this question. The second speaker at ASAMAS, Gal Kaminka of Bar Ilan University, started his talk with the claim that robots are agents. I immediately objected. “Well,” I thought, “it’s certainly true that some robots are agents. But just like you wouldn’t say that every agent is a robot, you can’t say that every robot is an agent.” So then I tried to come up with an example of a robot that I would say is not an agent. The best example I could think of was a robotic arm. Clearly, no one would say that an arm is an agent.

But then, I thought, why not? Why can’t a robotic arm be an agent?

Fortunately, during Jay Modi’s opening talk, he asked us to do a team exercise where each team listed the three central features or properties of agents. My group proposed that agents must be autonomous, goal-oriented, and operate using local information. Well, a robot arm can be autonomous, and once it has a task to do, it’s certainly goal oriented. I paused for a moment at the idea of local information, since a robot arm is usually not equipped with a sensor like a camera and is generally not tasked with observing its environment. But then I realized, what could be more local than the information a robot gets from the pressure responses on its gripper? Ok, according to our criteria, a robot arm is an agent.

What about the features specified by the other teams? A robot arm interacts with its environment. An arm operates under uncertainty. It is proactive (whatever that means). One concept that several teams brought up is learning. According to them, a key characteristic of an agent is that it learns. Ok, a robot arm doesn’t learn. Well, I happen to disagree that learning is a necessary condition for classification as an agent, so that’s not enough, in my opinion, to disqualify the arm. What about interaction? A robot arm doesn’t interact with anyone. Maybe an agent is only an agent if it interacts with other agents. Which brings me to my central question:

If a robot climbs a tree in a forest and no one is around to see it fall off, is it still an agent?

(I should mention that I spoke to Gal after his talk, and he brought up several examples of robots that he does not consider to be agents. For example, teleoperated robots are not agents. He also brought up the RoboCup small-size soccer league. In that league, sensing and computation are centralized, so while the whole team is an agent, each individual robot is merely an appendage of that agent.)

Interestingly, in her talk at 11:00, my advisor Manuela Veloso (I'm also co-advised by Reid Simmons) made the controversial claim that the only real agents are robots. She said, “Saying that software agents are real agents is a little bit of cheating,” because software agents do not perform perception.


Anonymous Anonymous said...

Some would say that many software agents do enage in perception. It could be perception in the information world, such as accessing information in databases or through web APIs, or it could be accessing information coming from the physical world, such as from RFID tags, Bluetooth signals, etc. A "smart room" doesn't seem much like a robot yet does a lot of perception.

1:21 PM  
Blogger jkopena said...

I struggled for a moment to think of how a typical robot arm is proactive. I was doubtful at first, but think it skates by if it's equipped with sensors and does things like stop if it believes an obstacle (e.g. a person) is in the way.

I do however, believe that in many ways the Web will drive (and is driving) software toward "agenthood." Responding to failures, latency, choosing between many options, etc. are all things Web agents have to deal with that "traditional" software doesn't. The scope of the Web and physical properties of the networks and machines involved introduce enough uncertainty and requirements for reasoning as to be as interesting as robots...

Well, arguably. Having done robots a (tiny) bit and Web stuff a bit more, the robots definitely require more hacking and tinkering in dealing with the real world.

1:57 PM  
Blogger Arthur said...

In the theory of mind underlying Mind.Forth, perception requires a sensorium.

9:28 AM  

Post a Comment

<< Home