This is pretty choice - reminds me of untangling a circuit layout...
Never really looked into it that much, but I'd imagine there must be a mathematical technique that can be applied. My first instinct has always been to put the point with the most connections in the centre, then map out from that.
The Wikipedia article on planarity testing cites, for instance, this paper: http://jgaa.info/accepted/2004/BoyerMyrvold2004.8.3.pdf which describes a not-insanely-complicated algorithm that constructs planar embeddings (or proves they don't exist) in linear time.
Take the vertex whose vertices cross the biggest number of other vertices and move it. Repeat until nothing crosses. I remember this problem in maths ages ago, there is a way to know if you can't untangle something- look up the water gas electricity problem
A graph is nonplanar if and only if it has a subgraph that looks like either (1) five vertices all connected to one another or (2) two sets of three vertices, with every vertex in one set connected to every vertex in the other.
"Looks like" means: can be turned into by repeatedly replacing -o- (a vertex with two edges coming out of it) with -- (a single edge between the vertex's two old neighbours).
I think this game won John "One of the Most Interesting People In Cleveland" when he wrote this sophomore year at CWRU. I'm happy to see that his project is still being enjoyed!
It would be interesting to couple this game with user profiles that include questions related to mysteries and observations in cognitive science. Thinks like left/right handed, formal education, would be interesting too.
15 comments
[ 7.3 ms ] story [ 240 ms ] thread"Looks like" means: can be turned into by repeatedly replacing -o- (a vertex with two edges coming out of it) with -- (a single edge between the vertex's two old neighbours).
See http://en.wikipedia.org/wiki/Planar_graph for details.
In fact, the "Way Back Machine" shows Planarity, basically unchanged, in 2005: http://web.archive.org/web/20050731231914/http://www.planari...
Used a combination of heuristics - move a vertex to the centroid of its neighbors, and move randomly to reduce edge intersections.
eyes burning.