CS372: Artificial Intelligence (Fall 1998)

Week 9: Responses

Readings


Jocelyn Arcari

This week's discussion of what a logic is reminded me of linguistics (when speaking of syntax an semantics) proof writing in math (when dealing with truth tables, "implies", and/or symbols, modus ponens etc.). I know we are to view all of these things as symbols for now and we can use them to form well formed formulas. Most other things were straight-forward. I think you are going to review what "soundness" and "completeness" are in class on Tuesday. I know they are in the book as well, but I am still a bit confused as far as what they mean.

I was also confused with something in the book on page 228 under language distinctions. When Nilsson is talking about confusing "informal languages of math and inglish w/ the formal language of the propositional calculus itself" I am not positive of the distinction he is making. Do you have any clarification?

In terms of the project (I am doing an alternate project for anyone else reading this) I was able to find recent information about the Kasparov vs. Deep Blue chess match on the web. It turns out that my books were not as recent as I thought they might be. Do you think your journals would have more information for me or do you think the web is as good a source as any?

Finally, is there a good way to study the different search methods for the test? I still don't know that I have a really firm grasp on them.


David Costello

After watching the video "Machines Like Us" (from Night Line) I was struck by how computers can create several methods of solving a given problem by simulating an evolutionary process (the problem becomes the environment and the possible solutions become the species within the environment). Since the output of the computers seemed almost inventive (like the walking program), I was wondering if AI experts think of genetic algorithms as a sort of artificial creativity since the machine goes through a "creative process" to find a solution. After your lectures, I was also wondering if Boolean algebra is a logic since both use truth tables. Lastly, I just wanted to ask if mathematics is a type of logic or is logic a type of mathematics?


Sonia Dubielzig

The video on Tuesday was interesting. I wonder how much the stock-broker computers have improved/evolved since the report was made. What other kinds of practical uses do people find for genetic programming? Do you think that their problem-solving capabilities could be applied to any problem?

Understanding the semantics of and, or, not, and implies seemed rigid at first, but once I approached it as a game (as the text suggested), it is not difficult to understand. In fact, it is almost a relief to be back on familiar territory: logic is something we all have to deal with and think about in the course of our daily lives, even if we aren't analyzing it in such a formal way.

This logic is a treasured gift to humans--it is one of the things we think make us special, an achievement that few other animals seem to have mastered. And yet, it seems like it would be almost easier to program than the talents we hardly notice in ourselves, like seeing, sensing, responding, etc. Perhaps this is because it is a more conscious process in ourselves, and does not rely heavily on skills outside the computations of the "mind", or "brain".


Ayishih Hakim

From the reading I am a little confused as to the point that Nilsson is trying to make in Chapter 13. He first starts off explaining that there are certain things that are more difficult to represent or to explain in a iconic representation. He is comparing iconic models with Binary-valued descriptions. I understand the reasoning in this observation but I do not get the transition from this to the subject of language.

Is this first observation by Nilson a validation for our study of the binary based languages FOPC and propositional Calc?

Also what is the need for this type of language. I realize that this type of language is very simplistic and its vocabulary of symbols is much more limited that the languages that we program in now but what is the use of this? Are there compilers for this type of language or is this chapter just an intro on how languages were formed?

I have noticed that this chapter is filled with Discrete Math. Surprisingly I am excited to finally see some application of Discrete Math in a CS context. I still donot see why it is useful except for the fact it appears to provide a means to verbalize certain ideas.

Last of all, what is meant by inferred. ie. w2/\w1 can be inferred from the two wffs w1 and w2. Does this mean that if we have w1 and w2 in a set then we also have w2/\w1 ?


Ada AC Hogan

When Nilsson began to talk about semantics in chapter 13, we made the assumption that the agent in question would make "reliable" decisions concerning various prepositions in its world: this information becomes part of its knowledge base. How would erroneous observations be checked, or more importantly, how would non- logical actions be judged? Once an atom is evaluted incorrectly, anything under the truth table that supposedly reflects the "constituent values" of a wff would also be false. I think that through our own robots and the ones we saw in the competition videos of last week we are very aware of how difficult it is to "evaluate" a world; our eyes and the robots sensors do not always arrive at the same picture . Our own robot would find a "wall" with a simple shadow because of its infrared sensors, and the competition robots had their own troublesome encouters with folding chairs that seemed like corners.

