第4-6课:矩阵链乘问题

本文详细介绍了矩阵链乘问题,属于区间动态规划的典型例子。讲解了矩阵相容性、动态规划状态定义、无后向性分析、状态转移方程以及算法实现,包括计算$cost(k)$、数据模型和代码实现。最后,通过与石子合并问题对比,展示了这类问题的通用性。
摘要由CSDN通过智能技术生成

这一课介绍的矩阵链乘问题,是区间类型动态规划的典型例子,区间类型的动态规划是在线性动态规划基础上的扩展。我的理解是,这个扩展就是将固定的线性问题变成一个变长的线性问题,也就是说,所谓的区间动态规划,就是在一个可选择的线性区间中寻找某种最优的结果,而线性区间长度本身也是可变化的,最优结果的组合也是可变化的,需要在两重变化中寻找最优解。除了矩阵链乘问题,此类问题的典型例子还有石子合并问题、能量项链问题、最优排序二叉树问题等。除此之外,前几年非常火的多边形三角剖分问题,也被归纳为区间动态规划类型的题目。

问题介绍

《算法导论》一书在介绍动态规划问题时,举了一个矩阵链乘(Matrix-chain Multiplication)的例子。我知道很多读者害怕公式,看见《矩阵论》就头疼,但是不要怕,这个题目只涉及了一个简单的概念,就是矩阵的相容性(Compatible)。矩阵 A 和 B 能够相乘,前提是矩阵 A 和矩阵 B 必须相容,所谓的相容,就是矩阵 A 的列数等于矩阵 B 的行数。假设矩阵 A 是 $p\times q$ 的矩阵,矩阵 B 是 $q\times r$ 的矩阵,则矩阵 A 和矩阵 B 的乘积是一个 $p \times r$ 的矩阵。计算这个乘积需要 $p\times q\times r$ 次标量乘法计算和若干次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吹泡泡的小猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值