On the Computational Properties of Obviously Strategy-Proof Mechanisms
aa r X i v : . [ ec on . T H ] F e b On the Computational Properties of ObviouslyStrategy-Proof Mechanisms ∗ Louis Golowich † and Shengwu Li ‡ February 9, 2021
Abstract
We present a polynomial-time algorithm that determines, given some choice rule,whether there exists an obviously strategy-proof mechanism for that choice rule.
Classical mechanism design focuses on direct mechanisms, but there is strong empirical evi-dence that the extensive form of the mechanism affects the rate of optimal play. A growingbody of laboratory experiments documents that human subjects make frequent mistakesin direct mechanisms, but not in equivalent extensive-form mechanisms (Kagel et al., 1987;Kagel and Levin, 2001; McGee and Levin, 2019; Zhang and Levin, 2020; Schneider and Porter,2020; B´o and Hakimov, 2020a,b).Which mechanisms are easy for human beings to understand? Some intuitively simpleextensive-form mechanisms, such as ascending auctions or dynamic serial dictatorships, are obviously strategy-proof (Li, 2017). Obvious strategy-proofness requires that for any infor-mation set reachable under the truth-telling strategy, and for any deviation starting at thatinformation set, every possible outcome under the deviation is no better than every possibleoutcome from truth-telling. This formalizes a particular cognitive limitation: A mechanismis obviously strategy-proof if and only if participants can detect that truth-telling is optimalwithout using contingent reasoning. Obvious strategy-proofness depends on the extensive form of the mechanism. This isnecessary to explain the data, but it raises new obstacles for mechanism design. By the rev-elation principle, the question “does there exist a strategy-proof mechanism for choice rule ∗ We thank Mohammad Akbarpour, Ben Golub, Yannai Gonczarowski, Scott Kominers, Chiara Margaria,and Matthew Rabin for helpful comments. All errors remain our own. † Harvard University. Email: [email protected] ‡ Harvard University. Email: [email protected] For laboratory evidence of errors in contingent reasoning, see Charness and Levin (2009),Esponda and Vespa (2014), Ngangoue and Weizsacker (2015), and Esponda and Vespa (2016). ?” reduces to the question of whether the corresponding direct mechanism is strategy-proof(Gibbard, 1973; Myerson, 1979). By contrast, the question “does there exist an obviously strategy-proof mechanism for choice rule c ?” is a question about the entire class of extensive-form game trees. Recent work has shown that it is without loss of generality to restrict atten-tion to smaller classes, such as game trees with perfect information about the history of play(Ashlagi and Gonczarowski, 2018; Bade and Gonczarowski, 2017; Pycia and Troyan, 2019;Mackenzie, 2020). However, even the smallest such class is still combinatorially complex,which makes it difficult to tell in general whether an obviously strategy-proof mechanismexists. Suppose we face the following decision problem: We are given agents with finite type sets,some set of outcomes, arbitrary utility functions, and a choice rule c . These are representedas a table, which specifies each agent’s utility, at each type profile, for each report he couldmake. Does there exist an obviously strategy-proof (OSP) mechanism for c ? (That is, is c OSP-implementable?) If the answer is “yes”, then we can prove this by exhibiting such amechanism. Moreover, a result of Bade and Gonczarowski (2017) implies that if any suchmechanism exists, then there exists a mechanism small enough to be verified as OSP in timepolynomial in the table size. Thus, the decision problem lies in the complexity class NP .Can we decide quickly whether c is OSP-implementable? For any choice rule, the corre-sponding class of game trees is combinatorially complex, so solving the decision problem bybrute-force search takes exponential time. Can the decision problem be solved in polynomialtime? Relatedly, is there any general way to construct OSP mechanisms that is appreciablyfaster than brute-force search?We prove that the decision problem can be solved in polynomial time. Moreover, weshow that OSP mechanisms, when they exist, can be constructed in polynomial time.Along the way, we discover a characterization of OSP-implementable choice rules thatmay be of independent interest. Given any choice rule, we define a corresponding obviousdirected acyclic graph (O-dag). The root of the O-dag corresponds to the set of all typeprofiles. Each vertex of the O-dag corresponds to a set of type profiles with a productstructure.The directed edges of the O-dag correspond to inferences that we can make by asking‘obvious’ questions. That is, for any two vertices v and v ′ , there is a directed edge from v to v ′ if we can make an ‘obvious’ binary query to one agent about his type, such that thetype profile lies in v ′ if and only if the type profile lies in v and the agent’s answer is “yes”.A binary query is obvious if, given the choice rule and given that the type profile is in v ,every possible outcome from lying is no better than every possible outcome from answeringtruthfully.The O-dag is not in general a well-formed game tree, since a vertex can have multiplein-edges. There can be many extensive-form mechanisms for a choice rule, whereas each It is possible to look at yet smaller classes if we make more assumptions about utility functions or choicerules. Such characterizations are known for a variety of settings, such as binary allocation problems (Li,2017), single-peaked social preferences (Bade and Gonczarowski, 2017; Arribillaga et al., 2020), and ‘rich’preferences (Pycia and Troyan, 2019), as well as for top trading cycles rules (Troyan, 2019; Mandal and Roy,2020) and sequential allotment rules (Arribillaga et al., 2019). nicely connected if from the root of the O-dag we can reach every singleton vertex. Achoice rule is OSP-implementable if and only if the corresponding O-dag is nicely connected.Hence, one way to solve the decision problem is to construct the O-dag and then checkwhether it is nicely connected. However, this approach does not result in a polynomial-timealgorithm, because the O-dag has a vertex set that grows exponentially with the type space.Instead, our approach is to detect whether the O-dag is nicely connected without explic-itly constructing the O-dag. We define a greedy algorithm that starts from the root andsearches for a path to each singleton vertex. Since the algorithm is greedy, it quickly eitherfinds such a path or returns a failure. We then exploit the structure of the O-dag to provethat failure to greedily find a path implies that no path exists.The greedy algorithm terminates in polynomial time. For scale, note that determiningwhether a choice rule is strategy-proof requires running time linear in the table size. Thegreedy algorithm’s running time is sub-quadratic in the table size.To summarize, deciding whether there exists an OSP mechanism for a choice rule isequivalent to deciding whether the corresponding O-dag is nicely connected, which can bedone in polynomial time by a greedy algorithm.Furthermore, this approach can be used to construct OSP mechanisms in polynomialtime. If an OSP mechanism exists, then the greedy algorithm finds paths from the root toeach singleton vertex. The greedy algorithm can be modified to find paths that enable us toconstruct an OSP mechanism for the choice rule.Our results so far have concerned decision problems for which the input is a table. How-ever, in many natural settings, choice rules and utility functions have special structure thatpermits a more concise description. When we describe the same situation in a more powerfullanguage, that increases the difficulty of the problem as a function of the input size.Consequently, we consider the problem of determining whether there exists an appropriate(SP/OSP) mechanism when the input utility functions and choice rules are represented byBoolean circuits. We leverage the O-dag structure to prove that the SP problem and theOSP problem are both hard, but they are equally hard, in the sense that both problems areco- NP -complete. Hence, the OSP problem is computationally comparable to the SP problem,because either problem can be reduced to the other in polynomial time. Additionally, thisresult implies that when an appropriate mechanism does not exist, there is a proof of non-existence that can be verified quickly. Consider a finite set of agents N with type sets T , . . . , T n , and an outcome set X . Weassume private values: each agent has a utility function u i : T i × X → R . For each type t i ,let the binary relation (cid:23) t i denote the weak preference ordering over outcomes induced by t i ,that is, x (cid:23) t i x ′ if u i ( t i , x ) ≥ u i ( t i , x ′ ). Let T ≡ T × · · · × T n , with representative element t .A choice rule is a function c : T → X . As usual, we use T − i to denote Q j ∈ N \{ i } T j , and3 − i to denote an element of T − i . We use analogous notation for products of subsets of thetype sets. Definition 1.
Choice rule c is strategy-proof (SP) if for all t i , t ′ i , and t − i , c ( t i , t − i ) (cid:23) t i c ( t ′ i , t − i ) . Informally, a mechanism is an extensive game form for which each terminal history is associ-ated with some outcome. In principle, such a mechanism could have imperfect information or even imperfect recall. Furthermore, agents could in principle play mixed strategies orbehavioral strategies. However, for our purposes it is without loss of generality to restrictattention to mechanisms in which agents take turns to make public announcements abouttheir private information, and play pure strategies (Mackenzie, 2020). To ease notation, werestrict attention to this class, which was identified by Ashlagi and Gonczarowski (2018), andrefined by Pycia and Troyan (2019), Bade and Gonczarowski (2017), and Mackenzie (2020).We additionally restrict attention to mechanisms in which every type profile results in afinite play. Formally, given a choice rule c , a mechanism for c specifies a directed rooted tree withvertex set V and edge set E . Essentially, we start play from the root vertex v , and at eachstep one agent makes a declaration about his type. We use out( v ) to denote the out-edgesof vertex v , and Z to denote the terminal vertices, i.e. those with no out-edges. For eachnon-terminal vertex v , some agent is called to play, whom we denote P ( v ).Each vertex v ∈ V is associated with a set of types T vi ⊆ T i for each agent i , and wedenote T v = Q i T vi . We interpret the out-edges as reports that could be made by P ( v ).Hence, for any non-terminal vertex v , each edge e ∈ out( v ) corresponds to a non-emptysubset of P ( v )’s types, denoted T eP ( v ) . We require that the family of sets ( T eP ( v ) ) e ∈ out( v ) is apartition of T vP ( v ) .We interpret T vi as the types of i consistent with the reports so far, which requires somerecord-keeping. Hence we require that at the root vertex all types are possible, T v = T . Wealso require that if v ′ is child of v reached by edge e , then T v ′ P ( v ) = T eP ( v ) and for all i = P ( v ), T v ′ i = T vi .We require that every type profile results in a finite play; that is, for all t ∈ T , thereexists a terminal vertex v ∈ Z such that t ∈ T v . This implies that the terminal vertices Z induce a partition of T , which is ( T v ) v ∈ Z . That is, some agent may act without knowing other agents’ past actions. In particular, if there exists an obviously strategy-proof mechanism for a choice rule, then there existsan obviously strategy-proof mechanism in this smaller class. When dealing with finite type sets, this requirement is without loss of generality. In principle, obviousstrategy-proofness is well-defined for the larger class of meet-semilattice trees (Mackenzie, 2020), but therestriction to finite plays makes the definitions in the sequel more transparent. c is measurable with respect to the partition inducedby the terminal vertices, i.e. for all v ∈ Z and all t, t ′ ∈ T v , c ( t ) = c ( t ′ ). Given some non-terminal vertex v , we say that t P ( v ) and t ′ P ( v ) diverge at v if t P ( v ) , t ′ P ( v ) ∈ T vP ( v ) and they make distinct reports, that is, if there is no e ∈ out( v ) such that t P ( v ) , t ′ P ( v ) ∈ T eP ( v ) . Definition 2.
A mechanism for c is obviously strategy-proof (OSP) if for any agent i ,any vertex v with P ( v ) = i , any t i and t ′ i that diverge at v , and any t − i , t ′− i ∈ T v − i , we havethat c ( t i , t − i ) (cid:23) t i c ( t ′ i , t ′− i ) . We say that c is OSP-implementable if there exists an OSP mechanism for c .It is worth contrasting Definition 1 and Definition 2. Definition 1 is a state-by-statecomparison; for any t − i , type t i must prefer truthful reporting to any deviation. By con-trast, Definition 2 compares every possible outcome following the truthful report to everypossible outcome following a deviation, but restricts this comparison to vertices at whichplay diverges. This property depends on the extensive form of the mechanism.Definition 2 is a stronger requirement than Definition 1. For any choice rule c , if c isOSP-implementable, then c is SP.The original definition of OSP restricts attention to mechanisms with a uniform bound onthe depth of the game tree (Li, 2017). Here we have only made the weaker requirement thatevery type profile results in a finite play. Definition 2 is equivalent to the original definitionon game trees with a uniform bound. Were we to make this additional restriction, we wouldneed to strengthen the connectedness requirement (Definition 4), but it would not otherwisealter any of the results.
For any given choice rule c , the number of mechanisms for c is exponential in | T i | for eachagent i . In this section, we develop a machinery that associates each choice rule with a singledirected acyclic graph. We then prove that there exists an OSP mechanism for c if and onlyif the graph is connected in a particular way. Without a uniform bound, the original definition runs into problems with deviations that do not mimic acoherent type and prolong the game forever. One other subtlety is that Definition 2 considers only deviationsthat consistently mimic some type t ′ i , whereas the definition of Li (2017) permits deviations that mimic t ′ i at some vertices and mimic a distinct type t ′′ i at other vertices. But the existence of a ‘profitable’ deviationof that kind implies the existence of a ‘profitable’ deviation of the simpler kind considered by Definition 2,so the definitions are equivalent. efinition 3. The obvious directed acyclic graph (O-dag) of choice rule c is thedirected acyclic graph with vertex set (Y i T ′ i (cid:12)(cid:12)(cid:12)(cid:12)(cid:12) ∀ i : ∅ ⊂ T ′ i ⊆ T i ) and with edge set containing all edges of the form T ′ ⇒ ( A i , T ′− i )where ∅ ⊂ A i ⊂ T ′ i , such that for all a i ∈ A i , all a ′ i ∈ T ′ i \ A i , and all t − i , t ′− i ∈ T ′− i c ( a i , t − i ) (cid:23) a i c ( a ′ i , t ′− i ) and c ( a ′ i , t ′− i ) (cid:23) a ′ i c ( a i , t − i ) . We now establish some properties of the O-dag that aid in the characterization.
Lemma 1.
If the O-dag of c contains an edge T ′ ⇒ ( A i , T ′− i ) , then for any vertex B ⊆ T ′ such that ∅ ⊂ ( A i ∩ B i ) ⊂ B i , the O-dag of c also contains the edge B ⇒ ( A i ∩ B i , B − i ) .Proof. Take any a i ∈ A i ∩ B i , any a ′ i ∈ B i \ ( A i ∩ B i ), and any t − i , t ′− i ∈ B − i . Observethat A i ∩ B i ⊆ A i , B i \ ( A i ∩ B i ) ⊆ T ′ i \ A i , and B − i ⊆ T ′− i . Since the O-dag of c contains T ′ ⇒ ( A i , T ′− i ), we have that c ( a i , t − i ) (cid:23) a i c ( a ′ i , t ′− i ) and c ( a ′ i , t ′− i ) (cid:23) a ′ i c ( a i , t − i ) . Hence, the O-dag of c contains the edge B ⇒ ( A i ∩ B i , B − i ).To ease notation, note that the Cartesian product is distributive over intersections, sofor any two sets A = Q i A i and B = Q i B i we have A ∩ B = Q i ( A i ∩ B i ). Lemma 2.
If the O-dag of c contains a path from vertex T ′ to vertex T ′′ , then for any vertex B such that B i ∩ T ′′ i = ∅ for all i , the O-dag contains a path from B ∩ T ′ to B ∩ T ′′ .Proof. Let T , T , . . . , T K be a path with T = T ′ and T K = T ′′ . By construction, forall k < K we have an edge T k ⇒ T k +1 and for some agent i , T k +1 = ( T k +1 i , T k − i ) and ∅ ⊂ T k +1 i ⊂ T ki .Suppose B i ∩ T ki ⊃ B i ∩ T k +1 i . Observe that B i ∩ T k +1 i ⊇ B i ∩ T ′′ i = ∅ . Then by Lemma1, the O-dag contains the edge B ∩ T k ⇒ B ∩ T k +1 .Suppose B i ∩ T ki = B i ∩ T k +1 i . Then, by T k − i = T k +1 − i , we have that B ∩ T k = B ∩ T k +1 .Hence, for all k < K , either there exists an edge B ∩ T k ⇒ B ∩ T k +1 or B ∩ T k = B ∩ T k +1 ,so there exists a path from B ∩ T ′ to B ∩ T ′′ .We now introduce notation for the ‘answers’ that are feasible from a vertex of the O-dag.For any vertex T ′ in the O-dag of c , let A i ( T ′ ) denote the family of sets (cid:8) A i (cid:12)(cid:12) the O-dag contains T ′ ⇒ ( A i , T ′− i )) (cid:9) . The symmetry of Definition 3 implies that A i ( T ′ ) is closed under complements (relativeto T ′ i ). We now prove that it is closed under intersections and unions.6 emma 3. Let T ′ be any vertex of the O-dag of c . For any agent i , consider some indexedsub-family { A ki | k ∈ K } ⊆ A i ( T ′ ) with at least one member.1. If ∅ ⊂ T k A ki , then T k A ki ∈ A i ( T ′ ) .2. If S k A ki ⊂ T ′ i , then S k A ki ∈ A i ( T ′ ) .Proof. Suppose the antecedent of Clause 1, ∅ ⊂ T k A ki . By Definition 3, we have T k A ki ⊂ T ′ i .Take any t i ∈ T k A ki . For all k , A ki ∈ A i ( T ′ ). Thus, for all t ′ i ∈ S k ( T ′ i \ A ki ), we have ∀ t − i , t ′− i ∈ T ′− i : c ( t i , t − i ) (cid:23) t i c ( t ′ i , t ′− i ) ∀ t − i , t ′− i ∈ T ′− i : c ( t ′ i , t ′− i ) (cid:23) t ′ i c ( t i , t − i ) . Moreover, S k ( T ′ i \ A ki ) = T ′ i \ T k A ki , so T k A ki ∈ A i ( T ′ ). This proves Clause 1 of Lemma 3.Suppose the antecedent of Clause 2, S k A ki ⊂ T ′ i . Note that T ′ i \ S k A ki = T k ( T ′ i \ A ki ),so we have ∅ ⊂ \ k ( T ′ i \ A ki ) . (1)For all k , A ki ∈ A i ( T ′ ), so by closure under relative complement we have that for all k , T ′ i \ A ki ∈ A i ( T ′ ) . (2)By Clause 1, (1), and (2), we have that \ k ( T ′ i \ A ki ) ∈ A i ( T ′ ) . (3)Substituting T k ( T ′ i \ A ki ) = T ′ i \ S k A ki in (3) and applying closure under relative complementyields S k A ki ∈ A i ( T ′ ), which proves Clause 2 of Lemma 3.These observations imply there exists a partition of T ′ i that contains all minimal elementsof A i ( T ′ ), which we now state formally. Lemma 4.
Let T ′ be any vertex in the O-dag of c . For any i , if A i ( T ′ ) is non-empty, thenthere exists a partition A i ( T ′ ) of T ′ i such that:1. A i ( T ′ ) ⊆ A i ( T ′ )
2. For any A i ∈ A i ( T ′ ) and any t i ∈ A i , the unique element A ′ i ∈ A i ( T ′ ) such that t i ∈ A ′ i satisfies A ′ i ⊆ A i .Proof. For any t i ∈ T ′ i , let us define A i ( t i , T ′ ) ≡ { A i ∈ A i ( T ′ ) | t i ∈ A i } . A i ( T ′ ) non-empty, there exists at least one element A ′ i ∈ A i ( T ′ ). By closureunder relative complement, we have T ′ i \ A ′ i ∈ A i ( T ′ ). Hence, for all t i ∈ T ′ i , A i ( t i , T ′ ) isnon-empty. Now we define A i ( T ′ ) ≡ n\ A i ( t i , T ′ ) (cid:12)(cid:12)(cid:12) t i ∈ T ′ i o . Observe that for all t i ∈ T ′ i , we have t i ∈ T A i ( t i , T ′ ), which implies that S A i ( T ′ ) = T ′ .Next we prove Clause 1 of Lemma 4. Take any t i ∈ T ′ i . By construction ∅ ⊂ { t i } ⊆ T A i ( t i , T ′ ). By Lemma 3, T A i ( t i , T ′ ) ∈ A i ( T ′ ). And t i was chosen arbitrarily, so we havethat A i ( T ′ ) ⊆ A i ( T ′ ), which proves Clause 1.Now we prove that any two elements of A i ( T ′ ) are either disjoint or identical. Take any A i , A ′ i ∈ A i ( T ′ ). By Clause 1, A i , A ′ i ∈ A i ( T ′ ). By construction, there exists t i such that A i = T A i ( t i , T ′ ). Either t i ∈ A ′ i or t i ∈ T ′ i \ A ′ i .Suppose t i ∈ A ′ i . By Lemma 3, A i ∩ A ′ i ∈ A i ( T ′ ), so A i ∩ A ′ i ∈ A i ( t i , T ′ ), which yields A i = T A i ( t i , T ′ ) ⊆ A i ∩ A ′ i ⊆ A ′ i .Suppose t i ∈ T ′ i \ A ′ i . By closure under relative complement, T ′ i \ A ′ i ∈ A i ( T ′ ). ByLemma 3, A i ∩ ( T ′ i \ A ′ i ) ∈ A i ( T ′ ), so A i ∩ ( T ′ i \ A ′ i ) ∈ A i ( t i , T ′ ). Thus, we have A i = T A i ( t i , T ′ ) ⊆ A i ∩ ( T ′ i \ A ′ i ) ⊆ T ′ i \ A ′ i . This implies that A i ∩ A ′ i = ∅ .We have proved that either A i ∩ A ′ i = ∅ or A i ⊆ A ′ i . By symmetry, we also have that A i ∩ A ′ i = ∅ or A i ⊇ A ′ i . Thus, A i and A ′ i are either disjoint or identical. We have establishedthat A i ( T ′ ) is a partition of T ′ .Clause 2 follows by construction of A i ( T ′ ). Observe that for any A i ∈ A i ( T ′ ) and any t i ∈ A i , we have that A i ∈ A i ( t i , T ′ ). So for A ′ i = T A i ( t i , T ′ ), we have that A ′ i ⊆ A i , whichcompletes the proof.We now define a connectedness property for O-dags. Definition 4.
The O-dag of c is nicely connected if for every t ∈ T , there exists a pathfrom the root T to the vertex { t } .The OSP-implementable choice rules are characterized by this connectedness property.This enables us to reduce a question about the class of all mechanisms for c to a questionabout the O-dag of c . Theorem 1.
For any choice rule c , there exists an OSP mechanism for c if and only if theO-dag of c is nicely connected.Proof. Suppose there exists an OSP mechanism for c , and denote its vertex set V and itsedge set E . Take any t ∈ T . There exists a terminal vertex z such that t ∈ T z . Hence thereexists a path v , v , . . . , v K in the tree such that v = v and v K = z .We now prove that for all k < K , the O-dag of c contains the edge T v k ⇒ T v k +1 . Let i = P ( v k ). By construction, ∅ ⊂ T v k +1 i ⊂ T v k i and T v k +1 − i = T v k − i . Take any t i ∈ T v k +1 i and any t ′ i ∈ T v k i \ T v k +1 i . Since t i and t ′ i diverge at v k and the mechanism is OSP, it follows that forany t − i , t ′− i ∈ T v k − i , c ( t i , t − i ) (cid:23) t i c ( t ′ i , t ′− i ) . c ( t ′ i , t ′− i ) (cid:23) t ′ i c ( t i , t − i ) . which proves that the O-dag of c contains the edge T v k ⇒ T v k +1 .Since c is measurable with respect to the terminal vertices of the mechanism, we havethat for all t ′ , t ′′ ∈ T v K , c ( t ′ ) = c ( t ′′ ). This implies that if T v K = { t } , then the O-dag containsthe edge T v K ⇒ { t } . Thus, for all t , the O-dag of c has a path from the root T to { t } . Thisproves that if there exists an OSP mechanism for c , then the O-dag of c is nicely connected.Suppose that the O-dag of c is nicely connected. We now construct an OSP mechanismfor c . Essentially, we cycle through the bidders in a fixed order, keeping track of the typeprofiles consistent with all previous reports, ˜ T k . At the k th step, we ask bidder i to reporta cell of the minimal partition A i ( ˜ T k ) if it is non-empty. Otherwise, we skip bidder i . Thekey is to show that the O-dag being nicely connected implies that this procedure does notget stuck for any type profile.Formally, we generate the mechanism using the following procedure: As before, we iden-tify agents with integers 1 , . . . , n . Let i k ≡ ( k mod n ) + 1. We initialize ˜ T = T . For k = 0 , , , . . . , if A i k ( ˜ T k ) is non-empty, then i k reports A i k ∈ A i k ( ˜ T k ) such that t i k ∈ A i k ,which is well-defined and unique by Lemma 4. We then define ˜ T k +1 ≡ ( A i k , ˜ T k − i k ). If A i k ( ˜ T k )is empty, we define ˜ T k +1 ≡ ˜ T k . The procedure terminates if ˜ T k is singleton.We now prove that the above procedure generates a mechanism for c . In particular, weshow that for any t ∈ T , there is a terminal vertex v of the mechanism such that T v = { t } ,which implies that every type profile results in a finite play, and also that the choice rule ismeasurable with respect to the partition induced by the terminal vertices.Take any t ∈ T . Since the O-dag is nicely connected, there exists a path in the O-dag from T to { t } , which we denote T , T , . . . , T K . Consider the sequence generated bythe procedure when the type profile is t , which we denote ( ˜ T k ) ∞ k =1 . For convenience, if theprocedure terminates at step ˜ K , we define ˜ T k = ˜ T ˜ K for k > ˜ K .We prove by induction that ˜ T nk ⊆ T k for all k ≤ K . The inductive hypothesis holds for k = 0, since ˜ T = T = T . Suppose it holds for some k < K ; we now prove it holds for k + 1.Since T , T , . . . , T K is a path in the O-dag, there exists some agent j and some A j ⊂ T kj such that ( A j , T k − j ) = T k +1 , and the O-dag contains edge T kj ⇒ ( A j , T k − j ) (4)If ˜ T nkj ⊆ A j , then ˜ T n ( k +1) ⊆ ˜ T nk ⊆ ( A j , T k − j ) = T k +1 and we are done. Suppose not, so A j ∩ ˜ T nkj ⊂ ˜ T nkj . Observe that t ∈ A j ∩ ˜ T nkj , so we have that ∅ ⊂ A j ∩ ˜ T nkj ⊂ ˜ T nkj . (5) i l = j for some l weakly between nk and n ( k + 1) −
1, and ˜ T lj = ˜ T nkj . By construction andthen by the inductive hypothesis, ˜ T l ⊆ ˜ T nk ⊆ T k . (6)9y (4), (5), (6), and Lemma 1, the O-dag contains the edge˜ T l ⇒ ( A j ∩ ˜ T lj , ˜ T l − j ) . (7)Since A j ( ˜ T l ) consists of the minimal elements of A j ( ˜ T l ), (7) and the definition of the sequenceimply that ˜ T l +1 j ⊆ A j ∩ ˜ T lj . Hence, ˜ T n ( k +1) ⊆ ˜ T l +1 ⊆ ( A j ∩ ˜ T lj , ˜ T nk − j ) ⊆ ( A j , T k − j ) = T k +1 which proves the inductive step. Thus, for all k ≤ K , we have that ˜ T nk ⊆ T k . In particular,˜ T nK ⊆ T K = { t } , so the procedure terminates after no more than nK steps.Consequently, for every type profile t , there exists a terminal vertex v in the correspondingmechanism such that T v = { t } , so the procedure generates a mechanism for c .Finally, the mechanism generated by the procedure is OSP. In particular, if t i and t ′ i diverge at some vertex v of the mechanism, then t i and t ′ i are in distinct cells of A i ( T v ).Hence, we have that for any t − i , t ′− i ∈ T v − i , c ( t i , t − i ) (cid:23) t i c ( t ′ i , t ′− i ) . Thus, if the O-dag of c is nicely connected, then there exists an OSP mechanism for c .We will shortly use the O-dag characterization to answer algorithmic questions about OSPmechanisms. However, the characterization may be of independent interest. For instance,Lemma 2 and Theorem 1 together yield a tractable method to prove the non-existence ofOSP mechanisms for particular choice rules, stated in the following corollary. Corollary 1.
For any choice rule c , if the O-dag of c contains a non-singleton vertex T ′ ,and t ∈ T ′ such that there is no path from T ′ to { t } , then c is not OSP-implementable. When type spaces are finite, all paths in the O-dag are finite. This property gives thestronger condition below.
Corollary 2.
If all T i are finite, then a choice rule c is OSP-implementable if and only ifevery non-singleton vertex in its O-dag has a child.Proof. If the O-dag of c contains a non-singleton vertex with no child, then Corollary 1implies that c is not OSP-implementable.For the converse, let every non-singleton vertex of the O-dag have a child. Consider any t ∈ T . Inductively construct a path T , T , . . . with T = T such that T k +1 is any child of T k that contains t . The path ends upon reaching some T K with no such child. If T K werenon-singleton, then it would have some children ( A i , T K − i ) and ( T Ki \ A i , T K − i ), one of whichcontains t , a contradiction. Thus T K = { t } . Therefore the O-dag is nicely connected, so c is OSP-implementable by Theorem 1. 10 An algorithm for deciding whether a choice rule isOSP-implementable
This section studies the computational problem of determining whether a choice rule isOSP-implementable, assuming finite type spaces. For an arbitrary choice rule c , we use thestructure of the O-dag of c to efficiently determine if c is OSP-implementable.Suppose we have finite type sets ( T i ) i ∈ N , outcome set X , a choice rule c : Q i T i → X ,and utility functions u i : T i × X → R . An instance of the decision problem is comprised by P i | T i | functions, one for each type t i , u i ( t i , · ) ◦ c : T × · · · × T n → R . Each of these functions requires Q i | T i | real numbers to express in general. In our decisionproblem, we take these functions as the input. Hence, we define | c | = X i | T i | ! Y i | T i | which is the size of the table that specifies the payoffs to each type of each agent, for eachprofile of reports. Running times for algorithms on c will be expressed as a function of | c | . First consider the problem of deciding whether c is strategy-proof. For each i and each t i ∈ T i , it is necessary and sufficient to verify for all t ′ i ∈ T i and all t − i ∈ T − i that u t i ( c ( t i , t − i )) ≥ u t i ( c ( t ′ i , t − i )). This verification requires P i | T i | | T − i | = | c | steps, so deciding whether c is SPrequires linear time.The following result states that it is not much more difficult to determine if c is OSP-implementable. Theorem 2.
There exists a O ( | c | P i | T i | ) -time algorithm for deciding whether c is OSP-implementable. To put this result in context, consider that while the number of histories in an arbi-trary OSP mechanism for c may grow exponentially in | c | , the gradual revelation principleof Bade and Gonczarowski (2017) guarantees that every OSP mechanism c has an OSP im-plementation of depth at most P i | T i | and with at most Q i | T i | distinct terminal histories,so that c has an OSP implementation of size at most | c | . It can also be verified that any suchimplementation is OSP in polynomial time, so it follows that the problem of deciding whether c is OSP-implementable lies in NP . However, the number of (extensive-form) mechanisms ofsize at most | c | grows exponentially in | c | , so a brute force search through all mechanismswould require exponential time. A brute force search through the O-dag of c is similarly A limitation of this approach is that, because we take the payoffs induced by the choice rule as aninput, we abstract from the difficulty of computing the choice rule itself. For instance, there are set-tings in which welfare-maximizing choice rules are not tractable to compute (Hartline and Lucier, 2015;Leyton-Brown et al., 2017). If a choice rule’s output cannot be quickly computed, then its induced payoffsalso cannot be quickly computed, which complicates checking whether it is even strategy-proof. | c | . It is thereforenot immediately clear that the problem of deciding whether c is OSP-implementable lies in P ; this is the contribution of Theorem 2. Note that | c | P i | T i | ≤ | c | , with strict inequalityif Q i | T i | >
1, so Theorem 2 asserts that the problem can be decided in sub-quadratic time.The proof of Theorem 2 leverages the structure of the O-dag presented in Section 3 toefficiently find paths from the root to each singleton vertex, without a brute force searchthrough all vertices. We will use the following lemma.
Lemma 5.
For any vertex T ′ in the O-dag of c , there exists a O (( P i | T ′ i | ) Q i | T ′ i | ) -timealgorithm that determines for each i if A i ( T ′ ) is nonempty, and if so then computes thepartition A i ( T ′ ) .Proof. For each agent i , construct an undirected graph G i ( T ′ ) with vertex set T ′ i and edgeset containing all pairs { t ′ i , t ′′ i } such thatmin t ′− i ∈ T ′− i u i ( t ′ i , c ( t ′ i , t ′− i )) < max t ′− i ∈ T ′− i u i ( t ′ i , c ( t ′′ i , t ′− i ))or min t ′− i ∈ T ′− i u i ( t ′′ i , c ( t ′′ i , t ′− i )) < max t ′− i ∈ T ′− i u i ( t ′′ i , c ( t ′ i , t ′− i ))That is, if G i ( T ′ ) has an edge { t ′ i , t ′′ i } , then any child of T ′ in the O-dag of c containseither none or both of t ′ i , t ′′ i . Each maximization or minimization takes O ( | T ′− i | ) time, so theconstruction of G i ( T ′ ) takes O ( | T ′ i | · | T ′− i | ) time. Thus, to construct G i ( T ′ ) for all i takes O (( P i | T ′ i | ) Q i | T ′ i | ) time.For each i , the connected components of G i ( T ′ ) can be found in O ( | T i | ) time. To dothis for all i takes O ( P i | T i | ) time. By Definition 3 and the construction of G i ( T ′ ), a subset ∅ ⊂ A i ⊂ T ′ i belongs to A i ( T ′ ) iff there are no edges in G i ( T ′ ) between A i and T ′ i \ A i . Thus A i ( T ′ ) = ∅ iff G i ( T ′ ) has a single connected component, and if A i ( T ′ ) = ∅ , then A i ( T ′ ) isthe partition of T i given by the connected components of G i ( T ′ ). The total running time ofthe algorithm is O (( P i | T ′ i | ) Q i | T ′ i | ) + O ( P i | T ′ i | ) = O (( P i | T ′ i | ) Q i | T ′ i | ).We now define a recursive algorithm that, given any vertex T ′ of the O-dag, determines Given an undirected graph with vertex set V and edge set E , its connected components can be found intime proportional to max {| V | , | E |} ≤ | V | (Hopcroft and Tarjan, 1973). T ′ is nicely connected. Algorithm 1:
Determine if subdag of O-dag rooted at T ′ is nicely connected. Function
NicelyConnected( T ′ ) if | T ′ | = 1 thenreturn True else if A i ( T ′ ) = ∅ ∀ i ∈ N thenreturn False else
Choose some i = i ( T ′ ) ∈ N with A i ( T ′ ) = ∅ return V A i ∈A i ( T ′ ) NicelyConnected( A i , T ′− i ) a a That is, return
True iff for all A i ∈ A i ( T ′ ), NicelyConnected( A i , T ′− i ) returns True . Proof of Theorem 2.
By Theorem 1, choice rule c is OSP-implementable if and only if theO-dag of c is nicely connected. Therefore Algorithm 1 presents the desired algorithm NicelyConnected( T ′ ) , which determines if the subdag of the O-dag of c rooted at anyvertex T ′ is nicely connected.We show the correctness of NicelyConnected by induction on the vertex T ′ . For the basecase, if | T ′ | = 1 then the subdag rooted at T ′ is by definition nicely connected. For the induc-tive step, assume that | T ′ | >
1, and that for any vertex T ′′ ⊂ T ′ , NicelyConnected( T ′′ ) re-turns True iff the subdag rooted at T ′′ is nicely connected. We now show that NicelyConnected( T ′ ) returns True iff the subdag rooted at T ′ is nicely connected.First assume that NicelyConnected( T ′ ) returns True, so that there exists some i suchthat A i ( T ′ ) = ∅ and for each A i ∈ A i ( T ′ ), the subdag rooted at ( A i , T ′− i ) is nicely connected.Then for any t ∈ T ′ , by definition t i ∈ A i for some A i ∈ A i ( T ′ ), so by the inductive hypothesisthe O-dag of c must have a path from T ′ to { t } whose first edge is T ′ ⇒ ( A i , T ′− i ). Thereforeif NicelyConnected( T ′ ) returns True, then the subdag rooted at T ′ is nicely connected.Now assume that the subdag rooted at T ′ is nicely connected. By definition T ′ musthave outgoing edges in the O-dag of c , so there exists some i with A i ( T ′ ) = ∅ . Then forany A i ∈ A i ( T ′ ) and any t ∈ ( A i , T ′− i ), nice connectedness at T ′ implies that the O-dag of c contains a path from T ′ to { t } , from which it follows by Lemma 2 that the O-dag containsa path from ( A i , T ′− i ) to { t } . Thus the subdag rooted at ( A i , T ′− i ) is nicely connected for all A i ∈ A i ( T ′ ), so NicelyConnected( T ′ ) returns True, completing the inductive step.It remains to be shown that NicelyConnected( T ) runs in O (( P i | T i ) | c | ) time. For any d ≥
1, let T d denote the set of all vertices T ′ such that NicelyConnected( T ′ ) is called atrecursive depth d during the execution of NicelyConnected( T ) . For example, T = { T } ,and either T = ∅ or T = A i ( T ) for some i . Because any call to NicelyConnected( T ′ ) willonly recursively invoke NicelyConnected( T ′′ ) if T ′′ i ⊆ T ′ i for all i with a proper inclusionfor some i , it follows that the recursion can go at most P i | T i | levels deep, so T d = ∅ for d > P i | T i | .For any vertex T ′ in the O-dag of c , Lemma 5 gives a O (( P i | T ′ i | ) Q i | T ′ i | )-time algorithmfor determining if A i ( T ′ ) = ∅ and computing A i ( T ′ ) for all i . Therefore the running time of13 icelyConnected( T ) is at most O P i | T i | X d =1 X T ′ ∈T d X i | T ′ i | ! Y i | T ′ i | . Because T = { T } , the d = 1 term of the above sum equals | c | . Thus to show the desiredrunning time bound of O (( P i | T i | ) | c | ), it is sufficient to show that for all d ≥
1, the d -termof the sum above bounds the ( d + 1)-term, that is, X T ′ ∈T d X i | T ′ i | ! Y i | T ′ i | ≥ X T ′ ∈T d +1 X i | T ′ i | ! Y i | T ′ i | . (8)Consider any T ′ ∈ T d . If A i ( T ′ ) = ∅ for all i , then NicelyConnected( T ′ ) makes no recursivecalls. Otherwise, for some i = i ( T ′ ) this invocation calls NicelyConnected( A i , T − i ) for all A i ∈ A i ( T ′ ), so T d +1 = [ T ′ ∈T d |∃ i = i ( T ′ ) with A i ( T ′ ) = ∅ { ( A i , T ′− i ) | A i ∈ A i ( T ′ ) } . (9)For any T ′ and i = i ( T ′ ), X j | T ′ j | ! Y j | T ′ j | = X A i ∈A i ( T ′ ) X j | T ′ j | ! | A i | Y j = i | T ′ j | ≥ X A i ∈A i ( T ′ ) | A i | + X j = i | T ′ j | ! | A i | Y j = i | T ′ j | . Summing this inequality over all T ′ ∈ T d and applying (9) gives (8), as desired.Theorem 2 guarantees that we can decide in polynomial time whether there exists anOSP mechanism for c . A natural next question is: If an OSP mechanism exists, can wequickly construct one quickly? The following theorem states that such mechanisms can beconstructed in polynomial time. Theorem 3. If c is OSP-implementable, then there exists O (( P i | T i | ) | c | ) -time algorithmthat constructs an OSP mechanism for c .Proof. Let M ( T ′ ) be the subtree of the O-dag of c given by the recursion tree from a call to NicelyConnected( T ′ ) . Formally, the vertices of M ( T ′ ) are the O-dag vertices T ′′ for which NicelyConnected( T ′′ ) is called at some point during the execution of NicelyConnected( T ′ ) ,and the children in M ( T ′ ) of T ′′ are the vertices { ( A i ( T ′′ ) , T − i ( T ′′ ) ) : A i ( T ′′ ) ∈ A i ( T ′′ ) ( T ′′ ) } .The tree M ( T ) produced by NicelyConnected( T ) is by definition an OSP mechanism for c ,where the player at vertex T ′ is i ( T ′ ). The function NicelyConnected( T ′ ) may be modifiedto store and return the tree M ( T ′ ) during its execution with only a constant factor slowdownin running time, so the result follows by the running time analysis of NicelyConnected inTheorem 2. 14
Specifying choice rules with circuits
So far, we have studied decision problems for which the inputs are tables, specifying thepayoffs to each type of each agent, at each profile of reports. However, in economic appli-cations, utility functions and choice rules often have special structure that permits a moreconcise description.In this section, we investigate what happens when we make the decision problem harderby using a more powerful input language. In particular, we modify the computational modelto represent utility functions and choice rules as Boolean circuits.We again consider agents N with finite type sets T , . . . , T n and outcome set X . Eachagent i has utility function u i : T i × X → { , . . . , | X | − } , which reflects arbitrary ordinalpreferences over outcomes in X .Utility functions u i and choice rule c are represented as Boolean circuits C u i and C c respec-tively. Letting each T i = { , . . . , | T i | − } , the information ( N, ( T , . . . , T n ) , ( u , . . . , u n ) , c )can be encoded as follows: (1 | T | , . . . , | T n | , C u , . . . , C u n , C c ) . (10)The outcome set X is implicitly defined by the output bits of C c . Note that the sizes | T i | are expressed in unary, using Θ( | T i | ) bits as opposed to Θ(log | T i | ) bits, which permits apolynomial time algorithm with the above input to use poly( P i | T i | ) time. The following results show that when choice rules are expressed as in (10), decidingwhether a choice rule is SP is co- NP -complete, and so is deciding whether a choice rule isOSP-implementable. Theorem 4.
Under the circuit model, deciding whether a choice rule is SP is co- NP -complete.Proof. To see that deciding SP-implementability is in co- NP , consider that c is not SP iffthere exists some t i , t ′ i ∈ T i , t − i ∈ T − i such that u i ( t i , c ( t i , t − i )) < u i ( t i , c ( t ′ i , t − i )) . Thus a proof that c is not SP may consist of ( i, t i , t ′ i , t − i ), and the verification of the aboveinequality requires time O ( | C u i | + | C c | ).We use a reduction from Boolean satisfiability (SAT) to show that deciding whether achoice rule is SP is co- NP -complete. Fix a Boolean formula C form , which is by definitionalso a circuit. Let n be one plus the number of inputs to C form . Let T i = { t i , t i } forall i and X = { , } . Fix some agent i , and define u i ( t i , x ) = x and u i ( t i , x ) = 0 for x ∈ X . For all j ∈ N \ { i } , t j ∈ T j , and x ∈ X , let u j ( t j , x ) = 0. For t − i ∈ T − i , let Since our concern here is with deterministic strategy-proof choice rules, it is without loss of generalityto limit attention to ordinal preferences. If instead choice rules were encoded as ( | T | , . . . , | T n | , C u , . . . , C u n , C c ), then Theorem 4 still holds, butthe proof of Theorem 5 breaks, as the verification algorithm would no longer run in polynomial time. ( t i , t − i ) = 0 and c ( t i , t − i ) = C form ( t − i ), where C form ( t − i ) denotes the evaluation of C form oninput t − i ∈ T − i ∼ = { , } n − .The construction of (1 | T | , . . . , | T n | , C u , . . . , C u n , C c ) requires time O ( C form ), as each u i has has two input bits and one output bit and therefore may be constructed in constanttime, while C c can be constructed in time O ( C form ). Specifically, C c is given by conditioningthe output of C form ( t − i ) on the value of t i , which requires adding a constant number of gatesto C form .By definition, c is not SP iff agent i with type t i may ever benefit from a deviation, that is,if there exists some t − i ∈ T − i for which c ( t i , t − i ) = 1. This equality holds iff C form ( t − i ) = 1,so c is not SP iff C form is satisfiable. Thus deciding whether a choice rule is SP-implementableis co- NP -complete because SAT is NP -complete.Next, we apply the O-dag structure to show that the OSP-implementability decisionproblem is also co- NP -complete. The main idea in the proof is to use a non-singleton vertexwith no child in the O-dag as a witness to non-OSP-implementability. This approach isjustified by Corollary 2. Theorem 5.
Under the circuit model, deciding whether a choice rule is OSP-implementableis co- NP -complete.Proof. First we show that deciding OSP-implementability is in co- NP . By Corollary 2, inorder to show that c is not OSP-implementable, it is sufficient to present a non-singletonset T ′ = T ′ × · · · × T ′ n ⊆ T , along with a proof that T ′ has no child in the O-dag of c .By definition T ′ has no child iff for all i , the graph G i ( T ′ ) from the proof of Lemma 5 isconnected, or equivalently, G i ( T ′ ) has a spanning tree. Recall that G i ( T ′ ) has vertex set T ′ i ,and a pair { t i , t ′ i } ⊆ T ′ i forms an edge in G i ( T ′ ) iff there exist some t − i , t ′− i ∈ T ′− i such thatone of the following inequalities holds: u i ( t i , c ( t i , t − i )) < u i ( t i , c ( t ′ i , t ′− i )) (11) u i ( t ′ i , c ( t ′ i , t ′− i )) < u i ( t ′ i , c ( t i , t − i )) . Thus a proof that c is not OSP-implementable may consist of the following: • A vertex T ′ with no child in the O-dag of c • For each i , a set H i containing | T ′ i | − t, t ′ ) ∈ T ′ such that:1. {{ t i , t ′ i } : ( t, t ′ ) ∈ H i } forms a spanning tree of G i ( T ′ )2. Each ( t, t ′ ) ∈ H i satisfies at least one of the inequalities in (11).To verify the proof that each G i ( T ′ ) is connected, it is sufficient to verify for each i that {{ t i , t ′ i } : ( t, t ′ ) ∈ H i } forms a tree over the vertex set T ′ i , and that each ( t, t ′ ) ∈ H i sat-isfies at least one inequality in (11). These verifications may be done in time O ( | H i | ) and O ( | T i | ( | C u i | + | C c | )) time respectively, where | H i | = ( | T ′ i | − · P i ⌈ log | T i |⌉ is the numberof bits to store H i . The circuit C c takes as input t ∈ T , so its size | C c | is at least the number16f input bits P i ⌈ log | T i |⌉ , and therefore | H i | = O ( | T i || C c | ). Thus the verification for all i runs in time X i O ( | H i | + | T i | ( | C u i | + | C c | )) = O X i | T i | ( | C u i | + | C c | ) ! , which is at most quadratic in | (1 | T | , . . . , | T n | , C u , . . . , C u n , C c ) | . Therefore deciding OSP-implementability is in co- NP .In the proof of Theorem 4, we reduced SAT to the problem of verifying that a choicerule is not SP. This may also be used to reduce SAT to verifying that no OSP mechanismexists for a choice rule. In particular, all choice rules used in the reduction have at mostone agent i for which u i is non-constant. If such a choice rule is SP, then any mechanism inwhich all agents in N \ { i } report their types and finally i reports his type is OSP. Hence,such a choice rule is SP iff it is OSP-implementable. Thus, deciding OSP-implementabilityis co- NP -complete.The preceding results suggest that SP and OSP are computationally comparable. Whenutility functions and choice rules are expressed as a table, deciding whether a choice rule isSP and deciding whether a choice rule is OSP-implementable are both in P . When utilityfunctions and choice rules are expressed as circuits, the corresponding decision problems areboth co- NP -complete. Even though OSP depends on the extensive form of the mechanism,this does not seem to substantially raise computational complexity.What if we consider input languages that are more powerful than tables but less powerfulthan circuits? For instance, we could permit only choice rules and utility functions thatcan be represented as Boolean formulae. Theorem 4 and Theorem 5 still hold under thisrestriction, because our reduction from SAT uses only circuits that can be represented equallyefficiently as formulae. We have established that, given an arbitrary choice rule expressed as a table, one can de-termine whether it is OSP-implementable in sub-quadratic time. Another approach is totake as given some economic setting, and then to investigate which choice rules are OSP-implementable. This approach has been pursued successfully in a variety of settings, suchas • two-sided matching (Ashlagi and Gonczarowski, 2018; Thomas, 2020), • social choice with single-peaked preferences (Bade and Gonczarowski, 2017; Arribillaga et al.,2020), • object allocation (Troyan, 2019; Bade, 2019), • machine scheduling and facility location (Ferraioli and Ventre, 2020),17 under ‘rich’ preferences (Pycia and Troyan, 2019), • and in the division problem with single-peaked preferences (Arribillaga et al., 2019).These two approaches are distinct and complementary. The algorithm presented abovedetermines whether a single choice rule is OSP-implementable. Of course, there are im-portant questions that this does not directly answer. For instance, given some class ofchoice rules that satisfy other desiderata, is every rule in the class OSP-implementable(Ashlagi and Gonczarowski, 2018; Arribillaga et al., 2019)? As another example, if we re-strict attention to some economic setting, do the OSP mechanisms have a special structure,such as clock auctions (Li, 2017) or millipede games (Pycia and Troyan, 2019)?We hope that an algorithm for rapidly checking individual cases will help to test andrefine conjectures. Notably, the O-dag characterization reveals that OSP-implementablechoice rules have a tractable underlying structure. References
Arribillaga, R. P., J. Mass´o, and A. Neme (2019): “All sequential allotment rulesare obviously strategy-proof,” .
Arribillaga, R. P., J. Mass´o, and A. Neme (2020): “On obvious strategy-proofnessand single-peakedness,”
Journal of Economic Theory , 186, 104992.
Ashlagi, I. and Y. A. Gonczarowski (2018): “Stable matching mechanisms are notobviously strategy-proof,”
Journal of Economic Theory , 177, 405–425.
Bade, S. (2019): “Matching with single-peaked preferences,”
Journal of Economic Theory ,180, 81–99.
Bade, S. and Y. A. Gonczarowski (2017): “Gibbard-Satterthwaite Success Stories andObvious Strategyproofness,” in
Proceedings of the 2017 ACM Conference on Economicsand Computation , New York, NY, USA: ACM, EC ’17, 565–565, event-place: Cambridge,Massachusetts, USA.
B´o, I. and R. Hakimov (2020a): “Iterative versus standard deferred acceptance: Experi-mental evidence,”
The Economic Journal , 130, 356–392.——— (2020b): “Pick-an-object Mechanisms,”
Available at SSRN . Charness, G. and D. Levin (2009): “The origin of the winner’s curse: a laboratorystudy,”
American Economic Journal: Microeconomics , 1, 207–36.
Esponda, I. and E. Vespa (2014): “Hypothetical thinking and information extraction inthe laboratory,”
American Economic Journal: Microeconomics , 6, 180–202.18—— (2016): “Contingent preferences and the sure-thing principle: Revisiting classicanomalies in the laboratory,” working paper . Ferraioli, D. and C. Ventre (2020): “Approximation Guarantee of OSP Mechanisms:The Case of Machine Scheduling and Facility Location,”
Algorithmica , 1–31.
Gibbard, A. (1973): “Manipulation of voting schemes: a general result,”
Econometrica ,587–601.
Hartline, J. D. and B. Lucier (2015): “Non-optimal mechanism design,”
AmericanEconomic Review , 105, 3102–24.
Hopcroft, J. and R. Tarjan (1973): “Algorithm 447: efficient algorithms for graphmanipulation,”
Communications of the ACM , 16, 372–378.
Kagel, J. H., R. M. Harstad, and D. Levin (1987): “Information impact and alloca-tion rules in auctions with affiliated private values: A laboratory study,”
Econometrica ,1275–1304.
Kagel, J. H. and D. Levin (2001): “Behavior in multi-unit demand auctions: experi-ments with uniform price and dynamic Vickrey auctions,”
Econometrica , 69, 413–454.
Leyton-Brown, K., P. Milgrom, and I. Segal (2017): “Economics and computerscience of a radio spectrum reallocation,”
Proceedings of the National Academy of Sciences ,114, 7202–7209.
Li, S. (2017): “Obviously Strategy-Proof Mechanisms,”
American Economic Review , 107,3257–3287.
Mackenzie, A. (2020): “A revelation principle for obviously strategy-proof implementa-tion,”
Games and Economic Behavior . Mandal, P. and S. Roy (2020): “Obviously Strategy-proof Implementation of AssignmentRules: A New Characterization,” .
McGee, P. and D. Levin (2019): “How obvious is the dominant strategy in an EnglishAuction? Experimental evidence,”
Journal of Economic Behavior & Organization , 159,355–365.
Myerson, R. B. (1979): “Incentive compatibility and the bargaining problem,”
Econo-metrica , 61–73.
Ngangoue, K. and G. Weizsacker (2015): “Learning from unrealized versus realizedprices,” .
Pycia, M. and P. Troyan (2019): “A Theory of Simplicity in Games and MechanismDesign,” 71. 19 chneider, M. and D. Porter (2020): “Effects of experience, choice architecture, andcognitive reflection in strategyproof mechanisms,”
Journal of Economic Behavior & Or-ganization , 171, 361–377.
Thomas, C. (2020): “Classification of Priorities Such That Deferred Acceptance is Obvi-ously Strategyproof,” arXiv preprint arXiv:2011.12367 . Troyan, P. (2019): “Obviously Strategy-Proof Implementation of Top Trading Cycles,”
International Economic Review , 60, 1249–1261.