Learning augmented algorithm
A learning augmented algorithm is an algorithm that can make use of a prediction to improve its performance.[1] Whereas in regular algorithms just the problem instance is inputted, learning augmented algorithms accept an extra parameter. This extra parameter often is a prediction of some property of the solution. This prediction is then used by the algorithm to improve its running time or the quality of its output.
Description
A learning augmented algorithm typically takes an input . Here is a problem instance and is the advice: a prediction about a certain property of the optimal solution. The type of the problem instance and the prediction depend on the algorithm. Learning augmented algorithms usually satisfy the following two properties:
- Consistency. A learning augmented algorithm is said to be consistent if the algorithm can be proven to have a good performance when it is provided with an accurate prediction.[1] Usually, this is quantified by giving a bound on the performance that depends on the error in the prediction.
- Robustnesss. An algorithm is called robust if its worst-case performance can be bounded even if the given prediction is inaccurate.[1]
Learning augmented algorithms generally do not prescribe how the prediction should be done. For this purpose machine learning can be used.Template:Fact
Examples
Binary search
The binary search algorithm is an algorithm for finding elements of a sorted list . It needs steps to find an element with some known value in a list of length . With a prediction for the position of , the following learning augmented algorithm can be used.[1]
- First, look at position in the list. If , the element has been found.
- If , look at positions until an index with is found.
- Now perform a binary search on .
- If , do the same as in the previous case, but instead consider .
The error is defined to be , where is the real index of . In the learning augmented algorithm, probing the positions takes steps. Then a binary search is performed on a list of size at most , which takes steps. This makes the total running time of the algorithm . So, when the error is small, the algorithm is faster than a normal binary search. This shows that the algorithm is consistent. Even in the worst case, the error will be at most . Then the algorithm takes at most steps, so the algorithm is robust.
More examples
Learning augmented algorithms are known for:
- The ski rental problem[2]
- The maximum weight matching problem[3]
- The weighted paging problem[4]