一、个人信息
条目 | 内容 |
---|---|
学号 | xxxxxx |
姓名 | Thyrsael |
学院 | 计算机学院 |
JobID | 7991086 |
二、实验过程
对于模式串的生成,调用 gen_ped
程序,生成长度为 3,周期长度为 2,随机种子为 1。调用命令如下
回答 4.1.5 疑问中的疑问,
问题 1 —— 第二个矩阵计算为何出错,
问题 2 —— MAC.v 是否有修改的必要
第一个矩阵出错的原因是在第二个矩阵计算中,在第一个矩阵中涉及到了负数
[[ 111, 25, 32, 66, -12, -99, -28, 16, -95],
[ 63, -90, -102, 40, 73, 16, -53, -33, -27],
[ -39, -79, -12, -83, -112, 59, 34, -49, -57],
[ -18, 103, -86, -51, -104, 36, -105, 112, 58],
[ 52, -12, -52, 1, -95, -123, 34, -89, 11],
[ 50, 123, 90, -74, 99, 100, 95, -12, -97],
[ 12, -94, 55, -14, 115, 84, -110, 64, 18],
[ 74, -105, -111, -43, 63, 107, 111, 56, -15]]
动态规划具有以下三个明显特性:
虽然这三个特性都被称为“动态规划”的特性,但是“无后效性”和“最优子结构”并非是动态规划的专利。对于“无后效性”,应该是所有的分治算法都具有这个特性,如果我们必须掌握子问题的求解过程,那么显然我们就没必要将大问题分治为小问题。对于“最优子结构”,虽然“最优”二字将问题划定成了“最优化算法”的范畴,但是如果扩充最优化的定义,会发现依然几乎所有分治算法都满足具有最优子结构的定义。
这篇文章写得实在是太好了图解链接 。
这两种东西是不一样的,np.array
也可以有多维,但是它的 *
就是点对点乘法,而 @
是点乘。但是对于 np.matrix
来说,无论是 *
还是 @
都是点乘,sp.Matrix
同理。有如下演示