.
. . .
应用一 图论算法
图论在计算机处理问题中占有重要地位,现实中的很多问题最终都可以转化成图论问题,或者要借助图结构来存储和处理。但是怎么把一张图存入计算机就要涉及到数学建模的知识。
比如下面一张图:
如果要求出从节点v1到节点v5的所有路径,就可以借助计算机来很轻松的解决。但前提条件是,必须要把图以一种计算机可以理解的形式存进去,即要把它抽象为数学问题。
在此,我们需要定义一些关于图的概念,以便更好的描述问题。
边与顶点的关系有如下几种典型情况:
简单图:无自回环,无重边的图。
无向图:边没有指向, 此时称边 与顶点关联,称顶点与顶点邻接。
有向图:边有指向,
下面是具体涉及到图如何存储的问题:
图G(V,E)的关联矩阵 ,若G(V,E)为无向图,
若G(V,E)为有向图,
因此该图可以用关联矩阵表示出来,如下所示
这样,我们就可以以矩阵的形式将图存入计算机
邻接矩阵
图G(V,E)的邻接矩阵 ,若G(V,E)为无向图,=从
到的边数,若不邻接,取0;若G(V,E)为有向图,=从
到的有向边数,若无,取0.
应用二 动态规划问题
动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。也是信息学竞赛中选手必须熟练掌握的一种算法。多阶段决策过程的最优化问题。含有递推的思想以及各种数学原理(加法原理,乘法原理等等)。
动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。
举例
线性动规:拦截导弹,合唱队形,挖地雷,建学校,剑客决斗等;
区域动规:石子合并, 加分二叉树,统计单词个数,炮兵布阵等;
树形动规:贪吃的九头龙,二分查找树,聚会的欢乐,数字三角形等;
背包问题:01背包问题,完全背包问题,分组背包问题,二维背包,装箱问题,挤牛奶。
多阶段决策的实际问题很多,下面通过具体例子,说明什么是动态规划模型中数学建模知识的运用。
最短路线问题:
某工厂需要把一批货物从城市A运到城市E,中间可经过B1 、B2、B3、C1、C2、C3、D1、D2等城市,各城市之间的交通线和距离如下图所示,问应该选择一条什么路线,使得从A到E的距离最短?
C1B1
C1
B1
3
D1 8 4
D1
AB2 5 6 4
A
B2
EC2 9 8
E
C2
7 2
D3 6
D3
6 7 1
C3B3 8
C3
B3
7
下面引进几个动态规划的基本概念和相关符号。
(1)阶段(Stage)
把所给问题的过程,按时间和空间特征划分成若干个相互联系的阶段,以便按次序去求每个阶段的解,阶段总数一般用字母n表示,用字母k表示阶段变量。
如例中 (最短路线问题)可看作是n=4阶段的动态规划问题,k=2表示处于第二阶段。
(2)状态(State)
状态表示每个阶段开始时系统所处的自然状况或客观条件,它描述了研究问题过程状况。描述各阶段状态的变量称为状态变量,常用字母sk表示第k阶段的状态变量,状态变量的取值范围称为状态集,用Sk表示。
如例l中,第一阶段的状态为A(即出发位置)。第二阶段有三个状态:B1 、B2、B3,状态变量s2=B2表示第2阶段系统所处的位置是B2。第2阶段的状态集S2={ B1 、B2、B3}。
动态规划中