Re: [Computer-go] CGT endgame solver

2015-07-23 Thread Josef Moudrik
Hello,
thanks for the replies everyone.

Regards,
Josef

Dne so 18. 7. 2015 1:59 uživatel Igor Polyakov weiqiprogramm...@gmail.com
napsal:

 I'm working on Iomrascalai with Urban Hafner. It's fairly strong at 9x9
 (better than GnuGo), but needs work on larger boards.

 On 2015-07-14 0:22, Ingo Althöfer wrote:
  Hi,
 
  Igor Polyakov weiqiprogramm...@gmail.com:
  Even strong engines like Fuego will give wrong sequences in yose.
  And even very strong programs - like CrazyStone - sometimes have
  problem in evaluating smooth endgames correctly. I will present
  an example of this (in a game against Stefan Kaitschick) in my talk
  during the EGC in Liberec.
 
  *
  Question to Igor: You are with us now for some time already.
  Do you have a bot in the meantime?
  Would you be willing to let it participate in the EGC bot tournament?
 
  Cheers, Ingo.
  ___
  Computer-go mailing list
  Computer-go@computer-go.org
  http://computer-go.org/mailman/listinfo/computer-go

 ___
 Computer-go mailing list
 Computer-go@computer-go.org
 http://computer-go.org/mailman/listinfo/computer-go
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-17 Thread Igor Polyakov
I'm working on Iomrascalai with Urban Hafner. It's fairly strong at 9x9 
(better than GnuGo), but needs work on larger boards.


On 2015-07-14 0:22, Ingo Althöfer wrote:

Hi,

Igor Polyakov weiqiprogramm...@gmail.com:

Even strong engines like Fuego will give wrong sequences in yose.

And even very strong programs - like CrazyStone - sometimes have
problem in evaluating smooth endgames correctly. I will present
an example of this (in a game against Stefan Kaitschick) in my talk
during the EGC in Liberec.

*
Question to Igor: You are with us now for some time already.
Do you have a bot in the meantime?
Would you be willing to let it participate in the EGC bot tournament?

Cheers, Ingo.
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go


___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-14 Thread Ingo Althöfer
Hi,

Igor Polyakov weiqiprogramm...@gmail.com:
 Even strong engines like Fuego will give wrong sequences in yose.

And even very strong programs - like CrazyStone - sometimes have
problem in evaluating smooth endgames correctly. I will present
an example of this (in a game against Stefan Kaitschick) in my talk 
during the EGC in Liberec. 

*
Question to Igor: You are with us now for some time already.
Do you have a bot in the meantime? 
Would you be willing to let it participate in the EGC bot tournament?

Cheers, Ingo.
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-14 Thread Urban Hafner
On Tue, Jul 14, 2015 at 9:22 AM, Ingo Althöfer 3-hirn-ver...@gmx.de
wrote:


 *
 Question to Igor: You are with us now for some time already.
 Do you have a bot in the meantime?
 Would you be willing to let it participate in the EGC bot tournament?


As Igor is living in the US I'll take the liberty of answering that
question (partly). AFAIK he doesn't have a bot of his own but he's done
significant work on https://github.com/ujh/iomrascalai that I started as a
way to learn the Rust programming language. I unfortunately haven't done
much work on it recently and it as it stands it's still significantly
weaker than GnuGo on 13x13 and up (see
http://cgos.boardspace.net/13x13/cross/Imrscl-023.html) so I'm a bit
hesitant to have it participate.

Urban

-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-14 Thread Martin Mueller
Hello Josef et al,

unfortunately, not too much has happened since Explorer in terms of applying 
CGT to computer Go. For real play, there are large obstacles in terms of board 
partitioning, selecting strong local moves, and local evaluation (e.g. safety 
of stones, and necessary backfilling moves). I do believe that a combined 
MCTS+CGT approach can be successful, but it is far from trivial. I agree with 
Hideki that endgame may be a weak point of current programs.

The most significant work on CGT+Go that has not been mentioned yet in this 
thread is the work by Elwyn Berlekamp’s PhD students Bill Fraser and Aaron 
Siegel. Both built sophisticated specialized software for interactive analysis 
of human endgames. Their programs allow human experts to partition the board, 
enter all relevant local lines of play by hand, fix any local scoring problems 
(e.g. defensive plays inside territory), then use CGT to compute means and 
temperatures. Both programs can handle complex local ko fights. Especially 
Aaron’s program had several more advanced features as well, such as support for 
merging regions, handling small dependencies between regions, and backing up to 
earlier points in the game.

I always thought that an automated, or at least semi-automated, version of 
their programs would be very useful. I.e. a version that can fill in the 
repetitive final local moves. Explorer can do that, but only for very simple 
endgames - fully surrounded by proven-safe stones, and ko-free on the inside. 
Explorer has never been combined with Bill’s or Aaron’s programs.

By the way I have kept Explorer and its CGT modules working all these years. It 
is now a private extension to Fuego.

In more recent work, we have developed forward search-based approaches for 
computing local temperatures called TDS and TDS+. For simplicity we have tested 
these in the game of Amazons, but I believe that with a little bit of work they 
could be made to work for small Go endgames as well.

M. Müller, M. Enzenberger, and J. Schaeffer. Temperature discovery search 
http://webdocs.cs.ualberta.ca/~mmueller/ps/AAAI104MullerM.pdf. In Nineteenth 
National Conference on Artificial Intelligence (AAAI 2004), pages 658-663, San 
Jose, CA, 2004.

Y. Zhang and M. Müller. TDS+: Improving Temperature Discovery Search 
http://www.aaai.org/ocs/index.php/AAAI/AAAI15/paper/view/9554. AAAI 2015, 
pages 1241-1247.


By the way, if anyone here is interested in doing graduate research with me on 
this subject, please let me know.

Martin


On Jul 13, 2015, at 7:20 PM, computer-go-requ...@computer-go.org wrote:
 
 As far as I know, combinatorial game theory is not used in modern Go
 engines, despite its nice theoretical properties. I have been wondering why
 this is so. Or am I mistaken and some engines do use it? In general, I only
 know about Martin Mueller's Explorer program, which is however slightly
 dated :-). Are there some other solvers?
 
 I imagine it would be fairly easy to swap from MCTS to a CGT solver once it
 could be applied.. Or is this not interesting for some reason?
 

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-13 Thread Hideki Kato
Darren,

 I imagine it would be fairly easy to swap from MCTS to a CGT solver once it
 could be applied.. Or is this not interesting for some reason?

