CS372: Artificial Intelligence (Fall 1998)

Week 2: Responses

Readings


Diana Applegate

What I find most intriguing about S-R agents is that they can exhibit seemingly complex, human-like, intelligent behaviors with minimal programming and/or knowledge of their environment. In fact, it is the complexity of the agent's environment that often causes these behaviors to "emerge". I see a definite parallel between S-R agents and human beings -- not to say that our "cpu", the brain, is at all simplistic. Of course, it's quite the contrary. But assuming a materialistic theory of mind, where the brain is analogous to a computer, we aren't "programmed" to know how to respond to every possible environment/situation that we might encounter in our lifetime. Instead, we are granted a number of general rules. And these general rules, along with their corresponding actions can get us through, even in unfamiliar territory. If these agents were, in fact, programmed to run only within a specific environment, they obviously wouldn't be as versatile or as interesting.

Nilsson's discussion of T-R programs and animal behavior (namely phototropism) reinforces the fact that S-R agents, albeit simple in nature, can nevertheless explain a lot about the way that animals respond to certain stimuli. And, to me, this is a very important aspect of AI. Not only are we trying to create artificially intelligent systems. In doing so, we are constantly learning more about the ins and outs of our own systems.


Jocelyn Arcari

Including the mini-robot in our discussion of Reactive Agents was a good way to see this agent in action. Incorporating an actual robot into the discussion where we drew a graph with obstacles and discussed how the robot would follow the walls helped us see one of the possibilities for a very simple agent. The robot made me think of people's pets. I could just as easily see someone buying the "cute little robot" which avoided walls on the table in our CS class as I could see them buy a gerbil. It was actually quite entertaining to watch it move about and this was a very simple example. A more complex example with goals would seem even more life-like and to me, suggests that it would, at the very least, replace a child's toy (if not an actual pet). With this simple example, though, I see the possibilities of 'intelligent' computers.

Another interesting point came in the discussion of long and short-term memory. I was surprised and skeptical (at first) to hear that humans only store about 7 or 8 things in their short-term memory at one time. The example of trying to remember a chain of numbers and not being able to repeat them after a certain amount was a good example to show this. The rules which we live and act by, however, are stored in our long term memory. These things are reminiscent of ROM and RAM in a computer.

The stimulus-response agents reminded me a bit of something that was taught at basketball camp - the idea that basketball is a game of "action and reaction." The game is composed of players each doing certain things and it requires a good deal of practice to learn to Anticipate these actions so the player is not simply reacting, but is acting before their opponent catches them off-guard. I imagine that in the 'learing processes' of computers they could be programmed to act before something gets in their way - to sense it is coming before it does. Is this true? Are there examples?

Finally, I think "subsumption architecture" is very close to how humans make choices. The higher level of behavior subsumes lower behavior when we make decisions A human would probably weigh all the factors of his/her environment before making choices, but if the environment one is in is very simple, the factors that need to be weighed would be fewer and one's behavior would be more easily determined. The more complex the environment, the more the upper-level action would override the lower levels.


David Costello

The second chapter of the textbook and the last two classes bought up many questions which I hope you can answer in the coming weeks. I, for one, did not understand why we can't achieve true artificial intelligence if we are now able to model the chemistry of the brain in computer science. Shouldn't the ability to make artificial neural
networks render the problem of intelligent machines solved? If we can simulate the parts of the brain why can't we simulate the brain itself? Perhaps the answer lies in the lack of knowledge of what a neuron's threshold actually is. Or perhaps the sum of the parts of the brain do not add up to true intelligence. Whatever the case maybe, I hope this issue can be investigated more thoroughly in future classes.


Sonia Dubielzig

I apologize for my late response. One of the advantages of AI machines is that they, unlike humans, don't forget to do things once they've been programmed. I may have many more capabilities than robots, but I won't ever have their memory capacity.

Looking back on the reading and the class lecture last week, all I can think of is the "x1x2" and "x1 +x4" figures scattered throughout the textbook and covering the chalkboard. "This boolean stuff is a language?" I asked myself. Obviously, it has syntax and grammar. There is logical order to commands, too, just as there would be if you were giving instructions in any language. And these cryptic x's and addition signs and multiplication symbols CAN be translated into english, although it took me some time before I could figure out how.

