Re: [computer-go] Go Board Library

2006-12-18 Thread Urban Hafner
On 12/16/2006, £ukasz Lew [EMAIL PROTECTED] wrote:

http://www.mimuw.edu.pl/~lew

waiting for Your comments :)

Thanks for sharing it! I'll definitely give it a try.

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


Re: [computer-go] libgoboard v 0.93.1

2006-12-18 Thread Urban Hafner
On 12/18/2006, £ukasz Lew [EMAIL PROTECTED] wrote:

Hi,

I implemented most of the requests.
The ChangeLog is available next to the library on my webpage:

http://www.mimuw.edu.pl/~lew/

The highlights:
 - MC playout (random, no self eye filling) implemented
 - 37 kpps on my laptop Celeron M 1.4 GHz
 - 57 kpps on AMD Opteron 2.2 GHz

I haven't had much time to look at the code, but it seems like the board
is hard coded to 9x9. How easy is it to change the size? Do I just have
to change the boardsize constant (resp. make it into a variable if I
want to set the board size for each game played by the bot.) or is there
more to be done?

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


Re: [computer-go] libgoboard v 0.93.1

2006-12-18 Thread Łukasz Lew

On 12/18/06, Urban Hafner [EMAIL PROTECTED] wrote:

On 12/18/2006, £ukasz Lew [EMAIL PROTECTED] wrote:

Hi,

I implemented most of the requests.
The ChangeLog is available next to the library on my webpage:

http://www.mimuw.edu.pl/~lew/

The highlights:
 - MC playout (random, no self eye filling) implemented
 - 37 kpps on my laptop Celeron M 1.4 GHz
 - 57 kpps on AMD Opteron 2.2 GHz

I haven't had much time to look at the code, but it seems like the board
is hard coded to 9x9. How easy is it to change the size? Do I just have
to change the boardsize constant (resp. make it into a variable if I
want to set the board size for each game played by the bot.) or is there
more to be done?


Only the constant :)



Urban
___
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] Slow KGS computer Go Tournament

2006-12-18 Thread David Doshay

There seem to be other modes having to do with estimated kyu level
and game pairing. I guess we need to ignore those for the tournament?

Cheers,
David



On 18, Dec 2006, at 1:00 AM, William M. Shubert wrote:


Oops, sorry for not notifying people here about the the change. I
assumed that people would notice the change when they logged in for
non-tournament use, but people who only use kgsGtp for tournaments  
would

find out at the worst possible time. :-(

It is a simple change. Just change tournament=t into  
mode=tournament

as the message you get says. Before I had a bunch of flags, where you
could only set one, so it made sense to just have a single my mode
is... option. That is the reason for the change.

___
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] Slow KGS computer Go Tournament

2006-12-18 Thread Don Dailey
William,

One question - 

  My opponent in the first round somehow got disconnected.  A few
minutes later
  botnoid was kicked from the game.  

  What would happen if my opponent came back?   Would botnoid
automatically
  rejoin the game or would it now be botnoid that would lose on time?

There was a feeling that this might not be handled correctly so I 
played it safe by writing a script to observe the log file and 
disconnect/reconnect if it was kicked due to an absent tournament
opponent. 

- Don



