Two individuals from the swap. Identical brain architecture, the same sensory world, conflicting answer keys. Each one is competent in its own world and actively wrong in the other. Post 4 ended on the question this post answers: blend the two into one and do you get both, a winner that erases the other, a broken mess, or something that belongs to neither?
I ran it. Here is what actually came out, and it is not the clean story I might have hoped for.
The plainest possible merge is a union: stack both graphs into one memory, so every trace from both individuals fires together on every cue. No averaging, no reconciliation, no weighing of evidence. Everything goes in one graph and fires.
def merge_memories(a, b):
"""Merge two individuals' graphs by union: stack every trace into one memory.
The most literal reading of 'blend two individuals' -- no reconciliation, no
averaging. Both histories now live in one graph and fire together on every cue."""
m = Associative(a.dim, a.sim_thresh, a.gain, a.decay)
m.keys = np.vstack([a.keys, b.keys])
m.traces = np.vstack([a.traces, b.traces])
m.sign = np.concatenate([a.sign, b.sign])
m.strength = np.concatenate([a.strength, b.strength])
return m
Before the numbers, the rule of the road. The metric is accuracy on the six-cue task, the fraction of trials the agent picks the correct action, from 0.0 to 1.0. Chance is 0.33. Below 0.33 means the agent is being actively steered wrong. A score of 0.00 means it is wrong on nearly every trial.
Each individual alone is a master of its own world and a fool in the other.
| memory | world A | world B |
|---|---|---|
| mem_A (individual A) | 0.90 | 0.00 |
| mem_B (individual B) | 0.00 | 0.85 |
Each one solves its own world and is actively wrong in the other. The 0.00 is not confusion. It is A's answers being always wrong under B's key, and the reverse. Two clean opposites. That is what makes the question sharp: if you merge them, do you get a mind that knows both worlds, or one that knows neither?
Then I merged the two graphs and scored the result on a fresh brain in both worlds.
| memory | world A | world B |
|---|---|---|
| mem_A (individual A) | 0.90 | 0.00 |
| mem_B (individual B) | 0.00 | 0.85 |
| merged | 0.66 | 0.16 |
Accuracy on the 6-cue task, 0 to 1. Chance is 0.33.
Three things happened.
First, the merge did not keep both skills. It is degraded in both worlds. World A fell from 0.90 to 0.66. World B fell from 0.85 to 0.16, which is below chance. In B's own world, the merged individual is now actively wrong.
Second, it is not balanced. One history dominates. Cue by cue, the merged individual plays one parent's answer far more than the other.
| the merged individual picks... | frequency |
|---|---|
| A's answer | 0.65 |
| B's answer | 0.15 |
| neither | 0.20 |
A won most cues. Which parent dominates is a property of these two specific graphs on this seed, not a law, so do not read it as A-type individuals always winning. The point is that the merge picked a side rather than splitting the difference.
Third, a fifth of the responses match neither parent. Be honest about what that is and is not. It could be genuinely emergent behavior, the two conflicting traces summing into a third action. It could just as easily be conflict-induced breakdown. The experiment does not distinguish them. It is an unexplained residue, not a new self, and I cannot tell you whether it is emergence or damage.
So union-merging two individuals is lossy and dominance-skewed. You do not get a harmonious third individual. You get a degraded winner, a wrecked loser, and a minority of responses that belong to no one. The merge did not add two individuals together. It let one win and broke both.
This is a single seed. Union is one merge rule of many, and averaging, gating, or a reconciliation that resolves conflicts cue by cue could behave differently. I have not tried them. The substrate is a toy, the salience is hand-wired, and "individual" here means a measured behavioral signature and nothing more. What this shows is that this merge is lossy and dominance-skewed. It does not prove all blending must be.
You cannot average two individuals into a harmonious third by unioning their memories. Conflicting experience collides rather than sums. What a provenance-aware merge, the missing primitive from Post 4, would do instead is an open question. Until that is built, there is just this wreckage.
Clone it and break it.
git clone https://github.com/constant-itis/flymem && cd flymem && python3 flymem.py
What I ran. The command above. The merge is the fifth section it prints (🧪 What I actually ran
the_merge()): merge_memories() unions two individuals' graphs, then one fresh brain is scored with mem_A, mem_B, and the merged graph in both worlds, plus a cue-by-cue tally of which parent's answer the merged individual picks. Every number is accuracy on the 6-cue task, where chance is 0.33.
The honest caveat. Toy stand-in substrate, single seed, and union is only one way to merge. Averaging or a conflict-resolving rule could behave differently. The 0.20 "neither" is not shown to be meaningful; it could be emergent or it could be breakdown. And "individual" here means a behavioral signature, nothing more. Clone it, try a smarter merge, and tell me where it breaks.⚠️ Where I might be wrong














