- 113
- 0
- 约2.63千字
- 约 3页
- 2018-05-25 发布于河南
- 举报
动态规划课程设计(矩阵链乘问题)
动态规划程序设计
实验目的:掌握并实现动态规划算法。
实验内容:对维数为序列(5,10,3,12,5,50,6)的各矩阵。找出其矩阵链乘的一个最优加全括号。
实验要求:利用动态规划思想写出算法的伪代码和C程序代码
(一)算法思想
穷举所有的计算次序,且对每一计算次序确定其乘法次数。由此可找出n个矩阵进行连乘积A1A2…An的最小乘法次数。
将矩阵链乘积简记为A[i:j] ,这里i≤j
考察计算A[i:j]的最优计算次序。设这个计算次序在矩阵Ak和Ak+1之间将矩阵链断开,i≤kj,则其相应完全加括号方式为
计算量:A[i:k]的计算量加上A[k+1:j]的计算量,再加上A[i:k]和A[k+1:j]相乘的计算量
设计算A[i:j],1≤i≤j≤n,所需要的最少数乘次数m[i,j],则原问题的最优值为m[1,n]
当i=j时,A[i:j]=Ai,因此,m[i,i]=0,i=1,2,…,n
当ij时,
可以递归地定义m[i,j]为:
k位置只有j-i种可能
(二)程序代码
//动态规划
import java.io.*;
public class Testsuanfa {
public final int len = this.GetN()+1;
public int[] A = new int[len];
public double[][] M = new double[len][len];
public double[][] S = new double[len][len];
//取得用户需要规划的矩阵连乘的个数。
public int GetN(){
int dvalue = 0;
String value;
System.out.println(请输入连乘矩阵个数: );
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try {
value = bfr.readLine();
dvalue =Integer.parseInt(value);
//捕捉输入异常
} catch (IOException e) {
System.out.println(输入出错了,请重新输入:);
System.exit(0);
}catch (NumberFormatException e2) {
System.out.println(请输入正确的数字!!);
System.exit(0);
}
return dvalue;
}
//输入矩阵的序列
public int GetA(){
int dvalue = 0;
String value;
System.out.println(请输入分别矩阵维数序列: );
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try {
value = bfr.readLine();
dvalue =Integer.parseInt(value);
//捕捉输入异常
} catch (IOException e) {
System.out.println(输入出错了,请重新输入:);
System.exit(0);
}catch (NumberFormatException e2) {
System.out.println(请输入正确的数字!!);
System.exit(0);
}
return dvalue;
}
public void f(){
//调用GetA方法,拿到每个序列值
for(int i=0;ilen;i++){
A[i] = this.GetA();
}
for(int i=0;ilen;i++){
M[i][i] = 0;
}
//依次从长度为2到len,求解每一个长度的最有加全括号。
for(int l=2;llen;l++){
for(int i=1;ilen-l+1;i++){
int j = i+l-1;
M[i][j] = Double.MAX_VALUE;
for(int m=i;mj;m++){
double temp = M[i][m]+M[m+1][j]+A[i-1]*A[m]*A[j];
if(tempM[i][j]){
M[i][j] = temp;
您可能关注的文档
最近下载
- 维克多新高中英语词汇中文翻译.xlsx VIP
- 专题15 二次函数的图像与性质【十大题型】(举一反三)(原卷版).docx VIP
- 新天地超市基本知识培训课件.pptx VIP
- 中考数学一轮复习 题型举一反三 专题15 二次函数的图像与性质【十大题型】(举一反三)(原卷版).doc VIP
- 2025至2030中国油浸式变压器和干式变压器行业市场占有率及有效策略与实施路径评估报告.docx VIP
- 2025至2030中国油浸式变压器和干式变压器行业调研及市场前景预测评估报告.docx VIP
- Midea美的L1PB28-C19说明书用户手册.pdf
- 亮化电气工程施工方案(3篇).docx VIP
- 2025版高考物理二轮复习备考专题:配速法在复合场中的应用(word讲义).docx VIP
- 高考数学一轮复习 第九章 数列 第60课 数列的概念及简单表示课件.pptx VIP
原创力文档

文档评论(0)