On Reachable Assignments in Cycles and Cliques

05/05/2020 ∙ by Luis Müller, et al. ∙ 0

The efficient and fair distribution of indivisible resources among agents is a common problem in the field of Multi-Agent-Systems. We consider a graph-based version of this problem called Reachable Assignments, introduced by Gourves, Lesca, and Wilczynski [AAAI, 2017]. The input for this problem consists of a set of agents, a set of objects, the agent's preferences over the objects, a graph with the agents as vertices and edges encoding which agents can trade resources with each other, and an initial and a target distribution of the objects, where each agent owns exactly one object in each distribution. The question is then whether the target distribution is reachable via a sequence of rational trades. A trade is rational when the two participating agents are neighbors in the graph and both obtain an object they prefer over the object they previously held. We show that Reachable Assignments is NP-hard even when restricting the input graph to be a clique and develop an O(n^3)-time algorithm for the case where the input graph is a cycle with n vertices.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

The efficient distribution of resources among agents is a frequent problem in Multi-Agent-Systems [6] with e. g. medical applications [1]. These resources are often modeled as objects and sometimes they can be divided among agents and sometimes they are indivisible. One famous problem in this field is called House Marketing: Each of the  participating agents initially owns one house (an indivisible object) and the agents can trade their houses in trade cycles with other agents [15, 17]. Versions of this problem were considered with different optimization criteria like pareto-optimality [2, 14, 18] or envy-freeness [5, 7, 9]. Gourves et al. [11] studied two similar problems where agents are only able to perform (pairwise) trades with agents they trust. This is modeled by a social network of the participating agents where an edge between two agents means that they trust each other. The first version is called Reachable Assignment: Can one reach a given target assignment by a sequence of rational swaps? A swap is rational if both participating agents obtains an object they prefer over their current object and the agents share an edge in the social network. The second version is called Reachable Object and the question is whether there is a sequence of rational swaps such that a given agent obtains a given target object.

Gourves et al. [11] showed that Reachable Assignment and Reachable Object are both NP-hard on general graphs. They further proved that Reachable Assignment is decidable in polynomial time if  is a tree. Huang and Xiao [13] showed that if the underlying graph is a path, then Reachable Object can be solved in polynomial time. Moreover, they studied a version of Reachable Object that allows weak preference lists, i.e. an agent can be indifferent between different objects and shows that this problem is NP-hard even if the input graph is a path. Contributing to the Reachable Object problem, Saffidine and Wilczynski [16] proposed an alternative version of Reachable Object, called Guaranteed Level Of Satisfaction, where an agent is guaranteed to obtain an object at least as good as a given target object. They showed that Guaranteed Level Of Satisfaction is co-NP-hard. Finally, Bentert et al. [3] showed that Reachable Object is polynomial-time solvable if the input graph is a cycle and NP-hard even if the input graph is a clique, that is, all agents can trade with each other.

In our work, we will mainly focus on Reachable Assignment for the two special cases where the input graph is either a cycle or a clique. We show an -time algorithm for Reachable Assignment on -vertex cycles and further prove NP-hardness for Reachable Assignment on cliques. Figure 1 displays an example for a triangle, that is, a cycle (and a clique) of size three.

1: 2: 3:
Figure 1: Example for Reachable Assignment on a triangle with preference lists on the right-hand side. We use the notation “1: ” to denote that agent  prefers object  the most and object  the second most. Moreover, agent  initially holds object  and since we only consider rational swaps and hence agent  will never held an object it prefers less than object , we do not list these objects for agent . In the target assignment each agent shall hold its most preferred object. First, agents  and  can swap their currently held objects. Afterwards, agent  can trade object  to agent  and receive object  in return.

At the core of our hardness proof for cliques lies the combination of a reduction from Reachable Object to Reachable Assignment by Gouvres et al. [11] and the NP-hardness proof for Reachable Object on cliques by Bentert et al. [3]. The polynomial-time algorithm for Reachable Assignment on cycles is shown in three steps. In the first step, we will show that once an object is swapped into either clockwise or counter-clockwise direction, it is impossible to swap it back into the opposite direction. Moreover, assigning a direction to each object is equivalent to providing a sequence of rational swaps. We will also show how to verify in polynomial time whether such an assignment corresponds to a solution. In this case, we will say that the assignment of directions yields the target assignment. In a second step, we show a characterization of assignments of directions that yield the target assignment. We call these direction assignments valid. In the third and final step, we will iterate over all edges in the input graph and construct for each iteration a 2-SAT formula that is satisfiable if and only if there exists a valid assignment of directions that corresponds to a solution in which the first swap is done over the iterated edge. Besides a novel characterization of instances that have a solution, our main technical contribution is a non-trivial reduction to 2-SAT. This approach to showing polynomial running times was used before [4, 12], but we believe that its potential is still relatively unexplored.

2 Preliminaries and Preprocessing

We use graph-theoretical notation in a similar way as Diestel [10]. For a graph  and a set of vertices , we use  to denote the induced subgraph of  in , that is, the graph  where  if and only if  and . For two integers  and  we denote by  the set of integers . If  is a cycle, then we always assume that the agents are numbered from  to , where , such that agent  shares an edge with agents  and . We also say that agent  is the clockwise neighbor of agent  and that agent  is the counter-clockwise neighbor of agent . We denote by  the sequence of clockwise neighbors starting from  and ending in , that is,

(1)
Example 1.

Let . Then  and .

We now formally define Reachable Assignment and Reachable Object. Let  be a set of  agents and let  be a set of  indivisible objects. Each agent  has a preference list  over a non-empty subset  of the set of objects . Each preference list is a strict ordering on . The set of all preference lists is called a preference profile . A bijection  is called an allocation or assignment. Akin to the house marketing problem [2], each agent is initially assigned exactly one object. We denote this initial assignment by  and for the sake of simplicity, we will interchangeably use  and  for an agent , an object , and an assignment . Let  be a graph where the set of vertices is the set  of agents. We will use the term agents interchangeably with vertices of . A trade between agents  and  is only possible if their corresponding vertices share an edge in  and if both  and  receive an object that they prefer over the objects they hold in the current assignment . We can express this formally by  and  and we call such a trade a rational swap. A sequence of rational swaps is a sequence of assignments  where  is the result of performing one rational swap in assignment  for all . We call an assignment  reachable if there exists a sequence of rational swaps . For an agent , an object  is reachable if there exists an assignment  and a sequence of rational swaps  such that . Gourves et al. [11] introduced the problems Reachable Assignment and Reachable Object as follows.

Reachable Assignment

Input: A set  of agents, a set  of objects, a preference profile , a graph , an initial assignment  and a target assignment .
Question: Is  reachable from ?

Reachable Object

Input: A set  of agents, a set  of objects, a preference profile , a graph , an initial assignment , an agent  and an object .
Question: Is  reachable for agent  from ?

Recall that assignments are bijections. This allows us for any assignment , any object  and the agent  with  to denote  by .

We end this section with a simple data reduction rule for Reachable Assignment. Whenever an agent prefers an object  over the object  it is assigned in the target assignment , then we can simply remove  from its preference lists. This is due to the fact that once the agent possesses , then it cannot receive  anymore. We will assume that every instance has already been preprocessed by the following data reduction rule, which is equivalent to assuming that  assigns each agent its most preferred object.

Reduction Rule 1.

If for any agent  with object  there exists an object  such that , then remove  from .

3 A Polynomial-Time Algorithm for Reachable Assignment on Cycles

In this section we develop a polynomial-time algorithm for Reachable Assignment on cycles. To the best of our knowledge, this is the first polynomial-time algorithm for Reachable Assignment beyond the initial algorithm for trees by Gourves et al. [11]. Our algorithm generalizes several ideas used in the algorithm for trees and uses a novel characterization of solutions. We divide the section into three subsections. In Subsection 3.1, we formally define what we mean by swapping an object in a certain direction and provide a polynomial-time algorithm to verify whether a given assignment of directions to all objects corresponds to a solution. In this case, we will say that the assignment of directions yields . In Subsection 3.2, we define a property we call validity and show that this characterizes the assignments of directions that yield . Finally in Subsection 3.3, we reduce the problem of deciding whether there exists a valid assignment of directions to 2-SAT.

3.1 Swapping Directions in a Cycle

