博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第4-6课:矩阵链乘问题
阅读量:3572 次
发布时间:2019-05-20

本文共 703 字,大约阅读时间需要 2 分钟。

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

问题介绍

《算法导论》一书在介绍动态规划问题时,举了一个矩阵链乘(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$ 次标量乘法计算和若干次加法,其计算量的主要代价就是这 $p\times q\times r$ 次乘法计算。

对于一组满足相容性条件(顺序)排列的矩阵做链乘,无论选择中间哪两个矩阵先计算,其结果都能与剩下的矩阵继续保持相容性条件,这是一个很重要的前提,因为调整矩阵的位置会破坏相容性。但是,在矩阵

转载地址:http://xdcgj.baihongyu.com/

你可能感兴趣的文章
分布式文件系统FastDfs的搭建
查看>>
Springboot项目利用Java客户端调用FastDFS
查看>>
全文检索工具elasticsearch的安装和简单介绍
查看>>
利用Kibana学习全文检索工具elasticsearch
查看>>
SpringBoot在Test测试类或自定义类中通过@Autowired注入为null
查看>>
使用docker搭建YAPI服务
查看>>
西南科技大学OJ题 邻接表到邻接矩阵1056
查看>>
西南科技大学OJ题 有向图的出度计算1057
查看>>
西南科技大学OJ题 有向图的最大出度计算1059
查看>>
西南科技大学OJ题 带权有向图计算1063
查看>>
oracle主键自增触发器编写
查看>>
String与StringBuilder与StringBuffer三者的差别
查看>>
各种IO流之间的关系和区别
查看>>
SSM如何实现上传单图片
查看>>
SSM环境下java如何实现语音识别(百度语音识别版)
查看>>
ajax方法参数的用法和他的含义
查看>>
数据库基础技巧及用法
查看>>
实用方法:无request参数时获得当前的request的方法
查看>>
JS操作数组常用实用方法
查看>>
springboot实现CAS的server服务器端的搭建,并实现链接mysql数据库,自定义加密算法
查看>>