Things About NAP Scores
I've been thinking a lot about asymmetric graphs this summer. After making my game NAP, I've been thinking about the best way to make asymmetric graphs. The game works like this: You're given some symmetric graph and you need to add vertices and edges economically in order to make the graph asymmetric (i.e. make the graph have no nontrivial automorphisms). I say economically because the goal is to minimize your score, where a new edge gives you 1 point and a new vertex gives you 2 points. It's a fun daily puzzle and good exercise for those geometric brain cells. But naturally, I can get a bit competitive with it. It's already tricky sometimes to get a reasonably low score for many of the puzzles, but I want the best score.
Since each starting graph is different, there's no way to easily define the best score arbitrarily. Instead, we might ask a better question:
In other words, we want a function W(n) such that if we start with a graph that has n vertices and we score greater than W(n), we are certain we can do better.
Before we start, it'll be helpful to find the smallest asymmetric graph. To do so, we'll start with the following theorem.
Proof.
IfNow we can start looking at graphs with a small number of vertices n. When n = 1 or n = 2, it's easy to see there are no asymmetric graphs (ignoring, for convenience, that the graph of 1 vertex is technically asymmetric; we'll see why it's nice to call this symmetric later). When n = 3, there are only four graphs we need to check:
Similarly for graphs of five vertices, we can look at those graphs which are connected and have
Finally, for graphs of six vertices, we can use the same techniques to find four graphs that are connected
and have
We can see that the graph in blue is the cheapest asymmetric graph, as in it has the fewest nodes and edges. So, when we are solving for W(n) for n < 6, we might consider working towards this cheapest asymmetric graph. Because of this, we will call this graph the cheap ass. graph (for cheap asymmetric graph), or C for short.
To start, when n = 1, we only have one choice for the graph. We need five vertices and 6 edges to get to C, so both the best and worst score for starting with a graph of one vertex is W(1) = 5*2 + 6 = 16. For n = 2, we would be lucky to start with two vertices connected by an edge, but we must consider the worse case of two vertices not connected by an edge; in this case, we would need four vertices and six edges, for a total of W(2) = 4*2 + 6 = 14. Similarly, for three nodes we would start with three unconnected vertices, so we'd need three vertices and six edges to get to C, meaning W(3) = 3*2 + 6 = 12.
To recap, we have
W(1) = 16
W(2) = 14
W(3) = 12
With n = 4, things get more interesting. We can notice that if we start with four unconnected vertices, we'll need only two vertices and six edges to get to C, giving us W(4) = 10. But, since our goal is to find the worst possible starting graph with four vertices, we can perhaps look for a graph that isn't a subgraph of the eight six-vertex asymmetric graphs above. The only such graph with four vertices is the complete graph K₄. Here's where things get tricky: starting with K₄, what's the best possible score?
Because K₄ is not a subgraph of any of the asymmetric graphs above, we know we must have at least seven vertices, so let's go ahead and add the three more we need. Now our goal is to connect these three vertices to the K₄ with the fewest amount of edges. Well, we clearly can't use fewer than three edges, since if we could, we might as well not use one of the added vertices. We'll first notice something critical:
Here, 'interacting uniquely' means that we need to add an edge to each starting vertex, connecting it with some unique subgraph. For example, we can try adding the three nodes to our K₄ without interacting with all but one starting vertices:
Here, we can see we at least need to add a fourth edge. Doing so allows us to make this configuration:
Before we go to five vertices, we naturally notice a pattern. Starting with zero vertices and going up, we have scores of 18, 16, 14, 12, and 10 for n from 0 to 4. It becomes really tempting to say W(n) = 18 - 2n. Let's see how long we can maintain this model...
For a starting graph of five vertices, we first have to ask what the worst possible starting graph is. Starting with 5 unconnected vertices is actually kind of nice, since we're only one vertex and six edges from C, so a score of 8. So we'll consider the other extreme: the complete graph K₅. Should we consider K₅ minus any edges, since this might be as hard as solving K₅ but in the end will need one extra edge? Well, at least in this case, it seems like no; removing an edge would make it closer to solving the K₄. So, let's find the best score for K₅.
It's actually pretty hard to find the best score, so let's first find a way to anisocrate it with a decent score. One way to do this is with what I call the Tall Hat Method. I picture in my head a party of wizards standing around a magical pentagramal carving in the floor, preparing some kind of ritualistic spell or something. These wizards are pretty petty, though, and like to outclass each other by wearing a taller hat than their neighbor. It looks like this:
It's clear that no hat is isomorphic to any other hat, which means that the original vertices can no longer permute, and we made sure to not add any symmetry. Without a solid proof, we'll claim that this method of adding vertices and edges does break all symmetries. This means that for any complete graph (with four or more vertices), we can anisocrate it with tall hats. We can do this on K₄ and notice that, needing only two hats, we have three added vertices and five added edges, making a score of 11. Not optimal, but not bad either. On our K₅, we only need three hats, so that makes six added vertices and nine added edges for a score of 21. Indeed, we can continue this pattern for any complete graph of n vertices, noticing that the kth hat has a score of 3k + 1 and doing some algebra to derive a formula:
Work
We notice that the
So, for any complete graph of n vertices, we can say that we can at least get a score of
What I'm about to do is kind of ill-mannered, devious, and vile. I want to make an assumption, without proof, about graphs, so that working with our W(n) function is a bit easier. It's a pretty believable assumption to me, but I'll make it clear when I use it and what the alternative would be if it were false.
Assuming this, we can immediately start to bound W(n).
But I think we can do better. Perhaps we can stick with the hat idea, but consider whether or not we always
need to
add an extra vertex to make a new hat. That is, can we make nonisomorphic hats with the same number of
vertices? Yes! I call this the Antler Hat Method, imagining that during the holiday season, the wizards
festively meet for their magic circle after turning their hats into reindeer antlers. We can partition the
nodes on a hat into two antlers in
Hats h | Vertices of hth Hat | Edges of hth Hat | Score of hth Hat | Total Score |
---|---|---|---|---|
1 | 1 | 2 | 4 | 4 |
2 | 2 | 3 | 7 | 11 |
3 | 3 | 4 | 10 | 21 |
4 | 4 | 5 | 13 | 34 |
5 | 4 | 5 | 13 | 47 |
6 | 5 | 6 | 16 | 63 |
7 | 5 | 6 | 16 | 79 |
8 | 6 | 7 | 19 | 98 |
9 | 6 | 7 | 19 | 117 |
10 | 6 | 7 | 19 | 136 |
11 | 7 | 8 | 22 | 158 |
... | ... | ... | ... | ... |
Things don't actually improve until K₇; the Tall Hat Method gives us a score of 50 whereas the Antler Hat Method gives us a score of 47. A difference of 3 isn't great but it's not negligible. Because this new method, in a sense, recycles hats more and more as n increases, the Antler Hat Method far outpaces the Tall Hat Method for, say, n = 1,000,000,000.
Yet, we can probably still do better. The Antler Hat Method only uses two antlers, but if we used more antlers, we can keep conserving resources, at least when possible. We might call this the Partition Hat Method, because it depends on the number of partitions of the number of nodes. For that matter, we don't even need to just use antlers, we can connect our antlers in unique ways to save on resources. We might call this the Party Hat Method, because we're looking for unique asymmetric hats that have no certain form. And who says we need a new hat for each wizard? Perhaps if we arrange the hats in a certain way, we can reuse old ones. But wait, does each wizard need a hat, or can some wizards maybe share a hat? Okay...it's starting to get really hard to find an optimal algorithm or method to solving complete graphs. Maybe we can shift our focus to other types of graphs.
Cycles
Whereas with the complete graphs, finding an optimal strategy got more and more difficult, with cycles things are really nice. We can prove that for any cycle with six or more vertices, the best score is always 2. Recall that there are no asymmetric graphs with five or fewer vertices, so this only holds for cycles with more than five vertices.
Proof.
We'll first want to show that no cycle has a best score of 1, i.e. adding an edge won't make a graph asymmetric. Well, if such an edge connected v and w, then there would be an automorphism that moves v to w and w to v (think reflectional symmetry still exists in the graph).We can now show a two-move strategy that always works on cycles. Consider some node v, and call the node two places to the right v+2 and the one three places to the right v+3. Connecting an edge from v to v+2 and an edge from v to v+3 creates an asymmetric graph. To prove this, suppose there existed some automorphism A of this graph. Notice that v has degree 4, v+2 and v+3 both have degree 3, and all else has degree 2. By nature of automorphisms, A(v) = v (A must fix v), since there is no other vertex of degree 4. Now, A must either fix v+2 and v+3, or swap them. If A doesn't fix them, then we can see that distance between v+2 and v is 2, while the distance between v+3 and v is 3 from one direction and at least 3 in the other direction. Since automorphisms preserve distance between vertices and fixed points, this isn't possible. If A fixed v+2 and v+3, then we can see that all other nodes must be fixed, and we're left with the trivial automorphism. Thus, the only possible automorphism is the trivial automorphism, and the graph is asymmetric.
Complete Balanced Binary Trees
Complete balanced binary trees (BBTs or perefect binary trees) are an interesting specimen here. They are both super simple
structures and rich in
symmetry. With just the fifth tree, which has
Here is a strategy for guaranteeing
So, we have our score bounded by
It seems visually clear that this should always work, so I'll forgo a proof, perhaps writing it up at a
later time. But this means that
Kill Ratio
In studying balanced binary trees, we saw something really cool: the fifth BBT had 31 nodes and took only 5
edges to anisocrate. Amazingly, those 5 added edges killed 32,768 automorphisms! We can consider what I'll
call
the 'kill ratio' of that binary tree: the ratio between the number of starting automorphisms and least
number of
edges needed to anisocrate,
Firstly, what are we really looking for? Let's define the kill ratio of a graph G as
This function grows really fast, so the larger the BBT, the greater the kill ratio. And that's really cool, because you can have so many automorphisms broken with so few edges. In other words, symmetry is fragile.
So what about other types of graphs? We saw that cycle graphs (for
Archipelagos
We'll look at the kill ratio of graphs of n vertices with no edges, what I like to call archipelagos.
When
This isn't optimal for
This kill ratio is the best yet!

I think that maybe probably possibly any other family of graphs have kill ratios between these cycles and archipelagos. A 'family of graphs' is kind of non-rigorous term, so let's just say it's a set of 'similar' graphs that has only one graph of n vertices for any number n, up to isomorphism. This way, we're able to push the non-rigor from 'family' to 'similar'.
Summary and Open Questions
We started with a dream of finding a function that takes in the number of starting nodes of a graph and
tells us whether we could have done a better job anisocrating the graph or not in hopes of being a better
NAP player. We called this function W(n) and found the upper bound
We moved on to solve more specific kinds of graphs. Cycles proved to be really easy, as we can always
anisocrate
them with two edges. BBTs are nice too, since we can also strictly use edges, and only use
I'm still very curious about this game. Aesthetically, the notion of optimally adding to a graph to break all its symmetries is beautiful and fun and tells us a lot about symmetry. In practice, I think it's just really fun. And in practicality, I think studying this asymmetry may have some implication in group theory by way of Frucht's Theorem, which I'll write about in the future. The asymmetry of graphs is also important in logic trees and SAT solvers in formal methods. All in all, studying the symmetry and asymmetry of this game and these graphs lead to very interesting things and leave me with many questions...
I would love to receive ideas, proofs, counterexamples, mistakes, etc. on any of the topics here, especially Conjecture 1 and Conjecture 2, as well as better or even optimal strategies for anisocrating complete graphs, a function that more accurately describes optimal anisocration of archipelagos, and definitely a tighter bound on W(n). You can send any of this and more to my email: ian [at] beanway [dot] me.