Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLavínia Lemos Monsanto Alterado mais de 9 anos atrás
1
Problema da Mochila – sem repetição de objetos
Profa. Sandra de Amo BCC-UFU
2
Ideia Problema a resolver K(10,4) Começa no último item : 4
Seu peso é ≤ 10 ? Se Sim: Tenho duas opções: 1. Coloco o item na mochila : subproblema a resolver K(10-2, 3) 2. Não coloco o item na mochila subproblema a resolver K(10,3) Resultado = max{K(10-2,3) + 9, K(10,3) } Se Não: Resultado = resultado de K(10,3) Mochila: 10 kg Item Peso Valor 1 6 30 2 3 14 4 16 9
3
Algoritmo Complexidade = O(nW) For j = 0,...,n
K(0,j) = 0, L(0,j) = [ ] For w = 0,...,W K(w,0) = 0, L(0,j) = [ ] For j = n For w = 1, ..., W If wj > w: K(w,j) = K(w,j-1) else: K(w,j) = max {K(w-wi,j-1) + vi, K(w,j-1)} x = arg K(w,j) L(w,j) = insert(i, L(x)) Retorna L(W) Complexidade = O(nW) Algoritmo não é polinomial em W ! Algoritmo é EXPONENCIAL em W, pois a complexidade é medida em relação ao tamanho da representação da grandeza !
4
Resultado da execução do algoritmo:
Valores 30 14 16 9 Pesos 6 3 4 2 1 0/[] 9/[4] 14/[2] 16/[3] 5 23/[2,4] 30/[1] 7 8 44/[1,2] 10 46/[1,3] 46/[1.3]
5
EXPLICANDO O VALOR 14/[2] da posição (3,2)
Valores 30 14 16 9 Pesos 6 3 4 2 1 0/[] 9/[4] 14/[2] 16/[3] 5 23/[2,4] 30/[1] 7 8 44/[1,2] 10 46/[1,3] 46/[1.3]
6
Valores 30 14 16 9 Pesos 6 3 4 2 1 0/[] 9/[4] 14/[2] 16/[3] 5 23/[2,4] 30/[1] 7 8 44/[1,2] 10 46/[1,3] 46/[1.3]
7
Valores 30 14 16 9 Pesos 6 3 4 2 1 0/[] 9/[4] 14/[2] 16/[3] 5 23/[2,4] 30/[1] 7 8 44/[1,2] 10 46/[1,3] 46/[1.3]
8
Valores 30 14 16 9 Pesos 6 3 4 2 1 0/[] 9/[4] 14/[2] 16/[3] 5 23/[2,4] 30/[1] 7 8 44/[1,2] 10 46/[1,3] 46/[1.3] Valor =
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.