Matt Gerrans
Posts: 1153
Nickname: matt
Registered: Feb, 2002
|
|
Re: Inefficiency Problem.
|
Posted: Dec 10, 2002 4:33 PM
|
|
What I meant by simple is that all pieces are the same and do nothing but sit where they are placed. Sure, there are a lot of them and this, naturally, is why it is "unsolved." The Travelling Salesman problem is also very simple -- it only becomes difficult when there are a lot of points to consider.
In contrast, the basic code for a for a game like chess or Chinese chess is more complicated because there are many different pieces that have different behaviors, which in many cases change based on the current situation in the game, or based on previous events (eg. en passant, castling, pawn promotion, etc.).
But let me clarify that I'm not saying that Go (or Go-Moku) itself is not a simple game or that the masters of this game are not brilliant and talented game players who have acheived an amazing level of skill. Playing the game at the highest levels involves dealing with enormous amounts of complexity. However, the basic elements of the game are quite simple and the complexity comes from the size of the playing field and the number of combinations that stems from that.
Also, with Go and other games, the search tree doesn't constitute AI; usually the AI, if present, is involved mostly in the evualation algorithm for each position (and to some extent, which branches are further examined based on that). With a simple game like Go-Moku, you can have a prefectly good and very strong engine without any AI at all.
Of course, it is possible that the evaluation of positions for Go (or probably to a lesser extent, Go-Moku) could end up being just as deep and subtle or even more so than for chess.
By the way, it seems that you should be able to store a Go-Moku position in less than 91 bytes (if it is a 19x19 board, as you said), but I would guess the size of an implementation using 2-D arrays of int Java would be significantly larger. Even so, it is still quite feasible to do it that way; the optimization of speed and memory footprint can be factored in once the basics are all working.
|
|