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 edit

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.[citation needed]

Examples edit

Binary search edit

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 edit

Learning augmented algorithms are known for:

See also edit

References edit

  1. ^ a b c d Mitzenmacher, Michael; Vassilvitskii, Sergei (31 December 2020). "Algorithms with Predictions". Beyond the Worst-Case Analysis of Algorithms. Cambridge University Press. pp. 646–662. arXiv:2006.09123. doi:10.1017/9781108637435.037.
  2. ^ Wang, Shufan; Li, Jian; Wang, Shiqiang (2020). "Online Algorithms for Multi-shop Ski Rental with Machine Learned Advice". NIPS'20: Proceedings of the 34th International Conference on Neural Information Processing Systems. arXiv:2002.05808. ISBN 1-71382-954-1. OCLC 1263313383.
  3. ^ Dinitz, Michael; Im, Sungjin; Lavastida, Thomas; Benjamin, Benjamin; Vassilvitskii, Sergei (2021). "Faster Matchings via Learned Duals". Advances in Neural Information Processing Systems (PDF). Curran Associates, Inc.
  4. ^ Bansal, Nikhil; Coester, Christian; Kumar, Ravi; Purohit, Manish; Vee, Erik (January 2022). "Learning-Augmented Weighted Paging". Proceedings of the 2022 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). Society for Industrial and Applied Mathematics. pp. 67–89. doi:10.1137/1.9781611977073.4.

External links edit