I didn't really understand the section on metatheorems in Nilsson, but between the book and class I thought that the semantics of prepositional calculus was clear.

I've been spending a lot of time searching for information on the mars pathfinder; I've been really surprised at how many sensationalist sites there are! Very few concern the pathfinder or rover itself-its mechanics or how it completed it missions. I never realized that Mars had such a fan club, but there are plenty of sites in which all people want to saw is "Mars is my favorite planet". Sites by NASA or JPL are informative, but are more likely to have group photos of the team working a project than of the project itself.


Peter Ingebretson

I though the presentation of the last chapter in Nilsson was somewhat confusing, not because I didn't understand it, but because I didn't think he presented the material in the most straightforward manner. I thought the conceptual division between the syntax of prepositional calculus and the semantics that give it logical validity in our real world is important, but that he presented it almost as something mystical. For example, some rules he gave the status as rules of inference, while some, such as De Morgan's laws, he presented as semantic equivalences.

I suppose that the distinction is important to make, since we should not make the mistake of blindly applying formal systems to real world situations, particularly if we are working in computer science. However, I felt that at some fundamental level, a connection between them was not being made, or at least not as clearly as I think it is.


Sarah Klaum

I've been looking forward to our foray into knowledge bases and the predicate calculus. I first became interested in the broad field of AI when I researched Terry Winograd and his SHRIDLU program. As facinated as I was by the final product and it's capabilities, I was unable to glean much from the high-level discussions of predicate calculus I found in texts and on the web. I did find at the time, however, many useful resources that gave conceptual descriptions of knowledge bases, language, and semantics. I recall at least one lecture that was heavily based on such concepts this summer, while I attended the two-week Cognitive Science workshop at UPenn. I look forward to reviewing the material presented there, now that I've had a more formal introduction to the concepts and definitions. I would be interested in exploring further the variety of research being done in this area recently. It would be informative )and fun) to see an actual example of such a system in class or lab, or to construct a simple example (on pen and paper, of course) as a class.


Maralee La Barge

Well, my konane program is essentially finished, with some minor glitches in the way it calculates the endgame, but that can be fixed relatively easily. Regardless, now I'm starting to feel kind of a void--there's comfort in having something big to always go back and work on (ha ha, no need to assign more programming--I can feed that energy in the VR project).

The program didn't seem especially hard (though without a strong grasp of data structures, I would have struggled). It just needed to be worked out piece by piece. But it's not a matter of cut and paste either (with the algorithms in the book). A reasonable evaluation function has be considered. I mean calculating the comp's legal moves - your legal moves sounds easy enough, but that requires you to generate moves for both people and then look at the size of the list you've generated and midgame, those lists start getting BIG (meaning sometimes you can get as high as 15-20 moves per player. That's the branching factor of the tree mid-game: 15-20!) Having to generate moves at each step in the Alpha beta algorithm has already slowed the program down--and now you're going to do it at every static evaluation too? Not only that, but you have to also be checking for an endgame situation--that means after every move. You'll have to generate lists there too. You have to find a way to combine that list generation in places and look at other possible static evaluations. And you have to consider that in order to generate a list of moves, you need a board in a particular state--does that mean making a copy of the board structure you have or trying to reuse the board you've already got, just being sure to put the board back the way it was before the computer started its evaluations?

All things to consider. Throw a little double-move spice and there goes your free time.

Anyway, now that's that pretty much out of the way, I'm thinking about our upcoming test. Will anything from Konane be on there? :)


David Rothstein

I'm a little confused about the statement you made in lab last week that we would need to use linked lists and other elements from a data structures course for our Konane project. I haven't taken Data Structures, so this worried me at first, but in thinking about how I'm going to write this program I really don't see where linked lists come in. Part of this might have to do with the fact that I don't know exactly what a "linked list" is! But in planning for this program I really haven't come across anything that can't be handled by an 8x8 matrix representation of the board (a standard data structure in C or C++), recursive function calls for the minimax procedure, a simple for-loop that can be used to search each space on the board for allowable moves, etc. Am I missing something here? I'll be sure to come talk to you if I run into a problem, but so far it seems like my CS 105 background is more than enough for this project.