In this subsection we will formally introduce assignments of directions. We will refer to them as selections and always denote them by . Consider an instance  of Reachable Assignment. Let  be an object, let , and let . Since the underlying graph is a cycle, there are exactly two paths between agents  and  for object . By definition of rational swaps, once  has been swapped, say from agent  to agent  then  is not able to return to agent  since agent  just received an object that it prefers over  and will therefore not accept  again. Hence, if  is swapped again, then it is given to agent  and the argument can be repeated for agent . As there are only two paths between agents  and , there are also only two directions, namely clockwise and counter-clockwise. We will henceforth encode these directions into a binary number saying that the direction of  is  if  is swapped in clockwise direction and  otherwise. This yields the following definition of selections.

Definition 1.

Let  be an instance of Reachable Assignment. A selection  of  is a function that assigns each object  a direction .

Given a selection , we say that an object  is closer than another object  with  to , if starting from  and going in direction , it holds that  comes before . Therein, can be an edge, an agent, or a third object.

We will see that for a pair of objects (with assigned directions) there is a unique edge over which they can be swapped. To show this, we need the following definition of a path of an object. These paths consist of all agents that will hold the respective object in any successful sequence of swaps that respects the selection.

Definition 2.

Let  be a selection for instance  and let  and  be two objects with . Let , let , let , and let . The path of  for  is

The set  of shared paths of  and  for  is the set of all connected paths in .111If , then  contains two disjoint paths, one with  as endpoint and one with . Finally,  and  are opposite if there exists a selection  such that .

Examples for paths and shared paths are given in fig. 2.

Figure 2: Given a selection  and two objects  and  with , the two marked paths in the left figure are the respective paths of  and  for . Since they do not intersect, the set  of shared paths of  and  for  is empty. In the center figure  contains the single intersection between  and  and in the right figure it contains the two intersections in the top and in the bottom. The two objects are opposite in the left and the right figure, but not in the center.

With these definitions at hand, we are now able to determine unique edges where two objects  and  can be swapped with respect to all selections  with .

Lemma 1.

Let  be a selection for instance  and  and  be two objects with . If for some path  there is not exactly one edge in  such that the corresponding preference lists allow  and  to be swapped between the two incident agents, then  does not yield target assignment .

Proof.

Note that  and  have to be swapped somewhere on each path in  as otherwise at least one of the objects cannot reach its target agent. For each path  there has to be at least one edge on  where  and  can be swapped or  does not yield the target assignment . Assume towards a contradiction that there are at least two edges  and  on some path  where  and  can be swapped according to the corresponding preference lists and  yields . Suppose  and  are swapped over  in a sequence of rational swaps that yields  (the case for  is analogous). Then one of  or  must have already passed the other edge , say  (again, the case for  is analogous). Since  and  could be swapped over , it holds for the two agents  and  incident to  that  and . Since  already passed , agent  already held . Hence, agent  will not accept object  in the future and hence  can not reach its destination as  is on the path of . This contradicts the assumption that  yields . ∎

We show that two objects  and  are swapped exactly once on each path in  in any sequence of rational swaps and that . Examples with  are given in fig. 2.

Proposition 1.

Let  be a selection and let  and  be two objects with . There are at most two edges on  such that  and  can only be swapped over these edges or  does not yield target assignment . Each of these edges is on a different path in .

Proof.

Let  be any selection such that . Note that  and  cannot be swapped over any edge that is not on a path in  and that by lemma 1 they have to be swapped over a specific edge for each path in . Hence the number of edges where  and  can be swapped over in any sequence of rational swaps that yield  and that respects  is equal to .

Now assume that . Then,  and  are swapped at least thrice. For  and  to perform a first swap, both of them must have at least passed one agent each. Observe that if  and  are swapped for a second time, then each agent has held  or  between the first and the second swap of  and . Hence, after the second swap, they must have passed at least  agents combined. Repeating this argument once again, we get that they must have passed passed  agents after the third swap. This means that at least one of the agents has passed more than  agents, a contradiction to the fact that an agent does not accept an object once the agent traded that object away. Thus, two objects can only be swapped twice and we can use lemma 1 to find at most two unique edges. ∎

Observe that only depends on and and hence for each selection  with , it holds that  and the edges specified in lemma 1 are the same for  and . We will denote the set of edges specified in lemma 1 by . Note that proposition 1 also implies that if  yields , then . If , then we define .

We next show that the order in which objects are swapped is irrelevant once a selection is fixed. We use the following definition to describe an algorithm that checks in polynomial time whether a selection yields .

Definition 3.

