Re: [Computer-go] CGOS 19x19 starting trating

2010-10-14 Thread David Fotland
Yes.

 -Original Message-
 From: computer-go-boun...@dvandva.org [mailto:computer-go-
 boun...@dvandva.org] On Behalf Of Michael Williams
 Sent: Wednesday, October 13, 2010 7:40 PM
 To: computer-go@dvandva.org
 Subject: Re: [Computer-go] CGOS 19x19 starting trating
 
 Learns in what way?  Won't repeat the exact same loss twice?
 
 
 On Wed, Oct 13, 2010 at 9:41 PM, David Fotland fotl...@smart-games.com
 wrote:
  Many Faces learns.  I think most everyone follows the policy.  As a
  developer, I want each version of my program to have a separate name so
I
  can keep track of which results go with which version.
 
  David
 
  -Original Message-
  From: computer-go-boun...@dvandva.org [mailto:computer-go-
  boun...@dvandva.org] On Behalf Of Michael Williams
  Sent: Wednesday, October 13, 2010 2:48 PM
  To: computer-go@dvandva.org
  Subject: Re: [Computer-go] CGOS 19x19 starting trating
 
  It takes the burden of updating the program login name away from the
  programmer, which should result in the policy being followed more
  closely.  It doesn't take away flexablility as long as the client code
  is changed in such away that is gracefully degrades to the current
  functionallity when the new field (e.g. BaseLoginName) is not
  present.
 
  I don't think there are any learning programs, not that that matters
  is you gracefully degrade to current functionallity.
 
 
  On Wed, Oct 13, 2010 at 8:39 AM, Don Dailey dailey@gmail.com
wrote:
  
  
   On Wed, Oct 13, 2010 at 8:20 AM, Michael Williams
   michaelwilliam...@gmail.com wrote:
  
   Good points, but the suggestion wasn't meant as a method of
   enforcement on the policy, but instead a feature of convenience to
   make it easier to follow the policy.  If the ratings converge fast,
   there is little reason to bypass the policy.
  
   But it doesn't accomplish much and takes away a little flexibility.
  A
   learning program for instance would not be solved by this for
instance
  so
  it
   is not really particularly effective.
   Don
  
  
   On Wed, Oct 13, 2010 at 8:08 AM, Don Dailey dailey@gmail.com
  wrote:
   
   
On Wed, Oct 13, 2010 at 7:57 AM, Michael Williams
michaelwilliam...@gmail.com wrote:
   
Yeah, but don't design the system for a case that isn't being
done.
   
You could even make this automatic in the CGOS client by
specifying
  a
base name in the config file and having the client append a hash
of
the executable.
   
   
It's funny you say that,  I once considered doing exactly that.  
 I
decided
not to however as I think it's messy.  it would be trivial to hack
  the
script to send the same checksum each time and it's not always
going
  to
work
anyway - if your binary is loaded via a shell script for instance
 you
would
be checksumming the script, not the actual binary.     If your
  program
is
called with different command line arguments (which some of mine
 did)
you
essentially change the program without changing the binary.      I
decided
it was too ambiguous and difficult to do right.
Since it is easily circumvented it seems like the best way is an
advisory
system anyway.
Don
   
   
   
On Wed, Oct 13, 2010 at 7:52 AM, Don Dailey
dailey@gmail.com
wrote:


 On Wed, Oct 13, 2010 at 7:45 AM, Michael Williams
 michaelwilliam...@gmail.com wrote:

 Don, as for the program changing strength, I thought the
  recommended
 system was to create a new CGOS name when you change something
 in
 your
 program?  I know it can't be enforeced, but just reminding
 people
  to
 try to stick to that policy is probably enough.

 Yes, that is how it should be done.
 The only issue here is if someone creates a program designed to
  learn
 as
 it
 plays.   If we do it bayes-like then a workaround would be to
 periodically
 rename the program.


 On Tue, Oct 12, 2010 at 10:53 PM, Hideki Kato
 hideki_ka...@ybb.ne.jp
 wrote:
  http://cgos.boardspace.net/19x19/bayes.html
 
  Hideki
 
  terry mcintyre:
496924.86005...@web39803.mail.mud.yahoo.com:
 Is there a URL for the 19x19 bayeselo table?
  Terry McIntyre terrymcint...@yahoo.com
 
 
 Unix/Linux Systems Administration
 Taking time to do it right saves having to do it twice.
 
 
 
 
  inline file
 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
  --
  Hideki Kato mailto:hideki_ka...@ybb.ne.jp
  ___
  Computer-go mailing list
  Computer-go@dvandva.org
  http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
 
 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 

[Computer-go] ManyFaces learning

2010-10-14 Thread Petr Baudis
On Wed, Oct 13, 2010 at 11:47:01PM -0700, David Fotland wrote:
   Many Faces learns.  I think most everyone follows the policy.  As a
   developer, I want each version of my program to have a separate name so
  Learns in what way?  Won't repeat the exact same loss twice?
 Yes.

