Bryn Mawr College
CS 372: Artificial Intelligence
Fall 2000
Written Work: Week#2 (September 12, 14)

Sharon Rose Alterman

This week represented a coming together of ideas for me. I had read Braitenberg's _Vehicles_ for my Cognitive Science class last semester, and I had listened to a lot of my classmates talking about neural nets and their abilities and limitations. (I will add that some of them were at the time working on the Swarthmore robot that won first prize.) At the time, I felt like I was being left in the dark. I could follow the readings and discussions, but it was all abstract theory to me. Everyone was presupposing information that I did not have. The explanations of S-R and T-R agents began to fill in the gaps for me, allowing me to have a better understanding of what my classmates already knew.

When I was younger, I did some simple programming in what was called Lego-Logo; I can only assume that was the basis of what is now Lego Mindstorms. When I was programming the robot to follow the black line on the paper, I never thought of any of what I was doing in terms of intelligence. I was just making the robot follow the line, and I thought it was pretty cool. My classmates who did not know how to write Logo, probably felt about me and my line-following robot the same way as I felt last semester toward the Swarthmore students in my class.

I suppose that the idea that I am trying to get at here is the idea of perspective. When you have a greater knowledge and understanding of how something works you look at it from a different perspective than someone who does not know how it works. Perhaps that is part of the reason AI researchers do not feel they can reach true intelligence, because we are "god" to these machines, and we see their behavior and we understand why they do what they do, so we do not think of them as intelligent. Does "God" think of us as intelligent?


Rohit Apte

I found the robot simulation game in Thursday's class to be very interesting. What seemed like a simple problem ­ picking up a box and placing it on another one using two hands and eyes (something our brain could do with little effort) proved to be a very difficult task.

When Deepak introduced a different approach to the problem ­ that of the different layers of tasks (avoiding obstacles, wandering, etc) it got me thinking about how AI problems can be solved. Does the brain actually perform tasks the way the person tried to solve the problem, or do we, in our subconscious, take Deepak's approach? I hope that the forthcoming weeks will throw greater light on this subject.


Durell Bouchard

One of the largest draws of computer science as a subject to study for me is the gratification that comes from completing a programming assignment. I associate gratification not just because an assignment is completed, but because there is an end product that is way more fun than any paper or problem set. So in this regard the robotics lab takes that gratification one step further by taking the end result and making it concrete. Last week in the robotics lab all that we did was construct the bug and instruct it to move; but it was very exciting. Perhaps this is great advantage to the area of AI. If the average non-computer science person hears the term artificial intelligence they may be more likely to associate it with a concrete example, like a robot. And so a person could more easily relate to an area of research that has implications of something that could be physically realized, like a robot, compared to some research that is trying to optimize some process whose application is less obvious. So perhaps the physical connection that excites me when a group of leggoes moves, will also build AI's popularity and it's support in the non-computer science community.


Brianne Brown

The in-class demo we did, where the brain had to rely on input from the eyes, was very interesting. The point was clear--that even a system with perfect sensory input, motor control, and intelligence can't accomplish a task if the separate components don't work together properly.

After doing the reading, I'm still confused about the difference between a DNF and a CNF. (Maybe because I don't understand what "conjunction" and "disjunction" mean here.) Also, what are the differences in implementation between these two functions?

I'm curious about which types of models we are going to learn to implement in class. Are we going to try and program rudimentary neural nets or type subsumption models, or are we going to have to stick to production systems? I wish that the book had talked more about the advantages and drawbacks of each of these types. Are there certain situations in which it would be more useful to have a production system than a neural net? Is the neural net model the only model capable of learning? What are the differences (in implementation and application) between a horizontal-model of type subsumption and a vertical-model of type subsumption? Nilsson presents a brief description of each of the models but doesn't really discus their strengths and weaknesses.


Grace Chou

The idea of toy (grid) world and Boolean functions were introduced in lectures and readings this week. The vertical architecture approach of networking and programming behaviors of the robot condition rules seem to be inherent in what we learned in the two semesters of introductory computer science classes. On the other hand, when it comes to modeling how the biological sensory system work, it is hard to imagine one could program the complex neurological behavior just be using a set of internal logical switches. In comparison, I think the subsumption architecture resembles the actual decision making process in human brain more. In a real life decision-making process, one would formulate different solution to the same stimuli. Then, one would choose the most beneficial, or the least detrimental solution, which means the action with the highest priority in this kind of architecture.

What I found intriguing is the notion of a "thinking machine." There is something happening between "perception" and "action." The computer makes a decision based on the stimuli and a pre-determined algorithm to calculate the action to be taken. However, can on call this decision-making process "thinking?" If not, then how does one define "thinking?" Some people say that human brain is more like a big biological computer with many logical switches that are programmed to respond to different stimuli. If that is the case, is there a distinction between "thinking" done by computer and "thinking" done by a biological brain?


Dan Crown

Chapter 2 of Nilsson's Artificial Intelligence gave me a lot to think about. The chapter focused on only very basic, stimulus-response agents that performed simple tasks. However, with this brief first glance, Nilsson shows the reader the incredible ease with which a mechanical device can simulate thought and intelligence. Following the edge of a wall is not something that anyone would consider intelligent in a human being. With a little thought, though, you can clearly see that it is a pretty complex behavior to attempt to model. Nilsson shows us in little more than 10 pages how easily this behavior can be completely summed up with 4 logic equations.

How far can we take this? Is there any behavior that can't be modeled using simple mathematics? Will we be able to invent a machine that can solve an equation and determine what the correct response to "Is it raining outside?" is? Can we take it even further? Machines might one day be able to perform every task a human can - all based on math.

This leads the reader to think about the power of mathematics as well. If we can use math to model human behavior, what else will we be able to use it for in the future? Is it possible that one day we'll be able to prove the existence of God? The changes brought on by math in the world to come will undoubtedly be amazing.


Renee Findley

Chapter 2 of our AI text was in many ways a review of chapters 1 and 2 of my hardware organization book. The two ideas that were new were the descriptions of basic AI machines, the stimulus-response model, and the subsumption model.

The advantages to the stimulus response seem to include a superior capability in a pre-designated environment. There is, in theory, nothing that an S-R robot couldn't handle in its pre-programmed artificial world, but programming for the S-R robot is rather extensive. The subsumption architecture robot is far less programming, and has a type of value system for handling unknown terrain. But due to its architecture, depending on the environment its placed in, it may never get to complete every action it can do, if one of its other values subsumes its actual capabilities.

Obviously though, both versions have minimal reasoning capacity, and are rote and limited in their actions. They are the bare minimum of programming that AI machines recieve. In the demonstration of four people in class trying to stack boxes by pretending to be parts of an AI machine, the coordination of so many parts, and communication between the four, shows that even simple tasks require a great deal of planning and programming. Thus, for the so-called 'minimal' amount of programming that goes into these very basic structures, they do have rather complex reactions, and can perform impressive actions, considering how simple they are.


Scott Goldstein

This week's reading was not really what I expected. I did not expect as much math as there was. Once I got to class and it was explained, however, it became much more comprehensible. The diagrams in class were very useful in helping me decipher the text's concepts for the threshold logic units.

The whole concept of subsumption was very interesting to me. I like the idea of building a series of behaviors in an evolutionary fashion. It seems to me that this is the most naturalistic way to build intelligent behavior. For the most part, however, I found the concepts to be fairly common sense. How else can you build complex behaviors without the simple actions that comprise them?

The lab is not done yet, but it appears to be the basic requirement for completion of other, more involved, experiments.


Maria Hristova

I think that last week's reading makes some very important points that help clarify some of the crucial points in the field of AI. Giving a clear explanation of what Stimulus-Response agents are was very helpful and gave me a better idea what this semester of AI will be about. I also believe that starting from this very simple kind of AI was important especially for people like me who had never been exposed to any other part of AI before. It gave me a better understanding of how stimulus and reaction are connected and how exactly a sensory input is converted to an action by these simple agents.