Because I am new to the language of boolean algebra, I don't know if I can make a very detailed observation of its features. However, what struck me is how efficient the language is. A long sentence like "move north if all adjacent cells are empty or if the cells to the west are blocked and the cells to the north are empty" can be shortened to a simple two-term disjunctive normal form expression, which I can't write out properly in e-mail. Once a programmer has mastered the language and developed the ability to "think" in those x1 and x2 terms, it is very easy to translate commands from english into boolean forms.

However, for those of us who still lack the ability to translate quickly, the boolean system is frustrating, and it highlilghts the amazing skills needed to form and understand human language. Why do I have to program 3 steps to say "run the motor for one second"? (start motor, do nothing for one second, turn off motor). Every small detail has to be included in the program, because computers can't simply function intuitively or assume anything.

To understand human language, much depends on intuition. Words rarely have obvious, direct definitions--language is much more subjective than simple algebra, because of the feelings and associations made for each word. Perhaps "intuitive thinking" could also be considered an "AI-complete" task, because once a machine has intuition, it has the ability to make associations, learn, and do things without requiring programming.


Ben Flynn

This week my thoughts are somewhat limited in their nature. This is largely due to my leaving of the photocopy of chapter 2 at Camp Darkwater, the place of our Chamber Singer retreat. A tragic irony indeed, that I was studious enough to read a few pages while at the camp, only to leave the rest behind with my return to Haverford. My thoughts, therefore, will focus on the two previous lectures.

The material of last week seemed preparatory, a calm before the storm, if you will. The boolean rules seem much as I left them in Theory of Computation. I think they are rather fun. As far as agents, I thought a bit about what sort of agents human intelligence is composed. Certainly we have reactive agents, perceptions that lead directly to actions, such as when we jerk our hand back when we touch something hot. We seem to have model-based agents that allow us to follow instructions; if I were driving to your house I could follow an iconic map, or a descriptive set of directions. We have goal directed agents. Some of my goals are to do well and learn a lot in AI. Perhaps these are the same goal. Perhaps if we took goals some logical extreme we would find all goals are essentially equivalent. Perhaps not.

As far as our look at production systems and the wall following model, I think some interesting points about intelligence are being made. We perceive that the machine is following the wall. We do so by maintaining a history of the machines previous movements. We have a concept of following a wall and can perceive this concept being played out in another being. Yet we know that the machine itself has no sense of history. It is composed entirely of reactive agents, and follows the wall simply by creating a symbolic map of its present surroundings and moving in a precedence directed way towards the most available open space. The machine has no concept of the intelligent task of wall following that it is performing, and has no way of conceiving of it. We discussed in class that some of the actions our machines would perform would seem intelligent to us, but not to observers outside the class. Intelligence thus seems to have curious failings in its definition for an object may be intelligent and not intelligent simultaneously.

The object, the machine following the wall appears intelligent because it is correctly accomplishing the task of following the wall. Without the wall, or with an unsuitable wall, the object would not appear intelligent. Since the intelligence of the object depends directly on the presence or lack thereof of the wall, we might say that the wall makes the machine intelligent. This would support the theory that environment accounts for intelligence, at least to some degree.

If the intelligence is a property bestowed onto the object by the presence of the wall, the object is not intrinsicly intelligent. What the object has is a potential to be intelligent, triggered on and off by its environment. Perhaps this points to some other entity whose "on" state is intelligence and whose "off" state is not intelligence.

On the other hand, we could argue that the machine is not intelligent on the grounds that it is not aware of its intelligence. The machine cannot see that it performing actions that are accomplishing a goal. If the potential for an object that performs seemingly intelligent actions to not be intelligent because it is achieving a goal it is not aware of exists could it not be possible that humans are fundamentally not intelligent? After all if the object is _incapable_ of perceiving the goal it is attaining, we too might be achieving a goal that, no matter how hard we try, we cannot see. But if we are not intelligent, what is intelligence?


Emily Greenfest