Intriguing! Do you think it actually improves its strength, or is that
just an experiment?

How does it know where the losing variation starts? Is it updating
some pattern weights, or updating some persistent game tree?

Thanks,

-- 
Petr Pasky Baudis
The true meaning of life is to plant a tree under whose shade
you will never sit.
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go


[Computer-go] ManyFaces learning

2010-10-14 Thread Jacques Basaldúa

 Intriguing! Do you think it actually improves its strength,
 or is that just an experiment?

 How does it know where the losing variation starts? Is
 it updating some pattern weights, or updating some persistent
 game tree?

I guess it is just an opening book that keeps win/loss info.
When a branch has losses and 0 wins, you just censor that move.
No need to know where the blunder was.

Maybe is something more interesting. I am curious too.


Jacques.


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


Re: [Computer-go] ManyFaces learning

2010-10-14 Thread Michael Williams
That wouldn't be a very good system.  Good moves would get chopped
whenever you play a stronger opponent.


On Thu, Oct 14, 2010 at 7:34 AM, Jacques Basaldúa jacq...@dybot.com wrote:
 Intriguing! Do you think it actually improves its strength,
 or is that just an experiment?

 How does it know where the losing variation starts? Is
 it updating some pattern weights, or updating some persistent
 game tree?

 I guess it is just an opening book that keeps win/loss info.
 When a branch has losses and 0 wins, you just censor that move.
 No need to know where the blunder was.

 Maybe is something more interesting. I am curious too.


 Jacques.


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

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


Re: [Computer-go] God Go Rank

2010-10-14 Thread Stefan Kaitschick

 An all-knowing opponent wouldn't play catch up in a handicap game.
Reducing the the disadvantage is a heuristic for mere mortals.
Instead, black would be forced into the most complicated defense possible.
This means that black could actually win higher than the initial margin 
of roughly 3.5 * 14 in a 4 stone game.

But only if he could counter perfection with perfection, which he can't.
So error frequencies and average error costs are a little besides the point.
Because to have a chance at winning, b would have to knowingly play 
suboptimal moves, trading a part of the advantage in return for reduced 
complexity.


Stefan


(Was 19x19 gets interesting.)

Mark Boon commented that he believes that top pros make a few dozen 
errors


per game. I concur, and I think that we can construct a model of Go

competitions that supports that belief.

with a 6.5 komi, the game is probably a forced win for Black. (It could be

White, or even a draw by repetition, but that doesn't affect what 
follows.)


So a perfect player would win 100% as Black, and also win as White unless

his opponent plays perfectly.

When top-ranked pros play head-to-head (e.g., in title matches) what we

observe is closer to 53% wins for Black.

Imagine an opponent that made an error on 1% of his turns. His probability

of playing a complete game (say 130 moves) without an error is around 27%.

It should be clear that such a player would win a lot more than 53% as 
Black.


Maybe it isn't so clear. We are counting errors in point differential, so

Black would win if he plays perfectly or if White makes errors that 
balance.


If White had the same error rate as Black, then Black would win 
roughly 63%.


So top pro error rates must exceed 1%.

If the error rate were 2% then Black would still win much too often.

I believe that top pros must have error rates around 9% in order to have a

53% win rate for Black. That implies a dozen errors per game per player.

I am not sure what this means for dan ranking. But if 1 stone = 6 points,

and 1 error = 2 points, then perfect players are about 4 stones better

than top human pros.

Here, top doesn't mean 9p; top means title holders.

Brian


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


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

Re: [Computer-go] ManyFaces learning

2010-10-14 Thread Michael Williams
If you censor at the root, you only have 361 losses that you can
endure before you are out of ideas.  I guess you implicitly meant
censoring at move 3 or something.


On Thu, Oct 14, 2010 at 7:54 AM, Jacques Basaldúa jacq...@dybot.com wrote:
 That wouldn't be a very good system.  Good moves would
 get chopped whenever you play a stronger opponent.

 I am always thinking in 19x19. You may be right on smaller
 board sizes. In 19x19 games become unique really soon.
 The only drawback of what I suggest is that you may label a
 playable move as not to play. But you play another playable
 move. The empty 19x19 board is full of playable moves.

 It is only a security measure to avoid someone replaying
 the same game again and again against you. Censoring a good
 move is not a problem when there are so many. Probably in 9x9
 you have to use a serious book and censoring good moves
 would be a problem.

 Jacques.




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

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


[Computer-go] ManyFaces learning

2010-10-14 Thread Jacques Basaldúa

 If you censor at the root, you only have 361 losses that
 you can endure before you are out of ideas.  I guess you
 implicitly meant censoring at move 3 or something.

Of course not. You start with a standard book. I my case,
learned from 50K games with about 25K nodes. You are just
adding learned knowledge to it. (I don't do it, btw. Just
guessing what David is doing from what he posted.)


