智能算法平台中设计模式的应用.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能算法平台中设计模式的应用.pdf

智能算法平台中设计模式的应用 金彤 李元香王珑刘海峰 武汉大学软件工程国家重点实验室,湖北武汉430072 摘要:智能算法的类型与其所解决的问题类型存在着多对多的关系,通常在使用不同算法解决不 同问题时,存在大量重复编码与设计工作。而且对这些不同的算法类型和问题类型进行管理;;也存在 式,将算法类型和问题类型进行分离和拼装,并且将算法的源代码进行动态管理和运行。不仅方便重 用和扩展,对算法的添加和替换也有非常好的效果. 关键词:MedjatIDr模式s仃ateg),模式智能算法算法平台 1引 言 智能算法通过模仿各种自然规律,来解决各种问题,其算法类型和问题类型之间存在多对多的关系IlJ。 不同的算法町以解决不同的问题,也可以解决相同的问题。在对算法进行研究的过程中,如果更换了算法 类型或者问题类型。往往需要进行重复编码和设计。若将这些算法类型和问题类型设计成可以拼装的模块, 这些模块具备统一的接口标准,那么就可以讲不同问题和不同算法进行任意组合和替换,非常利于对不同 算法解决不同问题的效果进行比较,而且提高了研究开发效率。在实现的过程中,使用设计模式中的 Mediator模式,用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而 使其耦合松散,而且可以独立地改变它们之间的交互。将多对多的关系转化为多对一的关系【2儿引。 此外,由于智能算法研究的特殊性,其成果往往由算法描述信息、,算法源代码、算法可执行文件、算 法图片等组成,将这些进行统一管理和展示:是非常必要的。传统的信息管理系统对于算法源代码和可执 行文件的管理都是采取静态文件的管理方式,不能动态运行和演示。如果将每个算法封装起来,当平台运 行时,每个算法只是整个系统中的一个可以替换的构件,那样就可以动态运行这些算法,并且可以查看结 果,输出图片,对其进行全方位的展示。将各个算法类型和问题类型封装起来,供系统进行动态调用和替 换的思想,就是设计模式中的Strateg)r模式。 2理论基础和技术架构 2.1设计模式 设计模式是一套被反复使用、经过分类的,代码设计经验的总结降51。模式是在特定的外界环境下,对 特定问题的惯用解决方案。使用设计模式,j可以重用代码、让代码更容易被他人理解,而且还保证代码可 靠性[酬。设计模式最重要的思想是“封装变化的概念”。j卜方面,设计的软件具有一定的灵活性,以适应可 能的变化;另一方面,把这种复杂性所带来的软件复杂性进行封装,为外界提供一个简单而又稳定的访问 接口。设计模式的分类有不同的方法,根据目的准则,将其分为创建型、结构型和行为型’。创建型模式与 对象的创建有关,包括1二厂方法等5种模式;结构型模式处理类或对象的组合,包括组合j桥接等7种模 式;行为型模式对类或对象怎样分配职责进行描述,包括观察者、命令等10种模式。本文所使用的Mediator 模式和strategy模式就属于设计模式中的行为模式。 2.2Strate斟模式 s仃ategy模式是设讨。模式的一种,它定义了一系列的算法,并将每一个算法封装起来,而且使它们还 可以相互替换。Strategy模式让算法独立于使用它的客户而独立变化。 s仃ategy模式的意图在于,从算法的宿主类中,将算法分离出来放到一个独立的类里。对于一个问题 的解决町能有若干个算法可行17J。如果算法保留在宿主类中,会产生一些混乱的条件语句。S订ategy模式允 许客户端从一个算法族中选择一个算法并给其一个简单的方式去访问它。这些被分离出来的算法会实现一 个共同的操作。此平台中,各种智能算法就在平台这个宿主中,每个算法只提供统一的接口给平台调用, 0|。 所以这些算法就可以随意的替换和重用【8。1 2.3 Mediator模式 Mediator模式即中介者模式,当多个对象彼此间都有联系的时候,各个对象之间的交互操作非常多: 每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使 的关系,可以降低系统的复杂性,提高可修改扩展性。这样,用一个中介对象来封装一系列对象交互。中介者 使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互【6】o 2.4动态链接库技术

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档