Where is behavior AI now?

On 30 Aug 2006 16:42:05 GMT, snipped-for-privacy@kcwc.com (Curt Welch) wrote:


Of course. I guess it's a generalised functional analogue of brain operation that will ultimately be of practical use. For most robotics applications humanlike capabilities are extraordinary overkill. But I'd love to see a robot with the capicty of, say, an ant. That *would* be useful.'Antbot' I would say 'tidy my house.'
____________________________________________________ "I like to be organised. A place for everything. And everything all over the place."
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yeah, for sure. Do I really need another kid to train to behave correctly? :)
I think the foundation of human intelligence however is strong general purpose real time reinforcement learning. I think once we master this technology to the level that would allow us to build a human like machine, we will also be able to use it for an infinite number of sub-problems in practical engineering applications. RL techniques are already used for example in learning algorithms that auto train PID controller parameters for example. These sort of applications will only grow as our technologies advance.
As an example, I just saw a ad for a ping-pong robot. It sounded like they had created a machine that could actually play ping-pong. But sadly, it was just a ball pitching machine that could shoot a steady stream of balls for you to hit back. I suspect it had some ability to sense when you had hit the ball back (maybe even detecting the vibration caused by the bounce on the table) and would shoot the next with the same timing you would expect if a person had returned the shot. But it wasn't smart enough to hit the ball with a paddle.
This is the type of problem that would take a large amount of custom code and hardware but which I believe would work far better with a strong learning controller driven by a fairly simple critic. It would take it a long time to train it, but this is something that would happen as part of the product design work, and once trained, it could easily be mass produced - but yet, it would retain it's learning ability, so that it could constantly adapt to different conditions and different players.
I think there are an infinite number of complex control problems (many done by humans now) where the foundation of intelligence could be applied to limited domain problems like the one above.
A big difference between humans and their RL skills and machines, is that to get a human to do something for you, you have to trade it for something the human needs - you have to reward it with something of value to the human - money, food, etc. Machines built to perform a task, are wired with a critic that rewards them for doing a good job. The work they were built to do, is their reward. The ping pong machine loves to play ping pong, and nothing else. So you don't have to give it breaks, or scooby snacks, to keep it motivated. Allowing it the play ping pong is it's reward.
This is where I think AI technology will be work well for solving real engineering problems and not be overkill.

A friend suggest to me that someone should built a nano robot that could travel around and capture insects to prevent the need for using pesticides. That's very much in the line of an ant-bot type idea.
Do ants have any ability to learn? Anyone know? I assume they have very little learning ability if any. But nature can be surprising. Knowing very little about ants, I would guess they are mostly just very complex reactive machines.
I think trying to create behavior as complex as an ant or bee is likely to be best produced with the help of genetic algorithms that slowly evolve a fixed but very complex controller.
Collecting trash might be another interesting application for smarter robots. Something that roamed public areas and picked up trash and put in near by trash cans. Could you build a bot for example that could clean up the trash at a movie theater or that a crowd would leave after a concert or sports event? These are the applications that in theory seem fairly simple but yet require a large amount of intelligence that's very hard to hand-program into a machine. And even harder to expect it to work in environments it's never been tested in. Adaptive learning machines however should be able to not only learn complex tasks like these, but adapt to different environments and for example discover new techniques for dong a better job on it's own.
--
Curt Welch http://CurtWelch.Com /
snipped-for-privacy@kcwc.com http://NewsReader.Com /
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
dpa wrote:

Well, on a completely practical note, can you count the output states of jBot for us? I make it about 5. Now what I don't know what to do with is the "output plus variable ratio" when it is dynamically stearing. Is that a separate output? a separate output with a variable? or shall we say each discernably different ratio is a different output? But seriously, how many output states does jBot have? Or do you insist it is infinite. A point of understanding I'm trying to make hangs in the balance.

A note is a state. A state is static, a period without change.
With 12 notes, you can make 12 notes.
Maybe you can make another beat frequency note with the discord of two similar notes, but I'm sure that's outside the relm of your question/point.

One note long? 12.

Given the requirement of stasis, yes, there is a limit. It is only by combining states that any melody of significance can begin to form.

That is a true pity.
I was hoping if we could see behaviors as atomic states, and not strings of atomic states, we could then have a very interesting discussion of the communications content in stringing the behaviors together. Music would be a wonderful analogical platform to consider this line. Then we could separate the intelligence from the behaviors.
Now reconsider my first post. "It occurs to me that artificial intelligence will be found in the decisions that switch behaviors rather than the layers of behavior themselves."
If I rewrote this to say, "It occurs to me that the making of music will be found in the decisions that switch notes according to a melody rather, than the separation of notes into layers themselves."
Randy
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Howdy
Inquiring minds want to know:
Randy wrote:

I think we must have very different definitions of what an "output state" is. If you are looking for a mechanical definition (how many keys are there on a piano) I'd say that each drive motor has 100 forward and 100 possible backward speeds so 200*200 = 40000 "output states" as you seem to want to define them.
Plus, both wheels are constantly accelerating and decelerating as the robot maneuvers, and doing so at different rates depending on the circumstances, so we probably need another multipler in there to accurately describe the number of possible "output states."
But what does that tell us? Behaviors are our robot's melodies. Counting the piano keys, and even taking into account how hard they are struck, tells us nothing about the potential variety of piano music.
It seems to me that all 40000+ "output states" so defined are involved in a "behavior" such as perimeter-following, or seeking high ground, or staying on a path, or following a human, or chasing a ball, etc, etc.
Those are what I would consider "behaviors." And their number is limited only by the imagination of the robot builder and not by how many speeds the two motors can turn in combination.
So I guess I do insist it is infinite, or at least as infinite as is human creativity.
As I say. it appears we have very different concepts of what constitutes a robot "behavior" and therein lies the rub.
regards, dpa
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
dpa wrote:

Yes, I know.
I am taking this stance deliberately to make a point. And I think the point is interesting enough to spend some effort upon. So I'm hoping you, or someone, reading will pick up my drift and acknowlege it, and then we can see if there is something deep and important in it. I think there is. But of course, this is chasing an intuition, and intuitions often come in stages and pieces. I don't have a final opinion, yet. I think I'm close. The big problem in knowing if I'm there or not has to do with naming what I've thought about that has no name yet. Even harder is how to pass intuitions. How to communicate something not yet fully grasped, not yet fully named, so others can explore the thought with you.
So, being as un-etherial as I can, I start again. I think behavior based robots has made much of creating behaviors. (To Wit: the field is named behavior based robotics, and not e.g. subsumed staged layered responses.) In focusing on behaviors, they've missed the intelligence lies not at all in the behaviors, but it the sequencing of behaviors. (Music makes a wonderful analogy of this and I will return to it later.)
All behaviors labeled by them "behaviors" are equal. Some behaviors are dirt simple - set and forget. In Jones terms, these are servo behaviors. Some of what they call behaviors are complex- having many subcomponents usually spaced out in time. In Jones terms, these are ballistic behaviors. The mistake has been to call all these "behaviors". They have distinctly different characters which can be identified and quantified, and thereby separated into different groupings. Further, the subcomponents of the complex behaviors, are not really components, but identifiable simple behaviors in themselves.
So yes, since first starting this thread, I guess I have come to have very different concept of what constitutes a robot "behavior". (Atleast I'm struggling with a notion change.) I am now holding a premise that any static application of a output value to an output device is a behavior. The simplist output values are constants. The slightly more complex output values are variable, but they are the output of simple computations or algorythms. What I don't hold is correctly classified a behavior, is any sequencing or cycling of different outputs from "non-linear" changes in the output algorythm. (I'm not hard on the non-linear part, but what I want to eliminate here are widely switched outputs due to booleans being snuk in.)
For example. I think given jBot's two output motors, setting both at 60% forward is a behavior. It's a settting, the value is a constant, it is applied to the outputs, and it remains established for an undetermined future time.
The more complex example of a behavior might be setting the left at 60% forward and the right at 60% + wallgain * (setpnt - currentwalldistance) or such. It's wall following algorythm, a settting with a computed variable output, it is applied to the outputs (a responsive behavior, actually) and it remains established for an undetermined future time. This is the servo mechanism which Brooks and Jones show clear perference for. This is perhaps their ideal of what a behavior should be.
So I guite disagree that jBot has inifinite behaviors. I think it has a cruise behavior, it has a edge detect behavior, maybe an avoid behavior, etc. But I'm confident the behaviors you've programmed into it are, limited, countable. Perhaps you also have other kinds of things which are (incorrectly?) called behaviors.
Reading Jones makes clear, a robot full of servo behaviors is not sufficient to make a useful robot. Another kind of response is needed, and that he calls the ballistic response. The escape response is the example.
In the escape response, a non-servo, purely timed, back-up is done, then a rotation, and an exit. There can be some detail in the exact sequence. (Is there a stop mode to slow forward motion? Is there a pause before reversing the motors? Is there a stop, or pause, to end the back up? or are there acceleration ramps on the back up, up and down? Is there a random element to the turn? etc. etc.?) But detail aside, what is consistent always is that there is detail, there are subcomponents to this supposed "behavior".
Now let's return to the tone and the tune analogy. If a behavior is a tone, and a melody has a tune ... would it be wrong to call a tone melody? Of course. You don't say, I press this piano key, and get this melody. Then I play this key and get another melody. Then I press these 5 keys in a sequence and get a beautiful little tone. No. It is wrong to interchange and intermingle the idea of a "tone" (sound of one key alone) and a "melody", also called a tune, (sound of several tones in timed sequence). (Notice a chord is another thing, which is very like the two we're discussing, but with a distinctively different meaning again related to its timing component.)
We must be careful naming things in scientific endeavors, lest confusion set in, and become its own block to progress. I'm saying a poor definition or use of the word behavior has caused just that. We've been using "behavior" as if it meant "paino sound". And then without a definition for the subcomponents, or supercomponents, of behavior, also calling them behaviors, it has become impossible to sort out the difference between a behavior with or without intelligence.
So, my new use of "behavior" is to mean "any static application of a output value (constant or linear variable) to an output device" is a behavior. Behaviors are reactionary, responses, and hold no inherent intelligence. Anything that has a collective of time sequenced behaviors is a "___blank___" yet-to-be-named. Emergent intelligence can come from "___blank___" yet-to-be-named. So a "time sequenced behavior" is a misnomer, because it is not a behavior, anymore than a note is a tune (melody). Maybe we could give it a name. Maybe a "sequavior". I don't know. I'd like something better. Stranger namings have obviously happened in the past. Let me think on it some more. But we really can't think clearly about this problem, until we come up with a non-ambigous, non-overlapping, set of definitions for what we're trying to take about.
So to repeat my opening premise, "artificial intelligence will be found in the decisions that switch behaviors rather than the layers of behavior themselves". Perhaps the depth of my original meaning should becoming much clearer now. Behaviors have no intelligence. The sequencing of behaviors is the source of emergent intelligence. Now, aren't those radical declarations? If correct, isn't this potentially a new departure for Artifical Intelligence?
Randy www.newmicros.com
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yes, of course.
If you limit the definition of "behavior" to some low level set of output actions on which all the action of the bot must be based due to hardware limitations, then of course, all the "intelligence" is in the sequencing of the behaviors. Where else could it be?

I would not say so. All you are saying is that the intelligence is defined by the behavior of the machine (in the sequence of outputs it creates). Some people think of "intelligence" as the internal thought process of humans, and they mostly ignored the outputs this thought process produced. Most of what is known as symbolic AI was based on this type of idea. But at the same time, there has always been a very strong component of AI which is behavior based. Turing's very famous 1950 paper that defined the Turning test starts with the line, "I PROPOSE to consider the question, 'Can machines think?'".
He then goes on to say that this is the wrong question, and that instead, it should be replaced with the "The Imitation Game" (which later became known as the Turing test), which replaces the idea of testing for "thinking" with the idea of testing to see if the machine is creating the correct behavior.
This was Alan Turing's attempt to get people to focus on behavior alone and to ignore things like "thinking".
Like Turning, much of AI has been focused on behavior since the beginning. Behavior is always about the machine producing the correct sequence of outputs at the correct time. It's really been the foundation of AI since it started.
For behavior based robotics, the strength has always been with the ability of the robot to produce complex behaviors that were not specifically expected by the creator. The programmer simply codes various low level behaviors, and some system for selecting them, and then the bot, while interacting with the environment, ends up producing an interesting, useful, but unexpected (by the programmer) string of behaviors. We say the new higher level behavior "emerges" from the low level behaviors that the programmer explicitly built into the machine.
repeating what you wrote above:

I don't see it that way. TO me, all behaviors are intelligent. Some are just more so than others. It's just that simple behaviors alone, triggered by simple triggers, don't look very intelligent. A light that comes on in response to pushing a button doesn't look every intelligent. But combine that logic with a billion or so exceptions, and it will start to look very intelligent to us.
We see intelligence in complex behavior that seems to have a purpose. But there's now way to define where the line from simple and dumb crosses over and becomes "intelligent". It's just a matter of degree.
--
Curt Welch http://CurtWelch.Com /
snipped-for-privacy@kcwc.com http://NewsReader.Com /
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Indeed.
But you see, in behavior based robots, it is thought that the layering of the behaviors is where it is at. Really the behaviors have almost nothing to do with it. That's the departure I'm pointing out.

There everything is lumped together again, and you conclude intelligence is defined by behavior. It is not, because behavior is too broad a word. Hence the distinction is lost.
It is Brooks subsumption that leads to intellegence, and not the layering of behavior.

But it isn't behavior at all. The structure of the subsumption is the intellegence. The layering and behaviors and all the rest are devoid of intelligence.

Emergence can happen, but the triggers and responses that cause outputs to be expressed are where the intelligence lies, emergent, or planned. That's where they all are.

To me, all behaviors are dumb rout responses/programs. Of course, I'm talking about the more exact meaning, being atomic behaviors. Composite behaviors might have some intelligence to them, but it isn't because of the behaviors, its because there's some scheduling structure in with them, and that's where the intelligence is coming from.
Combining them into some sequence so the whole is greater than the sum is where the "greater" part (intelligence) comes from.

Brooks quotes, fyi,
"Intelligence is determined by the dynamics of interaction with the world."
"Intelligence is in the eye of the observer."
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Howdy,
RMDumse wrote: <snip>

<snip>
Ok, fair enough, I'm game.

The key phrase there to me is "the behaviors you've programmed into it are limited."
Seems like the argument has shifted from what is possible with the hardware to what I personally have accomplished with it, which seems beside the point. I freely confess that jBot and all my creations are flawed and limited by my smallness of imagination.
Again, that was not your premise, as I understand it.

Interesting.
I have also found that the decision to change states is the most problematic.
The most recent example of this for jBot is the need to switch between target acquisition vs. perimeter following to make it across the SMU campus, or navigate Fair Park. I, as a human watching the robot, can easily tell when it should be in one mode or the other. It's not so obvious how the robot can make the same decision.
The current solution is to switch to perimeter following when the waypoint target is directly behind the robot, and switch back when it is directly in front. This works very well most of the time. It usually switches into perimeter following mode to go around buildings, also did recently to work its way out of a parking garage. But it also does the state change inappropriately sometimes, and in those cases usually makes the navigation worse.
(I noticed in re-reading the above that I used the word "mode" to describe target acquisition and perimeter following behaviors. Is that the word you are searching for?)
So I have arrived at a somewhat different conclusion based on the observation that making correct decisions about when to change states requires lots of intelligence, which I think is the same thing you are saying.
Intelligence that our robots don't have right now, and probably won't have for a long time.
This comes full circle to our discussion last Spring, and the "heretical" observation from my own robot building experience:
I have found, as a practical matter, that reducing the number of states results in more robust/intelligent behavior. Not the other way around.
Reducing the number of required states means reducing the really smart decisions that the robot is required to make in order to solve a particular problem, and that results in more robust and intelligent behavior, because our robots really aren't very smart and are not very good at making those sorts of decisions.
I know this seems counter-intuitive, but this has been my experience: reduce the required states. Let me give three examples to illustrate.
Example I.
Consider the aforementioned bump-and-run robot problem of getting stuck in a corner. Handling this situation requires two distinct phases.
First, the robot must recognize that it is stuck, perhaps by counting bumper presses occurring in a limited time window, or recording a "history" of left-right-left-right bumper presses, or watching the wheel odometry and observing that we're not moving very far from the same location. I've done all three of these at one time or another.
Second, once the robot "knows" that it is trapped, it must have some recovery behavior, like rotating 180 degrees at the next bumper press, or always turning left (or right) no matter which side the bumper press is on, and so forth.
The problems arise, of course, when the robot does this inappropriately, either 1) failing to change states when it is necessary, or just as bad, 2) changing states when it is not appropriate, even detrimental.
The result is that state changes intended to make the robot more capable of solving some particular problem, end up degrading the robot behavior in other circumstances.
Now let's change the operation of the robot's normal bump-and-run behavior such that we add a tiny amount of randomness to each maneuver, so that each turn it makes is not exactly the same size -- one might be 10 degrees, the next is 12, the next is 9, and so on.
This has essentially no effect on the normal bump-and-run behavior -- we can still navigate a narrow hall -- but this small amount of noise in the response prevents the robot from ever getting stuck in a corner, or any other similar geometrical symmetry (i.e., wandering around the room in the same pattern over and over).
Because the normal bump-and-run state is more robust, the robot neither needs to be able to detect the "I'm caught in a corner" condition, nor does it need to have a special behavior to recover from that condition.
Consequently, it no longer is capable of making that decision incorrectly and executing those behaviors inappropriately, which causes problems that would otherwise not occur.
Thus the robot behavior is made more capable by REDUCING the number of states required to solve the problem.
Example II.
The second example is that of dealing with curbs for an outdoor robot, such as my 6-wheel robot, jBot (which can deal with curbs but which cannot, alas, wag its tail ;)
A robot that cannot climb over a curb must treat a curb as an obstacle. That means it must be able to, much like the bump-and-run example above, 1) sense the presence of the curb, and 2) have some meaningful way of dealing with the curb. Again, problems arise when the curb is mis-identified, either by not changing behavior in the presence of the curb, or by incorrectly changing behavior in its absence.
In the case of jBot and other similar platforms, the robot is easily able to climb over curbs. This means that the robot needs neither to be able to accurately detect the presence or absence of curbing, nor does it need to have a special behavior for dealing with it.
Because the robot does not need to change states to deal with curbs as special problems, it is not able to make that decision "incorrectly." Once again, the robot's behavior becomes more robust by REDUCING the number of states required to solve the problem, in this case, mechanically.
More required states mean increased likelihood of being in the wrong state, at the wrong time, the very question that Randy originally posed, and having to be REALLY SMART about when to change states.
Example III.
The first example was a software solution to reducing required states, and the second was hardware. The third is a combination of both, and deals with the control algorithm for a differentially steered robot.
One advantage of most differentially steered platforms is zero turning radius: the ability to turn in place. That is a great simplification for navigation as compared to the back-and-forth required for a normal Ackerman-steered vehicle caught in a dead-end alley, which even we humans sometimes have trouble maneuvering in our cars.
How is that decision made? How does the robot decide when to enter the "turn in place" state? How does an Ackerman steered robot make that decision?
On my differentially steered robots, jBot included, the motor commands are not for a left motor and right motor, but rather for a velocity vector and a rotation vector. In simple terms, the velocity vector is a voltage added to both motors, and the rotation vector is a voltage added to one motor and subtracted from the other. The velocity vector causes the robot to drive forward and backward at various speeds, and the rotation vector causes it to turn left and right at various rates.
Now picture this robot driving in a large arc, perhaps to avoid an obstacle, with a positive velocity vector of some value and a positive rotation vector of some value. And picture the robot slowing down, that is, reducing the velocity vector, but not the rotation vector, as it drives. The result is that the turn becomes tighter and tighter, until the velocity vector finally becomes 0, and the robot is then rotating around its center, like an ice skater tightening her turn until she is spinning in place.
Somewhere in the course of that maneuver, the inside wheels went slower and slower and finally went through zero and into reverse, and began to speed up in reverse. When the velocity vector reaches zero, the inside and outside wheels are going the same speed, but in opposite directions, and the robot is rotating around its center.
The key point is this: the robot never "made the decision" to reverse the inside wheels and spin in place. There is not a separate "rotate in place" state the the robot must decide when to enter and exit. Rather, it is all a natural consequence of the relationship between the two control vectors, all in the same state.
As a practical matter, when the jBot enters a dead-end alley, for example, the large number of very close sonar detections force the robot velocity vector to ramp toward zero until, by the time the robot reaches the end of the alley it is 0 and can no longer make any forward progress at all, but can only rotate in place. But when it does so, the sonar gets longer detections as the robot rotates toward the entrance, and so the velocity vector begins to ramp back up to full speed from zero.

