Re: [computer-go] How to change the influence function?

2008-07-18 Thread terry mcintyre
--- On Thu, 7/17/08, tk424 <[EMAIL PROTECTED]> wrote:

> From: tk424 <[EMAIL PROTECTED]>

> I am trying to implement a new influence function in GNU Go
> version 3.6.

Version 3.6 was released in 2004; GnuGo is up to version 3.7.12 now.

Why not work with the later version, which is somewhat stronger?

An improvement to 3.7.12 could easily be incorporated; an improvment to 3.6 
would require a good bit of adaptation to fit 3.7.xx, and might not actually 
improve the later version.






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


Re: [computer-go] How to change the influence function?

2008-07-18 Thread Don Dailey
Just as Ian says,  it's been my experience that self-play works well in 
practice for measuring if there was an improvement.




But your actual result depends on your opponents and the nature of the 
improvement.Some improvements will seem very large in self tests but 
relatively small against specific opponents. It can someone work the 
other way around too but this does seem to be less likely. 




Some people view this as a problem claiming that self-test exaggerates 
the improvement.If  this is true, it's all the more reason to do it  
because it's really difficult in general to measure small 
improvements.So I have no problem with it.   




So far I have never seen a self-play improvement  translate to a general 
degradation of play, although I have seen modest improvements translate 
to "no improvement  that I could measure" against other opponents.
However it seems likely that it's possible.




To avoid being deceived, I cannot stress strongly enough that you need a 
LOT of games to be very sure of anything.Of course if you win 19 and 
lose 1 you can be relatively certain that you have an improvement,  but 
it's still quite likely that it's not as big as you think.  




I think this has to do with WHAT you changed and interactions with what 
the opponent knows.   If you directly address a weakness of the 
opponents you test against,  you can probably expect to see a good 
result.Or conversely if you patch up a weakness that you are getting 
hammered with,  you will see a big improvement.Most things translate 
fairly evenly, but not all things.In other words, if you improve 
against opponent X you probably also improved roughly the same amount 
against most other opponents,  but not necessarily.  




- Don




Ian Osgood wrote:


On Jul 17, 2008, at 9:51 PM, tk424 wrote:


Hello,

The first question is how to prove the new influence function is 
better the old one.
I believe it can be said the new influence function is better if the 
new GNU Go wins more games, in average, than the old one. The rest of 
the parts will stay the same.


T Kim


Self-play seems like a good smoke-test for whether your influence 
function is any better than the existing one. Self-play should not be 
used to determine *how* much better, however.


GNU Go also has an extensive suite of regression tests. Examining its 
breakage should give you many hints on how your changes to the 
influence function interact with other parts of the program. I would 
not be surprised if other components are tuned to the existing 
algorithm and would need adjustment.


Ian

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


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


Re: [computer-go] How to change the influence function?

2008-07-18 Thread Ian Osgood


On Jul 17, 2008, at 9:51 PM, tk424 wrote:


Hello,

The first question is how to prove the new influence function is  
better the old one.
I believe it can be said the new influence function is better if  
the new GNU Go wins more games, in average, than the old one. The  
rest of the parts will stay the same.


T Kim


Self-play seems like a good smoke-test for whether your influence  
function is any better than the existing one. Self-play should not be  
used to determine *how* much better, however.


GNU Go also has an extensive suite of regression tests. Examining its  
breakage should give you many hints on how your changes to the  
influence function interact with other parts of the program. I would  
not be surprised if other components are tuned to the existing  
algorithm and would need adjustment.


Ian

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


Re: [computer-go] How to change the influence function?

2008-07-18 Thread Don Dailey



tk424 wrote:

Hello,
 
I am trying to implement a new influence function in GNU Go version 3.6.

I have two questions about this issue.
 
The first question is how to prove the new influence function is better the old one.

I believe it can be said the new influence function is better if the new GNU Go 
wins more games, in average, than the old one. The rest of the parts will stay 
the same.
In other words, this new influence function should be compared from self-play 
(old influence function vs. new influence fn).
Does this sound reasonable? Any comment will be appreciated!
  
Self-play can be somewhat tricky - it may give you good results but it 
can be unreliable. It's probably a good way to start however.   If 
it scores better against the old gnugo,  then you have a basis for 
continuing with more thorough tests.   If it scores worse,  it's 
probably not working.


Playing games with humans is another idea.  However it's pretty much 
impossible to get an accurate measurement that way - unless the change 
produced a pretty large improvement.  



I think a reasonable compromise is to play a variety of computer 
opponents.  You will need hundreds of games or perhaps even thousands if 
the improvement is minor.



So you might consider doing it in this order:

1.  Play 100 tests against the old gnugo.
   
2.  If step 1 shows an improvement start playing against other 
players,  or on CGOS.


3.  Play rated games on KGS (can be done while doing step 2)




- Don



 
The second question is more practical.

Could anyone tell what part in the source codes should be modified?
I have no experience of working with influence function, setting up a 
self-play, and counting the number of wins.
ANY input will be helpful...

After reading the GNU Go documentation 13. Influence function 
(http://www.gnu.org/software/gnugo/gnugo_13.html), I was trying to understand 
engine/influence.h and engine/influence.c.
But it's all puzzling to me.
 
Thank you in advance!
 
 
T Kim

!!!
  Friends are angels who lift us to our feet when  
  our wing have trouble remembering how to fly.

!!!
Address:
Missouri University of Science and Technologies
Formerly, University of Missouri-Rolla
Applied Computational Intelligence Laboratory
G11 Emerson Electric Co. Hall
1870 Miner Circle Rolla, MO 65409-0040
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

  

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


Re: [computer-go] How to change the influence function?

2008-07-17 Thread David Doshay

On 17, Jul 2008, at 9:51 PM, tk424 wrote:

The first question is how to prove the new influence function is  
better the old one.
I believe it can be said the new influence function is better if the  
new GNU Go wins more games, in average, than the old one.


in general a reasonable idea ...


The rest of the parts will stay the same.
In other words, this new influence function should be compared from  
self-play (old influence function vs. new influence fn).

Does this sound reasonable?


No, self-play is not usually reasonable. A better idea would be to  
have it play on KGS and if it proves to be stronger against a large  
variety of human opponents, then it is likely better.



Any comment will be appreciated!




Cheers,
David




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


[computer-go] How to change the influence function?

2008-07-17 Thread tk424
Hello,
 
I am trying to implement a new influence function in GNU Go version 3.6.
I have two questions about this issue.
 
The first question is how to prove the new influence function is better the old 
one.
I believe it can be said the new influence function is better if the new GNU Go 
wins more games, in average, than the old one. The rest of the parts will stay 
the same.
In other words, this new influence function should be compared from self-play 
(old influence function vs. new influence fn).
Does this sound reasonable? Any comment will be appreciated!
 
The second question is more practical.
Could anyone tell what part in the source codes should be modified?
I have no experience of working with influence function, setting up a 
self-play, and counting the number of wins.
ANY input will be helpful...

After reading the GNU Go documentation 13. Influence function 
(http://www.gnu.org/software/gnugo/gnugo_13.html), I was trying to understand 
engine/influence.h and engine/influence.c.
But it's all puzzling to me.
 
Thank you in advance!
 
 
T Kim
!!!
  Friends are angels who lift us to our feet when  
  our wing have trouble remembering how to fly.
!!!
Address:
Missouri University of Science and Technologies
Formerly, University of Missouri-Rolla
Applied Computational Intelligence Laboratory
G11 Emerson Electric Co. Hall
1870 Miner Circle Rolla, MO 65409-0040
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/