![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
This is written up pretty informally. It's based on some doodling at work, which turned into a morning of coding a few weeks ago.
The problem is this: How many unique ways are there to connect N evenly spaced points? By "unique" I mean not having any rotations or reflections in the set. Here's the full sets for order 1 to 4:

The code I wrote uses python's long integer and bit arithmetic code to figure out the sequence up to order 8:
1:1
2:2
3:4
4:19
5:136
6:3036
7:151848
8:16814116
Essentially, I represent each possible connection of N points as a binary number, then determine whether any of its reflections or rotations has a lower value. If any do, it's not the "canonical" version of that set, and it gets discarded. The problem with this approach, though I think it's the fastest, is that the time taken goes up very quickly. 8 took 6 hours or so to run, and checked 228 configurations. 9 would check 236 configurations and would therefore take about 64 days.
So that's as far as I'm likely to take this investigation. I'm writing it up here for general interest, and for other people to pick it up if they like.
PDF including Order 5
Python code
no subject
Date: 2011-02-05 09:17 pm (UTC)For each of these cases, compute the total number of configurations without bothering to verify that it is not in a more-symmetric case, which is some power of 2. Then use inclusion-exclusion to figure the number of these in each case, and add up the results.
Example for N=7:
No symmetry: 2^21 = 2097152
Mirror symmetry: For any given mirror, exactly 3 connections are bisected by it and the other 18 form 9 mirror pairs, so 2^12 = 4096
Full symmetry: This requires that all connections of the same type are present or all are absent. There are three types of connections with 7 in each. So this is 2^3 = 8.
Out of the 4096, exclude 8 fully symmetric cases. The remaining 4088 have only mirror symmetry.
Out of the 20971528 fully symmetric cases appear once each, and 4088 mirror-symmetric cases appear 7 times each. This leaves 2068528 cases which form 147752 sets of 14 rotations and reflections.
Then 147752 + 4088 + 8 = 151848, without doing any iteration over 2^21 cases.
This gets harder when N is not prime, but grows only with the number of factors of N.
no subject
Date: 2011-02-05 10:04 pm (UTC)