Bryn Mawr College
CS 372: Artificial Intelligence
Fall 2000
Written Work: Week#9 (October 31 & November 2)

Sharon Rose Alterman

I was intrigued by the work that we did this week in AI. I had a basic idea of how a computer must use search to play games from writing simple games in Logo when I was younger. What I would be interested in is to see if there is another way to approach these problems. The book alludes to searching only in a limited space of the board for games like Go. That would clearly cut down on time. Robots are fairly good at pattern recognition, and I know from psychology that experts at games like chess have lots of board patterns memorized and play off of that. They are more able to remember accurately actual piece combinations that could appear in a game than a random set of pieces on a chess-board. I wonder if computers could use a technique like that, and if it would be any more or less efficient than the algorithms that we already have.


Rohit Apte


Durell Bouchard

 It seems that the minimax procedure is designed to find the best move in a given situation assuming the adversary is really smart. For example in the minimizing step it selects the node that has the lowest static evaluation value, because it assumes that the adversary will make that move, the best move possible. What is more likely if the adversary is human is that it will make the best move that it can think of. So perhaps a better step for the minimizing would not be
to pick the lowest static evaluation , but perhaps to take the average of all it's tips node's static evaluation values. This would take into consideration that perhaps all minimizing nodes could have multiple tip nodes with a static evaluation of negative infinity. If the adversary is a really smart no matter which choice is made it will find the winning step. However, if the opponent is human it is not necessarily true that the winning step will be found, so the move that presents fewer opportunities for a winning move would be the better one. So the maximizing step would choose based not on which would eliminate the best moves for the adversary, but which would leave the fewest good moves. Whether that algorithm is any good probably depends on the adversary. Another disadvantage to it would be because the average of every node must be calculated no alpha beta pruning could be done.


Brianne Brown

 


Grace Chou


Dan Crown

 


Renee Findley

The main topics of discussion in class in these last weeks have been searches, and how they can help in game playing strategies. The main thing that this has made me think of are those times when I played chessmaster on my computer, and would always lose hard to the levels beyond moderate. The two things I'm wondering is 1. what level did I lose at? I'm a 1575 or something like that, on average. I'm curious to know which search depth I lost at, so consistently. 2. at the lower levels, when there was minimal or no searching at all, how did they have the computer judge its moves at all? I would not go so far as to say that its movements were random, but they were really bad. Maybe they gave all the pieces the same weight if you could take any number away. I'm not sure, but that's mostly what I've been thinking of in class.


Scott Goldstein

 


Maria Hristova

The MINIMAX algorithm that we discussed in class last week and the programming assignment that comes with it will be a very interesting way to get a different look at AI. Everything that we have done so far has been connected with neural nets or robots while the game playing algorithms present the kind of AI that I would like to take an elective
course in. The Konane tournament seems like a fun way to end the semester and involve everybody in the class with their programming styles and preferred programming languages. Since the class involves people at different stages in their studies I think it will be very interesting to see what kind of games the class will produce. The MINIMAX algorithm is pretty clear and while in the beginning I was pretty bogged down with details about exactly what is being done, I realised that it is a pretty clear-cut idea.


Agata Jose-Ivanina

 


Archana Joshee

This week's lecture on the minimax procedure and the alpha-beta pruning was very interesting. In lab however, our robot was not behaving properly. When we programmed it to get out of a jam (the meta-sensing) part, we kept having problems with setting the bump count correctly. Sometimes it never did the drastic manuevering part however many times it bumped the wall, whereas at other times, it performed the drastic manuevering the first time it hit the wall. Hopefully it is a minor programming error and we will figure it out before Thursday.


Kip Lewis

I am really looking forward to tackling this final lab assignment. I find it rather interesting that to write a program that can play Konane well, you don't even need to be good at it yourself. It seems that you only need to understand the rules enough to come up with a good evaluation function, so that the program can decide whether one board situation is more favorable than another. Then as long as you have it look ahead a sufficient number of moves, it will play well. Now I suppose that the better you are yourself at the game, the greater likelihood you have of picking the best evaluation function. Even if you didn't know a good evaluation function right off the bat, you could still write your code, and then play around with different evaluation function until you found one that worked well against adequate competition.

It seems rather likely to me that a number of the Konane programs will have the exact same evaluation function. If this is so, and if we are given a limit as to how many moves we can look ahead, then I would think that we would have some identical participants in the Konane tournament, at which point the outcome of some matches will probably be determined by who goes first and who goes second.


Creence Lin

 


Martin Lukac

 


Reshma Menghani

