<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://bloomwiki.org/index.php?action=history&amp;feed=atom&amp;title=Approximation_Algorithms</id>
	<title>Approximation Algorithms - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://bloomwiki.org/index.php?action=history&amp;feed=atom&amp;title=Approximation_Algorithms"/>
	<link rel="alternate" type="text/html" href="http://bloomwiki.org/index.php?title=Approximation_Algorithms&amp;action=history"/>
	<updated>2026-05-06T15:03:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://bloomwiki.org/index.php?title=Approximation_Algorithms&amp;diff=3770&amp;oldid=prev</id>
		<title>Wordpad: BloomWiki: Approximation Algorithms</title>
		<link rel="alternate" type="text/html" href="http://bloomwiki.org/index.php?title=Approximation_Algorithms&amp;diff=3770&amp;oldid=prev"/>
		<updated>2026-04-25T01:47:34Z</updated>

		<summary type="html">&lt;p&gt;BloomWiki: Approximation Algorithms&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:47, 25 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style=&quot;background-color: #4B0082; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{BloomIntro}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{BloomIntro}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Approximation Algorithms are the &amp;quot;Pragmatists of Computing&amp;quot;—the study of how to find &amp;quot;Good Enough&amp;quot; solutions for problems that are &amp;quot;Mathematically Impossible&amp;quot; to solve perfectly (NP-Hard problems). While a &amp;quot;Standard&amp;quot; algorithm might take &amp;quot;A Billion Years&amp;quot; to find the &amp;quot;Exact Shortest Path&amp;quot; for a delivery truck, an &amp;quot;Approximation Algorithm&amp;quot; can find a path that is &amp;quot;Guaranteed to be within 2% of the best&amp;quot; in &amp;quot;One Second.&amp;quot; From &amp;quot;Amazon&amp;#039;s Delivery Routes&amp;quot; to &amp;quot;Airline Scheduling&amp;quot; and &amp;quot;AI chip design,&amp;quot; this field proves that &amp;quot;Perfection is the enemy of Progress.&amp;quot; It is the science of &amp;quot;Near-Optimality,&amp;quot; providing the &amp;quot;Real-World&amp;quot; tools that keep our complex civilization running.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Approximation Algorithms are the &amp;quot;Pragmatists of Computing&amp;quot;—the study of how to find &amp;quot;Good Enough&amp;quot; solutions for problems that are &amp;quot;Mathematically Impossible&amp;quot; to solve perfectly (NP-Hard problems). While a &amp;quot;Standard&amp;quot; algorithm might take &amp;quot;A Billion Years&amp;quot; to find the &amp;quot;Exact Shortest Path&amp;quot; for a delivery truck, an &amp;quot;Approximation Algorithm&amp;quot; can find a path that is &amp;quot;Guaranteed to be within 2% of the best&amp;quot; in &amp;quot;One Second.&amp;quot; From &amp;quot;Amazon&amp;#039;s Delivery Routes&amp;quot; to &amp;quot;Airline Scheduling&amp;quot; and &amp;quot;AI chip design,&amp;quot; this field proves that &amp;quot;Perfection is the enemy of Progress.&amp;quot; It is the science of &amp;quot;Near-Optimality,&amp;quot; providing the &amp;quot;Real-World&amp;quot; tools that keep our complex civilization running.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Remembering ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;__TOC__&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #000080; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Remembering&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Approximation Algorithm&amp;#039;&amp;#039;&amp;#039; — An algorithm used to find &amp;quot;Near-Optimal&amp;quot; solutions to &amp;quot;Optimization Problems&amp;quot; (usually NP-Hard ones) in &amp;quot;Polynomial Time.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Approximation Algorithm&amp;#039;&amp;#039;&amp;#039; — An algorithm used to find &amp;quot;Near-Optimal&amp;quot; solutions to &amp;quot;Optimization Problems&amp;quot; (usually NP-Hard ones) in &amp;quot;Polynomial Time.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Optimization Problem&amp;#039;&amp;#039;&amp;#039; — A problem where you want to &amp;quot;Minimize&amp;quot; a cost (e.g., fuel) or &amp;quot;Maximize&amp;quot; a gain (e.g., profit).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Optimization Problem&amp;#039;&amp;#039;&amp;#039; — A problem where you want to &amp;quot;Minimize&amp;quot; a cost (e.g., fuel) or &amp;quot;Maximize&amp;quot; a gain (e.g., profit).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Traveling Salesman Problem (TSP)&amp;#039;&amp;#039;&amp;#039; — The most famous challenge: finding the shortest route to visit many cities.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Traveling Salesman Problem (TSP)&amp;#039;&amp;#039;&amp;#039; — The most famous challenge: finding the shortest route to visit many cities.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Local Search&amp;#039;&amp;#039;&amp;#039; — Starting with a &amp;quot;Random&amp;quot; solution and &amp;quot;Tweaking&amp;quot; it (moving a city in the route) to see if it &amp;quot;Gets better.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Local Search&amp;#039;&amp;#039;&amp;#039; — Starting with a &amp;quot;Random&amp;quot; solution and &amp;quot;Tweaking&amp;quot; it (moving a city in the route) to see if it &amp;quot;Gets better.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Understanding ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #006400; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Understanding&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Approximation algorithms are understood through &amp;#039;&amp;#039;&amp;#039;Guarantees&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Trade-offs&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Approximation algorithms are understood through &amp;#039;&amp;#039;&amp;#039;Guarantees&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Trade-offs&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot;&gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 45:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;The &amp;#039;Christofides&amp;#039; Algorithm&amp;#039;&amp;#039;&amp;#039;&amp;#039;: The most famous approximation for the Traveling Salesman Problem. It is guaranteed to find a route that is **within 50% (1.5 ratio)** of the shortest possible path. For 40 years, it was the &amp;quot;Gold Standard&amp;quot; of how to solve the &amp;quot;Unsolvable.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;The &amp;#039;Christofides&amp;#039; Algorithm&amp;#039;&amp;#039;&amp;#039;&amp;#039;: The most famous approximation for the Traveling Salesman Problem. It is guaranteed to find a route that is **within 50% (1.5 ratio)** of the shortest possible path. For 40 years, it was the &amp;quot;Gold Standard&amp;quot; of how to solve the &amp;quot;Unsolvable.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Applying ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #8B0000; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Applying&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Modeling &amp;#039;The Greedy Knapsack&amp;#039; (Approximating the best way to pack a bag):&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Modeling &amp;#039;The Greedy Knapsack&amp;#039; (Approximating the best way to pack a bag):&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l72&quot;&gt;Line 72:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 81:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: &amp;#039;&amp;#039;&amp;#039;Deep Learning (SGD)&amp;#039;&amp;#039;&amp;#039; → The way &amp;quot;AIs&amp;quot; learn (Stochastic Gradient Descent) is an &amp;quot;Approximation.&amp;quot; We don&amp;#039;t find the &amp;quot;Perfect Brain,&amp;quot; we &amp;quot;Approximate&amp;quot; one that &amp;quot;Works well enough&amp;quot; through billions of tiny tweaks.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: &amp;#039;&amp;#039;&amp;#039;Deep Learning (SGD)&amp;#039;&amp;#039;&amp;#039; → The way &amp;quot;AIs&amp;quot; learn (Stochastic Gradient Descent) is an &amp;quot;Approximation.&amp;quot; We don&amp;#039;t find the &amp;quot;Perfect Brain,&amp;quot; we &amp;quot;Approximate&amp;quot; one that &amp;quot;Works well enough&amp;quot; through billions of tiny tweaks.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: &amp;#039;&amp;#039;&amp;#039;Scheduling&amp;#039;&amp;#039;&amp;#039; → How &amp;quot;Airlines&amp;quot; manage thousands of flights and crews. Since the &amp;quot;Perfect Schedule&amp;quot; is impossible to calculate, they use &amp;quot;Local Search&amp;quot; to &amp;quot;Refine&amp;quot; a good schedule until it is &amp;quot;Almost Perfect.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: &amp;#039;&amp;#039;&amp;#039;Scheduling&amp;#039;&amp;#039;&amp;#039; → How &amp;quot;Airlines&amp;quot; manage thousands of flights and crews. Since the &amp;quot;Perfect Schedule&amp;quot; is impossible to calculate, they use &amp;quot;Local Search&amp;quot; to &amp;quot;Refine&amp;quot; a good schedule until it is &amp;quot;Almost Perfect.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Analyzing ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #8B4500; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Analyzing&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|+ Exact vs. Approximation vs. Heuristic&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|+ Exact vs. Approximation vs. Heuristic&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l90&quot;&gt;Line 90:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 101:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;The Concept of &amp;quot;Hardness of Approximation&amp;quot;&amp;#039;&amp;#039;&amp;#039;: Analyzing &amp;quot;The Wall.&amp;quot; Mathematicians proved that for some problems, even &amp;quot;Approximating&amp;quot; them is &amp;quot;NP-Hard.&amp;quot; If you could &amp;quot;Approximate the color of a map&amp;quot; within a certain error, you would automatically &amp;quot;Solve P vs NP.&amp;quot; This tells us which problems are &amp;quot;Truly Impossible&amp;quot; and which ones we can &amp;quot;Chew on.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;The Concept of &amp;quot;Hardness of Approximation&amp;quot;&amp;#039;&amp;#039;&amp;#039;: Analyzing &amp;quot;The Wall.&amp;quot; Mathematicians proved that for some problems, even &amp;quot;Approximating&amp;quot; them is &amp;quot;NP-Hard.&amp;quot; If you could &amp;quot;Approximate the color of a map&amp;quot; within a certain error, you would automatically &amp;quot;Solve P vs NP.&amp;quot; This tells us which problems are &amp;quot;Truly Impossible&amp;quot; and which ones we can &amp;quot;Chew on.&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Evaluating ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #483D8B; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Evaluating&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Evaluating approximation algorithms:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Evaluating approximation algorithms:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;The &amp;quot;Waste&amp;quot; Problem&amp;#039;&amp;#039;&amp;#039;: If an algorithm &amp;quot;Wastes 5% of energy&amp;quot; in a &amp;quot;Global Power Grid&amp;quot; to save &amp;quot;Time,&amp;quot; is that 5% &amp;quot;Ethical&amp;quot;?&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;The &amp;quot;Waste&amp;quot; Problem&amp;#039;&amp;#039;&amp;#039;: If an algorithm &amp;quot;Wastes 5% of energy&amp;quot; in a &amp;quot;Global Power Grid&amp;quot; to save &amp;quot;Time,&amp;quot; is that 5% &amp;quot;Ethical&amp;quot;?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l97&quot;&gt;Line 97:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 110:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;Economics&amp;#039;&amp;#039;&amp;#039;: Are &amp;quot;Markets&amp;quot; just giant &amp;quot;Approximation Algorithms&amp;quot; for finding the &amp;quot;Right Price&amp;quot;?&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;Economics&amp;#039;&amp;#039;&amp;#039;: Are &amp;quot;Markets&amp;quot; just giant &amp;quot;Approximation Algorithms&amp;quot; for finding the &amp;quot;Right Price&amp;quot;?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;AI&amp;#039;&amp;#039;&amp;#039;: If &amp;quot;Intelligence&amp;quot; is just &amp;quot;A series of good-enough approximations,&amp;quot; do we need &amp;quot;Logic&amp;quot; at all?&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;AI&amp;#039;&amp;#039;&amp;#039;: If &amp;quot;Intelligence&amp;quot; is just &amp;quot;A series of good-enough approximations,&amp;quot; do we need &amp;quot;Logic&amp;quot; at all?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Creating ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #2F4F4F; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Creating&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Future Frontiers:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Future Frontiers:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;The &amp;#039;Perfect&amp;#039; Approximate Solver&amp;#039;&amp;#039;&amp;#039;: An AI that can find a &amp;quot;1.0001 ratio&amp;quot; (almost perfect) for **any** NP-Hard problem in under a second.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;The &amp;#039;Perfect&amp;#039; Approximate Solver&amp;#039;&amp;#039;&amp;#039;: An AI that can find a &amp;quot;1.0001 ratio&amp;quot; (almost perfect) for **any** NP-Hard problem in under a second.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l109&quot;&gt;Line 109:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 124:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Engineering]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Engineering]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Computer Science]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Computer Science]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wordpad</name></author>
	</entry>
	<entry>
		<id>http://bloomwiki.org/index.php?title=Approximation_Algorithms&amp;diff=1849&amp;oldid=prev</id>
		<title>Wordpad: BloomWiki: Approximation Algorithms</title>
		<link rel="alternate" type="text/html" href="http://bloomwiki.org/index.php?title=Approximation_Algorithms&amp;diff=1849&amp;oldid=prev"/>
		<updated>2026-04-23T15:43:17Z</updated>

		<summary type="html">&lt;p&gt;BloomWiki: Approximation Algorithms&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{BloomIntro}}&lt;br /&gt;