On Mon, 2006-12-18 at 01:00 -0800, William M. Shubert wrote:
 Oops, sorry for not notifying people here about the the change. I
 assumed that people would notice the change when they logged in for
 non-tournament use, but people who only use kgsGtp for tournaments would
 find out at the worst possible time. :-(
 
 It is a simple change. Just change tournament=t into mode=tournament
 as the message you get says. Before I had a bunch of flags, where you
 could only set one, so it made sense to just have a single my mode
 is... option. That is the reason for the change.
 

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


[computer-go] Slow KGS computer Go Tournament thought in the middle

2006-12-18 Thread David Doshay
It seems that so far the moves generated by SlugGo are not worth the  
time they take, and in fact look worse than moves I might expect with  
shorter time settings. I will be able to check later by replaying  
this game (with faster lookahead) but forcing SlugGo to continue  
following this game.


Some of Aya's moves look nice.

Most other boards look pretty random ...

Cheers,
David

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


RE: [computer-go] Fast Board implementation

2006-12-18 Thread House, Jason J.
All this talk of D inspired me to bite the bullet and try it out
myself.  (I had been curious to check it out in detail for some time)

Sadly, my experience with D is not as shining as others.  I tried to
take the source of my C++ based bot (housebot) and convert it over.  I
really like how foreach is handled and the ability to embed unit tests
and invariants.  I found the contract programming to be more eye candy
than practical (but I still used it).

On the down side, I noticed a significant lack of documentation and
difficult to find get it at my fingertips.  Support for an STL
equivalent is a few years out of date.  minTL seemed the most mature
but didn't compile out of the box.  The changes to get it to compile
seemed minor and it may have been a bad environment set up.  On mailing
lists, people say that you can use the fancy D arrays for most (but not
all) STL containers.  

The const keyword has been completely removed from the language and
makes it hard to force such restrictions on library users.  minTL
goes far enough to force a const equivalent by using some template
parameters and static if's.  Beyond that, there's a few things that
just drive me batty like no support for a toString property for enums
or how my board class's unit test refused to run until other code
instantiated it (both makes some sense actually).

It's not a bad language, but I feel like it still rather immature.  If
the docs were good and a templating library was up to date, I probably
would have kept playing around.  For now I decided to stop... :(

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Don Dailey
Sent: Friday, December 15, 2006 9:17 PM
To: Łukasz Lew
Cc: computer-go
Subject: Re: [computer-go] Fast Board implementation

On Sat, 2006-12-16 at 01:47 +0100, Łukasz Lew wrote:
 On 12/16/06, Don Dailey [EMAIL PROTECTED] wrote:
  Another report on D programming.   It appears that D programs are
about
  1.5X slower in general - at least for what I'm doing.
 
  At one point I reported about 7% slower, but that was a mistake on
my
  part.
 
  The difference in programming effort and just plain clean code is
quite
  large - D was well designed and after doing a lot of programming in
D,
  it's a real drag going back to C!
 
 Is it?
 I mean what features of D You've used that make it inconvenient to go
back to C?

A good part of it is just the extra syntax in C.   D isn't expressive
like Ruby or Python, but it is expressive enough that you are willing
to
try something that you might not want to in C without getting a cup of
coffee first.   

Even just the foreach loop, which is a petty thing I admit, but it
makes
life easier and the code looks cleaner.   

You can get rid of most of the pointer ugliness.  I really like that.
My C 
program is full of functions where you pass pointers to something:

  MakeMove( position *p, mv_t mv )

   p-bd[mv] = 1 + (p-ctm  1);

  etc...

In D you declare arguments as in, out or inout and forget about
the
pointer syntax such as  x, *x  blah blah blah. When you have a lot
of
complex expressions this gets rather convoluted in C.

arrays are real nice - you can slice and dice them.  You can sort them
without
all the setup code of c.   You can sort arrays of structs by putting a
comparison
function right inside the structure.

Most of these things can be done in C with extra setup code.   You
don't
need foreach loops, you can add a couple of lines of code and get the
same functionality in C.But the author of D payed attention to all
the little annoyances of C and fixed many of them.   And he fixed a lot
of stuff that 
generates bugs.   You can write code a little faster in D, but you can
write finished bug-free code a LOT faster.

It's a whole like of little things like that.  Array concatenation,
associative arrays,  dynamic arrays, etc.   Associative arrays  is a
killer feature even though every language has libraries - it's not the
same as having it built into
the language.   

I probably wouldn't use associate arrays in parts of the program that I
expect to port to C,  but it's hard to live without associative arrays
and I've always wanted them in C.

Here is a good page to give a quick comparison with C:

  http://www.digitalmars.com/d/comparison.html


- Don




 




 
  But it appears that you can have your cake and eat it too by just
making
  a low level library in C,  and doing most of the other stuff in D.
D
  and C are link compatible and there is no effort in making this
work -
  it just works.
 
  I have indeed been able to experiment more quickly and easily doing
it
  in D, so I have come up with what seems like a nice formula:
 
1.  Start by doing everything in D.
2.  Optimize and experiment.
3.  When you are happy,  redo the low level stuff in C.   It will
  link
right in.
4.  You can still continue to experiment.
 
  Porting to C from D is quite easy because D is pretty much a
cleaned up
  version of C.