There are just a couple of things that struck my mind from this past week's discussion/reading/activities. The first was a statement Nilsson made in chapter 2 of the textbook to the effect that the separation of a stimulus-response agent's processing into "perception" and "action" was a purely arbitrary designation. It seems interesting that an action can be described, as he indicated, in terms of perception -- i.e. as the observation that such a thing may occur in the given environment -- and that, likewise, a perception can be described as an action. This is intriguing because, depending on your perspective, it either simplifies or complicates the modeling process. In the one case, designating all of the robot's behaviors as a phase of "action" (or "perception") may be seen as a simplification of the process -- i.e. the agent performs one kind of task instead of two. On the other hand, it reinforces how complicated that what we call an action (or perception is) -- if the two terms are in some ways interchangeable, than it is likely that 1) we don't really fully understand what we are modeling (which in someways is very true) and 2) the models are extreme simplifications that don't truly represent all that should occur in a stimulus-response scenario (which is a fallacy but a necessary reality of most models).

The other thing that struck me in class and about the reading is the duality of the processes and procedure that we examined in this past week. It seems to me that these algorithms are interesting because they both allow for an agent to appear to be intelligent in the absence of what most observes would actually call "intelligence" and they allow for the occurrence of an "intelligent" process: learning. Networks, subsumption architecture, and rule-based algorithms all allow the agent to perform behaviors that appear intelligent by processing the agent's "perceptions" and matching them (in one form or another -- specific rules, thresholds based upon strength or number of inputs, or depth in a heirarchy) against a list of possible actions. More importantly, they all facilitate learninig -- an agent could possibly be programmed to develop the set of rules, threshold values, or heirarchical order (actually I'm not sure on this last one) necessary to navigate a given situation. It is this potential, I believe that makes these relative simple algorithms very interesting.


Ayishih Hakim

Monday's lab astonished me most. I was greatly intimidated by the fact that it was expected of us to build a robot after 2 classes. Being this was my first exposure to the creation of robots I was dumbfounded. Getting over this initial reaction, that I undoubtedly felt other people shared, I immediatly was intrigued. We are to build robots from Lego pieces! After hearing and seeing the materials I assured my self that this could not be as hard as it seems, since our materials are used by 6 year olds. Then half way through the description of the Handiboard it was evident to me that we are not expected to program and control a robot from 2 motors and lots of wires drawn through the structure of the robot. Instead the Handiboard already provides a means for us to control and program the robot.

Another shock that came to me was that not only are the building materials made by Lego, but Lego also makes a sophisticated version of the Handiboard that is currently being sold in toy stores!

Learning about the Handiboard, and the fact that 7th grade kids are constructing robots at home has significantly diminished my anxiety. I am ready to take this lab head on. :?)


Ada Hogan

I can see the advantage of using subsumption architecture to build intelligent behavior by layers- but whatever the number of TLU's, how can a human programmer forsee and evaluate all possible behavior? Unless the environment the machine is in is completely closed, it seems that there could be an infinite number of possible changes in that area. Even if a neural network is able to generalize, to act on the information it processes from input vectors, I'm not sure if that which seems like deductive 'reasoning' is really analagous to human behavior. Take task specific algorithms for example: it seems terribly short sighted in a way. It moves in little steps according to immediate surroundings, if...then; if....then. What if the path is leading the machine to a huge hole? It will probably avoid the hole, and reach the final destination, but couldn't there have been a more efficient way? I find it hard to imagine the number of sensory imputs that must be required, and how many different ways the information could be interpreted before arriving at one final action. Perhaps human actions are more guided by approximation of surroundings that I think. ( i was thinking about productions systems, and acting on the most specific condition for action). I would have thought that we judged each situation on more of an individual basis, but I suppose that we also learn from experience, which means that we are simply storing up information retrieving it and reapplying it.... as we might program a computer.


Peter Ingebretson

Although stimulus response agents are very simple, this chapter was stimulating for me. I particularly enjoyed seeing a system of rules for following walls in a world broken down into a purely formal logic system. Of course, any system even a few orders more complex would require an incomprehensible number of logical prepositions, however I like to think that in principle any system can be understood on this level.

I am also looking forward to looking more into neural networks, since they seem to be the bridge between formal logic systems and dynamic systems. Although I can look at any intelligence as stimulus response with additional state variables, it is hard for me to see how one would go
about uncovering the hidden relations inherent in a complex system without some 'organic' way of approaching it. I think, at least so far in what we have learned, neural network-type systems are the way to go insofar as low level artificial intelligence goes.

