Skip to content
Little GolemMake your next move.

new Havannah bot (still highly experimental)

Public forum discussion.

Hex, Havannah

#1 · Johannes Waldmann

13 Sep 2010

Ring-Of-Fire (Player #22146) burns CPU cycles

for playing Havannah on (really) small boards.

Send challenges on size 4 (and possibly 5). Have fun!

#3 · z

14 Sep 2010

@Johannes, how much time is allocated for each move?

#4 · Johannes Waldmann

14 Sep 2010

At the moment, time per move is effectively random

(I guess 10 sec .. 10 min).

Depends on number of active games, board size,

and status on the board.

I will try to come up with something more predictable.

Suggestions?

#5 · z

14 Sep 2010

Ring-Of-Fire performs better than I do on a size-4 board :) Good job!

Is it UCT-based or a traditional, non-MC bot?

#6 · Johannes Waldmann

14 Sep 2010

Thanks.

I added some info on the algorithms to the player profile (linked above).

If you're seeing a blatant error in the bot's play,

then please send him a message (like: game X, move Y,

was: Z, should be: Z'), and I can use these for testing.

#7 · z

14 Sep 2010

Cool. I have yet to see any obvious mistakes; I actually want RoF to point out my blunders :)

BTW, can you share some performance stats of RoF, such as number of nodes searched per second? And does it use an incremental algorithm to detect cycles?

#8 · Johannes Waldmann

14 Sep 2010

Performance: maybe 10k playouts per second,

but there's really a huge variation

(lot of forced moves => likely early win =>

shorter playouts => more per second).

I am doing like 50 playouts and one static evaluation per tree node.

Incremental ring check: yes. Actually, my implementation is incomplete

at the moment (because of laziness - actually it's called

procrastination)

but the omission does rarely show on small boards.

I will work on the static evaluation next, and this will hopefully improve play on larger boards. Well, for bots, "large" is anything beyond 5...

#9 · Johannes Waldmann

15 Sep 2010

Ring-of-Fire is now accepting size-6 challenges as well.

(Don't expect too much of it - but at least I'll collect

a series of interesting failures.)

PS: perhaps other bot programmers can help me with these:

1. how to find out whether a game is played with the swap option?

(is it simply this: if size <= 8 then swap ?)

2. how to find out whether a game invitation is for a rated game?

#10 · z

15 Sep 2010

screen scraping?

#11 · somar96

15 Sep 2010

invited him - free points for the bot! :-)

#12 · Greck

15 Sep 2010

somar96, invitations are always non-rated.

#13 · somar96

15 Sep 2010

I rather meant free win / +1 win in the stats, I realised that they were unrated

#14 · Johannes Waldmann

15 Sep 2010

@z: screen scraping: that's basically what I do. I parse the HTML tree,

using HXT and

that's very convenient.

@gregorio: thanks, then it's easy.

I just want to make sure that Ring Of Fire does not accidentally

play rated against Deep Fork, or Thomas (= DF's author), or me;

since all are from the same institution, and it would be difficult

to prove that such a game wasn't doctored.

@all: swap iff (size <= 8)? - currently RoF does not swap at all.

#16 · Ring von Fehler bot

29 Sep 2010

I would like to thank all of you who played Ring-of-Fire.

If you have specific comments on its playing style (that is, its errors),

then please post here, or send private message (LG/email).

I'm specifically interested in comments on games on larger boards (>= 6).

I think generally R-o-F is too optimistic in the beginning

(playing too much in the center of the board).

Part of the problems may be related to an even/odd effect

of the static evaluation: all other things being equal,

the board tends to look better for the player who moved last.

This creates some bias if evaluations from different tree depths

(some even, some odd) are compared. This problem

is perhaps known from other games? What could be done about it?

#17 · christian freeling

30 Sep 2010

Attacking secure connections is a basic mistake: if it does not result in some sort of tactical advantage, it just speeds up the opponent's connection and makes things worse than they were before. I see that quite a lot.

#18 · somar96

30 Sep 2010

is is too good for me lol

#19 · Richard Pijl

30 Sep 2010

odd/even effect can be cancelled out by adding a 0.5 stone bonus to the side to move.

#20 · Ingo Althofer

30 Sep 2010

Hi Richard, hi Johannes,

are we speaking about (Monte-Carlo) playouts?

How can one add a "0.5 stone bonus" in such

an environment?

Ingo.

#21 · Gambler the Bot

30 Sep 2010

Check out the other thread on the new Gambler where Johannes explained his evaluation ...

#22 · Ring von Fehler bot

6 Oct 2010

@Christian: "attacking secure connections is a basic mistake"

Thanks for the observation. I guess I'll have to do something

about (local) patterns. (Avoid attacking a secure connection,

avoid closing a connection unless if attacked.)

I just implemented this feature: at this URL

http://nfa.imn.htwk-leipzig.de:1465/ you can see R-o-F's current status

(that is, the principal variation in the current game tree).

I will add some navigation (to get into non-principal branches).

(advertisement: with happstack,

implementing this feature was really a matter of less than 15 minutes,

and roughly the same number of lines of code-)

Yes, I guess this could be used for cheating, but then

I think it's funny, and it might lead to some bug reports

("your static evaluation/principal variation is way off base"),

and R-o-F's (missing) strength on larger boards

does not really require any cheats to win. (For now ...)

#23 · MarleysGhost

6 Oct 2010

I suggest that the diagrams at nfa...:1465 would be slightly easier to read if a capital X or capital O were used instead of the # sign. (I assume the # sign denotes the most recently placed stone.)