This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Equivalence of Models of Cake-Cutting Protocols111This paper is based on the second author’s final year project.

Paul W. Goldberg [email protected] Ioana Iaru
Department of Computer Science
[email protected]
Oxford University
Abstract

The cake-cutting problem involves dividing a heterogeneous, divisible resource fairly between nn agents. Brânzei et al. , [6] introduced generalised cut and choose (GCC) protocols, a formal model for representing cake-cutting protocols as trees with “cut” and “choose” nodes corresponding to the agents’ actions, and if-else statements.

In this paper, we identify an alternative and simpler extensive-form game model for cake-cutting protocols, that we call branch choice (BC) protocols. We show that the class of protocols we can represent using this model is invariant under certain modifications to its definition. We further prove that any such protocol can be converted to a restricted form in which the agents first cut the cake and then get to choose between various branches leading to different allocations. Finally, we show that this model has the same expressive power as GCC protocols, i.e. they represent the same class of protocols up to a notion of equivalence involving the bounds on envy that each agent can guarantee for themselves. For this purpose, we introduce a new notion of envy-equivalence of protocols.

1 Introduction

The cake-cutting problem is a fair division problem which involves dividing a heterogeneous, divisible resource (the metaphorical “cake”) between several agents, who have different preferences over different parts of the cake. In practice, this framework can be used to divide various types of resources, such as land or time. The modern study of this problem dates back to Steinhaus, [12] and a description of its history can be found in the books by Brams & Taylor, [2] or Robertson & Webb, [11].

To be able to tackle this problem, we need to establish what it means for a division to be fair. There are two common criteria for fairness, proportionality, in which each of the nn agents receives a piece that they consider to be worth at least 1n\frac{1}{n} of the entire cake, and envy-freeness, which means no agent prefers the piece another agent received over their own. If the entire cake is allocated, envy-freeness implies proportionality.

In the literature, well-known cake-cutting protocols are often described in plain language, but to be able to reason about protocols more generally or implement them on a computer, we require some formal model of computation. There are several such models, the most well-known ones being the Robertson-Webb model [11], which involves two types of queries: Eval queries, which ask an agent how much they value a given piece of cake, and Cut queries, in which an agent specifies where a piece of cake should be cut to be worth a certain value, and the moving-knives model (see, for example, Dubins & Spanier, [8]), in which a referee continuously moves one or more knives across the cake until one of the agents calls “stop”.

More recently, Brânzei et al. , [5, 6] introduced a new model for cake-cutting protocols, generalised cut and choose (GCC) protocols, in which rather than reporting their preferences to a referee, the agents divide the cake amongst themselves. In the GCC model, a protocol is represented as a tree with cut nodes, in which an agent makes a cut inside one of a set of pre-existing pieces of cake, choose nodes, in which an agent chooses from a set of existing pieces and is allocated that piece, and if-else statements depending on the execution history of the protocol.

In this paper, we propose an alternative model for representing cake-cutting protocols as trees, branch choice (BC) protocols: at cut nodes, an agent makes a cut inside a given piece of cake, similarly to GCC protocols, but at choose nodes, an agent instead gets to choose which branch of the tree to proceed to. The resulting pieces are allocated to various agents at leaf nodes. Having such a simple, restrictive model is an advantage when it comes to automation, since making the different possible choices and their outcomes more explicit would make it easier for AI agents to participate in a protocol.

We define various notions of equivalence between cake-cutting protocols, based on the bounds on value/envy that an agent can guarantee for themselves in the two protocols. We show that making various tweaks to the definition of BC protocols (such as considering protocols that can be represented as directed acyclic graphs rather than trees, or allowing agents to make a cut within a sequence of pieces rather than a single piece), results in the same class of protocols, up to what we call strong envy-equivalence. (Informally, an agent can guarantee the same bounds on their envy against the other agents in both protocols.)

We then prove that any BC protocol can be put into a special form in which all the cut nodes come before the choose nodes, making it easier to reason about the structure of the protocol. Finally, we show that in fact BC protocols have the same expressive power as GCC protocols, and we look into how some classic cake-cutting protocols can be represented as BC protocols.

1.1 Related Work

The Robertson-Webb query model, first introduced by Robertson & Webb, [11] and formalised by Woeginger & Sgall, [14], which is the standard model for discrete cake-cutting protocols in the literature, involves a referee who can ask the agents two types of queries related to their valuation functions (see Introduction), and divides the cake accordingly. A natural question is whether there is an incentive for the agents to report their valuation functions truthfully, i.e. whether there exist any strategy-proof protocols in the Robertson-Webb model. Here, strategy-proofness means truthful reporting is a dominant strategy for every agent, regardless of their valuation function.

Brânzei & Miltersen, [4] show this is impossible for any “interesting” protocols in the Robertson-Webb model: any strategy-proof protocol for two agents is dictatorial (there is a fixed agent who always gets the entire cake), and, more generally, in any strategy-proof protocol for nn agents, at least one agent gets an empty piece. There are some other papers that deal with strategy-proofness and the closely related concept of truthfulness.

Notably, Chen et al. , [7] design a cake-cutting protocol that is truthful, proportional, and envy-free for piecewise-uniform valuation functions, but which uses a direct-revelation mechanism (i.e. the agents reveal their entire valuation function to the referee), rather than the standard query model. A recent paper by Tao, [13] proves that no such protocol can exist for the more general case of strictly positive piecewise-constant valuations, and designs a mechanism that satisfies a weaker notion of truthfulness.

Brânzei et al. , [5, 6] introduce the GCC protocols model described above, and use it as a framework to design a protocol for which a contiguous allocation is envy-free if and only if it is the outcome of a Nash equilibrium.

The BC protocols model introduced in this paper is different from the GCC model in that instead of having agents choose which pieces of the cake they receive, they choose which branch of the protocol to proceed to. In addition, the agents’ actions are more restrictive, so that the ordering of the cuts is encoded in the tree structure, which eliminates the need for if-else statements.

Furthermore, our work does not focus on game-theoretic aspects like strategy-proofness, though this would be an interesting topic to address in the future, but rather on results related to the expressive power of the model, which is a topic that Brânzei et al. , [5, 6] only touch on briefly, and considerations such as the space complexity of implementing common protocols in this format.

For a readable introduction to the better-known cake-cutting protocols, including algorithmic and strategic issues, see Procaccia, [10].

2 Background

2.1 Setting

The cake, which is represented as the interval [0,1][0,1], must be divided between nn agents. Each agent must be allocated a piece of cake (i.e. a finite union of disjoint intervals). The pieces of cake allocated to different agents must be disjoint. We allow for an individual agent to be given no cake (or an empty piece [x,x][x,x]), but every piece of cake must be allocated to some agent.

The agents’ preferences are given by private valuation functions V1,V2,,VnV_{1},V_{2},...,V_{n} that assign a value Vi(a,b)V_{i}(a,b) to every subinterval [a,b][0,1][a,b]\subseteq[0,1]. We extend the ViV_{i} additively to pieces of cake, writing Vi(X)V_{i}(X) for the value of a piece of cake X. The valuation functions are assumed to have the following properties:

  • Normalization: Vi(0,1)=1V_{i}(0,1)=1

  • Additivity: For any two disjoint intervals I1I_{1} and I2I_{2}, Vi(I1I2)=Vi(I1)+Vi(I2)V_{i}(I_{1}\cup I_{2})=V_{i}(I_{1})+V_{i}(I_{2})

  • Divisibility: For every interval [a,b][0,1][a,b]\subseteq[0,1] and 0λ10\leq\lambda\leq 1 there exists c[a,b]c\in[a,b] such that Vi(a,c)=λVi(a,b)V_{i}(a,c)=\lambda V_{i}(a,b). In particular, this implies the valuation functions are non-atomic: Vi(a,a)=0V_{i}(a,a)=0 for every a[0,1]a\in[0,1].

  • Non-negativity: Vi(a,b)0V_{i}(a,b)\geq 0 for any a,b[0,1]a,b\in[0,1].

