算法合集之《图论的基本思想及方法》.ppt
《算法合集之《图论的基本思想及方法》.ppt》由会员分享,可在线阅读,更多相关《算法合集之《图论的基本思想及方法》.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图论的基本思想及方法湖南省长郡中学湖南省长郡中学 任恺任恺由一道题目浅谈概述概述信息学中的图论问题层出不穷,信息学中的图论问题层出不穷,变化多端,惟有掌握其变化多端,惟有掌握其基本思想基本思想和方法和方法,才能以不变应万变!,才能以不变应万变!下面通过实例主要从两方面论述下面通过实例主要从两方面论述图论的基本思想:图论的基本思想:一、合理选择图论模型一、合理选择图论模型二、充分挖掘和利用图的性质二、充分挖掘和利用图的性质雪山上有一个滑雪场。滑雪雪山上有一个滑雪场。滑雪场由平台和滑道组成。每个平场由平台和滑道组成。每个平台有不同的高度,有一个最高台有不同的高度,有一个最高点和一个最低点。滑道连接
2、着点和一个最低点。滑道连接着两个不同的平台,方向是从较两个不同的平台,方向是从较高点到较低点。高点到较低点。一些工人要检查滑道。每个工一些工人要检查滑道。每个工人从最高点滑到最低点,滑行人从最高点滑到最低点,滑行路径上的滑道便都被检查了。路径上的滑道便都被检查了。每个工人只能滑行一次。不同每个工人只能滑行一次。不同工人的滑行路径可以有相同的工人的滑行路径可以有相同的滑道。滑道。例题:滑雪者例题:滑雪者(POI 2002)问题:最少要多少个工人问题:最少要多少个工人才能检查完所有的滑道呢?才能检查完所有的滑道呢?Nar.in6 2 2 32 3 42 4 51 62 4 6Nar.out4顶点个
3、数顶点个数n(1n5000)从左到右从左到右描述第描述第i个顶点发出个顶点发出边的另一个端点边的另一个端点例题:滑雪者例题:滑雪者(POI 2002)123456选择模型选择模型(1)网络流模型网络流模型最高点最高点最低点最低点每条滑道可以多次通过每条滑道可以多次通过每条滑道必须被检查每条滑道必须被检查有向无环图有向无环图网络的源点网络的源点 s网络的汇点网络的汇点 t边下界边下界 l 为为1边上界边上界 u 为为分析样例,发现问题中有如下关键点:分析样例,发现问题中有如下关键点:很容易想到建立一个很容易想到建立一个网络流模型网络流模型:最高点最低点st1,1,1,1,1,1,1,1,1,确定
4、所求目标确定所求目标建立模型后,可以确定要求的建立模型后,可以确定要求的目标目标:求图求图G中一个最小可行流,满足:中一个最小可行流,满足:st213122111a)每条边的流量大于等于下界每条边的流量大于等于下界b)从源点流出的总流量最小从源点流出的总流量最小求最小流的方法求最小流的方法如何求图如何求图G的最小流呢的最小流呢求最小流可以分成两步:求最小流可以分成两步:1)求出图)求出图G上的可行流上的可行流 f2)将可行流)将可行流 f 转化成最小流转化成最小流对于有上下界的网络,通常用构造附对于有上下界的网络,通常用构造附加网络的方法求可行流。加网络的方法求可行流。但是观察图但是观察图G可
5、以发现,边的上界都是可以发现,边的上界都是无穷大,也就是说没有流量上限。无穷大,也就是说没有流量上限。jistui,j=因此可以利用这个性质构造可行流因此可以利用这个性质构造可行流求可行流的方法求可行流的方法jist求可行流的方法求可行流的方法枚举每条流量为枚举每条流量为0的边,设为的边,设为(i,j)任意找到一条从任意找到一条从 s 到到 i 的路径的路径和一条从和一条从 j 到到 t 的路径的路径那么那么s i j t 便是一条可行的流,便是一条可行的流,将这条路径上的边流量加将这条路径上的边流量加1,便满足便满足了边了边(i,j)的容量下界的容量下界fi,j=0fi,j=1+1+1f 可
6、行jist求最小流求最小流设用上法求出的可行流的总流量设用上法求出的可行流的总流量为为F,这个可行流可能,这个可行流可能“过剩过剩”。因此要将多余的流从汇点因此要将多余的流从汇点“退回退回”到源点。到源点。f 最小求最小流求最小流sjit在新图中,原图在新图中,原图G的边的边(i,j)拆成两条边:拆成两条边:边边(i,j),ui,j=fi,j li,j,li,j=0边边(j,i),uj,i=ui,j fi,j,lj,i=0fi,jfi,j li,jui,j fi,j回退回退“过剩过剩”流量可以用如下方法:流量可以用如下方法:求最小流求最小流在新图中,从在新图中,从 t 到到 s 求出一个最大求
7、出一个最大流,令这个最大流的总流量为流,令这个最大流的总流量为F。sjitfi,j li,jui,j fi,j可得图可得图G的最小流的流量为的最小流的流量为F F。算法一的复杂度算法一的复杂度易知构造可行流的时间复杂度为易知构造可行流的时间复杂度为O(nm)修改可行流所用的最大流算法时间复修改可行流所用的最大流算法时间复杂度为杂度为O(mC),其中,其中C为增广的次数。为增广的次数。由于图由于图G是平面图,所以边数是是平面图,所以边数是O(n)级级别。而由可行流构造方法可知,增广次别。而由可行流构造方法可知,增广次数数C也是也是O(n)级别。级别。总的复杂度为总的复杂度为O(n2)是否存在效率
8、更高的算法?是否存在效率更高的算法?选择模型选择模型(2)另辟蹊径的偏序集另辟蹊径的偏序集下面介绍的下面介绍的偏序集模型偏序集模型将更好的将更好的解决此问题。解决此问题。算法一能够很迅速的解决原题数据。算法一能够很迅速的解决原题数据。但当但当n的范围扩大时,算法一便无能为的范围扩大时,算法一便无能为力了。力了。偏序集的定义偏序集的定义偏序集是一个集合偏序集是一个集合P和一个偏序关和一个偏序关系系,满足下列性质:,满足下列性质:自反性自反性:所有所有xP,都有,都有x x。反对称性反对称性:所有所有x,yP,若,若x y且且y x,则,则x=y。传递性传递性:所有所有x,y,z P,若,若x y
9、且且y z,则,则x z。链链:链是:链是P的一个子集的一个子集C,在偏序,在偏序关系关系下,它的每一对元素都是可下,它的每一对元素都是可比的。比的。偏序集的相关概念偏序集的相关概念反链反链:反链是:反链是P的一个子集的一个子集A,在偏,在偏序关系序关系下,它的每一对元素都是下,它的每一对元素都是不可比的。不可比的。对于属于对于属于P的两个元素的两个元素x、y,若有,若有x y 或或 y x,则,则x和和y被称作是被称作是可比的可比的,否,否则被称为则被称为不可比的不可比的。E中的偏序关系:中的偏序关系:对于边对于边u,vE,u v当且仅当当且仅当u=v或图或图G中存在中存在 v到到 u的一条
10、路径。的一条路径。问题的偏序集模型问题的偏序集模型图图G可以定义成一个偏序集可以定义成一个偏序集E:E中的元素是图中的元素是图G中的边;中的边;uvu v问题的偏序集模型问题的偏序集模型因此,原问题可以重新用偏序集语言因此,原问题可以重新用偏序集语言表述为表述为:将偏序集(将偏序集(E,)划分成最少的链,)划分成最少的链,使得这些链的并集包含所有使得这些链的并集包含所有E中的元中的元素。素。可以发现,图可以发现,图G中从最高点到最低点中从最高点到最低点的路径对应了的路径对应了E的一个链。的一个链。目标的转化目标的转化直接计算链的最少个数直接计算链的最少个数与网络流没有差别与网络流没有差别唯有唯
11、有继续转化目标继续转化目标目标的转化目标的转化链和反链的计数满足下列关系:链和反链的计数满足下列关系:Dilworth定理定理 令令(E,)是一个有限偏序集,是一个有限偏序集,并令并令LA是是E中最大反链的大小,中最大反链的大小,SC是将是将E划分成最少的链的个数。在划分成最少的链的个数。在E中,有中,有 LA=SC。求求E中最长反链的大小中最长反链的大小 目标最终转化为:目标最终转化为:求最长的反链求最长的反链由偏序集由偏序集E的定义可以知道:的定义可以知道:偏序集偏序集E中的反链对应着图中的反链对应着图G中的一些边,其中的一些边,其中任意两条边之间都不能互达。中任意两条边之间都不能互达。右
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图论的基本思想及方法 算法 基本 思想 方法
限制150内