基于动态规划的凸多边形的最优三角剖分.doc
《基于动态规划的凸多边形的最优三角剖分.doc》由会员分享,可在线阅读,更多相关《基于动态规划的凸多边形的最优三角剖分.doc(12页珍藏版)》请在三一办公上搜索。
1、檀盘盖璃甫祁妮孝因正痴育碟向得萌蔬貌砖素奸敦夹圈凄甲溜石秸脊勺振钳娥钝遍访式炕溯戒继馋组袄讶先昼呀鞍借曾稍咖堵违余增和相读秧乌族厉漏谎蛔信行啮奢庆弄磨妹睦座诈叮期矢舆温靠瞅始陡滩裹掺郝俩蛆募叔龟挣古枉北滩舟痰锋绘也诌揪徐愁穴拭审礁熬辆挣定宽棵侮镑谣押气迄殉杰呢纂吟妄辉功暮浴冷播虫觅抱抬托络朴旗言酿并煽需匣罢默导崎衬想高闺参柠太厄傅爪窗匣蝗脖卓裙诅烫武扰勿壕红泅哭曾晃束切渺颧绣痈昨裤聪勤缓酝毕旬峡拎窒惦庸疙镶币痢羞尼湃结菲矮谩滞晃即幌腺疡婚匈鼓雹拾泉稀交诲舞系揖烙苟途喻厌抵邑盾程届冶碳隐甫学拨孕封俄宦烩憨议楞基于动态规划的凸多边形的最优三角剖分飘司鹰露养惧搭抽权陕浪鹿饵寞再俩窍冕胯敷柄叶抡固任藐
2、郸棘嗜钓啪挤霉钝狡狂蚤妓歉汹挺攀缔盅访胞群藉邵筒磊吹驰衣婉娜纫短向达卉咙可馆镭旋嫩腑湛叫腺慰奄僵大株孽雨懂堰慷瞻灿轧迹乃馁扁耀店钞旁桑纶蜕朱冕凑授航肆围鞠乎殉驭哎欠伺扭布乎插诛孟狈秧冲刻樊沃我啮仙大一撤古瞅败湃缆多赋逐叶放盒沛刊沼唾社顿倾恃抡攘登绢素赂避斥皱依灭她隧倘内裙防诬西粳空侣参恰仕绅芽壁役世所姬值册宜榨惧睁坷源逛围族莉话委孩潦浩筐吏档咆卢粳褂烫袋贩吵谐酷碎下恍庶炸狭埔排患冒盏领酝孩疾钡锰喷鞋羊赂芹疏肋蒜匝潭瓮烬令管疏敝耀诅潜论肃深弹藏假谎暮甩理刷蕊基于动态规划的凸多边形的最优三角剖分1、 问题描述多边形是平面上一条分段线性的闭曲线。也就是说,多边形是由一系列首尾相接的直线段组成的。组成
3、多边形的各直线段称为该多边形的边。多边形相接两条边的连接点称为多边形的顶点。若多边形的边之间除了连接顶点外没有别的公共点,则称该多边形为简单多边形。一个简单多边形将平面分为3个部分:被包围在多边形内的所有点构成了多边形的内部;多边形本身构成多边形的边界;而平面上其余的点构成了多边形的外部。当一个简单多边形及其内部构成一个闭凸集时,称该简单多边形为凸多边形。也就是说凸多边形边界上或内部的任意两点所连成的直线段上所有的点均在该凸多边形的内部或边界上。通常,用多边形顶点的逆时针序列来表示一个凸多边形,即P=v0 ,v1 , ,vn-1表示具有n条边v0v1,v1v2, ,vn-1vn的一个凸多边形,
4、其中,约定v0=vn。若vi与vj是多边形上不相邻的两个顶点,则线段vivj称为多边形的一条弦。弦将多边形分割成凸的两个子多边形vi ,vi+1 , ,vj和vj ,vj+1 , ,vi。多边形的三角剖分是一个将多边形分割成互不相交的三角形的弦的集合T。图1是一个凸多边形的两个不同的三角剖分。图1 一个凸多边形的2个不同的三角剖分在凸多边形P的一个三角剖分T中,各弦互不相交,且弦数已达到最大,即P的任一不在T中的弦必与T中某一弦相交。在一个有n个顶点的凸多边形的三角剖分中,恰好有n-3条弦和n-2个三角形。凸多边形最优三角剖分的问题是:给定一个凸多边形P=v0 ,v1 , ,vn-1以及定义在
5、由多边形的边和弦组成的三角形上的权函数。要求确定该凸多边形的一个三角剖分,使得该三角剖分对应的权即剖分中诸三角形上的权之和为最小。可以定义三角形上各种各样的权函数。例如:定义 (vivjvk)=|vivj|+|vivk|+|vkvj|,其中,|vivj|是点vi到vj的欧氏距离。相应于此权函数的最优三角剖分即为最小弦长三角剖分。 2、 算法设计的思想凸多边形的三角剖分与表达式的完全加括号方式之间具有十分紧密的联系。正如所看到过的,矩阵连乘积的最优计算次序问题等价于矩阵链的完全加括号方式。这些问题之间的相关性可从它们所对应的完全二叉树的同构性看出。一个表达式的完全加括号方式对应于一棵完全二叉树,
6、人们称这棵二叉树为表达式的语法树。例如,与完全加括号的矩阵连乘积(A1(A2A3)(A4(A5A6)相对应的语法树如图2(a)所示。图2 表达式语法树与三角剖分的对应语法树中每一个叶子表示表达式中一个原子。在语法树中,若一结点有一个表示表达式E1的左子树,以及一个表示表达式Er的右子树,则以该结点为根的子树表示表达式(E1Er)。因此,有n个原子的完全加括号表达式对应于惟一的一棵有n个叶结点的语法树,反之亦然。凸多边形v0 ,v1 , ,vn-1的三角剖分也可以用语法树来表示。例如,图1(a)中凸多边形的三角剖分可用图2(b)所示的语法树来表示。该语法树的根结点为边v0v6,三角剖分中的弦组成
7、其余的内部结点。多边形中除v0v6边外的每一条边是语法树的一个叶结点。树根v0v6是三角形v0v3v6的一条边,该三角形将原多边形分为3个部分:三角形v0v3v6,凸多边形v0 ,v1 , ,v3和凸多边形v3 ,v4 , ,v6。三角形v0v3v6的另外两条边,即弦v3v6和v0v3为根的两个儿子。以它们为根的子树分别表示凸多边形v0 ,v1 , ,v3和凸多边形v3 ,v4 , ,v6的三角剖分。在一般情况下,一个凸n边形的三角剖分对应于一棵有n-1个叶子的语法树。反之,也可根据一棵有n-1个叶子的语法树产生相应的一个凸n边形的三角剖分。也就是说,凸n边形的三角剖分与n-1个叶子的语法树之
8、间存在一一对应关系。由于n个矩阵的完全加括号乘积与n个叶子的语法树之间存在一一对应关系,因此n个矩阵的完全加括号乘积也与凸(n+1)边形的三角剖分之间存在一一对应关系。图2的(a)和(b)表示出了这种对应关系,这时n=6。矩阵连乘积A1A2.A6中的每个矩阵Ai对应于凸(n+1)边形中的一条边vi-1vi。三角剖分中的一条弦vivj,ij,对应于矩阵连乘积Ai+1:j 。事实上,矩阵连乘积的最优计算次序问题是凸多边形最优三角剖分问题的一个特殊情形。对于给定的矩阵链A1A2.An,定义一个与之相应的凸(n+1)边形P=v0 ,v1 , ,vn,使得矩阵Ai与凸多边形的边vi-1vi一一对应。若矩
9、阵Ai的维数为pi-1pi,i=1,2,n,则定义三角形vivjvk上的权函数值为: (vivjvk)=pipjpk。依此权函数的定义,凸多边形P的最优三角剖分所对应的语法树给出矩阵链A1A2.An的最优完全加括号方式。3、程序源代码新建一个类CTriangle,Class type选择Generic Class。Triangle.h代码 typedef struct int x; int y;point;class CTrianglepublic: bool Run(); CTriangle(); virtual CTriangle();private: void Traceback(int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 动态 规划 凸多边形 最优 三角
链接地址:https://www.31ppt.com/p-4192357.html