Let  be an instance of Reachable Assignment and let  be selection of . Let  and  be two objects with . Let  be the agent currently holding . If  is held by agent , then and  are facing each other and if also  and , then and  are in swap position.

Using the notion of swap positions, we are finally able to describe a polynomial-time algorithm that decides whether a given selection yields . We refer to our algorithm as Greedy Swap and pseudo code for it is given in algorithm 1. We mention that it is a generalization of the polynomial-time algorithm for Reachable Assignment on trees by Gourves et al. [11]. Greedy Swap arbitrarily swaps any pair of objects that is in swap position until no such pair is left. If  is reached in the end, then it returns True and otherwise it returns False.

Proposition 2.

Let  be an instance of Reachable Assignment and let  be a selection of . Greedy Swap returns True if and only if  yields .

Data: Reachable Assignment instance  and selection 
if  then
      return True;
end if
if  then
      return False;
end if
;
while  do
        ;
        ;
       if  and  then
             Swap  and ;
             Update ;
            
      else
             return False;
            
       end if
      
end while
return True;
Algorithm 1 Greedy Swap
Proof.

Observe that Greedy Swap only performs rational swaps and only returns True if  is reached. Hence, if it returns True, then  yields .

Now suppose that a selection  yields assignment , but Greedy Swap returns False. Then either  and every object is assigned the same direction, or there are two objects  and , which are in swap position at some edge , but the corresponding preference lists do not allow a swap. In the former case  clearly does not yield . In the latter case, consider the initial positions of  and  and the corresponding shared paths . Since  and  are in swap position at the point where Greedy Swap returns False, it holds that  and there is a shared path  such that  is on .

If  and  meet at edge  for the first time, then let  be the number of objects that are closer to  than  and that are assigned direction . If  and  meet at edge  for the second time, then let  be the number of objects that are assigned direction . We will now show that  has to be swapped with exactly  objects before  and  can be swapped (for the first or between the first and the second swap, respectively). We will only show the case for  and  being swapped over  for the first time as the other case is analogous when considering the instance after the first swap of  and  has just happened. Starting from the agent that initially holds  we can then calculate the edge  where  and  meet in every sequence of rational swaps that results in reaching the target assignment . Suppose  can be swapped with more than  objects before meeting  at edge . Then  must either be swapped with at least one object  that is not closer to  than  or it must be swapped with the same object  twice before being swapped with  for the first time. This, however, means that  will meet  after , a contradiction. Now suppose that  can be swapped with less than  objects before meeting . Then there is an object  that is closer to  than  and that is assigned direction  and which is not swapped with  before  and  are swapped. However, then  will not be able to meet  as at least  is between them, a contradiction.

Now that we have shown that  will swap exactly  objects before meeting , we can also determine the edge  where, given , they must necessarily meet, in every sequence of rational swaps where objects are swapped according to the directions assigned to them by . Now since we assumed that  is reachable with selection , there must be a sequence of rational swaps where  and  must be swapped at edge . But since  and  met, by assumption, at edge , either , which is a contradiction because at  the preference lists of the incident agents do not allow a swap between  and , or  and  cannot have met at edge  if all swaps were performed according to the directions assigned by selection , a contradiction to the definition of Greedy Swaps. ∎

3.2 Validity of Selections

We will next define a set of properties that a selection needs to fulfill in order for Greedy Swap to return True and then show that these properties are both necessary and sufficient. The idea is to have one property that guarantees that for each object and for each edge on its path there exists exactly one object that should be swapped with that object over this edge and a second property to guarantee that for each two objects  and  there are exactly  edges where  and  should be swapped. Before we can formally state these properties, we give the following two definitions.

Definition 4.

Let  be an instance of Reachable Assignment. The set  is the set of all object-edge-pairs and  is the function that assign to each object-edge-pair  the direction  such that  lies on the path of  from its initial agent to its destination in direction .

Using the notion of object-edge-pairs, we define candidate lists. These will be used to eliminate possible choices for selections.

Definition 5.

Let  be an object-edge-pair and let  be a selection. The candidate list  of  at edge  and the size  of  with respect to  is

Figure 3 presents an example of candidate lists.

1:  2:  3:  4: 
Figure 3: Example for Reachable Assignment on a  with edges . The candidate lists of  are , and . Note that since , the candidate list  is defined such that  is swapped in clockwise direction while the candidate list of  for all other edges is defined for counter-clockwise direction.