It only becomes usable once the game is fairly much decided. (Though,
you can construct artificial positions where it gives you a correct move
is non-obvious (*) ) IIRC Martin's papers tried to extend it back a bit
earlier in the game, and that is the state of the art as far as I know.

In contrast MCTS, while theoretically only giving you a rough estimate,
is in fact giving you a Good Enough estimate of the score by the time
CGT could be used.

I don't think MCTS is good enough at endgames.  Actually, its 
performance at endgames is worse than middle, because IMHO MC 
simulations don't evaluate the values (due to execution speed) of 
yose-moves and play such moves in random orders.  Assuming there are 7, 
3, 1 pts moves left at a end position, for example.  Correct order is 
obviously 7, 3 and 1 (sente gets +5 pts) but all combinations are played 
at the same probability in MC simulations now.  The average of the 
scores has, thus, a big error.  

A related problem is the understanding of the end of the game.  
Strong human players easily detect it but bots play much more moves in 
playouts.  If not, the best yose sequence might be found in search 
tree.

Lukasz Lew did some work in this direction; Chapter 5 of his thesis.
http://www.mimuw.edu.pl/~lew/files/phd.pdf

Hideki

Darren

*: http://senseis.xmp.net/?MathematicalGo

I guess you've already read Chilling Gets the Last Point ?  There is
also a lot on Sensei's Library:  http://senseis.xmp.net/?CGTPath

I spent some time trying to extend the ideas, when first learning of
CGT, and got nothing worth reporting. They did inspire some of the work
I did on life and death analysis; it was intellectually stimulating, but
I kept coming back to the same core issue: you need to do search, to
handle the kind of situations that come up in real games.
-- 
Hideki Kato mailto:hideki_ka...@ybb.ne.jp
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-13 Thread Darren Cook
 performance at endgames is worse than middle, because IMHO MC 
 simulations don't evaluate the values (due to execution speed) of 
 yose-moves and play such moves in random orders.  Assuming there are 7, 
 3, 1 pts moves left at a end position, for example.

(Sorry for two messages). I just thought, don't pattern libraries
capture this? (I may be wrong on this, but I thought all the strong
programs were using patterns to influence search.) The yose patterns
come up multiple times in every game, so shouldn't stopping a monkey
jump get searched before a hane-connect move on the 1st line?

Darren

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-13 Thread Darren Cook
 yose-moves and play such moves in random orders.  Assuming there are 7, 
 3, 1 pts moves left at a end position, for example.  Correct order is 
 obviously 7, 3 and 1 (sente gets +5 pts) but all combinations are played 
 at the same probability in MC simulations now.  The average of the 
 scores has, thus, a big error.  

Does the MCTS program just play bad moves, or does it ever play
game-losing moves? (E.g. at the point in the game where 2pt gote is the
biggest move, which is still before CGT kicks in, isn't it?)

(I'm quite curious how many playouts are needed for correct play on
http://senseis.xmp.net/diagrams/44/bc3b65c106c9db92bec3a13d0e713718.sgf
- or do all the strong programs get it wrong and lose the game?)

Darren

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

[Computer-go] CGT endgame solver

2015-07-13 Thread Josef Moudrik
Hello!
As far as I know, combinatorial game theory is not used in modern Go
engines, despite its nice theoretical properties. I have been wondering why
this is so. Or am I mistaken and some engines do use it? In general, I only
know about Martin Mueller's Explorer program, which is however slightly
dated :-). Are there some other solvers?

