An Optimal Algorithm for Finding Champions in Tournament Graphs
A tournament graph T = (V, E ) is an oriented complete graph, which can be used to model a round-robin tournament between n players. In this paper, we address the problem of finding a champion of the tournament, also known as Copeland winner, which is a player that wins the highest number of matches. Solving this problem has important implications on several Information Retrieval applications, including Web search, conversational IR, machine translation, question answering, recommender systems, etc. Our goal is to solve the problem by minimizing the number of times we probe the adjacency matrix, i.e., the number of matches played. We prove that any deterministic/randomized algorithm finding a champion with constant success probability requires Ω(ℓ n) comparisons, where ℓ is the number of matches lost by the champion. We then present an optimal deterministic algorithm matching this lower bound without knowing ℓ and we extend our analysis to three strictly related problems. Lastly, we conduct a comprehensive experimental assessment of the proposed algorithms to speed up a state-of-the-art solution for ranking on public data. Results show that our proposals speed up the retrieval of the champion up to 13× in this scenario.
READ FULL TEXT