the dead-end alley, slowed down to a stop as it approached the end, rotated in place until it was facing the exit, and then accelerated back to full speed as it left.
But there were no state changes, no decision to rotate in place, no decision to stop rotating. Hence, once again, the robot was prevented from making the "wrong" decision about when to change states and rotate. And therefore its behavior was, I would argue, made correspondingly more robust and apparently more "intelligent" by reducing the number of states required to deal with the problem.
There are several videos on the jBot web-page illustrating this behavior:
<http://www.geology.smu.edu/~dpa-www/robo/jbot>
See particularly the videos of the robot navigating around the nooks and crannies of the TI building in some of the later videos.
The requirement for some number of different states is, I think, inevitable. But my experience is that it's useful to work to reduce the number of required states as much as possible.
The route to robust behavior seems to lie not only in being smarter about when to change states, but also in reducing the necessity of changing states in the first place.
As I said, a heretical suggestion.
best regards, dpa
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yes, the argument shifted. No intention of slight to you, though. Just an attempt at a stair step argument. i.e. 1) What's in it is limited and we agree on that. 2) Next step was to see if I could get concurrance on what can be put in it is also limited (given hardware suite remains the same).
Again returning to premises, I have noticed limited inputs and outputs on our robots. I have hypothesized, maybe that means there are limited combinations and permutations of inputs to outputs. I have not yet found an argument that convinces me one way or the other. I suspect there is a limited set. I also suspect many arguments will be presented suggesting inifinte sets, but when examined carefully, it will be found the sets have non-unique members, meaning they can be reduced to limited sets. My thinking is seemingly infinite sets can be reduced by removing the analog components of outputs to a variable, while the method of calculation of the output remains static.
Now, I do favor the idea of a limited set. If there are a limited set, then we can be sure we have programmed every possible behavior into our robot. Likewise, we can possibly identify every possible transition from one behavior to another. We can know if we have addressed all the robot can do. We can know if we have made the robot as intelligent as possible. We might even be able to see every possible emergent property.
Wouldn't that be a significant goal?
So how can I imagine this might be possible. Let's check the low end limit. Look at Braitenberg 101. His very first robot has one photosensor and one motor. Can we construct a finite set of behaviors for this robot? I say yes. The robot can 1) drive the motor toward the light with some gain function, 2) drive away from the light with some gain function, 3) drive the motor at some speed function ignoring the light. 4) not drive the motor. That's it. Any other output behavior can be recast as a combination of the above outputs.
In fact to demonstrate just that, notice #4 is really just a special case of #3, where the speed variable is zero'd (depending on how the hardware details are done, but as far as externally observable behavior, the point stands).
Now, to my late-night-after-a-hard-week thinking I can't come up with any other possible behaviors for this robot. I can come up with ideas of random behaviors, but any I can think of, can be reduced to sequenes of the set of three listed.
So I am still very found of the conjecture, limited inputs and limited outputs means all possible atomic behaviors can be accounted.
Any display of "emergent intelligence" will come not from the behaviors, but from the sequencing of them.
Pretty strong argument above as it seems to me just now. No counter argument comes to mind. Hummm... that seems an important enough thought to stop this post here, and take up your wonderful examples in a separate post later, and see if anyone has counter argument.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Howdy
RMDumse wrote: <snip>

