I don't agree there. I started doing this in 1968, when everyone's goal was to simply beat a master. I continued doing this thru the 80's where the goal was to beat a GM here and there. Thru the 90's when we began to beat super-GM players. Thru today where we can beat all players although not every game. Perhaps the next goal is to never lose a game against a human, then to never draw a game. So expectations keep rising. Probabilities can take you so far, because that is purely an estimate. To get to the "end" you either need an infinite number of samples so that the estimation error goes to zero, or you need a more accurate search that takes fewer probabilistic leaps of faith, and uses explicit information instead.Don wrote:As you say, there is working "well" and working "optimally" but the only point I'm making is that you can say anything you want to about how well something is working if you pick and choose your level of expectation.
But perhaps the most important point I want to make is that we "give up" as soon as we have something that satisfies us. In other words, if it beats human players we don't try for anything better and we imagine that we have found the best thing.
The games are way different, however. Go has a very large branching factor, which makes the trees very difficult to manage, even for humans. Monte-Carlo seems reasonable when something is so large it is difficult to grasp. Chess is not that large. The best GM players search incredibly deeply. So do the best programs. MC does not. It substitutes quantity (thousands of fast games) for quality (an accurate / intelligent / deep search). I can grasp why this works. If you can create tens of thousands of positions almost instantly, a human is going to have trouble dealing with them. And, by necessity, does some pretty heavy-handed pruning. A MC search uses a computer's strength (lots of calculations done very quickly) to play thousands (or perhaps millions on fast hardware at some point) of games to assess each of these possible positions. Which is playing into a human's weakness.
It's funny that in GO, classic alpha/beta pruning and search was not perceived to be working very well so they didn't stop looking! I personally thought classic A/B WAS was working pretty well based on the observation that it behaved like chess, a 2 ply search dominated a 1 ply search. Nobody was looking at it from that point of view, they were saying it was not working well based on some arbitrary standard.
It seemed to me that all they had to do was change their point of reference. Any of the good programs could crush human players just learning the game. So how can you say it wasn't working?
I guess what I'm saying is that I'm annoyed at how ill-defined these kind of statements are. A simple definitions of what works is anything that is scalable - so alpha/beta pruning works and works extremely well even in GO. This in no way is a statement about whether something else might be far superior nor does it ignore the fact that with modern hardware A/B programs play very badly IN COMPARISON to even relatively weak human players.
In this same context, modern chess search "works" but that doesn't mean it is anywhere near optimal.
I do not believe that thousands of very fast games is going to be competitive with strong humans. Those thousands of games will be based on limited depth, and the human is going to out-calculate them pretty badly. Larry's game against the supercon is an example. You could let the supercon analyze for months, playing very short games to evaluate each possible move, and it would still be clueless to the long-range things that the human sees, but which its sorely restricted search does not.
I would not be surprised to see in a few years that MC worked well at first, but begins to get abandoned because of the extreme short-sighted analysis it is depending on. Or it is perhaps possible that go is just "large enough" in terms of search space that the short-sighted probabilistic analysis is good enough to beat humans anyway.
I've played the game a very little bit, and this was 25+ years ago, so I am hardly a decent player, and, therefore, have not given any great thought to how I might try to attack the game electronically. But my analysis, above, is probably the explanation for the MC successes.
I don't think there's any doubt it is hardware, as I was on that side at the time and remain there. Mainly because I have run cluster tests each time someone said something like "but null-move was a gigantic improvement. If you count +80 Elo, correct. Else, not. Chess, it turns out, is just simple enough that it can be tackled with brute-force methods, effectively. As the branching factor goes up, however, clearly alternatives are needed. Exponential is still exponential.
In fact, there is strong evidence that it is not. A few months or maybe even years ago there was discussion here about whether we progressed more with hardware or software. I argued that it was hardware but I think the consensus in general (which I now agree with) is that it is a close call. The best programs of today are literally hundreds of ELO stronger (not considering hardware) and the hardware has also given us literally hundreds of ELO. So to me it's not a stretch of the imagination to believe that in 10 or 20 years the software will be far superior yet again.
I'm not sure why. Chess 4.0 was "way out there" with respect to all the other programs, in the 70's. In the 80's it was hardware all the way, from Belle, to Cray Blitz, to Deep Thought and then Deep Blue. Deep Thought /Deep blue was certainly 300-400 better than anything around in the late 80's and early 90's. And then along came Genius for the microcomputers, and we were "there again" on low-end hardware with one program head and shoulders above the rest.
This is one of those deals where it's almost impossible to believe that this could be the case, but I think in 1990 if you had told the very best chess program authors about Rybka (for example) and that it was a few hundred ELO stronger than anything out there (even without the hardware) it would have appeared to be pretty incredible.
Just remember that those "reasonable PV's" are highly probabilistic and selective, based on very fast game results. I don't see much sense in a PV that is 15 moves deep where each ply's best move was chosen by playing thousands of very fast, very shallow games. One could always try this in chess to see what would happen. I suspect we can predict that, however.
Of course there is surely a point of diminishing returns, but something I have discovered about diminishing returns is that people always think they are in the thick of it, even when there is a lot left - because it's just human nature to believe that what you have and see right now is the most representative of reality.
bob wrote: Which humans can compete with these things on good hardware today? I'd say it is working pretty well. Particularly when you compare that to the go results, which are _far_ worse, monte-carlo or not.don wrote: Are you kidding? This is not working very well at all. I don't know about you but I'm totally dissatisfied with the state of the art.
If you play even the very best computers against each other, you will notice that they are still losing lots of games with either color. This is proof that they play the game far from optimally and something is wrong. What we are doing is just not working.bob wrote: There is "working well" and "working optimally". I do not believe there is an optimal solution until you find one that finds win/lose/draw from the initial position. So, for the next few thousand years, "optimal" isn't going to happen. "well" is a different matter. "well" can always be improved on, until well == optimal, but what we are doing today certainly meets the "working well" definition as applied to AI.don wrote:
We waited decades for computer hardware to get to the point where it is right now, to the point where computers could actually beat the best human players most of the time. In fact, that is the ONLY reason computers have a chance against these weak human players (who also play far from optimally.) The algorithms have improved significantly but we still must have this ridiculously powerful hardware to beat the humans.
I estimate that humans play about 1500 ELO below optimal (a totally arbitrary guess) so beating them is not a very impressive accomplishment with the enormously powerful hardware we have today. To me it's lame to judge how well something is working by comparing to such a low bar.
If you were a high jumper would you set the bar to 6 inches and then make a big fuss over how awesome you are because you can clear it and then claim that your training program is working pretty well?I cannot answer that with any degree of certainty either way. But you should realize that MC programs have reasonable PV's that are very long on todays hardware and this would only improve. So both styles of programs would of course improve massively - and if I had to make a bet I would go with the MCTS programs since every bit of evidence we currently has says this is the way to go.bob wrote: If no 'state-of-the-art jumper' cound clear that 6" bar, say we are talking about jumping on the surface of Juipter for example, then I would say that training program is working pretty well.
Which do you think would be stronger, a monte-carlo go program of today, or slip into a time-warp, jump a couple of hundred years into the future, and use today's alpha/beta search on tomorrow's hardware to search as deeply in go as we search in chess today? The MC go programs would be totally crushed.
One thing is sure, the algorithms would evolve over time so by the time we got to that point we would know a lot more about how things work than we know today.