For an allocation A=(X1,,Xn)A=(X_{1},...,X_{n}), where XiX_{i} is the piece of cake assigned to agent ii, we define the envy of agent ii towards agent jj as:

envyA(i,j)=max(Vi(Xj)Vi(Xi),0)envy_{A}(i,j)=\max(V_{i}(X_{j})-V_{i}(X_{i}),0)

2.2 Generalised Cut and Choose (GCC) Protocols

A generalised cut and choose (GCC) protocol [5, 6], is represented as a tree in which each node corresponds to the action of an agent. There are three types of nodes:

  • cut nodes: an agent makes a cut between two existing cuts. More specifically, agent ii is given a set S={[x1,y1],,[xm,ym]}S=\{[x_{1},y_{1}],...,[x_{m},y_{m}]\} of intervals representing contiguous piece of cake, such that the endpoints of every piece are either 0,1, or cuts made at a previous step. The agent picks an interval [xj,yj][x_{j},y_{j}] and makes a cut at some point zz in it.

  • choose nodes: an agent chooses between a set of pieces induced by the existing cuts. Agent ii is given a set SS as above. They choose an interval [xj,yj][x_{j},y_{j}] from SS, and this interval then gets allocated to them. In the special case |S|=1|S|=1, the agent is essentially assigned a piece and there is no actual “choice”.

  • if-else nodes: These nodes can have multiple branches. The protocol progresses to one of the branches based on an if-else statement. The conditions in the if-else statement depend on the order of the cut points made in the previous steps, and the execution history of the protocol (Equivalently, the conditions depend on which pieces the agents cut or chose at each of the previous steps).

Note that cut and choose nodes have at most one child each, so the protocol only branches out at if-else nodes.

In the original paper by Brânzei et al. , [5], the if-else statements are not explicitly included in the tree structure. Instead, the cut/choose nodes have multiple children and progression to one of the children is based on an if-else statement. We view if-else statements as separate nodes for simplicity. It is easy to see that our interpretation and the original one have the same expressive power.

Algorithm 1 shows how the Selfridge-Conway protocol [11], a classic envy-free protocol for three agents, can be represented as a GCC protocol. Algorithm 2 shows the original protocol, for comparison.

1 CUT: Agent 11 cuts in [0,1][0,1] at point x0x_{0}.
2CUT: Agent 11 cuts in [x0,1][x_{0},1] at point x1x_{1}.
3CUT: Agent 22 cuts a piece from {[0,x0],[x0,x1],[x1,1]}\{[0,x_{0}],[x_{0},x_{1}],[x_{1},1]\} Label this piece AA, dividing it into pieces A1A_{1} and A2A_{2}. Let the other two pieces be BB and CC. CHOOSE: Agent 33 chooses a piece from S={A1,B,C}S=\{A_{1},B,C\}.
4if Agent 33 chose A1A_{1} then
5       CHOOSE: Agent 22 chooses a piece from S={B,C}S=\{B,C\}.
6      CHOOSE: Agent 11 chooses the last remaining piece in SS.
7      CUT: Agent 2 cuts A2A_{2} at 13\frac{1}{3} of the value, resulting in two pieces A21A_{21}, A2A_{2}^{\prime}.
8      CUT: Agent 2 cuts A2A_{2}^{\prime} at 12\frac{1}{2}, resulting in two pieces A22A_{22}, A23A_{23}.
9      CHOOSE: Agent 3 chooses a piece out of S={A21,A22,A23}S^{\prime}=\{A_{21},A_{22},A_{23}\}, WLOG A21A_{21}.
10      CHOOSE: Agent 11 chooses a piece out of {A22,A23}\{A_{22},A_{23}\}.
11      CHOOSE: Agent 22 chooses the remaining piece.
12else
      // Agent 33 did not choose A1A_{1}
13       CHOOSE: Agent 22 gets piece A1A_{1}.
14      CHOOSE: Agent 11 chooses the last remaining piece in S.
15      CUT: Agent 3 cuts A2A_{2} at 13\frac{1}{3} of the value, resulting in two pieces A21A_{21}, A2A_{2}^{\prime}.
16      CUT: Agent 3 cuts A2A_{2}^{\prime} at 12\frac{1}{2}, resulting in two pieces A22A_{22}, A23A_{23}.
17      CHOOSE: Agent 2 chooses a piece out of S={A21,A22,A23}S^{\prime}=\{A_{21},A_{22},A_{23}\}, WLOG A21A_{21}.
18      CHOOSE: Agent 11 chooses a piece out of {A22,A23}\{A_{22},A_{23}\}.
19      CHOOSE: Agent 3 chooses the remaining piece.
Algorithm 1 The Selfridge-Conway protocol, represented as a GCC protocol. Strictly speaking, wherever the algorithm labels a piece or assumes w.l.o.g. that a certain piece was chosen, we should have an if-else node with multiple branches depending on which piece that is, but we have mostly omitted those for simplicity.
1 Agent 11 divides the cake into three pieces of value 13.\frac{1}{3}.
2Let AA be the largest piece according to agent 22. Let the other two pieces be BB and CC.
3Agent 22 trims AA so that it is the same size as the second largest piece. Label the trimmed piece A1A_{1}, and the trimmings A2A_{2}.
4Agent 33 chooses a piece from {A1,B,C}\{A_{1},B,C\}.
5if Agent 33 chose A1A_{1} then
6       Agent 22 chooses one of BB and CC.
7else
      // Agent 33 did not choose A1A_{1}
8       Agent 22 gets piece A1A_{1}.
9Agent 11 gets the last piece. It remains to divide the trimmings A2A_{2}.
10One of agents 22 and 33 got A1A_{1}. Call that agent XX, and the other agent YY.
11Agent YY cuts A2A_{2} into three equal pieces.
12Agent XX chooses one of the three pieces.
13Agent 11 chooses one of the remaining two pieces.
Agent YY gets the last remaining piece.
Algorithm 2 The Selfridge-Conway protocol.

2.3 Equivalence of Cake-Cutting Protocols

Since we are working with multiple models for representing cake-cutting protocols, we need to define what it means for two protocols (possibly represented in different models) to be “the same”. We will present multiple possible notions of equivalence between cake-cutting protocols, which are all based on various bounds agents can guarantee for themselves in terms of value/envy, regardless of the other agents’ strategies, so they are independent of the model used to represent a protocol.

Let 𝒫\mathcal{P} and 𝒫\mathcal{P^{\prime}} be two cake-cutting protocols.

  1. 1.

    Value equivalence: 𝒫\mathcal{P} and 𝒫\mathcal{P^{\prime}} are equivalent if the minimum value that each agent can guarantee for themselves is the same. That is, if in the worst case for protocol 𝒫\mathcal{P} agent ii gets a piece of value λ\lambda, then in the worst case for protocol 𝒫\mathcal{P^{\prime}} the piece agent ii gets must have the same value λ\lambda.

  2. 2.

    Total envy equivalence: 𝒫\mathcal{P} and 𝒫\mathcal{P^{\prime}} are equivalent if the maximum total amount of envy j=1,jinenvy(i,j)\sum_{j=1,j\neq i}^{n}envy(i,j) an agent can guarantee for themselves is the same in both protocols.

  3. 3.

    Pair-wise envy equivalence: 𝒫\mathcal{P} and 𝒫\mathcal{P^{\prime}} are equivalent if, for any two agents ii and jj, if in one of the protocols agent ii can guarantee envy(i,j)Menvy(i,j)\leq M, for some M[0,1]M\in[0,1], then they can guarantee the same bound holds in the other protocol.

  4. 4.

    Strong envy equivalence: 𝒫\mathcal{P} and 𝒫\mathcal{P^{\prime}} are equivalent if, for any agent ii and any set SS of agents not containing ii, if in one of the protocols agent ii can guarantee simultaneous bounds envy(i,j)Mj,jSenvy(i,j)\leq M_{j},\forall j\in S, for some Mj[0,1]M_{j}\in[0,1], then they can guarantee the same bounds hold in the other protocol. This is the notion of equivalence we will be using the most throughout the paper. Note this is still quite broad, since, in particular, any two envy-free protocols will be strongly envy-equivalent. A lot of our results involve protocols that appear “similar” in a stronger sense (for example, some of our conversion algorithms involve mimicking the actions in a given protocol in a different model), but this is difficult to formalise and since, in practice, most protocols aim to guarantee certain bounds on envy, our definition is good enough.

    Note also that strong envy equivalence implies pair-wise envy equivalence (taking S={j}S=\{j\}).

