Изменения

Перейти к: навигация, поиск

Задача о порядке перемножения матриц

72 байта убрано, 22:27, 29 февраля 2012
Оптимизации динамическим программированием
=== Оптимизации динамическим программированием ===
Одно из простых решений — это ''мемоизация''. Мемоизация — это (или линивые вычисления). Каждый раз, когда считаем минимальную стоимость перемножения определенной подпоследовательности, давайте будем запоминать ответ. Если мы когда либо захотим посчитать это ещё раз, то уже будет иметь ответ и не будем пересчитывать. Поскольку существует всего <tex>O(n^2)</tex> подотрезков, где <tex>n</tex> — это количество матриц, то память занимаемая программой будет не так велика. Можно сказать, что с С помощью этого простого трюка запоминания ответа мы уменьшили асимптотику алгоритма (перебор) с <tex>O(n \cdot C_n)</tex> до <tex>O(n^3)</tex>, что является достаточно эффективным для реальных приложений.
=== Восстановление ответа ===
Анонимный участник

Навигация