Evolutionary Techniques on Graphs: Concept Mating via the Rho Calculus
Lucius Gregory Meredith — F1R3FLY Research & Development — March 2026
Abstract: Instead of concept blending—the category-theoretic pushout that merges two mental spaces into one—we propose concept mating: a biologically inspired operation that crosses the port structure of two graph vertices to produce two offspring, each inheriting half of each parent’s relational profile. The construction composes cleanly, encodes directly in rholang, and connects to Connes–Kreimer Hopf algebras when iterated.
Downloads
Graph Expansion as Concept Blending
Full paper: the expansion algorithm, DSL grammar, structural properties, concept blending interpretation, and Scala implementation.
PDF · paperEvolutionary Techniques on Graphs
Slide deck: visual walkthrough of vertex evolution, agentic encoding in rholang, edge evolution, graph-level mating, and iterated evolution on categories.
PDF · slidesLaTeX Source
Complete LaTeX source for the paper, including TikZ figures and Scala listings.
TEX · sourceKey Ideas
Given two parent vertices M and F with port sets (sources and targets), the offspring D gets M’s inputs and F’s outputs, while S gets F’s inputs and M’s outputs. The symmetry is exact: swapping parents swaps children.
Each vertex becomes a rholang process: V(s⃗, t⃗) = for(y₁ <- s₁ & … & yₘ <- sₘ){ t₁!([y₁,…,yₘ]) | … | tₙ!([y₁,…,yₘ]) | V(s⃗,t⃗) }. Mating ⊕ is then just parallel composition |. A population of agents is an agent.
Female vertices pattern-match on messages carrying sender vertex codes; male vertices tag their outputs with their own code. Sex is determined by the shape of incoming data—à la Le Guin’s Left Hand of Darkness. This makes generational change entirely local: agents don’t know the graph, only their neighbors.
Naive crossover G(V₁,E₂)|G(V₂,E₁) fails because edges can’t find their vertices. A pair of graph homomorphisms H₁:G₁→G₂ and H₂:G₂→G₁ solves this—the whole graph becomes more than the sum of its parts.
Without constraints the agentic encoding generates infinite iterations. The limit approaches a graph with the small-world property surrounded by a cloud of isolated points. The vertex mating operation appears to produce a Hopf algebra associated with the Connes–Kreimer renormalization group.
The Core Construction
The expand operation takes a graph G and two distinguished vertices M and F:
expand(G, M, F, D, S)
ports_in(D) = ports_in(M) ports_out(D) = ports_out(F)
ports_in(S) = ports_in(F) ports_out(S) = ports_out(M)
V(s⃗, t⃗) ⊕ V(s⃗', t⃗') = V(s⃗, t⃗') | V(s⃗', t⃗)
The duality is clean: swapping M↔F simultaneously swaps D↔S. The operation composes under tensor product and respects the reflective name structure of the rho calculus.