计算机算法函数,计算机函数算法7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

7. t:=φ(fk+1(xk+1),vk(xk,uk)); {基本方程(9)式}

if t比fk(xk)更优 then fk(xk):=t; {计算fk(xk)的最优值}

end;

9. t:=一个极值; {∞或-∞}

for 每一个x1∈X1 do

11. if f1(x1)比t更优 then t:=f1(x1); {按照10式求出最优指标}

12. 输出t;

但是,实际应用当中经常不显式地按照上面步骤设计动态规划,而是按以下几个步骤进行:

(1)分析最优解的性质,并刻划其结构特征。

(2)递归地定义最优值。

(3)以自底向上的方式或自顶向下的记忆化方法(备忘录法)计算出最优值。

(4)根据计算最优值时得到的信息,构造一个最优解。

步骤(1)~(3)是动态规划算法的基本步骤。在只需要求出最优值的情形,步骤(4)可以省略,若需要求出问题的一个最优解,则必须执行步骤(4)。此时,在步骤(3)中计算最优值时,通常需记录更多的信息,以便在步骤(4)中,根据所记录的信息,快速地构造出一个最优解。【问题】 凸多边形的最优三角剖分问题

问题描述:多边形是平面上一条分段线性的闭曲线。也就是说,多边形是由一系列首尾相接的直线段组成的。组成多边形的各直线段称为该多边形的边。多边形相接两条边的连接点称为多边形的顶点。若多边形的边之间除了连接顶点外没有别的公共点,则称该多边形为简单多边形。一个简单多边形将平面分为3个部分:被包围在多边形内的所有点构成了多边形的内部;多边形本身构成多边形的边界;而平面上其余的点构成了多边形的外部。当一个简单多边形及其内部构成一个闭凸集时,称该简单多边形为凸多边形。也就是说凸多边形边界上或内部的任意两点所连成的直线段上所有的点均在该凸多边形的内部或边界上。

通常,用多边形顶点的逆时针序列来表示一个凸多边形,即P=表示具有n条边v0v1,v1v2,…,vn-1vn的一个凸多边形,其中,约定v0=vn 。

若vi与vj是多边形上不相邻的两个顶点,则线段vivj称为多边形的一条弦。弦将多边形分割成凸的两个子多边形和。多边形的三角剖分是一个将多边形分割成互不重迭的三角形的弦的**T。图1是一个凸多边形的两个不同的三角剖分。

(a) (b)

图1 一个凸多边形的2个不同的三角剖分

在凸多边形P的一个三角剖分T中,各弦互不相交且弦数已达到最大,即P的任一不在T中的弦必与T中某一弦相交。在一个有n个顶点的凸多边形的三角刮分中,恰好有n-3条弦和n-2个三角形。

凸多边形最优三角剖分的问题是:给定一个凸多边形P=以及定义在由多边形的边和弦组成的三角形上的权函数ω。要求确定该凸多边形的一个三角剖分,使得该三角剖分对应的权即剖分中诸三角形上的权之和为最小。

可以定义三角形上各种各样的权函数ω。例如:定义ω(△vivjvk)=| vivj |+| vivk |+| vkvj |,其中,| vivj |是点vi到vj的欧氏距离。相应于此权函数的最优三角剖分即为最小弦长三角剖分。

(1)最优子结构性质

凸多边形的最优三角剖分问题有最优子结构性质。事实上,若凸(n+1)边形P=的一个最优三角剖分T包含三角形v0vkvn,1≤k≤n-1,则T的权为3个部分权的和,即三角形v0vkvn的权,子多边形的权和的权之和。可以断言由T所确定的这两个子多边形的三角剖分也是最优的,因为若有或的更小权的三角剖分,将会导致T不是最优三角剖分的矛盾。

(2)最优三角剖分对应的权的递归结构

首先,定义t[i,j](1≤i的最优三角剖分所对应的权值,即最优值。为方便起见,设退化的多边形具有权值0。据此定义,要计算的凸(n+1)边多边形P对应的权的最优值为t[1,n]。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值