浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc

上传人:wj 文档编号:3369020 上传时间:2023-05-01 格式:DOC 页数:6 大小:30KB
下载 相关 举报
浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc_第1页
第1页 / 共6页
浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc_第2页
第2页 / 共6页
浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc_第3页
第3页 / 共6页
浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc_第4页
第4页 / 共6页
浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc_第5页
第5页 / 共6页
浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc

《浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc(6页珍藏版)》请在冰点文库上搜索。

浅谈人工智能中的启发式搜索策略Word文档下载推荐.doc

人工智能中的启发式搜索策略  关键词:

人工智能;

启发式搜索;

估价函数 摘要:

人工智能所要解决的问题大部分是非结构化或结构不良的问题,启发式搜索可以极大提高效率。

讲述了搜索策略中的启发式搜索,对它的原理进行讲解,前景进行了展望。

&

nbsp;

  盲目搜索即是按预定的控制策略进行搜索[1],这种搜索具有盲目性,效率不高,不便于复杂问题的求解。

为解决此类问题,人们提出启发式搜索策略,即在搜索中加入与问题有关的启发式信息,用以指导搜索朝着最有希望的方向前进,加速问题求解的效率并找到最优解。

  一、启发式搜索策略的发展历史  40年代:

由于实际需要,提出了启发式算法,具有快速有效的特点。

50年代:

启发式搜索逐步繁荣,其中贪婪算法和局部搜索得到人们的关注。

  60年代:

反思阶段,人们发现以前提出的启发式算法速度很快,但是解的质量不稳定,而且对大规模的问题仍然无能为力。

  70年代:

计算复杂性理论的提出。

人们发现贪婪算法和局部搜索算法速度快,但解不好的原因是得到的解没有全局最优性。

Holland的遗传算法的出现再次引发了人们研究启发式算法的兴趣。

  80年代以后,模拟退火算法,人工神经网络,禁忌搜索等新式算法相继出现。

  二、启发式搜索策略的工作原理  盲目式搜索求解的过程中,节点的扩展次序是随意的,且没有利用已解决问题的特性,为此需要扩展的节点数会非常大。

启发式搜索则克服了上述缺点,它利用搜索过程中的有用信息优化搜索。

  一一般搜索过程  基本思想[2]:

把初始结点作为当前状态,选择适用的算符对其进行操作,生成一组子状态,然后检查目标状态是否在其中出现。

若出现,则搜索成功,否则从已生成的状态中再选一个状态作为当前状态。

重复上述过程,直到目标状态出现或者不再有可供操作的状态和算符时为止。

  在给出具体过程之前,首先介绍两个数据结构――OPEN表和CLOSED表。

OPEN表用于存放刚生成的节点。

CLOSED表用于存放将要扩展或者已经扩展的节点。

  搜索的一般过程如下:

  1.把初始节点S0放入OPEN表,并建立目前只包含S0的图,记为G。

  2.检查OPEN表是否为空,若为空则问题无解,退出。

  3.把OPEN表的第一个节点取出放入到CLOSED表,并记该节点为节点n。

  4.考察节点n是否为目标节点。

若是,则求得了问题的解,退出。

  5.扩展节点n,生成一组子节点。

把其中不是节点n先辈的那些子节点记作集合M,并把这些子节点作为节点n的子节点加入到G中。

  6.针对M中子节点的不同情况,分别进行如下处理:

①对于那些未曾在G中出现过的M成员设置一个指向父节点即节点n的指针,并把他们放入OPEN表中;

②对于那些先前已在G中出现过的M成员,确定是否需要修改指向父节点的指针;

③对于那些先前已在G中出现并且已经扩展了M的成员,确定是否需要修改其后继节点指向父节点的指针。

  7.按某种搜索策略对OPEN表中的节点进行排序。

  8.转向2步。

  由以上介绍可知,问题的求解过程实际上就是搜索过程,问题的求解的状态空间图是通过搜索逐步形成的,边搜索边形成,而且搜索每前进一步,就要检查一下是否到达了目标状态,这样就可尽量少生成与问题无关的状态,即节省了存储空间,又提高了求解效率。

  二估价函数  用于估价节点重要性的函数称为估价函数[3],其一般形式为:

fxgx+hx,gx为从初始节点S0到节点x已经实际付出的代价;

hx是从节点x到目标节点Sg的最优路径的估计代价,它体现了问题的启发性信息,其形式要根据问题的特性确定。

例如,它可以是节点x到节点的距离,也可以是处于最优路经上的概率等;

hx称为启发函数。

  估价函数fx表示从初始节点经过节点x到目标节点的最优路径的代价估价值,它的作用是估价OPEN表中各节点的重要程度,决定它们在OPEN表中的次序。

其中gx指出了搜索的横向趋势,它有利于搜索的完备性,但影响搜索的效率。

