Document 17864390

advertisement
>> Yuval Peres: Hello and welcome everyone. It is my pleasure to introduce Saeed Alaei from the
University of Maryland. Saeed has been here before as an intern in 2009, and he is going to tell us today
about Bayesian mechanism design via multi-to single agent reduction.
>> Saeed Alaei: My talk is about Bayesian mechanism design via reduction from multi-agent to single
agent mechanism. So I will start with a quick introduction about what the problem is and then I will
explain two separate approaches for dealing with this problem. The first one is called the competency
via interim allocation rule, and the other one is decomposition via Ex ante Allocation Rule, so here's a
quick introduction. Mechanism design, we face an optimization problem however the input of that
optimization problem comes from selfish agents who may want to misreport and they input in order to
manipulate the outcome in their favor. So we assume that the private information of which agents is
called agent's type, and for example if you have action for setting up one unit of an item then the
private type of each agent would be there value of the item. And the performance of the mechanism is
measured with respect to the actual types and not with respect to the true types. Therefore, in
mechanism design we have to take incentives of the agent’s input account. Roughly speaking
mechanisms can be categorized to mechanisms with money and mechanisms without money.
Mechanisms with money usually either want to maximize welfare or some other objective which is
typically revenue but it could be other objects representing revenue. For example, if you have a Java
scheduling you may want to minimize [inaudible]. For welfare maximization for the case of quasi-linear
utilities which means your utilities are running the outcome minus your payment, the game theory
respect to the problem has been solved like you can get an optimal solution by using VCG, but that
computationally it could be NP hard so there are approximations for this. Another way you can look at
mechanism design is based on prior, whether it is prior free or Bayesian. So Bayesian mechanism design
we assume that we know the distributions from which the agents’ types are drawn, while in prior free
we don't make such an assumption. So in this talk I will focus on the Bayesian settings and assume that
agents’ types are drawn from independent distributions and this is crucial for the rest of my talk. And I
assume further that the objective is something that is linearly separable over the agents; it could be
welfare revenue or any other objective. By linearly separable I mean the objective is the sum of the
objective values that you obtain from each single agent, which is obviously the case for both revenue
and [inaudible]. And assume that the coupling restraints for the agents are polymatroid. I will explain
this later. The main result is that in such environments you can reduce the complexity of the problem
exponentially by doing a multi-agent to single agent reduction and this is without any loss of
performance.
>>: [inaudible] solutions.
>> Saeed Alaei: Yes. I assume that I know what the solution is, but there is some solution and I know
there is some solution.
>>: Just you know, or everybody knows?
>> Saeed Alaei: Everybody knows there's a solution and everyone agrees on the solution so these are
critical assumptions. So what I'm going to explain is the general framework which can be applied to a
variety of settings. For example, it can be applied to non-quasi-linear utilities when you have budget or
risk, or settings, in settings where you don't have money and, for any arbitrary object as long as it is
linearly separable. In most of my talk I will try to focus on the mathematical problems that arise in this
context in the abstract form; I will try not to focus on the game theory aspects that much. So here are
some related works with Bayesian mechanism design. So these are mostly economist’s work. In simple
work where there is, where you have one unit of an item and you have either risk aversion or budget
constraints and most of them assume that the agent types are distributed identically and independently
so these are mostly symmetric cases, and these problems are really hard. If you move from welfare
maximization to something like revenue maximization, the problem suddenly become so hard. As
opposed to the welfare maximization where we see G as optimal, in revenue maximization there is no
like global solution. And for multidimensional types, again, these first two lines are economist’s where
they, so please only handed, these are only about the various special cases where the valuations space
has various specialized structure and a can be reduced to single unit dimensional case. And then there
are some computer scientist’s work, and very recent work that deal with specific variance of like the
revenue maximization problem. For example, in some special settings where you have budget and a
limited number of items that we want to, like we have some independent distribution and we want to
maximize revenue, something like that. And then there is this very recent work which actually uses
techniques which are very similar to the techniques that I am going to describe, but they don't present it
as a reduction. They will use these techniques to solve a specific problem of revenue maximization
where you have independent, like when you have independent agents with item valuations in multiitem auction. So I will start with decomposition via interim allocation rule. This is a joint work with Nu
Fu, Nima Haghpanah, Jason Hartline and Azarakhsh Malekian. So I will show you the first part of my talk
is the recent one and the second part is something which is just my, just me and it is from last year. This
is the first one is the more recent part. So I will start with a quick example which should give you an idea
of what it means by reduction from multi-agent to single agent reduction. Consider any auction for
selling one unit of item to, and pick any action that sells to the highest bidder and consider it a truthful
auction. Suppose these are, have three agents here. So T sub i denotes the type and space of agent i
and these are symmetric agents and each agent has two types. The high type has two dollar, the low
type has one dollar for evaluation for the item and they happen to be equal probability. Now if you look
at any auction which allocates to the highest side, you can actually see that when the agent, one for
example, bids A, he wins it for relative 7/12 and otherwise he wins it with relative 1/12, in expectation
over what the other agents submit. Consider a single agent mechanism which does the exact same
thing, like whenever the agent bids A he wins with this probability and when he bids B he wins with this
other probability and it is well known that in any truthful mechanism once you fix the allocation you can
actually compute the payments corresponding to that allocation which leads to a truthful mechanism.
From the perspective of that agent, that multi-agent mechanism is equivalent to this single agent
mechanism. Actually, this equivalence holds in general and doesn't need to make any assumption about
quasi-linearity of utility, risk neutrality, budget or anything. If you give me a multi-agent mechanism, if
you assume that agent types are distributed independently, I can give you a single agent mechanism
which is equivalent for each agent.
>>: You go back to the [inaudible]?
>> Saeed Alaei: I assume that these ties are broken up uniformly at random.
>>: But the parameters are exactly the same here and after the reduction?
>> Saeed Alaei: I am saying that if this was a multi-agent mechanism, ignore this. Suppose you have an
auction which allocates to the highest agent. Then this is the expected allocation that this agent
observed. Now suppose I give you a single agent mechanism which allocates with these exact
probabilities. Suppose there is no other agent. I just give you a mechanism that if you bid A, it allocates
the item with this probability otherwise with this other probability. And what I am claiming is that from
the perspective of this agent there is nothing different between this and a multi-agent mechanism. In
fact, more generally, if you have a multi-agent mechanism and you have independent bidders, you can
induce a single agent mechanism on each agent as follows. Fix some agent and for all of the other N-1
agents create dummy agents which are drawn from the distributions of those corresponding agents.
Simulate the other agents. Run the multi-agent mechanism on those simulated agents and this actual
agent. And this actual agent will not be able to tell the difference between the simulated mechanism
and the actual mechanism, and here is the point where it is important that the agent types are
distributed independently because if the agent types are correlated, than simulated agents types will
not be correlated with the actual agent, so it is crucial that the agents’ types are independent.
>>: So one more thing. So building this [inaudible] was a benefit you're getting our…
>> Saeed Alaei: I'm not doing, I'm just…
>>: [inaudible] the taking a [inaudible] coming up to…
>> Saeed Alaei: Yes. What I want to do is to go in the other direction. I want to instead of designing a
multi-optimal, multi-agent mechanism, I want to somehow design optimal single agent mechanisms
because single agent mechanisms are easier to design, because instead of considering all possible
combinations of agents’ types, I have to consider only the types of one agent. So the space of
possibilities is exponentially smaller. So that is the idea that I want to get to.
>>: [inaudible].
>> Saeed Alaei: Yeah, this is the other direction; I want to say that anything can be decomposing this
way. In general I claim that any multi-agent mechanism regardless of the setting can be decomposed as
follows. You can decompose it with central allocation mechanism and a bunch of single agent
mechanisms. It works as follows, each single agent mechanism communicates with the corresponding
agent and then this single agent mechanism simultaneously submits some probabilistic demands to the
central allocation mechanism. The central allocation mechanism then allocates resources to the single
agent mechanisms in such a way that in expectation would satisfy these probabilistic demands and then
finally, the single agent mechanisms decide exactly the final outcome corresponding to these agents. So
let me explain this to you with an example. Suppose you are in a setting where you want to sell one car
to, you have three agents; you have one car for sale. Each agent has a multidimensional type and
because each car can be customize in different ways before sale. You can for example, let's say you can
change the color of the car and you can install a sports package, so each agent will have different
valuation for the car based on how you customize the car. Now consider any optimal multi-agent
mechanism in this case. The only constraint is that you can allocate the car to one person. There is no
constraint on how you can customize the car, so this is clearly multidimensional setting and for each
type of, for each agent so this is the, this is the [inaudible] type of space [inaudible] probability of each
type and X is the expected allocation for each type. Take any optimal mechanism and compute the
expected probability of allocation for each type in that optimal mechanism. Now I give you an
equivalent decomposition mechanism that does the same thing. Suppose for each agent I do the
following. I compute a single agent mechanism for this agent subject to these allocation probabilities.
What I mean is that fine, suppose that I have given you this probability like .45 and .1 and I ask you,
what is the optimal mechanism for setting to this agent subject to the probability of allocation not being
more than these red numbers? And suppose we have only the single agent. There is no one else. And I
claim that this optimal single agent mechanism subject to this is exactly the single agent mechanism that
is induced on this agent by the optimal multi-agent mechanism. So basically you can see that as the
following. You have a bunch of optimal single agent mechanism, when the agent to meet their type the
single agent mechanisms submit their probabilistic demand like these single agent mechanisms
[inaudible] .45 to the central allocation mechanism and then the central allocation mechanism ensures
that each single agent mechanism receives the resource with the expected probability in expectation
this much. So to define this formally, so, so far I am considering the single unit of resource that we want
to allocate, but these can be generalized. But I will stick to this simple example. Define T sub N as the
union of the all of the type space. This is a set of the types of all agents and we [inaudible] [inaudible]
assumed that the type spaces are disjoint. Now I define this vector X which is the expected allocation
for each type of each agent and I will call it the interim allocation rule. So in the decomposition I am
claiming, the central allocation mechanism implements this interim allocation rule. In other words, if
each agent submits, I mean if each agent reports a type according to this with these probabilities then
they should receive the item like the resource with those red expected probabilities. And then each
single agent mechanism is optimal subject to the interim allocation rule. So here are a number of
questions that we need to address in order to be able to use this technique to design optimal
mechanisms. First of all, when is an interim allocation rule feasible? So for example, suppose here
instead of .45 I had 1. That would be clearly an infeasible case because what if agent one submits A and
agent two submits C and if this is one then both of the agents have to get the probability of one, so that
is clearly not feasible. And so what the first thing is we have to ensure the physical interim allocation
and so suppose I give you an interim allocation rule that is feasible, how can you actually implement
this? Suppose I have given you these tables and I am asking you to give me an allocation policy that
would implement in expectation, allocate to each type, reduce to red probabilities. How would you do
that? And the third question is how can I compute the optimal interim allocation rule, and finally, the
last question is suppose I give you the interim allocation rule, how can you compute the optimal single
agent mechanism subject to this interim allocation rule. So I will focus on the first three questions and I
will talk about the last question later.
>>: [inaudible] so what you assume [inaudible] assumed [inaudible] optimal mechanism.
>> Saeed Alaei: I assume that I can complete the optimal single mechanism if you give me this red
probabilities, I can compute the optimal single agent mechanism subject to not allocating more than
those probabilities.
>>: So the fourth…
>> Saeed Alaei: That is the fourth question.
>>: So this you assume to have a black box for this?
>> Saeed Alaei: Yes. I assume that I have a black box for that, and I want to answer the first three
questions.
>>: So suppose you [inaudible], let's just take an example, suppose you have a black box but just
optimal [inaudible] mechanism [inaudible] X is something external [inaudible] see is this much you
decided it's more than this probability and so on [inaudible] so is it [inaudible] you can actually
[inaudible] or is it something that you assume?
>> Saeed Alaei: The something that I assume, but for most of the, like for all of the problems that I
know of, you can compute this. Like if you can compute a single agent mechanism for some X, you can
compute it for any X. And it has some nice property which I will explain later, but the expected
[inaudible] is always concave and I will get to that later.
>>: This is optimal single agent [inaudible] optimal for who?
>> Saeed Alaei: So the optimal single agent mechanism is the following. Suppose I have only this one
agent and there is no other agent in the picture, and I am only asking you to construct a mechanism for
me to maximize the revenue from this single agent, and I am putting a constraint on you. The constraint
is the following. If agent, like take this agent, if agent beats C, agent 2, then you are allowed to allocate
the item with probability at most 0.45 and if he beats D you are allowed to allocate with probability at
most .1. What is the maximum revenue you can get in expectation from this agent if that is your
constraint?
>>: [inaudible] so [inaudible] you are asking what is the objective…
>> Saeed Alaei: It could be anything. I am assuming any object that you want to maximize, let's say
revenue. So for the rest of the talk let's say we want to maximize revenue. This could apply to welfare
revenue or any object which can be linearly separated over the agents.
>>: Just to be complete [inaudible] illustrate example of an optimal single agent mechanism in this
setting [inaudible]?
>> Saeed Alaei: Okay. So let's say, I mean I can't compute it off the top of my head, but let's say, I mean
it depends on exactly what you mean. But let's go back. So let's say, let's say that this is a, let's say that
this is the setting that you have and you are constrained with these probabilities. So okay, imagine that
the optimal single agent mechanism here would be something like, you either don't sell to this guy and
always sell to this guy at two dollars. Like you said a price of two dollars and if the guy beats two dollars,
it's not the price. If the guy beats two dollars you will allocate it to the guy and you with this probability
and if he bids one dollar you allocate it with probability zero, if you want to maximize revenue. So the
setting I've explained here originally was for maximizing welfare, but let's say you want to maximize
revenue, and these are your constraints. The optimal mechanism here would be to sell at two dollars
with this probability, which is the maximum you are allowed to, and if he bids one dollar, doesn't sell to
him at all.
>>: Why not sell to the one dollar?
>> Saeed Alaei: Because if you so for one dollar what is the maximum price you can charge? The
maximum price you can charge is one dollar, which means that you also have to charge one dollar for
this higher bound because he would lie to you if you don't, if you want to charge something higher.
>>: [inaudible]?
>>: So this [inaudible] upper bound constraint?
>> Saeed Alaei: Yes, it is an upper bound constraint on what you can do.
>>: What is that Fs there, F1, F2?
>> Saeed Alaei: F1, these are the distributions of these types. Like F1 of A is probability .5 type A;
probability .5 that is type B. And that is the allocation, the expected allocation that he receives, but I
treat the expected allocation as a constraint when I want to compute optimal single agent mechanism.
[multiple speakers] [inaudible].
>> Saeed Alaei: Yeah, yeah.
>>: Is for the [inaudible] or just a random…
>> Saeed Alaei: Yeah, the random coins are in the mechanism…
>>: [inaudible].
>> Saeed Alaei: Yeah. But when you have multi-agents this random mechanism could come from other
agents. So here is formerly the problem back there. From now on I will just ignore all of the mechanism
design aspects, and I will just look at the following problem. Suppose I have given these tables and I
know, for example, that agent one has type A with this probability, and it has to be allocated with, like it
has to get the item with the this probability. And I want to come up with some allocation policy which in
expectation satisfies this red probability. Like whenever agent like two beats C, he has to receive the
item with probability .45. And so and the question is that I want to answer is whether this expectation
probability which I call the interim allocation rule, whether they are feasible and how I can actually
come up with some allocation that implements that, and how we can optimize over X and how we can
compute the optimal single agent mechanism. So to give you an idea of how we can solve this, I will
demonstrate computationally an efficient solution for answering this question. So it is based on an
expert flow argument. So for every possible scenario of the agents that come, I will push one vertex so
each one is like one possible profile of types for the agent. And for each type for each agent I will also
push one vertex on the right-hand side, and I will add a source node and a sync node. Now I will add a
directed edge from the source node to each scenario and then the capacity of each edge is the
probability of that scenario happening. And on the other side I will basically set, direct the edges from
each type node to the sync note in the capacity of each such edge is the probability of that node
happening multiplied by the expected allocation that that type meets. So this is like a demand and this
is like a supply that you have. And you set the middle edges as follows. For each scenario you add
directed edges to the types that appear in that scenario. Like for AC your directed edges to A, C and E.
Now if you have a feasible flow, if the maximum flow from source to sync saturates all of these edges,
then that means that your interim allocation rule is feasible. And if you actually compute a maximum
flow, the amount of flow in the middle edges exactly tell you how to allocate the item. Like, for
example, if you are at scenario A, C, E, look at the flow that goes to A and flow that goes to E and flow
that goes to, sorry C and D. and what it means is that if this scenario happens, you just allocate the items
to one of the A, C or E proportional to that, proportional to the flow of those edges.
>>: Are you assuming that T i’s are disjoint.
>> Saeed Alaei: Yes, I am assuming that T i’s are disjoint. If they are, I mean it doesn't really, that is not
[inaudible] because if they are equal, the same I can like re-label them differently.
>>: [inaudible] makes a difference [inaudible].
>> Saeed Alaei: I mean, I assume that the type I space of each agent are labeled in different ways so if
they are like exactly, they mean the same thing. I will just name them differently. So…
>>: [inaudible] actually a few could give everybody equal edges.
>> Saeed Alaei: Exactly. If these edges are all saturated that would be condition of feasibility. As you
can see this network flow construction is exponential, because you have a node for every possible
scenario, so it is not efficient. But I just wanted to give you an idea of how we can handle this. Okay so,
let capital X denote the set of all possible feasible interim allocation rules. And now suppose for each
agent our R sum i of xi is like x sum i is the part of the interim allocation rule that is restricted to the
types of that agent. So this denotes the expected objective of the optimal single agent mechanism
subject to this interim allocation rule. So first of all, we show that for any single agent problem with the
maximization objective, this R is concave. And this is regardless of whatever object you have or
whatever the constraint on the single agent mechanism is. It is always concave. And therefore, you can
complete the optimal interim allocation rules by just solving this convex program which maximizes the
sum of the single agent objectives subject to physical interim allocation rule. However, this convex
program is of course exponential size because you have the network flow construction is exponential.
So we want to address this problem. We want to check the physical interim allocation rule and be able
to optimize over them in polynomial time. So let's go back to this network flow case. The condition for-so you can imagine these nodes as demand nodes and these other nodes on the left as supply notes. In
order for this network to have a feasible assignment that satisfies all of the demands, the condition that
you need to satisfy is that for any substantive vertices on the right, the total demand should be less than
or equal to the total supply of their neighbors on the left-hand side. That is a necessary [inaudible]
condition. That condition actually discovered by, it was not discovered but it was proved to be sufficient
by Border although Border didn't use this network flow argument. He had a very complicated argument
for proving this, and it can be interpreted as the following. For any substantive types, the total supply of
their neighbors is exactly, so what are the neighbors of these types. The neighbors of those subsets are
exactly the scenarios in which at least one of those types appears. And this is the total demand. So
basically it says that the total demand of that set should be less than recall to the probability that there
is at least one agent whose type is in that subset. And consider exponentially many equalities, but this is
now easier to handle. So now I want to give you polymatroid characterization of this space of interim
allocation rule. Define a normalized interim allocation rule as follows, just multiply the expected
allocation of each type by the probability of that type appearing. And define this function g of S where S
is the subset of types to be equal to the probability that at least there is at least one agent whose type is
in set S. Now the set of all normalized interim allocation rule is a polymatroid defined by these
inequalities. Because it is a polymatroid, you can optimize over it in polynomial time because you can
find, you can construct a separation Oracle and to find a viable inequality by minimizing the G of S minus
the x bar of x for any given x bar. This is a summation of it. We actually show that you can do it very
efficiently in time which is almost linear. Remember that T sub N is the set of all types which is actually
the size of the vector X bar, so this is pretty efficient. So you can…
>>: [inaudible] X is feasible [inaudible].
>> Saeed Alaei: You get the separation overkill and because you have the separation overkill this is
conical space. You can optimize over this space using [inaudible] method in polynomial time. So you
can compute the interim allocation rules in polynomial time. Now the question is, how can we
implement the interim allocation rules. So if I give you an interim allocation rule which is feasible, how
do you allocate the resources to satisfy these expected probabilities? So I will start by defining type sets
that turn out to be very important in our implementation. So let us look at the interpretation of this X
bar of S. So X bar of S when you have one item, simply has the following interpretation. It means the
expected probability that there is a type from, that a type from set S shows up and also gets allocated
to. That is the meaning of X bar of S. It is basically the sum over, okay, this notation means take the
sum over all elements of, like look at the vector X and sum over all elements of X, entries of X that
appear in S. And what is g of S? g of S is the probability that there is at least some type in set X. And
obviously this first one has to be less than or equal to the second one, because if there is an agent from
set S that has appeared and has been allocated to, there must be some agent from set S that has
appeared. And the important thing is that when the two are equal, that means whenever there is at
least one agent from set S, then at least one agent from set S should get allocated to. But if there is
more than one agent in set S then it doesn't say whom to allocate to, but if there is at least one you can
allocate to that. So if somehow, it tells you determines what should be your allocation in the case
where you have a tight subset. And it is easy to show that tight subsets are closed under union and
intersection because the tight subsets are minimizers of a sub modular function so they are closed. And
therefore tight subsets form a hierarchy.
>>: What does tight mean?
>> Saeed Alaei: It means that they are contained in each other or they don't intersect like, I mean, I will
show you in a second. Actually, we can show that when agents are independent they form a hierarchy
which means that there is some ordering in which every tight set is contained in another tight subset.
They can't, you can't have tight subsets that are disjoint. So here is an example. Suppose x4 is your
normalized interim allocation vector. And in this example these are the type subsets. A by itself is a
tight subset and A, C and E is also a tight subset. So because of that proposition regarding the tight
subsets, what I know is the following. That if, and in this scenario, A, C and E, because A by itself is a
tight subset it has to always be allocated, so in this case there is only one choice. I have to allocate to A.
And let's say, let's have another scenario. Let's say the scenario is B, D and E. now E is the only one in
this tight subset that has appeared so I have to allocate to E. There's no other choice. But now let's say
if you have a scenario like B, C and E. In this case you have two guys from one tight subset and B is not
in a tight subset so definitely, for a position I know that I cannot allocate to B but it doesn't tell you
between C and E which one I should allocate to. But now observe that if you have a scenario like this
where we have a full hierarchy of tight subsets, this would completely pin down the allocation, because
if you have something like a full hierarchy of this type, then basically when the agents come in to report
their type, you just sort them in the order defined by these hierarchies and you allocate to the first
agent based on this ordering. So it would be nice if our interim allocation rule, normal interim allocation
rule corresponded to some hierarchy like some full hierarchy like this. And it turns out that the vertices
of that polymatroid, the polymatroid of this, of all feasible interim allocation rules has that property. So
let me define this formally. A partial ranking is a ranking of a subset of the type of space, so basically
suppose S is a subset of types, partial ranking assigns numbers between one and the size of S to these
numbers, so ranking them in some order. Every partial ranking corresponds to a vertex of the
polymatroid and vice versa. Every vertex of a polymatroid corresponds to a partial ranking. And here is
how you get from a partial ranking to vertex of the polymatroid. Basically look at, let's say that this is
our partial ranking. What I will do is the following. I will start with a vector which is all zeros and then I
will start increasing the first element in the ranking, which is A. I increase A until set A by itself becomes
tight. And then the next one, and then is C and I will start increasing C until AC becomes tight, and then I
start increasing D until A C and E becomes tight. And at that point I will stop because B, D and G are not
in the rank, in the partial ranking so their corresponding values will be zero. And this gives me a vertex
of that polymatroid and you can go off in the opposite direction. If I give you a vertex of the
polymatroid, you try do can actually use a greedy algorithm to find a corresponding ranking. And the
nice thing about this ranking is that you can actually deterministically implement the allocation rule
corresponding to ranking, because if you have ranking like this, then it means that whenever the agents
arrive and submit their type, you just sort them based on their type according to this hierarchy and you
allocate to the agent whose type comes first and if, for these other types like B, D and G that the
corresponding interim allocation will zero so you just ignore them, even if there is no type who comes
before them.
>>: [inaudible] because two of them looked to come from the same example, [inaudible] the same time.
>> Saeed Alaei: No, no. If you have a partial ranking, the hierarchies will always be this strict. I am
saying that if you have a vertex, a vertex always defines a strict ordering on some subset of the elements
and it gives deterministic implementation for that vertex. Another important, the nice thing is that if
your normalized interim allocation rule happened to be a vertex of that polymatroid there is a
deterministic implementation for that. And if it is not a vertex, what you can do is it can write it as
convex combination of the vertices of the polymatroid and you can sample a vertex from that convex
combination and then implement it, like use a deterministic allocation corresponding to that vertex.
And actually it turns out that you don't even need to write it as a convex determination. What you can
do is that you can round this X to a vertex in such a way that every coordinate and expectation remains
the same, so I will give a quick--this is previous work. I will give like a quick sketch of how we can do
this. So let's say this is your normalized interim allocation rule, and these are the tight sets that you
have so far. Let's say C and E are both in the same tight subset. What you do is you start increasing C
and at the same time decrease E by the same value until for some Delta this set A and C becomes tight.
And we can also do the opposite thing, like increase E and decrease C until AE becomes tight. You can
always show that at least one of those sets becomes tight before the other entry reaches zero, and this
is always the case. And then you would randomize between one of these two outputs with [inaudible]
proportional to a dev time of Delta prime. And if you do this at random like do the left thing with
[inaudible] Delta prime over the sum of dev time Delta prime and do the right thing otherwise. In
expectation the value of every coordinate remains the same, but you have increased the number of
tight sets by one, so if you keep repeating this thing after a number of iterations you will get to a vertex
in which every coordinate in the partition is the same as the original point and you can actually show
that the number of iterations that you need is at most in the length of this vector.
>>: [inaudible] solution.
>> Saeed Alaei: Yeah, yeah it is exactly the same. Just…
>>: [inaudible] at this case you might have a small support, right?
>> Saeed Alaei: But the thing is if you want to write as a convex combination of the vertices it could be
like you don't want to write it as a convex combination of exponential [inaudible] vertices, right?
>>: This would do that.
>> Saeed Alaei: This would do that, but the thing is it's fine because we just want the sample from that
convex combination so we don't have to go through the trouble of writing it as a complex combination
of a small number of vertices; we can just use this randomize, random approach which just gives me one
vertex. It could be, yeah you are right. The support of this random is random is exponential, but we
don't care about it; we just want to sample from this in polynomial time. So this basically gives me an
implementation for any normalized interim allocation rule. So let's look at some generalization of this.
So now instead of having a single unit of an item, suppose you have a matroid which specifies your
allocation constraint, which means for any subset of agents they can be simultaneously allocated if their
types form an independent set of matroid. It turns out that the condition for feasibility and that this
[inaudible] for feasibility is the following where the RM is the ranked function of the matrix. You
basically replace whatever you had on the right-hand side of your polymatroid concern with the
following. This is the expected rank of the subset of types that have appeared intersection some set S
that comes from your polymatroid constraint. Consider a case where you had one unit of item and that
case the rank function is just a minimum of zero and one, sorry the minimum of one and the
intersection, the size of the intersection of T and S. which means if there is at least one agent whose
type is in set S this whole thing would be one, if you have the rank one uniform metric, and otherwise
this would be zero so this is exactly what we had before. But this is more general, this works for any
matroid environment. And the other things that I explained actually works for this environment. If you
have a vertex the vertex again corresponds to a partial ranking and what you would do to compute the
allocation for a vertex is you would just go through that ranking and specify for the vertex and you look
at the agent types and you try to allocate to them one by one if the set of, if the current set of allocation
remains an and independent set. So you just basically pick a maximum independent set from every
prefix of that ordering. And this can be actually generalized even more. Actually, that matroid itself
could be randomized, so this is the same condition is still holds, and this is useful for example in
environments where we have a stochastic supply. Given an example of this and this can be extended
even to environments with polymatroid constraints.
>>: [inaudible] explain this [inaudible] gm [inaudible]?
>> Saeed Alaei: This is just quantity. This is the expected value of the branch of the matroid where the
expectation is taken over all possible scenarios of the intersection of some set S and the set of types that
have appeared in that scenario. So this is basically telling it the following. Suppose if I fix a set S of
types. What is the maximum that you can allocate to this set? This is the rank of that set. And you can
only allocate to type if that type has shown up, so this should be the intersection of T and S. So in a
sense this is telling you how much you can allocate to this specific subset in expectation over all possible
scenarios. So let me give you an example of a scenario, a problem that can be solved optimally by using
this approach. Suppose you have, you are in a display advertisement. You want to sell contracts for
display advertising. You have n advertisers. Each advertiser has a budget constraint and each advertiser
has evaluation for each type of impression, and they also have a cap on how many impressions of each
type they want, and the advertisers are also partitioned into certain categories and the assertion wants
to ensure that from each category there is a cap of how many advertisers from that category gets
impressions of a certain type. And also, suppose that your exact supply is not known because you are
selling these contracts in advance you don't know how many impressions you're going to get in the
future. So this is something that can be modeled exactly in the framework that I have explained.
Assume that all of these [inaudible] are [inaudible]. And you can solve this problem optimally like you
can compute an auction for maximizing revenue optimally for this setting by using the framework that I
have explained in polynomial time. Like one thing that is worth mentioning is that if for each advertiser I
want to also specific a cap for the total number of impressions that the advertiser would get, then it
would not be, this constraint would not be a single polymatroid. It would be the intersection of two
polymatroids, so that will be, we still don't know how to handle. But for a setting which is like generalize
what you have here, you can still solve it optimally in polynomial time. So the second part of my talk is
the composition via Ex ante Allocation Rule. I will try to go over this quickly and this actually came
before the first one. This is a paper from last year. So the Ex ante Allocation Rule is defined as the
following. Suppose for each agent I will take the expected probability of allocation over all possible
types of that agent. This is for example the sum of the products of these probabilities and this allocation
like .5x1+.5 times this. And you get a single number for each agent. And I call this the Ex ante Allocation
Rule. So it specifies that what is the expected probability that you allocate the item to the agent if you
don't know the type of that agent. Now I want to do some kind of decomposition similar to what I did
with the interim allocation rule and observe that the Ex ante Allocation Rules are much small like if you
could use this, it would be another exponential reduction in the complexity of the problem because the
interim allocation rule specifies a probability for each type, whereas the Ex ante Allocation Rule just
specifies one number for the agent for each like item or resource. So again, we have the following
questions. How can we approximately decompose mechanisms via Ex ante Allocation Rule? And when
is an Ex ante Allocation Rule is feasible and how can we compute the optimal or approximately optimal
one? And how can we compute the optimal single agent mechanism subject to any given Ex ante
Allocation Rule. So first of all observe that if you have an interim allocation rule and we compute the
optimal single agent mechanism and if we then take the corresponding Ex ante Allocation Rule and
compute the optimal single agent mechanism corresponding to that, this is going to be larger in general
than this one because this space is less constrained, because here you are specifying an upper bound on
probability of each type, here you are just specifying an upper bound on overall probability. So this
suggests that by using the Ex ante Allocation Rule you might be able to get the optimal, because this is
like, you would expect to get something which is like, I mean, this could be in general in physical with
this single agent problem that you get from solving this. But there is a condition that it has to satisfy for
sure. So we can see that, for example, if we have a one unit of item the sum of the probabilities Ex ante
Allocation Rule probability should not add up to more than one. This is always. But this is not of course
sufficient condition. Take this example. Suppose there are N agents. Each agent has a high type and a
low type. The high type happens with probability one over N and requires an interim allocation
probability of one and the low type doesn't get anything, any allocation. And in this case you can
consider the Ex ante Allocation Rule for each agent is one over N so it satisfies this semi-feasibility
constraint, but of course it's not feasible because what if two agents with high type appear at the same
time; you cannot allocate to both of them with probability of one. But what you can do, what we can
show is that you can actually get a 1-1 over approximation of any Ex ante Allocation Rule [inaudible].
But by scaling down probabilities we can actually implement this in a physical [inaudible] in this type. So
I will talk about this more in a minute. And I claim that there is some kind of multi-agent agent
decomposition like before which works as follows. Basically there in this decomposition there are a
bunch of single agent mechanisms and each single agent mechanism allocates to subject to some semi
feasible Ex ante Allocation Rule. And then there is a central allocation mechanism which tries to resolve
the conflicts between the single agents because they could over allocate and, but it does it in a way that
will ensure that every allocation is preserved with some probability gamma, which I will define later. So
I will define this more precisely in the next slide, and I claim that gamma equal to 1-1 over E can always
be achieved. So this suggests that you can get a very good approximation like you can get a 1-1 over E
approximation by using Ex ante Allocation Rule. I will make it more formal in the next slide. But another
interesting thing that I will show you actually I will focus in on the second one a little more, is you can
actually do it in an online fashion. And you get one half approximation.
>>: [inaudible]?
>> Saeed Alaei: What's that?
>>: [inaudible] archive [inaudible]?
>> Saeed Alaei: Yeah, that is, yeah, it's not archived; it’s a typo. I will explain how this can be done by a
reduction to this magician’s problem which is something that I defined, and then I will explain in the
next few slides, but suppose that we could do that. Then I claim that an approximate optimal
mechanism can be obtained by using Ex ante Allocation Rule as follows. Let's capitalize on this by Ex
ante Allocation Rule semi-feasible Ex ante Allocation Rule's, so if you have a single item for sale this
would be simply that inequality that would be the sum of the Ex ante Allocation Rules shouldn't be more
than one or if you have K units of item shouldn't be more than K. Now let's say this is the expected
revenue of the optimal mechanism subject to some Ex ante Allocation Rule. Again, we show that this is
always concave for any maximization problem in any setting. And you can get an upper bound on your
optimal mechanism by solving this maximization problem. So this is not something that you can actually
achieve. This is simply an upper bound on what the optimal mechanism can do because this Ex ante
Allocation Rule's are semi-feasible. They may not, you may not be able to implement that feasibly. But I
claim that you can almost get that at least one half factor of the upper bound in expectation by a
reduction to the magician's problem. So this is the interesting part which is called the magician's
problem. So the magician's problem is the following. Suppose you have a magician and there is a
sequence of boxes that are arrive online and are presented to the magician. There is a prize hidden in
one of the boxes and the magician has K wands that he can use to open those boxes. If the magician
uses a wand on box i the box will open but the wand may break with the probability xi which is written
on the box. And we know that the sum of these probabilities add up to no more than K where K is the
number of wands of the magician. Now, and we assume that everything has been arranged by an
adversary so that the order of the boxes the probability is written on the boxes somewhere where the
prize is hidden. And we want to obtain a good solution for this problem, and observe that in order for
magician to be able to guarantee that he gets the prize with the probability of let's say gamma, he has to
ensure that every box in expectation is opened with a probability of at least gamma. Otherwise, the
adversary will just put the prize in the box that has the least [inaudible] probability of being opened.
And I assume that the adversary once that he has arranged everything, he cannot make any changes.
Once the boxes have started arriving, the adversary cannot make any changes anymore. And
furthermore, I assume that the magician has no prior information about anything, not even the number
of boxes. The only thing he knows his K. And I present a solution which is…
>>: What is [inaudible] each box has arrived [inaudible].
>> Saeed Alaei: Yes. When the box arrives you see the number which is written on box. You have to
make a decision about the box whether you want to open it or not. If you just keep that box, you
cannot go back to the box. You have to…
>>: I guess you shouldn't depend on how many ones you left [inaudible] open so far?
>> Saeed Alaei: Your decision is based on the pure past history and length, the number that you-actually I am sure that the decision only depends on your past history; it is not even. It doesn't even
depend on the number which is written on the current box. You can make a decision only based on your
past history.
>>: [inaudible] do know [inaudible].
>> Saeed Alaei: Yes, that is what we know. But he doesn't know how many boxes are going to be there.
He doesn't know N, like even when he sees the last box, he doesn't know if there's going to be another
one are not. Okay so, I present an algorithm which I call a gamma conservative magician which
guarantees that each box is opened with an Ex ante probability of at least gamma, and he tries to
minimize the number of broken wands. And I proved the following theorem. I show that for a gamma
equal to this number or anything less than this, it never needs more than K wands. And observe that
when K is equal to one, this is one half and when event K gets larger, this actually goes towards one
which means that if you have a large K you can actually get something which is pretty close to one. And
here is how we can use it to like solve, like this is just one example of how we can use the magician
problem to solve the auction, the composition using Ex ante Allocation Rule. Suppose you have K units
of one item and you have unit demand buyers and you want to sell them to maximize, in a way that
would maximize your revenue. You solve this convex maximization problem, which is subject to these
Ex ante Allocation Rule's being no more than K and this gives you an upper bound on your revenue. But
this is not of course obtainable. Now what you do is you do the following. You create a gamma
conservative magician with K wands and you set gamma equal to this thing. And for each of the buyers
you do the following. You write this Ex ante Allocation Rule on a box and present the box to the
magician. If the magician opens the box, then he will make the item available to that single agent
problem corresponding to that mechanism, corresponding to that agent, which means that mechanism
may either allocate the item or may not allocate depending on what the type of the agent is. By this Ex
ante Allocation Rule, I know that the mechanism will allocate the item with probability at most this X
half sub i. And if it allocates then I will go back and break the magician's wand. So you can see that the
probability that the magician’s wand gets broken is no more than this Ex ante Allocation Rule, and they
sum up to no more than K.
>>: So if the prize is in that box, the magician still gets the prize even if the wand breaks?
>> Saeed Alaei: Yes, the prize is actually irrelevant; it was just to make the, justify why the magician
wants to open every box with some probability gamma. The important thing is that the magician can
guarantee that each box in expectation is opened with Ex ante Allocation Rule with this gamma. And
because of this guarantee, he can actually get this fraction of every one of these single agent
mechanisms in expectation. So overall, you get this fraction of revenue. And this can be extended to
combinatorial auctions when you have more multiple units, I mean, under certain assumptions. I don't
want to get to the details of that. And the important thing about this is that this can be implemented
actually as an online mechanism. Here observe that the order in which the buyers are served is
irrelevant because I assume that you can serve them in any ordering. As long as you know what buyers
are going to arrive in the future, you can solve this convex problem and then you can basically whenever
they arrive you just do this thing. You write the Ex ante Allocation Rule on a box and present it to the
magician and you decide whether to sell to the corresponding buyer or not. So here is a quick…
>>: In the original problem you make the online thing doesn't matter so much, right?
>> Saeed Alaei: On the original problem there was nothing online, but I'm claiming that you can actually
use it to do online. Actually you can, I will, I wish I had time to talk about this, but you can solve the
online beta matching problem online, it's a classic beta matching, beta B matching problem and with this
technique and get this same approximation factor, but you would replace K with [inaudible] if you have
like single one matching, you would get one half approximation. That is tight actually. So here is a
sketch of how the magician works. So this is the easy part. The actual hard part is the analysis. So the
magician actually computes a sequence of thresholds, theta one up to theta and it completes this
threshold as he sees the boxes. And what that threshold, here is how the thresholds are used. Let's say
Si is a random variable denoting the number of wands broken prior to seeing box i. If Si is less than the
threshold, which means if we haven't broken too many wands, then I will open box i. If it is more than
the threshold, then it does not open the box, and if it is equal to the threshold it has been randomized
and with some probability open the box or at least it is exact probability comes from a dynamic
problem. And here is how the thresholds are computed. For each agent, for each box i I will compute
the theta i such that the probability of having broken less than or equal to theta i wands is at least
gamma, and I will choose the minimum theta i that has this property. Like this is something that you can
compute while using a dynamic program by just, by having the knowledge of the probabilities written on
the boxes one up to i -1 and by using the theta one up to theta -1. You can compute these probabilities
and then you can choose theta i such that this is exactly this. And then once you have that you basically
when you see the box i based on the threshold and the number of wands that have been broken so far,
you decide what to do with box i and it is actually independent on the probability which is written on
box i. That is a nice thing. So the dynamic paradigm is easy to like solve and it is also easy to see why it
works. The hard part is to show that when gamma is between zero and this number, actually it could,
yes, when gamma is at most this number, then this algorithm never uses more than K points, which
means these thresholds are never more than K. because if the threshold is never more than K, it means
that the magician never tries to open a box if he has already broken all of his K wands. And also it can
show that no magician can guarantee a probability of more than this for opening every box. And so you
can see that this is pretty close to that. So it is almost close to optimal. So to conclude, I presented a
general framework for constructing Bayesian mechanisms in a variety of settings as long as you can
solve the single agent problem, which is exponentially simpler to solve compared to the multi-agent
problem. You can get optimal multi-agent problem, and the nice things about this approach is you can
have mixed classes of buyers in your auction. In most of the previous works like you assume that like all
buyers in the option are just similar. They all have budget constraint or they all have additive valuations
or things like that. But suppose you have an option in which you have some agent that has budget
constraints and the other agent has risk parameter and so on. By using this reduction approach, you can
actually mix all of them in one auction as long as you can solve this single agent problem for each one
individually, you can have all of them at the same time. It works for a variety of settings with non-quasilinear utilities, arbitrary objectives and even with online arrival. And notice that in all of my, all of the
things that I explained, I never talked about the payments or the incentive constraints because all of
those go into the single agent problem. So as long as you can solve the single agent problem you are
fine. And some of these techniques as I mentioned, for example, for the online stochastic weighted
matching you can apply this magician problem to obtain a very good bound. So that was the end of my
talk. I would be happy to answer if you have any questions.
[applause].
>>: One thing you cover the relationship between two works. So the first you had to know that it
wasn't it into consideration ratio?
>> Saeed Alaei: Yes. The first one was optimal. The second one, you cannot get optimality but to be
honest the second one is the practical one, because the first one it relies on [inaudible] method so it's
purely theoretical. But the second one is actually pretty practical, because the magician problem just
requires you to solve a dynamic program and furthermore, the single agent parameters just specify the
Ex ante Allocation Rule is just one number for each agent. It doesn't depend on this type of space of the
agent. The type of space of an agent itself could be exponential, in which case you cannot use the first
operation. But still you can get a very good approximation. And it tells you that actually one thing, one
conceptual message of this is that when you extend this to combinational auctions and this condition of
like, what the condition that you get is the following. If you had an environment in which the maximum
demand of each agent compared to the total supply is less than one over K for some K, then you can get
these approximation of the optimal, which means if the demands of the agents are small compared to
the total supply, you can get a very good estimation of the optimal without going through all of the
problems of like solving optimization problems that were polymatroids. You just lose the various small
tiny fraction, but you get something which is practical.
>>: Isn't this this [inaudible] allocation resolution problem [inaudible] one count [inaudible].
>> Saeed Alaei: I'm not sure; I don't know about that.
>>: [inaudible] one thing you can do probability doesn't get you half but gets you…
>> Saeed Alaei: Sorry, you mean the first part or the second part?
>>: This problem. Like it said, it was an online but there's some people that would like to study online
setting because one thing that you could do is just say I going to toss a coin independently for everybody
and let's say see Xi by two, if I see Xi, I toss a point Xi by two.
>> Saeed Alaei: Yeah, you get a one four approximation, but here you get a one half.
>>: So one four but here one half, right? So what you want to do…
>> Saeed Alaei: So let me tell you one thing. If you, so, what I explained is something that is very close
to optimum. But what you can do is actually you can make a decision independently for each agent and
then like drop these boxes at random, and instead of this you would get something which looks like one
minus order of log K divided by the square root of K, or the square root of log K divided by a square root
of K, something like that. But that is, I mean that would be something which is a good in asymptotically
but for a small K it is not very optimal.
>>: I'm saying you could also [inaudible].
>> Saeed Alaei: Well, you can't actually, you can't even do it online. As they arrive, you toss a coin and
with some probability you just keep them or you drop it. But if you do it that way like this is an adaptive
approach which decides based on the previous history, but if, what you are saying is a non-adaptive
approach and you cannot get better than like I said one minus the square root of, divided by the square
root of K.
>>: [inaudible].
>> Saeed Alaei: Okay. Good question. So some of you [inaudible]. So first some of what I explained, it
settles the complexity of class of problems where you have polymatroid concerns, but what if you have
intersection of two polymatroids? Status, greedy importance, class, like if you had for example a bunch
of items and you have a bunch of unit demand buyers. Each one wants at most one of those items, that
is like intersection of two matroids. It is [inaudible] intersection of two polymatroids, so however, those
cases. Can we also compute the optimal mechanism for those in polynomial times, so that is one of the
open questions and yeah, I think that is like an important question that I still have in mind. Thank you.
[applause].
Download