Использование цепочки матриц с жадным методом

Я читаю CLRS самостоятельно, и мне трудно понять несколько концепций.

По сравнению с Greedy, в динамическом программировании мы делаем выбор глобально и в итоге получаем оптимальное решение. Я хорошо понял эти концепции на примерах кратчайшего пути в Multi Graph, а также на примере задачи о рюкзаке.

  1. Я не могу понять, как мы динамически делаем выбор в Matrix Chain. Я понял рекуррентное отношение, но не могу стандартизировать динамические решения. (Я понял, что он имеет свойство оптимальной подструктуры)

  2. Как будет работать алгоритм цепочки матриц, если он решается жадным методом?

Благодарю вас !


person avi    schedule 04.11.2012    source источник
comment
Я не могу правильно добавить тег, было бы здорово, если бы кто-нибудь изменил их на: Dynamic, Greedy Method и Matrix Chain.   -  person avi    schedule 04.11.2012


Ответы (1)


Эту задачу нельзя решить жадным методом.

например, цепочка матриц [3x2]•[2x3]•[3x4].

Результат будет (([3x2]•[2x3]) •[3x4]) при использовании жадного метода, но оптимальный ответ будет ([3x2]•([2x3] •[3x4])).

Подробнее:https://www.cs.washington.edu/education/courses/421/04su/slides/matrixchain.pdf

person yxc    schedule 17.07.2013