Изменения

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

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

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

Навигация