<snip>
I don't know what sort of argument you would find convincing, but for me your hypothesis does not comport with observation. It seems to me that the musical analogy, with which you apparently agree, is the most apt. To paraphrase, in your own words:
"I have noticed limited inputs and outputs on my violin. I have hypothesized, maybe that means there are limited combinations and permutations of inputs to outputs. I have not yet found an argument that convinces you one way or the other."
So it is your intuition that we can "identify every possible transition from one note to another. We can know if we have addressed all the violin can do."
That is certainly not my intuition. Wonder what Bach would think of that statement?
Why does that sound silly in reference to the violin but acceptable in reference to a different sort of instrument, the robot? I submit there is no difference. I have not seen anything in your musings to convince me otherwise. The attempt seems to me to be to put some sort of mathematical restraints on human creativity. That strikes me as a meaningless endeavor.
Now, if in fact you believe that you CAN put a limit on the musical possibilities of the violin by applying some sort of formula based on counting the violin's limited "inputs and outputs" then we evidently have fundamentally different understandings of human creativity, and should let it go at that.
We see this on slashdot every few years. Someone has "analyzed" pop tunes and written software that will compose #1 hits without human intervention. It never happens. As annoying as it is to the engineers, the realm of possibilities for human creativity is not so easily constrained and mimicked.
So, counting input and output resources as a means of restricting what a clever human might do with those resources seems a silly exercise to me.
(However, if you do get that #1 Hit-making software to work, I'd like to know! Let's make a little Top-40 money, pay for some of this escoteric robot research... ;)
best dpa
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Why do I feel the sands shifting under my feet. Am I not expressing myself well? or is my meanind deliberately lost? As of yet, I cannot tell, but I do feel I'm not understood.

Note the follow is indeed a paraphrase, and not a quote of mine.

Part of the shifting sands is the argument made the transition from piano (which I didn't like because of all the modified intonations possible, but was at least quantum in possible tones, a harpsicord would have suited me better for a much more consistent note with each instance of output, to a violin with an analog range of frequencies, and even more nuances possible.
In every analogy, there's the part that fits, and the part that doesn't. You wish to move me more into the part that doesn't. Please note I resist the change as obsfuscatory.

I don't think your old enough to where Bach would have had an pinion on your intuition. Do you have any evidence to the contrary?

And here I think the my argument has been strawmanned, since it said nothing of human creativity, but instead was trying to pronounce on: if there are a closed set of atomic actions a robot can take (the analog in music being notes available on some intruments) and a closed set of inputs to trigger those atomic actions, reasons to transition from output action to output action, (the analog in music being different ways to go from note to note) then too it might (must) be a closed set.
The atomic output actions I mention, I have tried to make distinct form behaviors as they are now known, and called them atomic behaviors (although I think they should be called just behaviors and anything with complexity to it not be called a behavior).
None of this has reached the stage of a longer sequence of atomic behaviors, which are still called behaviors, but in music might be a thrum or a trill or chorus or stanza. Nor have we reach the length of combination which would rightly be a melody.
In the music analogy I am saying, given a limited set of notes, and a limited transition table from note to note, there is a closed set of note to note sequences. That, however, says nothing about limiting the amount or complexity of any possible melody. Melodies are infinitely variable. Melodies are formed by intelligence, human, or even birds, etc.
Some (most) instruments have a limited number of notes. Some (most) instruments are limited to express only one note at a time. Some (most) instruments have limited ability to go from note to note.
My "breakthrough" in behavior based robotics using the musical analogy is, the melody isn't in the note itself. It is in the manipulation and sequencing of the notes that makes the melody. In robotics terms it is, intelligence isn't in atomic behaviors, or the individual transition from atomic behaviors to atomic behaviors. It is in the whole sequencing of the atomic behaviors that intelligence arises.

Then don't bring it up, because it has no bearing on the discussion at hand?
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hi
RMDumse wrote: <Why do I feel the sands shifting under my feet.>
I think the argument is still the same. I don't see how counting output devices or input sensors defines or limits what a clever human may deduce about the larger environment from those sensors, in some as yet un-thought-of way, and then program that into the robot, which thereafter has a new behavior. You suggest, as I understand, that all possible behaviors can be known just by counting the number of input and output devices on the robot. I disagree, and offer the absurd notion that one can as easily claim to know all violin music just by counting strings on the violin. Isn't that where we are in the discussion? What did I miss?
You also don't see what human creativity has to do with robots. Humans build the robots. The robots are as clever as the human can make them. The humans cleverness and creativity are intimately tied up in the behavior of the robot.
So when you say, "we can know if we have addressed all the robot can do" you are making a statement about the creativity of the humans that designed and built the robot. It's capabilities are limited by their cleverness and their vision.
I have a sonar array made of 4 sensors on one of my robots. I've been working with it for about two years now and I'm continually finding new things I can do with it, new ways of getting information from the data stream, and new ways for the robot to react to this new information. I'm certain persons more clever than myself can come up with many more. So while the I/O on the robot has not changed in a couple of years, the "interconnections" between them have changed substantially, and continue to change.
Now as I understand it, you want to count the number of sonar units and the number of drive motors and then pronounce some limitation on the number of clever ideas that can be devised for using these devices. That is where you lose me.
Your own words were so that "we can know if we have addressed all the robot can do."
All the robot can do. Seems like that requires us to be awfully clever.
Randy you can't weasel out of it by redefining "behaviors" to be just a synonym for your beloved "states." I think most people would agree that a robot seeking to high ground through a cluttered landscape is exhibiting a definable and observable "behavior." (which by the way is kind of cool to watch, remind me to show it to you).
best dpa
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Would you say equally say, those who study phonetics and phonology are trying limit what can be said? Or are against free speach? or put a limit on human creativity? Absurd!
They wish to identify and count the atomic speach sounds (phoneme / phones). (But they don't deny some clever human can't make some other kind of sound.) I wish to identify and count what is the possible "aphabet" of some particular robots output capability. That doesn't limit what it can do, it only identifies the atomic elements of what it can use to do it.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Randy M. Dumse wrote:

The comparison to phonetics is not apt, but I give up. I refer you only to your own posting on the "fish and robot" thread, where you discuss adding additional "phonemes" to your existing hardware sensors through the advanced application of cleverness, to suggest that your own experience mitigates against the existence of the "limited alphabet" of atomic elements you wish to count:
<http://groups.google.com/group/comp.robotics.misc/browse_frm/thread/b1525dfd25bb48be?scoring=d&hl=en
message #25.
best, dpa
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
dpa wrote:

I hear you do not agree, and wish "give up".
I still think it is a strong argument, and this may or may not interest you, but if anyone else has interest, I'll continue a bit why.

Learning Tagalog (language from the Philippines) was about the hardest thing I ever tried. It should be a simple language, you'd think. It has less sounds than many others. Tagalog has only 21 phonemes; 16 consonants and 5 vowels. Syllable structure is relatively simple. Each syllable contains at least a consonant and a vowel. So as a result you get lots of a ba ca na sounding sylables. It is a very phonetic language, pronounced very much like it is written. And while we here in the states tend to remember the place of MacArthur leaving and the death march as Bataan (didn't you pronounce it Ba tawn?) the pronounciation in the Philipines is Ba Ta An, with each sylable getting an almost equal emphasis (at least to our ears).
My point here, is to speak in Tagalog, you get a limited set of sounds you can make. You can still talk about anything you want. But the sounds you can make are limited, and you tend to make lots more of them. You use many more simple sylables in series. But you can say the same thing in both languages.
But since we think in terms of the language we know, native Tagalog speakers don't have "q's" and "th's" in their thoughts. Many of them do speak English, so many have the ability to make far more sounds, but when it comes to communicating in pure Tagalog, those sounds just aren't there. And unless they are very very practiced, when they are speaking English... those sounds are often absent, too. "Tagalish tainted" as it were.
But! If you want to speak Tagalog, you learn a set of sounds, and that's all you need, that's all you'll think with, and that's all you'll need.
The parallel I see for robotics is we can come up with a set of atomic behaviors, and while it might be possible for some special effort to come up with a new one, there is still some basic limited set.
So was it wrong or unfruitful or somehow limiting to human creativity of the Philippino people that someone counted the basic atomic sounds as apparently expressed in their (most popular) language?
Or are Russian speakers, with their 33 character alphabet somehow automatically smarter than either Philippinos or 'canos because they have a richer set of phonemes? Or can you still express the same concepts in all three languages by using enough sylables to come to the same information content? And in all three cases, why did they stop at 21, 26, or 33 letters/phonemes or what have you? Why a limited, loosely-packed, data set?
Randy
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

1 and 0 works nicely. :)