Jacques.






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


Re: [Computer-go] ManyFaces learning

2010-10-14 Thread Michael Williams
You said: When a branch has losses and 0 wins, you just censor that move.

Apparently you meant leaf and not branch.


On Thu, Oct 14, 2010 at 8:14 AM, Jacques Basaldúa jacq...@dybot.com wrote:
 If you censor at the root, you only have 361 losses that
 you can endure before you are out of ideas.  I guess you
 implicitly meant censoring at move 3 or something.

 Of course not. You start with a standard book. I my case,
 learned from 50K games with about 25K nodes. You are just
 adding learned knowledge to it. (I don't do it, btw. Just
 guessing what David is doing from what he posted.)


 Jacques.






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

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


[Computer-go] ManyFaces learning

2010-10-14 Thread Jacques Basaldúa

 You said: When a branch has losses and 0 wins, you just censor that
 move. Apparently you meant leaf and not branch.

Well I did not precise how you grow the tree. Obviously, the initial
offline learned tree has all nodes with more than one visit as the
number of visits is the criterion to build it. Then, you may stop
growing the tree when you reach a branch that is unique. At that
moment the last node is a leaf. So you may call it what you want.
I wasn't that precise, but it makes sense. I may have explained
it bad, but it can be done.



Jacques.






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


Re: [Computer-go] God Go Rank

2010-10-14 Thread Petr Baudis
On Thu, Oct 14, 2010 at 01:49:49PM +0200, Stefan Kaitschick wrote:
 Instead, black would be forced into the most complicated defense possible.

How would that be defined?

One possible definition occuring to me is to always pick the variation
with the minimal sum of opponent replies that lead to a win in the
appropriate game subtree.

But that will just give huge preference to fights with the biggest
amount of forcing moves.

Petr Pasky Baudis
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go


Re: [Computer-go] ManyFaces learning

2010-10-14 Thread terry mcintyre
Ideally, a program could begin at the end of a lost game, and work back to 
determine at what move it lost the game. This is usually not the last move, but 
some distance back; it may even be in the fuseki stage.

If this offline analysis is complete, it could be used to confidently censor 
bad 
moves. Never make that mistake again.

The next stage in learning would be to analyze why the bad decision was made, 
and to search for a way to improve the decision-making process. Did the program 
not discover a clever tesuji by the opponent? Did it mis-read the life and 
death 
status of a group? Fail to respond appropriately in a capturing race? 
Automating 
this sort of learning would be an interesting task.

When a bad move is censored, one could also strike variations - rotations of 
the 
board, for example. If the program has good analytical skills, it could create 
advice such as don't play this if the ladder doesn't work.


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

[Computer-go] TAAI2010 computer game tournament(11/18 and 11/19, Taiwan)

2010-10-14 Thread Shi-Jim Yen
TAAI 2010 computer game tournament will be held at November 18th and 19th at
National Chiao Tung University in Hsin Chu, Taiwan, with TAAI2010. For more
information, please visit 

http://ai.csie.ndhu.edu.tw:9898/eng/

and

http://taai2010.nctu.edu.tw/

 

Go 9x9, 13x13 and 19x19 will be played. Erica, Mogo and Zen attended
TAAI2009 last year. GoIntelligent and Mogo have registered this year.

The rules are similar to computer Olympiad, but will be played on KGS.

 

Best regards,

 

Shi-Jim Yen

Associate Professor of CSIE, in NDHU, Houlian, Taiwan.

 

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

[Computer-go] CGOS standard engine proposal

2010-10-14 Thread Brian Sheppard
It makes sense to have more than one standard program. Preferably covering a
wide range of skills.

There is no need to fix the ratings of standard programs, provided that they
play a large number of games.

The problem is to find the resources to host a wide range of standard
players.

I experienced a period on CGOS where 3 programs were stronger than Pebbles
by 300 rating points, and the standard 9x9 programs were weaker by 300
rating points, and no opponents were in Pebbles range. I resolved that by
running two copies of Pebbles, and by creating a fixed version of Fuego
running on a spare computer. Now there was always a good matchup to be
found.

But that solution only works when Pebbles is playing.

I feel like a collaborative solution should work. Here is a proposal:

1) We adopt a naming convention for standard players.

2) We create a set of standard players, scaled over a range from far
below the anchor to far above.

3) CGOS blocks creating names that follow the convention except by the
server admin.

4) We publish the commands that execute the standard players.

5) Anyone can create an instance of a standard version (provided that no
other user is currently running an instance).

6) Now you can run instances of standards that scale to the rating range
you care about.

For example, suppose Fuego will be a standard. Our naming convention could
be Std-Fuego-0.4-2000, to indicate that the player is a standard player,
running Fuego, version 0.4, fixed to 2000 trials per turn.

