EconCS is literally termed the “intersection of Economics and Computer Science”. In EconCS, we take an algorithmic perspective on topics in microeconomics: game theory, mechanism design, social choice. We also study algorithmic questions stemming from these topics; this includes problems in algorithm design, complexity, machine learning, and artificial intelligence.
To many people, the term “Econ” suggests financial or fiscal focus. But these are not fundamental. Rather, I like to summarize EconCS as
The algorithmic study of systems of goal-directed agents.
What do I mean by “goal-directed”? They have their own preferences and make their own decisions. Unlike most of CS, we do not design or control these agents. Rather, we interface and interact with them.
Some broad themes that illustrate EconCS a bit better:
- How do goal-directed agents interact? This is where game theory and the notion of equilibrium comes in. Example: How should one play rock-paper-scissors? poker? How should one choose the route one takes to work (knowing that everyone else is scheming to pick their optimal route as well!). Lots of algorithmic questions: computing equilibria? price of anarchy? and many more.
- How do we construct systems or algorithms involving these agents? This is mechanism design. Here, we study mechanisms with money, like auctions and markets; but we also study mechanisms without money but still with preferences: matching, voting, facility location, information spread on social networks, ….
- How does information flow in these systems? Example: “cascades” on social networks. Or, how do we get information from agents for our algorithmic tasks? How do we provide agents with the information they need to make good decisions?