The textbook makes the whole process very clear by giving the example from Grid World and also made the very important point that "the split between perception and action is completely arbitrary" (23). I think that this is a very important point that needed to be made since the whole field of AI seems to be characterized by a degree of arbitrariness. Along with the description of Grid World there was a definition of the numeric and categorical features of the important Boolean function which I found very helpful.

Nilsson makes very important point at the end of chapter 2 when he talks about the S-R agents and the notion that ther are "doomed to succeed"(34). By creating a simulated environment one is predestined to establishing rules and setting borders on the variety of stimuli that can be produced by the given environment. In this sense, I think that I would have to agree with the author about the impossibility of the agent to fail. But I also think that the success of the agent only means that the designer of the environment had taken into consideration evry possibility that the environment could produce and given a response to it. Having and realizing "the full picture" in which the agent is existing means that the person behind it had enough knowledge and understanding about the environment which I think is very important.


Agata Jose-Ivanina

Perhaps the thing that struck me most is that four of us weren't able to put a box on top of another. And the only difficulty was that the boxes were not aligned. Now suppose that there is a cup of coffee on one box. If a person saw it she would immediately know what corrections she needs to make to her actions. It wouldn't take her much time to figure out what she needs to do. However, if the brain has to ask questions to figure out what is going on, how would it know that there is a cup on the box if usually people drink coffee elsewhere? It seems that S-R machines that do not depend on complex internal representations and on reasoning will be incapable of solving the problem. Will a machine with a vertical architecture cope with the problem better since it first analyzes the environment and then makes a decision about the action? It also seems that there are so many things going on in our head while analyzing a simple scene with the boxes. Does that imply that it will be impossible to solve the problem of putting one box on top of the other as efficiently as a human being without parallel processing?


Archana Joshee

It was easy to follow this week's reading after the lectures. I was taken aback by the inclass demonstration when the eyes, brain and arms tried to put one box on top of another. I would have never thought of how much coordination is required to perform such a task. It is interesting to think about how our brain coordinates our body parts to perform the activities that we do. I liked the bottom up apporoach of the subsumption architecture that we were shown in class. It seems to me like this approach has a much better perception of its environment and therefore a higher performance level. I also enjoyed putting together our little robot, and I cant wait for it to start running around!


Kip Lewis

The most fascinating topic from week 2 has continued to be the issue of what is worthy of being called "intelligent." I was very intrigued by the argument that a thermostat is an intelligent agent because it's decision making ability is inherent in the materials. Interestingly enough, a statement by Nilsson seemed to both agree and disagree with this argument at the same time. On p. 33, speaking of a set of S-R agents that includes thermostats, Nilsson says, "Ordinarily, these kinds of systems and devices would not be considered part of the subject matter of artificial intelligence, but I include them in my treatment because they inhabit the territory at the beginning of our journey toward more intelligent systems." By denying these agents membership in the field of AI, I assumed he was calling them non-intelligent agents. However, when he says "our journey toward more intelligent systems" rather than just "toward intelligent systems," he is implying that the S-R agents have some intelligence. When I inspect my views of intelligence, I find that I have the same apparent contradiction. Would I say that a thermostat is more intelligent than a rock? Yes. Would I say that a thermostat is intelligent? No.

I suppose this apparent contradiction can be resolved if you accept the theory that, to be deemed intelligent, one's "amount" of intelligence must be beyond a certain threshold. After thinking about what this threshold of intelligence might be, it seems to me like the difference between intelligent and non-intelligent beings might have many similarities to the difference between the mathematical notions of countable and uncountable. Consider the oddity that one number can be larger than another (and thus seemingly closer to infinity) and yet both are infinitely far from infinity. Wouldn't we consider a program that could give the answer to 20 different multiplication problems more intelligent than one that can only give the answer to 10 of those problems? And yet I would certainly say that both are infinitely far from being termed "intelligent." In fact, even a program that could calculate the answer to an infinite number of multiplication problems would still be infinitely far from being intelligent. This, I would argue, is akin to a the union of a countable number of countable sets still being countable.

