Você está na página 1de 6

Questão 1

Quais são as Fases da Programação Dinâmica ?

Resposta :

Resolver os subproblemas triviais, e armazenar seus resultados.

Combinar os resultados de subproblemas para a solução de subproblemas


maiores, cujos resultados também serão armazenados.

Passo a passo, resolver problemas cada vez maiores, a partir de soluções prévias
de seus subproblemas, até que o problema original seja resolvido

Questão 2

A Programação Dinâmica gera sempre Algoritmos Eficientes?Justifique a sua resposta com


um exemplo

Reposta: Nem sempre gera Algoritmos Eficientes. Como exemplo temos os dois
Algoritmos para o Problema de Encontrar um termo da Sequência de Fibonacci
que utilizam Programação Dinâmica

Algoritmo 1 :

F[0] = 0

F[1] = 1

Para i de 2 até n faça

F[i] = F[i-1] + F[i-2] 5

Retorne F[n]

Este Algoritmo é Eficiente pois a função de Complexidade pegando o número de


iterações do Para é n-1 que é O(n)

Algoritmo 2 :

Função FIB(n)

Se n = 0 ou n = 1 então        

Retorne n 3

Retorne FIB(n-1) + FIB(n-2)

Este Algoritmo é O(1,6n) Logo é de ordem exponencial.Assim NÃO É EFICIENTE

1
Questão 3

Qual o custo em número de Operações para Calcular a matriz C tal que

A7x8 B 8x4 =C 7x4

Resposta : 7x8x4 = 224

Questão 5

Qual a ordem de menor custo de operações da multiplicação

A10 x 2  x B2 x 1000 x C1000 x 3

Resposta :

2
Logo a ordem de menor custo é A x (B x C)

Questão 6

Qual é ordem de menor custo da multiplicação

A1 10 x 20 x A2 20 x 50 x A3 50 x 1 x A4 1 x 100

Resposta :

Opção 1: A1 x ( A2 x ( A3 x A4 ) )

Custo A3 x A4 = 50 x 1 x100=5000

Custo A2 x(A3 x A4) = 20 x 50 x 100 =100000

Custo A1 x ( A2 x ( A3 x A4 ) ) =10 x 20 x 100=20000

Custo total : 5000 + 100000 + 20000=125.000

Opção 2: ( A1 x ( A2 x A3 ) ) x A4

Custo A2 x A3 = 20 x 50 x 1=1000

Custo A1 x(A2 x A3) = 10 x 20 x 1 =200

Custo A1 x ( A2 x A3 ) ) x A4 =10 x 1 x 100=1000

Custo total : 1000+200+1000=2200

Opção 3: (A1 x A2) x ( A3 x A4 )

Custo A1 x A2 = 10 x 20 x 50=10000

Custo A3 x A4 = 50 x1 x 100=5000

Custo (A1 x A2) x ( A3 x A4 ) =10 x 50 x 100=50000

3
Custo total : 10000+5000+50000=65000

Opção 4: A1 x ((A2 x A3) x A4 )

Custo A2 x A3 = 20 x 50 x 1 =1000

Custo ((A2 x A3) x A4 ) =20x1x100=2000

A1 x((A2 x A3) x A4) = 10x20x1000=20000

Custo total : 1000+2000+20000=23000

Opção 5: ((A1 x A2) x A3) x A4

Custo A1 x A2 = 10 x 20 x 50=10000

Custo ((A1 x A2) x A3) = 10 x 50 x 1 =500

Custo ((A1 x A2) x A3) x A4 =10 x 1 x 100=1000

Custo total : 10000+500+1000=11500

Menor custo de operações será em ( A1 x ( A2 x A3 ) ) x A4 (Opção 2)

Questão 7

Para o exemplo abaixo

Calcule m[1,1] ,m[1,2],m[2,3],m[3,3] e m[1,3] e a partir de m[1,3] dê a ordem de


multiplicação de menor quantidade de operações das matrizes A1 A2 e A3

Resposta : m[1,1] = m[3,3]= 0

m[1,2] é o custo de A1 x A2 = 30 x 35 x 15 = 15750

m[2,3] é o custo de A2 x A3 = 35 x 15 x 5 = 2625

m[1,3] = min (m[1,k] + m[k+1,3] + r0 x rk x r3 com k=1,2)

para k =1

m[1,1] + m[2,3]+ r0 x r1 x r3 = 0 + 2625 + 30 x 35 x 5 = 7875

para k =2

m[1,2] + m[3,3]+ r0 x r2 x r3 = 15750 + 0 + 30 x 15 x 5 = 18000

4
Logo m[1,3]=7875 . Logo a Ordem de Multiplicação de A1 x A2 e A3 com menor
custo é a ligada a m[1,1] + m[2,3]+ r0 x r1 x r3 , ou seja

A1 x (A2 x A3)

5
6

Você também pode gostar