What is Subsumption?

Oct 15, 2006 133 Replies

This is a telling statement. These others have arrived at a positive proof but have done so by not using subsumption as Brooks invisioned it. Isn't that the whole point of this thread (or at least its subtext)? They've extended, tweaked, expanded, re-evaluated, invented anew. Some of these hybrid techniques are far less Brooksian than they are applications of state machines and other AI approaches that were discussed half a century or more ago. What's old is new again!

A while back Randy posted some messages about what he saw in subsumption, but I warned that rather than redefine what constitutes the term, it's better to leave whatever remains of it to the original Brooks definition, and expand upon it in uniquely individual ways. Then refer to these new concepts in those terms, rather than try to lump everything as "subsumption." Otherwise, confusion, havoc, and anarchy ensue!

IMO, the hybrid variants serve as implied proof that "X" could not be done with Brooksian-style subsumption, and I believe this was one of Dan's points: if others felt the need for non-classical Brooks, isn't it reasonable to assume "basic subsumption" (whatever you want to call it) was found or deemed inadequate for that particular job?

To continue with your analogy, I'd say you have prospectors coming back with copper ore or silver; still valuable in their own right but not gold nuggets.

"Where did you look?" doesn't refute the prospector's claims. It simply devalues the prospector's statement to the sematics you yourself said is the end of any useful discussion. *Of course* the prospector meant "I did not find gold." The prospector cannot make such a broad statement without monitoring the whole hill into a pile of wet slush. I may have missed someone making such an absolute statement in this thread, but all I recall is others indicating a belief that subsumption has inherent limitations, if for no other reason there are so many hybrid approaches taken in order to solve problems.

Direct personal experience is not required to arrive at every scientific hypothesis. Not speaking for Dan, but I believe he gave you what he felt was more cogent proof of his hypothesis than what his direct personal experience might have provided him.

Subsumption is a theory that has many methods of application. Surely, much of it has yet to be developed. But the unknowns don't make the open-ended "anything should be possible" attitude correct. Anything unproven in a theory is assumed to be false, from a scientific viewpoint, until it is proven otherwise.

I'm not really refuting what you've posted, nor argeeing with everything Randy and Dan have said. I just found the wording of your question seeking negative proofs something other than what you might have intended it to be.

-- Gordon

But he may yet *be* wrong. All he can really claim with certitude is that "there *was* at least one nugget of gold in them hills". A lot of gold-bearing areas are mined out, or close enough that there's little point prospecting there.

Some ideas are initially promising and yield useful results and yet prove to really go no-where in the long term.

Evening,

dan michaels wrote:

Exactly.

It does seem at this point that only Randy and Dave have understood the question I am posing. I think maybe Gordon understands but doesn't like the way I phrased it. Fair enough.

Onward! dpa

Hi Dave,

I think that you have maybe hit on a key element here. Worth some contemplation.

The idea is in some ways very similar to the previously referenced use by Jones of leaky integrators and running averages to trigger and/or synchronize certain events.

Good observation. I need to mull on this a bit.

best, dpa

Hello Gordon,

Nice to have your measured resp> Subsumption is a theory that has many methods of application. Surely,

I guess I have still not been clear. There is no "anything should be possible attitude" implied here in any way. It is exactly the opposite. There are limits. We all agree. What are they? Where have you, Gordon McComb, found the limits to be in your own robot building and problem solving? What problems have you confronted that could not be solved with a behavior-based architectire and required some other approach. And what was that other approach? Any input you have would be greatly appreciated.

What problems have you solved that required you to in some way modifiy whatever it is that you believe is the "standard subsumption" paradigm?

Einstein was ask by a reporter what he thought about a certain experiment that seemed to have proven the theory of relativity to be true. He replied that no amount of experiments could prove his theory true, but it would take only a single experiment to prove it false.

You are exactly 180 degrees wrong on this.

But this is really a useless digression away from the heart of the discussion. I would really like to hear of the experience of an old hand like yourself in the practical problem solving that you have done as relates to this thread.

best, dpa

Sure, reasonable question. Why can't the leg positions be treated just as sensor inputs? The answer has to do with how very careful in my reply to dpa to make clear I was answering in compliance with Brooks examples. You have to read both of his books completely, I think, to pick up the clues about what Brooks does and doesn't think is appropriate.