3 An Alternate Model for Cake-Cutting Protocols

In Section 3.1 we define the class of Branch Choice (BC) protocols. In Sections 3.2 and 3.3 we consider variations of the definition, and we prove that they are equivalent to the original one. In Section 3.4 we show that no expressive power is lost in moving to a restricted version in which the “cut” nodes must precede the “choose” nodes. In Section 3.5 we show that BC protocols have the same expressive power as GC protocols. In Section 3.6 we show that certain proportional protocols can be expressed as BC (equivalently GCC) protocols.

3.1 Branch Choice (BC) Protocols

Consider the following alternative representation of cake-cutting protocols. As before, we represent the protocols as trees, but this time we divide the nodes into:

  • non-leaf nodes, which are further divided into:

    • cut nodes: We have a partition of the cake into mm contiguous pieces, ordered from left to right. Agent ii subdivides a piece jj by making one cut. Trivial cuts (i.e. cutting at one of the ends of the piece) are allowed. For convenience, we consider that for a piece [x,y][x,y], cutting at one of the ends, WLOG xx, divides it into [x,y][x,y] and a new piece [x,x][x,x]. Such “empty” pieces will have value 0 to any agent, but they allow us to keep track of the number of pieces throughout the tree. Note ii and jj are both fixed, unlike in the previous section.

    • choose nodes: Given a partition of the cake as above, agent ii is allowed to choose which child of the current node to proceed to, based on the position of the cuts.

  • leaf nodes: Given a partition of the cake, each piece in the partition is allocated to an agent. The allocation is represented as a mapping {1,,m}{1,,n}\{1,...,m\}\rightarrow\{1,...,n\} where nn is the number of agents, and mm is the number of pieces in the partition. Note that for a given leaf, the number mm of pieces the cake has been divided into by the time we reach that leaf is one plus the number of cut nodes above the leaf, which does not depend on the execution history, so the mapping is well-defined.

We say a cut/choose node corresponding to an action of agent ii is controlled by agent ii.

We will refer to the class of protocols that can be represented in the above form as branch choice (BC) protocols to reflect the fact that at choose nodes, an agent chooses which branch of the tree is executed.

Note we need to keep track of the execution history at every node (i.e. how the cake is partitioned before the action corresponding to the current node). We can either store this information at every node (requiring extra space), or recover it from the unique path between the current node and the root (no extra space). Both take linear time in the number of nodes to read, so we will use the latter option and store no extra information at the nodes.

CUT: agent 11 cuts into [0,1][0,1] at point x0x_{0}CUT: agent 11 cuts into [x0,1][x_{0},1] at x1x_{1}*CHOOSE: agent 22 chooses a branchCUT: ag. 22 cuts into [0,x0][0,x_{0}] at yyCUT:ag. 22 cuts into [x0,x1][x_{0},x_{1}] at yyCUT:ag. 22 cuts into [x1,1][x_{1},1] at yy**CHOOSE: ag. 33 chooses a branchCUT: ag. 22 cuts into [y,x0][y,x_{0}] at y1y_{1}CUT: ag. 22 cuts into [y1,x0][y_{1},x_{0}] at y2y_{2}***CHOOSE: ag. 22 chooses a branch****CHOOSE: ag. 33 chooses a branch*****CHOOSE: ag. 11 chooses a branchALLOCATION:[0,y]3[0,y]\mapsto 3[x0,x1]2[x_{0},x_{1}]\mapsto 2[x1,1]1[x_{1},1]\mapsto 1[y,y1]3[y,y_{1}]\mapsto 3[y1,y2]1[y_{1},y_{2}]\mapsto 1[y2,x0]2[y_{2},x_{0}]\mapsto 2ALLOCATION:[0,y]3[0,y]\mapsto 3[x0,x1]2[x_{0},x_{1}]\mapsto 2[x1,1]1[x_{1},1]\mapsto 1[y,y1]3[y,y_{1}]\mapsto 3[y1,y2]2[y_{1},y_{2}]\mapsto 2[y2,x0]1[y_{2},x_{0}]\mapsto 1

Figure 1: (Partial) tree representation of a BC protocol that is strongly envy-equivalent to the Selfridge-Conway protocol (i.e. it is envy-free). The omitted subtrees, represented by “…”, are essentially copies of the one shown, for some permutation of the pieces/agents. The complete tree would have 150150 nodes in total. See detailed explanation below.

In figure 1:

* - agent 22 trims the largest piece according to them (as per the original protocol). In our representation of the protocol, they have to choose the largest piece to minimise their envy.

** - agent 33 chooses which of the three “big” pieces [0,y],[x0,x1][0,y],[x_{0},x_{1}] and [x1,1][x_{1},1] they get.

*** - agent 22 chooses which of the remaining two “big” pieces they get. In the two branches we have left out, where agent 11 hasn’t chosen [0,y][0,y], agent 22 is assigned [0,y][0,y] by default and does not get a choice here.

****, ***** - agents 33 and 11 choose which of the “trimmings” they are assigned.

It can be shown that all other conditions in the original protocol (e.g. agent 11 cutting the piece into thirds at the beginning, agent 22 trimming the largest piece to be the same size as the second largest, etc.) can be recovered by analysing where the agents need to cut to minimise their envy.

3.2 BC Protocols Represented as Directed Acyclic Graphs

As a generalisation, we can instead consider the class of cake-cutting protocols that can be represented as directed acyclic graphs (DAGs) using the same types of nodes as BC protocols.

A DAG representing a cake-cutting protocol will have a designated root node that corresponds to the first action in the protocol. We will also assume that every node is reachable from the root, as nodes that are not reachable will not be relevant to the protocol. To ensure the DAG represents a valid protocol, we must also require that if there are multiple paths from the root to a node, all of them result in the same number of cuts, so that the number of pre-existing cuts at a given node is well-defined and we can describe actions like “agent ii cuts into the jj-th piece”. This can provide a more compact representation for certain protocols, but we will see that it is no more “powerful” than the tree representation, that is, given a DAG representing some protocol, we can represent the same protocol as a tree.

Theorem 1.

The protocols that can be represented as DAGs are exactly the BC protocols as defined above.

Proof.

Clearly any BC protocol can be represented as a DAG by converting every edge in the tree representation to a directed parent \rightarrow child edge.

Conversely, let GG be a DAG representing a cake-cutting protocol. We will produce a tree representation of the same protocol. The root and nodes with a single parent can be translated directly into the tree. For nodes with multiple parents, the key idea is to make one copy of the node and its descendants for each parent. Every path from the root to the node in the initial graph GG corresponds to a path from the root to one of the copies of the node in the resulting graph. Therefore the new graph represents the same protocol. By repeating this step until there are no more nodes with multiple parents, we will obtain a tree representation of the protocol.

