Applied

Each user pays for its own last link

Several users must be connected to a source, and the cheapest network that does it is a tree. Dividing its cost so that no group of users would rather build its own looks like a hard search, and it has a one-line answer: each user pays for the link that joins it to the tree on its way to the source. No group is ever overcharged — while the average over orders of arrival, the rule that settles so much else, can charge a pair more than its own connection costs.

Worth reading first: A split nobody can walk away from · The corners are the orders of arrival.

The corners are the orders of arrival found a condition under which every reasonable way of dividing a group’s gain agrees: when a newcomer always adds at least as much to a bigger group, the core is the outline of the orders of arrival, and the average over those orders sits inside it. That condition is economies of scale in its cleanest form, and most real sharing problems have economies of scale somewhere and not everywhere.

Connecting users to a source is the standard example of somewhere and not everywhere. Some villages must be joined to a well, some buildings to a server, some houses to a main. Every pair of places can be linked at a known cost, and the users may link through one another, so the cheapest network joining everybody to the source is a tree: it has no loops, because a loop always contains a link whose removal leaves everyone connected and saves money. The question is how the tree’s cost should be divided.

The cheapest tree for a remote user between two near ones, and each user paying for its own link. A source and 3 users with link costs source–A 2, source–B 9, source–C 2, A–B 1, B–C 1, A–C 2; the cheapest tree costs 4 and Bird's rule charges 2, 1, 1.
Fig. 1 A source and three users. A and C are two units from the source; B is nine units away, but only one from each of the others. The cheapest network joining all three to the source costs 4, drawn solid, and each user is charged the link that joins it to the tree on its way to the source: A pays 2, B and C pay 1 each. A second tree through C costs the same, and following it charges 1, 1 and 2.

In the figure, AA and CC sit two units from the source and BB sits nine units away — but BB is only one unit from each of the others. Alone, BB would pay 99 for its connection. Together, the three are served by a tree costing 44: source to AA, AA to BB, BB to CC. The bill is 44, and the question is who pays what.

The groups that could walk away

A division of the bill is acceptable to a group of users only if the group is not asked to pay more than it would cost them to build their own connection to the source, using their own sites as junctions and nobody else’s. That is the core again, with the inequality turned round, since here a coalition objects to paying too much rather than to receiving too little. Each group’s own cost is the cheapest tree joining its members to the source, and there are seven groups.

What every group of users would pay alone, and what two rules charge it. A: alone 2, Bird 2, average 1/3; B: alone 9, Bird 1, average 10/3; AB: alone 3, Bird 3, average 11/3; C: alone 2, Bird 1, average 1/3; AC: alone 4, Bird 3, average 2/3; BC: alone 3, Bird 2, average 11/3; ABC: alone 4, Bird 4, average 4.
Fig. 2 Every group of users, the cost of its own cheapest connection, and what it is charged in total by Bird’s rule and by the average over the six orders of arrival. Bird’s rule never charges a group more than its own connection. The average charges the pairs A and B, and B and C, 11/3 each for connections that cost them 3 — because B’s share carries the orders in which B arrives first and pays for the long link to the source alone.

AA alone would pay 22, CC alone 22, BB alone 99. The pair AA and BB would pay 33 — two to the source, one across — and so would BB and CC; AA and CC together would pay 44. So an acceptable division of the 44 must charge AA at most 22, CC at most 22, AA and BB together at most 33, and BB and CC together at most 33. The last two force AA and CC to pay at least 11 each, and what is left for BB is at most 22.

The rule in the figure charges (2,1,1)(2, 1, 1): AA pays for the link from the source, BB for the link from AA, CC for the link from BB. Every group’s constraint holds, and three of the seven hold with equality. It is a division no group of users can refuse.

The rule, and why it never overcharges

The rule is Bird’s rule, published by Claus Bird in 1976, and it is stated in one sentence: build the cheapest tree, hang it from the source, and charge each user the cost of the link that joins it to its parent — the next place on its path to the source.

