CS372: Artificial Intelligence (Fall 1998)

Week 5: Responses

Readings



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