This algorithm will always terminate, but to eliminate repeated work we want to ensure that a node’s descendants are converted to tree nodes before the node itself (otherwise we might have to run the process multiple times for copies of the same descendant). We can do this by finding a topological ordering of the tree, and then converting the nodes in reverse topological order.

Therefore, any protocol represented as a DAG can also be represented as a tree, so the protocols that can be represented as DAGs are precisely the BC protocols. ∎

3.3 Extended BC Protocols

We will now consider a modified definition of BC protocols, which allows an agent to choose which piece of cake to cut from a sequence of consecutive pieces, and allows for allocating a sequence of pieces to some agent at once by only specifying the endpoints of the sequence.

The advantage of this more flexible definition is that we can ignore some extraneous cuts in the execution of the protocol, as we will see, for example, in the proof of theorem 4. We will show that, in fact, this extended definition has the same expressive power as the original one.

  • Instead of having some agent ii cut into a single piece [x,y][x,y] with no other cuts inside it, we allow for cut nodes that ask agent ii to make a cut between two existing cuts xx and yy (which might not be consecutive).

  • At leaves, instead of allocating each interval, we allow for allocating the piece of cake between two (potentially non-consecutive) cuts xx and yy to some agent, with the constraint that x<yx<y (so if the ordering of xx and yy cannot be determined solely from the structure of the protocol, and depends on the decisions of the agents, this is not a valid allocation). Note this is essentially the same as BC protocol allocation, except the allocation can be written more concisely, ignoring intermediate cuts if consecutive intervals are allocated to the same agent.

    Example.

    If agent 11 makes a cut at x[0,1]x\in[0,1] and agent 22 then makes a cut at y[0,1]y\in[0,1], we cannot have an allocation [0,x]1[0,x]\mapsto 1, [x,y]2[x,y]\mapsto 2, [y,1]1[y,1]\mapsto 1, because it might be the case that y<xy<x. But if instead we restrict the second cut to y[x,1]y\in[x,1], the allocation is valid. In both cases, [0,x]1[0,x]\mapsto 1, [x,1]2[x,1]\mapsto 2 is also a valid allocation.

We will refer to protocols covered by this definition as extended BC protocols. Note that indeed any protocol covered by the original definition of BC protocols is covered by the modified definition, with no changes needed.

Theorem 2.

For any extended BC protocol, we can construct a strongly envy-equivalent BC protocol. This results in a Θ(n!)\Theta(n!) blowup in the size of the tree representation of the protocol.

Proof.

Construction: We convert the cut nodes in topological order, so when we reach a node, we know that all of its descendants are already “valid” nodes in the original definition. For a cut node “agent ii cuts between xx and yy”, suppose there are nn other cuts x1,,xnx_{1},...,x_{n} between xx and yy. Note nn is fixed, because we have already converted all of the current node’s descendants, so we know the ordering of the pre-existing cuts at this stage. We replace our cut node with a choose node with nn cut node children, corresponding to cutting in [x,x1],[x1,x2],,[xn,y][x,x_{1}],[x_{1},x_{2}],...,[x_{n},y], respectively. Each child will have a copy of the initial cut node’s subtree.

We also need to modify the leaf nodes. After modifying the cut nodes, the ordering of the cuts at each leaf node is now fixed, so we can replace an allocation [x,y]j[x,y]\mapsto j with one that allocates each continuous piece between xx and yy to agent jj.

Complexity analysis: This conversion process terminates, but it results in an Θ(n!)\Theta(n!) blowup in the size of the tree (where n is the initial number of nodes). Consequently, the running time is also Θ(n!)\Theta(n!).

To see this, consider the worst case, in which we have a chain of nn cut nodes that are all of the form “agent jj cuts in [0,1][0,1] at xix_{i}”, with 1in1\leq i\leq n).

For the first cut node we don’t have to do anything. For the second cut node, we replace it with a choose node with 22 branches corresponding to cuts in [0,x0][0,x_{0}] and [x0,1][x_{0},1], respectively.

In each of these two branches, there will be a copy of the third cut node, which needs to be replaced with a choose node with 33 branches, etc.

See figures 2 and 3 for an example.

CUT: agent 11 cuts [0,1][0,1] at xxCUT: agent 22 cuts [0,1][0,1] at yyCUT: agent 33 cuts [0,1][0,1] at zz

Figure 2: Worst-case for n=3, before conversion.

CUT: agent 11 cuts into [0,1][0,1] at xxCHOOSE: agent 22 chooses a branchCUT: agent 22 cuts into [0,x][0,x] at yyCUT: agent 22 cuts into [x,1][x,1] at yyCHOOSE: agent 33 chooses a branchCHOOSE: agent 33 chooses a branchCUT:agent 33 cuts into [0,y][0,y] at zzCUT:agent 33 cuts into [y,x][y,x] at zzCUT:agent 33 cuts into [x,1][x,1] at zzCUT:agent 33 cuts into [0,x][0,x] at zzCUT:agent 33 cuts into [x,y][x,y] at zzCUT:agent 33 cuts into [y,1][y,1] at zz

Figure 3: Worst-case for n=3, after conversion.

Corollary 3.

BC protocols and extended BC protocols represent the same class of protocols, up to strong envy-equivalence.

3.4 Converting BC Protocols to “Cuts Before Choices” Form

In this section, we will prove that any BC protocol can be converted to a “nice” form in which all the cut nodes come before all the choose nodes, so, intuitively, the agents first cut up the cake, and then they make choices between branches leading to various allocations.

Theorem 4.

Any extended BC protocol can be converted into a strongly envy-equivalent extended BC protocol in which no choose node in the tree representation of the protocol has a cut node descendant. The conversion algorithm runs in polynomial time, and the size (number of nodes) of the original tree is equal to the size of the resulting tree.

Proof.

Let 𝒫\mathcal{P} be a cake-cutting protocol. If the protocol already satisfies the required condition, we are done. Otherwise, suppose the extended BC tree representation of 𝒫\mathcal{P} contains a choose node with a cut node descendant. In particular, there must be a choose node with a cut node child “agent ii^{\prime} cuts between xkx_{k} and xk+1x_{k+1} at point yy”.

We will describe an algorithm to move the cut node above the choose node (as in figures 4 and 5) without affecting the resulting allocation (each agent will be assigned the same piece of cake as in the initial protocol, except potentially cut up differently). The advantage of this form is that it makes it easier to reason about the protocol.

CHOOSE:agent ii chooses a branchCUT:agent ii^{\prime} cuts between xkx_{k} and xk+1x_{k+1} at point yyVV

Figure 4: Choose node with cut node child.

CHOOSE: agent ii chooses a branchCUT: agent ii^{\prime} cuts between xkx_{k} and xk+1x_{k+1} at point yyVV

Figure 5: Subtree obtained by moving the cut node above the choose node in 4.

Note the cut node only has one child, call it VV, which can be any kind of node. Moving the cut node above the choose node will not affect the subprotocol defined by VV’s branch. In the other branches, we just ignore the cut at yy (which extended BC protocols allow) and execute the protocol exactly as before.

We repeat this process until there is no choose node with a cut node child. This protocol will contain no choose node with a cut node descendant. Since the conversion algorithm does not affect the allocation, any simultaneous bounds on an agent’s envy towards other agents in the initial protocol will carry over to the resulting protocol, so the two are strongly envy-equivalent.

Furthermore, the running time of the conversion algorithm is polynomial (we move each cut node up the tree at most nn times, where nn is the total number of nodes, and there are at most nn cut nodes).

Since no nodes are added and deleted, the size of the resulting tree is equal to the size of the original tree. ∎

Lemma 5.

Any BC protocol can be converted into a strongly envy-equivalent BC protocol in which every choose node either has:

  • no cut node descendants, or

  • only cut node children, in which case if the choose node is controlled by agent ii, the cut node children are guaranteed to be controlled by agent ii and correspond to cuts in a sequence of consecutive pieces.

The conversion results in a Θ(n!)\Theta(n!) blowup in the size of the tree representation.

Proof.

Let 𝒫\mathcal{P} be a BC protocol. In particular, 𝒫\mathcal{P} can be viewed as an extended BC protocol, so by theorem 4 we can convert it to a strongly envy-equivalent “cuts before choices” extended BC protocol 𝒫\mathcal{P}^{\prime} in which no choose node in the tree representation of the protocol has a cut node descendant, resulting in a tree similar to the one in the figure below.

CUT: agent 11 cuts [0,1][0,1] at x1x_{1}CUT: agent 22 cuts [0,1][0,1] at x2x_{2}CUT: agent ii cuts [0,1][0,1] at xix_{i}CHOOSE: agent 11 chooses a branch

We can then convert 𝒫\mathcal{P}^{\prime} back to a BC protocol using the algorithm in theorem 2.

In the last conversion, a cut node “agent ii cuts between x0x_{0} and xnx_{n}” in 𝒫\mathcal{P}^{\prime} will either be unchanged, if there are no other cuts between x0x_{0} and xnx_{n}, or it will be split into a choose node “agent ii chooses a branch” with nn cut node children “agent ii cuts between xjx_{j} and xj+1x_{j+1}” corresponding to each of the intermediate pieces (where x1,,xn1x_{1},...,x_{n-1} are all the existing cuts between x0x_{0} and xnx_{n}, from left to right).

The choose nodes in 𝒫\mathcal{P^{\prime}} will not be changed/moved, so they will still have no cut node descendants after the conversion.

Therefore the resulting protocol has the required form, and is strongly envy-equivalent to the original protocol 𝒫\mathcal{P}. The Θ(n!)\Theta(n!) blowup in size comes from the last conversion. ∎

Theorem 6.

Any BC protocol can be converted into a strongly envy-equivalent BC protocol in which no choose node in the tree representation of the protocol has a cut node descendant.

Proof.

Let 𝒫\mathcal{P} be a BC protocol.

We start by converting 𝒫\mathcal{P} to the form in lemma 5. The resulting tree will look like in figure 6: a chain of m1m-1 cut nodes, followed by a choose node with m\leq m branches, then a level with m\leq m cut nodes, one in each branch, then m\leq m choose nodes each with m+1\leq m+1 branches, etc., until the last level of cut nodes (whose choose node parents will each have m+k\leq m+k branches, where kk is the number of levels of cut nodes). Below that level, the tree only contains choose nodes and allocation nodes.

CUT at x1[0,1]x_{1}\in[0,1]CUT at x2[x1,1]x_{2}\in[x_{1},1]CUT at xm1[xm2,1]x_{m-1}\in[x_{m-2},1]m1m-1 cut nodesCHOOSE: agent i chooses a branch (m\leq m branches). . .CUT: agent ii cuts at y0[0,x1]y_{0}\in[0,x_{1}]CUT: agent ii cuts at ym[xm1,1]y_{m}\in[x_{m-1},1]CHOOSE: agent jj chooses (m+1\leq m+1 branches)CHOOSE: agent jj chooses (m+1\leq m+1 branches)CUT:agent jj cuts at z0[0,y0]z_{0}\in[0,y_{0}]CUT:agent jj cuts at z1[y0,x1]z_{1}\in[y_{0},x_{1}]CUT:agent jj cuts at zm[xm1,1]z_{m}\in[x_{m-1},1]. . .CUT:agent jj cuts at z0[0,x1]z_{0}^{\prime}\in[0,x_{1}]. . .CUT:agent jj cuts at zm1[xm1,ym]z_{m-1}^{\prime}\in[x_{m-1},y_{m}]CUT:agent jj cuts at zm[ym,1]z_{m}^{\prime}\in[y_{m},1]

Figure 6: Protocol in the form in lemma 5.

We can assume that we are in the case where we always have the maximum number of branches at each choose node, i.e. all the “\leq” signs above are equalities. In particular, that means that at a choose node with cut node children, we will have one cut node corresponding to each contiguous piece of cake, so if there are nn cuts x1,xnx_{1}...,x_{n} when we reach the choose node, it will have cut node children corresponding to cuts into [0,x1],[x1,x2][0,x_{1}],[x_{1},x_{2}]... up to [xn,1][x_{n},1].

We can make this assumption because if we want to restrict the cut to the interval [xi,xj][x_{i},x_{j}], we can just remove the branches corresponding to making a cut outside of that interval at the end of the protocol.

We now aim to convert this protocol to one where no choose node has a cut node descendant, by moving cut node children above their choose node parent one by one, as in figures 4 and 5.

The difficulty here is that unlike with extended BC protocols in theorem 4, when we move a cut node above its choose node parent, we need to modify the other branches of the choose node to account for the extra cut, so that the resulting protocol is still a BC protocol.

Suppose there are kk levels of cut nodes below the topmost choose node.

If k=0k=0, there are no cut nodes below the topmost choose node, so we are done.

For k>0k>0, we start with the topmost level of cut nodes, which will be the children of the topmost choose node. There are mm cut nodes “agent ii cuts at yjy_{j} into [xj,xj+1][x_{j},x_{j+1}]”, j{0,,m}j\in\{0,...,m\}, where x0=0,xm=1x_{0}=0,x_{m}=1.

We start by moving the leftmost cut node, “agent ii cuts at y0[0,x1]y_{0}\in[0,x_{1}]”, above its parent. We do not need to modify the branch that cut node was in, but for the other m1m-1 branches, we need to do the following in each branch:

  • the topmost cut node is unchanged;

  • on the second level of cut nodes, we need to split the cut node “agent jj cuts at z0[0,x1]z_{0}^{\prime}\in[0,x_{1}]” into two cut nodes corresponding to cuts in [0,y0][0,y_{0}] and [y0,x1][y_{0},x_{1}].

  • on the following level, we need to split exactly one cut node in each of the m+2m+2 branches to account for the extra cut at y0y_{0}, etc.

In total, this will add 0 cut nodes on the first level, m1m-1 on the second level, (m1)(m+1)(m-1)(m+1) on the second level,…, (m1)(m+1)(m+2)(m+k)(m-1)(m+1)(m+2)...(m+k) on the kk-th (last) level. In particular, the process terminates.

We repeat this process for the other m1m-1 cut nodes on the first level. At the end, the tree will look like in figure 7, and there will be k1k-1 levels of cut nodes below the top choose node.

CUTCUTCUT2m12m-1 cut nodesCHOOSE: agent i chooses a branch (mm branches). . .CHOOSE: agent jj chooses (2m+12m+1 branches)CHOOSE: agent jj chooses (2m+12m+1 branches)CUT:agent jj cuts …CUT:agent jj cuts …CUT:agent jj cuts …. . .CUT:agent jj cuts …. . .CUT:agent jj cuts …CUT:agent jj cuts …

Figure 7: Protocol after moving first level of cut nodes above choose node.

Now, each of the mm choose nodes below the top choose node have 2m+12m+1 cut node children. Starting from the leftmost of these choose nodes and its left most cut node child, we move the child above the parent, and then move it above the top choose node. We repeat this process until we have moved all m(2m+1)m(2m+1) cut nodes on this level above the top choose node.

Now there are k2k-2 levels of cut nodes below the top choose node. Recursively, we can move the cut nodes on each level above the top choose node. Since the number of levels decreases at each step, and the process for a single level terminates, the whole conversion process terminates.

At the end, we also need to “fix” the allocation nodes to account for the extra cuts, by changing an allocation [x,y]j[x,y]\rightarrow j to [x,x0]j,,[xN,y]j[x,x_{0}]\rightarrow j,...,[x_{N},y]\rightarrow j, where x0,xNx_{0},...x_{N} are all the cuts between xx and yy. This takes time O(ac)O(ac) where aa is the number of allocation nodes and cc the number of cut nodes in the final tree.

The resulting protocol will have no cut nodes before the top choose node, so clearly it will contain no choose node with a cut node descendant.

Note that pulling a cut node above its choose node parent and splitting cut nodes in the other branches as above does not affect the allocation, hence the protocols before and after each step are strongly envy-equivalent. Therefore the original protocol and the final protocol are strongly envy-equivalent. ∎

3.5 Equivalence to GCC Protocols

In this section, we will prove that GCC and BC protocols can express the same class of protocols, up to strong envy-equivalence.

Theorem 7.

For any GCC protocol, there is a strongly envy-equivalent BC protocol.

Proof.

We will refer to a tree representation of a GCC protocol as a GCC-tree (with GCC-cut, GCC-choose, and GCC-if-else nodes), and to a tree representation of a BC protocol as BC-tree (with BC-cut and BC-choose nodes, and BC-leaves/allocation nodes).

Consider a protocol that can be represented as a GCC-tree T. We will construct a BC-tree representation of it by replacing each node vv in T and its subtree with an equivalent BC-subtree, in topological order. Before we start this process, we connect a BC allocation node to each leaf of T (with the actual allocation to be filled in later).

  • If vv is a GCC-cut node: At node vv, agent ii chooses a piece from a set SS and cuts into it. Since SS contains disjoint pieces, we can always extend it to a partition of the cake SS^{\prime}. We replace node vv with a BC-choose node, with |S||S| children, so there is one child for each piece PSP\in S. The child corresponding to a piece PP will be a BC-cut node representing the action “agent ii cuts into piece PP”. The subtree of each child in the BC-tree will be a copy of vv’s subtree. In the BC-choose node, the agent can choose which child to proceed to, so they effectively get a choice of which piece from SS to cut into.

  • If vv is a GCC-choose node: At node vv, agent ii chooses a piece from a set SS and that piece gets assigned to them. Once again, we replace node vv with a BC-choose node with |S||S| children, one for each piece PSP\in S, and make the subtree of each child a copy of vv’s subtree. The agent will choose to progress to the child corresponding to the piece they would have chosen in the GCC protocol. We now need to ensure that piece PP actually gets assigned to agent ii in the BC protocol. We add “agent ii gets piece PP” to each BC-leaf in the subtree corresponding to piece PP. At the end of the conversion process, each BC-leaf will contain a valid allocation of the entire cake.

  • If vv is a GCC-if-else node: By definition, the conditions in the if-else statement at vv depend on which pieces the agents cut/chose at each of the previous steps of the protocol. But since we have already converted all of vv’s ancestors to BC nodes, the decisions the agents made at each step before the current node are already determined, so we know what the result of the if-else statement will be and which branch the protocol will progress to. Hence, we remove all the other branches, then delete the if-else node vv and connect the single remaining branch to vv’s parent.

Note that after we have converted every node vv in the GCC-tree, the tree will only branch out at BC-choose nodes, and progression to a child will only depend on the choice the agent makes at that node.

The protocol represented by the resulting BC-tree essentially simulates every action in the initial protocol using BC-tree nodes. In particular, every agent will get the same piece of cake they would have gotten in the initial protocol. Therefore, any simultaneous bounds on their envy levels towards other agents in the initial GCC protocol carry over to the BC protocol. Hence the two protocols are strongly envy-equivalent. ∎

Remark 1.

The definition of choose/cut nodes in GCC protocols is ambiguous as to whether the set SS of pieces of cake an agent is given is restricted to continuous pieces (i.e. pieces [x,y][x,y] such that there is no other cut between xx and yy), or we also allow for pieces that contain previous cuts.

Note that the above proof assumes the former, but the result also holds for the more extensive definition, since, by a similar argument to the one in the proof of theorem 2, if a piece [x,y][x,y] contains cuts x1,,xnx_{1},...,x_{n} we can split it into n+1n+1 pieces [x,x1],,[xn,y][x,x_{1}],...,[x_{n},y] and add an if-else node below to establish which of these n+1n+1 pieces the agent acted on. This way, we can convert a protocol in the more extensive definition to the restricted one, and then convert it to a BC protocol via theorem 7.

Theorem 8.

For any BC protocol, there is a strongly envy-equivalent GCC protocol.

Proof.

We start by putting the BC protocol in the “cuts before choices” form given by theorem 6.

The BC-cut nodes can then be trivially converted to GCC-cut nodes. The BC-leaves can be converted to a chain of GCC-choose nodes (so if agent ii is allocated some interval [x,y][x,y] in the original node we make them “choose” the piece [x,y][x,y] instead. If agent ii gets multiple intervals, we will have one GCC-choose node for each).

It remains to simulate the BC-choose nodes (in which an agent chooses which branch of the tree to proceed to) using GCC nodes. We will do this by creating a piece that has value 0 for every agent, and then dividing that piece between all nn agents. Each agent will then further divide their piece and “choose” between various sub-pieces of it to artificially simulate branch choices.

The actual protocol will be run on the remaining cake, which will be an interval [an,1],an0[a_{n},1],a_{n}\geq 0 such that Vi([an,1])=1V_{i}([a_{n},1])=1 for every ii. We can do this by replacing the endpoint 0 with ana_{n} in every node of the protocol. Clearly any envy bounds in the original protocol will hold in the new protocol, since the piece [0,an][0,a_{n}] that we cut off has no value for any of the agents.

Explicitly, we add the following chain of cuts at the beginning of the protocol:

  • agent 11 cuts into [0,1][0,1] at point a1a_{1}

  • agent 22 cuts into [0,a1][0,a_{1}] at point a2a_{2}

  • agent nn cuts into [0,an1][0,a_{n-1}] at point ana_{n}

The optimal strategy for agent ii is to cut at some aia_{i} such that Vi([0,ai])=0V_{i}([0,a_{i}])=0, so the piece [0,an][0,a_{n}] will have value 0 for all agents, as required. This is because the agents cannot control how much of the piece [0,an][0,a_{n}] they get, so they want it to have as little value for them as possible.

  • agent 11 cuts into [0,an][0,a_{n}] at point b1b_{1}

  • agent 22 cuts into [0,b1][0,b_{1}] at point b2b_{2}

  • agent n1n-1 cuts into [0,bn2][0,b_{n-2}] at point bn1b_{n-1}

Now, agent ii will use the piece [bi,bi1][b_{i},b_{i-1}] (where bn=0,b0=anb_{n}=0,b_{0}=a_{n}) to simulate their BC-choose nodes as follows:

If there are mm BC-choose nodes controlled by agent ii in the tree, they cut their piece m1m-1 times, dividing it into mm pieces. Each piece will correspond to a choose node.

If the BC-choose node corresponding to the jj-th piece has kk branches, we replace it with the following process:

  • Agent ii divides the jj-th piece into kk sub-pieces, one for each branch.

  • In a GCC-choose node, agent ii chooses one of the kk sub-pieces.

  • In a GCC-if-else node, we proceed to one of the kk branches, depending on which piece the agent chose.

  • The agent gets the other k1k-1 pieces one by one (using a GCC choose node for each one).

Note that not all of agent ii’s mm BC-choose nodes might be reached in a specific run of the protocol, since they might be in different branches. This means that in some branches, the pieces corresponding to those choose nodes will not have been allocated to anyone. To resolve this issue, agent ii gets the remaining sub-pieces of [bi,bi1][b_{i},b_{i-1}] at the end.