That it is acceptable to every coalition has a proof that is as short as the rule. Suppose some group SS is charged more by Bird’s rule than its own cheapest connection costs. Take SS’s own cheapest tree, which joins SS to the source, and add to it, for every user outside SS, that user’s link to its parent in the big tree. Every outside user can now follow parent links until it reaches either the source or a member of SS, both of which are connected; so the result joins everybody. It has one link per user, so it is a tree. Its cost is SS’s own cost plus what Bird’s rule charges the outsiders — which, if SS were overcharged, would be less than what Bird’s rule charges everybody, which is the cost of the cheapest tree. A tree cheaper than the cheapest tree is impossible, so no group is overcharged.

The argument never enumerates groups and never computes a stand-alone cost. It swaps one set of links for another and compares totals, which is the same move the greedy algorithms for cheapest trees are proved correct by: an exchange of one link for another can never lower the cost of a tree that is already cheapest. The fairness of the division is a corollary of the optimality of the tree.

Why the cheapest tree is easy to find

The rule presupposes the cheapest tree, and it is worth seeing why that tree is easy to find, because the reason is the same one that makes the rule fair.

A network on nn places has an enormous number of spanning trees — for four places linked every way, sixteen, and for nn places nn−2n^{n-2}, which a determinant that counts trees derives from the network’s matrix. Searching them is out of the question. What makes the search unnecessary are two exchange facts. The cut rule: divide the places into two parts any way at all, and the cheapest link crossing between the parts belongs to some cheapest tree. The cycle rule: in any loop, the most expensive link belongs to no cheapest tree, unless it ties. Both are proved by the same swap: a tree that broke either rule could exchange one link for another and get cheaper.

Those are statements about cuts and cycles of a graph, the two families of edge sets that the cycles and the cuts found to be complementary, and each one yields an algorithm. Prim’s grows a single tree from the source, repeatedly taking the cheapest link out of the part already built — the cut rule applied to the cut around the growing tree. Kruskal’s sorts all links and takes each one unless it closes a loop — the cycle rule applied in reverse. Both are greedy, both are fast, and neither ever reconsiders a choice.

Prim’s version is the one that matches Bird’s rule. It grows the tree outward from the source, and each link it adds joins a new user to the part already connected; that link is exactly the one Bird charges the new user. The order in which Prim’s algorithm reaches the users is an order of arrival, and Bird’s division is the split that order gives when each user pays its own joining link rather than its effect on anyone else’s cost.

When the places are points in the plane and the costs are straight-line distances, there is a further shortcut: the cheapest tree uses only links between points that are neighbours in the Delaunay triangulation, the dual of the plane divided by whoever is nearest. The nine scattered users below are linked every way, and only a handful of the forty-five possible links among the ten places could ever have been chosen.

The average over orders, and where it goes wrong

The natural competitor is the rule the order everybody arrives in established for gains: let users arrive one at a time, charge each the extra cost its arrival causes, and average over every order.

In this network the average charges AA one third, BB ten thirds, CC one third. It is easy to see why BB’s share is large: in the two orders where BB arrives first, BB must be connected on its own and pays 99. The average spreads that cost thinly over six orders, and BB ends up owing 10/310/3.

Dividing the bill for a remote user between two near ones: the core, Bird's division and the average. Divisions of a bill of 4 among three users; Bird's division 2, 1, 1 lies in the core; the average over arrival orders 1/3, 10/3, 1/3 lies outside it.
Fig. 3 Every division of the bill of 4 among A, B and C. The shaded square is the core, the divisions no group of users would refuse. Bird’s rule gives one of its corners, (2, 1, 1), and following the other cheapest tree gives the opposite corner, (1, 1, 2). The average over orders, (1/3, 10/3, 1/3), lies well outside: it charges the pair A and B 11/3 for a connection that costs them 3.

But then the pair AA and BB is charged 11/311/3 in total, and it could connect itself for 33 — two units to the source from AA, one across to BB. The same holds for BB and CC. The average charges a pair more than its own connection costs, so under the average rule the pair would rather build its own network, and the grand tree would not be built.

The picture of all divisions shows how far the average is from acceptable. The core is a square: AA and CC each pay between 11 and 22, and BB pays whatever is left. Bird’s division sits at one corner. The average sits in the far corner of the triangle, near B pays it all, outside the square entirely. What went wrong is the property the corners are the orders of arrival required: a user’s extra cost should shrink as the group it joins grows, and here it does not uniformly. AA adds 22 to an empty network. Joining BB alone, it saves 66 — it gives BB a route of three units in place of nine — but joining BB and CC together it adds 11, because CC has already given BB a short route and AA has nothing left to offer. The extra cost of a newcomer rises as the group grows from BB to BB and CC, which is the reverse of economies of scale. Connection costs have economies of scale in some directions and not others, and the average needs them in all.

