<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knapsack on Aayush Bajaj's Augmenting Infrastructure</title><link>https://abaj.ai/tags/knapsack/</link><description>Recent content in Knapsack on Aayush Bajaj's Augmenting Infrastructure</description><generator>Hugo</generator><language>en</language><copyright>© 2026 Aayush Bajaj</copyright><lastBuildDate>Fri, 10 Jul 2026 13:02:29 +1000</lastBuildDate><atom:link href="https://abaj.ai/tags/knapsack/index.xml" rel="self" type="application/rss+xml"/><item><title>Dynamic Programming</title><link>https://abaj.ai/wiki/ccs/programming/paradigms/dynamic/</link><pubDate>Fri, 10 Jul 2026 13:02:51 +1000</pubDate><guid>https://abaj.ai/wiki/ccs/programming/paradigms/dynamic/</guid><description>&lt;p>dynamic programming is two things wearing one name. to bellman it was a mathematical theory of &lt;em>multistage decision processes&lt;/em> — sibling to &lt;a
 href="https://abaj.ai/wiki/ccs/programming/paradigms/linear/"
 
 
>linear programming&lt;/a> in the &amp;ldquo;programming means planning&amp;rdquo; sense.&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;span class="margin-note" data-note="bellman chose the name partly to hide the mathematics from a defence secretary who hated the word research; the story is in the footnote">
 &lt;span class="margin-note-indicator">𐃏&lt;/span>
&lt;/span>

to a computer scientist it is a technique: solve a problem by combining solutions to subproblems, and never solve the same subproblem twice (Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford, 2009). the two are the same idea at different altitudes, and this page covers both. worked implementations also live in this &lt;a
 href="https://github.com/abaj8494/dynamic-programming"
 
 
 class="link--external" target="_blank" rel="noreferrer"
 
>github repo&lt;/a>.&lt;/p></description></item></channel></rss>