Note that the size of  with respect to  is set to one if . This is due to the fact that we will later search for a selection  such that  for all objects  and all edges with . This definition then avoids a case distinction. The following observation follows from proposition 1 and the observation that  for all  with  and  with a simple counting argument.

Observation 1.

For each  it holds that .

We can finally define the first property called exact from the set of properties that characterizes the selections for which Greedy Swap returns True and which, by proposition 2, correspond to a solutions for Reachable Assignment.

Definition 6.

Let  be an instance of Reachable Assignment. A selection  is unambiguous if for all  it holds that  is complete if for all  it holds that , and exact if .

Where exactness guarantees that for each object and for each edge on its path for  there exists a possible swapping partner for this edge, the second property will guarantee that no pair of objects blocks one another in a selection. We start with the case in which an object blocks another object that is swapped in the same direction.

Definition 7.

Let  be a selection and let  and  be two objects with . Then  shields  in direction  if , the object  is closer to  than the destination of  (in direction ), and there exists an agent  on  with .

In fig. 3 the object  shields  in clockwise direction. Note that if  shields  in direction , then  and  cannot be both swapped in direction  as the agent  obtains  first and then will not accept  afterwards. However, by definition  is on the path of  and hence has to obtain  or the target assignment  cannot be reached.

We continue with the case where an object blocks another object that is swapped in the opposite direction. Based on lemma 1, we define compatibility of two objects.

Definition 8.

Let  be a selection and let  and  be two objects with . Then,  and  are compatible in selection  if for each  there exists exactly one edge on  that is also contained in .

Based on definitions 8 and 7 we formalize the second property that characterize valid selections as follows.

Definition 9.

A selection  is harmonic if for every object  there is no object  moving in direction  that shields  in that direction, and every object  with direction  is compatible with . A selection is valid, if it is both exact and harmonic.

In order to show that valid selections characterize those selections that correspond to a solution of Reachable Assignment, we start with an intermediate lemma.

Lemma 2.

Let  be an instance of Reachable Assignment on cycle , let  be a selection, let  be two object-edge-pairs where  and let  be objects with direction . Let further  and let . Let  be the index such that  starts closer to  in direction  than . If  is harmonic, then  is closer to  in direction  than . If  is closer to  in direction  than , then  shields .

Proof.

Considering the preference lists at edges  and  we will denote the agents at  by  and  and the agents at  by  and .
Suppose towards a contradiction that  is closer to  than  in direction .

We distinguish between two cases. In the first case  is harmonic. Then since  and  are assigned the same direction,  and  are not opposite. Further  and  cannot shield each other. Thus, it must hold that

because  is on both  and .

In the second case  is not harmonic and there is some agent that will not accept  since it prefers  more and  would be shielded from its destination by . Therefore we will now assume that  is harmonic and show that then  must be closer to  in direction  than .

Since  can be swapped with  at  we know that

since  arrives at  and is then swapped with . However  is further away from  than  and in order for  to be swapped with  at that edge we know

We also know that  has already passed agent  to get to  and that  must at least come to agent  since otherwise  could not reach its destination. Since  can be swapped with  at , its destination is at least agent . But if  must move at least to  it also must pass  and since  was there first we know that

because otherwise  would shield  from its destination which we know cannot be true as  is harmonic. However, if those terms are true then

which cannot be true as  is a strict ordering, a contradiction. ∎

We end this subsection with the statement that valid selections are exactly the selections that correspond to a solution of Reachable Assignment.

Proposition 3.

Let  be an instance of Reachable Assignment and let  be a selection for . Greedy Swap returns True on input  if and only if  is valid.

Proof.

First we will prove that if  is valid then Greedy Swap returns True. Let therefore  be an object with path . We will prove that if  is valid then  is guaranteed to pass every edge of . Since  is arbitrarily chosen we can generalize the statement to all objects. Now recall that Greedy Swap simply performs a swap between two objects that are in swap position over and over again. It only returns False if there are two objects in swap position at edge  that cannot be swapped according to the preference lists of the agents that are incident to . If we prove for every object, at every edge on its path, that the corresponding preference lists always allow a swap, we know that Greedy Swap returns True.

