_______________________________________________
Computer-go mailing list
Compu...@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Is Alphago brute force search?
No, simply because there are way to many possibilities in the game, roughly (19x19)!
Alphago tries to consider the game like the human do: it
evaluates the board from only a limited set of moves, based on its
"instinct". This instinct is generated from deep convolutionnal
neural network (see alphago's aper for details
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html?foxtrotcallback=true)
Yes, AlphaGo is brute force.
No it is impossible to solve Go.
Perfect play looks a lot like AlphaGo in that you would not be able to tell the difference. But I think that AlphaGo still has 0% win rate against perfect play.
My own best guess is that top humans make about 12 errors per game. This is estimated based on the win rate of top pros in head-to-head games. The calculation starts by assuming that Go is a win at 6.5 komi for either Black (more likely) or White, so a perfect player would win 100% for Black. Actual championship caliber players win 51% to 52% for Black. In 9-dan play overall, I think the rate is 53% to 54% for Black. Then you can estimate how many errors each player has to make to bring about such a result. E.g., If players made only one error on average, then Black would win the vast majority of games, so they must make more errors. I came up with 12 errors per game, but you can reasonably get other numbers based on your model.
Best,
Brian
I understand why most people are saying that AlphaGo is not brute force, because it appears to be highly selective. But MCTS is a full width search. Read the AlphaGo papers, as one of the other respondents (rather sarcastically) suggested: AlphaGo will eventually search every move at every node.
MCTS has the appearance of a selective search because time control terminates search while the tree is still ragged. In fact, it will search every continuation an infinite number of times.
In order to have high performance, an MCTS implementation needs to search best moves as early as possible in each node. It is in this respect that AlphaGo truly excels. (AlphaGo also excels at whole board evaluation, but that is a separate topic.)
There is a definition of “brute force” on Wikipedia. Seems to me that MCTS fits. Deep Blue fits.
From: Álvaro Begué [mailto:alvaro...@gmail.com]
Sent: Sunday, August 6, 2017 2:56 PM
To: Brian Sheppard <shepp...@aol.com>; computer-go <compu...@computer-go.org>
Subject: Re: [Computer-go] Alphago and solving Go
It was already a stretch when people said that Deep Blue was a brute-force searcher. If we apply it to AlphaGo as well, the term just means nothing. Full-width and brute-force are most definitely not the same thing.
Álvaro.
If AlphaGo actually used hard (e.g. permanent) pruning, then it would not be brute force. But it doesn’t operate that way, so it is brute force.
BTW, AlphaGo’s papers reports benefiting from search and RAVE. That suggests that hard pruning is a risky business.
From: David Wu [mailto:light...@gmail.com]
Sent: Sunday, August 6, 2017 2:54 PM
To: Brian Sheppard <shepp...@aol.com>; compu...@computer-go.org
Cc: Steven Clark <steven....@gmail.com>
Subject: Re: [Computer-go] Alphago and solving Go
Saying in an unqualified way that AlphaGo is brute force is wrong in the spirit of the question. Assuming AlphaGo uses a typical variant of MCTS, it is technically correct. The reason it's technically correct uninteresting is because the bias introduced by a policy net is so extreme that it might as well be a selective search.
Possibly you are answering a different question than the one posed? Possibly your interpretation is the one actually intended. I don’t know, and maybe you could be right about what was being asked.
I do know the semantics of brute force, though, which you quoted below.
Note that “brute force” != unintelligent. Inevitably, every brute force algorithm will incorporate intelligent heuristics. Consider the evolution of minimax, for example, via alpha-beta, selective extensions, LMR, etc.
From: Steven Clark [mailto:steven....@gmail.com]
Sent: Sunday, August 6, 2017 2:52 PM
To: Brian Sheppard <shepp...@aol.com>
Cc: computer-go <compu...@computer-go.org>
Subject: Re: [Computer-go] Alphago and solving Go
This is semantics. Yes, in the limit of infinite time, it is brute-force. Meanwhile, in the real world, AlphaGo chooses to balance its finite time budget between depth & width. The mere fact that the CNN policy network generates a score for each coordinate on the board in a given position, does not mean that all of those nodes will be expanded in any reasonable scenario.
https://en.wikipedia.org/wiki/Brute-force_search explains it as
"systematically enumerating all possible candidates for the solution".
There is nothing systematic about the pseudo random variation
selection in MCTS; it may not even have sufficient entropy to
guarantee full enumeration...
regards,
-John
Can we lay this particular number to rest? Not that "possibilities in
the game" is very well defined (what does it even mean?) but the number
of permutations of 19x19 points has no meaningful connection to the game
of go at all, not even "roughly".
/Gunnar
On Sun, Aug 06, 2017 at 07:14:42PM -0700, David Doshay wrote:
> Yes, that zeroth order number (the one you get to without any thinking about how the game’s rules affect the calculation) is outdated since early last year when this result gave us the exact number of legal board positions:
>
> https://tromp.github.io/go/legal.html <https://tromp.github.io/go/legal.html>
>
> So, a complete game tree for 19x19 Go would contain about 2.08 * 10^170 unique nodes (see the paper for all 171 digits) but some number of duplicates of those nodes for the different paths to each legal position.
>
> In an unfortunate bit of timing, it seems that many people missed this result because of the Alpha Go news.
>
> Cheers,
> David G Doshay
>
> ddo...@mac.com
>
>
>
>
>
> > On 6, Aug 2017, at 3:17 PM, Gunnar Farnebäck <gun...@lysator.liu.se> wrote:
> >
> > On 08/06/2017 04:39 PM, Vincent Richard wrote:
> >> No, simply because there are way to many possibilities in the game, roughly (19x19)!
> >
> > Can we lay this particular number to rest? Not that "possibilities in the game" is very well defined (what does it even mean?) but the number of permutations of 19x19 points has no meaningful connection to the game of go at all, not even "roughly".
> >
> > /Gunnar
> > _______________________________________________
> > Computer-go mailing list
> > Compu...@computer-go.org
> > http://computer-go.org/mailman/listinfo/computer-go
>
> _______________________________________________
> Computer-go mailing list
> Compu...@computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go
--
Petr Baudis, Rossum
Run before you walk! Fly before you crawl! Keep moving forward!
If we fail, I'd rather fail really hugely. -- Moist von Lipwig
More semantics, but as it is pseudo-random, isn't that systematic? It
only looks like it is jumping around because we are looking at it from
the wrong angle.
(Systematic pseudo-random generation gets very hard over a cluster, of
course...)
> it may not even have sufficient entropy to guarantee full
> enumeration...
That is the most interesting idea in this thread. Is there any way to
prove it one way or the other? I'm looking at you here, John - sounds
right up your street :-)
Darren
> https://en.wikipedia.org/wiki/Brute-force_search explains it as
> "systematically enumerating all possible candidates for the
> solution".
>
> There is nothing systematic about the pseudo random variation
> selection in MCTS;
More semantics, but as it is pseudo-random, isn't that systematic? It
only looks like it is jumping around because we are looking at it from
the wrong angle.
(Systematic pseudo-random generation gets very hard over a cluster, of
course...)
> it may not even have sufficient entropy to guarantee full
> enumeration...
That is the most interesting idea in this thread. Is there any way to
prove it one way or the other? I'm looking at you here, John - sounds
right up your street :-)
More likely it is a very, very bad attempt at estimating the number of
games. Even with the extremely unsharp bound given in
https://tromp.github.io/go/gostate.pdf
10^(10^48) < number of games < 10^(10^171)
the 361! estimate comes nowhere close to that interval.
/Gunnar
On 08/07/2017 04:14 AM, David Doshay wrote:
> Yes, that zeroth order number (the one you get to without any thinking
> about how the game’s rules affect the calculation) is outdated since
> early last year when this result gave us the exact number of legal board
> positions:
>
> https://tromp.github.io/go/legal.html
>
> So, a complete game tree for 19x19 Go would contain about 2.08 * 10^170
> unique nodes (see the paper for all 171 digits) but some number of
> duplicates of those nodes for the different paths to each legal position.
>
> In an unfortunate bit of timing, it seems that many people missed this
> result because of the Alpha Go news.
>
> Cheers,
> David G Doshay
>
> ddo...@mac.com <mailto:ddo...@mac.com>
>
>
>
>
>
>> On 6, Aug 2017, at 3:17 PM, Gunnar Farnebäck <gun...@lysator.liu.se
>> <mailto:gun...@lysator.liu.se>> wrote:
>>
>> On 08/06/2017 04:39 PM, Vincent Richard wrote:
>>> No, simply because there are way to many possibilities in the game,
>>> roughly (19x19)!
>>
>> Can we lay this particular number to rest? Not that "possibilities in
>> the game" is very well defined (what does it even mean?) but the
>> number of permutations of 19x19 points has no meaningful connection to
>> the game of go at all, not even "roughly".
>>
>> /Gunnar
>> _______________________________________________
>> Computer-go mailing list
>> Compu...@computer-go.org <mailto:Compu...@computer-go.org>
>> http://computer-go.org/mailman/listinfo/computer-go
Except 361! (~10^768) couldn't plausibly be an estimate of the number of legal positions, since ignoring the rules in that case gives the trivial upper bound of 3^361 (~10^172).
More likely it is a very, very bad attempt at estimating the number of games. Even with the extremely unsharp bound given in https://tromp.github.io/go/gostate.pdf
10^(10^48) < number of games < 10^(10^171)
the 361! estimate comes nowhere close to that interval.
/Gunnar
On 08/07/2017 04:14 AM, David Doshay wrote:
Yes, that zeroth order number (the one you get to without any thinking about how the game’s rules affect the calculation) is outdated since early last year when this result gave us the exact number of legal board positions:
https://tromp.github.io/go/legal.html
So, a complete game tree for 19x19 Go would contain about 2.08 * 10^170 unique nodes (see the paper for all 171 digits) but some number of duplicates of those nodes for the different paths to each legal position.
In an unfortunate bit of timing, it seems that many people missed this result because of the Alpha Go news.
Cheers,
David G Doshay
ddo...@mac.com <mailto:ddo...@mac.com>
On 6, Aug 2017, at 3:17 PM, Gunnar Farnebäck <gun...@lysator.liu.se <mailto:gun...@lysator.liu.se>> wrote:
On 08/06/2017 04:39 PM, Vincent Richard wrote:
No, simply because there are way to many possibilities in the game, roughly (19x19)!
Can we lay this particular number to rest? Not that "possibilities in the game" is very well defined (what does it even mean?) but the number of permutations of 19x19 points has no meaningful connection to the game of go at all, not even "roughly".
/Gunnar
_______________________________________________
Computer-go mailing list
_______________________________________________
Computer-go mailing list
Compu...@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Except 361! (~10^768) couldn't plausibly be an estimate of the number of legal positions, since ignoring the rules in that case gives the trivial upper bound of 3^361 (~10^172).
More likely it is a very, very bad attempt at estimating the number of games. Even with the extremely unsharp bound given in https://tromp.github.io/go/gostate.pdf
10^(10^48) < number of games < 10^(10^171)
the 361! estimate comes nowhere close to that interval.
/Gunnar
On 08/07/2017 04:14 AM, David Doshay wrote:
Yes, that zeroth order number (the one you get to without any thinking about how the game’s rules affect the calculation) is outdated since early last year when this result gave us the exact number of legal board positions:
https://tromp.github.io/go/legal.html
So, a complete game tree for 19x19 Go would contain about 2.08 * 10^170 unique nodes (see the paper for all 171 digits) but some number of duplicates of those nodes for the different paths to each legal position.
In an unfortunate bit of timing, it seems that many people missed this result because of the Alpha Go news.
Cheers,
David G Doshay
ddo...@mac.com <mailto:ddo...@mac.com>
On 6, Aug 2017, at 3:17 PM, Gunnar Farnebäck <gun...@lysator.liu.se <mailto:gun...@lysator.liu.se>> wrote:
On 08/06/2017 04:39 PM, Vincent Richard wrote:
No, simply because there are way to many possibilities in the game, roughly (19x19)!
Can we lay this particular number to rest? Not that "possibilities in the game" is very well defined (what does it even mean?) but the number of permutations of 19x19 points has no meaningful connection to the game of go at all, not even "roughly".
/Gunnar
_______________________________________________
Computer-go mailing list
_______________________________________________
Computer-go mailing list
Compu...@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Under all rulesets.
> Unless we talk about simply the visual aspect
Yes, we do.
> but then this has
> absolutely nothing to do with the discussion abour solving games.
If you want the notion of "position" to encode everything needed to
determine legality of future plays, then in the case of superko, you
need the entire set of previous board configurations, which to me is
rather absurd.
Instead you should call that "situation".
That's how we distinguish the two flavors of superko;
positional vs situational...
regards,
-John
The number of games is at most 361^#positions.
> or even solving games? In the game trees we do not care about
> positions, but about situations.
We care about lots of things, including intersections, stones,
liberties, strings, positions, sets of previous positions.
> I'm actually surprised that this "absurd" to you...
I said that referring to a board configuration together with the set
of all previously occurring board configurations (and turn to move) as
"position" is absurd.
We need a simple word to denote a board configuration, and "position" fits
that requirement. A good word for all the relevant historical
information leading up to a position is "situation".
This misses passes, rules distinguishing situations etc. and infinite
sequences under some rulesets.
--
robert jasiek
The upper bound of 361^L(19,19) games is from Theorem 7 on page 31 of
http://tromp.github.io/go/gostate.pdf, where you will find a proof.
As the paragraph preceding that theorem explains, the difference from your
suggestion is due to the average position having only 361/3 empty points
available for play.