In this instance, I will refer to a feature of can finding and picking up robot, Herbert iirc. Think I mentioned this issue earlier in this thread. Anyway, the robot did not use any internal representations to pass the state of the can finding behavior to the arm up behavior. Brooks made a distinct point to explain when the sensors (encoder base) stopped indicating motion, the lift arm behavior assumed the can finding behavior had found a can. So I take from this example, he did not believe in proprioceptive sensing. To wit, he could have looked at the motor control output to know if the robot had stopped. So in the same way, looking at the position of the legs, which were internally set to some position, would be cheating. After all, the world is its own best model, therefore you sense the world, and not some model of what the world should be inside the robot.

But, even if he had not indicated this reluctance in his examples, there is still another significant problem. Let's say, well our robot is in the world and part of the world, and we can add sensors to look at our legs. (He didn't have position feedback in Genghis, btw, only a sort of force sensing feedback on how much current the servo was taking to move.) But if we did have sensors, say, one the forward/backward position of each leg, consider this. Can you instantaneously read the forward/backward position of the legs and determine the state of the active machine? The answer is no. There is a place in each of these gates, if you look at that exact moment, the legs will be in exactly the same position as Stand, with all legs centered. Might be a great moment to switch gates, but you cannot determine the internal state of the FSM by looking at the swing outputs. You need more information to know uniquely which machine has control and then what state that machine is in. Now given you can read both forward/backward position and up/down position, you might be able to infer machine and state in control, if you know how every single gait machine works. But what does that mean for evolution? Can you add another subsumptive layer above the existing gaits, and have the lower gaits know how to recognize the newly evolved gait? No.

Again, you have to look at the totality of what Brooks Subsumption model is, to know this would be a problem.

Yes, there might be transitional gaits, but again, I'm following Brooks. I found a case where he had a statemachine with real state information. In the case of Genghis, the core routine (see the quote) send out leg up message in a particular patern that created the gait. My theory was if I found such a state based machine, it would not be subsumed by another machine with state information. There in his work I found the statement about substituting machines rather than subsuming machines. So in this test case, my theory made a prediction, I went looking for the evidence, and found what I suspected.

If you don't know its state, you can't fit a transition to it. Consequently, I think the only way to make a transition is to first make a smooth transition out of the machine with state information and return to know static position without changing state information (stand), then transition into the new gait. I might predict (not yet convinced though) that if a cockroach runs on a Subsumptive model, if couldn't go from walk to without stopping first. Conversely if we see a cockroach go from a walk to a run without coming to a stand first, we can conclusively say, the cockroach is running in a purely Brooksian Supsumption model.

-- Randy M. Dumse

formatting link
Caution: Objects in mirror are more confused than they appear

I need to correct the above post.

"Conversely if we see a cockroach go from a walk to a run without coming to a stand first, we can conclusively say, the cockroach is NOT running in a purely Brooksian Subsumption model."

-- Randy M. Dumse

formatting link
Caution: Objects in mirror are more confused than they appear

As I replied to Dave, I don't think looking at anything internal to the robot is anywhere demonstrated by Brooks in example, and on the contrary case, is demonstrated in force by his explicit example of not doing so when it was the easiest way to get the information.

I don't think Brooks thought reading the output of the robot, as opposed to reading the input to the robot in as purely reactive way as possible, was desireable. The world is its own best model, and he does not seem to think the output of the robot to be reading the world, but instead, the robots representation of the world. His efforts at eradicating representation was exceedingly thorough.

Now, I have long thought your buffer of past readings is a bastardization of Brooks Subsumption, for one reason because you've found a way to import state information he never employed, but I hesitate. I don't think I've ever said that in "print" before, and I'll tell you why. He makes one comment about actually there were slightly more state machines in Genghis than he normally documents. That was because some inputs were noisy, so he had a machine to smooth the data. But he caviates his comment by saying he wouldn't have needed them if their inputs were better quality. Maybe this is where Jones finds a basis for the leaky integrator. Of course Jones worked with Brooks for

15+ years.

-- Randy M. Dumse

formatting link
Caution: Objects in mirror are more confused than they appear

So the only way the prospector can say, "There's gold in them thar hills" Is to find and return with at least one nugget for proof, and leave one nugget where no one else can find it.

Sticky, semantics are.

-- Randy M. Dumse

