Pyramid go 🔺

I think the tricky and subjective part is still to say what exactly constitutes a “boundary” or even just which graphs could possibly possess a boundary in some reasonable sense. Various precise, mathematical definitions are possible, but whether they properly capture some intuitively understandable notion of a boundary is more difficult. I think it is a debatable issue, with potentially several different schools of thought.

I would find it interesting to play on the surface of a 3-dimensional object, for example, the surface of a dodecahedron, which has a graph that can be flattened out in planar form:


Every point is fully symmetric to another, so it would seem be to a case where a boundary does not exist. However, what if we modified this graph slightly to add a vertex and a few edges?


Does this new graph now have a reasonable boundary? Are the ten red points furthest from the center of the picture a proper boundary for this graph?

As another example, consider the graph created by the vertices and edges of a pentagonal trapezohedron (the shape of a “d10” die):


Does such a graph have a reasonably defined boundary?

Another simple approach for specifying “pyramidal like” point values to general graphs would be to (somewhat arbitrarily) pick one or more “central point(s)” and then assign values based on the distance from those central point(s). On a regular square grid, this could give the same effect as the general rule proposed by @martin3141 earlier, and hence this rule is not consistent with the original Pyramid Go.

1 Like

I think @ArsenLapin1 was simply suggesting that we can decide for ourselves what the boundary is, i. e. we define a “graph with a boundary” to be a graph together with a special subset of vertices that we call the boundary.


Yes, exactly. I was talking about defining the boundary manually / arbitrarily.

Defining the center instead of the boundary can be done too, of course, but that couldn’t result in the same values as those given for pyramid-go in the first post. It would result in the same values as those with the “excentricity” conditions given above.

If you want to get the pyramid-go values according to the distance from the center, then you need to change the definition of “distance”. The graph distance, in a grid, corresponds to the “L1 distance” or “Manhattan distance”. To get the pyramid-go values you’d need to use the L∞ distance. Instead of using the sum of the horizontal and vertical absolute differences between two intersections, use the maximum of the horizontal and vertical absolute differences.

As for using the vertices of a dodecahedron as the board (or equivalently, the faces of an icosahedron): the game Hunt the Wumpus is played on that graph.


Is the intuitive boundary not just the outside nodes/edges of your graph?

Whether one can always define an “intuitive” boundary seems tricky.

One can imagine defining it like a walk or path in the graph (not repeating edges) that as a curve is either a simple closed curve (so allow a cycle start point = end point) to which one can appeal to the Jordan curve theorem to define an inside and outside, and ask for all the vertices (not on the curve) to lie within the inside. The curve (edges+vertices) would be the boundary.

I guess the distance could be the adjacency from one vertex to another (minimal number of edges to join with a path) or something.

If that’s not possible, then every (or no) edge could be the boundary. Either way it’s probably not an interesting case for pyramid go.

Of course these rely on the presentation of the graph, not necessarily intrinsic to the graph.


In the most general approach, one could just manually/arbitrarily specify the point values for each vertex.

My point is just to ask which graphs would have a subset of points that could be reasonably called a boundary. I think it is unavoidably a subjective question for general graphs.

Which graph are you referring to? This first one?

Of course, one could arbitrarily call the “outer” ring of five points in this graph as the boundary, but it seems a bit artificial, since the graph is symmetric and corresponds to the surface of a dodecahedron. One could also pick randomly one or more points and call those the boundary.

1 Like

I mean sure everything in this context is arbitrary and one could

I was just saying, if you give me a graph in a plane, one natural idea of a boundary, like the boundary of a go board is the outer edge.

I’m not sure exactly what you mean by symmetric. Rotational or do you mean that the set of graph isomorphisms is like a permutation group on the vertices or something kind of stronger like that?

Edit: I guess one can’t freely permute all vertices independently, but maybe it’s supposed to be maximal in some way? Or just that all the degrees of the vertices are the same.

I just tried your custom scoring tool, playing a reasonable-looking game against myself, and got a surprisingly close score:

1 Like

I mean symmetric in the sense that the perspective of the graph (not in the sense of this specific planar representation, but rather the connectivity defined by its edges and vertices) is the same from any node.

Selecting the “outer” five vertices as the boundary set is functionally equivalent to selecting any other five vertices that form a 5-vertex cycle on that graph. The graph is equivalent to a dodecahedron, and the 5-vertex cycles correspond to each pentagonal face.


Does this work with graphs? Doesn’t it require different measures for distance (e.g. distance per dimension)?
I know Manhattan distance as “Maximumsnorm” (maximum metric) i.e. as the maximum of all distances per dimension. So if the distance in dimension x is bigger than the distance in dimension y, the Manhattan distance is the distance in dimension x.

How would we get something like multiple dimensions in graphs?

Edit: During a quick dive into Wikipedia I’ve learned, that what I know as “Maximumsnorm” is apparently called supremum norm or uniform norm in English and there’s a difference between a norm and a metric. I’ll have to look at that again.


I like that idea.