It makes sense to have a diversity of programs, so that we don't get in the
rut of tuning to a specific program's weaknesses. Open source engines like
Fuego, Pachi, and Orego would make excellent choices.

We would need to archive binary versions that the standards depend upon.

Thoughts?

Brian

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


[Computer-go] Pebbles opening learning

2010-10-14 Thread Brian Sheppard
The Mogo team (among others) published extensive descriptions of how to
write an opening library that learns. I recommend following their idea,
rather than mine. :-)

But if you don't have the time to do things properly, and you don't want to
lose the exact same game over and over, then you might use Pebbles simple
adaptive technique.

Pebbles repeats moves that won the last time they were played.

Specifically:

1) after every game, mark all positions in which the winner moved as
winning-last-time.
2) In every game look up all successors of the current position.
3) Choose randomly among successors that were winning-last-time.
4) If no winning-last-time then search.

This simple system is surprisingly robust. In particular,

a) your program learns from opponents that defeat it.
b) your program repeats moves that previously won.
c) The selected moves have a strength that is lower-bounded by
your program's native search strength, because
i) A move either came from your own search, or
ii) from a previous game in which an opponent defeated you.

The weakness is in step 4: search. It is possible to have a winning
position, but your search can't find the play.

It is possible to upgrade step 4 so that the process is asymptotically
optimal. That is, the system converges on maximal play. Pebbles hasn't
actually implemented that feature, but I will have to implement that
eventually in order to climb the ladder.

Brian


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


Re: [Computer-go] God Go Rank

2010-10-14 Thread Stefan Kaitschick

 Minimal number of opponent replies is the right idea.
But not just the next move. The whole structure of the following game 
tree is important.
There is also the consideration that successful b moves should not be 
easy to find.

But maybe this would be playing with the devil. :-)

Stefan


On Thu, Oct 14, 2010 at 01:49:49PM +0200, Stefan Kaitschick wrote:

Instead, black would be forced into the most complicated defense possible.

How would that be defined?

One possible definition occuring to me is to always pick the variation
with the minimal sum of opponent replies that lead to a win in the
appropriate game subtree.

But that will just give huge preference to fights with the biggest
amount of forcing moves.

Petr Pasky Baudis
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go



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


Re: [Computer-go] God Go Rank

2010-10-14 Thread Stefan Kaitschick

 Sorry, I didn't read your post properly.
You already considered the full game tree.
Probably, minimal product is slightly better than minimal sum.
I'm not sure what the statistical properties of a wild fullboard fight 
would be.

But such a superior player should have no problem discerning that.

Stefan


On Thu, Oct 14, 2010 at 01:49:49PM +0200, Stefan Kaitschick wrote:

Instead, black would be forced into the most complicated defense possible.

How would that be defined?

One possible definition occuring to me is to always pick the variation
with the minimal sum of opponent replies that lead to a win in the
appropriate game subtree.

But that will just give huge preference to fights with the biggest
amount of forcing moves.

Petr Pasky Baudis
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go



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


Re: [Computer-go] TAAI2010 computer game tournament(11/18 and 11/19, Taiwan)

2010-10-14 Thread David Fotland
Can we play remotely, by connecting to KGS, or does the program have to run
on a computer in Taiwan at the contest site?

 

Thanks,

 

David

 

From: computer-go-boun...@dvandva.org
[mailto:computer-go-boun...@dvandva.org] On Behalf Of Shi-Jim Yen
Sent: Thursday, October 14, 2010 6:34 AM
To: computer-go@dvandva.org
Subject: [Computer-go] TAAI2010 computer game tournament(11/18 and 11/19,
Taiwan)

 

TAAI 2010 computer game tournament will be held at November 18th and 19th at
National Chiao Tung University in Hsin Chu, Taiwan, with TAAI2010. For more
information, please visit 

http://ai.csie.ndhu.edu.tw:9898/eng/

and

http://taai2010.nctu.edu.tw/

 

Go 9x9, 13x13 and 19x19 will be played. Erica, Mogo and Zen attended
TAAI2009 last year. GoIntelligent and Mogo have registered this year.

The rules are similar to computer Olympiad, but will be played on KGS.

 

Best regards,

 

Shi-Jim Yen

Associate Professor of CSIE, in NDHU, Houlian, Taiwan.

 

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

Re: [Computer-go] CGOS standard engine proposal

2010-10-14 Thread Don Dailey
If there are multiple anchors,  then what should be fixed is the average
rating of them assuming they all stay active.   But there still needs to be
something fixed  or else the rating pool will be subject to random drift.

There is no limit to the number of possible ideas to deal with this,  but
I'm not currently in a position to work on CGOS,  so I prefer something that
is simple and compatible with what we already have.The simplest idea (if
we really think we need a change) is to upgrade our anchor player.