Approximation Algorithms are the &amp;quot;Pragmatists of Computing&amp;quot;—the study of how to find &amp;quot;Good Enough&amp;quot; solutions for problems that are &amp;quot;Mathematically Impossible&amp;quot; to solve perfectly (NP-Hard problems). While a &amp;quot;Standard&amp;quot; algorithm might take &amp;quot;A Billion Years&amp;quot; to find the &amp;quot;Exact Shortest Path&amp;quot; for a delivery truck, an &amp;quot;Approximation Algorithm&amp;quot; can find a path that is &amp;quot;Guaranteed to be within 2% of the best&amp;quot; in &amp;quot;One Second.&amp;quot; From &amp;quot;Amazon&amp;#039;s Delivery Routes&amp;quot; to &amp;quot;Airline Scheduling&amp;quot; and &amp;quot;AI chip design,&amp;quot; this field proves that &amp;quot;Perfection is the enemy of Progress.&amp;quot; It is the science of &amp;quot;Near-Optimality,&amp;quot; providing the &amp;quot;Real-World&amp;quot; tools that keep our complex civilization running.&lt;br /&gt;
&lt;br /&gt;
== Remembering ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Approximation Algorithm&amp;#039;&amp;#039;&amp;#039; — An algorithm used to find &amp;quot;Near-Optimal&amp;quot; solutions to &amp;quot;Optimization Problems&amp;quot; (usually NP-Hard ones) in &amp;quot;Polynomial Time.&amp;quot;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Optimization Problem&amp;#039;&amp;#039;&amp;#039; — A problem where you want to &amp;quot;Minimize&amp;quot; a cost (e.g., fuel) or &amp;quot;Maximize&amp;quot; a gain (e.g., profit).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NP-Hard&amp;#039;&amp;#039;&amp;#039; — A class of problems (like &amp;#039;The Traveling Salesman&amp;#039;) for which &amp;quot;No fast, perfect algorithm&amp;quot; is known to exist.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Approximation Ratio (Alpha)&amp;#039;&amp;#039;&amp;#039; — The &amp;quot;Guarantee&amp;quot; of quality: e.g., a &amp;quot;2-approximation&amp;quot; algorithm is guaranteed to be &amp;quot;No more than 2x as bad&amp;quot; as the perfect answer.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Greedy Algorithm&amp;#039;&amp;#039;&amp;#039; — A simple type of approximation that &amp;quot;Makes the best choice right now&amp;quot; and &amp;quot;Never looks back&amp;quot; (e.g., &amp;#039;Take the biggest coin first&amp;#039;).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Heuristic&amp;#039;&amp;#039;&amp;#039; — A &amp;quot;Rule of Thumb&amp;quot; or &amp;quot;Guess&amp;quot; that works well in practice but has &amp;quot;No Mathematical Guarantee&amp;quot; of success.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PTAS (Polynomial-Time Approximation Scheme)&amp;#039;&amp;#039;&amp;#039; — A &amp;quot;Golden Algorithm&amp;quot; that lets you &amp;quot;Choose your accuracy&amp;quot;: you can get a &amp;quot;1% error&amp;quot; if you are willing to &amp;quot;Wait longer.&amp;quot;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Knapsack Problem&amp;#039;&amp;#039;&amp;#039; — A classic problem: &amp;quot;Given items with different &amp;#039;Weights&amp;#039; and &amp;#039;Values,&amp;#039; which ones fit in your bag to get the &amp;#039;Most Value&amp;#039;?&amp;quot;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Traveling Salesman Problem (TSP)&amp;#039;&amp;#039;&amp;#039; — The most famous challenge: finding the shortest route to visit many cities.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Local Search&amp;#039;&amp;#039;&amp;#039; — Starting with a &amp;quot;Random&amp;quot; solution and &amp;quot;Tweaking&amp;quot; it (moving a city in the route) to see if it &amp;quot;Gets better.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Understanding ==&lt;br /&gt;
Approximation algorithms are understood through &amp;#039;&amp;#039;&amp;#039;Guarantees&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Trade-offs&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. The &amp;quot;Good Enough&amp;quot; Guarantee (Ratio)&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Why is &amp;quot;Approximation&amp;quot; better than a &amp;quot;Heuristic&amp;quot;?&lt;br /&gt;
* A **Heuristic** is a &amp;quot;Guess.&amp;quot; It might be 99% right today, but 10% right tomorrow. You can&amp;#039;t &amp;quot;Trust&amp;quot; it for a &amp;quot;Nuclear Reactor.&amp;quot;&lt;br /&gt;
* An **Approximation Algorithm** has a &amp;quot;Math Proof&amp;quot; behind it. It says: &amp;quot;This answer might be wrong, but it will **Never** be more than 1.5x away from the truth.&amp;quot;&lt;br /&gt;
* This &amp;quot;Safety Net&amp;quot; allows engineers to &amp;quot;Build bridges and schedules&amp;quot; with confidence.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. The &amp;quot;Greedy&amp;quot; Choice&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
The simplest way to approximate.&lt;br /&gt;
* Imagine you are &amp;quot;Packing a Bag.&amp;quot;&lt;br /&gt;
* **Optimal Strategy**: Check every combination of items (billions of choices).&lt;br /&gt;
* **Greedy Strategy**: &amp;quot;Pick the item with the Highest Value-per-Pound&amp;quot; and put it in. Repeat.&lt;br /&gt;
* This &amp;quot;Greedy&amp;quot; choice is &amp;quot;Fast&amp;quot; and often gets you to **80-90%** of the perfect value in milliseconds.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. The &amp;quot;Cost of Perfection&amp;quot;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
In Computer Science, the &amp;quot;Last 1%&amp;quot; of accuracy costs &amp;quot;1,000x&amp;quot; more time.&lt;br /&gt;
* If you want to &amp;quot;Organize 100 delivery trucks&amp;quot;:&lt;br /&gt;
* To get **95%** efficiency takes **0.1 seconds**.&lt;br /&gt;
* To get **100%** efficiency takes **500 years**.&lt;br /&gt;
* Approximation is the realization that &amp;quot;95% today&amp;quot; is &amp;quot;Infinitely more valuable&amp;quot; than &amp;quot;100% in 500 years.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The &amp;#039;Christofides&amp;#039; Algorithm&amp;#039;&amp;#039;&amp;#039;&amp;#039;: The most famous approximation for the Traveling Salesman Problem. It is guaranteed to find a route that is **within 50% (1.5 ratio)** of the shortest possible path. For 40 years, it was the &amp;quot;Gold Standard&amp;quot; of how to solve the &amp;quot;Unsolvable.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Applying ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Modeling &amp;#039;The Greedy Knapsack&amp;#039; (Approximating the best way to pack a bag):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def greedy_knapsack(items, capacity):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Items = [(value, weight), ...]&lt;br /&gt;
    Picks the &amp;#039;Best Ratio&amp;#039; first.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # Sort by &amp;#039;Value per Weight&amp;#039; (The Greedy Choice)&lt;br /&gt;
    sorted_items = sorted(items, key=lambda x: x[0]/x[1], reverse=True)&lt;br /&gt;
    &lt;br /&gt;
    bag = []&lt;br /&gt;
    current_weight = 0&lt;br /&gt;
    total_value = 0&lt;br /&gt;
    &lt;br /&gt;
    for val, wt in sorted_items:&lt;br /&gt;
        if current_weight + wt &amp;lt;= capacity:&lt;br /&gt;
            bag.append((val, wt))&lt;br /&gt;
            current_weight += wt&lt;br /&gt;
            total_value += val&lt;br /&gt;
            &lt;br /&gt;
    return f&amp;quot;Bag Value: {total_value} | Weight: {current_weight}/{capacity}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Case: Value/Weight items&lt;br /&gt;