formatting link
Caution: Objects in mirror are more confused than they appear

To tell the truth, subsumption and even AI is not a current area of interest, not because I don't think it has merit, or that I haven't read all of Brooks' papers, or that I haven't tried some rudimentary experiments, or that I am not a fan of Rod Brooks. Quite the opposite on all of these. (I consider Brooks one of my heros.)

Rather, my personal interest for the last 6+ years has been to come up with sturdy but inexpensive ways to build robots, so that the people who

*do* want to experiment with these things can do so without large cash outlays or living with fragile constructions. Ask me about problems encountered in robotic designs and I could write a book!

This is why I haven't joined in this thread on a practical level, though I will say that "just for grins" I've actually used some subsumption techniques in a non-robotic application I wrote for Technicolor, one of my "day job" clients. It seemed to make sense for a Windows GUI environment that allowed a multitude of ways to interact with the program. I'm sure I could have done it any number of other ways that, in truth, doesn't work any better than if I used a more traditional approach. In all, this one application does not make me an expert in the subject, so I'll leave it at that!

I think you might be confusing Einstein's humility with at least one variation of scientific philosophy. Einstein believed in his theory, but also knew that the theory would not "automagically" be considered true just because he published it. If all untested theories started out assumed to be true, doctoral students would have no need to defend their theses! I have a theory aliens live among us (not really, I'm just trying to make a point). The beauty is my theory can never be proven wrong unless the Earth blows up and there's no one left anyway. Does that mean my theory is guaranteed to be true by default? Of course not.

Actually, I feel one's approach to a scientific problem to be just about as important as the solution to the problem. Very much a glass half full/half empty thing, except with science, unless the glass is in a vacuum it's never really empty of anything! I guess my point is that if we can agree on a methodology, we can more readily find common ground by which to compare notes.

-- Gordon

And bless you for it good Sir.

In fact I think you have. More than once. Indeed I have one right here!

Interesting. I think this is perhaps the first non-robotics use of subsumption that I've encountered. Wonder how many others there are?

I don't think so. This is something we discuss a lot, both at SMU and at the Los Alamos Laboratory. The short-hand for it among the teachers of scientific philosophy is the "last man standing" paradigm. Multiple working hypotheses are contructed to explain any given phenomenum, and then we set about the process of trying to disprove each hypothesis, designing tests and experiments that can be used to eliminate competing explanations. Whatever hypothesis cannot be proven wrong (the "last man standing") is ASSUMED to be the truth until proven otherwise. Not the other way around. This is the way that most modern science is done, in my experience.

Reminds me of a joke. The opptimist sees the glass as half full, where the pessimist sees it as half empty. But the engineer sees that the glass is just too big...

Agreed.

best, dpa

Ha! Finally something you're clearly wrong about ....

formatting link

..........

................

Looking through Jone's recent book, he talks about external sensors almost exclusively, and the only reference to an "internal" sensor I found was a brief note on a motor encoder. Also, he implied that his low-level motor routines used encoder feedback to maintain constant motor speed, but never seemed to make much of it in the book.

In this sense, the architecture of subsumption greatly deviates from that of real animals and also from my idea [and I believe your idea] of how robots should be built. Real animals, and real robots, need to "constantly" sense their own internal states in order to survive best.

In addition, if you want something like a roomba to find its way back to the battery charger, it helps if it can sense it needs charging. Even Grey Walter's simple bots in the 1940s, with just a single flip-flop for brains, had this feature already built-in. There is ALWAYS a problem with too strict adherence to dogmatic ideas, in any endeavor. Flexibility and adaptation rule the evolution of living creatures.

..............

I have to agree with dpa on one account ---> that real insects are probably a lot more complex than simple subsumption idea. For one thing, they have 1000s of internal sensors.

For my money, we have to view subsumption as a bottom line architecture. Largely, something to build upon. Not the final anything. And which is exactly what I talked about in the thread on "Neo-subsumption" a couple of years ago.

This would tend to be the opposite of Einstein's comments you related earlier (no amount of positive proof would prove relativity as true), but I believe we're also talking about a matter of degrees. The more a theory is proven by scientific fact, the more true it becomes. But by setting all new theories to a value of False to begin with, by definition it MUST undergo scientific testing in order to be reevaluated as True. I make a disinction between "last man standing" and the "no man ever standing" of untested or unverifyable theories!