Two cheapest trees, two fair divisions

The network in the first figure has a tie. The tree through AA — source to AA, AA to BB, BB to CC — costs 44, and so does the mirror image through CC. Bird’s rule depends on which tree is built, and the two trees give (2,1,1)(2, 1, 1) and (1,1,2)(1, 1, 2).

Both are in the core, as the proof requires, and they are opposite corners of the square. That is typical: when cheapest trees tie, each one gives a Bird division, every one of those divisions is acceptable, and any average of them is acceptable too, because the core is convex. The rule is not a single answer but a family of them indexed by the trees, and choosing among them is choosing which tree to build.

It also shows that Bird’s rule is not symmetric, which is the objection most often raised against it. AA and CC are placed identically — each two units from the source and one from BB — and one of them pays twice what the other pays, depending on which way the tree runs. A symmetric rule can be recovered by averaging the two trees’ divisions, which here gives (3/2,1,3/2)(3/2, 1, 3/2), still in the core.

A core with no width

Change the costs and the core can collapse to a line.

The cheapest tree for three users and a source, and each user paying for its own link. A source and 3 users with link costs source–A 4, source–B 4, source–C 8, A–B 5, A–C 1, B–C 7; the cheapest tree costs 9 and Bird's rule charges 4, 4, 1.
Fig. 4 A different network: A and B are four units from the source, C is eight units away but only one from A. The cheapest tree costs 9 — source to A, source to B, and A to C — and Bird’s rule charges A and B 4 each and C only 1.

Here AA and BB are four units from the source and CC is eight — but CC is one unit from AA. The tree costs 99: both near users link directly to the source, and CC hangs off AA. Bird’s rule charges (4,4,1)(4, 4, 1). CC, whose own connection would cost 88, pays 11, and nobody can complain, since AA pays for the link AA would have paid for anyway.

Dividing the bill for three users and a source: the core, Bird's division and the average. Divisions of a bill of 9 among three users; Bird's division 4, 4, 1 lies in the core; the average over arrival orders 5/6, 23/6, 13/3 lies outside it.
Fig. 5 The divisions of the bill of 9 for that network. The core has no area: B must pay exactly 4, since B alone would pay 4 and A with C would pay 5, leaving only 4 of the 9 for B. What remains is a thick segment along which A and C share 5 between them, with Bird’s division at one end. The average over orders, (5/6, 23/6, 13/3), lies off it and charges A and C together 31/6 for a connection that costs them 5.

Two constraints pin BB’s share exactly: BB alone would pay 44, so BB pays at most 44; AA and CC together would pay 55, so they pay at most 55 and BB at least 44. The core is a segment along which AA and CC divide their 55, and Bird’s division is one end of it. The average over orders again lands outside, this time charging AA and CC together 31/631/6 where their own connection costs 55. The drawing shows only divisions in which nobody is paid; the segment continues past the edge of the triangle into divisions that pay AA to take part, which a core for costs allows and a picture of shares does not.

Nine users and every group

A three-user network proves nothing about Bird’s rule that the swap argument does not already prove, and the argument covers every network. What a larger example shows is how tightly the rule sits against the constraints.

Bird's rule for 9 users, checked against all 511 groups. A seeded scatter of 9 users round a source; the cheapest tree costs 170; Bird's charges 23, 25, 9, 15, 21, 19, 23, 17, 18; no group is overcharged.
Fig. 6 Nine users scattered round a source, linked at their straight-line distances. The cheapest tree costs 170; each user is charged the link that joins it to the tree on its way to the source. All 511 groups of users were checked: none is charged more than its own cheapest connection would cost, 89 are charged exactly that, and every other group is at least one unit clear.

With nine users there are 511511 groups, and each group’s own cheapest connection is a separate tree computation. The figure performs all of them and compares each with the group’s total Bird charge. None is overcharged, which is the theorem. Eighty-nine are charged exactly their own cost, which says how little room the rule leaves: those groups are indifferent between staying and leaving, and a rule that moved even a unit of cost onto any of them would lose them.

