欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载
     

    算法合集之《浅谈特殊穷举思想的应用》.ppt

    • 资源ID:6012041       资源大小:238KB        全文页数:24页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    算法合集之《浅谈特殊穷举思想的应用》.ppt

    浅谈特殊穷举思想的应用,河北唐山一中 鬲融,穷举的思想,穷举思想是信息学中最重要的思想之一,计算机的高速度使其具备了进行穷举的条件。然而,随着图论、数论、动态规划等方法的发展,以及搜索算法的不断改进,穷举似乎越来越不受重视,成为了低效的代名词。,让我们先来了解一下穷举。,穷举的思想,穷举,完全穷举,部分穷举,参变量法,准确理解题意,确定使用穷举思想,明确穷举对象,下面先来看一下完全穷举的例子,例一 聪明的打字员,题目描述(NOI2001),使用一个只有加减1(Up/Down),左右移动光标(Left/Right),与1,6交换(Swap0/Swap1)六个键的键盘,用最少的步数把一个6位数转化成另外一个。例如,初始状态是123456,要求的状态是633451,那么最简单的转化方法是:,123456,623451,623451,633451,Swap1,Up,Right,思路1 搜索,思路很简单:通过广度优先搜索确定按键顺序和最小按键次数并输出,节点数:,6,000,000,过大,解决:HASH+A*或双向广度优先,缺点:实现复杂度太高,而且效率也不高,思路2 使用穷举思想,抓住问题的难点:Swap0/Swap1!,要是没有这两个键直接处理就可以,把这两个键先处理,不影响结果!,穷举这两个键的使用,只有6!=720种情况,思路2 使用穷举思想,这样我们通过完全穷举得到了一个算法:把按键过程分为两步通过Swap0/1得到一个排列计算这个排列后剩余的步数一个问题:并不是所有的位置都可以改变解决方法:再次穷举哪些位置可以改变!时间复杂度:O(6!*10)=O(1),优秀的算法!,例二 逻辑岛,题目描述:在逻辑岛上有3种居民:永远说真话的神,永远说假话的恶魔和在白天说真话,在夜里说假话的人。一个社会学家访问了这个岛,但他无法通过外表区分这3种居民,所以他只能靠分析居民们说的话来判断他们的种类。岛上只有五个居民A,B,C,D,E。他们说的话只有3种1.I am not divine/evil/human/lying.2.X is not divine/evil/human/lying.3.It is day/night.居民们说话的总数不超过50。你的任务就是通过居民们说的话来判断他们的种类以及现在是白天还是黑夜,让我们用人脑分析,A:B is human.B:A is evil.A:B is evil.,一个简单的例子:,A的话有矛盾,B是神!,A是恶魔,计算机怎样完成这种推理?,失败!,应用穷举思想,题目特点:,人数少,于是得到了完全穷举的算法:情况数:35*2=486对每句话进行判断时间复杂度:O(35*2*s)=O(s),小结,先来比较一下例一的两种算法,穷举或许具有很大的盲目性,但我们自身是灵活的!,部分穷举思想,有时候,问题离高效算法只有一步之遥。,参数K,我们不知道参数K,所以我们不能解决问题。,部分穷举思想,问题的参数(无法穷举),重要参数K,部分穷举,作为参变量,可行,通过高效算法得到答案,使用部分穷举思想的一般步骤。,部分穷举思想特别适用于最大最小问题,最大最小问题,定义:这类问题中定义一种权值,要求产生一种划分(或其他类似的结构),使划分的每一部分权值的最大值达到最小。这里最大是权的最大值,最小是划分产生的“最大”的最小。,一个重要的问题,已知一个最大权值,如何快速判断是否有满足要求的划分?,如果我们能找到这个问题的答案,那么我们就可以把最大权值作为参变量,通过对它进行部分穷举和判断,得到结论。,一种常用优化,如果参变量的范围很大,我们就需要利用题目的条件进行优化。,题目最重要的性质是单调性。单调性是指如果参变量为x1时可行,那么参变量大(小)于x1时也可行,而且题目要求的是参变量的最小(大)值。这时,我们有两种选择:,仍然用线形的穷举方法,但是当得到一个可行的解时,就停止改用二分形式的穷举方法。,当然,二分往往可以使时间复杂度减小。,例三 草莓,这是NOI2003的题目,相信大家都已经很熟悉。这里我们要讨论的是树形数据。,初步想法:既然是求最值,容易想到树的动态规划。可是,我们很难列出有效的状态转移方程,而且该题数据较大,用动态规划效率太低。,进一步考虑:,这是一个最小最大问题,能否使用部分穷举?,首先面临的问题:,如果已知一个分割方案所对应的x,我们如何去寻找一个解答,或者证明这种分割是不存在的?(问题),问题的解决,这个问题可以用贪心来解决。,10,5,7,8,9,x=17,从下向上处理,遇到可以分成一组的就分出来。,7,8,20,9,19,对于这个算法的正确性证明请见我的论文。,例三的解决,我们找到了问题的解法,于是我们就可以通过部分穷举,用二分法穷举x的值,然后构造解法。,问题:相应的最大最小问题无法解决。,问题的参数(无法穷举),部分穷举,作为参变量,可行,通过高效算法得到答案,草莓的分割方案,重要参数K,X的值,使用二分法穷举,通过贪心算法得到答案,最大最小匹配,我们来用部分穷举的思想解决一个经典的图论问题。,带权二分图的最大最小匹配问题已知一个带权的二分图,求一个满足下列条件的匹配:这个匹配是一个完备匹配这个匹配是满足第一个条件中,匹配边的最大权最小的匹配。,最大最小匹配的实际意义这种匹配的计算在日常生活中经常遇到。例如一个公司有n个货仓,n个销售点。已知从第i个货仓运送产品到第j个销售点所需时间为T(i,j),每个货仓的储藏量和每个销售点的需求量恰好相等。如何在最短的时间内将货物运送到所有销售点?,最大最小匹配,再看一个最大最小匹配问题的实例:,1,2,3,1,2,3,6,4,8,10,1,5,为了清晰,这里只有6条边,其他的边权为无穷大,不考虑。,我们可以看到,这个图的最小权匹配不是最大最小匹配。,最大最小匹配:解决,应用部分穷举的思想,我们需要回答这个问题:如果已知权的最大值,如何产生一个满足题目要求的匹配?,1,2,3,1,2,3,6,4,8,10,1,5,权的最大值:7,找不到完备匹配!,权的最大值:8,找到完备匹配!这就是最大最小匹配。,最大最小匹配:解决,这样我们得到了一个最大最小匹配问题的高效算法:对最大权进行部分穷举执行最大匹配的算法寻找完备匹配时间复杂度:O(n5)用线形穷举,但是效果也不错 O(n3logn)二分穷举。对这个问题我们还可以进行一些扩展:最小最大匹配一样的算法带权图的最大最小匹配权最大的带权二分图最大最小匹配,总结,通过分析,我们可以看出:穷举低效,一些结论:对于完全穷举,要正确而巧妙地选择穷举对象,减小穷举量。对于部分穷举,要选择适当的参变量以及后续算法完全穷举和部分穷举是我们解题时的有效思想,我们应对其给予充分的重视,根据题目的具体情况选择应用,不应简单地认为穷举方法效率低而弃之不用。,谢谢大家,谢谢大家,欢迎提问,

    注意事项

    本文(算法合集之《浅谈特殊穷举思想的应用》.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开