I've begun the final lab project --hawaiin checkers over this past weekend. At one point of the lecture it was mentioned that someone used the neural net for the hawaiin checkers project to learn the evaluation function. I'm wondering if we could possibly go more in depth about how the student did this. It seems that our final project seems to be more comprehensive than just having a good understanding of chapter 12. My hopes are to include as many concepts as I can of this semester in my project and yet at the same time to achieve the goal of programming a
good game of hawaiin checkers!


Todd Miller

 


Maria Pace

 


Heather Palmeter

This week we began to apply the search techniques that we have been studying to actual game playing scenarios. The nice thing about this is that it's so much different from all of the other courses in which I have learned about the various searching algorithms. Usually we spend a great deal of time learning about them and running through them on paper and creating them by ourselves but never really seem to do anything constructive with them. Of course, I realize that they are used in every day situations all the time by people every where but practical uses for them never seemed to come up. Well, that isn't entirely true as we discussed extensively how they were used in many different circumstances but we never discussed a situation that was directly relevant to myself or something that I would be doing in the immediate future. Now I finally get to apply it to something that I'll be working on.

Not much to say on the robot labs other than they're coming along nicely. Kirby says "Hi!". It's nice to have him doing something a bit more complex than the beginning labs. Though, I must admit that I had to take a moment to convince myself that we couldn't just have him push all of the pieces of wood out of the way in his search for the light. In the end, going around the obstacles proved to be the better choice.


Megan Rutter

I played against Edina's Konane for at least half an hour, and I beat levels 1-4. Then came level 5. I must have played 20 games, and I lost every single one. I was getting so frustrated. But, then again, I was playing with absolutely no strategy, and the computer was looking ahead 5 moves. It made me think about games like chess and checkers. I always played checkers for fun. I never had any strategy. Obviously, people must play with great strategy in chess, but I can't even fathom the idea of looking ahead 5 or 6 moves. Can people really do that? I could barely look ahead 2 moves in Konane. I was trying to, but it was really too difficult to keep track of anything, and knowing that the computer was looking ahead 5 moves, I knew I couldn't possible win, unless by chance. Now I'm wondering, how did I beat level 4? I had no strategy, yet the computer was looking ahead 4 moves! That must've been luck. Now I really
appreciate what good chess players must be doing.

This is kind of a side track, but all this talk about chess and predicting opponents' moves reminds me of that x-files episode where someone tries to assassinate in young chess player, and his best "move" is when he leans back to avoid the bullet. He is good at chess because he can read people's minds. (Hence, he "senses" that the shooter is about to shoot.) In a way, I guess Edina's program is like a mind reader. It doesn't know exactly what I will do, but it does know everything I can do, and if I'm good, what I'm most likely to do, and how to react knowing the next 4 levels of possible moves and consequences. Anyway, I'm really frustrated that I couldn't beat a stupid computer, but it did have the ability to look ahead.


Brian Simms

 


Matthew Spigleman

The coolest part of these last weeks' classes was learning about the alpha-beta search and then finding out that Deep Blue utilized such a search pattern. I had always known that many of the advances, which allowed Deep Blue to have its unprecedented success, were attributed to hardware design but I did not fully appreciate the extent of this. It is very cool to think that the "simple" chess game I used to play on my computer as a kid was probably no more than an alpha-beta search. I had always wondered what it did differently when you told it the "levels" of play you wanted. Was it throwing out good moves? (i.e. making deliberate mistakes) or was there some other mysterious way for it to handicap itself? Now I realized that it was probably just varying the depth limit on its alpha-beta search.


Andreas Voellmy

 


Nicholas Yee

I remember playing a board-game with a friend this summer which involved marbles on a hexagonal board, and where each marble could be moved in 6 directions and would shift marbles which were in its way. The goal was to push your opponents marbles off the board. As we played, it became apparent that I was taking much longer on my moves than he was on his. When he began to complain, I explained that I was trying to think of as many of the consequences as possible. He exclaimed that I shouldn't be doing that, and I wondered out loud how else I was supposed to play. He admitted that he couldn't come up with a better algorithm than the brute force method I was using. He also admitted that his girlfriend usually lost to him because she makes moves too quickly. And in the context of adversarial searches and AI in general, I now wonder whether intelligence has really anything to do with board games like these.

I guess that with most of these board games, that good players gain a static evaluation at a higher abstracted level than what amateurs can see, thus they can prune more branches and make quicker moves. I want to say that the speed at which human players grasp that higher abstracted static evaluation somehow translates into intelligence, but that's something computers could be trained to figure out easily.

The underlying paradox, of ocurse, is that computers can solve problems that are hard for us, but have great difficulty with many problems that are easy for us (perception, language acquisition).


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