Start Doing Graph Theory
540 points - last Friday at 1:49 PM
SourceComments
For starters the whole street network is represented as a directed graph. The most widely used algorithm is the venerable A* to find paths through the vertices of the graph, not necessarily the shortest distance but the most optimal distance given all the trade-offs you wish based on the heuristics you define. There are lots of variations of A* and today most implementations would use its faster cousin: bidirectional A* which attacks the point-to-point calculation from both ends at the same time.
Then you have Dijkstra which is used for flood searches to e.g. give the best cost back home from every vertex so you know when to turn back the search if you have a search budget.
Menger’s theorem I’ve used in order to determine whether we can create a loop back. Basically search outwards, then search back without visiting those same edges.
Tarjan to ensure we identify all subnetworks so we don’t get stuck in a disconnected island of vertices with no way out to join the wider network.
A lot of these algorithms were conceived decades ago and are still the backbone of modern routing software.
One thing that’s constantly been in the back of my mind is, since routing is a highly deterministic problem space, it doesn't seem plausible that LLMs can take this over. It seems to me that it's a good example of a tool that LLMs would call out to rather than implement themselves.
In fact, see this convo I had with @simonw wherein he had Astra generate a jogging route. It setup a whole GIS stack and took about half an hour. That seems like a boil the ocean kind of approach and I’m not sure if that’s ever going to be optimal. https://x.com/baz_shkara/status/2099118620647305630
But maybe I should read this to see if there's anything that applies to my current work.
This author has done nothing to deserve that scrutiny, but I can’t escape the feeling now of having to be guarded when I see a new book online with a relatively short history (spring 2026 is the earliest version of this text), as I can’t be sure it’s either “AI-enhanced” or AI-written.
I don’t like this feeling and it dampers any enthusiasm I once had for being excited about stuff like this.
That aside, if the author did write this themselves without AI, kudos to them and their acheivement!
[1] https://en.wikipedia.org/wiki/PageRank
In a hardware manufacturing setting, particularly a new or "garage" sort of shop doing lots of new business, you quickly get into a nightmare scenario of "Too Many Configurations" running headfirst into the problem of "People Are Buying Too Much of Our Stuff". As a garage shop you can do OK making five or six units of all kinds, but once the orders for 1000, 10000 start coming in, you will be torpedoed by the complexity of keeping all those lines operational. Eventually you'll screw something up, and get dinged or even blacklisted (a big deal in Defense).
But it's a problem that can be steered around by applying some graph theory to the parts data system. Some PDMs actually do this natively - Oleg Shilovitsky's OpenBOM; Yoann Maingon's Ganister, both smart guys buy their stuff! - but this network theory can be used as a reporting layer on top of any big dumb PDM.
Examples include:
(Asciidoc table from a previous slide I've used, sorry)
|===
| Method | Primary Use
| In-degree centrality | Shared/high-risk components
| Out-degree centrality | Complex assemblies
| Betweenness centrality | Change risk
| Closeness centrality | Architectural centrality
| PageRank | Strategic component
| Degree distribution | Architecture health / power law check
| Connected components | Find orphans
| Shortest path / diameter | BOM depth, lineage distance
| Clustering coefficient | Modularity vs. coupling
| Community detection | Platform map, family boundaries
| Ego network | "Minimum Safe Distance" of a change impact
| Jaccard similarity | Variant/redundancy
| Structural holes | "Bridge" component(s)
| Topological sort | Flat assembly sequence
| Longest path | Maximum BOM depth
| Transitive closure | Full ancestor/descendant sets
| Treewidth | Overall architectural complexity score
|===
[1] Not counting Design Structure Matrix (DSM) / Multiple-Domain Matrix (MDM), which are kissing cousins to this sort of approach. See also Steven Eppinger (MIT) and Tyson Browning Design Structure Matrix Methods and ApplicationsI would even say that "Everyone Should Start Doing Graph Theory", but it's only my opinion of course. Take it or leave it.
I remember to this day the exact location I was when being introduced to construct hypercubes, to the exact bench in our uni cafeteria. It changed my understanding of multidimensionality completely.
Related HN thread: https://news.ycombinator.com/item?id=17745779
More and more it feels like as humans we are re-entering the pre 1700s era where most humans never learnt any technical knowledge, circa they never needed it.
The LLM boosters will claim, this is good and fine, LLMs will create an age of miracles and we will climb the kardashev scale or whatever other nonsense. I don’t think that will happen, I’m like 99% sure we won’t even cure cancer. We’re just making large swathes of intellectual work that we invented since the 1700s to now redundant for some reason and hoping that’s a better future, we are liberated from the “toils of thinking”. Well humanity has lived for 1000s of years without thinking of any of this stuff, so we’ll be fine but I suspect the world was richer when we did think about all this.