Graph theory, graph convolutional networks, knowledge graphs
albertazout.substack.com
albertazout.substack.com
Hypernode graphs seem to be very applicable to knowledge graphs, though they have different names depending on the discipline -- nested state machines, statecharts [1], UML hierarchically nested states [2].
I recently participated in a lecture series on Applied Category Theory [3] that touched on the underlying math of composition. The course focused on optimization of design choices in complex decision spaces.
[1] https://statecharts.github.io/
[2] https://en.wikipedia.org/wiki/UML_state_machine#Hierarchical...
[3] https://applied-compositional-thinking.engineering/lectures/
said in another way, saying to yourself i'm using graphs is pining down a single part of the syntax used while the semantics of what is talked about are almost orthogonal.
In CT parlance the underlying can be almost anything, and changing a few rules about how you want to reason about stuff can drasticly changes the underlying category you're working with.
(PS: my comment is probably biggerish incoherent mind soup)
Between pocket calculators and GUI events (reactive programming), I think obscurity is probably a matter of personal experience. In any case, I think the connection to GUI events is worthwhile. Thanks!
I believe there are a few important caveats to the connection:
1. The "most popular" GUI frameworks have semantics that go (way) beyond "events are delivered to the lowest level in the component graph that can handle it": https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Bu...
https://stackoverflow.com/questions/4616694/what-is-event-bu...
2. You can still have this hierarchical handling of events without modeling the event handling itself as a state machine. And if you do want to model it as a state machine, and if multiple levels of the hierarchy may handle the event, I suspect you must rely on some decomposition where each layer of hierarchy can only influence some components of the state, while leaving the others unchanged.
It seems like UML state machines addresses this!
From https://en.wikipedia.org/wiki/UML_state_machine#Orthogonal_r...
> In most real-life situations, orthogonal regions would be only approximately orthogonal (i.e. not truly independent). Therefore, UML statecharts provide a number of ways for orthogonal regions to communicate and synchronize their behaviors. Among these rich sets of (sometimes complex) mechanisms, perhaps the most important feature is that orthogonal regions can coordinate their behaviors by sending event instances to each other.
For others: we're also starting to look into ML on knowledge graphs, check out our initial work at https://github.com/graknlabs/kglib :D
And the of course the plug for my Python wrapper:
https://graphegon.github.io/pygraphblas/pygraphblas/index.ht...
[1] https://www.csee.umbc.edu/courses/graduate/671/fall20/resour...
https://www.youtube.com/watch?v=9KlDUazbcMc
(only 2:14 long; damn I love that video)
Hyperbolic space, on the other hand, enables you to embed hierarchical information in a single dimension due to the curvature itself (yes this is hand-wavey mainly because I still barely understand it, read the paper). This is very conducive to embedding graphs, and especially structured graphs (or trees).
A euclidean embedding can't even approximately embed a graph as simple as C4, no matter how many dimensions you add. Nevertheless, I've been surprised at how good the results have been when blindly embedding stuff in euclidean space (e.g., word2vec) given the high error floor for any possible such embedding.