Algorithms, Probability, Networks, and Games