I took a linguistics course last year, so I've had some experience with propositional logic. Much of the justification for studying propositional logic in that class had to do with the possibility that it could be used in a computer program that was able to understand human language. I came to the conclusion that propositional logic can do a good job of interpreting the meaning of language once it has everything put into neat little sets and subsets, but the real difficulty seems to be in integrating syntax and semantics -- reading a complicated, convoluted human sentence and finding the right combination of trues and falses and particular atoms to assign them to that correctly corresponds to the meaning of the sentence.


Frank Rusch

Chapter 12 discusses the use of reasoning rather than using iconic models of world situations. Reasoning allows computers to recognize truths about the world, as well as make inferences about what the world's status implies. This is a powerful ability in that, like humans, robots that can reason will be able to make decisions about things they can't directly perceive. Given that robots frequently have less than perfect sensors, a robot could make decisions about the world without having to go out and obtain the information.

The propositional satisfiability seems to be akin to something humans are able to do (internally) rather well: take a set of various situations and generalize them all to one single model. That is, we can pick out the patterns of many possible conditions and obtain the logical result.

All the initial information about logical rules is based on human input; can a robot reliably form such rules based on observation, not reasoning? I can't help but wonder what the foundation of logical beliefs is. In an isolated environment, one could develop a different set of so-called true beliefs. The example in the text in which the robot lifts a block if BAT_OK and LIFTABLE are both true, does not tak into account whether the robots motors are broken. Maybe that's not the best example, but I think it's interesting that reasoning, like other computer perceptual processing, is restricted to a microcosm of beliefs.


Edina Sarajlic

The previous week in AI passed in a peaceful coexistence with Hawaiian checkers and propositional calculus. Well, not entirely peaceful as far as Konane is concerned. Since my C++ has gotten a little bit rusty over the last couple of months, the implementation of some simple sections of the program took more time and frustration than they normally would. Now that I feel more comfortable the syntax, I am actually enjoying the assignment. However, I am slightly worried about my choice of data structures for this program, because it is probably not the most efficient one. (I have a habit of making things more complicated than necessary.)

The materuial on propositional calculus we have seen in class is already familiar to me from Discrete Structures class at Villanova this summer, except for the definition of proofs. I have never thought of proofs that I have done in math classes in such simple, yet complete context. I wonder why we havent covered that in D. Structures-it seems to be an unavoidable concept in propositional logic. .

Even though the ideas behind this logic seem very simple and sensible, I would not like to have to implement them in some kind of a reasoning program. As simple as the basic principles are, their implementation in some language like C++ would be really hard. How are those complicated expert systems implemented? Is there a language that is more suitable for knowledge representation and reasoning?


Jim Speer

I'm enjoying the lectures on logic syntax (something I never thought I'd say). I think it's because I actually understand the full 90 minutes. I wonder if we'll get around to using these concepts in our robots..? I'm still hoping that I will see my group's robot actually figure out something for itself, our do something that it was not specifically instructed to do. Seems like most of the robot programming is figuring out light thresholds and turning radii, so that the thing won't kill itself every 5 seconds. I'd like to see it have some facility for an unexpected event.

I've been working on the game playing program, but I've got to the point where I don't know if it's doing what it's supposed to. It seems to behave correctly on a microscopic level, but I am having strange results when I pit the computer against itself. I'm not sure how much time I should spend tinkering with the program to get the results I think should be optimal, when this might be needless neit-picking. It may be as good as it gets right now.

So, I'm noticing a common thread in all AI, even in the silly Moravec sci-fi stuff: We're having some success in giving machines problem solving abilities and a simulated intellect, but no one is even pretending that machines will ever *want* to do these things on their own, let alone desire to do things outside of it's initial interests, if any. Just a thought.


Ben Sprecher

