Advertisement

a few questions regarding my high school final work!

Started by December 20, 2002 12:22 PM
30 comments, last by tfinazzi 22 years ago
You mean 4 million possible positions! Also, I assume you mean after 8 ply (which is the same as 4 full moves, i.e. 4 moves for each side)?

Jason Doucette
www.jasondoucette.com
Jason Doucette / Xona.comDuality: ZF — Xbox 360 classic arcade shmup featuring Dual Play
quote:
Original post by AnonymousPosterChild
Ugh. Chess AI is hell. The first time I made one, it looked over every possible move that could be made for the next 30 moves, and calculated everything from there. It was unbearably slow, but it always won. Because I suck at chess, but still..


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Flamebait of the week club! This weeks flamebait:
YOUR BIBLE IS FULL OF LIES!

EXTREME MODERATOR COMPLIANCE!



Your kindly moderator chooses not to get involved at this time.....






Ferretman

ferretman@gameai.com
www.gameai.com
From the High Mountains of Colorado

Ferretman
ferretman@gameai.com
From the High Mountains of Colorado
GameAI.Com

Advertisement
Hey there, have you ever considered doing a Reversi project? This is my final Java project for my first term of computer science. It''s quite a bit more advanced than tic-tac-toe, but certainly not as complex as Chess.
A good example AI can be found at http://www.mattelothello.com/
Unfortunately this one was created in Flash, but the AI is relatively good. (I''ve only beaten it once on the least difficult setting.) There are ample resources out there for this game too; though not nearly as much as chess, of course. This is just a suggestion, but if your heart is set on Chess and you feel _very_ comfortable with C++, go for it.

That''s a good idea. All of these games rely on the same basic searching algorithms, but Othello and Checkers would definitely be easier than Chess. Othello is interesting simply because you can use edge tables to give your program great insight into the future of the game. My brother programmed an Othello game a few years back, and he played his against a java version that searched only 2 ply to his 6 ply, and the java game beat his... it used edge tables, and his program did not. Quite amazing, really. The best playing programs in the world use all kinds of edge tables and pattern tables which were computed from expert games. But you don''t have to go this far, the java game I was talking about only used edge tables of 8x1 for each of the 4 sides, and that was it - and it played very well.

Jason Doucette
www.jasondoucette.com
Jason Doucette / Xona.comDuality: ZF — Xbox 360 classic arcade shmup featuring Dual Play
thanks for your advice, but i think that Connect-4 is actually the most appropriate for my project just have to make it so that it will be able to LEARN stuff.. is that really possible? or is that again too hard?
It is possible to have your connect-4 game learn.

Perhaps the easiest method you can use is to provide the computer with an opening book. For each game the computer will store the reuslts of the game (win / loose) in the opening book. For each subsequent game, the computer will have a higher probablity of choosing an opening that has led to wins in the past. Some people may argue that this is not learning, but I doubt your teacher will be one of them.

You could also look at having the computer tweak it''s own evaluation function.

If I were you I would get the game running in it''s simplest form. You''ll understand better how the Game Tree works, and be able to determine for yourself which areas may benifit from ''learning''.

There are so many ways to optimize and improve Game Trees that you might not even want to look at ''learning'' for the next 6 months.

Best of luck,
Will
------------------http://www.nentari.com
Advertisement
As far as I know chess computer programming is one of the applications where A.I. drammaticaly failed.
A computer can actually wins against a high level player but only thanks to its much higher speed vs a human brain, in other words the computer simply test all the possible combinations no special A.I. techniques are involved in a chess game programming.
I do not think it is an interesting subject particulary at an accademic level.
AlbertoT: It''s not really that straight forward, as the program cannont in fact test every possibility. This is where chess programming gets interesting. For a better explanation of this, do a search for ''forward pruning'' in game trees, selective extensions, and evaluation functions.

Cheers,
Will



------------------http://www.nentari.com
quote:
Original post by AlbertoT
As far as I know chess computer programming is one of the applications where A.I. drammaticaly failed.



RPGeezus stated that, ''the program cannot in fact test every possibility.'' If this statement is true, then this means that some kind of AI is needed in order to direct the search. The fact that a computer has beaten a grandmaster must also indicate that the AI used to direct the search process was succesfull. Therefore, the success of the chess program that beat the grandmaster was the result of successfull AI. Therefore, AI solved the problem.

Although I don''t know much about chess, or chess programming, it is my understanding that the AI used to direct a search is determined by some kind of insight by the designers. If this is true, then the AI was not really responsible for the decisions it made. The decisions the AI made were actually the decisions of the designers. It has always been my feeling that one of the main objectives of creating an AI system is to make sure the decision making is done by the AI system itself. Therefore, the chess program that beat the grandmaster didn''t really use AI.

In conclusion, I''m not sure whether I agree with you or not.

AlbertoT: It''s the creaion of the evaluation function that''s the interesting topic. Especially at an academic level.




ai-junkie.com

This topic is closed to new replies.

Advertisement