Rhombitrihexagonal Go

I am a total n00b about ML, but why does board shape matter for a neural net?

Isn’t it just a bunch of inputs and outputs? I thought to a neural net all boards just become 1-D arrays!

Imagine that in order to become a strong go neural net, one of the things you have to learn is to recognise the shape “empty triangle”. Now, what is an empty triangle? It’s the shape A1-A2-B1. Or the shape A2-A3-B2. Or the shape B1-B2-C1. Or the shape…

Well, there’s actually 1296 different possible empty triangles.

So is that 1296 patterns that the neural nets has to learn, just to recognise an empty triangle??

Yes, it would be, if the neural net had no notion of the board’s geometry.

That would be terribly inefficient; and to train the neural net you’d need to show it many games for every one of those 1296 possible empty triangles, since it wouldn’t generalise the notion of empty triangle from one set of coordinates to the next.

So we don’t do that. Instead of a simple neural network (aka “fully-connected neural network”), we use a convolutional neural network.

“Convolutional” basically means “with sliding windows”. So now we have many windows that slide over the goban. If one of these windows learns to recognise the shape “empty triangle”, then this window can now recognise the empty triangle everywhere on the board.

This idea was applied to computer vision before it was applied to go. Replace “empty triangle” with “cat’s ear” and you’ll understand we also use convolutional neural networks rather than fully-connected neural networks, when we want to learn to classify cat pictures and dog pictures.

These windows slide are easy to implement on a simple 2d grid. If the board is a weird graph, we need the shape of the windows to make sense on the graph.

5 Likes

This presentation by Petr Baudiš might explain better:

Explanation of convolutional neural networks begins as 24:48.

Edit: Errrr this is not the video that I thought. There was another video of Petr Baudis where he really went into a detailed and very easy-to-understand explanation. But I think in this video his explanation is not as good because his public is made of computer scientists.

1 Like

I wonder why the initial players didn’t appear to look for star points (“4,4”, “3,4”) to play on?

5, 4 o’clock

1 Like

I really wanna play a round!

2 Likes

5,8

4,4 (hex 4, 4 o’clock) appears to be a first-line move.
3,4 (hex 3, 4 o’clock) doesn’t exist. The only two intersections on hex 3 are 6 o’clock and 8 o’clock.

I play at 15,2

1 Like

6, 10

1 Like

6, 4

1 Like

6,6

10, noon

1 Like

15,6

5, noon

1 Like

6,noon

5, 10

1 Like

9,10

6, 2

ahem

Links

http://www.di.fc.ul.pt/~jpn/gv/boards.htm

^ this looks like a real treasure trove of ideas, btw.

Go Zendo - #844 by martin3141

Collective development of a server for variants - #6 by martin3141

5 Likes

One other that I thought about is to take the dual graph of Penrose tiling (esp. the kite & dart one), which should also give every intersection four liberties:

The kite & dart tiling is nice, since there don’t fit six shapes around a single point, so the internal shapes of the dual graph will be triangles, squares and pentagons. It’s a bit chaotic, though.

9 Likes