Online algorithms are used in a variety of situations such as forex trading, cache replacement, and job scheduling etc. In an online problem, the algorithms is presented with a sequence on input in a serial fashion such that the algorithm does not have knowledge about the future inputs. For instance, in case of forex, the online algorithm is presented daily exchange rates. The algorithm does not have knowledge about future exchange rates, and has to make an irreversible conversion decision on each day. Competitive analysis is the standard tool to analyse the performance of online algorithms. Competitive analysis measures the performance of an online algorithm against a benchmark optimum offline algorithm. Competitive analysis is a worst cas...