I would be interested in hearing more about how subsumption architectures actually work, because to me they seemed to linear and rigid to be very extensible.

I'm looking forward to trying out some of the theories we've looked at in robots in lab later, in order to understand what implementing them is actually like.


Sarah Klaum

I have found that I have fewer questions and pressing comments than I did throughout last week's material, but a few still remain. Within the scope of stimulus-response "machines," I began to contemplate the great numbers of stimulus-response _agents_ that exist within our environment and within ourselves: from phototrophic organisms to the bundles of neurons housed within our fragile bodies. The simple wall-following robot that Nilsson describes may appear complex, but could we categorize it as we would a neuron, within the arena of stimulus-response, and take this one step further? If we were to attribute intelligence to one, would we feel obligated to apply such a term to the second instance? I believe I have stretched several definitions here in my categorical approach, simply because I found it an interesting proposal--what if each neuron in our body were considered an "intelligent" agent, culminating in our "supreme" intelligence. I recall
ne response from last week that brought up the topic of programming, and the question of assigning intelligence to individual functions. I then applied this image to the human biological system, using such terms as teleo-reactive, or complex subsumption architecture (at least on some small-scale cellular level). Granted, this can be taken much too far. It has been brought up in lecture, however, that perhaps it is not the behavior that appears complex, but the environment that the behavior is performed and observed in. With this in mind, then, surely many of our own behaviors can indeed be expressed in such terms.

On a separate track, I am interested in learning a little bit more about the history of threshold logic gates, as it was mentioned in this semester's Computer Organization class that such technology was, at the onset, classified.


Maralee LaBarge

There really isn't much to say about the chapter two readings. The action functions of the agents, though interesting, don't lend themselves to much extra thinking on the part of reader, since this is more a chapter of memorization and comprehension. The most one can really wonder is--how was all this realized? How many years and people did it take to come up with these different models and in what field of AI did they originate? I don't have the book yet, so maybe it says that in a later chapter, but I doubt it. I know we're not taking AI for a history lesson, but so many people invest their whole post-collegiate life into developing these things, and we rarely if ever hear a name mentioned (exception, Rodney Brooks for subsumption architecture). Certainly, many of the architectures and ideas have been developed and polished over time by many authors, but I'd like to know that history.

Part of what makes AI so interesting is that it has an impact on how we think about ourselves and our own inner workings. It forces self- examination. I don't see how anyone could work in the field of AI and not have to consider day by day what makes them tick, or look at a robot running around in an environment and despite knowing that they programmed it, wondering if in its own way, it is thinking or feeling something that we cannot recognize. We may give ourselves too much or too little credit for all our accomplishments, but the operation of the machine called human being is so fascinatingly complex that we may never run out of things to study about it and we will always want to know: can we build something that does what we do, either the way we do it, or otherwise?

So, to me, to only recognize what AI scientists have come up with and not how they've come up with it does the field a serious disservice and it takes away some of the wonder of it all. The best question in AI is do/can machines think? And we should all be anxiously engaged in trying to answer that question, even if we never do.




David Rothstein

Getting to work with the robots in lab last week was an interesting experience. I began to understand the statement you made on the first day of class that by the end of the semester we would be building robots more complex than the Mars Pathfinder. Such a robot no longer seems particularly complicated to me -- all it needs is a computer chip with several ports capable of supporting different types of sensors, which is exactly what we have in the lab. Each sensor can act independently as a stimulus-response agent, with its own program to control that particular sensor's functions and a master program to make decisions about prioritizing the various activities the robot is capable of doing. The discussion of Threshold Logic Units gave me a good understanding of how such a master program might work and how it could "learn" by making adjustments to the threshold values based on input from the outside world. However, there are still issues related to computers learning which are difficult for me to understand. For example, in order to make adjustments that correspond to "learning," a computer must first know that it has made a mistake. But how do computers know that they have made a mistake? In the movie we watched two weeks ago, with the computer program that was being taught to recognize letters of the alphabet, the computer learned of its mistakes when its programmers specifically told it that the correct identity of the letter it had just been shown. The human mind, however, has the ability to learn its mistakes through various methods, besides just being told about them. For example, when we see a contradiction arise as a result of something we have done, we have the ability to reason backwards and decide which action of ours was most likely in error. For more complicated artificial intelligence tasks than simply recognizing letters, it seems as though it is vital for a computer to be able to recognize its own mistakes (and then learn from them). Such an ability would probably require more complicated programming techniques than we have discussed so far.


