Igor Polyakov | 15 Apr 13:24 2015
Picon

Seki in playouts

I have an interesting problem with my program.

1. I have self-atari detection, but self-atari is allowed for smaller 
groups like the two stone group because it can make a nakade.
2. Self-atari detection means that in most playouts the program will let 
the black player suicide, but it won't let the white player suicide 
because the group is too large.
3. Therefore, it has white winning playing D9 or D7 because the playouts 
have black suicide
4. It has to squeeze right now because the seki loses the game, while 
the squeeze wins it.
5. But it misses this because squeezing leads to a few accidental losses 
in playouts where black plays something that white doesn't respond to

I have thought about this and there's a few solutions:

1. Allow the program to pass late in playouts. In the current 
implementation this leads to accidental pass-pass playouts when the game 
is not finished and the program is poor at evaluating boards with dead 
stones on them.

1a. Implement a special passing type that doesn't end the game, but only 
allows you take back ko or just let your opponent finish their game when 
you still have legal moves left you don't want to take

1b. Make the program good at deciding dead stones somehow and not worry 
about pass-pass in playouts as long as it's late enough (what's late 
enough? 75% of the board filled?)

2. Have custom seki logic that will just prevent you from playing a 
(Continue reading)

Igor Polyakov | 14 Apr 12:36 2015
Picon

UCB-1 tuned policy

I implemented UCB1-tuned in my basic UCB-1 go player, but it doesn't 
seem like it makes a difference in self-play.

It seems like it's able to run 5-25% more simulations, which means it's 
probably exploiting deeper (and has less steps until it runs out of room 
to play legal moves), but I have yet to see any strength improvements on 
9x9 boards.

As far as I understand, the only thing that's different is the formula. 
Has anyone actually seen any difference between the two algorithms?
_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Ray Tayek | 11 Apr 04:27 2015
Picon

A Data-Driven Exploration of the Evolution of Chess

http://games.slashdot.org/story/15/04/09/2228218/a-data-driven-exploration-of-the-evolution-of-chess

--

-- 
Honesty is a very expensive gift. So, don't expect it from cheap people 
- Warren Buffet
http://tayek.com/

_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Nick Wedd | 6 Apr 19:48 2015
Picon

Congratulations to CrazyStone!

Congratulations to CrazyStone, winner of yesterday's KGS bot tournament on 13x13 boards!

As usual I welcome your comments and corrections.

Nick
--
Nick Wedd      maproom <at> gmail.com
_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Dave Dyer | 3 Apr 11:00 2015
Picon

Re: CGOS future


>It's easy to get 20+ ppl saying OMG I want to help.  But I need at
>least 1-2 more core devs outside me, especially if I'm working in a
>language outside my zone.

All I can say is, if you need 1-2 outside collaborators, you better
have a plan B.   Everyone dances to their own tune, and no one wants
to follow anyone else's directions unless there's an agreed higher
calling (such as getting rich, which is clearly not applicable here).

_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Joshua Shriver | 3 Apr 03:02 2015
Picon

CGOS future

BTW I greatly appreciate all the input! and put in TODO.txt

Since I do plan to make this open source and ON github.

Guess I'm looking for "helper developers"

I own like 12 servers so can host, while keeping the solid boardspace in tact.

In fact I just bought 2 more servers, 1 real 1 replication.

Again I'm curios of language??

I'm top at C/Perl for "real contimplation"

BTW I am a Linux guy true and true since 1994.  But I am DAMN tempted
to write it in C#. Especially w/ MS OSS .Net framework. WE always had
mono but right now. That is where I am REALLY leaning.

I don't even know C#,  but good at JAVA despite my hatred for the language lol.

My goal is to move away from interpreted languages and release SOLID
.exe or bin for unices.

Client viewer, client host for engine.

Seriously I am ok now, financially, and my hobby projects are mature.
I have time to REALLY drive in and make CGOS what it deserves. But
again it needs a pure re-write lol

BTW as the future maintainer, given any/all emails that come from this
thread. I ALSO appreciate emails from people recommending people.

It's easy to get 20+ ppl saying OMG I want to help.  But I need at
least 1-2 more core devs outside me, especially if I'm working in a
language outside my zone.

So I also ask fellow devs to post comments on what language you think
would be good for now/future prospects.

-Josh
_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
N.N. | 2 Apr 14:10 2015
Picon

Is there a general (and english) go mailing list.

Hello,

I searched the web for more than one hour and didn't fin a general go
mailing list.
I found lists but they belong to clubs academy's or federations.

Thank you for your time.

Alain.

--

-- 
Complex numbers: They are all fun and games until someone loses an i.
_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Remco Bloemen | 1 Apr 18:28 2015

Some observations on implementing rule 2/4.

I just implementation of 'Rule 2/4' [1] and have some observations I
would like to share.

