In order to face the conflict between selfishness and optimization one designs a mechanism. A mechanism augments an algorithm with a carefully designed payment function which makes following the protocol "rational". This concept developed by economists gained a lot of attention in computer science community.
The talk will mainly focus on some recent results of the speaker and can be considered an overview of his PhD thesis. In particular, we will talk about the construction of mechanisms for so-called cost-sharing games showing that simple solutions are often the best possible ones. A second topic will concern so-called mechanisms with verification. These are mechanisms that somehow can verify the correctness of agents' actions. We will show that such a natural assumption gives to mechanisms the capability of solving a large class of optimization functions that classical mechanisms (without verification) cannot do.