Frank Rusch

The robot described at the beginning of chapter 2 was primitive, since it could not really function in a indeterminant space: The robot was made to move from one spot in a grid to another, with no consideration of the interstitial space in between. The little robot Deepak brought into class was more free moving than the one in the book, though it was a little bit jerky at turns, showing that it was indeed considering its motions as separate calculations in time, rather than moving fluidly, as living things do. Animals are obviously not merely S-R agents, because we can anticipate and choose what we perceive. If you look at the algorithm we wrote in class for the 8-sensor robot's action, you can see that certain circumstances will always result in certain action, even though many choices may be available. This is due to the serial manner in the robot processes information. This can be also observed in many simple game-playing programs on computers. If a computer that plays tic-tac-toe had two ways to win in one move (i.e. two places on the board it could put an 'X' and win), it would always pick the same spot, based on the order in which it scans the tic-tac-toe board. Though the is inconsequential in the tic-tac-toe example, it makes a robot predictable. Suppose the 8-senosr robot has no walls around it anywhere-- it will always go in the same direction as long as no walls appear. This particular direction is always its "first choice". People don't have a list of 4 prioritized directions from which they pick the first available, they reason which direction to go. However, a person stranded in a desert might act more like this robot, since they would not have many visual details with which to reason.

The subsumption architecture prioritizes action based on its importance. This seems very useful, and when implemented in robots, works better than in humans because robots (unlike people) don't forget what they originally set out to do. However, robots may lack the judgement to not continually supersede previous actions with more important ones-- and thus take a long time to get back to the original tasks. Though we may encounter "higher priority" dilemmas in our everyday lives, it is not always necessary to address the matters immediately, and sometimes good to leave those things on the back burner when more resources are available, better circumstances, etc...



Edina Sarajlic


I found the robot simulation game from Tuesday's class very interesting. This exercise offered some insight into the principles of operation of a simple goal oriented reactive agent. Two arms, eyes and a brain, each far more sophisticated than any AI creation, were not immediately successful in accomplishing the seemingly simple task of picking up a cardboard box. This example shows that the performance of a reactive agent is not exclusively dependent on the quality of its constituent modules. As mentioned in class, the efficiency of information exchange between sensors, action mapping module(s) and effectors is another very important factor influencing the agents performance.

Designing a reactive agent as an assembly of specialized modules is helpful, because it divides the building process into an array of smaller, more manageable tasks. However, such approach introduces many other concerns, such as: how much information and in what form needs to be transferred between the modules? For example, thefeature vector sent by eyes could describe every single pixel to the brain, but it could also provide as little information as, say, a number representing the average intensity of the received light. Nilsson states that the split between perception and action is arbitrary, with some solutions more optimal than others, because then the feature vector can be reused for many different action functions. However, he does not go into any specifics which would illustrate how one would actually decide on the design of the feature vector and the action function in some general case of an S-R agent. It might be interesting to look into a couple of examples of S-R agents and step through the exercise of designing some goal oriented behaviors.




Ben Sprecher

This week's readings and lectures, by begining to present the building blocks of AI, gave me some idea of where our AI projects will be heading this semester. It's nice to see some of the algothims we will be implemeting broken down into steps that make sense and that I know I can program. I'm very anxious to start making our robot do more than spin its wheels.

