Hacker News (curated)new | past | comments | ask | show | jobs| show hidden

One very very useful but underused[1] application of graph theory (and its application of network theory): parts data systems' configuration management.

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 Applications




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact | github