Introduction
Cake cutting is an old and famous problem in resource allocation, with the cake serving as a metaphor for a heterogeneous divisible resource that is supposed to be fairly divided among interested agents. While the problem has long enjoyed substantial attention from mathematicians and economists, it has also attracted ongoing interest from computer scientists, not least those working in artificial intelligence (Balkanski et al. 2014; Li et al. 2015; Brânzei et al. 2016; Alijani et al. 2017; Menon and Larson 2017; Bei et al. 2018; Goldberg et al. 2020; Hosseini et al. 2020). Indeed, as Procaccia 2013 aptly put it, cake cutting is more than just child’s play.
The cake in cake cutting is typically assumed to be a one-dimensional interval. Even though the linear representation is appropriate for modeling the division of time (for instance, usage of a jointly-owned facility), or space in a hallway, it is too simplistic to capture more complex resources such as road networks. This consideration has led Bei and Suksompong 2021 to introduce a more general graphical cake model, in which the resource comes in the form of a connected undirected graph. In parallel, Segal-Halevi 2021 addressed the case of graphs given by a disjoint union of intervals. In contrast to the single interval cake, for general graphs it is not always possible to find a connected proportional allocation, that is, an allocation that gives every agent a connected subset of the cake worth at least 1/n of the agent’s value for the entire cake, where n denotes the number of agents among whom the cake is divided. Nevertheless, Bei and Suksompong showed that more than half of this guarantee can be recovered: for any connected graph, it is possible to ensure every agent at least 1/(2n−1) of her total value, and this factor is tight in general (but can be improved for certain graphs). For the union-of-intervals case, Segal-Halevi established an approximation factor of 1/(m+n−1), where m denotes the number of intervals.
In this paper, we study graphical cake cutting with respect to another prominent fairness notion, maximin share fairness (Budish 2011). An allocation satisfies this notion if it assigns to every agent a bundle worth at least her maximin share, i.e., the largest value that she can get if she is allowed to partition the cake into n connected parts and receives the least valuable part. Maximin share fairness is a robust notion which can naturally take into account the features and constraints arising in various settings. Indeed, this robustness will make it feasible to derive positive results in three settings where approximate proportionality fails. First, we allow the graph to be arbitrary—it may be disconnected, and each of its connected components may have an arbitrary topology. Second, we allow agents to have general monotone valuations—unlike most of the cake cutting literature, we do not assume that valuations must be additive. With disconnected graphs or non-additive valuations, providing an approximate proportionality guarantee solely in terms of n is impossible. Third, we also consider a recently introduced setting of Elkind et al. 2021b in which the shares of different agents should be sufficiently separated from one another; this allows us to model space between pieces of roads with different owners, for example transition or buffer zones. In the presence of separation constraints, obtaining any multiplicative approximation of proportionality is again infeasible, as can be seen when the value of all agents is entirely concentrated in the same tiny portion. This observation motivated Elkind et al. to use the maximin share benchmark when separation is imposed. They showed that with separation, a maximin allocation always exists for a path graph, but not for a cycle graph.
We begin in Section 3 by addressing the basic case where no separation constraints are imposed. As Bei and Suksompong 2021 noted, in this case it can be crucial for proportionality approximations whether or not pieces of different agents are allowed to share a finite number of points. We show that this assumption is also crucial with respect to maximin share fairness. In particular, if points can be shared, then a maximin allocation may not exist even when the graph is a star, whereas if sharing is not allowed, the existence of such an allocation can be guaranteed for acyclic graphs (i.e., a disjoint union of trees, also known as a forest). Our results complement those of Bei and Suksompong, who observed that approximate proportionality cannot be provided even for trees under the no-sharing assumption. In addition, our guarantees degrade gracefully for graphical cakes with cycles: we attain a 1-out-of-(n+r) maximin allocation, where r is the feedback vertex set number of the cake (that is, the smallest number of vertices whose removal would make the cake acyclic).
In Section 4, we consider the more general case where the pieces of any two agents must be separated by distance at least a given (positive) parameter. Our main technical result shows that a maximin allocation exists whenever the graph is acyclic—this significantly generalizes the existence result of Elkind et al. 2021b for paths and complements their non-existence result for cycles. As with paths, our proof uses the following high-level idea: Given the maximin partitions of the agents, we find a part in one agent’s partition such that allocating the part to that agent rules out at most one part in each remaining agent’s partition; this allows us to recurse on the remaining agents and cake. While in the case of paths the desired part can be found by simply scanning the path from left to right, in an arbitrary forest there is no ‘left’ or ‘right’, so new techniques are needed. We develop auxiliary lemmas related to real trees—metric spaces defined by tree graphs—which may be of independent interest. As in the case of no separation, we obtain a 1-out-of-(n+r) maximin allocation for general graphs.
For the case of positive separation, we show that in general, the factor n+r cannot be improved: for every r≥0, when n is sufficiently large, there exists a graph with feedback vertex set number r and a set of n agents that do not admit a 1-out-of-(n+r−1) maximin allocation. However, better guarantees can be attained for smaller n and specific classes of graphs.
2 Additional Related Work
As mentioned earlier, cake cutting is a popular topic among researchers of several disciplines—see the classic books of Brams and Taylor 1996 and Robertson and Webb 1998, as well as a more recent survey by Procaccia 2016 offering a computer scientist’s perspective.
Most of the work relevant to graphical fair division and separation constraints has been covered by Bei and Suksompong 2021 and Elkind et al. 2021b; we refer to the related work section of their papers, but highlight here some important aspects of our study. First, we assume that each agent must receive a connected piece of cake. This assumption is often made in order to ensure that agents do not end up with a collection of crumbs—indeed, a bundle made up of tiny stretches of road in different parts of the network is unlikely to be of much use. Second, the connectivity requirement is imposed not only on the allocation, but also in the definition of the maximin share. This is consistent with previous work on maximin share fairness in constrained settings (Bouveret et al. 2017; Biswas and Barman 2018; Lonc and Truszczynski 2020; Bei et al. 2021; Elkind et al. 2021b). Bouveret et al. 2017 proved that for indivisible items lying on a tree, a maximin allocation exists. However, as we discuss in Section 5, the “last diminisher” approach that they used for this proof does not work in our setting with separation. Recently, Igarashi and Zwicker 2021 studied envy-freeness in graphical cake cutting under the assumption that agents cannot share individual points, while Elkind et al. 2021a investigated land division with separation constraints.
In the papers above, as in our paper, the resource to be divided lies on a graph. A complementary line of work studies fair division scenarios in which the agents lie on a graph indicating their acquaintance (Abebe et al. 2017; Bei et al. 2017; Aziz et al. 2018).
Preliminaries
There is a set of agents N=[n], where [k]:={1,2,…,k} for any positive integer k. The cake is represented by a finite undirected graph G=(V,E), which may be connected or not. Each agent has a nonnegative, monotone, and continuous valuation function vi, which is not necessarily additive. In particular, continuity implies that the vertices in V have zero value. Note that the cases studied by Elkind et al. 2021b and in most cake cutting papers are special cases of this model: an interval cake corresponds to taking G to be any path graph, while a pie cake is equivalent to a cycle graph. A piece of cake is a finite union of intervals from one of more edges in E. The piece is said to be connected if for any points x,y in it, one can get from x to y along the graph G by only traversing this piece of cake. We assume that each agent must receive a connected piece of cake.
There is a separation parameter s≥0. When s>0, the edge lengths play an important role. We measure distance along the edges of G. For any two points x,y∈G, we denote by \textscDistG(x,y) the length of a shortest path from x to y along the edges of G; if x and y belong to different connected components of G, we set \textscDistG(x,y)=∞. For two pieces of cake X,Y⊆G, we denote by \textscDistG(X,Y) the shortest distance between a point in X and a point in Y along the edges of G, i.e., \textscDistG(X,Y)=infx∈X,y∈Y\textscDistG(x,y); if Y consists of a single point y, we simply write \textscDistG(X,y).
A partition of the cake is a set P={P1,…,Pn}, where each Pi is a connected piece of cake, and the pieces are pairwise disjoint: Pi∩Pj=∅ for all i=j. When s=0, we will consider, in addition to the disjoint-pieces setting, an alternative setting in which Pi∩Pj may contain finitely many points. An allocation is defined similarly, except that we have a vector A=(A1,…,An) instead of a set, where piece Ai is allocated to agent i. A partition P is said to be s-separated if \textscDistG(Pi,Pj)≥s for all i=j; an analogous definition holds for an allocation. We assume that partitions and allocations are required to be s-separated. Observe that for s>0, in any s-separated partition or allocation, some of the cake necessarily remains unallocated. Moreover, since any two pieces are separated by a positive distance, we assume without loss of generality in this case that the pieces contain only closed intervals. Denote by Γn,s the set consisting of all s-separated partitions.
The main fairness notion of our paper is the following:
The maximin share of agent i, denoted by MMSin,s, is defined as supP∈Γn,sminj∈[n]vi(Pj).
No Separation
In this section, we address the basic case where there is no separation constraint imposed on the allocation, i.e., s=0. When s>0, the pieces of any two agents cannot be adjacent to each other, so we can assume without loss of generality that all pieces consist only of closed intervals and the pieces have empty intersections. For s=0, however, this is not true: there are essential differences between the empty-intersection setting and the finite-intersection setting, in which pieces may overlap in finitely many points. This observation was made by Bei and Suksompong 2021 with respect to approximate proportionality for the case of a star graph. Specifically, in the empty-intersection setting, n−1 agents do not receive the center of the star and therefore can receive cake from at most one edge, leading to strong negative results. On the other hand, in the finite-intersection setting, decent welfare guarantees can be obtained.
As we will demonstrate, the distinction between empty intersection and finite intersection is crucial with respect to maximin share fairness too. Note that the maximin share is calculated using the same restrictions that are imposed on allocations. First, we show that in the finite-intersection setting, a maximin allocation may not exist.
Assume that the allocated pieces are allowed to intersect in a finite number of points. There exists an instance with n=3 agents and a star cake in which no maximin allocation exists.
The proof follows the celebrated Theorem 2.1 of Kurokawa et al. 2018, which shows that a maximin allocation of indivisible objects may not exist for n=3 agents.
In their instance, there are 12 objects, indexed by j∈ and k∈. Each agent i∈ values each object (j,k) by:
where T,E(1),E(2),E(3) are carefully chosen 3×4 matrices with all values smaller than 100. Kurokawa et al. proved that every agent can partition the objects into 3 subsets of 4 objects each, in such a way that the sum of values in each subset is exactly 4055000; this value is therefore the maximin share of all agents. These authors then showed that no allocation gives every agent at least this value.
In our instance, there is a star graph with 12 edges connected to a single center vertex c. The edges are indexed by j∈ and k∈. Each agent i∈ has value vi(j,k) for the edge (j,k), and this value is spread uniformly across the edge. Since the pieces may intersect in a finite number of points, the maximin share of each agent is also 4055000 in our instance, by partitioning the set of edges to 3 subsets of 4 edges each (these subsets intersect in the single point c).
If an agent’s piece is contained in a single edge, then her value is clearly less than 2000000. Hence, in a maximin allocation, each edge must belong to only one agent. We may therefore assume without loss of generality that each agent receives a piece containing two or more whole edges. But the same argument as that of Kurokawa et al. 2018 shows that no such allocation can be a maximin allocation. ∎
Next, we show that in the empty-intersection setting, a maximin allocation always exists when the cake is a forest.
Let G be a forest and s=0. Assume that all allocated pieces must be completely disjoint. For agents with arbitrary monotone valuations, a maximin allocation exists.
Intuitively, given the n maximin partitions of the agents, we want to choose a part in one agent’s partition that overlaps at most one part in each remaining agent’s partition—this will allow us to recurse on the remaining agents and their leftover partitions. To this end, we introduce the following definition. Given a graph G and a family X:=(X1,…,Xk) of connected pieces of G, a piece Xj∗ is called 0-good provided that for all j1,j2∈[k], the following holds: If Xj1∩Xj∗=∅ and Xj2∩Xj∗=∅, then Xj1∩Xj2=∅.
Let G be a tree and X:=(X1,…,Xk) a family of connected subsets of G, for some integer k≥1. For some j∗∈[k], the piece Xj∗ is 0-good.
In order to prove this lemma, we must handle both open and closed pieces. We are grateful to Alex Ravsky for the proof idea. Indeed, for n=3 and a star graph with three edges of equal value, a maximin partition contains two open pieces and one closed piece. The difference between the empty-intersection and the finite-intersection settings stems from the fact that the finite-intersection analogue of Lemma 3.3 does not hold. For example, when G is a star graph with center c and edges e1,e2,e3,e4, and X=(e1∪c∪e2, e3∪c∪e4, e1∪c∪e3, e2∪c∪e4), there is no Xj∗ with the property that if Xj1∩Xj∗ is infinite and Xj2∩Xj∗ is infinite, then Xj1∩Xj2 is infinite.
We proceed to the inductive step. Let m≥2, assume that the statement holds for graphs with at most m−1 edges, and suppose that G has m edges. Since G is a tree, it has a leaf, i.e., a vertex w connected to a single edge e. Let G− be the graph G without the vertex w and the edge e. Let u be the vertex at the other end of e; note that u is a vertex of G−. We consider two cases.
Case 1: At least one piece of X is contained in e (so it is an interval). Among all such intervals, choose an Xj∗ whose closest point to u is as far away as possible. Then Xj∗ is 0-good by the same arguments as in the base case m=1.
Case 2: No piece of X is contained in e. This means that all pieces of X intersect G−. Let X′:=(X1′,…,Xk′), where Xj′:=Xj∩G− for each j∈[k]. By the inductive assumption applied to G−, at least one piece in X′, say Xj∗′, is 0-good with respect to X′. It suffices to show that Xj∗ is also 0-good with respect to X.
We claim that if Xj∗ intersects some other piece Xj, then Xj∗′ also intersects Xj′. To see this, note that the intersection between Xj∗ and Xj may occur either in G− or in e (or both). If the intersection occurs in G−, then Xj∗′ intersects Xj′ and we are done. If the intersection occurs in e, then Xj∗∩e intersects Xj∩e, so both of the intersections are non-empty. But by the assumption of Case 2, all pieces of X intersect G−. Therefore, both Xj∗ and Xj contain the point u, which is the unique point connecting e and G−. Therefore u∈Xj∗′∩Xj′, so again Xj∗′ intersects Xj′. This establishes the claim.
We now show that Xj∗ is 0-good with respect to X. Suppose that Xj∗ intersects two other pieces in X, say Xj1 and Xj2. By the claim in the previous paragraph, Xj∗′ intersects both Xj1′ and Xj2′. Since Xj∗′ is 0-good with respect to X′, it must be that Xj1′ intersects Xj2′. In particular, Xj1 intersects Xj2. Hence, Xj∗ is 0-good with respect to X. ∎
With Lemma 3.3 in hand, we can now show that, in the empty-intersection setting, a maximin allocation exists whenever the cake is a forest.
For each agent, consider her maximin partition. Every part of the partition is contained in some tree of the forest. Let T⊆G be a tree that contains at least one part from the maximin partition of at least one agent.
For every agent i∈N, let ki be the number of parts of i’s maximin partition that are contained in T, and denote the parts by Ti,1,…,Ti,ki. By Lemma 3.3, there exists some i∈N and j∈[ki] such that Ti,j is 0-good. Allocate the part Ti,j to agent i, and divide the remaining cake recursively among the remaining agents.
The remaining cake is still a forest. By definition of a 0-good subset, for every other agent, at most one part of her maximin partition overlaps the allocated piece Ti,j. Hence, for each of the n−1 remaining agents, at least n−1 parts from her maximin partition remain intact. Therefore the recursive call indeed returns a maximin allocation. ∎
As we have seen, the seemingly minor distinction of whether individual points can be shared among allocated pieces makes a decisive difference in relation to maximin share fairness. Which assumption is more realistic depends on the use case, for example whether road intersections can only be owned by one agent or shared by multiple agents. Bei and Suksompong 2021 showed that nontrivial egalitarian welfare can be obtained only when sharing is allowed. Thus, our results complement theirs by exhibiting that even when sharing is infeasible, a reasonable fairness guarantee can still be made in terms of the maximin share.
We now proceed to general graphs. We consider an ordinal relaxation called 1-out-of-k maximin share, denoted by MMSik,s, or simply MMSik when s is clear from the context. The idea is that instead of taking partitions into n parts as in the canonical maximin share, we allow partitions into k parts, where k>n is a given parameter. For each graph G, let \textscFvsNum(g) be the feedback vertex set number of G, that is, the minimum number of vertices whose removal makes the graph acyclic. Computing \textscFvsNum(g) is NP-hard (Karp 1972), but here we use it only for existence proofs. Note that \textscFvsNum(G) is upper-bounded by the circuit rank of G, that is, the minimum number of edges whose removal makes the graph acyclic. The circuit rank of a graph G=(V,E) with c connected components is ∣E∣−∣V∣+c.
Let s=0, and assume that all allocated pieces must be completely disjoint. For any graph G and any n agents with arbitrary monotone valuations, there exists an allocation of G in which each agent i receives a connected piece with value at least MMSin+\textscFvsNum(G).
Let r:=\textscFvsNum(G). For each agent, consider her 1-out-of-(n+r) maximin partition. Pick a subset of r vertices upon whose deletion the remaining graph is a forest. Delete each of these vertices (while keeping its adjacent edges intact as open intervals). By the empty-intersection assumption, each vertex deletion harms at most one part in each agent’s partition. Therefore, once the graph becomes a forest, for every agent, at least n parts remain. By Theorem 3.2, there is an allocation in which every agent i gets at least one of her maximin parts, and therefore value at least MMSin+r. ∎
For every graph G, let \textscMmsRank(G) be the smallest integer r≥0 such that for any integer n≥1 and any n agents with arbitrary monotone valuations, there exists an allocation of G in which each agent i receives a connected piece with value at least MMSin+r. Theorem 3.4 shows that \textscMmsRank(G)≤\textscFvsNum(G); we do not know if this inequality is tight.
When agents’ valuations are additive, Theorem 3.4 is not tight for some graphs. In particular, when G is a cycle, \textscFvsNum(G)=1, but it is known that MMSin can be guaranteed to all agents (by reduction to an interval, for which proportionality can be guaranteed). Therefore, \textscMmsRankAdd(G)=0, where \textscMmsRankAdd(G) is defined analogously to \textscMmsRank(G) for additive valuations.
(a) Are there classes of graphs G for which \textscMmsRank(G)<\textscFvsNum(G)?
(b) Are there graphs G for which \textscMmsRankAdd(G)>0 (that is, for some n agents with additive valuations, a 1-out-of-n maximin allocation does not exist)?
Positive Separation
In this section, we consider the case where a separation constraint is imposed, that is, s>0.
By definition of a tree, for any two points x,y∈G, there is a unique (simple) path between x and y. Denote this unique path by \textscPathG(x,y) or x→y, and observe that the length of this path is \textscDistG(x,y). We say that two subsets of G are essentially-disjoint if they intersect in at most a single point.
Let G be a tree, X⊆G a closed connected subset, and r∈G a point. There exists a unique point x∗∈X (a function of X and r) satisfying the following properties:
(a) The path from any point in X to r passes through x∗. That is, for any y∈X: x∗∈\textscPathG(y,r).
(b) x∗ is closer to r than any other point in X is. That is, \textscDistG(x∗,r)<\textscDistG(y,r) for all y∈X.
(c) For any y∈X, \textscDistG(y,r)=\textscDistG(y,x∗)+\textscDistG(x∗,r).
If r∈X, then all three claims hold trivially by taking x∗=r. Assume therefore that r∈X.
(a) For each point y∈X, denote by y∗ the unique point on X∩\textscPathG(y,r) that is closest to r (intuitively, the point at which \textscPathG(y,r) leaves X and heads towards r). We claim that this point is the same for all points in X, i.e., if y,z∈X then y∗=z∗, as in the illustration below, where we denote this common point by x∗:
r<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>x</mi><molspace="0em"rspace="0em">∗</mo></msub></mrow><annotationencoding="application/x−tex">x∗</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.5806em;vertical−align:−0.15em;"></span><spanclass="mord"><spanclass="mordmathnormal">x</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.1757em;"><spanstyle="top:−2.55em;margin−left:0em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmtight">∗</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span>y<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><mi>z</mi></mrow><annotationencoding="application/x−tex">z</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.4306em;"></span><spanclass="mordmathnormal"style="margin−right:0.044em;">z</span></span></span></span></span>X Suppose for contradiction that y∗=z∗. The paths \textscPathG(y∗,r) and \textscPathG(z∗,r) meet at r. Let w be the first point at which they meet. So the paths \textscPathG(y∗,w) and \textscPathG(z∗,w) are essentially-disjoint (they intersect only at w). As X is connected, there is a path \textscPathG(y∗,z∗)⊆X; this path is essentially-disjoint from both \textscPathG(y∗,w) and \textscPathG(z∗,w), since these two paths intersect X only at their starting point y∗ and z∗, respectively. Therefore, we have a cycle y∗→w→z∗→y∗, as in the following figure:
r<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><mi>w</mi></mrow><annotationencoding="application/x−tex">w</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.4306em;"></span><spanclass="mordmathnormal"style="margin−right:0.0269em;">w</span></span></span></span></span>y<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>y</mi><molspace="0em"rspace="0em">∗</mo></msub></mrow><annotationencoding="application/x−tex">y∗</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.625em;vertical−align:−0.1944em;"></span><spanclass="mord"><spanclass="mordmathnormal"style="margin−right:0.0359em;">y</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.1757em;"><spanstyle="top:−2.55em;margin−left:−0.0359em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmtight">∗</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span>z<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>z</mi><molspace="0em"rspace="0em">∗</mo></msub></mrow><annotationencoding="application/x−tex">z∗</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.5806em;vertical−align:−0.15em;"></span><spanclass="mord"><spanclass="mordmathnormal"style="margin−right:0.044em;">z</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.1757em;"><spanstyle="top:−2.55em;margin−left:−0.044em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmtight">∗</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span>X This contradicts the assumption that G is a tree. Parts (b) and (c) follow immediately from (a). ∎
Denote the unique point x∗ guaranteed by Lemma 4.1 by \textscNearest(X,r). \textscNearest(X,r) is closely related to the concept of median in a tree. Given three points x,y,z of a tree graph, there is a unique point in \textscPathG(x,y)∩\textscPathG(y,z)∩\textscPathG(z,x); this point is called the median of x,y,z. More generally, any graph with this uniqueness property is called a median graph; such graphs have been studied in voting theory (Nehring and Puppe 2007). The lemma can be generalized as follows:
Let G be a tree and X,R⊆G be closed connected subsets with X∩R=∅. There exists a unique point x∗∈X (a function of X and R) satisfying the following properties:
(a) The path from any point in X to any point in R passes through x∗.
(b) For every point r∈R, x∗ is closer to r than any other point in X is.
As in Lemma 4.1, it suffices to prove part (a). For each point y∈X, denote by ry∈R the unique point such that any path from y to a point in R must pass through ry; the existence of ry follows from Lemma 4.1. Denote by y∗ the unique point on X∩\textscPathG(y,ry) that is closest to R (i.e., the point at which \textscPathG(y,ry) leaves X towards R). We claim that this point is the same for all points in X, i.e., if y,z∈X then y∗=z∗, as in the illustration below, where we denote this common point by x∗:
R<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>r</mi><molspace="0em"rspace="0em">∗</mo></msub></mrow><annotationencoding="application/x−tex">r∗</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.5806em;vertical−align:−0.15em;"></span><spanclass="mord"><spanclass="mordmathnormal"style="margin−right:0.0278em;">r</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.1757em;"><spanstyle="top:−2.55em;margin−left:−0.0278em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmtight">∗</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span>x∗X Suppose for contradiction that y∗=z∗. If the paths \textscPathG(y,ry) and \textscPathG(z,rz) intersect at some point (in particular, this happens if ry=rz), then there is a cycle in G as in the proof of Lemma 4.1. Otherwise, the paths intersect R at different points ry=rz, as in the following figure:
R<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>r</mi><mi>y</mi></msub></mrow><annotationencoding="application/x−tex">ry</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.7167em;vertical−align:−0.2861em;"></span><spanclass="mord"><spanclass="mordmathnormal"style="margin−right:0.0278em;">r</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.1514em;"><spanstyle="top:−2.55em;margin−left:−0.0278em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmathnormalmtight"style="margin−right:0.0359em;">y</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span></span>rz<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><mi>y</mi></mrow><annotationencoding="application/x−tex">y</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.625em;vertical−align:−0.1944em;"></span><spanclass="mordmathnormal"style="margin−right:0.0359em;">y</span></span></span></span></span>y∗<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><mi>z</mi></mrow><annotationencoding="application/x−tex">z</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.4306em;"></span><spanclass="mordmathnormal"style="margin−right:0.044em;">z</span></span></span></span></span>z∗X Since R and X are connected and disjoint from each other, we have a cycle y∗→z∗→rz→ry→y∗, contradicting the assumption that G is a tree. ∎
For non-intersecting subsets X,R⊆G, denote the unique point x∗ guaranteed by Lemma 4.2 by \textscNearest(X,R). Note that \textscNearest(X,R)=\textscNearest(R,X): the former is in X while the latter is in R. We now define “s-good” pieces similarly to 0-good pieces in Lemma 3.3. Given a graph G and a family X:=(X1,…,Xk) of closed connected pieces of G, a piece Xj∗ is called s-good provided that for all j1,j2∈[k], the following holds: If \textscDistG(Xj1,Xj∗)<s and \textscDistG(Xj2,Xj∗)<s, then \textscDistG(Xj1,Xj2)<s.
Let G be a tree and X:=(X1,…,Xk) a family of closed connected subsets of G, for some integer k≥1. If s>0, then for some j∗∈[k], the piece Xj∗ is s-good.
Fix an arbitrary point r∈G as the tree root. For every j∈[k], let xj:=\textscNearest(Xj,r) and dj:=\textscDistG(xj,r). Let j∗∈argmaxj∈[k]dj, so that Xj∗ is a piece in X farthest from r; we abuse notation slightly and refer to this piece as X0. We claim that X0 is s-good. To prove this, we need several auxiliary claims on X0.
For each j∈[k], if X0 intersects Xj, then x0∈Xj.
Take any point y∈X0∩Xj. By Lemma 4.1, \textscPathG(y,r) passes through both x0 and xj. By the selection of x0, the path passes through x0 before it passes through xj, as in the illustration below:
r<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>x</mi><mi>j</mi></msub></mrow><annotationencoding="application/x−tex">xj</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.7167em;vertical−align:−0.2861em;"></span><spanclass="mord"><spanclass="mordmathnormal">x</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.3117em;"><spanstyle="top:−2.55em;margin−left:0em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmathnormalmtight"style="margin−right:0.0572em;">j</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span></span>x0<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><mi>y</mi></mrow><annotationencoding="application/x−tex">y</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.625em;vertical−align:−0.1944em;"></span><spanclass="mordmathnormal"style="margin−right:0.0359em;">y</span></span></span></span></span>XjX0 It follows that x0∈\textscPathG(y,xj)⊆Xj. ∎
For each j∈[k], if X0 does not intersect Xj, then x0=\textscNearest(X0,Xj).
Let y0:=\textscNearest(X0,Xj) and suppose for contradiction that x0=y0. Then there are two different paths from x0 to r, as illustrated below, where yj:=\textscNearest(Xj,X0):
r<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>x</mi><mn>0</mn></msub></mrow><annotationencoding="application/x−tex">x0</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.5806em;vertical−align:−0.15em;"></span><spanclass="mord"><spanclass="mordmathnormal">x</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.3011em;"><spanstyle="top:−2.55em;margin−left:0em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmtight">0</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span>X0<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>x</mi><mi>j</mi></msub></mrow><annotationencoding="application/x−tex">xj</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.7167em;vertical−align:−0.2861em;"></span><spanclass="mord"><spanclass="mordmathnormal">x</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.3117em;"><spanstyle="top:−2.55em;margin−left:0em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmathnormalmtight"style="margin−right:0.0572em;">j</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span></span>Xj<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>y</mi><mn>0</mn></msub></mrow><annotationencoding="application/x−tex">y0</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.625em;vertical−align:−0.1944em;"></span><spanclass="mord"><spanclass="mordmathnormal"style="margin−right:0.0359em;">y</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.3011em;"><spanstyle="top:−2.55em;margin−left:−0.0359em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmtight">0</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span>yj The path x0→r intersects X0 only at x0. The path x0→y0 is contained in X0; y0→yj is essentially-disjoint from both X0 and Xj; yj→xj is contained in Xj (it may be empty); and xj→r is essentially-disjoint from Xj. By the selection of x0, \textscDistG(xj,r)≤\textscDistG(x0,r), so this last part xj→r is essentially-disjoint from X0 too. Therefore, these are two different paths from x0 to r, contradicting that G is a tree. ∎
For every j∈[k] such that X0∩Xj=∅, let yj:=\textscNearest(Xj,X0)=\textscNearest(Xj,x0) and zj:=\textscNearest(\textscPathG(x0,yj),r), i.e., zj is the point at which the path from x0 to r meets the path from yj to r. Our next auxiliary claim is (see also the figures in the proof):
For each j∈[k], \textscDistG(yj,zj)≤\textscDistG(x0,zj).
Consider first the case that yj=xj (see the illustration below). We have
Recall that x0 was selected so that \textscDistG(x0,r)≥\textscDistG(xj,r). Subtracting the common term \textscDistG(zj,r) gives \textscDistG(x0,zj)≥\textscDistG(yj,zj)=\textscDistG(xj,zj).
r<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>z</mi><mi>j</mi></msub></mrow><annotationencoding="application/x−tex">zj</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.7167em;vertical−align:−0.2861em;"></span><spanclass="mord"><spanclass="mordmathnormal"style="margin−right:0.044em;">z</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.3117em;"><spanstyle="top:−2.55em;margin−left:−0.044em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmathnormalmtight"style="margin−right:0.0572em;">j</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span></span>x0<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>X</mi><mn>0</mn></msub></mrow><annotationencoding="application/x−tex">X0</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.8333em;vertical−align:−0.15em;"></span><spanclass="mord"><spanclass="mordmathnormal"style="margin−right:0.0785em;">X</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.3011em;"><spanstyle="top:−2.55em;margin−left:−0.0785em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmtight">0</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span>xj=yjXj Next, consider the case that yj=xj. Since yj=\textscNearest(Xj,x0), it is contained in the path x0→xj. On the other hand, since xj=\textscNearest(Xj,r), it is contained in the path yj→r. Therefore, the path from x0 to r passes through both yj and xj, as in the figure below:
r<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>x</mi><mi>j</mi></msub></mrow><annotationencoding="application/x−tex">xj</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.7167em;vertical−align:−0.2861em;"></span><spanclass="mord"><spanclass="mordmathnormal">x</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.3117em;"><spanstyle="top:−2.55em;margin−left:0em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmathnormalmtight"style="margin−right:0.0572em;">j</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span></span>yj<spanclass="katex−display"><spanclass="katex"><spanclass="katex−mathml"><mathxmlns="http://www.w3.org/1998/Math/MathML"display="block"><semantics><mrow><msub><mi>x</mi><mn>0</mn></msub></mrow><annotationencoding="application/x−tex">x0</annotation></semantics></math></span><spanclass="katex−html"aria−hidden="true"><spanclass="base"><spanclass="strut"style="height:0.5806em;vertical−align:−0.15em;"></span><spanclass="mord"><spanclass="mordmathnormal">x</span><spanclass="msupsub"><spanclass="vlist−tvlist−t2"><spanclass="vlist−r"><spanclass="vlist"style="height:0.3011em;"><spanstyle="top:−2.55em;margin−left:0em;margin−right:0.05em;"><spanclass="pstrut"style="height:2.7em;"></span><spanclass="sizingreset−size6size3mtight"><spanclass="mordmtight"><spanclass="mordmtight">0</span></span></span></span></span><spanclass="vlist−s"></span></span><spanclass="vlist−r"><spanclass="vlist"style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span>XjX0 This implies that zj=\textscNearest(\textscPathG(x0,yj),r)=yj. Hence, \textscDistG(yj,zj)=0≤\textscDistG(x0,zj). ∎
By Claims 1 and 2 and the definition of yj, we get the following useful formula for the distance between X0 and Xj, for every j∈[k]:
where the second equality holds if X0 and Xj are disjoint. In other words, to measure the distance between the sets X0 and Xj, we can consider the distance between the single point x0∈X0 (the point closest to r) and Xj. If X0∩Xj=∅, so that yj is defined, then we can consider the distance between x0 and the single point yj∈Xj (the point closest to X0).
We are finally ready to prove that X0 is s-good. Consider two arbitrary pieces of X, say X1 and X2, such that \textscDistG(X1,X0)<s and \textscDistG(X2,X0)<s. We have to prove that \textscDistG(X1,X2)<s.
If X0∩X1=∅, then x0∈X1 by Claim 1, so
where the equality holds by (1). An analogous claim holds if X0∩X2=∅. If X1∩X2=∅, then obviously \textscDistG(X1,X2)=0<s. So from now on suppose that X0∩X1=X0∩X2=X1∩X2=∅. Then y1 and y2 are defined, and by (1) we have \textscDistG(y1,x0)<s and \textscDistG(y2,x0)<s.
By definition of z1 and z2, the path x0→r must pass through both z1 and z2. Without loss of generality, suppose that z1 comes no later than z2 on this path, so \textscDistG(x0,z1)≤\textscDistG(x0,z2), as in the illustration below:
Consider the path y1→z1→z2→y2. The length of this path is at most
where the first inequality holds by Claim 3 and the last equality by (1).
We have demonstrated a path of length shorter than s from a point y1∈X1 to a point y2∈X2; this proves that \textscDistG(X1,X2)<s. It follows that X0 is s-good. ∎
With Lemma 4.3 in hand, we can now establish the existence of a maximin allocation for forests by using similar arguments as in Theorem 3.2. In particular, when we allocate an s-good part Ti,j to agent i, we remove all portions of the tree that are within distance s of Ti,j, and divide the remaining cake recursively among the remaining agents.
Let G be a forest and s>0. For agents with arbitrary monotone valuations, a maximin allocation exists.
2 Cutting General Graphs
We now proceed to general graphs. Even when the graph is a simple cycle, Elkind et al. 2021b showed that a maximin allocation does not necessarily exist, but the 1-out-of-(n+1) maximin share can be guaranteed. We present here a more general theorem analogous to Theorem 3.4. However, our theorem requires the assumption that the length of each edge is at least s. We remark that the separation parameter s is generally small in our motivating applications such as transition or buffer zones, so this assumption is realistic. Nevertheless, it is an interesting question whether the result continues to hold without this assumption.
Let s>0. Let G be a graph in which the length of each edge is at least s. For any n agents with arbitrary monotone valuations, there exists an s-separated allocation in which each agent i receives a connected piece with value at least MMSin+\textscFvsNum(G).
Let r:=\textscFvsNum(G). Let u1,…,ur be a set of vertices such that, when they are deleted from G, the remaining graph is a forest. For each j∈[r], remove an open interval of length s/2 from each edge adjacent to uj. Consider the 1-out-of-(n+r) maximin partition of each agent. For each j∈[r], the distance between each pair of points in the set removed due to the vertex uj is less than s. Hence, the removed set overlaps at most one part of each agent’s partition. Therefore, once the graph becomes a forest, for every agent, at least n parts remain. By Theorem 4.4, there exists an s-separated allocation in which every agent i gets at least one of her maximin parts, and therefore value at least MMSin+r. Then, reconstruct the original graph by putting back the removed intervals of length s/2. The allocation remains s-separated. ∎
As in the case s=0 (see Open Problem 3.5), we do not know whether the factor n+\textscFvsNum(G) is tight in general. Below, we present a class of graphs for which we can obtain a tight bound. In particular, we consider the family of graphs such that the feedback vertex set number of each connected component is at most 1 (that is, every connected component is either a tree, or can be made acyclic by removing a single vertex). We denote N:=min(n+\textscFvsNum(G), 2n−1).
The following statements hold for any real number s>0 and integer n≥1:
(a) Let G be a vertex-disjoint union of graphs with FVS number ≤1, such that the length of each edge is at least s. For any n agents with monotone valuations, there is an allocation in which each agent i receives value at least MMSiN.
(b) For any integer r≥1, there exists a graph G with \textscFvsNum(G)=r (specifically, a union of r cycles and zero or more trees), and n agents with additive valuations, such that no allocation gives each agent i at least MMSiN−1.
We prove the two parts in turn. For part (a), consider a 1-out-of-N maximin partition of each agent. Define a bipartite graph H=(X,Y,E), where X is the set of agents, Y is the set of connected components of G with FVS number 1, and a component C is adjacent to agent i if and only if C contains at least one part from i’s maximin partition.
Every bipartite graph admits unique partitions X=XS∪XL and Y=YS∪YL such that the following holds (see, e.g., Theorem 1.3 of Aigner-Horev and Segal-Halevi 2019):
There are no edges between XS and YL;
The subgraph G[XS,YS] is “Y-path-saturated”, which, for our purposes, just implies that ∣XS∣>∣YS∣;
The subgraph G[XL,YL] admits a matching that saturates all vertices of XL.
With this partition at hand, the cake is allocated as follows.
Every agent in XL receives an entire component from YL according to the matching in (iii). It follows that every such agent receives a value of at least MMSiN.
Let n′:=∣XS∣ and G′ be the subgraph of G containing the components in YS along with all tree components of G. By (i), all parts in the maximin partition of every agent in XS are contained in G′. By Theorem 4.5, G′ admits an allocation in which each agent i∈XS receives value at least MMSin′+\textscFvsNum(G′). Clearly, n′+\textscFvsNum(G′)≤n+\textscFvsNum(G). Since the FVS number of each element of YS equals 1, we have \textscFvsNum(G′)=∣YS∣≤n′−1 by (ii), so n′+\textscFvsNum(G′)≤2n′−1≤2n−1. Therefore, n′+\textscFvsNum(G′)≤N, so MMSin′+\textscFvsNum(G′)≥MMSiN. This completes the proof of part (a).
We now proceed to part (b). Given integers n≥1 and r≥1, we denote N=min(n+r,2n−1). We construct a graph G made of a disjoint union of r cycles, and valuation functions of n agents such that for all agents i, MMSiN−1=1, but every s-separated allocation gives a positive value to at most n−1 agents.
Case 1: r≥n. In this case, we have N−1=2n−2. All r cycles are of length 2s+2ε for 0<ε≪s. Some n−1 cycles are “valuable”, i.e., each agent i values every such cycle at 2, with a valuation evenly concentrated in two regions of length ε each: one at angle iπ/n and one at angle iπ/n+π (radians). The other r−(n−1) cycles have no value to any agent. Every agent can partition every valuable cycle into two s-separated regions of value 1, so MMSi2n−2=1 for every agent i∈[n]. But from every valuable cycle, a positive value can be allocated to at most one agent, so all in all, at most n−1 agents can get a positive value.
Case 2: r≤n−1. In this case, we have N−1=n+r−1. Some r−1 cycles are “small”, with length 2s+2ε for 0<ε≪s, and the agents’ valuations as in Case 1. The r-th cycle is “large”, with length (n+1−r)⋅(s+ε). Each agent i values the large cycle at n+1−r, with a valuation concentrated in n+1−r small s-separated regions of length ε each. Therefore, every agent can partition the large cycle into n+1−r regions of value 1 which are s-separated. By adding two regions for each of the r−1 small cycles, we get MMSin+r−1=1 for all i∈[n].
The valuable regions on the large cycle are arranged in such a way that at most n−r agents can receive a positive value from the large cycle. In particular, for each i∈[n−1], the regions of agent i+1 are shifted clockwise from those of agent i by a small amount, say ε. This is illustrated in the figure below, where r=1, n=4, n+1−r=4, and the length of each side of the square is s+ε. Each color denotes the valuable regions of a single agent.
As at most one agent can receive a positive value from each of the r−1 small cycles, at most (r−1)+(n−r)=n−1 agents overall can receive a positive value. This completes the proof of Case 2, and therefore the proof of part (b).
Note that the impossibility result can be extended to graphs with any number of trees (in addition to the r cycles), by simply assuming that all trees have a value of 0 to all agents. ∎
Theorem 4.6 shows that Theorem 4.5 is tight for unions of trees and cycles when the number of cycles is less than n. However, the exact factor for other graphs remains open.
Discussion
In this work, we have studied the division of a graphical cake using the maximin share notion, both with and without separation constraints. Our most technically challenging result shows that a maximin allocation exists for positive separation whenever the graph is acyclic. A tempting approach to simplify this proof is by using the “last diminisher” method, wherein each agent can trim a proposed piece as long as the remaining piece after trimming still yields value at least the agent’s maximin share. Indeed, this method was used by Bouveret et al. 2017 to establish the existence result for trees in the context of indivisible goods, and the algorithm of Elkind et al. 2021b for interval cakes can also be seen as a version of last diminisher. We remark here that the approach does not work in our setting with separation. Indeed, consider the subtree in Figure 1, where two of Alice’s parts in her maximin partition are bold, while one of Bob’s parts is dashed. The last diminisher method may allocate Bob’s part to him; however, when we take the separation requirement into account, we cannot allocate either of Alice’s parts in its entirety. Note that the dashed piece is not s-good. This example precisely demonstrates why, in the proof of Theorem 4.4, we need the elaborate lemmas on real trees in order to guarantee the existence of an s-good piece.
More generally, our work builds upon an active line of research that incorporates realistic constraints in fair division problems. We believe that identifying and studying such considerations will lead to technically intriguing questions as well as practically useful fairness guarantees.
Acknowledgments
This work was partially supported by the European Research Council (ERC) under grant number 639945 (ACCORD), by the Israel Science Foundation under grant number 712/20, and by an NUS Start-up Grant. We would like to thank the anonymous reviewers for their valuable comments.
References