I'm also intrigued by the Neural Network stuff, because it seems to me to be the most direct route to replicating the way our minds work. I don't claim that something must work like our minds in order to be intelligent, but replicating the structure of a system we know posseses intelligence will make it easier to experiment with how to create intelligence. Also, it can help expand our understanding of ourselves. If, for example, you could create a hardware or software neural network that exactly mimiced the structure of the human brain, then exposed it to years of sensory input and social interaction from humans around it, you could determine whether an intelligence developed. If it did, then it would have drastic implications for the current concepts of what makes us human. If intelligence is structural, can there be such a thing as a soul? Or a God? I can imagine arguments for and against both points. But, if no intelligence develops, then the question remains; what beyond the mere neurons and synapses of our brain makes us intelligent? Is it physical? Is it embodied in the exact configuration and properties of the flesh? Or is it something beyond that - a divine spark, or a soul, or something which can never be created by an individual that is controlled by a spark of its own? Some of the potential experiments in this area drive to the heart of the most basic and sweeping questions facing humanity: Who are we? What makes us the way we are? Why are we here?


Emily Sweeney-Samuelson

This week clarified the world of Artificial Intelligence quite a bit for me. I was pleased to get down to detailed methods - I feel more grounded, now that I have a little specific knowledge of the categories and programming procedures of robots. It is exciting to learn; it makes me want to build them! (I haven't been able to attend the lab yet.)

I want to learn more about machine learning. Neural networks, especially, are one of the reasons I took this class. The concept of emulating the human brain on any level, however 'incorrectly', fascinates me. It seems to be the ultimate challenge, and a central subject in the field of AI. I am not sure about subsumption architecture; it seems like that type of behavior would be clean and rewarding to program, but mostly early on. The appeal of it might wear off when the desired complexity of behavior can no longer be reached using it. But I'm sure I won't reach that point for a long time; I am just glad to have some procedures of AI available to me, to decrease the mystery of the field.



Tim Waring

After having read chapter 2, i understand the logic algebra. I also understand the basis for neural networks, and what a threshold logic unit is. i understand production systems and the idea of subsumption architecture.

I don't understand what a feature vector is. is it just a way of describing sensory inputs in a susinct and sensible way? also in subsumption architecture the highest (most complex or imformation demanding behavior gets cued first, then if that's not fullfilled then the second one can go, etc... all the way down. it seems like that is the way that animals behave a lot of the time. humans however have wierd and hard to describe thought porcesses going through them, ... it seems that subsumption is a good mode of programing instinctual behavior, then true intelligence must be a neural net or other high level, complicated, unpredictable system.


How do programmers have the "neurons" strengthen or weaken their responses based on learning?



Sarah Waziruddin

One of the things that interested me last week was the emphasis on the environment and its reaction with the machines/robots/agents. I didn't think the environment, or world, would be such a factor in determining intelligent behavior. The idea of a complex world and simple machines with apparently complex behavior is greatly interesting to me. This notion makes me question the complexity in human beings. Are we actually simple machines and only appear so complex because of the complex world around us? Has our behavior become more complex as the world around us has become more complex?


Another concept this week that interested me was the idea of a training phase. This was discussed when we covered Networks and TLUs. The idea that reinforcement has any affect on a machine is new and strange to me. I would be very interested in actually programming a machine that is affected by reinforcement.


The breakdown of tasks to make a fully functioning robot were very helpful to me. This breakdown allowed me to see how a robot would be programmed to perform certain tasks. I was also surprised by how many different approaches there are to implementing action functions. These different approaches all have different advantages and disadvantages which would be helpful to know when achieving certain tasks.



Leslie Zavisca

I found the reading and lecture on networks and, in particular, TLU's, to be the most interesting. This seems to me to be the foundation of imitating the human brain in its most broken down form. Even though I know we won't be doing it for this class, I am particularly interested in the determination of the weights that different sensory inputs carry and whether or not, for humans, those weights are more or less stable or if certain ones vary depending on conditions (although this would defeat our purposes). When trying to understand the applications of TLU's I came up with the very simple example of how a human being might determine what speed to drive on a highway. The different sensory inputs would be things like numer of passengers, time of day, temperature, wind speed, and then I think of more and more abstract and comples things like mood. How will we ever be able to quantify a variable such as 'mood' or 'emotions'. Even psychologists are worlds away from agreeing on issues concerning emotions etc. How will AI ever be able to conquer it? I am noticing that the more I learn about the advances in AI, the more I am convinced that we are so far away from accomplishing our goals. Although it is all very exciting and intriguing and challenging, it is also somewhat frustrating.


Back to CS372 Course Materials