It was probably optimized to best fit the structure of the brains and their mouths and their ears. I suspect, if you could find people in each of these cultures who haven't had their DNA too mixed with other cultures yet, you could probably do some testing and find that people from cultures with languages with higher phoneme counts had better phoneme discrimination skills.
It would be hard to test since someone growing up with that language will have their brain tuned to the needs of the language - so you would have to figure out a way to do testing before the brain had been trained by their language. Maybe adopted babies from one culture to another where they never learned the natural language of their culture would be a way to find some data.
Speech and language skills certainly can vary from person to person so it would make sense to me that an isolated culture might have developed different speech and language skills and that the language they created would match that.
The advantage to using more phonemes is that communication can be faster - you need to produce less syllables to communicate the same idea - i.e., you can communicate faster. We assign meaning to all the shortest sounds first, and as they get used up, new ideas that assigned to longer sequences. Words change over time so that their length is adjusted to match their frequency of use to keep the communication channel optimized (as per Huffman encoding to maximize information flow). Cellular Phone becomes cell phone, becomes cell, as in, "give me a call on my cell", as its frequency of use in our life rises.
So for the same reason, there is pressure to use as many phonemes as the body can produce, and the ear/brain can distinguish, without increasing the error rate. You would then expect the language used by a culture to drift to optimal usage patterns based on the limits of their brain and sound producing hardware.
I suspect if you were to test people, you could actually see this difference.
I know I for example have a hell of hard time telling a short e from a short i (as one of many issues I have with language). I suffered through grade school with speech problems and spelling has likewise been a struggle my whole life. I suspect most of it has been created by a limited sound discrimination ability (on pitch discrimination tests I score way below average even though I test normal on standard hearing tests based on volume). And likewise, my tonal memory skills are way below average, where as my visual memory skills are way above average. I can't tell hear difference between pin and pen, yet when someone pronounces them correctly side by side quickly, I can hear a difference. If more people were like me, then English would have changed by now.
Maybe my brain is better fit for a language like Tagalog? :)
--
Curt Welch http://CurtWelch.Com /
snipped-for-privacy@kcwc.com http://NewsReader.Com /
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