The rating issue could be solved in a simple way - only publish the bayeselo
ratings of the players.   Internally I can configure the server to use a
higher K factor so that it more quickly adapts but the rating we publish is
Bayeselo.  On the server Bayeselo is updated only every 6 hours,  so you
would not get rating updates after every game.Another minor downside is
that a bot's rating can change even when it's not playing games. To me
this is not a bad thing because newer ratings will more accurately reflect
the strength of the programs.

Don



On Thu, Oct 14, 2010 at 11:03 AM, Brian Sheppard sheppar...@aol.com wrote:

 It makes sense to have more than one standard program. Preferably covering
 a
 wide range of skills.

 There is no need to fix the ratings of standard programs, provided that
 they
 play a large number of games.

 The problem is to find the resources to host a wide range of standard
 players.

 I experienced a period on CGOS where 3 programs were stronger than Pebbles
 by 300 rating points, and the standard 9x9 programs were weaker by 300
 rating points, and no opponents were in Pebbles range. I resolved that by
 running two copies of Pebbles, and by creating a fixed version of Fuego
 running on a spare computer. Now there was always a good matchup to be
 found.

 But that solution only works when Pebbles is playing.

 I feel like a collaborative solution should work. Here is a proposal:

1) We adopt a naming convention for standard players.

2) We create a set of standard players, scaled over a range from far
 below the anchor to far above.

3) CGOS blocks creating names that follow the convention except by the
 server admin.

4) We publish the commands that execute the standard players.

5) Anyone can create an instance of a standard version (provided that no
 other user is currently running an instance).

6) Now you can run instances of standards that scale to the rating range
 you care about.

 For example, suppose Fuego will be a standard. Our naming convention could
 be Std-Fuego-0.4-2000, to indicate that the player is a standard player,
 running Fuego, version 0.4, fixed to 2000 trials per turn.

 It makes sense to have a diversity of programs, so that we don't get in the
 rut of tuning to a specific program's weaknesses. Open source engines like
 Fuego, Pachi, and Orego would make excellent choices.

 We would need to archive binary versions that the standards depend upon.

 Thoughts?

 Brian

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

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

Re: [Computer-go] ManyFaces learning

2010-10-14 Thread David Fotland
On 9x9, playing against people, the opening learning is very important so
that they don’t find a winning sequence then just repeat it.  This has been
in Igowin since it first shipped, in 1998.  I don’t think it helps the
strength much in 19x19, but it makes the games look prettier.

I use a persistent position hash table that stores every position visited
twice (or more) by games that were deliberately added (File, Add Game(s) to
database), and every position in every game played locally.  The program
ships with a 19x19 database built from about 40K games.  The next update
will also include 9x9 games from strong cgos programs.

Move choices are biased based on the win/loss ratio, number of visits,
strength of strongest player moving into that position, depth in the game,
and probably more that I have long since forgotten.  There is no hard
pruning or immediate move choices from this data, just biasing the search.

David

 -Original Message-
 From: computer-go-boun...@dvandva.org [mailto:computer-go-
 boun...@dvandva.org] On Behalf Of Petr Baudis
 Sent: Thursday, October 14, 2010 3:02 AM
 To: computer-go@dvandva.org
 Subject: [Computer-go] ManyFaces learning
 
 On Wed, Oct 13, 2010 at 11:47:01PM -0700, David Fotland wrote:
Many Faces learns.  I think most everyone follows the policy.  As a
developer, I want each version of my program to have a separate name
 so
   Learns in what way?  Won't repeat the exact same loss twice?
  Yes.
 
 Intriguing! Do you think it actually improves its strength, or is that
 just an experiment?
 
 How does it know where the losing variation starts? Is it updating
 some pattern weights, or updating some persistent game tree?
 
 Thanks,
 
 --
   Petr Pasky Baudis
 The true meaning of life is to plant a tree under whose shade
 you will never sit.
 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

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


Re: [Computer-go] CGOS standard engine proposal

2010-10-14 Thread Brian Sheppard
If there are multiple anchors

I didn't propose multiple anchors, just multiple standard players.

Just to clarify, I proposed keeping the existing anchors (FatMan on 9 and
GnuGo on 13 and 19). Then define a set of standard players that *anyone* can
run.

This way, if I want an opponent around 2200 then I can start an
appropriately chosen standard. Because of the collaborative efforts of all
developers who have had that need, such a player would have thousands of
games and a very accurate rating.

This system relieves you of the burden of running multiple standards, while
allowing the community to provide the computing power that supports its
needs over time.

My proposal does not require a code change. Just a recognition that we can
establish specific points on a rating scale by convention, using
collaborative computing.


Brian

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


Re: [Computer-go] CGOS standard engine proposal

2010-10-14 Thread Matthew Woodcraft
Brian Sheppard wrote:
 I feel like a collaborative solution should work. Here is a proposal:

  1) We adopt a naming convention for standard players.

  2) We create a set of standard players, scaled over a range from far
 below the anchor to far above.

  3) CGOS blocks creating names that follow the convention except by the
 server admin.

  4) We publish the commands that execute the standard players.

  5) Anyone can create an instance of a standard version (provided that no
 other user is currently running an instance).