To carry this analogy further, to jump from a non-intelligent being that somehow seems to have an infinite amount of intelligence (like a program that can solve an infinite number of math problems) to an "intelligent" being, I feel like one would have to fill in the gaps. These gaps might be the true understanding of what numbers, and thus all those math problems, really mean. This filling in of the gaps is like going from the integers or the rationals to the reals, which is also going from countable to uncountable.


Martin Lukac

I would like to talk first about something from the first week briefly. I believe Prof. Kumar had called it an 'exercise'. He asked that we look at a photograph and actually name everything single thing we see in the picture. I thought about it, and realized that in certain situations it would be impossible. Relating this to robots/AI, it would seem almost impossible to create something that could perceive as much as humans do. I suppose thats why whenever you see examples of AI, their world is restricted. I interesting thing to think about is if you put AI into a world that is beyond its perception; for instance if you were to put a robot that is only used to seeing certain types of walls/structures out into the street, it would probably either mistake objects for things they really aren't or just not even see certain objects.

The above just made me realize that a part of full/complete AI is being able to deal with things it doesn't know and doesn't recognize. When i say 'being able to deal with things it doesn't recognize', I mean an algorithm that just guesses and then eventually gathers enough data to guess correctly... like expert systems might (I just remembered a good example of an expert system: the most recent film and digital cameras, when calculating the correct exposure for a shot, break the scene (by some specific pattern which depends on the cameras make/model) into a number of segments, and takes a reading from each of the segments. Then it compares the collection of exposures to data (previously input) which is associated with the correct exposure for the scene. If these cameras run into a scene they don't have an exposure set for, they make a guess... unfortunately they can't learn from making enough of these guesses, because the user can't tell the camera (and it has no way of knowing itself) if the shot was guessed correctly.)

