<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Programação Dinâmica</title>
	<atom:link href="http://vidageek.net/2008/02/11/programacao-dinamica/feed/" rel="self" type="application/rss+xml" />
	<link>http://vidageek.net/2008/02/11/programacao-dinamica/</link>
	<description>Linux, Open-source, Programação e Produtividade</description>
	<pubDate>Thu, 18 Mar 2010 14:46:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Luiz</title>
		<link>http://vidageek.net/2008/02/11/programacao-dinamica/comment-page-1/#comment-73375</link>
		<dc:creator>Luiz</dc:creator>
		<pubDate>Wed, 04 Feb 2009 11:45:29 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/02/11/programacao-dinamica/#comment-73375</guid>
		<description>Olá, Pedro

Muito bem dito! É isso aí. Não só problemas de otimização combinatória que podem ser resolvidos com Programação Dinâmica, mas todos aqueles que podem ser divididos em subproblemas para serem resolvidos recursivamente. Na verdade, esses subproblemas nem precisam ser sobrepostos, mas aí não há vantagem em usar a memorização.

Muito obrigado pelo comentário! Abraços!</description>
		<content:encoded><![CDATA[<p>Olá, Pedro</p>
<p>Muito bem dito! É isso aí. Não só problemas de otimização combinatória que podem ser resolvidos com Programação Dinâmica, mas todos aqueles que podem ser divididos em subproblemas para serem resolvidos recursivamente. Na verdade, esses subproblemas nem precisam ser sobrepostos, mas aí não há vantagem em usar a memorização.</p>
<p>Muito obrigado pelo comentário! Abraços!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro Nuno</title>
		<link>http://vidageek.net/2008/02/11/programacao-dinamica/comment-page-1/#comment-73280</link>
		<dc:creator>Pedro Nuno</dc:creator>
		<pubDate>Wed, 04 Feb 2009 03:58:21 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/02/11/programacao-dinamica/#comment-73280</guid>
		<description>Olá, Luiz!
Parabéns pelo blog. Não é fácil encontrar blos que falem de tópicos interessantes de análise de algoritmos por aí.

De fato, o que se encontra na literatura são duas definições para Programação Dinâmica: 
(1) Uma caracterização é simplesmente o uso de uma estrutura tabular para memorizar resultados anteriores. Seria o caso da seqüência de fibonacci assim resolvida, armazenando-se o resultado para cada F(n), 1 &lt;= n &lt;= N; e
(2) Para problemas de Otimização Combinatória que possuam duas características: Subestrutura Ótima e Sub-problemas Sobrepostos, conforme definição do livro do Cormen (CLRS).

Bem, o que essas duas definições têm em comum é a característica de Sub-problemas Sobrepostos, já que, certamente, problemas como fatorial e seqüência de fibonacci não são de Otimização Combinatória, não sendo passíveis, portanto, de subestrutura ótima.

Espero ter elucidado.

Abraços!</description>
		<content:encoded><![CDATA[<p>Olá, Luiz!<br />
Parabéns pelo blog. Não é fácil encontrar blos que falem de tópicos interessantes de análise de algoritmos por aí.</p>
<p>De fato, o que se encontra na literatura são duas definições para Programação Dinâmica:<br />
(1) Uma caracterização é simplesmente o uso de uma estrutura tabular para memorizar resultados anteriores. Seria o caso da seqüência de fibonacci assim resolvida, armazenando-se o resultado para cada F(n), 1 &lt;= n &lt;= N; e<br />
(2) Para problemas de Otimização Combinatória que possuam duas características: Subestrutura Ótima e Sub-problemas Sobrepostos, conforme definição do livro do Cormen (CLRS).</p>
<p>Bem, o que essas duas definições têm em comum é a característica de Sub-problemas Sobrepostos, já que, certamente, problemas como fatorial e seqüência de fibonacci não são de Otimização Combinatória, não sendo passíveis, portanto, de subestrutura ótima.</p>
<p>Espero ter elucidado.</p>
<p>Abraços!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luiz</title>
		<link>http://vidageek.net/2008/02/11/programacao-dinamica/comment-page-1/#comment-64198</link>
		<dc:creator>Luiz</dc:creator>
		<pubDate>Mon, 12 Jan 2009 15:20:25 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/02/11/programacao-dinamica/#comment-64198</guid>
		<description>Olá, Rodrigo

Sim, de fato PDs são bottom-up, mas acredito ser mais fácil pensar neles top-down (isso varia de acordo com o gosto do programador ;).

Além disso, nem sempre é fácil determinar a ordem de cálculo para chegar no "top". Fazendo com recursão memorizada, você só calcula o que precisa e não se preocupa com a ordem de preenchimento.

Muito obrigado pela sua visita e seu comentário!</description>
		<content:encoded><![CDATA[<p>Olá, Rodrigo</p>
<p>Sim, de fato PDs são bottom-up, mas acredito ser mais fácil pensar neles top-down (isso varia de acordo com o gosto do programador ;).</p>
<p>Além disso, nem sempre é fácil determinar a ordem de cálculo para chegar no &#8220;top&#8221;. Fazendo com recursão memorizada, você só calcula o que precisa e não se preocupa com a ordem de preenchimento.</p>
<p>Muito obrigado pela sua visita e seu comentário!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo</title>
		<link>http://vidageek.net/2008/02/11/programacao-dinamica/comment-page-1/#comment-62227</link>
		<dc:creator>Rodrigo</dc:creator>
		<pubDate>Wed, 07 Jan 2009 02:18:35 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/02/11/programacao-dinamica/#comment-62227</guid>
		<description>Só dou meu pitaco sobre este post. PDs de verdade são bottom-up, não top down. Ou seja, apesar do início da solução de um problema com PD é com uma fórmula de recorrência, não é usual calcula-la no programa, ou seja, de forma top-down (mesmo memoizando). O que se sugere é definir a base e ir no sentido bottom-up. Certamente o Cormen deve falar disto.

Excelente temáticas abordadas em seu blog. Gostei muito!
ROdrigo</description>
		<content:encoded><![CDATA[<p>Só dou meu pitaco sobre este post. PDs de verdade são bottom-up, não top down. Ou seja, apesar do início da solução de um problema com PD é com uma fórmula de recorrência, não é usual calcula-la no programa, ou seja, de forma top-down (mesmo memoizando). O que se sugere é definir a base e ir no sentido bottom-up. Certamente o Cormen deve falar disto.</p>
<p>Excelente temáticas abordadas em seu blog. Gostei muito!<br />
ROdrigo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luiz</title>
		<link>http://vidageek.net/2008/02/11/programacao-dinamica/comment-page-1/#comment-15246</link>
		<dc:creator>Luiz</dc:creator>
		<pubDate>Wed, 20 Feb 2008 14:56:30 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/02/11/programacao-dinamica/#comment-15246</guid>
		<description>Tem razão! Deveria ter falado da subestrutura ótima. Afinal, apenas os problemas recursivos com a subestrutura ótima podem ser transformados em programação dinâmica (me corrijam se eu estiver errado!).

Obrigado pela visita e pelo ótimo comentário!</description>
		<content:encoded><![CDATA[<p>Tem razão! Deveria ter falado da subestrutura ótima. Afinal, apenas os problemas recursivos com a subestrutura ótima podem ser transformados em programação dinâmica (me corrijam se eu estiver errado!).</p>
<p>Obrigado pela visita e pelo ótimo comentário!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Felipe Ribeiro</title>
		<link>http://vidageek.net/2008/02/11/programacao-dinamica/comment-page-1/#comment-15193</link>
		<dc:creator>Felipe Ribeiro</dc:creator>
		<pubDate>Wed, 20 Feb 2008 03:43:41 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/02/11/programacao-dinamica/#comment-15193</guid>
		<description>Quando se fala de PD não pode deixar de falar também do conceito de subestrutura ótima, que garante que chegado num ponto X da sua execução você garante que tem em mãos a melhor solução possível do subproblema que envolve todos os casos antes desse caso X. (Não sei se fui claro :P)

Outros exemplos bons são os que estão no livro do Cormen, como o menor caminho de edição de uma string para se transformar em outra, ou a multiplicação de matrizes, além do problema da mochila binária que pode determinar solução para problemas como: Dado um valor X a ser pago, qual a combinação de cédulas/moedas que eu devo adotar para usar o menor número de cedulas/moedas possiveis. (Mas no modelo que se adota na produção de moedas, tudo é feito para que isso também se resolva com uma estratégia gulosa de sempre pegar a maior moeda que é menor ou igual ao valor total)</description>
		<content:encoded><![CDATA[<p>Quando se fala de PD não pode deixar de falar também do conceito de subestrutura ótima, que garante que chegado num ponto X da sua execução você garante que tem em mãos a melhor solução possível do subproblema que envolve todos os casos antes desse caso X. (Não sei se fui claro :P)</p>
<p>Outros exemplos bons são os que estão no livro do Cormen, como o menor caminho de edição de uma string para se transformar em outra, ou a multiplicação de matrizes, além do problema da mochila binária que pode determinar solução para problemas como: Dado um valor X a ser pago, qual a combinação de cédulas/moedas que eu devo adotar para usar o menor número de cedulas/moedas possiveis. (Mas no modelo que se adota na produção de moedas, tudo é feito para que isso também se resolva com uma estratégia gulosa de sempre pegar a maior moeda que é menor ou igual ao valor total)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luiz</title>
		<link>http://vidageek.net/2008/02/11/programacao-dinamica/comment-page-1/#comment-14449</link>
		<dc:creator>Luiz</dc:creator>
		<pubDate>Wed, 13 Feb 2008 22:32:56 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/02/11/programacao-dinamica/#comment-14449</guid>
		<description>Muito legal sua colaboração! Fatorial é um exemplo clássico de programação dinâmica, assim como a seqüência de Fibonacci.

Obrigado pela visita!</description>
		<content:encoded><![CDATA[<p>Muito legal sua colaboração! Fatorial é um exemplo clássico de programação dinâmica, assim como a seqüência de Fibonacci.</p>
<p>Obrigado pela visita!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Menezes</title>
		<link>http://vidageek.net/2008/02/11/programacao-dinamica/comment-page-1/#comment-14395</link>
		<dc:creator>Rodrigo Menezes</dc:creator>
		<pubDate>Wed, 13 Feb 2008 13:06:40 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/02/11/programacao-dinamica/#comment-14395</guid>
		<description>Muito interessante o tema, fiz um teste em java e coloquei no meu &lt;a href="http://beernotfoundexception.blogspot.com/2008/02/exemplo-de-programao-dinmica.html" rel="nofollow"&gt;blog&lt;/a&gt;


[]'s</description>
		<content:encoded><![CDATA[<p>Muito interessante o tema, fiz um teste em java e coloquei no meu <a href="http://beernotfoundexception.blogspot.com/2008/02/exemplo-de-programao-dinmica.html" rel="nofollow">blog</a></p>
<p>[]&#8217;s</p>
]]></content:encoded>
	</item>
</channel>
</rss>
