<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I don't recall the details of what makes David's subsumption
unique. In my first NASA competition I used subsumption with a
unique twist. There was a behavior that would switch the
subsumption list being used.</p>
<p> If you're not familiar with subsumption is is a list of
behaviors or actions. Every cycle the list begins again until one
of the behaviors "fires". The processing starts again at the
beginning of the list. That's simplified but gives the idea. I
actually found that setting a flag and letting the list finish
processing also worked. Once the flag was any following behavior
would not "fire" but it could record information. That was useful
for handling behaviors that did a timing function.</p>
<p>Since then I've moved to behavior trees (BT) which are used in
robotics and for autonomous actors in games. That shooter coming
after you is driven by a BT. Subsumption is actually subsumed
(ha!) by BTs as one of the techniques used in the trees. <br>
</p>
<p>Subsumption is basically an OR operation, just like a logic gate.
If one behavior fires the overall gate becomes true and returns
to a higher level in the tree. There is also an AND operation
where all the behaviors must fire before returning true. If one
fails to fire a false is returned. The other main operation is NOT
which is an inverter of the output of a list. <br>
</p>
<p>There is a lot written about BTs but not as logic gates as I've
described them. I have code which does this but need to update it
for C++20. Once I complete that revision I want to look at
learning using BTs, i.e. adding new behaviors including expanding
the trees. An advantage of treating them as logic gates is boolean
algebra is applicable which allows simplifying trees using some
well known techniques. After learning a larger tree can be trimmed
to a more compact but logically equivalent representation. <br>
</p>
<p><br>
</p>
<div class="moz-signature"><font face="Comic Sans MS"
color="#000080"> <br>
-73 - <br>
<b>Rud Merriam K5RUD</b> <br>
<a href="http://mysticlakesoftware.com/"> <i>Mystic Lake
Software</i> </a> <br>
<br>
</font>
</div>
<div class="moz-cite-prefix"><br>
</div>
<blockquote type="cite"
cite="mid:CABfe6oQAJpE-HK2GL-cCtjiUxm7RjLJ-NA5qhH7sOevZKtG5VQ@mail.gmail.com">Thanks
for the reply. I think that perhaps part of the reality is that I
have developed a subsumption based reactive navigation method that
I believe is fairly unique --- the only other people I've
encountered that do the same have learned it from me. </blockquote>
</body>
</html>