1 Introduction
In a typical Internet advertising scenario, advertisers arrive sequentially and are matched in an online fashion to a set of ad slots. The domain of Internet advertising has led to a surge of interest in the study of online matching problems. Indeed, a large number of new models of online matching problems have been introduced in the last decade and new algorithmic techniques have emerged (see the survey of Mehta [18] and references therein). The new problems are both theoretically elegant and practically relevant.
In an online bipartite matching problem, there is a set of rightside vertices, known in advance, and a set of leftside vertices, which arrive in an online fashion. Upon the arrival of a vertex , the weights on the edges from to vertices in are revealed, and an immediate and irrevocable matching decision should be made (possibly leaving unmatched). The goal is to maximize the total weight of the obtained matching. In the Internet advertising analogue, is the set of items (ad slots) and is the set of buyers (advertisers). Upon the arrival of a buyer, her values to all items are revealed and a matching decision should be made. The total weight of the obtained matching is termed the welfare of the matching. The performance of an online matching algorithm ALG is typically quantified by the competitive ratio of ALG, defined as the ratio of the expected welfare obtained by ALG (in the worst arrival order) and the maximum weighted matching in hindsight.
Feldman et al. [7] study the design of pricing mechanisms in Bayesian online matching problems; i.e., where the valuation of every buyer is drawn independently from a known distribution. The designer assigns item prices, based on the known prior, and buyers arrive in an adversarial order (after observing the prices), each purchasing the item that maximizes her utility (defined as the difference between value and price). It is shown that one can set item prices that guarantee a competitive ratio of . In fact, the last result holds in a much more general setting than matching, where buyers have submodular^{1}^{1}1A valuation is said to be submodular if for every two sets , ,. valuations over bundles of items, and each arriving buyer purchases a bundle that maximizes her utility (defined as the difference between the value of the bundle and the sum of item prices in the bundle).
The bound of has been shown to be tight in the Bayesian setting [7]. I.e., if the designer knows the distributions from which values are drawn but not the realized values, then no item prices can obtain better than half the optimal welfare in the worst case. A natural question to ask is whether this ratio can be improved in full information settings; i.e., in scenarios where the designer knows the realized values of the buyers from the outset. The full information assumption is sensible in repeated markets or in markets where the stakes are high and the designer may invest in learning the demand in the market before setting prices. Concretely, the problem is the following: in scenarios where the graph is fully known, does there exist item prices that guarantee strictly more than half the optimal welfare, for any arrival order ? This question has been open until now. Not only has it been open for general combinatorial auctions with submodular valuations, it has been open even for unitdemand buyers, and even if all individual values are in (henceforth referred to as unit demand valuations). This scenario has the following description as an online bipartite matching problem.
Maxmin greedy matching. Let be an (unweighted) bipartite graph with vertices in each side. Assume w.l.o.g. that admits a perfect matching. For every vertex , let denote the set of neighbors of . Consider a permutation over and a permutation over . In the greedy matching algorithm, vertices of arrive in order and each vertex is matched to the lowest (under ) yet unmatched (or left unmatched, if all is already matched). Let denote the greedy matching obtained by using permutations and . Let , and let . The question is whether : is there some such that every bipartite graph (that admits a perfect matching) admits a permutation satisfying ?
Every greedy matching is a maximal matching. Hence for every the obtained matching is of size at least (and this is true even if the graph is unknown). Moreover, for families of graphs where every maximal matching is greater than (e.g., for random regular graphs, almost surely every maximal matching has size at least ), the answer to the above question is affirmative.
Besides its implication to pricing applications, we believe that the maxmin greedy matching problem is interesting in its own right as a variant of an online bipartite matching. Moreover, this problem has an interpretation also as a static matching problem, in the context of stable matching. In what follows, we provide three different interpretations to the maxmin greedy matching problem. In all three interpretations the question is whether it is possible to obtain a matching that is strictly greater than a half of the vertices.
Interpretation 1: pricing / item ordering. One can verify that in scenarios with unit demand valuations, the maxmin greedy matching problem is exactly equivalent to the online pricing problem described above. Here, is the set of buyers, the set of items, and the designer determines item prices that induce an ordering over the items, followed by an arbitrary arrival order of the buyers. The competitive ratio with respect to the online pricing problem equals exactly the value of associated with the maxmin greedy matching problem.
An equivalent scenario is one where one player controls the items, the other player controls the buyers. In each step, the items player offers an item, and the buyers player, upon seeing the item, allocates the item to one of the buyers that wants the item (if there is any), and that buyer leaves. The items player is nonadaptive (plays blindfolded, without seeing which buyers remain^{2}^{2}2We note that when the items player is adaptive (chooses the next item based on what happened in the past), the items player can ensure a perfect matching. This is done as follows: in each step, find a minimal tight set of items, and offer an arbitrary item from that set. Here, a set of items is tight if the number of buyers that want items in the set is equal to the size of the set. ). The size of the matching that can be guaranteed by the items player is equivalent to the maxmin greedy matching problem.
Interpretation 2: buyer ordering. An equivalent formulation of the problem is one where the permutation is imposed over the buyers rather than over the items. The buyers then arrive in the order of , each taking an arbitrary item she wants. One can verify that the size of the matching that can be guaranteed by an ordering over the buyers is equivalent to the maxmin greedy matching problem.
Interpretation 3: stable matching. A third motivation comes from the world of stable matching [8]. This interpretation is static and has no online component. In a stable matching scenario, every vertex in has a preference order over (possibly a subset of) the vertices in , and every vertex in has a preference order over (possibly a subset of) the vertices in . Given a matching , a pair of vertices is said to constitute a blocking pair if and are not matched in , but they both prefer each other over their partners in . A matching is said to be stable if no pair of vertices constitutes a blocking pair. Given a graph and permutations and over and respectively, a stable matching problem is induced, where and correspond to global preference orders over and , respectively, subject to the graph structure. That is, every vertex in (resp., ) prefers a neighbor of lower rank according to (resp., according to ). One can easily verify that global preference orders imply the existence of a unique stable matching. Moreover, the outcome of the greedy matching process is the unique stable matching. Thus, our question is equivalent to asking whether there exists a permutation over such that for every permutation over the unique stable matching with respect to and obtains a large matching.
The reader familiar with the seminal work of Karp et al. [13] might wonder whether their tight competitive ratio applies to our problem. After all, the algorithm in [13] is a ranking algorithm, followed by the greedy matching process. The answer is: neither the upper nor the lower bound applies. The lower bound does not apply since the algorithm in [13] imposes a random permutation , and the adversary sets the permutation without observing the realization of . This is in contrast to our model, where is set after observing the realization of . The upper bound does not apply either since in [13] every vertex arrives with its incident edges, which are not known in advance. In contrast, in our model, the graph is known from the outset. It is only the order of arrival that is unknown.
Cohen Addad et al. [2] show an example of a bipartite graph with 3 vertices on each side that admits a perfect matching for which no permutation can guarantee to match more than 2 vertices in the worst case; that is . In their example (depicted in Figure 1), , , is connected to , is connected to and is connected to . Without loss of generality, suppose . For , is matched to , is matched to , and is left unmatched, resulting in a matching of size . This example shows that in general . However, it may still be the case that for special classes of graphs.
1.1 Our Results and Open Problems
Our main result resolves the open problem in the affirmative:
Theorem 1 [main theorem]: It holds that .
The significance of this result is that is not the optimal answer. We believe that further improvements are possible. In fact, for Hamiltonian graphs the proof of Theorem 1 implies that .
The proof method is quite involved; it is natural to ask whether simpler approaches may work. A first attempt would be to check whether a random permutation obtains the desired result (in expectation). The performance of a random permutation is interesting for an additional reason: it is the performance in scenarios where the graph structure is unknown to the designer. Unfortunately, there exists a bipartite graph , even one where all vertices have high degree, for which a random permutation matches no more than a fraction of the vertices (see Section 4).
In contrast, we show that in the case of hamiltonian graphs a random permutation guarantees a competitive ratio strictly greater than (Section 4). A similar proof approach applies to regular graphs as well.
Theorem 2 [random permutation]: There is some such that for every Hamiltonian graph , regardless of , a random permutation results in . Similarly, there is some constant such that for every regular graph , regardless of , a random permutation results in .
A second attempt would be to iteratively “upgrade” unmatched vertices, with the hope that the iterative process will reach a state where many vertices will be matched. That is, in every iteration consider the worst order for the current permutation and move all unmatched vertices (in the matching induced by ) to be ranked lower in . In Appendix B we show that this process can go on for iterations before reaching a permutation that matches more than a half of the vertices. This fact gives some indication that establishing a proof using this operator might be difficult.
Finally, we show that even for regular graphs with an arbitrarily large degree (in particular, graphs with a large number of disjoint perfect matchings), one cannot hope to get a better fraction than .
Theorem 3 [regular graphs]: For regulars bipartite graphs, . On the other hand, for every integer , there is a regular graph of even degree such that .
Main open problem. Our analysis and results leave some interesting open problems for future research. We show that is greater than half; finding a tight bound remains open. This is mostly interesting for general graphs, but also for special classes of graphs, such as regular and Hamiltonian ones.
1.2 Related Work
Since the seminal paper of Karp et al. [13] there has been a long line of research on different variants of online bipartite matching. The problem has gained a lot of interest in the economics and computation community due to its applicability to matching problems and Internet advertising problems (see the survey in [18] and references therein). The analysis of online bipartite matching is divided along various axes: the graph structure (e.g., regular vs. nonregular graphs), whether the vertices arrive in an adversarial or random order, and whether the algorithm is deterministic or random. For adversarial arrival order, the deterministic greedy algorithm gives a competitive ratio of at least , and this is tight for deterministic algorithms. For random algorithms, Karp et al. [13] give a tight bound using random ranking. For regular graphs, Cohen and Wajc [1] have recently presented a random algorithm that obtains in expectation, and a lower bound of . Under random arrival order, the deterministic greedy algorithm gives , and no deterministic algorithm can obtain more than [9]. The lower bound is obtained by a reduction from the model in [13]. Random ranking obtains at least of the optimal matching [16] and at most [12]. More generally, no random algorithm can obtain more than [17]. In all of these results, the graph is unknown upfront.
Our work is also related to the recent body of literature on simple, approximately optimal truthful mechanisms [10]. Motivated by the fact that in reallife situations one is often willing to trade optimality for simplicity, the study of simple mechanisms has gained a lot of interest in the literature on algorithmic mechanism design. One of the simplest forms of mechanisms is that of posted price mechanisms, where prices are associated with items and agents buy their most preferred bundles as they arrive. Pricing mechanisms have many advantages: they are simple, straightforward, allow for asynchronous arrival and departure of buyers, and are truthful in a strong sense (termed obviously strategyproof [14]). Various forms of posted price mechanisms for welfare maximization have been proposed for various combinatorial settings [7, 4, 15, 5]. These mechanisms are divided along several axes, such as item vs. bundle pricing, static vs. dynamic pricing, and anonymous vs. personalized pricing. For any market with submodular valuations, one can obtain of the optimal welfare by static, anonymous item prices [7]. As mentioned in the introduction, until the current paper, no better results than were known even for markets with unitdemand valuations with individual values. For a market with identical items, there exists a pricing scheme that obtains at least of the optimal welfare for submodular valuations [5].
2 Proof of Main Result
Given a graph with a perfect matching (in which is matched with for every ), we consider the following directed graph . contains vertices, where vertex corresponds to the edge in . Directed edge (arc) is in if . We refer to as the spoiling graph for , because arc allows for the possibility that edge is chosen into a matching in , spoiling for the possibility of being matched to (which is the matching edge used by )^{3}^{3}3A similar graph is considered also in [2] and [11].. Given an arc , we may refer to as a spoiling vertex for .
A path cover of is a collection of vertex disjoint directed paths that covers all vertices in . The length (number of vertices) of a path is denoted by . We allow a path cover to contain isolated vertices (paths of length 1), and hence necessarily has a path cover. Given a path cover, we consider the following operations:

Path merging: if has an arc from the end of one path to the start of another path, the two paths can be merged into one longer path.

Path unbalancing: consider any two paths and with . If contains an arc from the the first vertex (say ) of to the first vertex of , we may remove from and append it at the beginning of . Likewise, if contains an arc from the last vertex of to the last vertex (say ) of , we may remove from and append it at the end of .

Rotation: if there is a path (say, ) such that in there is an arc from the end of the path to its beginning, then we may add this arc to (obtaining a cycle), and then remove any single arc from the resulting cycle to get a path . Observe that and have the same vertex set, but they differ in their starting vertex along the cycle .
A path cover is maximal if no path merging operation and no path unbalancing can be applied to it, not even after performing rotation operations. Observe that if a path cover is not maximal, then at most two rotation operations are required in order to be able to perform either a path merging or a path unbalancing operation. Consequently, one can check in polynomial time whether a path cover is maximal.
Every directed graph has path covers that are maximal, because the path merging and path unbalancing operations increase the sum of squares of the lengths of paths. Moreover, a maximal path cover can be found in polynomial time, starting with the trivial path cover in which all vertices of are isolated, and performing arbitrary path merging and path unbalancing operations (some of which are preceded by either one or two rotations) until no longer possible.
Given a maximal path cover of (where denotes the number of paths in the path cover), suppose that paths are sorted in order of increasing lengths, breaking ties arbitrarily. Hence . We consider the following classes of vertices of :

