智能科学技术导论-周昌乐-第03讲 算法设计.docx

智能科学技术导论-周昌乐-第03讲 算法设计.docx

ID:36938472

大小:205.55 KB

页数:8页

时间:2019-04-30

智能科学技术导论-周昌乐-第03讲 算法设计.docx_第1页
智能科学技术导论-周昌乐-第03讲 算法设计.docx_第2页
智能科学技术导论-周昌乐-第03讲 算法设计.docx_第3页
智能科学技术导论-周昌乐-第03讲 算法设计.docx_第4页
智能科学技术导论-周昌乐-第03讲 算法设计.docx_第5页
资源描述:

《智能科学技术导论-周昌乐-第03讲 算法设计.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第03讲算法设计导语算法是智能计算领域最核心的概念之一。当你拥有了一台机器,希望机器系统能够为你服务,解决你需要解决的某个智能计算任务,那你首先要给出完成这项任务的算法步骤。比如,你希望具备猜扑克牌颜色这样一个魔术游戏的能力,那么你就需要为机器编制完成这样任务的算法。如果说对于计算机科学技术的学生而言,玩的就是算法,那么对于智能科学技术的学生而言,玩的就是智能算法!正是通过使用算法,可以将智慧编进机器系统中,从而来构建能够表现智能行为的机器。因此,你编制的算法越有智慧,那么所构建的机器也就越能够具有更智慧的行为表现。

2、从某中意义上讲,机器智能的限度就是能否找到算法的限度。那些能够找到算法的智能任务范围,也就是智能机器的能力范围。智能科学技术研究的目的,就是要找出尽可能多的智能算法,使我们的机器拥有尽可能多的智慧能力。由此可见,算法在智能科学与技术领域中的重要地位,掌握算法设计的原理,也就成为学习这一专业的最基本技能。第3.1节算法概述一般而言,所谓算法就是给出解决一个(智能)计算问题具体步骤的集合。我们在前面“机器系统”一讲中已经遇到过一些简单的指令执行算法。比如中央处理机常规处理“算法”就是,只要未发出停机指令就执行以下步骤:(

3、1)获得指令;(2)指令解码;(3)执行指令。“煮鸡蛋吃”算法如下:(1)从冰箱里取一枚鸡蛋;(2)将鸡蛋放进煮锅;(3)锅里加水直到盖满鸡蛋;(4)持续给锅加温直到沸腾为止;(5)停止加温取出鸡蛋;(6)将鸡蛋放入凉水浸泡1分钟;(7)敲破鸡蛋壳,去除全部蛋壳;(8)将去壳后的鸡蛋一口一口吃掉。“遛小狗”算法:(1)给小狗套上狗绳,(2)出门上路;(3)如果遇到树小狗在逗留,则等待小狗尿尿;(4)继续前进,如果遛狗时间没有达到规定的时间,则继续遛狗转(3),否则返回。“揲蓍成卦”算法:揲蓍,古代问卜的一种方式,用手

4、抽点蓍草茎的数目,以决定吉凶祸福。其法为,大衍之数五十,其用四十有九,分而为二以象两,挂一以象三,揲之以四以象四时,归奇于劫以象闰,五岁再闰,故再营而后卦。是故四营而成易(爻),十有八变而成卦。八卦而小成,引而伸之,触类而长揲,天下之能事毕矣。如果强调精确性,那么实际卦象生成算法如下(重复如下三变步骤之六遍,共计十八变):(1)大衍之数50,其用49:50根蓍草,去其1而不用,令可用之数s=49,余数之和t=0,循环如下操作三变:(2)分二(分而为二以象两):余49根随意分为左右两堆(天意)(3)挂一(挂一以象三):

5、从右堆中取出1根(4)揲四(揲之以四以象四时):对左右两堆均以四根一组数之,令其为新的可用之数s(5)归奇(归奇于扐以象闰):t=t+两堆得出的余数之和(6)(故四营而成易):不到三变转(2)(7)根据y=(49-t)/4来决定一个爻画:y=7(少阳)、8(少阴)、9(老阳)、6(老阴)通过上述几个算法例子,我们不难了解算法的一些特点。但作为机器系统能够严格精确执行的操作步骤集合,我们必须对算法下一个严格的定义:算法是一组明确的、可以直接执行之步骤的有限有序集合。(1)有序性:算法中所有步骤均规定有执行顺序的;(2)

6、有限性:算法中的步骤是有限的;(3)明确性:集合中的每条指令均是明确的、可以直接执行的步骤。有时候,我们还会要求每一个算法不但构成步骤是有限的,而且还要求这些步骤的动态执行也是在有限时间中能够结束的,即所谓(4)终止性。不过,对于特殊算法,有时候我们却需要永不终止,如操作系统。关于这个话题,更多地涉及到计算理论的内容,并跟算法效率的讨论有关。我们不做展开了。对于算法而言,还有一个重要的方面就是一定区分算法内涵与算法描述之间的区别。算法的内涵是指一个算法所固有的功能本质,完成某一任务的具体步骤及其内在联系。而算法的描述

7、则是具体给出的一种表示方式。一个算法可以有不同的描述文本,这些描述文本完成的任务完全一致,因此代表着一个相同的抽象本质。就好像一本书与一个故事的区别,一个故事可以写成不同版本的书,而这不同版本的书却讲述的是同一个故事。算法的抽象本质,是任务固有的复杂本性所决定的,而算法的表示只是完成这一任务之算法的一种具体描述。如果我们考虑到算法的执行问题,还需要区分程序、算法与进程三者的关系。程序是算法的描述,进程是执行程序的活动,而执行一个程序就是执行这个程序所表达的算法,因此进程是算法执行活动。最后,对于算法,还要考虑算法的效

8、率与正确性问题。效率是指执行一个算法所要花费的时空代价。时间代价是指算法执行中花消的时间,而空间代价是指算法执行中花消的内存。当然,一般我们仅仅从理论上来讨论算法的效率,并不考虑具体的机器系统,加上空间代价可以转化为时间代价。因此,在考虑算法的效率时,主要查看对于给定的输入数据规模,一个算法需要动态执行多少个计算步骤,称为算法的计算复杂性。算法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。