I think that's a very practical idea. I'd be happy to run a standard
player or two from time to time.

-M-
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go


Re: [Computer-go] CGOS starting rating

2010-10-14 Thread Brian Sheppard
 The rating issue could be solved in a simple way - only publish the
bayeselo ratings of the players.

 

(Don posted this under a different thread, but I think it belongs here.)

 

The proposal to use bayeselo to rate players does not work for players that
learn, as Pebbles does. Pebbles bayeselo trails its incremental rating by
hundreds of points. If you publish Bayeselo, then people will wonder why
Pebbles wins so much.

 

Brian

 

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

Re: [Computer-go] CGOS standard engine proposal

2010-10-14 Thread Robert Finking




I also like this suggestion. Funnily enough I was thinking that it
would be better to have more than one standard player earlier today! I
like Don's list of requirements for the standard algorithms. I guess
this cuts the list of possibles down a bit? If you want a holding place
for suggesting standard players, feel free to add a page to the wiki

Matthew Woodcraft wrote:

  Brian Sheppard wrote:
  
  
I feel like a collaborative solution should work. Here is a proposal:

 1) We adopt a naming convention for standard players.

 2) We create a set of standard players, scaled over a range from far
below the anchor to far above.

 3) CGOS blocks creating names that follow the convention except by the
server admin.

 4) We publish the commands that execute the standard players.

 5) Anyone can create an instance of a standard version (provided that no
other user is currently running an instance).

  
  

I think that's a very practical idea. I'd be happy to run a standard
player or two from time to time.

-M-
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

  



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

Re: [Computer-go] ManyFaces learning

2010-10-14 Thread Michael Williams
I don’t think it helps the strength much in 19x19, but it makes the
games look prettier.

So regarding learning while playing on CGOS:  The program changes, but
the amount that the true ELO is going to move during it's CGOS
lifetime is completely negligable.


On Thu, Oct 14, 2010 at 1:09 PM, David Fotland fotl...@smart-games.com wrote:
 On 9x9, playing against people, the opening learning is very important so
 that they don’t find a winning sequence then just repeat it.  This has been
 in Igowin since it first shipped, in 1998.  I don’t think it helps the
 strength much in 19x19, but it makes the games look prettier.

 I use a persistent position hash table that stores every position visited
 twice (or more) by games that were deliberately added (File, Add Game(s) to
 database), and every position in every game played locally.  The program
 ships with a 19x19 database built from about 40K games.  The next update
 will also include 9x9 games from strong cgos programs.

 Move choices are biased based on the win/loss ratio, number of visits,
 strength of strongest player moving into that position, depth in the game,
 and probably more that I have long since forgotten.  There is no hard
 pruning or immediate move choices from this data, just biasing the search.

 David

 -Original Message-
 From: computer-go-boun...@dvandva.org [mailto:computer-go-
 boun...@dvandva.org] On Behalf Of Petr Baudis
 Sent: Thursday, October 14, 2010 3:02 AM
 To: computer-go@dvandva.org
 Subject: [Computer-go] ManyFaces learning

 On Wed, Oct 13, 2010 at 11:47:01PM -0700, David Fotland wrote:
Many Faces learns.  I think most everyone follows the policy.  As a
developer, I want each version of my program to have a separate name
 so
   Learns in what way?  Won't repeat the exact same loss twice?
  Yes.

 Intriguing! Do you think it actually improves its strength, or is that
 just an experiment?

 How does it know where the losing variation starts? Is it updating
 some pattern weights, or updating some persistent game tree?

 Thanks,

 --
                               Petr Pasky Baudis
 The true meaning of life is to plant a tree under whose shade
 you will never sit.
 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

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

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


Re: [Computer-go] ManyFaces learning

2010-10-14 Thread David Fotland
On 19x19 yes, but on 9x9, it probably can get noticeably stronger,
especially if other strong programs have openings they like and MF learns a
refutation.

David

 -Original Message-
 From: computer-go-boun...@dvandva.org [mailto:computer-go-
 boun...@dvandva.org] On Behalf Of Michael Williams
 Sent: Thursday, October 14, 2010 3:03 PM
 To: computer-go@dvandva.org
 Subject: Re: [Computer-go] ManyFaces learning
 
 I don’t think it helps the strength much in 19x19, but it makes the
 games look prettier.
 
 So regarding learning while playing on CGOS:  The program changes, but
 the amount that the true ELO is going to move during it's CGOS
 lifetime is completely negligable.
 
 
 On Thu, Oct 14, 2010 at 1:09 PM, David Fotland fotl...@smart-games.com
 wrote:
  On 9x9, playing against people, the opening learning is very important