I imagine it would be fairly easy to swap from MCTS to a CGT solver once it
could be applied.. Or is this not interesting for some reason?

Regards,
Josef
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-13 Thread Igor Polyakov

Even strong engines like Fuego will give wrong sequences in yose.

1. Sometimes it will play a 1 point sente too early (right as it's 
available, so maybe it already played it early game), get into a ko and 
lose 10 points in seki or die
This is because playouts always give a better result for the engine 
playing the 1 point sente than not playing it
2. It doesn't read out ko variations correctly anyway. Sometimes it 
makes a thousand year ko instead of a direct ko in a simple corner pattern.
3. It plain doesn't play the correct sequence of moves in the endgame. 
In fact, none of the engines really ever agree on a move order in the 
endgame and if you run a few simulations at the end of the game you'll 
keep getting different results, sometimes W+5.5 and sometimes B+3.5


On 2015-07-13 11:47, Darren Cook wrote:

performance at endgames is worse than middle, because IMHO MC
simulations don't evaluate the values (due to execution speed) of
yose-moves and play such moves in random orders.  Assuming there are 7,
3, 1 pts moves left at a end position, for example.

(Sorry for two messages). I just thought, don't pattern libraries
capture this? (I may be wrong on this, but I thought all the strong
programs were using patterns to influence search.) The yose patterns
come up multiple times in every game, so shouldn't stopping a monkey
jump get searched before a hane-connect move on the 1st line?

Darren

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go


___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-13 Thread Darren Cook
 I imagine it would be fairly easy to swap from MCTS to a CGT solver once it
 could be applied.. Or is this not interesting for some reason?

It only becomes usable once the game is fairly much decided. (Though,
you can construct artificial positions where it gives you a correct move
is non-obvious (*) ) IIRC Martin's papers tried to extend it back a bit
earlier in the game, and that is the state of the art as far as I know.

In contrast MCTS, while theoretically only giving you a rough estimate,
is in fact giving you a Good Enough estimate of the score by the time
CGT could be used.

Darren

*: http://senseis.xmp.net/?MathematicalGo

I guess you've already read Chilling Gets the Last Point ?  There is
also a lot on Sensei's Library:  http://senseis.xmp.net/?CGTPath

I spent some time trying to extend the ideas, when first learning of
CGT, and got nothing worth reporting. They did inspire some of the work
I did on life and death analysis; it was intellectually stimulating, but
I kept coming back to the same core issue: you need to do search, to
handle the kind of situations that come up in real games.


___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-13 Thread Hideki Kato
Pattern moves don't prefer bigger moves but just frequent-appear 
ones, ie, sometimes prefer smaller moves.  Additionally, at endgames, 
bots do much more simulations than middle for a move and patterns have 
not so big influence on choosing optimal moves.

Hideki

Darren Cook: 55a407a4.3050...@dcook.org:
 performance at endgames is worse than middle, because IMHO MC 
 simulations don't evaluate the values (due to execution speed) of 
 yose-moves and play such moves in random orders.  Assuming there are 7, 
 3, 1 pts moves left at a end position, for example.

(Sorry for two messages). I just thought, don't pattern libraries
capture this? (I may be wrong on this, but I thought all the strong
programs were using patterns to influence search.) The yose patterns
come up multiple times in every game, so shouldn't stopping a monkey
jump get searched before a hane-connect move on the 1st line?

Darren

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
-- 
Hideki Kato mailto:hideki_ka...@ybb.ne.jp
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] CGT endgame solver

2015-07-13 Thread Hideki Kato
 yose-moves and play such moves in random orders.  Assuming there are 7, 
 3, 1 pts moves left at a end position, for example.  Correct order is 
 obviously 7, 3 and 1 (sente gets +5 pts) but all combinations are played 
 at the same probability in MC simulations now.  The average of the 
 scores has, thus, a big error.  

Does the MCTS program just play bad moves, or does it ever play
game-losing moves? (E.g. at the point in the game where 2pt gote is the
biggest move, which is still before CGT kicks in, isn't it?)

I can say just heavily depends on the position, maybe, mainly due to 
maximizing not score but winning rate.  Another reason for high level 
games: playing correct moves at endgames requires correct solutions of 
LD problems on a position.

(I'm quite curious how many playouts are needed for correct play on
http://senseis.xmp.net/diagrams/44/bc3b65c106c9db92bec3a13d0e713718.sgf
- or do all the strong programs get it wrong and lose the game?)

Anyway, number of playouts does not help (or, at least help a little if 
using adaptive simulations) playing correct yose.  Number of playouts 
only reduces statistical errors.  If the average is wrong, quantity 
makes no sense.

Hideki
-- 
Hideki Kato mailto:hideki_ka...@ybb.ne.jp
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go