CS372: Artificial Intelligence (Fall 1998)
Week 5: Responses
Readings
- The Robot: Corral Exiter, Obstacle Avoider (Subsumption-Based)
- Chapter 7, from Nilsson's text.
- Chapter 2 from Moravec's Mind Children
Diana Applegate
Well, before I comment on the computer vision reading (which I found to
be quite interesting, by the way), I'd like to say a few things about the
lab. Our robot was, to put it mildly, behaving quite erratically for nom
apparent reason this week. For example, I'd run the program once and meverything
would appear like it was working normally. Then, without making any changes,
I'd run it a second time and get totally different results. Our group attempted
to read in the ambient light each time the robot was turned on, but there
was such a discrepancy between our right and left light sensors that I think
things got screwed up anyway. Was anyone else having wacky probs related
to ambient light?? And, to further embarass myself, I'll admit that I found
the test to be pretty difficult. Please tell me that some of you felt this
way, too! I'm hoping we'll go over it in its entirety in class.
On to computer vision...I found Ch. 6 in the text to be quite interesting.
However, I would like to know more about the applications of computer vision
- namely face recognition and fingerprint recognition. I know that there's
some research going on at UPenn in the field of face recognition...but where
exactly do things stand as of today? Will we encounter some sort of face
recognition security system anytime soon? What about fingerprints as ID?
I recall seeing a movie (was it Gattica?) where the employees of some large
company pressed their fingerprints to a small screen in order to enter...I'd
really enjoy not having a pocketful of keys!
Moravec makes a good analogy in Ch. 2 to explain the complexity of modeling
the human brain. Even the retina, which is pretty much understood in biological
terms, is very difficult to model in computers. Computer vision is quite
complex and still has many "bugs" in its systems that need to
be ironed out. In addition, Moravec notes that the retinal process translates
to one billion computer calcuations per second. It seemed to me that, throughout
the first chapter, Moravec was so wrapped up in his passion for AI that
he ended up on cloud 9 somewhere...I thought his introductory chapter was
a bit TOO optimistic. Therefore, I'm happy that, in Ch. 2, he seems to be
slowly coming down to earth. I think it's wonderful that Moravec loves his
field of research so very much, but he needs to face the reality that we
are a long ways away from modeling a human brain (if it's even possible).
He notes: "Too little is known about both the overall functioning of
the human brain and how an intelligent computer would operate..." This
is true. Until we successfully map out the human brain, we won't be able
to get too far in terms of AI.
Jocelyn Arcari
State-Space Graphs are good visual ways to display all the possible routes
to get from an initial to a goal state. With our small examples it does
not really matter which path you take to get from node A to node B even
though there IS a shortest route (optimal path), but I would be interested
in seeing the searching methods for finding the optimal path in very large
graphs. Nilsson notes that we will look into that in a later chapter. Moravec
went into a Long discussion about the retina and how neurons and neurotransmitters
act within the brain. I was surprised to find such a detailed discussion
in a book about robots but it was interesting to see just how much we do
know about the reactions that are taking place within us and how difficult
it would be to incorporate them all into constructing a computer that can
process information as quickly as can the brain. Moravec concludes it would
take a computer performing 10 trillion calculations per second. How many
calculations per second can the fastest computer today perform??
I was also wondering if there had been more progress
with creating a working three-dimensional circuit using a diamond? I had
never heard of such a thing before but it is an interesting idea.
The other interesting and far-fetched-sounding idea was the possibility
of tiny robot arms which would be able to grab individual molecules (nanotechnology).
Something like that would seem to me to be very far off in the distance
at this point and I wonder if that would ever be achievable. I wonder why
we would need a computer to be able to do this? Or why we would need a computer
with capabilities of "10^30 times the power of the human mind"...?
I cannot even conceive of what we might use them for. Sounds scary, though.
Finally, lab this week seems to be taking a long time. There were many things
to consider when trying to get our robot to do exactly what we wanted it
to do. I suppose it takes practice.
David Costello
In Mind Children, the author wrote extensively on how computers were unable
to duplicate the speed of the human brain. However, since he wrote this
book, there have been several advances in microprocessor technology. I was
just wondering if today's fastest computers are any closer to the goal of
10 trillion calculations per second. Also, in the second chapter the author
reviews the evolution of computers in terms of generations. He states that
the advent of the microprocessor was the fourth generation, the development
of artificial intelligence would be the fifth generation, and early Macintosh
computers had no generation. My question is what generation are our computers
today? Do they even have a generation? The author then goes on to confidently
predict that a 10 teraop computer would be available before 2010. Have we
so far matched his estimates of computer speed development? Lastly, I was
wondering if there is any way I can program my robot to consistently turn
90 degrees. It seems that every time I find the appropriate amount of sleep
to complete such a task, the robot fails to repeat the same action after
I recharge the battery (the motors goes faster with more power in the battery).
Sonia Dubielzig
Well, since I'm trying not to think about the test
right now, I'll write about the problems of building a robot which uses
subsumption architecture to escape the corral and find the light, so to
speak.
At first, the matter seemed simple. The basic "cruise" command
could go forward until it bumped into a wall, or detected a wall with its
infrared sensor; at that point, "cruise" behavior could be subsumed
by "wall-following" behavior, and the robot would travel around
the perimeter of the corral until it came in contact with light. at that
point, the light falling on the sensors would trigger the highest-priority
behavior, "light-following", to kick in.
In practice, though, subsumption architecture didn't work as planned. given
an obstacle in front of the light, the robot started traveling around the
obstacle, performing excellent "wall-following" behavior. Unfortunately,
this action was never subsumed by light-following behavior, because the
light-sensors never noticed light to the side of the robot, even after fiddling
around with the physical placement of the sensors on the robot.
We are trying a different approach now, slower, but perhaps it will work
in the long run. By having the robot systematically cover every space in
the corral as its "cruise" command, the robot will travel back
and forth across the space, slowly moving up the corral until it encounters
light. This method may take longer in the end, but perhaps ith will work,
because the robot will eventually turn to face the light.
The problem we experience with our first program, though, brings up an interesting
dilemma. Even if you have the greatest program in the world, it might be
completely useless because of the structure of the actual robot. I have
noticed that in our discussion of artificial intelligence so far, there
has been very little talk of the robot "body", with the exception
of Moravec. I get the impression (I may be wrong) that the "mind"
of the robot, as in programming, etc, is considered almost entirely separate
from the "body", or structure, of the machine. This seems to me
to be a mistake, one based on the traditional separation of mind and body
when considering human behavior. When psychologists began thinking of the\
mind--or brain--as just another part of the body, affected by the stomach,
the heart, the liver, etc, it revolutionized the way the mind was perceived.
Perhaps a partial return to cybernetics would allow AI researchers to better
unite robot structure and programming. Perhaps programs should be built
around the structural design of a robot, rather than the structural design
being built around the program.
Ben Flynn
First, a quick apology for the tardiness of this response -- our problems
with our HandyBoard kept us in the lab all morning. Sorry about that. But,
to press on, here are some thoughts.
First, I can't help but feel that Moravec's work seems a bit sparse. He
seems full of ideas, but tends to jump from one to the next rather aggressively.
Perhaps it is the conversation tone he takes in writing the book. It is
somewhat refreshing not to have horribly dry reading, but at times I think
this leans a bit to far in the opposite direction.
In terms of recent material, the directed graphs do bring back some frightening
memories of discrete math, but I suspect we will not delve into the levels
of abstraction in this class as we did in the former.
Perhaps it is my previous course work that makes be think so, but I often
feel that we are moving slowly in lecture. I am ready to take in a lot of
info, but often find myself with only half a page of notes. I wouldn't pretend
to speak for the class, but I personally feel we're moving a bit on the
slow side.
Not a stunning array of thoughts, but my brain feels like it has gone back
to sleep.
Emily Greenfest
.. the information content of a message goes up as its likelihood, as measured
by the recipient, decreases ... a series of messages has a maximum information
content when it is maximally 'surprising.'" -- Moravec pg. 63
About the class content/lab of this past week I have little to comment,
save that I am glad to have finally solved the Cannibals and Missionaries
problem. Again -- lab (content) was still review: the structure and concept
of a subsumption architecture is a familiar concept to me. Completing the
lab was interesting in that our finished program varied little from our
initial one -- the ability of the robot to pass the obstacles seemed almost
more reliant on its design. Likewise, class (the one day of it) was nothing
new -- throwback to discrete math (although I always do appreciate seeing
applications of discrete). What interested me the most from this past week
was the reading of the second chapter of Moravec's book and the quote cited
above.
A maximally "surprising" message, he
states, yields the higher information content (according to information
theory). And he cites as an example: "Here's my cat. It has fur. It
has claws..." and "Here's my at. It wears a hat. It totes a gun.."
saying that the first series is "boring" and the second is "better."
Better by what standards? If you put two machines in front of me and one
produced the first series of phrases and the other the second -- I'd say
the one who left out the gun would be the smarter. Well, maybe not smarter
as Moravec uses the example in conjunction w/doing "useful work."
But then again, a more "correct" answer would be more useful than
a bizarre one. It's more likely for a cat to have claws then a gun. So maybe
it was just a bad example. Or maybe its a good example, but used in the
wrong context. There are times when a "gain" in information is
useful -- e.g. genetic algorithms, cluster analyis, and other machine learning
techniques -- where a process that yields more change between two states
is better than one that only yields little information gain. There are also
times when a such a gain could be bad -- too much change could yield a bizzare
result. That leaves me with a question -- how is he using the term in the
book and how exactly does information gain potential relate to computational
power (i.e. what he is trying to show) ?
Ayishih Hakim
My one question this week is directed towards state mapping. I want to focus
primarily on the problem that we had on the exam last Thursday.
On the test we were asked to map the cannibal and missionary problem. Implimenting
this became almost excruciatingly hard. Mainly because I began with the
understanding that each root should be connected to every possible and legal
next move. This became very time consuming. Then taking a look at the example
that was done in class with the Block Mini World I realized that every branch,
in this example, ended in a possible answer to the basic problem, which
is to end with the three blocks on top of each other. At this point I was
soundly confused becuase I became faced with the realization that I had
no idea what the purpose of state mapping is. Is it to have a map of every
possible move so that from any position you can know your selection of immediate
moves (disregarding whether or not they will lead you to the solution)?
Or is the purpose of state mapping a diagram of the different ways you can
achieve the correct answer, therefore wrong moves are never included?
Ada Hogan
questions- from chap 7, Agents that plan.
I see that many actions are limited by reactive agents because of the memory
that would have to be involved to effectively react in all situations. And
I understand that computations might be more efficient. But it still seems
to come down to the same problem: unless the world state is perfectly static,
how could one forsee all the needed equations? As Nelson states, these agents
are ideals, and "do not hold in most real-world applications".
Are its limitations really much different from a reactive agent that needs
a superhuman programmer or a small environment to function?
I think it's interesting that Moravec began chapter
2 on "evolution" (of sorts) with what amounted to an excuse as
to why AI progress had slowed down: the culprits being the electronic toys
we love, like email, graphics, and other "luxuries". Once again
human intelligence is the meter by which we measure progress. Instead of
focusing on certain jobs a machine might easily perform, perhaps something
more efficiently performed than in human hands, he concentrates again on
achieving human intelligence, in what he calls the "joyride of human
equivalence". It still strikes me that AI should have so many diverse,
and sometimes conflicting, goals. I thought it was interesting that he launched
into a long biological description of the neuron and the human retina, only
to end quickly by saying that the TV next to him had the same capabilities.
It was almost as if he needed a biological justification for what pushes
AI; perhaps this is how he feels the reader needs to justify, or at least
understand it. Can't I assume that in the past 10 years that computers have
been made to compute the 10 frames a second he was missing?
And then there was his jump to calculations for brain activity.... I wonder
if we can feasibly calculate brain activity as a function of the neurons
in the retina. After our class discussion about the Sony cat, I'm not sure
that we are 10 years off his prediction of fully intelligent machines. I
was thinking about information theory as well. How can you tell if unfamiliar
information is "surprising"? It was interesting to see the "century
of computing" graph as well. But I wonder if the trend will continue;
it seems that the closer we get to achieving AI, the more complicated the
problem becomes, the more the process might slow down, or become blocked.
A good part of the century was spent in mechanical progress. Now that the
chemists, biologists, and physisists are involved, it might be that the
complicated process might slow down.
I've enjoyed class discussions, especially when we learn about which new
machines are on the market, or what is used in competitions. Judging from
my friends' reactions to our robot, I think we could try to sell them in
the bi-co.
Peter Ingebretson
This chapter of mind children was particularly interesting from a modern
perspective, in that it made concrete numerical predictions about the future,
extrapolating from the past and its "present." Two things that
I noticed seemed most interesting among everything he spoke about. First,
the chart "Comparative Computational Power and Memory" would remain
reasonable unchanged today, except for the addition of the internet, which
would take a place higher on the diagonal axis than even a human, whale
or elephant. If the internet could be utilized more efficiently for computation
or simulation, it would be the most powerful computing device in the planet.
Second, some of Moravec's predictions about the rate of technological growth
in speed and capacity of computers have come true, yet his ultimate predictions:
what these developments would mean for the field of AI, have not developed
according to his plan. I wonder, was he being merely optimistic about the
power of a computer required to simulate human intelligence, or was his
understanding of how computing power would translate into intelligence fundamentally
flawed?
About our progress through the book, I still hope that we might keep up
in programming or the lab with the state of the theory of the course. There
has been nothing more successful than implementing a subsumption architecture
in the lab to help me understand the SA's strengths and weaknesses. Finally,
in the reading, undirected searches aren't that exciting, but the A-star
algorithm is great.
Sarah Klaum
I don't have much to comment on regarding the past week's reading and discussion.
Chapter seven involved familiar material on graphs and trees. Chapter 2
of Moravec did not interest me as much as the first chapter; several of
the topics caught my attention, however, such as information theory, something
I do not know a great deal about. I have also heard a bit about Charles
Babbage and his Analytical Engine. One reaction I felt like commenting on
stems from the discussion we had on Tuesday. I found that my feelings upon
hearing about the robotic cat were mixed. The technology that it is based
upon intrigued me, but for some reason I was slightly disturbed about the
thought of a robot that would actually replace a real, biological entity
in someone's life. This caused me to mull over everything I have thought
about AI in the past. Are we not working toward a goal that is grander in
scope, but very much the same thing? Computers and robots that can process
and behave like humans. This is the ideal for at least some who consider
themselves to be a category under the broad AI umbrella. Why do I not find
this as disturbing? Perhaps because from my point of view, any such technology
whould (hopefully) be used to augment human progress and interaction, not
replace it. I would rather consider the robot cats an interesting problem,
an experiment, an advancement on a scientific level, but not as an entity
that would replace a life.
Maralee LaBarge
David Rothstein
In reading Chapter 2 of Moravec's book, the first
thought that comes to mind is that his predictions are probably too optimistic.
As we've discussed in class, his prediction of a household robot within
10 years of 1988 did not come true, though the technology probably exists
(in various separate components) to make such a robot. Similarly, it is
doubtful that his prediction of a human-like robot within forty years will
come true. What Moravec does not take into account is that although the
technology to create a certain type of robot may exist at a certain point
in time, the time and effort required to bring together and make use of
this technology is often not practically feasible. We may be able to construct
practical-sized robots within 40 years that have the computing power of
the human mind, but it would take an enormous amount of time to program
such a robot to act like a human. On a much smaller scale, my group ran
into this issue in preparing for the upcoming robot lab this week. Our robot
was running into the problem that it often got stuck in corners. Thinking
of and being able to verbally articulate a routine that would get the robot
out of the corner was extremely easy -- there are many instructions a robot
could follow to initiate this escape. But going through our program and
actually making the changes that would implement this routine was a much
more difficult task. In short (as the saying goes), it is easier said than
done.
Conversely, though, what really interests me about Moravec's book is his
assertion that creating a human-like robot is technologically feasible.
Even if he has the time scale way off, the fact that such a robot may be
within the realm of the technology that we are beginning to see today means
that such a robot eventually CAN be built, and therefore it probably will.
Even if it takes as much as a thousand years rather than 40, this is still
an exciting thought, and one that probably serves as a motivational tool
for many AI researchers.
Frank Rusch
The method of storing state graphs in memory to map all possible actions
is more feasible now that computers have greater amounts of memory. If the
start state is not given to the robot immediately and instead must be observed,
the robot would have to look through the graph to find its starting place.
Traversing the nodes in a graph to find the start state does not seem like
the way we assess a perceptual task-- we don't wander among possibilities
searching for the scenario that matches our environment. If we were following
a map in an area we hadn't been before, we probably would have to search
around in order to find our current positioning. The example state graph
in chapter 7 of the text is small, but in a more realistic environment,
the graph would be have many more possible nodes. Is there a way to group
or categorize the nodes of a state graph and then associate them with certain
features so they can be accessed more quickly?
Aside from finding the initial state, the graph method of making plans is
similar to how we think. If I plan on getting out of my dorm, I traverse
the hallways in my mind and find the appropriate solution. I ignore paths
that lead to dead ends or other rooms, and I don't mentally traverse them
to their end. But if I woke up in a random room in my dorm, I would at least
know that I was in a room, not a corridor. Then I would use my generalized
idea of how the dorm is laid out (and also exit signs) to get outside. How
would a robot handle this scenario?
Edina Sarajlic
n this weeks lecture we have started learning about
reactive agents that are capable of planning. I was very excited to learn
that it is possible to predict the consequences of an agents actions many
steps ahead, and then to pick the steps that would ultimately bring the
agent to some goal state. Since we spent a lot of time working on our lego
bug, Princess Leia, I could not help but wander if it would be possible
to implement some form of planning in her behavior. Nillson lists a couple
of prerequisites that an agent needs to have in order to be capable of planning:
the model of the world and a model of the effects that its actions have
on that world. Leia is at this point only a stimulus response agent and
she acts based on immediate sensory inputs only, because she does not have
an internal state where she could store the representation of the current
world state. Also, the only way she can affect her environment is by changing
her position in it, so not having a representation of the environment excludes
the possibility of planning.
In this chapter Nilsson talks only about explicit state spaces, where a
simple algorithm can be used to find a sequence of actions that would lead
from the initial to the goal state in the state space. However, as Nilsson
mentions, explicit state spaces are rare in real situations. I am very interested
to learn about planning algorithms used in situations where a) all possible
states of the world cannot be foreseen, b)there is not an exact correlation
between an action and its effect, and c) where the goal state is a dynamic
quantity, say a function of the current state. I guess it is possible to
deal with the last case by projecting at every other step, checking the
current world state and computing a new path to the goal state. The second
complication (b) can probably be remedied by representing different possible
effects in a state space graph with larger branching factors. I guess all
of these situations reduce to one problem, the one of creating and searching
large state-space trees. This must happen quite open in real-life applications,
so I hope we discuss it in class.
Jim Speer
Most of my time devoted to AI this past week was spent in the lab. In retrospect,
I probably should have cut some of that time to spend on preparing for the
exam. Anyway, I continue to find the lab experiences the most instructive.
I find I learn a lot better by doing, rather than by hearing about. This
week's lab project gave rise to plenty of details and problems beyond what
was stated in the assignment. The actual mechanics of the assigned tasks
were not so difficult. One thing I found problematic was not knowing exactly
how the lamp's light was going to be placed during the demonstration tomorrow,
and also not being able to predict the ambient light conditions. I found
most of my work was put into trying to plan for many eventualities.
I was reminded of Moravec's interesting idea that artificially intelligent
robots might one day take over human function and culture when humans are
long gone. It's a bit like when we get done programming our robots each
week, they must carry out their intended tasks on the table, performing
without our assistance. Their success reflects our foresight.
I still don't know how it is going to perform tomorrow! I hope it has a
chance to show off some of it's clever points. On the other hand it could
be a big embarrassment. Is failure an emergent behavior? How about making
sudden turns to the right for no good reason? Imagine a whole society of
robots who are decended from CS372's lab assignments.
Ben Sprecher
Emily Sweeney-Samuelson
The reading this week was fairly straightforward, and I enjoyed the chapter.
I am curious about implementation; the graph-searching method is presented
to us as a visual representation ("list-structure iconic models")
, but how about the agent? How is this representation coded?
I hope we will get into the specific ways to implement these methods, because
they seem very useful. They are certainly intuitive for humans, and so this
kind of representation of the world, or a group for searching, seems to
be easy to design. I hope it is easy to implement as well, because that
would complete its usefulness. Is it using data structures like trees?
Tim Waring
Sarah Waziruddin
In chapter 7, Nilsson introduces the idea of an
agent reacting to situations that it has not been programmed to react to.
For this, an agent must be given a model of its world and a model of its
world after being affected by some of its actions. State-space graphs are
used to implement this idea. Schemas are used in these graphs and they model
the affects of an agents actions on its world. It seems as if the robots
job is to find the optimal path from its initial state to its goal state.
There are two kinds of state-spaces, iconic based and feature based. Moravec
focused on the physical aspects of implementing intelligent behavior in
chapter 2. He pointed out that there weren't good programs for artificial
intelligence and there was (is?) also a lack of powerful machines. Moravec
approximated that the brain performs 10^13 calculations per second. He stated
this speed was faster than the speed that computers could operate at when
he wrote the book. I wonder, is this still true? Can current computers perform
10^13 calculations per second? If they can, has this greatly aided progress
in AI? Moravec also brings up the issue of memory and again, I ask if computers
today have enough memory to match human memory and if they do, does this
aid AI? I am disturbed by the idea of developing new proteins that would
help form new technology. This is messing with creation and very similar
to cloning. I agree with Maralee with her views on God and I ask, what are
we REALLY trying to achieve by having thinking machines?
Leslie Zavisca
Nilsson's Chapter Seven was fairly straightforward. One thing that interested
me was the idea of the breadth-first search. Is this really all that efficient
with an enormous state space, even if it is an explicit one? Since the focus
of our class is artificial intelligence and whether or not machines will
ever 'think', such careful planning as with breadth-first searches seems
as though it might have the potential to seriously hinder such things as
emergent behavior, which is far closer to human intelligence than specific
planning.
Moravec's second chapter, which brought back a lot of memories of Intro.
to Psych, was just as interesting and thought provoking as the first one.
I am quite interested to know how today's most sophisticated technology
ranks on the Comparative Computational Power and Memory graph. Ten years
ago, we matched the 1-gram brain of a mouse--where are we today? A statement
that Moravec made that concerned me was when he said that electronic switches
being far faster, smaller, and simpler than neurons will allow us to get
by with fewer switches than the number of neurons in the human nervous system.
Although faster and smaller, what about the difference in numbers of the
all important synapse? Is it just me, or isn't this pretty significant?
I'm not saying that imitating the human nervous system is essential to answering
the AI question, but if that's the path we're taking, shouldn't we be truer
to form and try to avoid shortcuts?
This week's lab assignment was the most interesting yet. I had a lot of
fun completing it. I did not expect this, but one of the most challenging
parts of the lab was modifying our robot so as to accommodate our program,
especially since we had pieces falling off with our last design ;). Anyway,
working on this program was enjoyable although time consuming.
Back
to CS372 Course Materials