This way, agent ii always gets the entire interval [bi,bi1][b_{i},b_{i-1}], so the interval [0,an][0,a_{n}] is all allocated to various agents.

Note there are some extra cuts in the cake at a1,,an1a_{1},...,a_{n-1} that we have ignored in the protocol. This is fine in the more extensive interpretation of GCC protocols, and it can be converted to the more restrictive interpretation by the Remark above.

The resulting protocol will be strongly envy-equivalent to the initial protocol, since, as explained above, none of the steps in the conversion process affect the envy bounds. ∎

Corollary 9.

If we allow for the more extensive interpretation of GCC protocols (as in remark 1), any extended BC protocol can be converted to a strongly-envy equivalent GCC protocol in polynomial time.

Proof.

Consider the conversion algorithm given in the proof of theorem 8. Apart from converting the BC protocol to an equivalent BC protocol in “cuts before choices” form at the start, and converting the resulting GCC protocol to fit the more restrictive interpretation of the definition at the end, the rest of the algorithm runs in polynomial time, since we only add a polynomial number of nodes to the tree.

Therefore, if we use the more extensive interpretation of GCC protocols instead, we can use theorem 4 to convert the original protocol to an extended BC protocol in “cuts before choices” form in polynomial time, then run the conversion algorithm as before. ∎

Note this argument does not work for the reverse conversion (GCC to BC) given by theorem 7, because there we specifically make use of the more restrictive classes of protocols when converting, for example, GCC if-else nodes.

3.6 Proportional Cake-Cutting Protocols

A cake-cutting protocol for nn agents is said to be proportional if each agent is guaranteed to receive a piece of cake with value at least 1n\frac{1}{n} according to their own valuation function. There are a number of well-known proportional cake-cutting protocols, such as the Dubins-Spanier protocol [8] and the Even-Paz protocol [9].

In this section, we look at how these can be represented as GCC and BC protocols.

The discrete Dubins-Spanier protocol works as follows: each agent ii makes a cut at a point aia_{i} such that Vi([0,ai])=1nV_{i}([0,a_{i}])=\frac{1}{n}. The agent who made the leftmost cut aja_{j} gets the piece [0,aj][0,a_{j}]. That agent is then removed and we repeat the protocol on the remaining cake [aj,1][a_{j},1] with the other n1n-1 agents. The last agent gets the remaining piece of cake.

Brânzei, [3] describes how the Dubins-Spanier protocol can be implemented as a GCC protocol. Each agent is asked to make a cut in [0,1][0,1] at some point aia_{i}. The leftmost cut aja_{j} is then determined using an If-Else node with nn branches, then, in the jj-th branch, agent jj “chooses” a piece from the singleton set {[0,aj]}\{[0,a_{j}]\}, and we repeat the procedure for the other n1n-1 agents on the remaining cake, ignoring the cuts made at previous steps. This protocol clearly respects the proportionality condition, so, in our language, it is value-equivalent to the original protocol. Any bounds on envy from the original protocol would also clearly carry over, so they are strongly envy-equivalent. Note that the size of the resulting GCC tree is Θ(n!)\Theta(n!), because there are nn branches on the first if-else node, then n1n-1 branches for each of those, etc. The runtime of the protocol is Θ(n2)\Theta(n^{2}) if we just count the queries/nodes, as in the original protocol, and Θ(n3)\Theta(n^{3}) if we also consider the comparisons inside each if-else node, since to find the leftmost cut we need to compare the position of each cut to the other n1n-1.

We can implement this as a BC protocol either by converting the GCC implementation using theorem 7, or as an extended BC protocol as follows: agent 11 makes a cut in [0,1][0,1] at a1a_{1}, agent 22 chooses between two branches (one for cutting in [0,a1][0,a_{1}] and the other one for [a1,1][a_{1},1]), the next agent chooses between two branches corresponding to cutting left or right of the current leftmost node. After this, we know who made the leftmost cut aja_{j} in a specific branch. At the end of the protocol agent jj will get allocated the piece [0,aj][0,a_{j}]. We repeat the algorithm for the other n1n-1 agents on the remaining cake, ignoring the cuts made at previous steps. There are 2n12^{n-1} branches in the first step, then for each of those there are 2n22^{n-2} branches in the second step, etc. So the size of the tree is 2n12n221=2n(n1)22^{n-1}2^{n-2}...2^{1}=2^{\frac{n(n-1)}{2}}, so the size of the protocol is Θ(2n2)\Theta(2^{n^{2}}).


The Even-Paz protocol for nn agents, is as follows:

  • Each agent makes a cut at zi[0,1]z_{i}\in[0,1] such that Vi([0,zi])=12V_{i}([0,z_{i}])=\frac{1}{2}.

  • The algorithm finds the n2\lfloor\frac{n}{2}\rfloor-th cut, which divides the cake into two “halves”.

  • Each half is divided recursively amongst the agents whose cuts were inside that half (with the agent who made the n2\lfloor\frac{n}{2}\rfloor-th cut going into the first half).

The runtime is Θ(nlog(n))\Theta(n\log(n)).

We can implement the Even-Paz protocol as a GCC protocol as follows: each agent makes a cut at zi[0,1]z_{i}\in[0,1], then in an if-else node with nn branches, we identify the n2\lfloor\frac{n}{2}\rfloor-th cut. We repeat the procedure for each half for the n/2n/2 agents who cut into that half. There are nn branches in the first step, then in each of those we have n/2n/2 branches for dividing the first half, each of which then splits into n/2n/2 branches for dividing the second half, etc. Assuming n=2kn=2^{k} for simplicity, the size of the tree is n(n2)2(n4)2=2k22(k1)22(k2)22=2k+2k(k1)2=2k2n(\frac{n}{2})^{2}(\frac{n}{4})^{2}...=2^{k}2^{2(k-1)}2^{2(k-2)}...2^{2}=2^{k+2\frac{k(k-1)}{2}}=2^{k^{2}}, so Θ(2k2)=Θ(nlog(n))\Theta(2^{k^{2}})=\Theta(n^{\log(n)}), and the resulting protocol is value-equivalent (so, in particular, proportional) and strongly envy-equivalent to the original one.

For the extended BC protocol implementation, agent 11 makes a cut at a1a_{1} in [0,1][0,1], agent 22 chooses between two branches (for cutting in [0,a1][0,a_{1}] or [a1,1][a_{1},1] respectively), agent 33 chooses between three branches (corresponding to cutting into each of the three existing pieces), etc. After this, we know the ordering of the cuts in a specific branch, so, in particular, the n2\lfloor\frac{n}{2}\rfloor-th cut. We recurse on the two halves of the cake. Assuming n=2kn=2^{k}, we get n!n! branches in the first step, ((n2)!)2=Θ(n!)((\frac{n}{2})!)^{2}=\Theta(n!) branches in the second step, etc, so the size of the tree is n!((n2)!)2((n4)!)2n!((\frac{n}{2})!)^{2}((\frac{n}{4})!)^{2}...

4 Conclusions and Future Work

4.1 Conclusion

In this paper, we defined a new model for representing cake-cutting protocols as trees, called branch choice (BC) protocols, which differs from other models in that instead of choosing specific pieces of cake, the agents get to choose which branch of the tree to proceed to at a certain point, and then the cake is allocated at the end. We showed that various modifications to the model do not impact its expressive power. We also proved that any BC protocol can be converted to an equivalent protocol in which the cut nodes come before the choose nodes, so that, informally, the agents can first cut up the cake, and then choose between various branches that lead to different allocations.

