considere uma instância definida pelos primeiros i itens, 1 ≤ i ≤ n, com pesos w1, ..., wi, valores v1, ..., vi e capacidade da mochila j, 1 ≤ j ≤ W. Seja F (i , j) ser o valor de uma solução ótima para essa instância, ou seja, o valor do subconjunto mais valioso dos primeiros i itens que cabem na mochila de capacidade j. Podemos dividir todos os subconjuntos dos primeiros i itens que cabem na mochila de capacidade j em duas categorias: aqueles que não incluem o i-ésimo item e aqueles que incluem.
Entre os subconjuntos que não incluem o i-ésimo item, o valor de um subconjunto ótimo é, por definição, F (i - 1, j).
Assim, o valor de uma solução ótima entre todos os subconjuntos viáveis dos primeiros i itens é o máximo desses dois valores. Obviamente, se o iº item não couber na mochila, o valor de um subconjunto ótimo selecionado dos primeiros i itens é o mesmo que o valor de um subconjunto ótimo selecionado dos primeiros i - 1 itens.
Entre os subconjuntos que incluem o i-ésimo item (portanto, j - wi ≥ 0), um subconjunto ótimo é composto deste item e um subconjunto ótimo dos primeiros i - 1 itens que se encaixa na mochila de capacidade j - wi. O valor de tal subconjunto ótimo é vi + F (i - 1, j - wi).
-