This is relevent to subsumption because while the theory has undergone independent evaluation, only a bottom tier or two has really been developed out. That part has been tested by the many individuals who have each reinvented the programming wheels to make subsumption happen. I believe there's much more, and the question is, can subsumption infinitely scale ("infinitely" to the limits of current-day computing power), and if not, where are its boundaries?

What we need now is a common test set, an apparatus if you will, that allows the next set of tiers to be scientifically quantified. Perhaps its time for a specialized open source multi-tasking subsumption RTOS that is designed around a robust enough architecture that the hardware isn't the first limitation encountered. The RTOS might be designed bottom-up to follow pure Brooks subsumption. Statements of "it can't be done" can be better evaluated because the test set is identical for everyone doing the research -- the same idea in science is used to eliminate as many variables as possible that can affect the outcome. Object libraries might be added to extend subsumption in order to experiment with the hybrids people like to use.

Such a task is beyond my coding abiilities, but I wonder if this might be the next logical step, seeing how this area of AI has stalled over the past few years.

-- Gordon

Thanks for the support on the lack of internal sensors observation. I'm in chapter 7 in Arkin now, and he makes the distinction between proprioception and exteroperception (pg 241). Brooks in order to focus on the world seems to exclusively use exteroperception which is one of the points I think he has gone long on for principle sake, that has limited the utility of Subsumption in general. This idea belongs to "Reactive based Robots" as opposed to "Behavior Based Robots" or "Subsumption". None the less, I can see where opponents of Brooks could have used internal sensing as a point to pick, saying he was reading the robots own representations of the world, rather than the world itself.

Yes, I remember. And that very much takes me back and puts me in the frame of mind of the opening post.

In that vein, we approach 100 posts here, and no one has addressed the OP question I am most interestd in. Can the same thing be written in FSA without the need for the concepts of subsumption? My answer is yes. In fact, that's why the previous thread on "What is a behavior" interested me. It looked like putting the trigger into the behavior level of subsumption was a way of removing it's natural place in a finite state machine as a condition of transition from states that did not have outputs to states that did. So I'm wondering if Brooks didn't have a tremendous insight in using the FSM approach, and in bastardizing it, threw the baby out with the bath water, or put another way, threw the power of minimize historic information (state information) out of the FSM by putting an unnecesary layer of control (Subsumption) external to it. Perhaps all the power and utility of Subsumption comes from the FSM's and not the other way around.

-- Randy M. Dumse

formatting link
Caution: Objects in mirror are more confused than they appear.

Actually I've seen the reset in Brooks as well, which is probably where Arkin found basis to include it. Cambrian Intelligence, Ch1, pg 15, Fig

  1. "A module can be reset to state NIL."

One of the candidate ideas I was going to give dpa was that Subsumption was going to get into trouble when there are shared outputs. For instance, when we walk, we swing our arms in opposition to our legs naturally (normally) for efficiancy sake. So that would be a normal walk gait. Our arms are moved by that gait. However, if we carry something, our legs are still are controlled by the walk gait, but our arms are assigned to different control.

So in the Jones simplified model of subsumption, this would not be possible. A module cannot be partially subsumed.

However when you look at this Fig. 4 in Brooks, you realize he allows for some outputs to be subsumed while others are not. The same with inputs, some inputs are suppressed, and others are not. So we have to reserve a more neural-net-like structure for Brooksian Subsumption.

While on that, I want to make another note. Early Brooks models seem to allow outputs to be wrapped back to inputs. See Fig. and 6 on following pages. With this loop, I argue, comes feedback, and with feedback comes a sort of internal representation. Similar loops occured in Genghis (Ch

2, Fig 4) between beta-pos and leg-up leg-down, and between alpha-position and alpha-pos and alpha-balance. Such loops of outputs to inputs seem to be less prominante in later examples, making me wonder if they were exorcised in the name of elimination of self-representations. But I am meerly speculating on the trend, and have no hard evidence I can point to in the text that suggests one thing or another.

-- Randy M. Dumse

formatting link
\Caution: Objects in mirror are more confused than they appear.

..........

I disagree with this, for several reasons.

First, as mentioned several times, for my part, I see subsumption - in the guise of no internal representations, or even internal sensor loops

