Two Paths to the Same Ancestor
Thirty generations back you should have a billion ancestors. There weren't a billion people. The arithmetic that fails there fails the same way in an exposure report.
- You are seeing
-
- A count of distinct entities implies more of them than plausibly exist
- The same name appears in two branches and gets flagged as a data error
- Independence is assumed from structure rather than measured
- Diversification measures improve as you add layers of intermediation
- The mechanism
- A structure drawn as a tree is actually a directed acyclic graph, so counting nodes by counting paths overcounts — and the overcount grows with depth.
- The older apparatus
- Graph theory supplies the tree-versus-DAG distinction; genealogy supplies four centuries of practice reading a repeated node as a fact rather than a mistake.
- The false friend
- Genuine duplication from bad record-keeping. Distinguish by depth: convergence that increases with generations back is structural, while duplication from data quality is depth-invariant.
- The discriminating test
- Count paths and count distinct terminal nodes separately. If the two numbers differ, everything computed from the path count assumes an independence the structure does not have.
- On your own data
- On any ownership or exposure graph, compute the ratio of paths to distinct terminal nodes as a function of depth. A rising ratio quantifies how much apparent independence is an artifact of the drawing.
Count your ancestors. Two parents, four grandparents, eight great-grandparents, and keep going.
Thirty generations back — the High Middle Ages, give or take — the arithmetic says you should have about 2^30 of them. Call it a billion.
There were not a billion people alive in the High Middle Ages.
The resolution is not that the arithmetic is wrong. Every one of those billion slots on the chart is real, in the sense that each one is a position that had to be filled by somebody. What is wrong is the assumption that a billion slots require a billion people. Somewhere up the tree, your ancestors were related to each other, and the same individual is sitting in more than one seat.
Genealogists call this pedigree collapse, and it is not a rare event or a sign of anything unusual about a particular family. Past a certain depth it is arithmetically compulsory for everyone.
It is measurable, not approximate #
The effect has exact values per union type.
A first-cousin marriage gives the resulting child six distinct great-grandparents instead of eight. A half-sibling union gives three instead of four, a 25% collapse. A full-sibling union gives two instead of four, and the tree loses half its width in a single generation.
The number that matters is not how many positions the chart has. It is how many distinct people are standing in them.
And the practical consequence, the one genealogists had to learn, is that a name appearing twice in different branches of a pedigree is not automatically a research error. The instinct is to treat it as a duplicate — the same record entered twice, a compiler’s mistake, something to be cleaned. Sometimes it is. Often it is the tree correctly recording that those two branches were never actually independent.
Deduplicate on reflex and you delete the finding.
What the drawing is hiding #
The formal version is a distinction between two kinds of structure, and it is the whole article.
A tree has exactly one path from the root to any node. Count paths, count nodes, get the same answer. A directed acyclic graph allows many paths to the same node. Count paths and you have counted some nodes repeatedly, without any step in the counting being wrong.
A family tree is drawn as a tree. It is a DAG.
The doubling arithmetic — two, four, eight, sixteen — is a path count. It is correct as a path count and it was never a count of people. Nothing in the picture signals the difference, because the picture is drawn as a tree, and a tree is what your eye reports.
Genealogy software mostly gets this right now, having been forced to. It distinguishes an individual from a position and permits one person to occupy several. It took the discipline a long time to arrive there, and the intermediate period produced a lot of confidently published family trees with more medieval ancestors in them than there were medieval people.
Where the same drawing appears #
Anything that traces exposure through intermediaries is the same object.
A fund holds positions in vehicles that hold positions in other vehicles that eventually hold something real. An ownership register maps entities through holding companies through nominees. A supply chain routes through suppliers who route through their own suppliers. Each is drawn as a tree, each is a DAG, and each is routinely counted by paths.
Count distinct counterparties by walking the paths and you get a number. It is a real number and it measures something. It does not measure how many distinct counterparties there are, and the gap between those two quantities grows with every layer of intermediation you add — exactly as the ancestor gap grows with every generation you go back.
The uncomfortable version: adding a layer of intermediation increases the path count without changing the node count. A structure can be made to look more diversified by being made more complicated, with nothing underneath it changing at all. Not through fraud. Through the ordinary property of a graph that is drawn as a tree.
The measurement #
The genealogical fix is not clever, which is why it works. Count positions and count people separately, and report both.
The equivalent is a ratio: paths to distinct terminal nodes, computed as a function of depth. In a genuine tree the ratio is one at every depth. In anything real it rises, and the rate at which it rises is a direct measure of how much of the apparent independence is an artifact of the drawing rather than a property of the holdings.
That ratio is cheap to compute and almost nobody computes it, because the alternative — a count of distinct entities that assumes each is distinct — produces a larger and more comfortable number.
The distinction is also what separates structural convergence from a data-quality problem, and the tell is depth. Duplication from bad record-keeping shows up at a constant rate wherever you look. Convergence that gets worse the further back you walk is not a defect in the records. It is the shape of the thing.
Everyone alive has a billion ancestral slots thirty generations back and far fewer ancestors. Both facts are true, neither is a paradox, and the only error available is to read the first number as an answer to the second.
Which is what an exposure report does, once per layer, in the direction that flatters.
Questions
Why can't you have a billion ancestors?
You can, as chart positions. Thirty generations back the doubling implies about 2^30 ancestral slots, roughly a billion, which exceeds the population alive at the time. The resolution is that the same individual occupies more than one slot, because ancestors up the tree were related to each other. The slots are real; the distinct people are fewer.
Is a repeated name in two branches of a family tree an error?
Not automatically. It can be the tree correctly recording that the two branches were never independent. Genealogists treat a repeated ancestor as a finding to be checked rather than a defect to be deduplicated, because the alternative erases real structure.
How much does pedigree collapse actually reduce the count?
It is exactly measurable per union type. A first-cousin union gives the child six distinct great-grandparents rather than eight. A half-sibling union gives three instead of four, a 25% collapse. A full-sibling union gives two instead of four, a 50% collapse.
What is the difference between a tree and a directed acyclic graph here?
In a tree there is exactly one path to each node, so counting paths and counting nodes give the same answer. In a DAG there can be many paths to the same node. A pedigree is drawn as a tree and is structurally a DAG, which is why the doubling arithmetic breaks. Any exposure graph with shared underlying entities has the same property.