Consider any edge  on the path  of . Let  be the path starting with  and ending at , that is, the path that  still has to take after reaching . Let  be the path that  has already passed when reaching . Let  be the object that  meets at  with . Suppose  and  cannot be swapped at  due to the preference lists of their agents. Then either there exists no object that  can be swapped with at edge  in which case  is incomplete, a contradiction, or there exists object  with  that can be swapped with  at  but  starts closer to  than . We will now show that if  is not an edge where  and  can be swapped, then that leads to a contradiction.

First of all, since  is harmonic there must be an edge  on the shared path of  and  for  where  and  can be swapped. We distinguish between two cases. If  is on , then  has already passed edge  and there exist two objects with direction  that  can be swapped with at . Then,  would be ambiguous, a contradiction. Otherwise  is on  but not equal to . But then the edge where  and  can be swapped at is further away from  with respect to , than the edge where  and  can be swapped at, even though  is closer to  than , with respect to . But then due to lemma 2 is not harmonic, a contradiction. Thus we can conclude that  and  can be swapped at edge . Since we chose the edge  to be arbitrary we can generalize this to all edges on . From this follows that  reaches its destination. This can be generalized to all objects and thus, as described above, Greedy Swap returns True.

Now we will show that if  is not valid, then Greedy Swap returns False. Let  be incomplete. Then there exists an object  and an edge  on its path where there exists no object  such that  and  can be swapped at . Hence, if  reaches this edge there is no object that it can be swapped with. Since this edge is on its path,  cannot have reached its destination and hence  cannot be reached. Greedy Swap therefore returns False.

Let  be ambiguous. Then there exist objects  and  and edge  on their paths such that if  reaches , then it can be swapped with both  and . Say  is swapped with  at . Note that if  and  can be swapped at edge  then  must at least reach both agents incident to  to get to its destination and at one of these two agents, let us call it  it holds . But then  cannot be accepted by  anymore since  has already been assigned to both of the agents before  has been assigned to one of them and thus  cannot reach its destination. Hence,  cannot be reached. Greedy Swap therefore returns False.

Let  be inharmonic. We distinguish between two cases. In the first case there exist objects  and  such that  shields  from its destination. That means that  and  walk in the same direction and  stops at its destination  before  can pass . Since , however, is on  cannot reach its destination and  cannot be reached. In the second case there exist objects  and  with  and a path  such that there exists no edge on  where  and  can be swapped. Since , it holds that  and  must meet at some edge  on  and none of them has already reached its destination. Since  and  cannot be swapped at  they cannot reach their destinations and Greedy Swap returns False.

If  is not valid, then it is either incomplete, ambiguous or inharmonic and thus Greedy Swap returns False on input , a contradiction. ∎

3.3 Reduction to 2-SAT

In this subsection we will construct a 2-SAT formula  such that a selection is valid if and only if it corresponds to a satisfying truth assignment of . We will use a variable for each object and say that setting this variable to True corresponds to swapping this object in clockwise direction. We will use objects interchangeably with their respective variables. The formula  will be the conjunction of two subformulas  and . The first subformula  corresponds to harmonic selections and is constructed as follows.

Construction 1.

Let  be an instance of Reachable Assignment. For every pair  of objects for which there exists a direction  such that  shields  in direction , we add the clause  if , and  otherwise. Further, for every pair  of objects for which there exists a direction  such that  and  are not compatible for any selection  where , we add the term  if , and  otherwise. We use  to denote the constructed formula.

We will now show that any satisfying truth assignment of  exactly corresponds to a harmonic selection.

Lemma 3.

Let  be an instance of Reachable Assignment. A selection  is harmonic if and only if it corresponds to a satisfying truth assignment of .

Proof.

We will prove both directions of the statement by contradiction. For the first direction suppose that  is a harmonic selection but it does not correspond to a satisfying truth assignment of . Then there must exist a clause  in  such that  is not satisfied by the truth assignment corresponding to . We distinguish between two cases. In the first case  is a clause for  shielding  in direction  for every selection  where  but it holds that . But then, by definition,  is not harmonic, a contradiction. In the second case  is a clause for two non-compatible objects  and  for every selection  where  but it holds that , a contradiction to  being harmonic.

We will now show the other direction of the statement. Suppose that  corresponds to a satisfying truth assignment of  but it  is not harmonic. We again distinguish between two cases. In the first case there exist two objects  and  and a direction  such that  shields  in direction  for every selection  where . But since  corresponds to a satisfying truth assignment of , due to the clauses for shielding objects, if , then  and thus,  does not shield , a contradiction.