so
  that they don’t find a winning sequence then just repeat it.  This has
 been
  in Igowin since it first shipped, in 1998.  I don’t think it helps the
  strength much in 19x19, but it makes the games look prettier.
 
  I use a persistent position hash table that stores every position
visited
  twice (or more) by games that were deliberately added (File, Add Game(s)
 to
  database), and every position in every game played locally.  The program
  ships with a 19x19 database built from about 40K games.  The next update
  will also include 9x9 games from strong cgos programs.
 
  Move choices are biased based on the win/loss ratio, number of visits,
  strength of strongest player moving into that position, depth in the
game,
  and probably more that I have long since forgotten.  There is no hard
  pruning or immediate move choices from this data, just biasing the
search.
 
  David
 
  -Original Message-
  From: computer-go-boun...@dvandva.org [mailto:computer-go-
  boun...@dvandva.org] On Behalf Of Petr Baudis
  Sent: Thursday, October 14, 2010 3:02 AM
  To: computer-go@dvandva.org
  Subject: [Computer-go] ManyFaces learning
 
  On Wed, Oct 13, 2010 at 11:47:01PM -0700, David Fotland wrote:
 Many Faces learns.  I think most everyone follows the policy.  As
a
 developer, I want each version of my program to have a separate
 name
  so
Learns in what way?  Won't repeat the exact same loss twice?
   Yes.
 
  Intriguing! Do you think it actually improves its strength, or is that
  just an experiment?
 
  How does it know where the losing variation starts? Is it updating
  some pattern weights, or updating some persistent game tree?
 
  Thanks,
 
  --
                                Petr Pasky Baudis
  The true meaning of life is to plant a tree under whose shade
  you will never sit.
  ___
  Computer-go mailing list
  Computer-go@dvandva.org
  http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
 
  ___
  Computer-go mailing list
  Computer-go@dvandva.org
  http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
 
 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

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


Re: [Computer-go] CGOS standard engine proposal

2010-10-14 Thread Hideki Kato
Robert, could you use plain text mail please?

I run several such standards as well as the anchors, gnugo-3.8-l10F 
and gnugo-3.8-mc in addition to FatMan-1 on 9x9 and GNU-Go-3.8-L12 on 
19x19, for long time.  Also I had run Zengg-2x4c again to pull up 
strong new programs.

The idea that volunteers run many standards is good and there are no 
reason to against but I'd like to suggest don't expect much.  That 
will accelerate the convergence, most likely, ten times or around, 
depending on the interval they will be placed (assuming 200 Elo) but 
much slower than copying bayeselo which will be updated every six 
hours.

Possible drawbacks are, not ecological :) and since the standard 
programs have to be public and limited to a few ones such as Fuego and 
MoGo, the ratings will be biased in some sense.

Hideki

Robert Finking: 4cb76ebf.2080...@o2.co.uk:
I also like this suggestion. Funnily enough I was thinking that it 
would be better to have more than one standard player earlier today! 
I like Don's list of requirements for the standard algorithms. I 
guess this cuts the list of possibles down a bit? If you want a 
holding place for suggesting standard players, feel free to add a 
page to the wiki

Matthew Woodcraft wrote: 
Brian Sheppard wrote:
  
I feel like a collaborative solution should work. Here is a proposal:

 1) We adopt a naming convention for standard players.

 2) We create a set of standard players, scaled over a range from far
below the anchor to far above.

 3) CGOS blocks creating names that follow the convention except by the
server admin.

 4) We publish the commands that execute the standard players.

 5) Anyone can create an instance of a standard version (provided that no
other user is currently running an instance).



I think that's a very practical idea. I'd be happy to run a standard
player or two from time to time.

-M-

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


Re: [Computer-go] CGOS standard engine proposal

2010-10-14 Thread Brian Sheppard
That will accelerate the convergence, most likely, ten times or around, 
depending on the interval they will be placed (assuming 200 Elo) but 
much slower than copying bayeselo which will be updated every six 
hours.

Convergence is an independent issue.

Speeding convergence is useful, but not the only reason for wanting to
define standard players.

First, the pool can be thin. You will often see fewer than 8 programs
playing. It would help to start another engine. Why not start a standard?

Second, the pool can be thin near your program. Pebbles plays in a region
that is often underrepresented.

Third, a standard offers some reproducibility. If you lose against a
standard, and want to reproduce, then you can.

Fourth, standards allow you to test offline against a player of known
rating.

Fifth, a family of standard players that differ by speed establishes rating
curves.

You can do the bayeselo, too, if you want.

Brian

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


Re: [Computer-go] CGOS standard engine proposal

2010-10-14 Thread Hideki Kato
Dear Brian,

Hideki Kato wrote in 4cb79ef8.1360%hideki_ka...@ybb.ne.jp:
The idea that volunteers run many standards is good and there are no 
reason to against but I'd like to suggest don't expect much.

Hideki