And that's why late-night-after-a-hard-week thinking should probably be set aside for morning. Shortly after posting I thought...
Oh no, Curt's going to filet my arugment. I've overlooked state information in the input stream. Flash the light two times, and the robot does some trick. Flash three times it plays dead. and so one.
Just a few moments later,
Oh no, dpa's going to point out there aren't three behaviors at all, only one, because if you use a two variable algorythm, you can use one variable with gain and produce all photovore-ish outputs, and the other variable with gain and produce all the photo-insensitive outputs. So from his excellent example of state reduction through non state variables, I am hoisted by my own premise of state reduction.
I don't know. I'm sure there's a pony in my argument somewhere. I'll keep looking.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

That's a simple example of exactly what I was talking about. Machines need to respond to not only current inputs, but to temporal sequences of sensory inputs as well. It can't just respond one way to every light level reading. It needs internal memory (what you called state) to record whatever aspect of the temporal sequence is important to it. If the machine must react differently to two light flashes than to one, it needs to record what it has recently seen so when the light flashes, it can react one way, if it's the first flash, but a different way, if it's a second flash.
How many different ways the machine can react to a string of light flashes, is only limited by how much memory it has to store state information and how many behavior rules it can encode as a response to the different state values. It can have different reactions to different combinations of long and short flashes for example - just like a human can respond differently to various long Morse code sequences. The more state it can store, and react to, the more complex its behavior can be. So no matter how few atomic behavior exist in the machine, or how simple the sensors are (a light flash detector), the number of different choices it can make about which behavior to produce next, based on its state, is in effect unlimited - it's limit is set only by how much state memory it has.
--
Curt Welch http://CurtWelch.Com /
snipped-for-privacy@kcwc.com http://NewsReader.Com /
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Curt Welch wrote:

I invite you to join the new thread, Syntax and robot behavior. I propose what Brooks is really saying about the differences between animals and men is exactly the ability to store and respond to state. Our syntax, like your example above of usng Morse code, is our ability to store state information, which animals have a much lessor ability to do.
-- Randy M. Dumse www.newmicros.com Caution: Objects in mirror are more confused than they appear.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I think most of our brain is used the same way most of an animal brain is used. The state is stored in the activity of the neurons and for the most part, the higher animals have very similar brains with fairly similar state.
Just learning how to walk around and do simple things like pick up objects or follow something, or to see something we want (like food) and navigate over to it takes up a huge amount of our brain power - yet dogs and monkeys do this is well.
What I think we have that's important is this ability to have memories of past events (and to fabricate new ideas - which I think is nothing more than the brain merging together past memories). Plus, our language skills. But I think the part of the brain that gives us our language skill is really no different than the parts which allow us to do all the same things the animals do. It's just because we have a small section isolated in the correct way that it can be used for language processing that gives us all these extra language powers. I think the idea that we have "syntax" and the animals don't is about as far off the mark as you can get. They have all the same syntax powers we have and they use it all the time in order to interact with their environment. In all cases, the problems are the same, the system must recognize temporal patterns, and learn to produce different behaviors to different temporal patterns. To learn to walk we must process temporal patterns in our vision and sensory data and produce leg motions to keep us from running into things.
The difference is only in the length, and the nature, of the temporal syntaxial patterns the system is optimized to respond to. When we move, we need enough temporal pattern memory to be able to predict what the things around us are doing - how they are moving relative to us. You don't need 10 seconds of temporal pattern memory. Instead, you need more like .5 seconds of temporal pattern memory. But it needs to be a fairly high resolution memory to be able to do things like jump over a rock and land without loosing your balance etc.
Yet, to understand and react correctly to language, you need temporal pattern memory of many seconds. The context created by the words spoken a few seconds ago changes the meaning of the words we hear. That means the language processing part of the brain is creating different reactions to temporal patterns that go back many seconds.
What Brooks' is talking about as syntax I think is nothing more than the same basic temporal pattern reaction skills that exist in all the brain. But for the language section of our brain, it's configured to give us many seconds of low resolution pattern matching, instead of the normal configuration of a very high resolution, but very short length temporal pattern matching system used for driving all our normal physical behaviors.
Animals can't understand language not because they don't have syntax, but only because they their syntax scope is tuned for very short intervals.
They can't understand time like we do, because they don't have the memory we do - the ability to call up past brain states. If you can't call up past brain states to compare side by side with current state, then you have no way to understand time like we understand it.
I suspect both of these skills are just minor tweaks to the basic brain design which is why our brains don't seem very different from that of a chimp for example.
I think the brain is just a temporal reaction machine trained by reinforcement learning. It creates brain state from sensory data which represents the recent temporal patterns that have happened in the sensory data and it produces behaviors as a direct reaction to that state. The abilities we have over the animals are not because we have special hardware in our brain, we just have the same temporal reaction hardware the chimps have except some of it has been configured and tuned slightly differently to allow it to be used for this specialized function of language which requires a much longer short term temporal memory.
--
Curt Welch http://CurtWelch.Com /
snipped-for-privacy@kcwc.com http://NewsReader.Com /
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.