Science against Fiction
Abstract. The idea of planning and plan execution is just an intuition based decomposition. There is no reason it has to be that way. Most likely in the long term, real empirical evidence from systems we know to be built that way (from designing them like that) will determine whether its a very good idea or not. Any particular planner is simply an abstraction barrier. Below that level we get a choice of whether to slot in another planner or to place a program which does the right thing. Why stop there? Maybe we can go up the hierarchy and eliminate the planners there too. To do this we must move from a state based way of reasoning to a process based way of acting.
McDermott (1987) recently asked the following questions in regard to the need to do resarch in interleaving planning and run-time monitoring of senors:
Are sensors good enough yet for us to be thinking about how to reason about their inputs? Is planning research just a typical AI moonshine enterprise, thinking about hypothetical scenarios that don’t resemble what will actually be possible once high-quality sensors are available? We can distinguish three positions on this question: Theism: Execution monitoring is important enough, and the issues clear enough, for us to be thinking about them right now.
Atheism: The whole idea of plan execution and the run-time maintenance of something called a “plan” is misguided. Controlling the behavior of a robot is a matter of putting sensors and effectors together using a program.
Agnosticism: We won’t be able to settle the issue until much better sensor technology is available.
This is my reply to McDermott.
I am an atheist in McDermott’s sense:
An atheist usually has very little hope of convincing a theist of his folly. The theist afterall has his own self consistent set of beliefs. Likewise I expect to make little progress arguing with planning theists. I expect they will make little progress arguing with me.
But religous theists and atheists have an extra problem to deal with. The only possible resolution of the debate involves one of the participants dying, and even then at most one of them learns the true facts. In the matter of plan execution, however, we have an empirical test available! We can try to build real robots that operate in real environments and see which ones work better and appear more intelligent; those with traditional AI planning and execution monitoring systems or those with reflexive or subsumption architectures. One of us will have to eat our words!
But will this happen soon; aren’t our computers too small yet? Heck no. Part of my thesis is that it actually takes very little computational power; we’ve just been organizing it all wrong up until now.
…without having designed a device yourself, or thought through a design completely, you may very well make completely the wrong functional decomposition by simply observing its behavior. The same is true of observing human behavior. Ethologists have discovered this in observing insects and lower animals. Early and folk or intuitive explanations of what the creature is doing have had to undergo radical change when more careful observation and experiment with the total system (creature and environment) have been carried out.
The idea of planning and plan execution is just an intuition based decomposition. It may well be the wrong decomposition. There may be no reason it has to be that way. All we have to go on is our intuition of how we work — historically that intuition has been wrong. Most likely in the long term, real empirical evidence from systems we know to be built with planners and plan execution modules (from designing them like that) will determine whether its a very good idea or not.
A simple difference engine forces the robot to move towards B while other parallel activities take care of avoiding obstacles (even dynamic ones). Essentially the idea is to set up appropriate, well conditioned, tight feedback loops between sensing and action, with the external world as the medium for the loop.
So it looks like we can get rid of all the planners that normally exist below a traditional AI planner. Why stop there? Maybe we can go up the hierarchy and eliminate the planners there too. But how can we do this?
We need to move away from state as the primary abstraction for thinking about the world. Rather we should think about processes which implement the right thing. We arrange for certain processes to be predisposed to be active and then given the right physical circumstances the goal will be achieved. The behaviors are gated on sensory inputs and so are only active under circumstances where they might be appropriate. Of course, one needs to have a number of pre-disposed behaviors to provide robustness when the primary behavior fails due to being gated out.
The basic problem is that simulation is a very dangerous weapon indeed. It is full of temptations to be mis-used. At any level there is a temptation to over idealize just what the sensors can deliver. Worse, the user may make a genuine mistake, not realizing just how much noise exists in the real world. Even worse than that however, is the temptation to simulate the ‘perception’ system. Now we jump right into making up a decomposition and stating requirements on what the perception system will deliver. Typically it is supposed to deliver the identity and location of objects. There exists no computer perception system today that can do such a thing except under very controlled circumstances (e.g., a small library of machined parts can be localized and recognized in a small field of view from a fixed camera). I don’t believe a general such system is even possible; for instance I don’t believe humans have such a perception system. The idea that it is possible is based on the wrong-headed decomposition that gives us planning systems.