Task systems are mathematical objects used to model the set of possible configuration of online algorithms. They were introduced by Borodin, Linial and Saks (1992) to model a variety of online problems. A task system determines a set of states and costs to change states. Task systems obtain as input a sequence of requests such that each request assigns processing times to the states. The objective of an online algorithm for task systems is to create a schedule that minimizes the overall cost incurred due to processing the tasks with respect to the states and due to the cost to change states.

If the cost function to change states is a metric, the task system is a metrical task system (MTS). This is the most common type of task systems. Metrical task systems generalize online problems such as paging, list accessing, and the k-server problem (in finite spaces).

## Formal Definition

A task system is a pair ${\displaystyle (S,d)}$ where ${\displaystyle S=\{s_{1},s_{2},\dotsc ,s_{n}\}}$ is a set of states and ${\displaystyle d:S\times S\rightarrow \mathbb {R} }$ is a distance function. If ${\displaystyle d}$ is a metric, ${\displaystyle (S,d)}$ is a metrical task system. An input to the task system is a sequence ${\displaystyle \sigma =T_{1},T_{2},\dotsc ,T_{l}}$ such that for each ${\displaystyle i}$, ${\displaystyle T_{i}}$ is a vector of ${\displaystyle n}$ non-negative entries that determine the processing costs for the ${\displaystyle n}$ states when processing the ${\displaystyle i}$th task.

An algorithm for the task system produces a schedule ${\displaystyle \pi }$ that determines the sequence of states. For instance, ${\displaystyle \pi (i)=s_{j}}$ means that the ${\displaystyle i}$th task ${\displaystyle T_{i}}$ is run in state ${\displaystyle s_{j}}$. The processing cost of a schedule is ${\displaystyle \mathrm {cost} (\pi ,\sigma )=\sum _{i=1}^{l}d(\pi (i-1),\pi (i))+T_{i}(\pi (i)).}$

The objective of the algorithm is to find a schedule such that the cost is minimized.

## Known Results

As usual for online problems, the most common measure to analyze algorithms for metrical task systems is the competitive analysis, where the performance of an online algorithm is compared to the performance of an optimal offline algorithm. For deterministic online algorithms, there is a tight bound ${\displaystyle 2n-1}$ on the competitive ratio due to Borodin et al. (1992).

For randomized online algorithms, the competitive ratio is lower bounded by ${\displaystyle \Omega (\log n/\log \log n)}$ and upper bounded by ${\displaystyle O\left((\log n)^{2}\right)}$. The lower bound is due to Bartal et al. (2006,2005). The upper bound is due to Bubeck, Cohen, Lee and Lee (2018) who improved upon a result of Fiat and Mendel (2003).

There are many results for various types of restricted metrics.