In the second case there exist two objects  and  and a direction  such that  and  are not compatible in direction  for every selection  where . But since  corresponds to a satisfying truth assignment of , due to the clause for compatibility, if , then  and thus,  and  are compatible, a contradiction. ∎

A formula for exact selections requires much more work. To this end, we first introduce a variant of Reachable Assignment.

First Swap Reachable Assignment Input: An instance  of Reachable Assignment and an edge  Question: Is  reachable if the first swap is performed over edge ?

Observe that  is a yes-instance of Reachable Assignment if and only if there is an edge  in  such that  is a yes-instance of First Swap Reachable Assignment. We will later iterate over all edges and check for each whether it yields a solution. Suppose that some instance  of First Swap Reachable Assignment is a yes-instance. Let  and . Then, the object  is swapped into clockwise direction and the object  is swapped into counter-clockwise direction. Thus, in every selection  that yields the target assignment  as a solution to , it must hold that  and . We refer to the pair of objects  and  as the guess of that instance and denote it , where  refers to the object that is swapped into clockwise direction and  refers to the object that is swapped into counter-clockwise direction. For every selection  where , we say that  respects the guess . Further,  denotes the object in guess  which is swapped in counter-clockwise direction and  denotes the object in guess  which is swapped in clockwise direction. We also denote the unique path of  in clockwise direction from its initial agent to its destination with  and the unique path of  in counter-clockwise direction from its initial agent to its destination with . If we can prove that for a guess  and the corresponding instance of First Swap Reachable Assignment there exists no valid selection that respects , then we say that the guess  is wrong. We will now define a property of objects which cannot be swapped in one direction given a certain guess .

Definition 10.

Let  be an instance of First Swap Reachable Assignment with guess  and let  be an object such that there exists a direction  such that there is no selection  with  that respects  and that is valid. Then  is decided in direction .

We find that an object  is decided by means of five rules listed below. Therein,  is an object in .

  1. The objects  and  are opposite.

  2. The object  occurs in none of ’s candidate lists.

  3. The object  occurs in a candidate list of  together with another object  that is decided in direction .

  4. The agent  is neither on  nor on .

  5. The object  starts between two decided and opposite objects.

We mention that there are a couple of additional technical conditions for the last rule and that there may be decided objects that are not found by either of the five rules. For the sake of simplicity, we say that an object is decided only if fulfills at least one of the rules above. All other objects are said to be undecided. We next show that each of these rules in fact shows that  is decided.

Lemma 4.

Let  be a guess, let  be the decided direction of  in , and let . If  and  are opposite, then  is decided in the direction .

Proof.

Observe that by definition there is a direction  such that in every selection  with  it holds that . If , then in any selection  with , it holds that  shields . If , then in any selection  with , it holds that  shields . Hence in no selection  with  is harmonic and thus there is no valid selection  with  and thus  is decided in direction . ∎

The second rule focuses on objects that cannot be swapped with one of the two guessed objects.

Lemma 5.

Let  be a guess and let  be an object such that . If there exists a  such that  is not in the candidate list of , then  is decided.

Proof.

Let  be a selection where

We distinguish between two cases. In the first case the set  of shared paths is empty. Then, the path  of  and  of  are disjoint. Now consider a selection  where

Because , we now know that

and thus  shield  from its destination in . Thus, a selection  where  is not valid.

In the second case there is at least one path in . But then since  is not in the candidate list of , there exists no edge on any path  where  and  can be swapped and thus  and  are not compatible in selection . Thus, a selection  where  is not valid. This concludes the proof. ∎

The third rule focuses on the effect that decided objects have on other objects.

Lemma 6.

Let  such that , i.e,  is a guessed object. If there exists an object  such that  is decided in direction , then for every  where  it holds that  is decided in direction .

Proof.

Suppose towards a contradiction that there exists an undecided object  and a valid selection  that respects  such that . Since  is decided in direction , it holds for every valid selection  that  and thus, also for . But then, by definition,  and thus,  is not valid, a contradiction. ∎

The fourth rule focuses on objects that are in the end held by the agents that are neither on  nor on .

Lemma 7.

Let  be an instance of First Swap Reachable Assignment on cycle  with guess  and let  and  be non-opposite. Let  be an object such that the destination  of  is not on the union of