I found it little hard to program the gobot to recognize the status of
the groups.

However it does not fill eyes. It's logical structure is that:

a) first it of course checks is the proposed random coordinates
already reserved.

b) second it checks if that particular location is a friendly eye.
I.e. it does not fill own eyes. (this is why it has hard time to fill
the kous, btw)

c) then starts the hard part, because it need to count the liberties
and does it take away the last liberty of opponent's groups. If it
takes, opponent stones are removed. (this require's quite extensive
looping, I have in this function some 4×40 iterations and variable
amount of secondary iterations, although I am unsure how much is
enough.)

d) In fourth step it checks if it tries to play suicidal move inside
opponent's ponnuki, because that is illegal (it equals to passing).

5) and fifth and final stage it count's whether it is going to fill
the last liberty of own group. And if that is the case it removes the
friendly dead stones. New Zeland rules allow suicide for larger than
single stone groups.

I do not see how this algorithm could be made significantly more
simple. Perhaps status recognition function could be done smarter and
thus counting liberties would require less iterations, but I have no
idea how to do that. (Hmm... perhaps there is one idea that I might
try.)

That time tagging sound's good idea. The length of playouts is perhaps
in average close to 105 moves. Sample of one gave 96 moves.

   –Jouni


On 9 December 2011 01:13, Álvaro Begué <[email protected]> wrote:
> I can't possibly imagine what the CPU is doing for a whole second in a
> single playout. PHP is slow, but not *that* slow. I bet you can get
> around 1000 "light" playouts per second even in PHP. Perhaps you can
> add some timers to your code and see where the time is going.
>
> How long are your playouts? From an empty 9x9 board I seem to remember
> the typical length of a playout was something like 105 moves, although
> it's been a while since the last time I looked at that number. If your
> number is much higher, perhaps your simulation is filling eyes.
>
> Álvaro.
>
>
> On Thu, Dec 8, 2011 at 5:28 PM, Jouni Valkonen <[email protected]> 
> wrote:
>> Sorry, but I forgot the link...
>>
>> http://valkonen.kapsi.fi/tessa.php
>>
>>    –Jouni
>>
>> On 9 December 2011 00:27, Jouni Valkonen <[email protected]> wrote:
>>> I wrote version 1.0 from Tessa the Gobot. It still has limited playing
>>> functionality, but it can calculate one (1) playout in ca. two seconds
>>> (in 9×9 board, I have not dared to try it with 19×19!). As I do not
>>> know yet Java enough, I wrote it with PHP, hence the slowness. I
>>> expect that it will be at least ten fold faster when I translate it
>>> into Java.
>>>
>>>     –Jouni
>>>
>>>
>>> On 8 December 2011 11:24, Jouni Valkonen <[email protected]> wrote:
>>>> Hallo,
>>>>
>>>> I started to study Java in school, and I would like to learn it by
>>>> writing a Monte Carlo gobot algorithm as learning project. It does not
>>>> need to be sophisticated, but is there any documentation about the
>>>> very crude and basic principles of Monte Carlo search algorithm?
>>>>
>>>> I already found this:
>>>>
>>>> http://senseis.xmp.net/?UCT
>>>>
>>>> which is a good starting point, but I would ask any other basic level
>>>> Monte Carlo and UCT introductions, if available.
>>>>
>>>>   –Jouni
>> _______________________________________________
>> Computer-go mailing list
>> [email protected]
>> http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
> _______________________________________________
> Computer-go mailing list
> [email protected]
> http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
_______________________________________________
Computer-go mailing list
[email protected]
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Reply via email to