如果我们只关心到达目标节点的路径,并且希望有较高的搜索效率,则gx可以忽略,但此时会影响搜索的完备性,因此,在确定fx时,要权衡各种利弊得失,使gx与hx各占适当的比重。

  三、小结  启发式搜索算法是一种很实用、很有效的算法,比如SA算法具有对初始点的不依赖性,可以任意选取初始解和随机序列,应用广泛。

SA普及的最重要的原因是能在复杂的情况下产生更高质量的解,因此,它特别适用于非线性和复杂的系统。

在多目标优化领域,SA还处于起步阶段,在种群选择以及如何与Pareto前沿结合等方面,还需要进一步地研究,SA具有广阔的发展前景。

  参考文献:

  [1]GeorgeF.Luger著,史忠植,张银奎译.人工智能[M].北京:

机械工业出版社,2004  [2]田中.人工智能中搜索策略的探讨[J].福建电脑,2004,08:

30-31  [3]王万森.智能原理及其应用第2版[M].北京:

电子工业出版社,2007&

摘要:

本文提出了将“C程序设计”教学分成引导入门、实践提高、实际应用三个阶段进行,每个阶段均有不同的学习任务和内容,并根据不同阶段的特点选用不同的教学方法。

分段教学能使学生在具备扎实的基础知识的同时,又具备解决实际问题的能力。

  关键词本文来自:

计算机毕业网:

建构主义;

分段教学;

“C程序设计”教学        信息社会对计算机专业的学生提出了更高的要求:

不仅要会使用编程工具,而且要能应用编程工具解决实际问题。

然而,传统的程序设计教学方法过多地关注语言细节而缺乏对学生程序设计方法和能力的训练,并在一个人为简化了的教学环境下传授知识,不利于知识迁移,因此出现了学生学完了程序设计课程却不会编程的现象。

如何使学生具备扎实的基础知识,同时又具备解决实际问题能力,是目前亟待解决的问题。

  建构主义因其倡导的有意义学习,被越来越多的教师用于指导程序设计课程的教学,并塑造了一些教学运作的新方式[1]。

但建构主义理论本身还在不断完善和发展中,建构主义在程序设计教学实践中的应用还有待进一步的探讨。

    1建构主义教学观    实际教学中倾向于选择建构主义教学观还是传统教学观,应该根据学生的认知规律与教学内容特点而定。

  传统教学观与建构主义教学观处于一个系统的两个极端[2]。

传统教学观不太强调学习者内在的条件,认为外在知识的内容和结构能完全复制到学生的头脑中,为了减少学习者的混乱而简化了真理;

建构主义则处于另一个极端,强调学习者,认为学习是对学习者已有概念重新调整的过程,强调提供丰富多彩的学习环境以利于技能的迁移。

  以教师为中心的传统教学观忽视了学习者对知识的主动建构,忽视了发展学习者的高阶思维能力。

尽管传统教学观遭到批判,但它依然是广大教师使用最广泛的教学模式之一,有其存在的价值。

传统的讲授法是一种高效的形式和方法,有利于基础知识和基本技能的系统传授,并能最大限度地发挥教师的主控作用,教学操作性强,适合学习者初级阶段的发展水平。

  建构主义教学观越来越受到普遍的关注。

建构主义在知识观、学习观、教学观、师生关系观和信息技术应用观等方面提出了与传统教学观不同的观点,有利于促进学习者高阶学习和高阶能力。

它与当前我国教育理念改革和教育信息化的发展方向是一致的。

  对于初学程序设计的大学一年级新生,因为没有建立有效的计算机模型,适于在较为简单的、限制的环境中,循序渐进地建立关于程序设计的基本概念。

此阶段主要采用传统教学方法,帮助初学者较快地建立有效的计算机模型。

当学生不再对计算机感到困惑时,应该由传统教学方法逐步过渡到建构主义教学方法,所呈现的教学情景越来越接近真实问题的环境,从而使学生分析问题、用编程工具解决问题的能力得到越来越多的训练。

  根据“C程序设计”教学内容的特点及学生认知能力的发展过程,教学可分3个阶段,分别选用不同的教学方法进行见表1。

    2分阶段选用不同的教学方法    2.1引导入门阶段  对于刚接触程序设计的初学者来说,本阶段的任务是快速建立有效的计算机模型,掌握程序的基本构成及常用算法模式,掌握用计算机检验所学知识的方法,为后继阶段的学习作积累。

  主要学习的内容包括:

程序基本构成,控制结构,简单函数。

上机实践内容主要是学习使用编程环境,验证和熟悉语法,熟悉常用算法模式,会用计算机来验证语言知识,分析程序的执行。

  教学一开始就应将课程的整体框架引入,让学生有个整体的概念和学习目标。

“概念图”、“思维导图”之类的图形化工具有助于概念知识的表达,可以用于整体框架的引入,也可用于评价学生的学习。

  课堂教学中,主要学习程序的阅读与分析。

通过已编好的难度合适的程序将枯燥的数据类型、运算符等基本概念引入课堂,通过问题的解决来研究语法的结构、功能和使用效果;

研究各部分代码的来龙去脉,形成完整的程序结构;

研究常见算法模式与编程技巧。

同时也

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2