Isolated vertices . These are the vertices that belong to paths of length 1. Let denote the number of isolated vertices, and let us name them as . Observe that and .

Start vertices . These are the starting vertices of those paths that have length larger than 1. The start vertex of path , for , is denoted by .

End vertices . These are the end vertices of those paths that have length larger than 1. The end vertex of path , for , is denoted by .
Lemma 2.1.
If has a maximal path cover with paths and isolated vertices, then .
proof.
Maximality of the path cover implies the following regarding arcs in :

There is no arc from to , except for arcs of the form .

There is no arc from to if .

There is no arc from to .

There is no arc from to for .

There is no arc from to if .
Consider the following order on the vertices of :
In the above order, the only arcs of that go from a later vertex to an earlier vertex are of the form (for a path that can undergo a rotation). Consider in the graph a permutation on that starts with the vertices in in their order of appearance in the above sorted order. We claim that regardless of , all the prefix will be matched. As the length of this prefix is , this will prove the lemma.
It remains to prove the claim. Suppose first that in the above order there are no arcs of that go from a later vertex to an earlier vertex. Then earlier vertices in this prefix cannot be spoiling vertices for later vertices. Hence indeed, regardless of , all the prefix will be matched.
Suppose now that in the above order there are arcs of that go from a later vertex to an earlier vertex. As noted above, such an arc would be of the form . We need to show that even if acts as a spoiling vertex for under and , the vertex of corresponding to (recall that is a vertex of ) will still be matched. Consider the path , and let us rename its vertices as (where previously we used and ). Recalling that , we wish to show the would be matched even if is matched to . The path implies that is a neighbor of in . Hence will be matched if no vertex preceding in is matched to . As could be rotated to and the path cover was maximal, we get that there is no arc in from to any of the vertices (except that there might be an arc from to , but was assumed to be matched to and hence cannot be matched to ), hence none of the corresponding vertices in can be matched to . ∎
Lemma 2.2.
If has a maximal path cover with paths, then .
proof.
In every path in the path cover, we can partition the set of its vertices into odd and even
in an alternating fashion (walking along the path vertices alternate as being odd or even). Dropping the first vertex from each path, the remaining vertices can be partitioned into two sets,
and , where is the set of odd vertices and is the set of even vertices. Similarly in , we define the odd set by iff , and the even set by iff .With every vertex we associate two designated neighbors in , not shared by any other vertex in . One of its designated neighbors is . The other is determined from the path that contains . Let the incoming arc into in this path be . Then the other designated neighbor of is . Note that , and hence the designated neighbors of are distinct from the designated neighbors of any other vertex in . In an analogous fashion, we associate two designated neighbors with each vertex in , distinct from designated neighbors of other vertices in .
Observe that . We may assume without loss of generality that and , because in each path the number of even vertices differs from the number of odd vertices by at most one, and when creating and path by path, we can add the larger set of vertices from the path to the smaller of the sets or . Hence it holds that and .
Now we construct a permutation over . The prefix of is composed of start vertices of the paths (the sets and ), and is a prefix of the prefix given in Lemma 2.1. Namely, it is . Thereafter continues with followed by .
Regardless of , all vertices of and are matched, as in Lemma 2.1. For a given , let be the number of vertices matched in and let be the number of vertices matched in . Then, , the number of unmatched vertices in , satisfies , because each unmatched vertex in has two distinct designated neighbors in that need to be matched to earlier vertices in . Likewise, , the number of unmatched vertices in , satisfies . Adding two times the first inequality and three times the second we get that , implying that , as desired. ∎
Note that Lemma 2.2 directly implies that for every Hamiltonian graph.
The following proposition applies to any prefix under .
Proposition 2.3 (Prefix matching).
Fix a perfect matching . For every integer , let denote the first vertices under , and let denote their partners under . For every and every , suppose vertices in are matched in to vertices in . Then, at least vertices in are matched in .
proof.
Let denote the set of vertices in matched to vertices in . For every unmatched in , ’s partner has to be matched to a unique vertex such that . It follows that the number of unmatched vertices in is at most the number of matched vertices in this set, concluding the proof. ∎
Let denote the vertices in that belong to paths of length 1 in the path cover, and let denote the remaining vertices (belonging to longer paths). Likewise, let and denote the corresponding sets of vertices in , and let and denote the corresponding sets of vertices in .
Considering only the arcs leading from to , let denote the maximum matching among these arcs.
Lemma 2.4.
For as above, .
proof.
Consider a permutation over in which precedes . Let be an arbitrary permutation over . Let denote the number of vertices in that are matched to vertices in . Then . By Proposition 2.3, the total number of vertices matched in is at least . In addition, the total number of vertices matched in is at least , by the fact that every vertex in belongs to a path in of length 1. Hence the total number of vertices matched is at least , as desired. ∎
For a maximal path cover with paths and isolated vertices, we define . We also define .
Lemma 2.5.
With parameters defined as above, .
proof.
According to the parameters defined above, and (and hence ). Consider a permutation over in which precedes . Let be an arbitrary permutation over . All vertices in are matched since every vertex in belongs to a path in of length 1. As to the vertices in , partition then into two sets as follows. is the set of vertices participating in the matching (hence ), and are the remaining vertices (hence . Now we assign distinct designated neighbors to vertices in . Each vertex in has one designated neighbor (its partner in ), whereas each vertex in has two designated neighbors (its partner in and one more neighbor through the matching ). Let denote the number of vertices in matched under . Then vertices of remain unmatched and their designated neighbors need to be matched.
We claim that the total number of matched vertices satisfies . To see this, if , then the right hand side is a lower bound on the number of designated neighbours of unmatched vertices in . If , then we can use , where the first inequality holds since the right hand side is a lower bound on the number of designated neighbours of unmatched vertices in .
We get that
Therefore, the size of the matching is at least
∎
Theorem 1.
There is some absolute constant such that for every graph . Moreover, a permutation ensuring a matching of size at least can be computed in polynomial time.
proof.
Recall that for a maximal path cover with paths and isolated vertices, . We also define . Hence . Observe that , though might be negative. By Lemma 2.1 we have:
By Lemma 2.2 we have:
Let (of size ) and (of size ) and be as defined prior to Lemma 2.4. Recall that . By Lemma 2.4 we have:
By Lemma 2.5 we have:
Now the optimal value of can be found by minimizing subject to the constraints and the four inequalities derived above for .
The first two lemmas imply that , and the last two lemmas imply that . For both inequalities give , and for other values of at least one of the two inequalities gives an even better bound. For , and all four lemmas give , and for other values of at least one of the four lemmas gives an even better bound.
All steps in the analysis above can be implemented by polynomial time algorithms. ∎
3 Regular Graphs
In this section we consider the case where is a regular bipartite graph with vertices. Given that such graphs have edge disjoint perfect matchings, one can hope to achieve higher values for for these graphs.
3.1 Positive Result
The following proposition establishes a lower bound on , as a function of .
Proposition 3.1.
For every regular graph , it holds that .
proof.
Since the greedy algorithm produces a maximal matching, it suffices to show that every maximal matching in a regular graph has size at least . To see this, let and be the sets of unmatched nodes in an arbitrary maximal matching, and suppose . The nodes in must form an independent set. Consider the size of the edge set connecting and . On the one hand, this size equals (since all edges from go to ); on the other hand, this size is at most (since at least one edge from each node in goes to ). Thus, , implying that . Hence we have that , for every . ∎
Remark: For every there exists a regular graph with a perfect matching that admits a maximal matching of size . Suppose that , and consider a regular graph where for some , every node in is connected to a single, different node in , and to all nodes in , and every node in is connected to a single, different node in , and to all nodes in . The perfect matching between and is a maximal matching of size .
The lower bound of Proposition 3.1 approaches from above as grows. The following theorem shows that there exists some permutation that ensures that the fraction of matched vertices approaches . This is a direct corollary from Lemma 2.2 and a theorem in [6].
Corollary 3.2.
For regulars bipartite graphs, .
proof.
Remarks:
3.2 Negative Result
The following example shows that even in a regular graph with arbitrarily high degree, there may be no permutation that ensures to match more than a fraction of the vertices.
Theorem 2.
For every integers , there is a regular bipartite graph of even degree and vertices on each side such that .
proof.
Consider a regular bipartite graph with even degree , and vertices on each side. To define the edge set, let with each of cardinality , and similarly with each of cardinality . For every , we have a complete bipartite graph between and , and for every , there are no edges between and .
Let be an arbitrary permutation over , let be the first vertices in , and let be the last vertices. Let be such that is largest (breaking ties arbitrarily). Without loss of generality we may assume that , and then . Hall’s condition implies that there is a perfect matching between and (and more generally, between and any vertices from ). Hence one can choose a permutation over whose first vertices are that will match the vertices of one by one. Thereafter, the vertices of will remain unmatched.
To get the graph claimed in the theorem, take disjoint copies of above. ∎
4 Random Permutation
In this section we consider scenarios in which the designer is unaware of the graph structure. In such scenarios, the best she can do is impose a random permutation over the vertices in . Thus, we study the performance of a random permutation.
We first show that there exists a graph for which a random permutation does not match significantly more than a half of the vertices, even if every vertex has a high degree.
Proposition 4.1.
There exists a bipartite graph such that a random permutation gets almost surely.
proof.
Consider the graph , where , , and each of is of size . The set of edges constitutes of a perfect matching between and , a perfect matching between and , and a biclique between and . Let
be a random permutation. With high probability, for each vertex
, except for such vertices, we can associate a unique vertex that precedes in . Let denote this set. Consider an arrival order in which agents in arrive first, with a vertex preceding a vertex if . Every vertex in such that its neighbor in (according to the perfect matching) belongs to will be matched to the corresponding vertex in . Therefore, all but vertices of remain unmatched, and the size of the matching is , whereas . ∎In the above example, if the degree 1 vertices of are placed in the prefix of , then the matching obtained is optimal. Hence, one might think that if we prioritize low degree neighbors in , and randomize w.r.t. the partial order, we might get a good approximation. However, one can make a similar example to the one above, where vertices are partitioned into sets of perfect matchings of size , . Each is also connected in a biclique to , and in addition, there are sets of size connected to the vertices of the other side to balance out the degrees. A similar argument shows that in this graph, a random permutation performs badly as well (no use of prioritizing low degree vertices since the degrees of all vertices are the same).
In contrast to the last examples, in some classes of graphs, a random permutation guarantees to match a fraction of the vertices that is bounded away from a half. This is the case, for example, in hamiltonian graphs. The formal statement and proof are deferred to Section A.
Acknowledgments
A substantial part of this work was conducted in Microsoft Research, Herzeliya, Israel. The work of U. Feige was supported in part by the Israel Science Foundation (grant No. 1388/16). The work of M. Feldman and A. Eden was partially supported by the European Research Council under the European Union’s Seventh Framework Programme (FP7/20072013) / ERC grant agreement number 337122, and by the Israel Science Foundation (grant number 317/17). We are grateful to Amos Fiat and Sella Nevo for numerous discussions that contributed significantly to the ideas presented in this paper. We also thank Robert Kleinberg for helpful discussions.
References
 [1] Ilan Reuven Cohen and David Wajc. Randomized online matching in regular graphs. In Proceedings of the TwentyNinth Annual ACMSIAM Symposium on Discrete Algorithms, SODA 2018, New Orleans, LA, USA, January 710, 2018, pages 960–979, 2018.
 [2] Vincent CohenAddad, Alon Eden, Michal Feldman, and Amos Fiat. The invisible hand of dynamic market pricing. In Proceedings of the 2016 ACM Conference on Economics and Computation, EC ’16, Maastricht, The Netherlands, July 2428, 2016, pages 383–400, 2016.
 [3] M. Demange and T. Ekim. Minimum maximal matching is NPhard in regular bipartite graphs. In Proceedings of the 5th International Conference on Theory and Applications of Models of Computation, TAMC’08, pages 364–374, Berlin, Heidelberg, 2008. SpringerVerlag.
 [4] Paul Dütting, Michal Feldman, Thomas Kesselheim, and Brendan Lucier. Posted prices, smoothness, and combinatorial prophet inequalities. CoRR, abs/1612.03161, 2016.
 [5] Tomer Ezra, Michal Feldman, Tim Roughgarden, and Warut Suksompong. Pricing identical items. CoRR, abs/1705.06623, 2017.

[6]
Uriel Feige, R. Ravi, and Mohit Singh.
Short tours through large linear forests.
In
Integer Programming and Combinatorial Optimization  17th International Conference, IPCO 2014, Bonn, Germany, June 2325, 2014. Proceedings
, pages 273–284, 2014.  [7] Michal Feldman, Nick Gravin, and Brendan Lucier. Combinatorial auctions via posted prices. In Proceedings of the TwentySixth Annual ACMSIAM Symposium on Discrete Algorithms, SODA 2015, San Diego, CA, USA, January 46, 2015, pages 123–135, 2015.
 [8] David Gale and L. S. Shapley. College admissions and the stability of marriage. American Math. Monthly, 69:9–15, 1962.
 [9] Gagan Goel and Aranyak Mehta. Online budgeted matching in random input models with applications to adwords. In Proceedings of the Nineteenth Annual ACMSIAM Symposium on Discrete Algorithms, SODA ’08, pages 982–991, Philadelphia, PA, USA, 2008. Society for Industrial and Applied Mathematics.
 [10] Jason D. Hartline and Tim Roughgarden. Simple versus optimal mechanisms. In Proceedings of the 10th ACM Conference on Electronic Commerce, EC ’09, pages 225–234, New York, NY, USA, 2009. ACM.

[11]
Justin Hsu, Jamie Morgenstern, Ryan M. Rogers, Aaron Roth, and Rakesh Vohra.
Do prices coordinate markets?
In
Proceedings of the 48th Annual ACM SIGACT Symposium on Theory of Computing, STOC 2016, Cambridge, MA, USA, June 1821, 2016
, pages 440–453, 2016.  [12] Chinmay Karande, Aranyak Mehta, and Pushkar Tripathi. Online bipartite matching with unknown distributions. In Proceedings of the Fortythird Annual ACM Symposium on Theory of Computing, STOC ’11, pages 587–596, New York, NY, USA, 2011. ACM.
 [13] R. M. Karp, U. V. Vazirani, and V. V. Vazirani. An optimal algorithm for online bipartite matching. In Proceedings of the Twentysecond Annual ACM Symposium on Theory of Computing, STOC ’90, pages 352–358, New York, NY, USA, 1990. ACM.
 [14] Shengwu Li. Obviously strategyproof mechanisms. American Economic Review, 107(11):3257–87, 2017.
 [15] Brendan Lucier. An economic view of prophet inequalities. SIGecom Exchanges, 16(1):24–47, 2017.
 [16] Mohammad Mahdian and Qiqi Yan. Online bipartite matching with random arrivals: An approach based on strongly factorrevealing LPs. In Proceedings of the Fortythird Annual ACM Symposium on Theory of Computing, STOC ’11, pages 597–606, New York, NY, USA, 2011. ACM.
 [17] Vahideh H. Manshadi, Shayan Oveis Gharan, and Amin Saberi. Online stochastic matching: Online actions based on offline statistics. Mathematics of Operations Research, 37(4):559–573, 2012.
 [18] Aranyak Mehta. Online matching and ad allocation. Foundations and Trends in Theoretical Computer Science, 8(4):265–368, 2013.
Appendix
Appendix A Hamiltonian Bipartite Graphs
In this section we show that in hamiltonian graphs the fraction of vertices that is guaranteed to be matched in a random permutation is bounded away from a half. This is in contrast to general graphs (see Section 4).
Theorem 3.
For every Hamiltonian graph , it holds that .
a.1 Proof Approach
We first provide a high level overview of our proof approach.
A permutation (over ) is said to be safe for a set if for every permutation (over ) the greedy process matches at least one vertex in (i.e., no leaves all vertices in unmatched). Fix some constant . In order to establish that , we need to show that there exists a permutation that is safe for every set of size . Our proof approach is the following: we show that for a permutation chosen uniformly at random, the expected number (expectation taken over choice of ) of sets of size for which is unsafe is smaller than . This implies that there exists a permutation that is safe for all sets of size , as desired.
First, we define a collection of sets that can potentially remain unmatched (“bad” sets). Let denote the set of all sets of size such that there exists a permutation that is unsafe for .
Second, for a given set and permutation we identify a sufficient condition for to be safe for . Let be the lowest vertices in (according to ), let be the last vertex in (i.e., the vertex with rank in ), and let be the set of vertices in that precede in . We claim that if the size of is smaller than the size of (the neighbors of ), then is safe for . To see this, assume by way of contradiction that is unsafe for . This implies that every vertex in is matched to a vertex in . Since there are strictly less than vertices in that precede , at least one of the vertices in must be matched to a vertex higher than . But, this vertex has a neighbor in with lower rank, contradicting the greedy process.
We now proceed by establishing the following three lemmas:

Few bad sets lemma: the size of is at most .

Expansion lemma: given a set and parameters , the probability (over a random choice of ) that the lowest vertices in have less than neighbors is at most .

Good order lemma: given a set and parameters , the probability (over a random choice of ) that the lowest vertex in is higher than vertices in is at most .
The three lemmas are combined as follows. For a given set , due to the sufficient condition identified above, it follows from the union bound that the probability that a uniformly random permutation is unsafe for is at most . Applying the union bound once more over all bad sets (at most sets, as implied by the few bad sets lemma), implies that the probability that a uniformly random permutation is unsafe for some set of size is at most . Thus, to conclude the proof, it remains to find parameters such that .
The good order lemma is independent of the graph structure. In contrast, the expansion lemma and the few bad sets lemma rely heavily on the structure of the graph. As it turns out, Hamiltonian graphs have properties that enable us to establish the two lemmas with good parameters.
a.2 Formal Proof
Throughout this section we use to denote the binary entropy function; i.e., given a constant , .
Fact A.1 (Stirling’s Approximation).
As ,
Using Stirling’s Approximation, one can derive the following bound.
Fact A.2.
For and for some constant ,
(1) 
where is the binary entropy function.
We first establish the good order lemma. This lemma is independent of the graph structure.
Lemma A.3 (Good order lemma).
Let , for some and such that . Let be a set of size . The probability that in a random permutation there are at least vertices of before vertices from is at most .
proof.
We first analyze the case that in the first vertices in there are exactly vertices from . The number of possibilities for this case is .
Let and . By the conditions on and , we have that . Therefore,
It follows that for every and such that . Therefore, the probability to have at most vertices from in the first vertices in is at most
where the first equality follows Fact A.2. ∎
Let for some constant , . The next lemma will be used in order to prove the few bad sets lemma and the expansion lemma. It uses the existence an Hamiltonian cycle in the graph in order to claim that most sets will have a large number of neighbors. Therefore, a random set will have a large expansion. In addition, there will be few sets of size with less than neighbors (i.e., a few bad sets).
Lemma A.4.
Let and be two constants such that . The number of sets of size where is at most
proof.
Consider a Hamiltonian cycle that traverses through the graph’s vertices