my_items = [(100, 10), (60, 20), (120, 30)] # (Val, Wt)&lt;br /&gt;
print(greedy_knapsack(my_items, 50))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Approximation Landmarks&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;The &amp;#039;Bin Packing&amp;#039; Problem&amp;#039;&amp;#039;&amp;#039; → How to fit &amp;quot;Boxes into a Truck&amp;quot; or &amp;quot;Ads onto a Webpage.&amp;quot; Approximation algorithms ensure that &amp;quot;Minimum Space is Wasted.&amp;quot;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Network Design&amp;#039;&amp;#039;&amp;#039; → How &amp;quot;Internet Providers&amp;quot; lay fiber-optic cables. They use &amp;quot;Steiner Tree&amp;quot; approximations to connect &amp;quot;Every City&amp;quot; with the &amp;quot;Minimum amount of cable.&amp;quot;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Deep Learning (SGD)&amp;#039;&amp;#039;&amp;#039; → The way &amp;quot;AIs&amp;quot; learn (Stochastic Gradient Descent) is an &amp;quot;Approximation.&amp;quot; We don&amp;#039;t find the &amp;quot;Perfect Brain,&amp;quot; we &amp;quot;Approximate&amp;quot; one that &amp;quot;Works well enough&amp;quot; through billions of tiny tweaks.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Scheduling&amp;#039;&amp;#039;&amp;#039; → How &amp;quot;Airlines&amp;quot; manage thousands of flights and crews. Since the &amp;quot;Perfect Schedule&amp;quot; is impossible to calculate, they use &amp;quot;Local Search&amp;quot; to &amp;quot;Refine&amp;quot; a good schedule until it is &amp;quot;Almost Perfect.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Analyzing ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Exact vs. Approximation vs. Heuristic&lt;br /&gt;
! Feature !! Exact Algorithm !! Approximation Algorithm !! Heuristic (Rule of Thumb)&lt;br /&gt;
|-&lt;br /&gt;
| Speed || Slow (Exponential) || Fast (Polynomial) || Very Fast&lt;br /&gt;
|-&lt;br /&gt;
| Accuracy || 100% Correct || &amp;quot;Guaranteed&amp;quot; Close (e.g. 95%) || &amp;quot;Unknown&amp;quot; (Usually good)&lt;br /&gt;
|-&lt;br /&gt;
| Proof || Provably Perfect || Provably Bound || None (Just Works)&lt;br /&gt;
|-&lt;br /&gt;
| Use Case || Tiny Data / High Risk || Big Data / Professional Engineering || Games / Simple Logic&lt;br /&gt;
|-&lt;br /&gt;
| Analogy || A &amp;#039;High-Precision Scale&amp;#039; || A &amp;#039;Measuring Tape&amp;#039; || A &amp;#039;Guess&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The Concept of &amp;quot;Hardness of Approximation&amp;quot;&amp;#039;&amp;#039;&amp;#039;: Analyzing &amp;quot;The Wall.&amp;quot; Mathematicians proved that for some problems, even &amp;quot;Approximating&amp;quot; them is &amp;quot;NP-Hard.&amp;quot; If you could &amp;quot;Approximate the color of a map&amp;quot; within a certain error, you would automatically &amp;quot;Solve P vs NP.&amp;quot; This tells us which problems are &amp;quot;Truly Impossible&amp;quot; and which ones we can &amp;quot;Chew on.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Evaluating ==&lt;br /&gt;
Evaluating approximation algorithms:&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;The &amp;quot;Waste&amp;quot; Problem&amp;#039;&amp;#039;&amp;#039;: If an algorithm &amp;quot;Wastes 5% of energy&amp;quot; in a &amp;quot;Global Power Grid&amp;quot; to save &amp;quot;Time,&amp;quot; is that 5% &amp;quot;Ethical&amp;quot;?&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Trust&amp;#039;&amp;#039;&amp;#039;: Should &amp;quot;Self-Driving Cars&amp;quot; use &amp;quot;Approximations&amp;quot; for &amp;quot;Safety,&amp;quot; or do they need &amp;quot;Exact Math&amp;quot;?&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Economics&amp;#039;&amp;#039;&amp;#039;: Are &amp;quot;Markets&amp;quot; just giant &amp;quot;Approximation Algorithms&amp;quot; for finding the &amp;quot;Right Price&amp;quot;?&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;AI&amp;#039;&amp;#039;&amp;#039;: If &amp;quot;Intelligence&amp;quot; is just &amp;quot;A series of good-enough approximations,&amp;quot; do we need &amp;quot;Logic&amp;quot; at all?&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
Future Frontiers:&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;The &amp;#039;Perfect&amp;#039; Approximate Solver&amp;#039;&amp;#039;&amp;#039;: An AI that can find a &amp;quot;1.0001 ratio&amp;quot; (almost perfect) for **any** NP-Hard problem in under a second.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Quantum Approximation (QAOA)&amp;#039;&amp;#039;&amp;#039;: Using &amp;quot;Quantum Computers&amp;quot; to &amp;quot;Nudge&amp;quot; the approximation ratio closer to 1.0, making &amp;quot;Global Supply Chains&amp;quot; 20% more efficient.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Dynamic &amp;#039;Live&amp;#039; Optimization&amp;#039;&amp;#039;&amp;#039;: A city that &amp;quot;Re-approximates its traffic lights&amp;quot; every **10 milliseconds**, ending &amp;quot;Traffic Jams&amp;quot; forever through &amp;quot;Near-Instant adjustment.&amp;quot;&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Bio-Approximators&amp;#039;&amp;#039;&amp;#039;: Using &amp;quot;Bacteria&amp;quot; or &amp;quot;Chemical Reactions&amp;quot; to solve &amp;quot;Optimization Problems&amp;quot; (like the &amp;#039;Shortest Path&amp;#039; to food), which are &amp;quot;Naturally&amp;quot; efficient.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Science]]&lt;br /&gt;
[[Category:Engineering]]&lt;br /&gt;
[[Category:Computer Science]]&lt;/div&gt;</summary>
		<author><name>Wordpad</name></author>
	</entry>
</feed>