16th World Computer Chess Championship In Progress
vmartell writes "The 16th World Computer Chess Championship is now in progress in Beijing, as part of the Computer Games Championship. Currently in the lead are Rybka 3.0, recognized as the world's strongest chess engine and Hiarcs, another commercial engine. Another curiosity is a Java ME based engine running on a Nokia phone, which is currently being trounced by the other engines. A very interesting sideline: before the computer tournament, a Women's Grandmaster played two games against Rybka. The result? Rybka won both games!"
Does chess really need to separate the rankings between male and female champions? Isn't this a sport that gender really doesn't factor in?
When you realize the search space involved, and computer chess does break down to a search problem, then even small algorithm tweaks can have a large effect. A naive algorithm on a 40-core box will lose to better algorithm on a PDA. So in other words, it's not the the number of cycles you have, but how you use them.
Pretty much everything gets boring when over-analyzed, right? Besides maybe politics or the stock market. Because no individual will ever figure either of the two out.
P.S. You arrogant fans of Go can frak yourselves. Where do you think the scientists will go once they're done with chess. Enjoy it while it lasts.
Go is considerably more difficult than chess because of how the game moves around the board. It isn't the branching factor per se, but the fact that weaknesses left behind sometimes won't get exploited until as far as 100 or even 200 moves later on. In the meantime, players will try to direct the game in such a way that they can exploit the opponent's weaknesses while protecting their own. Also, the other way around, make use of their strength while preventing the opponent from making use of his.
Without a higher level concept of the board, it is impossible for a computer to understand such ideas, and reading doesn't help because the depth is simply to deep. Monte Carlo bots try by playing out lots of complete game variations rapidly to get a somewhat understanding of the board, but in the end it fails because such playouts are overly simplistic.
This isn't to say that go computers won't beat us someday, but it will be tougher than chess. Also, one point you made stands out to me as arguing for go, even if computers become better.
To even competitively play at the local club level you really need a ridiculously deep memorization of openings and endings. At the grandmaster level, they've basically memorized the tables used by computers.
Due to how go works, memorization isn't nescessary to the same degree. Of course, having some common sequences memorized helps, but in general it is better to have a generic idea about different patterns as to understand the strategic and tactical implications of moves.
While there are established patterns (joseki) that are used in corners, players often deviate from them based on how the rest of the board looks. And when that happens, knowing the joseki is not very useful except to tell you that the player deviated from it. That is why there is a common saying "learn joseki, lose two stones: forget joseki, improve three stones".
Those confined to memorized patterns lose to those with more open minds. Still, studying some joseki is useful, because it helps to broaden you view on what good and bad patterns are.
We have a number of algorithmic approaches to attack games. Many of them can't work in reasonable time on games with large search space. This is not simply a matter of hardware. There are more possible games of Go (on a standard 19x19 board, rather than the beginners 9x9 board that recent computers have done well on) then there are atoms in the universe. You couldn't even build a memory to store the possibilities. An exhastive search of connect 4 is possible, an exhastive search of Go is simply not (without a breakthrough in computing similar to the magnitude of the invention of the computer).
Other techniques show promise and may offer paths to go down, so I'm not saying a good computer standard go player will never happen, but the game theory complexity of Go is an entirely different magnitude to the game theory complexity of Chess, and the vague notion so many people have that if you throw enough hardware and research at a computing problem you will solve it is simply naive.
Computer go players are now one Dan, and rising
Give me an example of one go bot that has been able to maintain 1 dan over a longer period of time on a go server. Crazystone is the best I have seen, and while it did jump into 1d for a short time, it quickly went back to 1k again where it has been steadily for quite a while.
Also, they don't seem to be improving that much right now. They did have a big breakthrough when Monte Carlo algorithms were introduced, and a little more with using improved processors power to maximize the monte carlo brute forcing. But the problems are now beginning to show, and that is that brute force is still brute force even if it is using a more appropriate version for go.
pros can't beat Mogo with 9 stones anymore.
The two rematches with 7 stones didn't go so well though. The pro beat MoGo in both. The game records were quite embarrasing including a total blunder from MoGos side.
On the other hand, crazystone won an 8 handicap game vs a pro.
Still, I don't find these games vs pros very interesting. Lots of even games vs amateurs is what should be used to judge strength. High handicap games simply don't scale linearly enough to give any good indication of rating, and are in general to variable in result (meaning you need more games to get an accurate result), because they rely on the mistake of the weaker player, more than the strength of the stronger player.
With something like Deep Blue, most of the skill did come from the programmers, it's true. Most of Deep Blue's "intelligence" came from brute-forcing its way through each move. However, since it would take billions of years to work that out, they made sure to shrink the search space; they "taught" Deep Blue about the most common Grand-Master level opening moves, the most desirable end games, and how to recognize unfavorable situations without having to expand the entire tree.
What they effectively taught (or began to teach) Deep Blue was rudimentary pattern recognition-- knowing how a board is going to turn out without having to figure it out on the fly. And really, that's the more interesting bit, because that is exactly what human players do.
When a Grand Master plays a game, there are certainly situations where they are working out a game tree that is a few layers deep. But the limitations of the human brain simply won't allow him to work out an entire tree, or even every move in one layer. It's beyond human wetwear. But what isn't is pattern recognition. The Grand Master has spent hundreds of days pre-processing the information; he's played thousands of games, read books on theory, watched other matches, and so forth. He already knows, for example, leaving a King exposed is going to turn out bad. He can see that positions of his pieces around an opponent's weakness leave for only a small subset of desirable moves (even though there are thousands of possible moves). He can recognize when a subset of moves would be very bad for him and instantly eliminate them without expanding the tree to his inevitable defeat. This instant recognition leaves free cycles for evaluating on-the-fly decisions about the current situation.
A human Grand Master's neural net has been trained to recognize good and bad patters just as surely as anyone else has been trained to recognize hot pan = pain without having to stop and think about it, and that a can of soup needs to be open to be delicious without having to mentally invent the can opener.
The other advantage a human player has over a machine is that our hardware is much, much better. We've got more gigahertz all up ins ours-- and we have the advantage of an amazingly well trained and time-tested neural net built in.
But with enough advancement in computing-- from massively complex neural nets, to distributed computing, to quantum computing, and even better manufacturing techniques to ram more Giga-giga-giga hertz onto a slab of silicone, it's only a matter of time until computers have equal or superior hardware.
From there, it's just a matter of designing a computer that can learn, and giving it the online records of every regulation chess match ever played, and letting it figure out how to be the Grandest Master. Once its learning is in place, it's trivial to copy and redistribute that knowledge.
As for a computer starting with a blank slate and learning the concepts of game, board, opponent, horse, touch, feel, love-- well, that's just an abstraction of the same problem. It's a longer way off, but if a perfect, learning Chess computer is inevitable, why not that?
BTW, highly recommended reading on this topic, "The Age of Spiritual Machines" by Ray Kurzweil. It also has a bibliography of a few hundred other excellent follow-ups.
UTF-8: There and Back Again