UserPreferences

Week9 (Due 11/1)


CS 372 (Artificial Intelligence) Fall 2004

Week9 (Due 11/1) Reactions & Thoughts

Notice: The wiki now requires you to have a login to be able to place stuff on it (too many spammers were defacing pages here so we've made it a registered user writeable only). To be a registered user, just go to the fron page and click on the User Preferences link at the top right. Create a login account (remember the password!) and start using it again as before.

Ioana Butoi

I never thought you can combine propositional calculus and robotics. I guess every class I’m learning something new. So far everything I have done with robots has been completely different. This propositional calculus sometimes seems too abstract. The example that we did with the robot hand was a little bit more helpful, but I think I need to see a couple more examples to fully understand it. What can these robots, based on proposition calculus, do?

Andrew Cantino

I accidentially posted this in next week's response section.

I have been quite interested in the logic stuff that we have been doing in class this last week. I remember hearing at some point about AI programs designed to prove theorems at some point, which I thought was very impressive. Now I am starting to see how that could be possible, given a program that knows how to function in a certain logic. Doing a little research, I see that this is called [WWW]Automated Theorem Proving, and that it is similar to [WWW]Proof Verification. See also [WWW]An Overview of Automated Theorem Proving, from which I quote: The most exciting recent success in mathematics has been the settling of the Robbins problem by the ATP system [WWW]EQP. In 1933 Herbert Robbins conjectured that a particular group of axioms form a basis for Boolean algebra, but neither he nor anyone else (until the solution by EQP) could prove this. The proof that confirms that Robbins' axioms are a basis for Boolean algebra was found October 10, 1996, after about 8 days of search by EQP, on an RS/6000 processor. This result was reported in the [WWW]New York Times.

Looking ahead in our reading, it looks like we will be coming to understand much of this stuff as the class progresses.

Audrey Flattes

I think its starting to come back to me. Having taken a logic course in the past most of this is extremely familiar to me. But there are still a couple of things that I wonder about. For example exactly how far are we going to take the logic that we are learning. In class we've gone over a few of the production rules, but if I remember correctly there are plenty more. So how many of the rules will we be using? Another thing that interested me was GSAT and PSAT, and when and how we would be using them. As for chapter 14 all I've got to say is its alot to remember.

Christina Florio

Although I am not 100% confident in my understanding of logic and propositional calculus, I am a little hesitant about how this actually is helpful with what we are doing. I can see how it will be useful for conditions for when the robot can perform a certain task, but we already do this; then, are logic and propositional calculus just ways of explaining how this is done? Now that I think about it, I may not understand all of this. The PSAT problem is very confusing which brings me back to my question about how we are going to use logic and propositional calculus.

Kathleen Maffei

As we review Propositional Calculus, I’m reminded of functional languages I’ve used in previous classes. Although I know that logic-based languages are technically a different paradigm, there seems to be a strong similarity in the way in which the problem is approached.

When we work through a proof in propositional calculus, we do so by applying operators and the principles of metatheorems until we get the result we’re looking for. Functional programming languages are very similar in that a program (or a function in your program) is basically one long statement, applying operators and functions to your input data and variables. The result of the equation becomes the output of your function (or program). It’s a language that forces the programmer to think about the problem in a very different way than languages like C++ and JAVA.

I’d be interested in seeing an example of a logic-based program, now that we’ve covered the basics of propositional calculus. It would be interesting to see the format for such a language.

Sara McCullough

Our study of propositional calculus has reminded me a lot of my days in Discrete Math. They both seem very technical and very abstract at the same time. The technical functionality of propositional calculus also reminds me a lot of what I have learned about scheme in Programming Languages this semester. I feel like I have a somewhat clear understanding of propositional calculus. However, I have no idea how we are using it with robots or game-playing. I just don't understand why we need it to do any of the things we are doing. It seems like there would be easier ways to handle decision making than using propositional calculus. I looked up examples of programs using propositional calculus online, but all I could find was a few examples of programs in LISP written to implement some of the rules of inference we have learned. I still don't see how that could be helpful in our study of AI.

Ben Root

This week I am interested in logic. I am interested in how logic based programming languages could be superior to functional ones for many applications. It was also interesting to see that the terms from my compiler class are applicable to the formal logic specifications that we are discussing. It reinforced what I learned in compilers about the different parts how a compiler works (i.e. parsing to find "atoms" and "connectives", then applying "semantics" to the grammar of the language.)

It was hard for me to find any intelligable tutorials or code samples from prolog on the 'net. It seems like implementing a program in prolog is a lot different from how programs are done in any of the programming languages I am familiar with. I am curious what other paradigms of programming langs there are besides logical and object oriented ones like C++, Java

Sandeep Singh

I think I have a pretty good grasp on propositional calculus. Each year that I took computer programming in high school, we spent a great deal of time working with Boolean algebra. I don’t know how much of a stretch it is, but I’ve been able to make strong connections between Boolean algebra and propositional calculus. Sure, the symbols and names are different, but the concepts and the themes behind both are nearly identical. Back in high school, we never really went into how to implement actual Boolean algebra in programming…so I’m a little hesitant as to whether or not I’ll be able to use propositional calculus in our exercises. Is it that propositional calculus can only be used in logic-based languages? If it’s possible to use in any language, which I am still unsure, it’s mostly just a matter of me looking at examples and trying it out myself.

On the topic of programming, I agree with Darby that the Konane program does seem a bit intimidating, but I think I’ll pick it up once I play the game a few times. While the eval function is going to pose a difficult problem, I hope to ease the overall pain by using a language with which I am more familiar. I still feel as though I haven’t completely mastered Python, so I think I may use either C++ or Java…I don’t see why it wouldn’t be, but I’m hoping that this assignment is feasible in those languages. Either way, this program is definitely going to give me nightmares.

Darby Thompson

Wow. This logic and propositional calculus stuff is a bit intense! It seems like a complete switch in gears from last week. Although the language of description of propositional calc is wack, I think that I am grasping the actual logic concepts, infact logic is nice to work with since there are no grey areas; statements are always true or false and can be compounded ontop of eachother.

I checked out the homework posted for Nov 23rd. It is a bit daunting looking at it and I hope to get a start on it asap. The game itself seems simple, but I have no ideas about what my strategy for winning would look like. How on earth do you start to come up with an evaluation function!!! Hummmmm, I think that I need ALOT of practice playing the game myself. I have found the program here:

http://cgsuite.sourceforge.net/

but haven't got it to work yet...I also found a link from a konane site to a previous project implementation of the game from this class on blackcat.brynmawr.edu - alas it is nolonger there. I also found a java implementation of it here:

http://www.cs.swarthmore.edu/~meeden/konane/carlisle/Konane.html http://zillionsofgames.com/cgi-bin/zilligames/submissions.cgi/63907?do=show;id=530