Yes, I agree with you. I would put it this way, "any program correctly written will scale."
Where people really get confused is when they notice a problem that is difficult. A move where the program cannot find the right move and they can see that 100 year of computation will not solve that problem. Since humans have limited life spans, 100 years to them is the same as "forever" and they think they just proved the program does not scale in a practical way. Just because a computer cannot solve some position or class of positions in a year or ten has nothing whatsoever to do with it's scalability. This very same phenomenon led many to believe chess program had reached their limit back before they were even at expert level. They played pretty good, kind of like go programs play now, but it was pretty easy to find silly moves and prove that even if computers were 1000 times faster they could never find the right move even though it was so obvious to humans. So the conclusion was obvious, more CPU power might make them play slightly better but they would never play really well and they had hit the "invisible wall." The call went out to find some other way to make progress because we were "obviously" using a non-scalable algorithm. This just shows how easily we are misled when we rely too much on our own intuition. The arguments made perfect sense, but the conclusion was completely erroneous. As it turned out, every time the computer doubled in speed it consistently played better anyway, despite these glaring weakness (which still exist I might add.) The ELO per doubling curve was surprising linear and was more like a line. And there was no sudden flattening out even though several times it was claimed we had reached that "wall" or point where no significant improvement was possible. Current chess programs improve less with doubling than those programs of 30 years ago, but that is almost certainly because they are gradually approaching perfect play. Games between the top program frequently end in draws. And to this very day there are positions that humans can solve but computers look silly at even though humans have little chance against the best programs now. And if you run a top program 8 times faster than any other program it will dominate any other program. STILL. What happens is much as Magnus says. The doubling NEVER hurts it, every aspect of the game gets slightly better. The weaknesses are not solved, but it doesn't get worse and they are harder to get to. There is also something that happens that is never talked about here, a position does not have to be completely understood by the program in order for it to play a correct move. If the computer has even a hint of a problem that is sometimes enough to cause it to avoid a troublesome position, even if it doesn't completely understand what is going on. A chess program may not see a brilliant sacrifice, but if you force it to play the sacrifice it will usually play the attack perfectly. So programs are better at finding playable moves than they are completely understanding the position. In fact I would argue that is what humans do well - we blunder around finding moves we are comfortable with - we don't understand everything or we would be perfect but we avoid things we are not quite comfortable with and play things we feel better about. If we are good we usually end up with a playable move. How many times did you "almost" play a losing move? I don't know why this is, but a computer can have glaring weaknesses and still scale perfectly well. Our intuitions on how this works is wrong even though it makes sense that this should be a major problem. Nevertheless, you should still try to fix these things, it can only help. We should be able to get hundreds of more ELO without additional hardware just by working on these problems incrementally. Don On Mon, Jun 20, 2011 at 7:49 AM, <[email protected]> wrote: > I just wanted to share my thinking about scaling. > > Programs suffer from bugs, or certain weakness because they cannot play the > critical moves in the right order in some situations. > > The debate has been to what degree this stops scaling against strong > humans. > > I would argue that bugs and weaknesses will not prevent scaling as long as > there is not a huge amount of serious bugs, such as always playing suicidal > moves in sekis during the playouts. > > The reason that programs will scale (independent of the bugs and weakness) > for sure especially on large boards is that scaling will affect every move > played during a game. > > If we look at a game where the program lost because of a semeai it is true > that there probably is a point where it is doomed no matter how much > computational time/cores we give it. > > But in the next game, if it plays with more resources it will gain a little > on average for each move because it is stronger. And strength in go not only > about solving semeais and tricky tactics in multiple locations on the board. > It is also about playing vital point and maximizing strength and weakness on > the board. This is what MCTS always did surprisingly well and this ability > will always scale well since it does not dependent on special tactical > cases. > > Sure strong humans may be able to make decisions where the board slowly get > harder and harder to analyze for the program. But as the program scales up > the search, it will also play better and better moves preventing the human > to have a choice in creating complications. > > The board always start empty. There is always a risk that something happens > in the game that triggers a bug or a specific weakness. But I think scaling > will directly prevents these messy situation before they occur. I think this > is true even on 9x9 boards and more so for 19x19. > > Best > Magnus > ______________________________**_________________ > Computer-go mailing list > [email protected] > http://dvandva.org/cgi-bin/**mailman/listinfo/computer-go<http://dvandva.org/cgi-bin/mailman/listinfo/computer-go> >
_______________________________________________ Computer-go mailing list [email protected] http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
