<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Learning_augmented_algorithm</id>
	<title>Learning augmented algorithm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Learning_augmented_algorithm"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Learning_augmented_algorithm&amp;action=history"/>
	<updated>2026-07-05T10:18:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=Learning_augmented_algorithm&amp;diff=11981221&amp;oldid=prev</id>
		<title>imported&gt;Mountlex: Added more examples of applications with references</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Learning_augmented_algorithm&amp;diff=11981221&amp;oldid=prev"/>
		<updated>2025-12-18T10:01:41Z</updated>

		<summary type="html">&lt;p&gt;Added more examples of applications with references&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A &amp;#039;&amp;#039;&amp;#039;learning augmented algorithm&amp;#039;&amp;#039;&amp;#039; (also called algorithm with predictions) is an [[algorithm]] that can make use of a prediction to improve its performance.&amp;lt;ref name=&amp;quot;MitzenmacherVassilvitskii2020&amp;quot;&amp;gt;{{cite book | title = Beyond the Worst-Case Analysis of Algorithms | last1 = Mitzenmacher | author-link1 = Michael Mitzenmacher | first1 = Michael | last2 = Vassilvitskii | first2 = Sergei | chapter = Algorithms with Predictions | date = 31 December 2020 | pages = 646–662 | publisher = Cambridge University Press | doi = 10.1017/9781108637435.037 | arxiv=2006.09123 | isbn = 978-1-108-63743-5 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
