HOME

TheInfoList



OR:

A learning augmented algorithm is an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
that can make use of a prediction to improve its performance. 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 (\mathcal, \mathcal). Here \mathcal is a problem instance and \mathcal 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. 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. Learning augmented algorithms generally do not prescribe how the prediction should be done. For this purpose
machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
can be used.


Examples


Binary search

The
binary search algorithm In computer science, binary search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the ...
is an algorithm for finding elements of a sorted list x_1,\ldots,x_n. It needs O(\log(n)) steps to find an element with some known value x in a list of length n. With a prediction i for the position of x, the following learning augmented algorithm can be used. * First, look at position i in the list. If x_i=y, the element has been found. * If x_i, look at positions i+1,i+2,i+4,\ldots until an index j with x_j\geq y is found. ** Now perform a binary search on x_i,\ldots, x_j. * If x_i>y, do the same as in the previous case, but instead consider i-1,i-2,i-4,\ldots. The error is defined to be \eta=, i-i^*, , where i^* is the real index of y. In the learning augmented algorithm, probing the positions i+1,i+2,i+4,\ldots takes \log_2(\eta) steps. Then a binary search is performed on a list of size at most 2\eta, which takes \log_2(\eta) steps. This makes the total running time of the algorithm 2\log_2(\eta). 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 n. Then the algorithm takes at most O(\log(n)) steps, so the algorithm is robust.


More examples

Learning augmented algorithms are known for: * The
ski rental problem In computer science, the ski rental problem is a name given to a class of problems in which there is a choice between continuing to pay a repeating cost or paying a one-time cost which eliminates or reduces the repeating cost. The problem Many ...
* The
maximum weight matching In computer science and graph theory, the maximum weight matching problem is the problem of finding, in a weighted graph, a matching in which the sum of weights is maximized. A special case of it is the assignment problem, in which the input is ...
problem * The weighted paging problem


See also

*
Machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...


References

{{Reflist


External links


An overview of publications about learning augmented algorithms
Algorithms Theoretical computer science