Readings
Diana Applegate
This week, Predicate Calculus was introduced. I must say that I'm finally beginning to appreciate the power and elegance of such logic systems. Even though I struggled through Propositional Calculus, things are starting to click (a little!). It's easier for me to work with wffs in Predicate Calculus...maybe that's because they are almost set up like little "functions" having certain parameters. Visually, I feel that I can more easily manipulate these wffs than the wffs in Propositional Calculus, which were largely composed of infinite strings of P's and Q's! The introduction of Predicate Calculus, and review of the key concepts in Propositional Calculus, has given me a greater understanding of and appreciation for logic systems in AI.
On a different note, I'm looking forward to getting to natural language
processing. The brief discussion of the sentence "Every farmer that
has a donkey beats it" reminded me of the linguistics class that I
took at Swarthmore last semester. In that class, we spent a significant
amount of time drawing "structure trees" for such sentences, given
a grammar and lexicon. Although I haven't yet worked out a structure tree
for the above sentence, its tree(s) would confirm the fact that its interpretation
is ambiguous. In essence, the sentence in question would most likely have
at least two (or more) possible structure trees.
Jocelyn Arcari
This week focused on predicate calculus. The example for "heads, I win. tails, you lose" helped me gain a firmer understanding of what resolution is. It seems like it will be a much 'richer' language that propositional calculus since it allows us to talk more specifically about the world and the things in it. Universal instantiation and existential generalization seem to make sense -- the symbols are just confusing but when I think about what they mean using things from a possible world (like a block world), then they are clear.
I am not positive that I understood everything about pattern matching. Is replacing a varible with an atom "legal" in predicate calculus? What would be an instance that it does not work? I did not understand "unification or the "most general unifier" that you went over at the very end of class. Could you go over these again?
One thing that I found important to note is that with the English language, our sentences are sometimes ambiguous and two completely different formulas could be written to represent our sentences (as is the example in Nilsson on page 249). I remember discussing this problem in my linguistics class as well. It is sometimes difficult to "see" the ambiguity in a sentence because we often interpret it to mean something right away and do not consider the other options. As Nilsson puts it, "The big problem for AI is 'what' to say, not 'how' to say it." We have a language, predicate calculus, but translating our thoughts in english into predicate calculus becomes more of a problem. This should be an interesting area to explore more.
David Costello
One thing that I don't understand about the pending Konane tournament is how two computer programs can play each other if they start differently. In other words, if two competing Konane programs require the human to play first, how can they play against each other? Also how do I print out a sample run for the paper due on Thursday when my Konane program is done with graphics? Do you want a printout of the Konane program included in the paper? Lastly, how large of a Konane paper are you expecting (how many pages)? Chapter 15 seems pretty straight forward to me so right now I don't have any questions concerning that subject.
Sonia Dubielzig
The predicate calculus looks like it will be more challenging to understand. I read Nilsson's explanation of "Quantification", but I still do not quite understand the concept of universqal and existential quantifiers. I think I'll need it explained again with examples of what sort of information would represent a "universal" or "existential" quantifier.
The division between "top-down" logic like predicate calculus and "bottom-up" programming makes me wonder which is the better route. Certainly, predicate calculus is more tangible and translates well to human reason and logic. In contrast, we cannot say what the computer is "thinking" when it does complex genetic programming, or even creates a simple neural network. However, just because it reasons more like humans, does that mean it is better? It seems to me that computers showed themselves extremely adept at applying their own knowledge about the world in the video about genetic programming, whether they were predicting the stock market fluctuations or learning how to walk. Perhaps what the coomputers/robots learn by themselves is a much more efficient way of thinking about the world than the logic we use.
Emily Greenfest
This weekend I read 2010 for the first time. I had read 2001, seen the movie, etc and had been intrigued by the AI HAL, but not much more. HAL seemed, at least in the context of the movie, to be equal to most Star Trek computers and/or the Mother of Alien fame. In other words, a computer just intelligent enough to run all of a ship's background processes and to converse "intelligently" w/humans. Well, actually, there was a little bit more to HAL as he did develop a paranoia, but that is explained away in technical terms midway through 2010 as the side-effect of two conflicting programs. In 2010, however, we see a whole new side of HAL -- at the end of the novel, Bowman (the now-star-child) chooses HAL to be his companion and the alien species (whoever they are) destroys the body of HAL, but perserves his consciousness/intelligence. I found that scenario to be quite intriguing, as it once again addresses the AI question as to what constitutes intelligence.
In the story, HAL is the result of years of AI work -- a mish-mash of computer gadgetry and AI alogorithms that results in the HAL program. So, in many ways, he is no more than what we are examining/working with in class (except for the fact that he is the realizaton of the ideal) and his intelligence is in many ways based upon the assumption that the brain is a computer and that intelligence is no more than the working sum of the interaction of the products. Or is it? In other words, is intelligence sort of like complexity in that it needs to be described as resulting when the outcome is greater than the sum of the parts? i.e. intelligence occurs when the program does something it was not programmed to do. In many ways, that is true: in class we have been looking at programs that learn how to do a task not implicitly described in the programming. The preservation of HAL (or even Bowman) as a "star-child" brings to front the question as to exactly what is the excess. According to Clarke, that excess is the intelligence combined with self-consciousness. But in that case, why do we need all of the circuitry? What purpose does the brain or the CPU serve? From that perspective, conciousness and intelligence may exist sans medium, but in order to influence the world some tool (e.g. brain) must be provided that can translate the abstract into a physical realization.
Ayishih Hakim
Hi, well this week the lectures have been interesting but the only thing that I can bear to think about is KONANE. It is driving me insane. I have begun to think that I am making this project way too complicated. I hope there is partial credit. I think that I read that this project is worth 45% of the total grade or is this the two projects combined?
Aside from that stressful subject, I have a couple questions about Predicate calc. In predicate calculus are Individuals and Object constants used interchangably? I was a little confused in class because it seemed that they both referred to the same thing. Also what is the difference between substitution and unification? I couldnt grasp the difference between these two terms either.
Also there is one more thing. What is the proof of the faliure of logic? Im not sure if I missed this or just didnt catch on in class. Is this important? If it is can you please give a brief recapp sometime in class.
Ada AC Hogan
I was wondering about wffs that do not have a model, and are therefore inconsistent or unsatisfiable... are they simply ignored, then if the conditions in the world change, are they verified again? Or perhaps they are simply "thrown out"?
It seems to me that to say things still poses for AI. Even in the example about packages in room 27 (pg 249 Nilsson), the english statement had certain ambiguities that could be translated by two formulas that did not mean the same thing at all. Now, perhaps it is possible for the programmer to choose between these formulas, but I would consider one of AI's goals to be able to deal with such unclear situations and therefore be able to choose the formula that advanced the agent twards its goal. This would also play into the problem of conceptualization; how do we deal with the possible of there being two, or several equally viable perceptions of an environment, that are all grounded? " we are free to conceptualize the world in any way we wish; however, some conceptualizations will be more useful (not necessarily more "correct") than others." (248 Nilsson). Will the programmer decide which concept is more useful each time? I would think that the problem of how knowledge is "conceptualized" is a huge problem.
I had a thought about our class discussion last tues.- on the "soccer game" Ben and Tim saw presented at UPenn. The idea of an overhead camera being considered"cheating" is interesting.... I suppose that this is because the agents aren't independently using their sensors for their world view. But at the same time, if this is the most effective, most efficient way of having a goal carried out, why not include an extra computer that oversees all actions? Even if these small robots were tranferred to a home setting, it would be possible to have another computer, separate from the robots, that processes information. Or does this, in some way, defeat the purpose of AI? Does each robot have to be completely independent as it makes decisions and "reasons"?
Sarah Klaum
I just had a long discussion with a friend regarding those very human thoughts and feelings that seem to be of such depth that one finds it impossible to express them. There are numerous occasions when language fails us, when logics collide in our minds and and we are faced with situations that seem to "defy reason." I realized within the scope of our discussion that I began to approach certain statements from an artificial intelligence perspective. I wandered back to the question of how we could possibly ever express emotions and states--love being a perfect example--or if we would ever want an autonomous agent to experience it and reason about it. Are such emotions part of what make us intelligent? If we were to skim over those emotions we may not be able to pinpoint with a precise definition or rule, how much would a system suffer? Would it fail to become an integrated whole? Clearly emotion colors our perception in nearly every aspect of our lives, in the choices we make and the logic and reaon we employ. In my opinion it is interesting to speculate about models of emotion and its behavioral influence, however infeasible it seems. "Stop thinking and just _feel_..." what on earth would this mean to an agent that had some conceptualization of emotion? This is all linked (if weakly) to previous thoughts I had regarding BDI systems. Complex emotions seem to extend far beyond the limits of what is capable within any system currently being researched (emotions do seem to be a different subtext, apart from perceptions, intentions, etc., although clearly influencial in the case of humans), but in making such a statement I am perhaps only demonstrating my lack of knowledge on the subject.
David Rothstein
I guess what interested me most from the class and reading last week was the idea we briefly touched on that there can be ambiguity in the ways in which a predicate calculus interprets statements about the world. The example that was mentioned in class ("Every farmer that has a donkey beats it") and the one mentioned in the book ("Every package in room 27 is smaller than one of the packages in room 29") are both examples of an ambiguity that I have seen elsewhere in a simpler form -- "Every dog chases a cat." The sentence is unclear about whether there is one particular cat that every dog chases, or whether every dog chases some cat, which may be different from dog to dog. This ambiguity leads to two different ways in which to represent the statement in predicate calculus. In some ways, this means that the logical/symbolic language of predicate calculus is superior to human languages such as English in its ability to accurately represent the world -- two computers talking to each other in predicate calculus would not have to worry about this potential ambiguity, but they would if they needed to translate their thoughts into English to communicate with humans. On the other hand, the ambiguity of English is what makes it such an interesting, vibrant language, one that allows for richly nuanced communication. I have yet to see any poetry written in predicate calculus, and I don't think I ever will!
Frank Rusch
In predicate calculus, do relations only give back true or false values? And do functions only return objects? Nilsson says that numbers (e.g. 7) can be objects. Does a predicate calculus system need to have a definition for each relevant number that it may use, or could you implement a set of numbers all at once?
As I the discussion of conceptualizations, it was interesting to think about how we can represent worlds in such simple manners. At one level, it seems like describing the block world--to the extent that it would be wholly descriptive--would require wffs about the laws of nature, e.g. what holds the blocks together, gravity, etc... The only reason we are able to understand the pared-down representations on worlds is because we can recognize them as human-attuned subsets of our larger world that we live in. In other words, these models are subordinate.
Edina Sarajlic
The past week in AI has brought a couple of novelties. Since the deadline for Konane has been moved back I decided to spend some time implementing graphical user interface. In this task I have encountered a silly problem: one of my classes, the Move class, has the same name as one of the GUI functions. That would not have been very time-consuming problem, had I decided to simply rename my function. After playing with namespaces for a couple of hours without any success, I have decided that renaming my function was the simplest thing to do. The frustrating part was that solving the name conflict with namespaces does not seem too hard to implement, but the problem was that I was not familiar enough with the structure of the GUI functions.
In terms of our class work, predicate calculus seems much more interesting and versatile than prepositional calculus. The ideas in chapter 15 are presented very clearly, but I feel that more specific examples should have been given to illustrate these ideas. For example, in the quantifier section, Nilsson states that a higher-order predicate calculus would allow quantification over relation and function symbols. I found this possibility very interesting, because it would introduce an extra degree of freedom and versatility in building a knowledge representation. However, since I am having trouble coming up with particular examples of such quantification, I am not sure how it would be advantageously used in designing a real-world agent knowledge base.
Another point of confusion for me was the importance of Horn Clauses. I see the great potential in the existence of linear-time deduction algorithms, but most clauses do not belong to this narrow class. Is there an efficient way of converting clauses into Horn clauses? A better question might be if they could be used to speed up deduction on a set of generic clauses? I guess there is probably a positive answer to one of these questions. Otherwise, the form of Horn clauses seems too restrictive to render them useful for any real world applications.
Jim Speer
Obviously, a knowledge and logic representation in machine intelligence is important. The predicate calculus seems to be a straightforward enough means for the purpose of simulated thought and problem solving. But while accurate and certainly capable of a good deal of specificity, the language does not seem to provide a way to express vagueries and uncertainties. I suppose this goes back to that question that can never be satisfactorily answered, which is "what is intelligence?" and what does it mean to construct an artificial one? As I was raising last week, the concept of search seems to be simply laying out every possible option and choosing the one with the best quantifiable outcome. At best this is simulated intelligence. I think over the course of the semester I am getting more and more comfortable with the idea that human and organic intelligence emerges from vagueries, non-specific and uncertain processes, and unquantifiable mechanisms. Does this degrade human intelligence and experience? I don't think so, since it springs from such a complex network of senses and memory. Even assuming that a machine could be constructed to simulate every working of the human mind/body, it's still hard to say what that machine would be experiencing. If nothing else, only a human can be "trusted" to experience the same emotional and physical occurrences that we do. Even among difference human cultures, one's language says a lot about one's values, priorities, and depth of understanding. The predicate calculus language is just the language I would expect a simulated intelligence to deal in.
Ben Sprecher
I found chapter 15 a little difficult to understand at times. Conceptually, I understand what Predicate Calculus is all about, but I think I'll need more practice with it before his examples become intuitively clear to me.
I am, however, interested by the opportunities predicate calculus offers us for representing our knowledge. It seems like we're getting closer to the stated goals of AI with predicate calculus. If AI is about making machines that think, then prediacte calculus could be the framework with which that goal is achieved. After thinking about what predicate calculus is capable of representing, I cannot find an example of any knowledge that I have that wouldn't fit into that framework. The only thing that I think is necessary to make a prediacte calculus system have the came cognitive capabilities as a human is some way to give the system some sense of the "real world" which its model corresponds to. It would have to have some concepts of itself within the interpretation of the world it has, and it would have to have sesory apparatus to tie down correspondences between its internal model and the world. Also, emotions of some sort will be necessary to achieve human-like behavior, although probably not to achieve intelligent behavior.
With these extensions, though, I see predicate calculus as a promising route towards thinking machines.
Emily Sweeny-Samuelson
This week's material is very interesting. I hope we go through predicate calculus very thoroughly; the book has some confusing sections about it, but I really want to learn it well. It's fun to play with, even more so than propositional calculus.
My most specific question is about one of the examples in the book, given in section 15.6.2. It says that a universal quantifier and THEN an existential qualifier applied to the same statement will have a different meaning than if the existential qualifier were placed before the universal quantifier, even if the variable the quantifiers are applied to don't change. I'm not sure I understand why this is.
Other than that, I just want to see examples done in class -- I'm sure everything will be clearer after we get through the rest of the chapter in class. I understand what we've been through already, and I'm discovering that I was right to look forward to learning about all this logic stuff; I really like it!
Tim waring
The simplicity and rationality of predicate calculus is of course the very seductive. However, i don't find it as use full as i know it is powerfull. in other words, it truly is a powerful language, or way to constrct language. But the problem with it is not itself, it is our lack of understanding of how to implement a system that runs it. basically, although it seems to make a mear computational job out of logic, truly to be able to build logics the way you and i do, the agent must actually be logical, or rational, or sentient in the first place. This, of course is the problem, and it is why AI's greatest accomplishment was the debunking of logic.
I looked ahead, as well, and saw that there is a chapter on the situation calculus, which sounds much the same, at a cursory level, as propositional. I find it disheartening, because to me although these are important parts of AI, they must someday be added to the engine that will run them, (say a large neural net, or other truly dynamic, out-of-control system) konani is compliling nicely these days, but what with my thesis rough draft due on wednesday, i don't know how much free time i'm going to get for finishing it off.
Sarah Waziruddin
Nilssons Chapter 15 is not as clear as his previous chapter on propositional calculus. Predicate calculus refers to objects in the world and propositions about this world. The language consists of object constants, function constants and relation constants. Its interpretation maps object constants onto objects in the world.
Nilsson brings up an interesting point near the end of the chapter. He mentions the need to conceptualize knowledge about the world in terms of objects, functions and relations. I am interested in how Nilsson will conceptualize intangible things as he says he will.
Leslie Zavisca
I don't have too much to say about last week's reading or lecture. Predicate Calculus (at least what we have discussed so far) seems pretty straightforward to me. I am interested in the sentence "Every farmer who has a donkey beats it" and why it is so impossible to 'translate' into the predicate calculus without all sorts of unintended implications. What exactly is about this sentence and others like it that presents the problem? What are the other limitations of predicate calculus? As for Konane, I have to agree with Diana's response for week 10. I feel as though I have a mastery of all of the concepts that we are studying in class, but when it comes to code, I feel very intimidated having only the experience of 110 to refer to. Even with my struggling, I know that my experience in this course will make 206 all the easier.