The main benefit of BC protocols is that they form a rather bare-bones model, so that, for example, if the protocol reaches a given node, we can deduce the execution history of the protocol (the relative order of the cuts, as well as which branches the agents chose) just based on the path from the root to that node, with no ambiguity about what decisions the agents might have made at previous nodes. This makes it easier to reason about the protocols, particularly after putting them into the special “cuts before choices” form mentioned above, since in that case we also know a lot about the structure of the tree.

This comes at no cost to the expressive power of the model, since the class of protocols it covers is the same as generalised cut and choose protocols as described by Brânzei et al. , [5], up to strong envy equivalence (which we defined to mean that in both protocols, an agent can guarantee the same simultaneous bounds on their envy against any subset of the other agents).

However, as we have seen both in some of our conversion algorithms and in the case of representing some classic protocols as BC protocols, the simplicity of the model comes with a trade-off in space complexity, and in some cases the conversion seems to result in Θ(n!)\Theta(n!) or even worse blowups in the size of the tree representation compared to the original protocol.

4.2 Future Work

Checking equivalence

Most of our results involve constructing protocols that are equivalent to a given protocol. It would be interesting to look into the computational complexity of checking whether two given BC protocols are equivalent under one of the notions of equivalence we have defined, or the highly related question of computing the value/envy bounds an agent can guarantee for themselves in a given protocol. Note that the former question very easily reduces to the latter.

Simplifying protocols

As we have seen above, explicitly representing a cake-cutting protocol as a tree, whether in the GCC or the BC protocols model, often results in a blowup in the size of the protocol, compared to its original statement. A natural question to ask is whether we can simplify a given protocol, i.e. find a strongly envy-equivalent protocol with a smaller tree representation. A brute-force approach to this would involve finding all protocols whose tree representation is smaller than the given one, and then checking, for each of these protocols, whether it is equivalent to the original protocol (which reduces to the question discussed previously).

Adding extra structure to the model

Another possible direction is to consider whether we can decrease the size of the tree representation by adding some extra structure to the model, as we already did informally in Algorithm 1 for the Selfridge-Conway protocol, where on line 1, for example, we label the piece agent 22 cut AA and the other two pieces BB and CC, instead of explicitly showing the three (virtually identical) branches corresponding to each piece.

We propose two possible types of nodes to add:

  • Piece permutation: agent ii permutes the order of the existing pieces of cake. If there are currently mm cuts in the cake, then there are m+1m+1 continuous pieces which we can number 1,,m1,...,m from left to right, and agent ii can apply some permutation σSm+1\sigma\in S_{m+1} to reorder them. Note this is functionally equivalent to the labelling used in the Selfridge-Conway protocol, which we mentioned above, since agent 22 could, for example, reorder the pieces in increasing order of their value, and then cut the third piece. This would reduce the size of the BC tree representation of the Selfridge-Conway protocol in figure 1, since we would only need a single branch at the topmost choose node instead of three. This leads us to believe there is a class of protocols for which adding this type of node can be proven to reduce the size of the protocol, possibly exponentially in the case where this kind of node is used multiple times.

    Adding piece permutation nodes to the BC protocols model is straightforward, as long as we refer to the pieces by their position in the cake (e.g. “agent 11 cuts the second piece from the left”), rather than by their endpoints, which in the case of BC protocols does not make any difference.

    We can also add them to GCC protocols, provided we change the model to refer to pieces by their position in the cake, but in this case we have to decide whether we should account for pieces that agents have already taken from the cake, e.g. if the cake is divided into three pieces 1,2,31,2,3 and some agent chooses piece 22, should the remaining pieces now be 11 and 33 or can we relabel them 11 and 22?

  • Agent permutation: There are two types of action we can consider here: either some agent ii permutes the order of the other agents, which would allow them to choose, for example, which of the other agents they are envious of in some situation, or we have a referee who can reorder the agents according to some rule. The former option can be added to both GCC and BC protocols, while the latter can more naturally be added to GCC protocols, as an extension to the existing if-else node, and could be used, for example, in the case of the Dubins-Spanier protocol, where we use an if-else node to identify the agent who made the leftmost cut, in which case we can reorder the agents so that agent is now the nn-th one, and recurse on the first n1n-1 agents.

Converting other protocols to the BC model

We have already shown that some classic protocols (Selfridge-Conway, Dubins-Spanier, Even-Paz) can be converted to BC protocols, but it would be interesting to extend this result to other protocols in the literature. Of particular interest would be the discrete bounded envy-free protocol for nn agents proposed by Aziz & Mackenzie, [1]. We suspect that it is possible to convert this protocol to a BC protocol, since a lot of the additional structure used in the protocol could be encoded into the BC tree representation, or implicitly in the agents’ strategies to achieve envy-freeness, but we have not checked this.

Acknowledgements

We thank Simina Brânzei for helpful comments.

References

  • Aziz & Mackenzie, [2016] Aziz, Haris, & Mackenzie, Simon. 2016. A Discrete and Bounded Envy-Free Cake Cutting Protocol for Any Number of Agents. Pages 416–427 of: Dinur, Irit (ed), IEEE 57th Annual Symposium on Foundations of Computer Science, FOCS. IEEE Computer Society.
  • Brams & Taylor, [1996] Brams, Steven J., & Taylor, Alan D. 1996. Fair Division: From Cake-Cutting to Dispute Resolution. Cambridge University Press.
  • Brânzei, [2015] Brânzei, Simina. 2015. Computational Fair Division. Ph.D. thesis, Department of Computer Science, Aarhus University. Main Supervisor: Peter Bro Miltersen.
  • Brânzei & Miltersen, [2015] Brânzei, Simina, & Miltersen, Peter Bro. 2015. A Dictatorship Theorem for Cake Cutting. Page 482–488 of: Proceedings of the 24th International Conference on Artificial Intelligence. IJCAI’15. AAAI Press.
  • Brânzei et al. , [2013] Brânzei, Simina, Caragiannis, Ioannis, Kurokawa, David, & Procaccia, Ariel D. 2013. Equilibria of Generalized Cut and Choose Protocols. CoRR, abs/1307.2225.
  • Brânzei et al. , [2016] Brânzei, Simina, Caragiannis, Ioannis, Kurokawa, David, & Procaccia, Ariel D. 2016. An Algorithmic Framework for Strategic Fair Division. Pages 418–424 of: Schuurmans, Dale, & Wellman, Michael P. (eds), Procs. of the 30th AAAI Conference on Artificial Intelligence. AAAI Press.
  • Chen et al. , [2013] Chen, Yiling, Lai, John K., Parkes, David C., & Procaccia, Ariel D. 2013. Truth, justice, and cake cutting. Games and Economic Behavior, 77(1), 284–297.
  • Dubins & Spanier, [1961] Dubins, L. E., & Spanier, E. H. 1961. How to Cut a Cake Fairly. The American Mathematical Monthly, 68(1P1), 1–17.
  • Even & Paz, [1984] Even, S., & Paz, A. 1984. A note on cake cutting. Discrete Applied Mathematics, 7(3), 285–296.
  • Procaccia, [2013] Procaccia, Ariel D. 2013. Cake cutting: not just child’s play. Commun. ACM, 56(7), 78–87.
  • Robertson & Webb, [1998] Robertson, J., & Webb, W. 1998. Cake-Cutting Algorithms: Be Fair if You Can. A K Peters.
  • Steinhaus, [1949] Steinhaus, H. 1949. Sur la division pragmatique. Econometrica, 17, 315–319.
  • Tao, [2021] Tao, Biaoshuai. 2021. On Existence of Truthful Fair Cake Cutting Mechanisms. CoRR, abs/2104.07387.
  • Woeginger & Sgall, [2007] Woeginger, Gerhard J., & Sgall, Jiří. 2007. On the complexity of cake cutting. Discrete Optimization, 4(2), 213–220.