- as being just the "bottom level" in a hierarchy of control. As noted, even insects rely on many internal feedback loops, and more complex organisms clearly use internal representations, as a basis for making comparsions with real-time incoming sensory data. AFAIAC, you cannot get away from this in building more intelligent machines.

Secondly, as I see it, Brooks capitalized on the FSM idea, in that [at least originally] the augmented-FSM was the explicit prototype of all behaviors. I'm not so sure he actually threw out FSMs as just made them simpler and simpler, ala what Jones talks about.

Thirdly, the subsumption [meaning priority-selection] scheme is really where the power lies, not in the FSMs. The priority scheme selects which FSMs run the machine at any point in time. You will always need something like this, especially as you keep adding more and more levels of complexity to the machine. The FSMs are the worker bees, and the subsumption scheme is controller/overseer bees. Actually, bee colonies don't seem to have overseers, but the brain sure seems to.

However, I don't see that this means you actually have to run every behavior in parallel at "all" times. That's one place where I differ from the original rule, as we've discussed before.

I think you have some inertial reason to keep trying to make FSMs fit all matters, but I don't think this is an especially fruitful way to go. Theoretically, maybe you can reduce everything to an FSM, just like the idea that all computation can be reduced to a universal turing machine, but there are better ways to implement certain functions, eg, neural nets, signal processing algorithms, on and on.

Well, yes and no. First, I think FSM's are fundamental. I learned about the concept of state first from physics, with the idea of the Bohr model of the Hydrogen atom explaining the spectra observed. The electrons where in ground state and could be elevated to an excited state taking up energy only in fixed quanta, etc. In fact our very concept of time is based on change of state. If there is nothing with regular changes of state, we can't even tell if time exists. The further I look in physics, the more I learn, the more convince the concept of state is primal to our existance. For instance, through E=mc^2 we know energy and mass are equivalent. I suspect, mass is an attribute of energy in a state. No state no mass. At the limits of gravity, time runs slower. When energy falls into a black hole, it changes "state" and contributes to the mass of the black hole. In the holographic principle, existance comes from information, "It from Bit" it is called. Yet I have hypothesized, you cannot have a "bit" of information without first having two states. So a state is half a bit, and therefore more fundamental than information itself.

So yes, I tend to think of things in terms of state. The above evidence provides the inertia you suggest.

Likewise, I often see what can be reduced to FSM's given the above inspiration. So like looking at the Turing machine for equivalence, I think, can this be reduced to the thing that is more fundamental than a Turing machine?

But no, I don't do it always. I only do it for the real time portion of any program, because of the close association of state with time. I recognize there are other kinds of computing models that work better algorythm solutions. In fact, I see the linear code portions in the condition testing, and the action portions to be of this kind. But I expect the control associated with time always to be best represented by state machines.

-- Randy M. Dumse

formatting link
Caution: Objects in mirror are more confused than they appear.

Nope, it's just another way of explaining the same concept. I only know about this quote from a lecture at SMU on the philosophy of science. Theories can only be proven false, never true. Einstein's comment and the "last man standing" paradigm are one in the same.

My experience is the other way around. Hypotheses are set to a default of "true" until proven otherwise. And some are untestable. Like string theory. Then it become less science and more theology -- i.e., plausible but untestable hypothesis.

So can all hypothese are eliminated?

Sure, it happens all the time. Sometimes more than "one man" is left standing -- it's always possible that a natural phenonenum may have more than one cause, in which case another descriminant needs to be determined.

More often, however, ALL of the hypotheses are eliminated -- no man left standing -- and it's back to the drawing board. These in general are for me the most interesting problems to study.

A good example. as long as were way off topic here, is the background noise of seismic signals from which geophyicists deduce earthquakes, explosions, and so on. That "noise" is highly correlated, not random.

So far we've chased dozens of hypotheses as to why that should be the case -- unrecognized phases of earthquakes, the tug of the moon, noise in the instruments, some unknown deep-earth events at the core/mantle boundary, meteorite activity, cosmic dark matter, and a dozen more. Each hypothesis we've been able to eliminate with carefully designed tests and experiments. No man has been left standing. Yet. That's why it's such a nifty problem to work on.

Well said.

Interesting idea. What form do you see this taking? Like a spec, or actual code that you could download and run on one of your robots?

best, dpa

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required