Brian Sheppard: dee6fa7b72d947b5a2b6474bf842f...@inspirone1705:
That will accelerate the convergence, most likely, ten times or around, 
depending on the interval they will be placed (assuming 200 Elo) but 
much slower than copying bayeselo which will be updated every six 
hours.

Convergence is an independent issue.

Speeding convergence is useful, but not the only reason for wanting to
define standard players.

First, the pool can be thin. You will often see fewer than 8 programs
playing. It would help to start another engine. Why not start a standard?

Second, the pool can be thin near your program. Pebbles plays in a region
that is often underrepresented.

Third, a standard offers some reproducibility. If you lose against a
standard, and want to reproduce, then you can.

Fourth, standards allow you to test offline against a player of known
rating.

Fifth, a family of standard players that differ by speed establishes rating
curves.

You can do the bayeselo, too, if you want.

Brian

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


Re: [Computer-go] CGOS standard engine proposal

2010-10-14 Thread David Fotland
I just put up mfgo12-636 (originally from March 2010), which was the highest
rated Many Faces until recently.  I'll keep it up as I can to give another
highly rated reference.

It ended up rated quite a bit higher than programs that are stronger now,
but have lower ratings.

I think it might be a good idea to relax the final K factor a little so
programs with hundreds of games can still move their ratings a little
faster.

David

 -Original Message-
 From: computer-go-boun...@dvandva.org [mailto:computer-go-
 boun...@dvandva.org] On Behalf Of Hideki Kato
 Sent: Thursday, October 14, 2010 5:23 PM
 To: computer-go@dvandva.org
 Subject: Re: [Computer-go] CGOS standard engine proposal
 
 Robert, could you use plain text mail please?
 
 I run several such standards as well as the anchors, gnugo-3.8-l10F
 and gnugo-3.8-mc in addition to FatMan-1 on 9x9 and GNU-Go-3.8-L12 on
 19x19, for long time.  Also I had run Zengg-2x4c again to pull up
 strong new programs.
 
 The idea that volunteers run many standards is good and there are no
 reason to against but I'd like to suggest don't expect much.  That
 will accelerate the convergence, most likely, ten times or around,
 depending on the interval they will be placed (assuming 200 Elo) but
 much slower than copying bayeselo which will be updated every six
 hours.
 
 Possible drawbacks are, not ecological :) and since the standard
 programs have to be public and limited to a few ones such as Fuego and
 MoGo, the ratings will be biased in some sense.
 
 Hideki
 
 Robert Finking: 4cb76ebf.2080...@o2.co.uk:
 I also like this suggestion. Funnily enough I was thinking that it
 would be better to have more than one standard player earlier today!
 I like Don's list of requirements for the standard algorithms. I
 guess this cuts the list of possibles down a bit? If you want a
 holding place for suggesting standard players, feel free to add a
 page to the wiki
 
 Matthew Woodcraft wrote:
 Brian Sheppard wrote:
 
 I feel like a collaborative solution should work. Here is a proposal:
 
  1) We adopt a naming convention for standard players.
 
  2) We create a set of standard players, scaled over a range from far
 below the anchor to far above.
 
  3) CGOS blocks creating names that follow the convention except by the
 server admin.
 
  4) We publish the commands that execute the standard players.
 
  5) Anyone can create an instance of a standard version (provided that no
 other user is currently running an instance).
 
 
 
 I think that's a very practical idea. I'd be happy to run a standard
 player or two from time to time.
 
 -M-
 
 --
 Hideki Kato mailto:hideki_ka...@ybb.ne.jp
 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

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


Re: [Computer-go] Pebbles opening learning

2010-10-14 Thread Petri Pitkanen
I presume this is for small boards? Hard to see in 19x19 that doing such
statistics would be meaningful.

Petri

2010/10/14 Brian Sheppard sheppar...@aol.com

 The Mogo team (among others) published extensive descriptions of how to
 write an opening library that learns. I recommend following their idea,
 rather than mine. :-)

 But if you don't have the time to do things properly, and you don't want to
 lose the exact same game over and over, then you might use Pebbles simple
 adaptive technique.

 Pebbles repeats moves that won the last time they were played.

 Specifically:

1) after every game, mark all positions in which the winner moved as
 winning-last-time.
2) In every game look up all successors of the current position.
3) Choose randomly among successors that were winning-last-time.
4) If no winning-last-time then search.

 This simple system is surprisingly robust. In particular,

a) your program learns from opponents that defeat it.
b) your program repeats moves that previously won.
c) The selected moves have a strength that is lower-bounded by
 your program's native search strength, because
i) A move either came from your own search, or
ii) from a previous game in which an opponent defeated you.

 The weakness is in step 4: search. It is possible to have a winning
 position, but your search can't find the play.

 It is possible to upgrade step 4 so that the process is asymptotically
 optimal. That is, the system converges on maximal play. Pebbles hasn't
 actually implemented that feature, but I will have to implement that
 eventually in order to climb the ladder.

 Brian


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

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