>> Ece Kamar: It's my pleasure to welcome Bo An to Microsoft Research today. Bo An is an assistant professor at Nanyang Technological University from Singapore and his researching interests includes artificial intelligence, multiagent systems, optimization and game theory. He has been doing very cool work on the intersection of sustainability on game theory and he's going to be talking about that today. >> Bo An: Thank you, Ece. So morning. Thanks for coming. It's my honor to be here. Today I'm going to talk about two pieces of work are kind of applying game theory to computational sustainability. This is joint work with my students from China and Singapore and it's been published HK 13, HK15 and AAMAS 15 this year. So let me start with a brief introduction about the research work I'm doing. So I basically focus on research on game theory for security, and most of my work is about game theory on security, basically how to apply game theory as a framework to model the game between terrorists and the security agency. We tried to come up the efficient allocation of security sources to protect K infrastructures such as airports, ports, flights, these types of things, and recently we've just extended this framework to protect Forest, protect [indiscernible], those type of new domains. So that's number one. The other one I was working on is about bargaining and its applications to some real-world applications for allocating resources as well. So today I'm going to talk about another branch of work I'm doing which is about computation sustainability. This [indiscernible] work is more applied work and today I'm going to explain two lines of work, two problems which are kind of related. The first one is about optimize and efficiency of taxi systems. The second one is about some recent work on electric vehicle charging station placement. So I'm going to start from the first one. So this is a real world problem I observed when I was working in Beijing. So after I finished my postdoc in USC in southern California in Los Angeles in 2012 I spent a while in Beijing to work in the Chinese Academy of Science. I'm leaving Beijing. Now one problem I found is it's super difficult to take a taxi especially during rush hour. I waited like two hours to wait for a taxi but I still could not get a taxi. I saw taxis driving by empty but they would not stop. They just do not want to take you. Lots of people observed that. So I guess, as you all know, taxi system is extremely important; it's huge and it's fully decentralized because each taxi driver is somehow they’re kind of self-interested because they are driven by their revenue. They want to earn more money. No money in a taxi system is efficient and hard to manage and optimize so that's what we're talking about. So what's happening in Beijing? As I mentioned, I just could not find a taxi during rush hour. Then lots of people observed this issue. Then people start to think about whether it's because Beijing we just do not have enough taxis but the government said no, we have enough taxis. But what's happening is during rush hour we see something like this. This is like one day during rush hour. We see lots of customers are waiting for taxis [indiscernible] like this but at the same time the taxis are parking in a big parking lot or just parking down the street. They just do not want to work. So then after that every time when I took taxi I started to talk to the taxi driver what's happening? Then they told me in Beijing the fare is basically determined by the distance but we all know that the traffic congestion is extremely heavy in Beijing during rush hour but the fare is always the same during the day which means during rush hour they cannot move fast, they cannot earn money. But during rush hour, even if they're driving slowly, but the gas cost is even higher. You have this experience when you're stop, drive, stop, drive, stop drive the gas cost is much higher. So if they work during rush hour they will lose money. So that is a phenomenon. Then we start thinking about perhaps we can somehow solve this problem just using the simple idea just increase the fare place during rush hour. This is extremely simple and it has been used in many other countries like Singapore, the country I live in now. So in Singapore, from 4 PM to 8 PM, the fare is increased by another 25 percent. Basically taxi drivers can earn more when they work during rush hour but the problem is how much should be the optimal price? That's a problem we are trying to solve. So basically to solve the problem we need to model this taxi market. We need to model the taxi drivers their revenue as well as we want to optimize how the efficiency is affected by the fare price. This is super complex taxis systems because there are many factors with complex interdependencies and a customer demand, congestion level, travel speed, customer waiting time. For instance, if the fare is too high obviously a lot of customers will not take taxi because it's too expensive. Also the congestion level also is determined by the number of taxis on the road. The more taxis then the congestion would be even worse. But also travel speeds are affected by many other factors. So well complex system and this changes over time because normal demand will change over time. At rush hour the demand is higher, normal demand is higher. And inertia is, as we just mentioned, taxi drivers are super-strategic. Yes? >>: [inaudible] system or do you just have a flat [inaudible]? >> Bo An: What do you mean? >>: Do you have a central dispatch system>> Bo An: No. It’s fully disputed like in Beijing. >>: So you cannot call a number [inaudible] wait on the side of the road? >> Bo An: That assumption we have not considered in this paper. That's something very new. I guess that would be something interesting to look at the new technology like Uber or other things how they would affect the efficiency of taxi systems. But for here we just are showing taxis are just driving on a road. If you see a taxi just ask him to stop and take a taxi. But that would be something interesting to extend to this model. >>: Just because you brought up Uber do you know what kind of a pricing model Uber applies? >> Bo An: I do not know, to be honest. I guess that would be something interesting. I heard some people did some work on that but it's not published to know how Huber would affect the efficiency of a taxi system. [indiscernible] result is quite negative but it's not published but I guess is quite interesting to explore. >>: [inaudible] paper is you have CHI by ACI’s on people like they interviewed some taxi drivers of how they perceived search pricing and how they actually work. So they gave some assumptions for that and also they also have time as the price factor. >> Bo An: So let me just continue. So the taxi driver we assume they are strategic. They just want to optimize their objective to earn more money, but obviously they have also some constraints as I just mentioned self-controlled, profit-driven, and they also have some scheduling constraints. For instance, they cannot work for 24 hours per day. You have to take breaks. I guess that's why in Beijing lots of taxi drivers they choose to take breaks during rush hour because they have to have dinner, for instance. That's the right time for them to do that. So for modeling this market there has been a lot of work in this Transportation Science Literature for modeling how different factors affect each other, what would be the dependency on those types of things? We just borrowed the ideas from that literature to build the system model. Then we need to deal with the strategic taxi driver and solve this problem. So this is like some equation how we model different factors. You just fully go over the details but all the equations are from Transportation Science Literature how different factors will affect each other, the number of drivers, how the travel speed is determined, how the waiting time is decided based on the number of normal cars, the number of normal cars and number of taxis driven everything so we have those types of things. We borrowed the idea from Transportation Science. And this is pretty much the system model where we basically show how the different factors affect each other. So we have this fare price F, then we have the number of served customers, system efficiency, waiting time, travel speed, load condition, those types of things. I will not talk about details but there are all interdependent. I guess basically the problem itself is like a bi-level optimization problem. So what we want to help is to help the government to decide the optimal fare price to maximize the efficiency of the taxi system. What do we mean by efficiency? It is the number of served customers. We want to maximize that number. Now after the government decides the fare price, like rush-hour how much you will charge per kilometer, then the taxi drivers will play the game to decide what is their optimal schedule, their strategy. Their strategy will definitely affect the system efficiency so that's why this is like a bi-level optimization problem. And higher levels the government decides a price and then only will taxi drivers play the game and they just compute equilibrium and execute an [indiscernible] strategy and [indiscernible] strategy basically depends on the variable in the higher level, the taxi market fare price, which will affect the system efficiency. Is this clear? >>: Why is system efficiency criteria the number of served customers? Is there always more customers that can be served? >> Bo An: Well, I guess that number one is that is just the one we use in our current model, but obviously this can be extended to many other things to combine different things. This is reasonable because in the beginning if you want to minimize the number of unserved customers then that is a huge asset that price to be extremely high because nobody wants to take a taxi. The number of unserved customers is zero which is minimized. So that's why we want to somehow maximize the number of served customers and each time point, given the currency [indiscernible], a fare price is a congestion level we can compute how many people want to take taxi. That is a demand. What is a demand? Only some number can be served by the system. That's something we want to maximize. Yes? >>: Can you put another kind of metric system? >> Bo An: What do you mean by>>: Like the number of customers that were served per unit of time? >> Bo An: Okay. Well, I guess this is the equivalent because we just tweak the number of served customer during each hour so it's kind of equivalent. So we consider the taxi driver’s behavior and those types of things. I think I already talked about that. Let me talk about taxi driver strategy. Taxi driver strategy basically needs a schedule. Their pure strategy schedule basically it says, one example is one pure to work and one pure to take a break. One example is I get up at five, work for three hours, and take a break for one hour and start work again for another four and take a break for another two hours or something like that. It's a schedule. So then they have many schedules and this will exponentially increase with the number of periods over a day. Let's say one day we divided this day to 24 periods and each period represents one hour which means which hour I will work, which hour I will take a break, something like this. And each driver’s strategy basically is a mixed strategy. It's a distribution over the pure strategies, a different type of schedules. So each schedule has a probability. So it’s a probability distribution and given the probability distribution XI and let's say we have M pure strategy for each driver and we know the distribution then based on that we can compute the number of taxi drivers in each period because here in our current model we do not differentiate different taxi drivers. We assume they are all follow the same strategy. That is our assumption. We have not considered the difference between different taxi drivers. So given each taxi drive’s strategy we can compute in each period how many taxi drivers there were counted [indiscernible], then based which is P then based on that we can compute the congestion, everything like that. And obviously for each of taxi driver they want to maximize, compute the optimal distribution to maximize their utility function which is their revenue. So as we know, as I just mentioned, taxi drivers they have some scheduling constraints. For instance they cannot work continuous extremely long time. Every day they might work for at most 18 hours, and also they cannot work continuous work for more than maybe six hours or something, they have to take a break, and also every day they cannot work for more than 18 hours or something. They have those types of constraints. So these constraints are used to generate the feasible schedules of the taxi drivers. So, as I just mentioned, this is basically a bi-level optimization problem. We optimize system efficiency and taxi drivers optimize their utility. So from the common perspective our [indiscernible] point is F which is a fare price in each time period. And with that each taxi driver they compute the equilibrium, the optimum price given the strategy of other taxi drivers and at the fare price decided by the government. >>: [inaudible]? >> Bo An: Yes. So that simplifies the setting in that. So some difficulties number one is, as we just mentioned, taxi driver strategy space exponentially increase with the number of periods. That's something we have to deal with. So we came up with some different solution algorithms; so I'm going to briefly talk about three algorithms. Number one is Atom Schedule Method which is published in HKF 13. Then we have number two and number three which is published AAMAS this year. So number one and number two which only consider constraints, the two constraints I just mentioned, but in fact in some other settings we might have many other constraints especially in cities in China. For instance, in lots of cities the government sets up constraints such as if you work until 4 PM you have to continuous work until seven or eight. You cannot switch. You have to continuous work because the government observes that lots of taxi drivers they do not want to take passengers during rush hour, so if you work at three or four you have to continuous work something like that. They have those types of constraints. For instance, market regulations cannot switch in peak time those types of things. So then we also come up as a new approach which can handle these arbitrary constraints. So for those first two constraints we can come up with polynomial time algorithm and for this one i’'s extremely hard and we come up with some algorithm which is not a polynomial but still very efficient when we try different settings. So because of the time I guess I will not talk about the details but give you a very high level taste of those techniques we use to solve this problem. So the first approach which is called Atom Schedule. Basically each Atom Schedule, the definition of Atom Schedule which is a continuous working section in a schedule so for this is a pure strategy. We have three Atom Schedules. The number one which works from one, two, three, four; then the second one is from 5, 6, 7, 8, 9. So what we can see is even the number of pure strategy like this will exponentially increase ways, the number of periods, but the number of Atom Schedule which is polynomial which is much smaller. So our key idea is instead of computing the distribution of those pure strategies we compute the probability of those Atom Schedules which is much easier to solve. And after we compute this we can [indiscernible] them back to get the probability [indiscernible] of those pure strategies. So that's a [indiscernible] idea and we can prove if we can compute this optimal probability of this Atom Schedule we can get an exact pure strategy make a strategy distribution which matches this probability distribution over the Atom Schedule. So that simplified the problem. That's how it works. So that's the first approach. The second approach is we just look at the two constraints I just mentioned and we come up in linear programs. So the key idea is motivated by the two representations of a polytope. So for each polytope there are two representations. One is based on extreme points; the other is based on half space. So if we look at this problem each schedule can be treated as an extreme point. So the second approach we use is we just convert the representation to the vertex representation to half space representation and so for the vertex representation each vertex is a pure strategy schedule. It's something like this. Then we have another thing is half space representation of this constraint. The number of constraints is much, much smaller. That's a key idea for solving this problem so half pace representation is much, much more compact as compared with the vertex representation. So I won't go over the details, but basically we come up with this, so basically here it says the convex polytope has many vertex but much fewer facets. For instance, an n-dimensional cube we have two to the power of n vertices but only 2n facets so we just convert the vertex which each vertex is scheduled into the half space. >>: Is there some structure there [inaudible]? >> Bo An: Taxi. Exactly. Because of these two constraints. So far we just consider two constraints. Number one is they cannot work for too long per day, number two is they cannot continuous work for too long so there are some special structure. We have proofs in our paper see an optimal representation of the half space corresponds to the exact representation based on the vertex. >>: [inaudible] number of constraints in this case will simplify your problem? >> Bo An: Makes this much more complicated. We cannot apply this anymore. >>: So is there anything special about those two constraints? >> Bo An: That’s true. Obviously those two are quite simple. So number one is you cannot work for more than 18 hours per day, number two is you cannot continuous work for more than four hours. So those are what is reasonable but extremely intuitive constraints. But if you consider other optional constraints we cannot do that. I guess that's why our Atom Schedule representation can work after we compute the probability of Atom Schedule can find the corresponding mixed strategy because these two constraints are simpler. But if you consider optional constraint you cannot do that. You might not find a mixed strategy which can give you the probability of the Atom Schedule. So I guess that's the idea. The half space representation is something like this and we can now solve this problem extremely efficient. So, another approach is, in our problem is now we start to consider some other optional constraints as some constraints I just mentioned. In that case we can choose that, the existing two methods cannot work anymore so then the problem now we need to go back to the exact schedule, the vertex representation of the strategy space which is too big and we cannot solve that. So then we come up with this approach called FLORA-A. So the idea is somehow very similar to column generation in solving large scale linear program problems or optimization problems. So we start with a small pure strategy set, a small number of the vertex representation of the strategy space. We tried to construct. By doing that we have a small problem and we solve that problem and then we find a new strategy which can be used to improve the solution. If we can’t find that we add it to this small problem, this representation, and we continue to do that until we cannot find a new vertex, new pure strategy, which can improve the solution of this problem. If we cannot find another one then it solves and then we find out the optimal solution. The basic idea is similar to column generation but we have to tune it to make it work for our problem. So that's the high level idea we used to solve this problem. So we did some experiments based on the common data. For instance, for Beijing we can easily find the data about the traffic, everything from the common reports. Basically we have runtime’s results and see how our price can improve the system efficiency and we did find there could be 15 percent increase in terms of system efficiency. We also found that if we have other constraints, random arbitrary constraints, we have to turn to the new algorithm because if we just use a solution based on the two simple constraints the solution might not be good. So I'm not going to talk about details but there's some kind of idea. So it helps. Any questions so far? Or you can ask me questions at the end. So now I'm going to move to the second problem. Yes. >>: So in some [inaudible] the travel time is also included into the fare? What kind of distance you go there’s also [inaudible] on it? >> Bo An: We are not considering that. So this is very interesting because in China they do consider that but that has a very small weight because taxi drivers they may play with that if that power is too big. They want to earn more revenue so the government is very sensitive. There is that component but it’s very small. >>: So at the first the fact would be the drivers selecting their route that is going to take a long time for customers. >> Bo An: Yes. >>: How many do the same thing with the fact that they take a route that’s going to be far away so you can do the same thing with respect to the distance? >> Bo An: That's true. I think distance basically the driver has experience and they might know which route is more [inaudible]. So I guess normally they would not do that otherwise the customers could complain so I guess that's not the biggest issue except tourists. You do not know the city when your strangers then they might do something. Yes. >>: The possibility is that here's one route that is the shortest but it’s a very congested so maybe, just use your example, [inaudible]. >> Bo An: True. So this is running into some problems and there have been many studies so basically we just ignored that part because there are many not so interesting things could happen. >>: Is there any possibility that the constraints [inaudible] like occur independently [inaudible]? >> Bo An: I guess C1 and C2 are quite reasonable. I guess they both happen in every city, every scenario. There might be some American students depending on the current policies [inaudible] those types things. So I'm going to move to the second problem. This is also some real-world problem. I found this problem when I moved to Singapore. Singapore is trying to introduce more electric vehicles because we all know it has many benefits. The signed contract with some companies and they will introduce electric vehicles perhaps starting from buses and then taxis. Then the governments need to build charging stations. So if they charge at home it will take a much longer time but if they charge at charging station it's a very fast. So now, it says 4-5 hours but actually they just need five minutes based on some new technology. It's a super-efficient. So definitely there is a need to build charging stations in a city. Now the question is where to build that? So that's the problem we are trying to look at. So the problem is somehow similar to the taxi efficiency problem in the sense at a high level it’s still a bi-level optimization problem. At the higher level the government decides where to put charging stations. After that car drivers decide where to charge. They are still playing a game. It's somehow similar to congestion game somehow because they are still self-interested. They make their best choice in consideration of other things. I guess the question is how to handle this. We hope that this approach can be used to help the Singapore government to decide where to build charging stations. So still motivated by a real world problem. So there is something special we wanted to consider in this problem. Singapore is a very small country, very small city. From the west to the east if there is no traffic 30 minutes you can drive through the country. Very small. But traffic congestion is a big concern to the government. The government tried everything to alleviate the congestion. And we were thinking whether we can do something smart by smartly allocating the charging station we can somehow improve the traffic congestion because people will, if they charge that will have some effect on the traffic congestion. One simple example is if you put all the charging stations at downtown so everyone needs to charge in downtown. Downtown is already extremely crowded or highly congested. If they drive to downtown to charge then things will get worse. So that's something in our mind. Perhaps we can consider that as something we want to optimize in relocating the charging station. So this is a map of Singapore. So the [indiscernible] that we used here we divide Singapore city. So that's a problem. We want to assign a number of build chargers to end zones such a minimize the use cost of all the EVs. I will talk about the usage costs later. And I will talk about the problem modeling in our solution. So the modeling part the basic idea is like this. We divided the country into many zones. Each zone can be treated as a small area. In Singapore they basically have 28 zones or something and each zone we know we have lots of data about how many cars there are, people traveling, [indiscernible] and those types of things so we can easily get data then we can do experiments based on that data. So we did why divided the country, the city into many zones. Each zone there are cars, EV cars. And their n zones and in total we have B chargers. In each zone we have some EVs and we have some B chargers and X is something we want to optimize. That's our deciding variable. That's our variable. And the charging cost of each EV basically depends on the travel time. If I charge what's the travel time and that's one and [indiscernible] congestion queuing time at the charging station because if there's a charging station there are so many cars were waiting then the queuing time is the cost. So each zone the charging strategy of each zone is the probability of charging in different zones. For instance, if I'm leaving at the zone two, so for this simple scenario, so my strategy would be charge at zone two with probability p22 charging station is zone three and with probability p23 and zone one and with that probability. So that's our strategy. The strategy space of each EV is that zone. Then we can formulate this by bi-level optimization problem. At a higher level the government is trying to minimize the social cost. The social cost could be anything. So in our model, we consider the congestion or the cost of all the EV drivers could be anything or any different combination with different weights whenever. That's something the government tried to optimize and each EV is tried to minimize their charging cost. As I mentioned includes the travel time, perhaps that queuing time could be something else, for instance how much the distance they need to travel not just travel time because that could be something different. So that's still quite similar to the model for the taxi system efficient optimization problem. Now still we need to solve this equilibrium in the bottom in the second level. In the lower level. >>: [inaudible]? >> Bo An: Well, here we just consider they have a budget in terms of the total number of chargers they can put. But it could be anything. For instance, in this zone we can only build at most five or in our zone we can build at most at least 10 or something. We can put into that into the optimization problem. Yes? >>: So it depends on how many cars [inaudible]? >> Bo An: Well, that's a decision variable. You're talking about the data. How many EV cars in each zone. So for the experiments, because we know how many cars in each zone, then perhaps we just assume 10 percent of cars would be EV cars so we just use that model. Make that our assumption. >>: So is there any way that I'm just thinking of how the other gasoline stations. Is there any algorithm for those? >> Bo An: For what? >>: The gas stations. >> Bo An: How they are built? I do not know. I guess that's because those stations were built a long, long time ago, and obviously this it’s not decided by some algorithm. Perhaps they have observation we need more gas stations in this area. They just build one. >>: So I would just put two charging stations [inaudible]. I mean the gas station is pretty much an optimizer [inaudible]. >>: [inaudible]. >> Bo An: So a good one. You're talking about the constraints and those types of things. I guess for instance perhaps for some gas station they have limited space; they just could not add more EV charging station in that space, and also obviously we have to think about queuing time and all those types of things. But if you're talking about our constraints that definitely is something we can consider. If you're talking about the, for instance, construction costs if you put in a gas station perhaps that's cheaper whatever, we can add those types of things into this framework. So that's pretty much our model. I guess the problem of this difficulty is still how to solve this problem. I guess the most difficult part is the bottom level we are trying to compute the equilibrium. So we consider Nash equilibrium basically nobody wants to deviate to another charging strategy probability distribution. Now how to specify that constraint. Let me just explain that at the high-level. Nash equilibrium says give me your charging distribution probability distribution. If my equilibrium distribution is X I have no incentive to choose another X prime which means in the constraint we have to say for any X prime X is better but the problem here is X prime is a distribution. The space is infinite. We just cannot list infinite number constraints into this problem. That's the difficulty of solving this problem. One we did at a very high level we started looking at the structure of those constraints and we convert this infinite number of constraints into a set of finite number of constraints which are equivalent then we are able to solve this problem at a very high level. So I guess the problem is we have an infinite number of constraints. >>: [inaudible]? >> Bo An: Yeah. So Nash equilibrium says each of us is a driver. It you have a strategy which basically says the probability of charging at this charging station or another charging station. Nash equilibrium says for each player given your strategy I have no incentive to choose another one. So if my Nash strategy is X I to have a constraint for any X prime X is better but X prime is continuous because it's a probability distribution. There are just infinite number of constraints. We cannot specify those types of things into this whatever bi-level, linear or nonconvex. >>: [inaudible]? >> Bo An: X prime is. We have represent the Nash equilibrium as constraints but if we wanted to represent that there are just infinite number of constraints. >>: [inaudible]? >> Bo An: Yeah because we are assuming they are [indiscernible] Nash equilibrium because the EV drivers they are playing a game because they're competing because too many drivers come to the same charging station and queuing time could be huge. >>: This is the agency's problem, right? >> Bo An: Yeah. We’re trying to help the government to decide where to put charging system. >>: But the government problem is very complicated. You're saying we have queuing constraints and other things that makes the problem nonlinear. >> Bo An: That's true. They're basically in transportation [indiscernible] all those types of things. There are many equations. Some are nonlinear definitely. Some are convex and I guess in our model we use the most widely used representation of those types of things from the Transportation Science Literature to represent how different factors will affect each other. So the key idea we use is simple division. So, as I just mentioned, Nash equilibrium says given X I have no incentive to change to X prime but X prime could be quite different from X in terms of I change the probability for each zone. So here we just consider simple division. We only change the charging station in two zones. So, for instance, let's say the simple division is here. So [indiscernible] P2 which is my division I might change my probability in each zone. There are P21 there are P22, there are P23. That is a division, normal division. Now we just consider simple division. Basically we just consider changing charging strategy in two zones. For instance here the second line we just changed the strategy in zone one and zone two. The third one we just change one and three. So what we show is that given the problem we prove that if for a driver, if the driver has no incentive to make a simple division the driver has no incentive to make a normal division. Then we can convert the original problem we specify Nash equilibrium as normal division to simple division which those two problems are equivalent. We further analyze the simple division and convert, still we have an infinite number of constraints but we can analyze this problem and we can turn this into a finite number of constraints but I won’t go over the details. You can find them in the paper. Then we can [indiscernible] this problem as an optimization problem and then we can come up with solution algorithms to solve this problem. Because of the time I won’t go over the details. Different approach of this is long time comparison and we compare this with many benchmark approaches in terms of our approach is better in terms of optimization system efficiency. The government objective, the social cost. So that's pretty much the two problems at a very high level. There are definitely many future work to do. So, for instance for the taxi system efficiency optimization in our current model we do not assume all taxi drivers are the same. Obviously we consider heterogeneous taxis and taxi drivers so we are shown each human beings everyone is full dimensional that is not realistic. So I know MSR has lots of people doing urban computing and those types of things. You should have lots of data about how human beings will make these things such scenarios and then you could put human behavior model into this model. And obviously we have not considered the impact of out based scenarios like Uber and other things. Also we just consider a whole city perhaps there are lots of spatial variances that can be considered as well. So for every charging station still human behavior. In our [indiscernible] we are working on now is assuming that, like Singapore, the charging station have been decided. Now whether we can do something to optimize the traffic by changing the price in each charging station that’s something we are considering now which is still quite realistic because traffic is just a huge problem for Singapore, the biggest problem for Singapore because citizens are complaining. The government is trying everything they could to help with the congestion. The last I want to point out is the second problem. This is called placement problem. The Singapore government is overseeing some other things. They want to know, they just announced some [indiscernible] about similar problems. They want to know where to build schools, where to build hospitals so that they can help with the traffic and people do not need to take a long way to go to school or go to the hospital. Obviously to solve those problems that we need to build preference model how people will make decisions based on different factors and then try to optimize our problem. So I guess I feel there has been lots of work on big data to try to just give people suggestions just purely based on the historical data. But our observations are more from model-based research. We just assume people are fully strategic and they will also always compute equilibrium so I guess there should be something in the middle based on some human behavior modeling and with the game theoretic model. I think that could be more realistic because historical data only represents the past but people will always play games. When we make decisions we also always consider what other people might do. So I believe there should be something in the middle to try to combine both to make that everyone's life much better. I think there should be lots of work that can be done in this I would say emerging era. Thank you. If you have any questions please let me know. Thank you. >>: I have a question. So I think this human aspect in all of these systems are super important for implementing them in the real world. So for both systems how does the solution of the optimization look like? Is it something that you can describe to a two taxi driver or to a person who wants to use a charging station easily? This is how we are going to be paid or [inaudible] changing every day? What would be a good way to kind of express the outcome of the system to the users? >> Bo An: So what do you mean by outcome? >>: For example, the taxi efficient optimization system optimizes these parameters of the fare function. So now you need to express this to the taxi drivers so that the taxi drivers can make a decision about working at rush hour or not. How does that interface do you think is going to look like? >> Bo An: Taxi drivers you can tell taxi drivers. >>: Yeah. Because you need to tell them about what the new fare system looks like, right? This is how we are going to do these from now on. Is it something easy to express to them or is there a challenge in kind of making them understand how they are going to be paid from now on? >> Bo An: That's a perfect question. So for our model we basically just tried to compute the optimal price for the rush-hour. I think that's something which can be easily understood by drivers and citizens. Obviously we can consider more complicated cases. For instance, we [indiscernible] a price for each period but that's more complicated. So for transportation science there has been lots of interesting human behavior study, human subject experiments. I was remembering in some cities in Europe people come up with this idea. Yeah. The government decide a new price every time we take a taxi just negotiate with the taxi driver. That's extremely flexible. What’s happening is nobody wants to take a taxi. Why? Because human beings we want some predictability. If we feel this is not something predictable we will switch to other things. We will take busses or subways and those types of things. But that’s something very interesting. So obviously human behavior modeling is needed here. If you want to make extremely complicated pricing scheme which is not realistic it may not work in practice. I guess that's something [indiscernible]. I guess we just consider maybe just rush-hour price and normal hour price. I guess that's easier and let people know [indiscernible] then I guess that's something can be easily adopted by the government and accepted by citizens. >>: [inaudible] estimates of how much pay you have to pay actually. So before time you will be prepared like this is how much I'm going to pay [inaudible] so you can decide whether you want to take the taxi. >> Bo An: There has to be some interesting human experiments to study people's behavior. Human beings are extremely complicated. Yes? >>: How do you show the outcome of your observations to Chinese [inaudible]? >> Bo An: Every time when I was taking taxi I would always talk to them. They feel this is good approach think about to work during rush-hour so if the price is higher. I guess this would definitely work. But I did not talk to the government because later I just went to Singapore. If I stayed in Beijing I think I would definitely talked to government. Perhaps they could consider something like this. But I guess the key takeaway the message here is for any problem, optimization problem whatever, involve human beings some game theoretical thinking is needed because we are kind of somehow strategic and making decisions. >>: Let's thank the speaker again. >> Bo An: Thank you.