为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于栈的网络最大流算法

基于栈的网络最大流算法

2018-03-10 10页 doc 28KB 8阅读

用户头像

is_353097

暂无简介

举报
基于栈的网络最大流算法基于栈的网络最大流算法 ComputerEngineeringandApplications计算机工程与应用 基于栈的网络最大流算法 厍向阳 SHEXiang——yang 西安科技大学计算机科学与技术学院,西安710054 ComputerScienceandTechnologyCollege,Xi'anUniversityofScienceandTechnology,Xi'an710054,China E—mail:xiangyangshe@sohu.con SHEXiang-yang.Newmax-flow...
基于栈的网络最大流算法
基于栈的网络最大流算法 ComputerEngineeringandApplications计算机工程与应用 基于栈的网络最大流算法 厍向阳 SHEXiang——yang 西安科技大学计算机科学与技术学院,西安710054 ComputerScienceandTechnologyCollege,Xi'anUniversityofScienceandTechnology,Xi'an710054,China E—mail:xiangyangshe@sohu.con SHEXiang-yang.Newmax-flowalgorithminnetworkbasedonstack.ComputerEngineeringandApplications,2009,45 (33):13一I5. Abstract:Facingthequestionofmax—flowinnetwork,basedoncutsetdefineandmax— flowmin—cuttheorem,withadjacency matrixtodepositnetworkdata,usingthedatastructureofstacktoorganisenetworkdata,traversingallcutsets,theminimumca— pacityinal1cutsetsiSmax— flowinnetwork.eotherbranches,besidesthebranchesoftheminimumcutset,ayecalculatedby solvingthenodeflowbalanceequationinnetwork.Thealgorithmpioneersanewwaytosolvethequestionofmax-flowinnet— work,andbreaksthelocalizationofcutsetdefineandmax—flowmin— cuttheoremthathaveonlytheoryvalue,donotsolve practicmax—flowinnetwork.Thekeybranchesinnetworkthatdecidemax— flowinnetworkaremadeeasilybythewayoftl1e minimumcutset.Thedirecttechnologysupportforenlargingmax-flowinnetworkisprovidedbythealgorithm.Algorithmtesting shows:Thenewmax—flowalgorithminnetworkbasedonstackiscompletelyfeasibleandavailable. KeyWOrds:max—flowinnetwork;cutset;stack;max—flowmin—cuttheorem 摘要:针对网络最大流问题,在割集定义和最大流一最小割定理基础上,以邻接矩阵为网络数据存储结构,利用栈作为数据组织 形式,遍历网络中所有割集,最小容量的割集即为网络最大流.流量网络其余分支流量由网络结点流量平衡条件来求解.该算法具 有:开辟了一种求解流量网络最大流的新的,克服了割集和最大流一最小割定理仅仅具有理论价值,没有实用价值的局限性; 根据最小容量的割集可以方便确定决定网络最大流的关键分支,为扩展网络流量提供直接技术支持.算法测试表明:基于栈的网 络最大流算法是完全可行和有效的. 关键词:网络最大流;割集;栈;最小容量割集 DOI:10.3778~.issn.1002—8331.2009.33.005文章编号:1002—8331(2009)33—0013—03文献标识码:A中图分类号:TP393.3 1引言 网络最大流问题和它的对偶——最小割问题是一对经典 组合优化问题,在许多工程领域和科学领域有重要的应用,是 计算机科学和运筹学重要的内容.最大流问题已经有40多 年的研究历史,目前网络最大流问题主要有两类算法:(1)组合 算法.按在剩余网络中推进流方式的不同,组合算法分为:增载 轨算法和预流推进算法.增载轨算法有Ford和Fulkerson的标 号算法[31,Dinic的阻塞流算法和Ahuja和Orlin的最短增载轨 算法[51等.预流推进算法有Karzanov的阻塞流算法,Goldberg 和Taqan的推进重标号算法,Goldgerg和Rao的二分长度阻 塞流算法[81等.(2)线性规划算法.最大流问题是一个特殊的线 性规划问题,利用其特殊性,可以得到比一般线性规划算法更 有效的算法,如:网络单纯形法,网络内点法.在网络最大流 问题中,割集概念和最大流一最小割定理是各种网络最大流算 法理论基础,具有重要的理论意义,然而仅此而已,对具体网络 最大流算法没有实用价值.针对网络最大流问题,根据割集定 义和最大流一最小割定理,以邻接矩阵为网络数据存储结构,利 用栈作为数据组织形式,遍历网络中所有割集,找到的最小容 量的割集即为网络最大流.流量网络其余分支流量由网络结点 流量平衡条件来求解.最后,通过实例进行了算法测试和比较. 2问题描述和预备知识 2.1网络与流 (1)流网络 在以为结点集,A为弧集,且ll,IAI为图G中结点和分 支数,且IVl=m,IAI=n.有向图?=(V,A,c)上定义女I1下的权函数: c:A—为弧上的权函数,弧()?A对应的权C(i)记 为c,称为弧(J)的容量上界,或直接称为容量(Capacity); 依此构成的网络称为流网络,记为?:(V,A,c). (2)可行流 对于流网络?_(V,A,C),其上的一个流是指从?的弧 基金项日:陕西省教育厅专项科研计划项目(No.08JK354). 作者简介:厍向阳(1968一),男,博士后,副教授,从事数据挖掘与智能信息处理,人工 智能与模式识别,复杂系统建模与优化等方面研究. 收稿日期:2009—08—07修回日期:2009—09—27 ComputerEngineeringandApplications计算机工程与应用 集A—的函数,即每一条弧(,)?A赋予一个流量在流 网络中指定一个源结点s?V和一个汇结点tV,其余点为中 转点.如果流网络中?:(,A,c)存在从s到t的流=},且 满足: ?(1) l厂()i=s ??:{o?,,(2) "l一)i:, 则称为流网络?=(V,A,C)中从S到t的可行流,流量记为 .厂【).式(1)为弧的容量约束条件,式(2)为结点流量平衡条件. (3)最大可行流 在流网络?=(,A,c)的所有从s到t的可行流=}中, 流量)最大的可行流称为最大可行流=},菏足式(3): )-~max)(3) 以式(3)作为目标函数,以式(1),(2)为约束条件,便可构 成网络最大流模型. 2.2基本理论 (1)割集 容量网络?_(V,A,C),.,分别为源点,汇点,若有边集 AC_ A,将?分为两个子图?.和,其顶点集合分别为S,S, SuS=V,Sn.s=,?S,",?S,满足:??=(V,A-A)不连通; ?ACAA,而?=(,-A)连通.则称A为?的割集,记 A,=(5,j). (2)割集容量 割集A=(Js,S)中所有始点在S,终点在S的边的容量之和, 称为割集A=(s,S)的容量,记为c(s,S). (3)最大流一最d,g-~定理 由割集定义不难看出,在容量网络中割集是由源点到汇 点的必由之路,无论去掉哪个割集,到,便不相通. 可行流有界性定理:设.厂为络?=(,A,C)的任一可行 流,流量为,A=(S,S)是分离,的任意割集,则有W? c(s,S). 最大流一最小割定理:任一网络?=(V,A,C),从到,的 最大流的流量等于分离.,的最小割集容量. 3基于栈的网络最大流搜索算法 (1)基本思想 根据割集定义和最大流一最小割定理,以邻接矩阵为网络 数据存储结构,利用栈作为数据组织形式,采用深度搜索的方 法来遍历网络中所有可能的割集fIl】'按照网络割集的定义进行 筛选,最后找到的容量最小的割集即为网络最大流量. (2)基于栈的网络最大流搜索算法 算法:基于栈的网络最大流搜索算法. 输入:网络的流量的邻接矩阵. 输出:最小割集,网络最大流流量. 方法: 步骤1设置Js=s=,最小割集的初始割集A=(s,s),初 始容量=*. 步骤2源点进栈,栈顶位置Top=O,S=}. 步骤3判断(s,V—S)是否满足割集的条件.若满足,NS= V—S,并计算c(s,S),转向步骤4,否则,转向步骤5. 步骤4若c(s,S)<,则W=C(S,S),A=(s,So 步骤5在邻接矩阵中搜索栈顶元素的下一个未被访问过 的邻接点.当?,则进栈,栈顶位置roy=Top+l,顶点集 合S=StO},返回步骤3.当栈顶元素为时或栈顶元素.的 所有邻接点全被访问过,则退栈,栈顶位置roy=Top一1,顶点集 合S=S—v}. 步骤6当Top>0时,返回步骤3.当Top=0时,算法结束, 输出最小割集A:(s,S),网络最大流流量w=c(s,S). 4算法实例 (1)网络最大流测试实例1 某一通风网络如图1所示ll21,通风网络有13个结点,20个 分支,图1中圈起来的数字为通风网络分支最大允许风量,未 圈起来的数字为通风网络结点标号,箭头表示对应分支风流方 向.使用该算法,得到从源点s到汇点t方向的最小割集容量 163ms,,也就是从源点s到汇点t方向的通风网络的最大流 为163nl?s,,害0集为{1一一>5,4一一>13,6一一>5,6一一 >7,6-->9}. 图1中的虚线为割集对应的分支,割集{1一>5,4一>13,6--> 5,6-->7,6-->9}为进一步扩大通风网络最大流量关键分支. 图1通风网络图 (2)网络最大流测试实例2 两家工厂1和2生产一种产品,商品通过如图2所示道路 网络运送到城市7,8和91I,道路网络有12个结点,24个分 支,图2中圈起来的数字为道路网络分支最大允许运输量,未 图2运输网络图 厍向阳:基于栈的网络最大流算法2009,45(33)15 圈起来的标号为道路网络结点标号,箭头表示对应道路允许行 驶方向.增加1O和11为虚拟源点s和汇点t.使用该算法,得 到从源点10到汇点11方向的最小割集容量23,也就是从源 点10到汇点11方向的道路网络的最大运输能力为23,正割 集(与源点10到汇点11方向相同):f2一>6,3一>7,4一>9,5-> 8,5->9},负割集(与源点lO到汇点11方向相反):{6一>3,6-> 5,6->12},割集容量等于正割集中各分支最大允许运输量的 和,图2中的长虚线为正割集对应的分支,短虚线为负割集对 应的分支.正割集为进一步扩大道路网络的最大运输能力的关 键分支. 5结束语 根据割集定义和最大流一最小割定理,利用栈作为数据组 织形式,通过遍历方法得到网络最大流.网络其余分支流量由 网络结点流量平衡条件来求解.该算法具有:(1)开辟了一种求 解流量网络最大流的新的方法,克服了割集和最大流一最小割 定理仅仅具有理论价值,没有实用价值的局限性.(2)根据最小 容量的割集可以方便确定决定网络最大流大小的关键分支,为 扩展网络流量提供直接技术支持. 参考文献: [1】AhujiaRK,MagnantiTL,OrlinJB.Networkflows:Theory,algo— rithmsandapplications[M].NewJersey:RenticeHall,1993. [2】张宪超,陈国良,万颖瑜.网络最大流问题研究进展IJ】.计算机研究 与发展,2003,40(9):1281—1292. [3]FordLR,FulkersonDR.Maximumflowthroughanetwork叨.Cana— dianJournalofMath,1956,8(5):399—404. [4】DinicEA.Algorithmforsolutionofaproblemofmaximumflowin networkswithpowerestimation[J].SovietMathDokl,1970,11(8): 1277-1280. [5】AhujaRK,OrlinJB.Distance-directedaugmentingpathalgorithms forthemaximumflowproblem[J].NavalResearchLogisticsQuarterly, 1991,38(2):413—430. [6】KarzanovAV.Determiningthemaximumflowinanetworkbythe methodofpre—flows[J].SovietMathDokl,1974,15(3):434-437. [7]GoldbergAV,TarjanRE.Anewapproachtothemaximumflow problem[J].JAssocComputMach,1988,35(4):921—940. 【8]GoldbergAV,RaoS.Beyondtheflowdecompositionbarrier[J].JAs- SOCComputMach,1998.45(5):783—797. [9]DantzigGB.Applicationofthesimplexmethodtoatransportation problem[M]//ActivityAnalysisandProductionandAllocation.New York:Wiley,1951:359-373. [10]GoldforbD,HaoJ.Aprimalsimplexalgorithmthatsolvesthemaxi- mumflowprobleminatmostnmpivotsand0(n2m)time[J]. MathematicalProgramming,1990,47(3):353—365. [11]严蔚敏,吴伟民.数据结构【M】.北京:清华大学出版社,2008. [12]王惠宾.矿井通风网络理论与算法[M].徐州:中国矿业大学出版社, 1996. 【13】钱颂迪.运筹学【M】.3版.北京:清华大学出版社,2005. (上接3页) 得越严重,以往可知这是由于MTRC导致的,这点是容易 理解的,也在预料之中.从表3,表4和图3(e),图3(d),可以 看出,Keystone变换校正算法对上述情况的处理效果和R—D 算法的处理效果相当,说明了Keystone变换校正算法只是对散 射点的位置进行了校正,而对于散射点幅度问的大小相对关系 并未做出有效的处理,也就是说该算法和R—D算法一样也破 坏了散射点幅度间大小的原来相对比例,这是其不足之处. 表3五球(横向排列)仿真数据幅度对比图(rl=O.5m,r2=lm) 4 af=-3G;AS=-5.二维傅里叶算法(keystone)处理结果 表4五球(横向排列)仿真数据幅度对比图(rl=lm,r2=2m) af=3G;AS=-5.二维傅里叶算法(keystone)处理结果 R-D算法4.54.24.54.44.4 Keystone变换校正算法21.221.621.721.521.5 新算法22.622.822.722.722.7 小结 介绍了Keystone变换的原理,并从回波模型的角度分析了 Keystone变换在MTRC中的应用,利用尺度变换消除了由于径 向速度引起的MTRC,计算结果表明,基于Keystone变换的成 像算法能有效地处理MTRC现象.但还有待完善,提出的新校 正算法,考虑了两次测量间产生的回波包络移动,利用加权方 法加以处理,取得了更好的处理效果. 参考文献: BerizziF,DianiM.TargetangularmotioneffectsonISARimagindJy/ [1】 IEEProceedings:Radar,SonarandNavigation,1997,144(2):87—95. 【2]ChenCC,AndrewsHC.Target—motion—inducedradarimaging[J1. IEEETransonAES,1980,AES一16(1):2-14. 【3]LuGuang-yue,BaoDoppleralgorithmin ISARbasedoninstantfrequencyestimation[C]//ProcofInternational SymposiumonMultispectralImageProcessing(IS—MIP'98),Wuhan, China,1998:198—201. 【4]姜正林,邢孟道,保铮.ISAR成像的越距离单元走动校正叨.电子与 信息,2002,24(5):577—583. [5】WangGen-yuan,BaoZheng.Inversesyntheticapertureradarimaging ofmaneuveringtargetsbasedonchirpletdecomposition[J1.OptEng, 1999,38(9):1534—1541. [6】PerryRP,DipietroRC,FanteRL.SARimagingofmovingt一 gets叫.IEEETransonAES,1999,35(1):188—199. [7]DiPietroRC,FanteRL,PerryRP.Muhi—resolutionFOPENSAR imageformation[C]//PartoftheSPIEConferenceonAlgorithmsfor SyntheticApertureRadarImageryVI,SPIE,1999,3721:58—67. 【8]SoumekhM.Fourierarrayima~ng[M].EnglewoodCliffs,NJ:Prentice- Ha11.1994.
/
本文档为【基于栈的网络最大流算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索