Whereas in regular algorithms just the problem instance is inputted, learning augmented algorithms accept an extra parameter.&lt;br /&gt;
This extra parameter often is a prediction of some property of the solution.&lt;br /&gt;
This prediction is then used by the algorithm to improve its running time or the quality of its output. The most common application are [[online algorithms]], &lt;br /&gt;
where a prediction on the uncertain instance is provided.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
A learning augmented algorithm typically takes an input &amp;lt;math&amp;gt;(\mathcal{I}, \mathcal{A})&amp;lt;/math&amp;gt;. Here &amp;lt;math&amp;gt;\mathcal{I}&amp;lt;/math&amp;gt; is a problem instance and &amp;lt;math&amp;gt;\mathcal{A}&amp;lt;/math&amp;gt; is the prediction.&lt;br /&gt;
A prediction can be any object. Common are the following types:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Prediction of an optimal solution.&amp;#039;&amp;#039;&amp;#039; The prediction gives a solution to the problem or characterizes an optimal solution.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Prediction of the input.&amp;#039;&amp;#039;&amp;#039; This is mainly used for [[online problem]]s.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Prediction of algorithmic actions.&amp;#039;&amp;#039;&amp;#039; A prediction tailored to a specific algorithm that suggests a specific algorithm execution.&lt;br /&gt;
&lt;br /&gt;
Learning augmented algorithms usually satisfy the following three properties:&amp;lt;ref name=&amp;quot;MitzenmacherVassilvitskii2020&amp;quot; /&amp;gt; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Consistency.&amp;#039;&amp;#039;&amp;#039; 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. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Smoothness.&amp;#039;&amp;#039;&amp;#039; A learning augmented algorithm is called smooth if its performance can be bounded by a function of the quality of the prediction. Here, the quality can be measured in a problem specific way. This is also called the prediction error.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Robustness.&amp;#039;&amp;#039;&amp;#039; A learning augmented algorithm is called robust if its worst-case performance can be bounded even if the given prediction is inaccurate.&lt;br /&gt;
&lt;br /&gt;
Learning augmented algorithms generally do not prescribe how the prediction should be done. For this purpose [[machine learning]] can be used.{{fact|date=May 2022}}&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
A few examples of problems where learning augmented algorithms have been applied are the following.&lt;br /&gt;
&lt;br /&gt;
=== Online algorithms ===&lt;br /&gt;
&lt;br /&gt;
* The [[ski rental problem]]&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
 |last1=Purohit&lt;br /&gt;
 |first1=Manish&lt;br /&gt;
 |last2=Svitkina&lt;br /&gt;
 |first2=Zoya&lt;br /&gt;
 |last3=Kumar&lt;br /&gt;
 |first3=Ravi&lt;br /&gt;
 |title=Improving Online Algorithms via ML Predictions&lt;br /&gt;
 |book-title=Advances in Neural Information Processing Systems 31 (NeurIPS 2018)&lt;br /&gt;
 |pages=9684–9693&lt;br /&gt;
 |year=2018&lt;br /&gt;
 |location=Montréal, Canada&lt;br /&gt;
 |url=https://proceedings.neurips.cc/paper/2018/hash/73a427badebe0e32caa2e1fc7530b7f3-Abstract.html&lt;br /&gt;
 |access-date=18 December 2025&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The weighted [[Page replacement algorithm#The (h,k)-paging problem|paging problem]]&amp;lt;ref name=&amp;quot;BansalCoesterKumar2022&amp;quot;&amp;gt;{{cite book | title = Proceedings of the 2022 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA) | last1 = Bansal | first1 = Nikhil | last2 = Coester | first2 = Christian | last3 = Kumar | first3 = Ravi | last4 = Purohit | first4 = Manish | last5 = Vee | first5 = Erik | chapter = Learning-Augmented Weighted Paging | date = January 2022 | pages = 67–89 | publisher = Society for Industrial and Applied Mathematics | doi = 10.1137/1.9781611977073.4 | arxiv = | isbn = 978-1-61197-707-3 | url = https://ora.ox.ac.uk/objects/uuid:f8f430f4-23fd-49b9-9cf4-1c24230151cf }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[set cover problem]]&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
 |last1=Bamas&lt;br /&gt;
 |first1=Étienne&lt;br /&gt;
 |last2=Maggiori&lt;br /&gt;
 |first2=Andreas&lt;br /&gt;
 |last3=Svensson&lt;br /&gt;
 |first3=Ola&lt;br /&gt;
 |title=The Primal-Dual Method for Learning Augmented Algorithms&lt;br /&gt;
 |book-title=Advances in Neural Information Processing Systems 33 (NeurIPS 2020)&lt;br /&gt;
 |year=2020&lt;br /&gt;
 |location=Virtual conference&lt;br /&gt;
 |url=https://proceedings.neurips.cc/paper/2020/hash/e834cb114d33f729dbc9c7fb0c6bb607-Abstract.html&lt;br /&gt;
 |access-date=18 December 2025&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite arXiv&lt;br /&gt;
 |last1=Grigorescu&lt;br /&gt;
 |first1=Elena&lt;br /&gt;
 |last2=Lin&lt;br /&gt;
 |first2=Young-San&lt;br /&gt;
 |last3=Silwal&lt;br /&gt;
 |first3=Sandeep&lt;br /&gt;
 |last4=Song&lt;br /&gt;
 |first4=Maoyuan&lt;br /&gt;
 |last5=Zhou&lt;br /&gt;
 |first5=Samson&lt;br /&gt;
 |title=Learning-Augmented Algorithms for Online Linear and Semidefinite Programming&lt;br /&gt;
 |eprint=2209.10614&lt;br /&gt;
 |class=cs&lt;br /&gt;
 |year=2022&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Nonclairvoyant scheduling&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
 |last1=Im&lt;br /&gt;
 |first1=Sungjin&lt;br /&gt;
 |last2=Kumar&lt;br /&gt;
 |first2=Ravi&lt;br /&gt;
 |last3=Montazer Qaem&lt;br /&gt;
 |first3=Mahshid&lt;br /&gt;
 |last4=Purohit&lt;br /&gt;
 |first4=Manish&lt;br /&gt;
 |title=Non-Clairvoyant Scheduling with Predictions&lt;br /&gt;
 |book-title=Proceedings of the 33rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2021)&lt;br /&gt;
 |pages=285–294&lt;br /&gt;
 |publisher=ACM&lt;br /&gt;
 |year=2021&lt;br /&gt;
 |location=Virtual conference, USA&lt;br /&gt;
 |doi=10.1145/3409964.3461790&lt;br /&gt;
 |url=https://doi.org/10.1145/3409964.3461790&lt;br /&gt;
 |access-date=18 December 2025&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal&lt;br /&gt;
 |last1=Lindermayr&lt;br /&gt;
 |first1=Alexander&lt;br /&gt;
 |last2=Megow&lt;br /&gt;
 |first2=Nicole&lt;br /&gt;
 |title=Permutation Predictions for Non-Clairvoyant Scheduling&lt;br /&gt;
 |journal=ACM Transactions on Parallel Computing&lt;br /&gt;
 |volume=12&lt;br /&gt;
 |issue=2&lt;br /&gt;
 |pages=4:1–4:26&lt;br /&gt;
 |year=2025&lt;br /&gt;
 |publisher=ACM&lt;br /&gt;
 |doi=10.1145/3711872&lt;br /&gt;
 |url=https://doi.org/10.1145/3711872&lt;br /&gt;
 |access-date=18 December 2025&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The online [[matching]] problem&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
 |last1=Jin&lt;br /&gt;
 |first1=Billy&lt;br /&gt;
 |last2=Ma&lt;br /&gt;
 |first2=Will&lt;br /&gt;
 |title=Online Bipartite Matching with Advice: Tight Robustness–Consistency Tradeoffs for the Two-Stage Model&lt;br /&gt;
 |book-title=Advances in Neural Information Processing Systems 35 (NeurIPS 2022)&lt;br /&gt;
 |year=2022&lt;br /&gt;
 |location=New Orleans, Louisiana, United States&lt;br /&gt;
 |url=http://papers.nips.cc/paper_files/paper/2022/hash/5d68a3f05ee2aae6a0fb2d94959082a0-Abstract-Conference.html&lt;br /&gt;
 |access-date=18 December 2025&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Warm starting ===&lt;br /&gt;
&lt;br /&gt;
==== Data structures ====&lt;br /&gt;
The [[binary search algorithm]] is an algorithm for finding elements of a sorted list &amp;lt;math&amp;gt;x_1,\ldots,x_n&amp;lt;/math&amp;gt;. It needs &amp;lt;math&amp;gt;O(\log(n))&amp;lt;/math&amp;gt; steps to find an element with some known value &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; in a list of length &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;.&lt;br /&gt;
With a prediction &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; for the position of &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;, the following learning augmented algorithm can be used.&amp;lt;ref name=&amp;quot;MitzenmacherVassilvitskii2020&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* First, look at position &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; in the list. If &amp;lt;math&amp;gt;x_i=y&amp;lt;/math&amp;gt;, the element has been found.&lt;br /&gt;
* If &amp;lt;math&amp;gt;x_i&amp;lt;y&amp;lt;/math&amp;gt;, look at positions &amp;lt;math&amp;gt;i+1,i+2,i+4,\ldots&amp;lt;/math&amp;gt; until an index &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;x_j\geq y&amp;lt;/math&amp;gt; is found.&lt;br /&gt;
** Now perform a binary search on &amp;lt;math&amp;gt;x_i,\ldots, x_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
* If &amp;lt;math&amp;gt;x_i&amp;gt;y&amp;lt;/math&amp;gt;, do the same as in the previous case, but instead consider &amp;lt;math&amp;gt;i-1,i-2,i-4,\ldots&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The error is defined to be &amp;lt;math&amp;gt;\eta=|i-i^*|&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;i^*&amp;lt;/math&amp;gt; is the real index of &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
In the learning augmented algorithm, probing the positions &amp;lt;math&amp;gt;i+1,i+2,i+4,\ldots&amp;lt;/math&amp;gt; takes &amp;lt;math&amp;gt;\log_2(\eta)&amp;lt;/math&amp;gt; steps.&lt;br /&gt;
Then a binary search is performed on a list of size at most &amp;lt;math&amp;gt;2\eta&amp;lt;/math&amp;gt;, which takes &amp;lt;math&amp;gt;\log_2(\eta)&amp;lt;/math&amp;gt; steps. This makes the total running time of the algorithm &amp;lt;math&amp;gt;2\log_2(\eta)&amp;lt;/math&amp;gt;.&lt;br /&gt;
So, when the error is small, the algorithm is faster than a normal binary search. This shows that the algorithm is consistent.&lt;br /&gt;
Even in the worst case, the error will be at most &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;. Then the algorithm takes at most &amp;lt;math&amp;gt;O(\log(n))&amp;lt;/math&amp;gt; steps, so the algorithm is robust.&lt;br /&gt;
&lt;br /&gt;
==== More examples ====&lt;br /&gt;
&lt;br /&gt;
* The [[maximum weight matching]] problem&amp;lt;ref name=&amp;quot;neurips_5616060fb8ae85d93f334e7267307664&amp;quot;&amp;gt;{{cite book&lt;br /&gt;
| first1 = Michael&lt;br /&gt;
| last1 = Dinitz&lt;br /&gt;
| first2 = Sungjin&lt;br /&gt;
| last2 = Im&lt;br /&gt;
| first3 = Thomas&lt;br /&gt;
| last3 = Lavastida&lt;br /&gt;
| first4 = Benjamin&lt;br /&gt;
| last4 = Benjamin&lt;br /&gt;
| first5 = Sergei&lt;br /&gt;
| last5 = Vassilvitskii&lt;br /&gt;
| title = Advances in Neural Information Processing Systems&lt;br /&gt;
| publisher = Curran Associates, Inc.&lt;br /&gt;
| chapter = Faster Matchings via Learned Duals&lt;br /&gt;
| url = https://proceedings.neurips.cc/paper/2021/file/5616060fb8ae85d93f334e7267307664-Paper.pdf&lt;br /&gt;
| date = 2021&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Approximation algorithms ===&lt;br /&gt;
&lt;br /&gt;
* The [[maximum cut]] problem&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
 |last1=Cohen-Addad&lt;br /&gt;
 |first1=Vincent&lt;br /&gt;
 |last2=d&amp;#039;Orsi&lt;br /&gt;
 |first2=Tommaso&lt;br /&gt;
 |last3=Gupta&lt;br /&gt;
 |first3=Anupam&lt;br /&gt;
 |last4=Lee&lt;br /&gt;
 |first4=Euiwoong&lt;br /&gt;
 |last5=Panigrahi&lt;br /&gt;
 |first5=Debmalya&lt;br /&gt;
 |title=Learning-Augmented Approximation Algorithms for Maximum Cut and Related Problems&lt;br /&gt;
 |book-title=Advances in Neural Information Processing Systems 38 (NeurIPS 2024)&lt;br /&gt;
 |year=2024&lt;br /&gt;
 |location=Vancouver, British Columbia, Canada&lt;br /&gt;
 |url=http://papers.nips.cc/paper_files/paper/2024/hash/2db08b94565c0d582cc53de6cee5fd47-Abstract-Conference.html&lt;br /&gt;
 |access-date=18 December 2025&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[vertex cover]] problem&amp;lt;ref&amp;gt;{{cite conference&lt;br /&gt;
 |last1=Antoniadis&lt;br /&gt;
 |first1=Antonios&lt;br /&gt;
 |last2=Eliás&lt;br /&gt;
 |first2=Marek&lt;br /&gt;
 |last3=Polak&lt;br /&gt;
 |first3=Adam&lt;br /&gt;
 |last4=Venzin&lt;br /&gt;
 |first4=Moritz&lt;br /&gt;
 |title=Approximation Algorithms for Combinatorial Optimization with Predictions&lt;br /&gt;
 |book-title=Proceedings of the Thirteenth International Conference on Learning Representations (ICLR 2025)&lt;br /&gt;
 |publisher=OpenReview&lt;br /&gt;
 |year=2025&lt;br /&gt;
 |location=Singapore&lt;br /&gt;
 |url=https://openreview.net/forum?id=AEFVa6VMu1&lt;br /&gt;
 |access-date=18 December 2025&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mechanism Design ===&lt;br /&gt;
&lt;br /&gt;
* The [[facility location]] problem&amp;lt;ref&amp;gt;{{cite journal&lt;br /&gt;
 |last1=Agrawal&lt;br /&gt;
 |first1=Priyank&lt;br /&gt;
 |last2=Balkanski&lt;br /&gt;
 |first2=Eric&lt;br /&gt;
 |last3=Gkatzelis&lt;br /&gt;
 |first3=Vasilis&lt;br /&gt;
 |last4=Ou&lt;br /&gt;
 |first4=Tingting&lt;br /&gt;
 |last5=Tan&lt;br /&gt;
 |first5=Xizhi&lt;br /&gt;
 |title=Learning-Augmented Mechanism Design: Leveraging Predictions for Facility Location&lt;br /&gt;
 |journal=Mathematics of Operations Research&lt;br /&gt;
 |volume=49&lt;br /&gt;
 |issue=4&lt;br /&gt;
 |pages=2626–2651&lt;br /&gt;
 |year=2024&lt;br /&gt;
 |publisher=INFORMS&lt;br /&gt;
 |doi=10.1287/MOOR.2022.0225&lt;br /&gt;
 |url=https://doi.org/10.1287/moor.2022.0225&lt;br /&gt;
 |access-date=18 December 2025&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Machine learning]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://algorithms-with-predictions.github.io/ An overview of publications about learning augmented algorithms]&lt;br /&gt;
&lt;br /&gt;
[[Category:Algorithms]]&lt;br /&gt;
[[Category:Theoretical computer science]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Mountlex</name></author>
	</entry>
</feed>