A graph, in the typical mathematical sense, is just defined by a set of vertices and a set of edges between those vertices. As generalizations, one could also specify weights and/or directionality on the edges, and the length of a path through a graph is usually defined as the sum of the edge weights on that path (if edges don’t have weights, one could just count the number of edges, i.e., assigning “1” to each edge), and distance could be defined as the length of the shortest path between two vertices.

In order to apply something like L1, L2, L∞, or some other distance metric, one would need to choose somehow to represent a graph within a metric space. With some graphs, like that corresponding to a regular square grid, it seems natural to align the vertices with the integer coordinates in the two-dimensional Euclidean plane, such that each edge is of length 1 and orthogonal to the axes. With general graphs, it is not so clear how to do so and it might be a bit arbitrary. However, one could always define a graph by first specifying a set points (corresponding to the vertices ) within some metric space, and then specify the edges with rules depending on the distances between the points.

1 Like

I’m sorry. You’ve answered the question I’ve asked, but I’ve already dismissed the possibility of doing it like that (as you said, it can be quite arbitrary). It’s my fault, I should’ve put more time into formulating my thoughts.

I don’t think it would be meaningful to just apply a metric space to the nodes, but let me get back with some images.

So, “Manhattan distance” was also what I was thinking when I saw Martin’s attempt to generalize the scoring rule, and it works in certain cases like the 19x19 grid. But as far as I know we’d need (euclidian?) coordinates for Manhattan distance and in general coordinates don’t matter for the game of go.

This board shows, that although the coordinates of the intersections are not the same as in AntonTobi’s original post, it could be used to play pyramid go without changing the game.

That’s an easy case of changed coordinates and they could easily be mapped back to the original ones, but as Yebellz pointed out already, this is not always the case:

What would be the coordinates here? Which point is in the center of this goban? Note that the game doesn’t change by moving a point. Each intersection has still the same three neighbouring intersections. By the way this also shows that it isn’t that easy to define the borders of the graph.

So how do we get what-Manhattan-distance-does-on-a-default-NxN-grid in general without relying on arbitrary coordinates?

And something else to think about: What should be the result of the scoring rule for other boards? How would you score this board?


I think there’s a standard metric on graphs, that uses the length of the shortest path.

Or at least connected graphs, but the disconnected ones maybe are fine too if one defines some conventions for adding “infinity”

1 Like

I mention this in my post

For our purposes, one could always ensure that there is always a reachable reference point (like a “center” or “boundary” point) in each part of the graph. Or, one could assign such points with infinite distance to some extreme (maximum or minimum) but finite value. However, I’m not sure if that would really capture a reasonable notion of “Pyramid Go”, since then some disconnected parts of the graph (with all points not connected to the reference) would be assigned the same value.

I think this is a case to demonstrate that arbitrary decisions could be made. Perhaps one could simply define just the outer edge as the boundary, and then the point values are the same as for regular pyramid Go, but with just a central part of the board removed. Another possibility is to call both the inner and outer edges as the boundary, and then there would be a sort of ridge of larger points that runs around the board in a square shape.

On that board, it still seems reasonable to say that the inner ring is like a boundary. However, what if the board is punctured by multiple smaller gaps?

How should one generalize the pyramid scoring rule to this?


Is A5 a valid move? Or is A4 connected to A6? Not that that would help me score the board, but I wonder nonetheless.

Yes, A5 is an intersection on that board (there is a thread where we play on it, I’ll let someone not on their phone link it).

As the “creator” of pyramid go let me say that there is nothing particularly amazing about this specific weighting, so there is no real “spirit of pyramid go” that is worth trying to capture. I chose a weighting which I thought was easy to remember (based on 1st line, 2nd line etc) and also would have some interesting gameplay implications (center is more valuable than corners).

On the 19x19 board there are many other weightings that also have those two properties, and once we start to look at other graphs there are even more possibilities. So feel free to entirely forget about the “pyramid” constraint and suggest other fun weightings as well!


You’re right whoops :slight_smile: I did miss the last bit of that paragraph :slight_smile:

1 Like

Here is an idea:

We call a u-v-path pyramidian if it is the unique shortest path between vertices u and v.

For a given u-v-path p, the traveled pyramid distance along p is the maximum length of pyramidian subpaths of p.

For two vertices u, v the pyramid distance between u and v is the maximum traveled pyramid distance along shortest u-v-paths.

Assume we are given a connected graph with a center vertex c and a pyramid value V of this center. Then we can define the pyramid value of any vertex w as V - pyramid distance between w and c

Observe that all single-edge-paths are pyramidian. On a traditional square board the pyramidian paths are all who go “in a straight line”, and the resulting point values coincide with pyramid scoring (provided that we define the center with the correct center value). For the board with random holes, there are some interesting results:

We can of course define the value of the center in such a way that the minimum value among all vertices is 1. But in this example it would make a big difference, compared to the pyramid values on a 9x9 board without holes.

I think this example demonstrates that it is possible to craft Definitions that are applicable to any graph such that, when applied to square boards, the results coincide with pyramid scoring. But the definitions get complicated and counter intuitive rather quickly.