A new algorithm for graph crossings, hiding in plain sight (2020)
quantamagazine.org
quantamagazine.org
https://www.wolframalpha.com/input/?i=graph+ln%28n%29%5E3+vs...
- C1 = C2 = 1 => cross-over is 2x10^7
- C1 = 1, C2 = 10 => cross-over is 2x10^10
- C1 = 10, C2 = 1 => cross-over is 1668.2!
https://www.youtube.com/watch?v=1deOVlruc-o#t=13m15s
> By considering a lot of cases, find O(1) candidates to the flip nearest u that improves the embedding.
Also a comment underneath by one of the authors:
> We have not tested it (yet), but I suspect the current version will be too slow in practice due to the ~400 cases it has to check for each flip. Also, some of the core data structures we use do not yet have a good practical implementation. I do plan on making an implementation at some point, but that could be months or years away.
:-(
It's not really a dynamic problem anymore. It also becomes very specific to ASIC. Do you know if it has already been studied?
It turns out that estimating a lower-bound on the # of edge crossings of an embedded graph is equivalent to solving an SVM-type problem, and one can characterize the optimal layout as the solution to a nonlinear optimization problem. What's typically done, though, is to alternate between finding the bound for a fixed embedding & optimizing the embedding with something like gradient descent.
It gets a bit more confusing once you realize ic netlists are hypergraphs, and edges correspond to sets of nodes, (e.g. the "embedding" of an edge of a set of nodes is sometimes modeled as a rectilinear steiner tree).
For edge crossing/congestion minimization, the authors are Shabeer "Edge crossing minimization", Spindler "Congestion driven placement/RUDY", RePlace for a sota academic force-directed placement algorithm.
I reckon kids could be introduced to it earlier in friendlier language.
It is a fantastic tool to discover algorithmics, as you can visually apply your thinking.
FWIW, I personally wrote my master thesis on small world graphs, (_ie_ Kevin Bacon, 6 degrees, that kind of graphs), building structures to add properties to such graphs, and it is, without a doubt, the best memory of my cursus at the university.
They can be! I remember when I was about 10, I learned about Eulerian paths from a popular math book for kids.
https://en.m.wikipedia.org/wiki/Graphical_model
Can’t find the link now, but I’ve seen a pedagogical framework for learning basic probability by manipulating dynamic graph-“walking”. Absolutely useable with kids.
Very interesting stuff..Engel's probability abacus.
It was so successful that all kindergarten teachers in the same school started doing it as well.
The unexpected part was the other parents, who looked at the poster the children had made about chromatic numbers complete with examples : quite sadly, they were a lot more scared than their children!
I really think graph theory and discrete math in general should be taught much earlier. Maybe even before (or alongside) calculus in high school. Calculus isn’t really a legitimate prerequisite in this case.