In terms of clarity of content, I found chapter 13 the wrost chapter so far in Nilsson. I don't know whether it is his descriptions of the terms or whether it is the terms themsleves, but I constantly found myself seeking further explanation and more extensive examples. I'm sure my comfort with the material will improve with time and experience, but I That said, I think the underlying principles of Propositional Calculus are closer to what I envisioned as true AI than anything else we have done in this course - they are the structural foundations of a system of reasoning. More than anything else, I believe it is our ability to apply a general system of reasoning to our very large internal databases of experiential and learned knowledge which allows us to behave in an intelligent way. Especially experiential knowledge is important in giving us the tools with which we can behave intelligently. As an example, think of someone who has been told the basics of how to accomplish some complicated physical action (like removing the metal ring from a tavern puzzle). At first, they will act in slow motion when solving the puzzle, as they get used to the specific way the metal bars and rings of the puzzle move relative to each other. Even though they have been _told_ how to solve the problem, they need to map the explanation of the solution onto the physical puzzle. Then, once they have successfully solved it, they are capable of solving it much faster. Now, they haven't learned anything conceptually from having physically solved the puzzle once - they already knew how to solve it. But the addition of the experiential knowledge allows them to convert that conceptual knowledge into a quick, smooth solution to the physical problem.

So, I feel that one key to giving machines the ability to behave intelligently (assuming our behavior is intelligent), is to give them both the conceptual knowledge they need to find a reasoned solution to a problem as well as the ability to add experiential knowledge into the same framework so that they can use that for reasoning puposes as well. I hope Nilsson addresses the issue of experiential knowledge later in the book.


Emily Sweeney-Samuelson

I like the clear definitions of everything this week, without uncertainty or probability. This propositional calculus is so clear-cut that it hasn't been hard to pick up. It also seems very intuitive; like some computing languages, once you know how to translate basic expressions, things fall into place fast and you feel comfortable with the syntax; the hard part is manipulating the symbols correctly. Because the syntax is so limited, you have to simplify your thoughts to very basic levels in order to put them into logical (well, propositional calculus) form.

I learned a timy bit of this stuff in high school, but I've wanted to learn all about it for a long time, because it seems important and useful, and also interesting because it has been/is so widely known and used. And it's intriguing, because I like to manipulate symbols -- it has so much in common with computer science and math in its symbolic language. I think learning about propositional calculus would be much harder for me if I didn't have a background in those disciplines. Since I do, it is easy to pick up and fun to practice, especially because it makes everything so precise and clear! It seems like it makes it easier to validate thoughts, of course because of proofs, but also because it makes points using pre-defined and accepted symbols while still allowing so much freedom of topic. You can apply it to any subject without doing a lot of extra symbol manipulation -- just assign whatever ideas you like to features, and manipulate THEM independently of what they stand for. That seems to make it so easy to add clarity, enhance validity, and make your thoughts universally accessible by explaining them in a standard, infallible way.


Tim Waring

I've read chapter 13, of course. And i have looked over my friends notes from the day in class i missed last thurs. There are a couple of questions in my mind, the first one has to do with interpretations. How is the process of fitting interpretations to wffs and done? I mean in real life, how is it applied?

i understand and like validity, equivalence, and entailment, but i have a problem with satisfiability. Where as the logic and the inference rules make sense, i can't imagine how hard the taks is to be able to use wffs to actually understand the world, by persuing a model that fits. It seems that it is not possible, given the PSAT problem and the like for a computer to use this sort of propositional calculus to solve real world- thousand variable problems, because then it has to test 2^1000 models to it's wff.

that's the only problem i have with this chapter, i actually believe that propositional calculus is completely sensible and works logically on many levels. but I an highly skeptical of how it can be applied to run real-time thinking agents.


Sarah Waziruddin

The lecture material and readings for this week were very similar. A logic consists of a language (syntax), rules of inference (to manage the syntax) and semantics (to relate the logic to the world). So far, the information we learnt seems to be a set of rules and definitions. The material is straightforward now, but has potential to get confusing.

The clip we saw on Tuesday seemed to sensationalize AI. AI is slowly being phased into daily life. For example, the self-driving car will probably not be implemented into daily life but the warning system that comes with the car will be. Non-academic media always seems to sensationalize AI and technology in general, but then again, media does have to sell.

Sorry if this question has already been answered, but is this exam cumulative?


Back to CS372 Course Materials