First, the corner case can be eliminated if we consider four 'virtual'
stones of the same colour on the diagonals just beyond the board (i.e.
on coordinates (-1, -1), etc.). With these stones included, the corners,
edges and centre eyes all need to have at least two diagonals set.

If we have booleans (tl, tr, bl, br) standing for the occupancy of the
respective diagonals, then rule 2/4 can be expressed by or-ing each pair
of diagonals:

(tl & tr) | (tl & bl) | (tl & br) | (tr & bl) | (tr & br) | (bl & br)

This has 11 operations. We can simply this using a Karnaugh Map:

             bl br
          00 01 11 10
       00  0  0  1  0
       01  0  1  1  1
 tl tr 11  1  1  1  1
       10  0  1  1  1

We can see that the minterms require at least six components (like
above) but the maxterms can be done in four groups:

(~tl & ~tr & ~bl) | (~tl & ~bl & ~br) | (~tr & ~bl & ~br) | (~tl & ~tr &
~br)

Negating with De Morgan's law gives:

(tl | tr | bl) & (tl | bl | br) & (tr | bl | br) & (tl | tr | br)

Which again has 11 operations, but this time we can eliminate common
subexpressions:

t = tl | tr
b = bl | br
(t | bl) & (tl | b) & (tr | b) & (t | br)

Resulting in only 9 operations, shaving off two.

In actual C++ code that would be:

const BoardMask eyelike = free &
	(player.up()    | BoardMask::bottomEdge) &
	(player.down()  | BoardMask::topEdge) &
	(player.left()  | BoardMask::rightEdge) &
	(player.right() | BoardMask::leftEdge);
const BoardMask tl = player.right().down().set(BoardPoint::topLeft());
const BoardMask tr = player.left().down().set(BoardPoint::topRight());
const BoardMask bl = player.right().up().set(BoardPoint::bottomLeft());
const BoardMask br = player.left().up().set(BoardPoint::bottomRight());
const BoardMask t = tl | tr;
const BoardMask b = bl | br;
const BoardMask rule24 = (t | bl) & (tl | b) & (tr | b) & (t | br);
const BoardMask eyes = eyelike & rule24;

where BoardMask is basically a bool[19][19]. The whole thing should
compile to a small number of SSE instructions: only shifts, ANDs and
ORs. Notice that the whole board is processed in one go without any
branching or looping.

[1] http://senseis.xmp.net/?RecognizingAnEye

I'm new here, so feedback, criticism and/or encouragement is much
appreciated!

— Remco
_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Nick Wedd | 31 Mar 12:29 2015
Picon

April KGS bot tournament, 13x13

The April KGS bot tournament will be this Sunday, April 5th, starting at 
08:00 UTC and ending by 14:00 UTC.  It will use 19x19 boards, with time 
limits of 9 minutes each plus fast Canadian overtime, and komi of 7.5. 
There are details at http://www.gokgs.com/tournInfo.jsp?id=955

I apologise for the short notice. March seems to have passed unusually 
fast.

Please register by emailing me, with the words "KGS Tournament
Registration" in the email title, at maproom <at> gmail.com .

--
Nick Wedd      maproom <at> gmail.com
_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
Dave Dyer | 29 Mar 16:42 2015
Picon

Re: fast + good RNG


>
>Anyway, it's very easy to make a fast PRNG these days. 

A couple words of caution about hacking PNRG.   

Back in the stone age of computing, some mavens from the triple-i movie
group cooked up a "galaxy simulator" which generated pictures of spiral
galaxies based on a numerical model.  The capability to make pictures was 
rare at the time.

The pictures sucked.  After lots of hunting for flaws in the model,
and tweaking it, the real cause for the poor quality was determined to be
that fortran's "random" numbers weren't very good.  Substitute a better
PRNG, and beautiful pictures emerged.

--

On a similar note, working with a UCT robot for a blokus clone at
boardspace.net, I found that tiny changes in the way PRNG's were used
had measurable effects on the quality of play.  Not necessarily better 
or worse, just different.

--

So if you're going to hack the PRNG, you should retain the ability
to use a gold standard PRNG instead of your faster-better-cheaper
model, and you should use it once in a while, just to be sure you're
not introducing hidden flaws.

_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
folkert | 29 Mar 11:50 2015

fast + good RNG

Hi,

I measured that std::mt19937_64 (the mersenne twister from the standard
c++ libraries) uses about 40% cpu time during playouts.

So I wonder: is there a faster prng while still generating good enough
random?

Folkert van Heusden

--

-- 
Nagios user? Check out CoffeeSaint - the versatile Nagios status
viewer! http://www.vanheusden.com/java/CoffeeSaint/
----------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
_______________________________________________
Computer-go mailing list
Computer-go <at> computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Gmane