This is where the modules structure that was discussed in class comes in handy. As we want to program more perception into AI, or even program a 'learning' feature into AI, we just add more and more modules. Of course these modules are going to be really complex, but all that has to be done is the features of the lower level modules be used in the high level ones. (Its like the difference between the wandering module, and the exploring module: they are almost identical, except the exploring module makes the decisions of where to go based on where is hasn't been, and it most likely would record the data in more detail.) I guess thats why its taking relatively long to develop really really advanced AI, because its only really possible to take such small steps (like the wandering vs exploring modules) and get reliable/forseeable results. What ties into this is what i talked about above: there is so much to perceive and take in that it really only is possible to take small steps, since each level of perception requires a lot more complexity.


Reshma Menghani

The split between perception and action is completely arbitrary. This is so stated in the text in chapter 2,page23. After class...I feel I have a better understanding of what this means. When some of the students came to the front of the class they had to mimic a robot's left and right arm. This was almost impossible for them which I think supports such a concept.

The text at one point refers to Boolean algebra and boolean functions implemented by logic gates. I found this quite interesting because I am learning the same concepts in computer organization.

The Subsumption Architecture: This is was explained towards the end of class on thursday. Prof Kumar gave us a better understanding by using the two dimensional grid space with the robot. One behavior module can subsume the other. He used different cases such as wandering, exploring, etc. At one point I believe the class wanted to switch two of the modules which I think happened.


Todd Miller

Threshold gates can easily simulate AND and OR gates (two inputs, weights of one, threshold of two and one, respectively) and NOT gates (one input, weight of negative one, threshold of zero). Memory, similarly, could be constructed as a collection of theshold gates implementing XOR, with the output fed into one input; putting a bit on the other input forces a write. (Write control can be achieved with a tri-state gate. I'm not sure how it would be done with only threshold gates, unfortunately.) This means that neural networks should be Turing-complete.

It also should be relatively straightforward to develop a program which allows interactive specification of S-R agents in gridworld. Basically, you'd have a three-by-three grid, with the four arrows occupying the center, and an 'enter' button. Clicking on the grid spaces adds them to the condition, and the (mutually exclusive) arrows select the corresponding response. When the user was satisfied with the rule, 'enter' would add it to the production set. The default action would be specified separately. Since gridworld has at most 256 input states, each with a two-bit action, an array-and-loop based simulation would run very quickly --

while( runSimulation() ) {
        unDrawAgent( x, y );
        lookup = grid[x-1,y-1] * NORTHWEST + grid[x-1,y] * NORTH ... ;
        x += rules[lookup].x;
        y += rules[lookup].y;
        drawAgent( x, y );
}

-- where x and y are the agent's current position, grid is an NxN binary grid of the world, and NORTHWEST, NORTH, etc, are defined as 0x10000000, 0x0100000 and so on, so as to generate an eight-bit number representing the current state in the lookup table.

An arbitrary number of agents could be allowed for by executing this algorithm over a linked list of agent positions and rule arrays. The obvious extension is to allow an agent to distinguish between walls and other agents, which would only slightly modify the algorithm (by changing the way the lookup was calculated). In this case, repeated clicking a cell in the rule specification dialog would alter between three states -- empty, wall, agent -- instead of just two. 'Clone' would create a new agent with a copy of the current rule-set, and 'create' one with an empty rule-set (default action defaults to north).


Maria Pace

 


Heather Palmeter

Being as this is my very first Artificial Intelligence course, I have very little practical experience to supplement the material presented in both class and in the labs. However, being a child of the 90's, I have plenty of media (books, movies, television) experience to draw upon. Whether this influence is an advantage or a disadvantage has yet to be proven but it certainly is a strong one.

Having experienced my fair share of Artificial Intelligence in the world of fiction I have noticed some plot devices that seem to crop up more often than not. One such device is the creator developing an unusually strong bond with his creation. Now, I have to admit that I've always found this a bit lame. Then Thursday evening rolled around and I trotted off to lab, aware of the fact that the kits were to be distributed but not feeling an overwhelming excitement about it. Like most of the other groups in the class, we began the task of creating the machine almost immediately and, by the end, many groups had themselves a nice little robot. Even though many were made from the same basic plan there were little differences between them all to mark their unique creation. As I looked around at all the other Lego creations then looked back at the one in front of me, I could have sworn that it was just a little bit cuter than the others. The thought didn't last long and a second later I went back to the belief that we all had a bunch of Legos in front of us but there was a second there when all of those sci-fi books and shows made just a little bit more sense to me.

Of course, it was only for a second.

As for the material covered in class, it got me thinking about how much work I put into following a path of any sort. I'd never thought of it before but when I saw the amount of work that it took to program such an action I began to. At first I thought that I put no effort into it. After all, it's such a simple action. After thinking for a minute, though, I began to realize all of the things that go on 'behind the scenes' for all the little actions of everyday life that I don't notice. By following that line of reasoning, I became even more convinced that modeling artificial intelligence after our own intelligence is difficult for more reasons than the technical ones. After all, it's quite difficult to build a model from only half a picture.


Megan Rutter

I really liked the comparison made between the use of the word "flight" and the use of the word "intelligence." It is very true that we take the definition if flight for granted. Using "flight" in place of "artificial flight" is something everyone does without even thinking about it. "Flight" is a household term used without another thought about it. The thought of saying "artificial flight" would seem absurd to most people. I wonder if years from now people will use the term "intelligence" to replace "artificial intelligence" in the same way that "flight" has replaced "artificial flight." It's very hard to imagine, even if every house had a robot like in the movie "Millenium Man." (Is that the name of the movie? It stars Robin Williams as a robot.)

I also really liked the exercise we did in class to demonstrate the difficulty of robot coordination in an activity like picking up boxes. It was very entertaining while informative at the same time. It's hard to imagine the difficulties a robot would have without actually seeing them. This exercise let us see for ourselves where a robot would have
difficulties.

As far as the website, I found a quotation that I really liked as
well.

"Find a bug in a program, and fix it, and the program will work today. Show the program how to find and fix a bug, and the program will work forever." -Oliver G. Selfridge

This again raises the question of whether it is possible to teach a program to do such things. From our class discussions and readings, I'm starting to think it may be very very difficult yet possible at the same time.


Brian Simms

This week's reading was pretty much entirely covered in class. We learned about stimulus-response agents and boolean logic. There is a good bit of overlap here between AI and Computer Organization. The real highlight was working with the robots: getting them set up and getting preliminary programs running.

Contributing with the little piece of creation that goes into building a robot was a lot of fun. Our attempts to program "intelligence" into the robot should be even more fun. I'm looking forward to becoming a father. Seriously, isn't programming the robot a lot like bringing up a child? We learn from its mistakes and update its program. Thus, it learns. The true problem in AI is figuring out how to make the program rewrite itself, so that it can learn and adapt without significant human intervention. Maybe some basics would need to be "taught" by a human, but once past a certain point the entity would be able to learn by itself...much like a child. Some interesting things to think about...


Matthew Spigleman

I was quite intrigued by two of the agents discussed this past week, subsumption architecture and neural nets.

Subsumption architecture appealed to me for the great simplicity of the design yet its ability to achieve rather advanced tasks. The small steps needed to advance from "wandering" to the upper level task of making and implementing plans to "change the world" were approachable and comforting. While I am sure that seemingly simple steps, such as "avoid objects," are in fact quite hard to implement there do not seem to be any radical leaps in the progression to the agent's becoming aware of it's environment. However it appears that subsumption architecture, a "feature based model" can only achieve isolated bits of intelligence, rather than a whole AI being.

The threshold logic unit (TLU) seems very advanced because of its ability to "weigh" decisions. In addition, the neural nets discussed in class, made of many TLUs seem like the closest approximation of the brain. Their ability to learn through the adjustment of their weighting values is the first example I have seen where the agent shapes itself, rather that the programmer deciding on what an intelligent agent should be. I look forward to learning more about neural nets, for while they seem somewhat random and hard to understand there does not appear to be any limit to their complexity, and presumably "intelligence."


Andreas Voellmy

 


Ruthie Worrell

 



Nicholas Yee

Put a bunch of agents in an enclosure, and the most interesting observers to eavesdrop are probably not the AI people, but the anthropology and psychology people. The phototrophic agent would be described as an agent that enjoys sunlight, or attracted to sunlight. This is interesting because there was no attraction algorithm built in to the agent. Sensors and motors unaware of the concept of attraction or appeal drive a behavior that mimics an intention.

The agent that goes around an enclosure could very well be described as agoraphobic. It avoids wide-open spaces. When it finds itself to be in an open space, it moves until it finds the comfort of a wall. And then it will stubbornly follow the wall. This agent is very shy, cautious and doesn't like to take risks, but at the same time enjoys traveling.

It's beginning to be both absurd and fascinating. At one end, we are clearly making up more than what really exists. At the other end, it seems like this social-construction sheds light on the emergence of human culture. Recent studies in primate cognition have demonstrated that the former absurdity is what we've been doing with non-human primates. All non-human primates except chimpanzees and orangutans can never understand that they are looking at themselves when presented with a mirror. And no non-human primate understands a theory of mind beyond the first order. That is to say they do not have the cognitive ability to understand or predict another being's mind. They will look under a cup you point at, but they do not really understand the concept of "pointing at". If you sit right in front of one cup and point at another that is 20 feet away, they will look under the cup right in front of you. This is because they're following a physical cue and have no cognitive understanding of what your pointing implies.

You can train them to do the right thing, but this just forces them to switch one physical cue for another. They will never "get" it. And this also means that they do not really understand jealousy, deception, or generosity. They are following internal rules that feed off physical cues. There is no deception apart from the one that we attribute to them. Just like there is no agoraphobia in the second agent apart from the fear we attribute to it.


Back to CS 372 Course Materials | Back to Written Work Main Page