Combinatorial optimization, discrete algorithms and randomized algorithms. In the past I have worked on other areas, including peer-to-peer systems and network coding.