The tight groups are not an accident. Take any group that contains, along with each of its members, that member’s whole path to the source — a piece of the tree growing outward from the source. Bird’s rule charges it exactly the links of that piece, and the piece is a connection the group could build on its own, so the group pays no less than its own cost and, by the theorem, no more. Every such piece of the tree is held exactly to its own cost, and a tree with nine users has a great many of them.

A rule that is symmetric and still fair

Bird’s rule is fair to every coalition and unfair to symmetry; the average over orders is symmetric and unfair to coalitions. A rule with both properties exists, and it comes from changing the game rather than the rule.

Replace every link’s cost with the smallest achievable bottleneck between its ends — the least possible value of the most expensive link on a path between them. Cheapest trees are unchanged, since a cheapest tree is exactly a tree in which every path’s most expensive link is as cheap as possible. But the game changes: in the remote network, AA to CC now costs 11, through BB, and the source to BB costs 22, through AA. In the new game every user adds less to a bigger group, so the average over orders is back in the core — here it charges 4/34/3 each. That average, applied to the bottleneck costs, is called the folk solution of the connection problem, and it is symmetric, it is in the core of the original game, and it has been characterised by several independent lists of fairness conditions. The convexity that the orders of arrival needed was missing from the original costs and present in their bottlenecks.

What the network pictures cannot show

The networks are small and their costs are chosen. Three users make a triangle of divisions in which a core can be seen whole; nine users are shown only as a tree with charges beside it, since their core lives in eight dimensions. The two three-user networks were found by searching thousands of random cost tables for ones where the average over orders falls outside the core and the core is still large enough to see.

The rule is checked against every group only where the groups can be counted. For nine users that is 511511 trees, each found by Prim’s algorithm. The theorem for every network is the swap argument, which the figures do not draw; the exhaustive check is evidence that the implementation agrees with the theorem, not a substitute for it.

Only junctions belonging to the group are allowed. A group building its own connection may route through its own members’ sites and no one else’s. If a group could route through any site — a crossroads that belongs to nobody, or another user’s building — its own cost becomes a Steiner tree, whose exact computation is one of the problems Richard Karp listed in 1972 as NP-complete, and the game and its core change with it. None of that is drawn.

Still open: how fast the cheapest tree can be found

Everything here rests on the cheapest tree, and the tree is easy to find: Otakar Borůvka gave the first algorithm in 1926, Joseph Kruskal and Robert Prim the two usually taught in 1956 and 1957, each growing the tree one cheapest safe link at a time. For a network with mm links they take time roughly proportional to mm times a logarithm.

Whether that logarithm is necessary is open. David Karger, Philip Klein and Robert Tarjan found in 1995 a randomised algorithm whose expected running time is proportional to mm — as fast as reading the links. Bernard Chazelle found in 2000 a deterministic one slower than that by only an extremely slowly growing factor, and Seth Pettie and Vijaya Ramachandran found in 2002 a deterministic algorithm that is provably optimal — without anyone being able to say what its running time is. Whether the cheapest tree can be found deterministically in time proportional to the number of links is not known, and it is one of the few basic questions about graphs whose answer might be a surprise either way.

The division comes from the tree

The habit worth keeping is the proof’s.

A division of a cost is usually argued for by listing properties it should have and checking them against every coalition, which is a search with 2n2^n cases. Bird’s rule needs none of that, because it is read off the object that solves the underlying problem: the cheapest tree. Each user pays the link that joins it, and any group that thought it was overcharged would, by building its own tree and borrowing the outsiders’ links, have built a tree cheaper than the cheapest one. The fairness of the division is the optimality of the tree, read one user at a time.

That is the same shape as the certificates that closed the question of an empty core in five weighings: an argument about one optimal object replaces a search over every coalition. Where the cost has a structure — a tree, a runway, a set of orders — the fair division is usually hiding in it, and the average over orders, which knows nothing about the structure, is the rule most likely to miss it.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A dashed tag is an object no other essay names yet.

CoalitionCooperative gameCoreCounterexampleExhaustive searchGreedy algorithmShapley valueSpanning tree