关于算法学习的总结和感悟
时隔一年重读《算法导论》,去年读到了二叉查找树就搁浅了,今年从头捡起,希望能走的更远一些。算上大学时的数据结构与算法课,今年可以算是第三波学习攻势了。随着学习的深入,对算法的学习渐渐有了些自己的看法和感悟。
一.为什么学习算法?
记得初学算法时不明白为什么费力分析程序的执行步骤后,还要用公式表达出来并求极值。一遍遍的学习渐渐有了领悟:算法研究是用来做大事的!之所以分析效率还求极限,是因为各种算法和数据结构都要研究其在海量输入数据或最坏最不利的情况下的效率表现。如果只是我们每天乏味工作中那三两个数的排序,几十个数值对的哈希,那其实怎样实现都无所谓了。
所以个人觉得,学习算法能提高分析代码、洞察效率的能力,并且它也是我们继续深入学习操作系统、网络编程、数据库的基础。如操作系统管理内存的红黑树,保存进程优先级的最大堆,程序运行时函数调用的栈结构,数据库中的B树索引,大量数据的外部多路归并排序和编译器将表达式解析为树然后遍历等等。所以要想深入计算机科学的内核,算法这一关是必须过的,这也是我的学习计划。
PS:关于我的学习计划:http://blog.csdn.net/dc_726/article/details/7017781。可以看到算法是在整个知识体系的最底层部分,这是我宏伟蓝图的基础,呵呵~
如果你学了感觉它没用,其实不是那样的,只是你还没碰到需要它的场合,杀鸡焉用牛刀,记住它是用来做大事情!
二.算法的学习方法
学习算法如果选择好方法学到最后很可能就什么都不记得了,就像我第一次读《算法导论》时一样,也仔仔细细的看了,还做了些习题,可读完过后感觉什么都没掌握一样。这次重读,我找到了适合自己的方法:
1.《算法导论》中几乎每个数据结构与算法都会有对应的例子和图示用来生动讲解。光看一遍还不够,拿起笔跟着例子走一遍算法的伪代码,看看算法每一步中的值、状态是怎么变化的。这样才能把例子搞透,不然白瞎了《算法导论》里一幅幅那么清楚明了的图示了。
2.搞懂例子,自然就要实现算法了。不管算法多么简单,一定要自己动手实现,切忌手懒啊。实现好一个个算法的代码都保存备份好,这也是一笔财富,而且很有成就感。关于具体用什么语言来实现稍后再说。
3.只是搞清楚了基本的算法还不够,《算法导论》每节后还有不少有价值的习题,特别是每章最后都有一些思考题,其中有的是数据结构进行扩展的,有的是算法的实际应用,一定要好好研究才能更深的理解这一节的知识。例如堆思想的应用:http://blog.csdn.net/dc_726/article/details/7285040例如二叉树的变种:http://blog.csdn.net/dc_726/article/details/7391988
4.最后一定要记笔记,不管是手写的还是博客。笔记不仅方便以后的查找,记笔记的过程也会激发你大脑思考,很多奇思妙想都是动笔头时冒出来的。有关笔记及一些记录工具:http://blog.csdn.net/dc_726/article/details/7068357记住:学习并不浪费时间,浪费时间的是重复学习!
三.实现语言的选择
大学时的数据结构课要求使用的是C++,后来我第一遍学《算法导论》时用的是我最习惯的Java,而现在第二遍学习时我用的却是C。不用我最熟悉的Java而用C的原因是C语言的简洁和指针的强大,这一点在实现复杂一些的数据结构时体现的尤为突出。并且很多底层的东西如操作系统、编译器等也都是C的地盘,因此同时学习C语言和算法对未来的深入学习有着极为重要的作用。暂时放下我的老朋友Java,拥抱C!
四.要把握本质
初学算法时,搞不清楚为什么有那么多的数据结构,那么多的排序算法。散列表不是已经很好了吗,为什么又搞出一堆二叉树?快排不是已经很完美了吗,为什么还有堆排、冒泡、合并排?一遍遍地学习,学会比较各种数据结构和算法后,才能看清这些的设计背后的本质。
1.各种排序
快速排序的确很完美了,但其他排序方法也是有他们的用武之地的。对于输入数据范围已知时,如输入数据都是0到10之间的整数,那么计数排序就可以上场了。又如当输入数据是海量的,没法一次全部拿到内存中排好时,可以将输入数据分成多块,每块拿到内存中排序,之后对每个排好序的块进行多路归并。
快速排序:http://blog.csdn.net/dc_726/article/details/7292361多路归并:http://blog.csdn.net/dc_726/article/details/7262665
2.堆、栈及链表
堆、栈、链表都是再简单不过的数据结构了,但我们学习时不能就局限于对简单应用的掌握,这些简单结构在特定场景或与其他数据结构结合起来使用时会产生巨大的威力。如堆在K路归并中与其他内排序的配合,用栈来实现递归调用(如二叉树的非递归中序遍历)等。二叉树遍历:http://blog.csdn.net/dc_726/article/details/7391288
3.哈希与红黑
散列表性能很好,可是当需要随时动态插入数据时,随着数据越来越多,散列表中的冲突数据也越来越多,这样的静态散列自然要性能下降。可是红黑树却可以保证树的高度从而保证效率,所以尽管红黑树很复杂,但它却是维护动态集合的不错选择。然而散列表也是与时俱进的,动态哈希能够在散列表中数据增多到一定量时自动增大散列表,并重新哈希。这就需要较大的存储空间,但现今的内存白菜价,所以散列表也可以维护动态数据集合了,所以memcached火起来了。
4.树家族
平衡树家族很庞大,有AVL树、红黑树、Treap树以及Size平衡树(SBT)。但学习时要把握住他们的本质:他们都是平衡二叉树,区别只是在如何保持树的高度不会过高上。为何关注树的高度?因为平衡二叉树上各种操作的性能都是由树高来决定的。
此外常见的还有基数树和Trie树。在树结点中保存01或者各种字符,用于排序01串以及文本统计。Trie树的应用:http://blog.csdn.net/dc_726/article/details/7163466
五.算法的等级修炼
我心中对算法有个模糊的分级,学习时可以设定自己短期或长期想要达到的目标。现在快要第二次学完《算法导论》基础部分的十四章了,也只是了解的程度,才刚刚开始有些感悟。都说算法是内功,学习起来需要旷日持久、小火慢熬,所以还要努力啊!
1.了解:了解各种算法和数据结构的基础知识,但对他们的具体应用范围一头雾水。
2.掌握:能够清楚明白各种算法的优劣,并开始学会比较他们的应用场景。
3.选择:至此各种结构与算法已经在我们的锦囊里了,碰到问题时要学会从中拿出合适的。
4.扩展:根据具体问题对现有算法进行简单的扩展和改造,并进行效率分析。
5.设计:能为现实生活中复杂的问题设计全新的数据结构或算法来解决。
结束语
算法是美妙而迷人的,但越深入就需要越强的数学功底。每个人可以根据自己的兴趣浓淡、个人能力为自己制定目标。我自知自己没有那么强的能力,所以个人制定目标等级是3和4之间,也就是能够应用这些现有的数据结构和算法,能简单的扩展和分析就可以了。希望大家也都能为自己制定合适的目标,重要的是享受算法的学习过程。切忌走火入魔啊,哈哈!
【转载:】关于算法学习的总结和感悟
人工智能学习心得
我学习人工智能已经快一年的时间,有许多心得可以和大家分享一下。人工智能,英文是ArtificialIntelligence,简称AI。人工智能,最早是由著名计算机科学家图灵在20世纪50年代提出的,就是著名的“图灵测试”。最近几年,随着深度学习发展,人工智能被运用在各行各业,因此有人把人工智能称为第四次科技革命,他将给人们的生活带来翻天覆地的变化。
人工智能怎么学习呢?
1.AI的基础是数据,是对数据进行挖掘、训练和应用。所以基础中的基础是数学,你得要先掌握高等数学、线性代数、概率论和数理统计等相关知识。
2.学习Python语言。Python最近几年非常火,学习的人非常多,甚至有些地区小学也开设这门课。为什么Python会迅速传红呢?首先,Python编程的代码量只有Java的1/5不到,简单易学。其次,Python的功能强大,写爬虫、游戏开发、自动化运维、机器学习和人工智能领域。最后,Python拥有丰富强大的库,如前端开发的Flask和Django、图形界面的tkInter、矩阵计算numpy、绘图的matplotlib等等。
3.学习各类机器学习和算法模型。这其中主要包含监督学习和非监督学习,监督学习中有:线性回归、逻辑回归、随机森林、SVM、决策树、等。非监督学习有:聚类、KMeans、DBscan等。
4.深度学习可以说是AI的精髓。深度学习主要流行的框架有:Tensorflow、Caffe、MXNet、Keras、Pytorch等。
我觉得自学,还是非常费劲的,效果不一定好,最好有老师指导,否则进展很慢,可以先跟教学视频学习,看书实操,做一些具体的项目等。
以后会不发定期发AI相关的文章,让我们学习AI的路上一同进步!请多多关注,请多多指教!
遗传算法学习心得体会
遗传算法
概念
遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法,它既能在搜索中自动获取和积累有关空间知识,并自适应地控制搜索过程以求得最优解遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近视最优方案。在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近视解。这个过程导致种群中个体的进化,得到的新个体比原个体更适应环境,就像自然界中的改造一样。
应用
遗传算法在人工智能的众多领域具有广泛应用。例如,机器学习、聚类、控制(如煤气管道控制)、规划(如生产任务规划)、设计(如通信网络设计、布局设计)、调度(如作业车间调度、机器调度、运输问题)、配置(机器配置、分配问题)、组合优化(如tsp、背包问题)、函数的最大值以及图像处理和信号处理等等。遗传算法多用应与复杂函数的优化问题中。原理
遗传算法模拟了自然选择和遗传中发生的复制、交叉、和变异等现象,从任一初始种群出发,通过随机选择、交叉、变异操作,产生一群更适合环境的个体,使群体进行到搜索空间中越来越好的区域,这样一代一代地不断繁衍进化,最后收敛到一群最适合环境的个体求得问题的最优解。
算法流程1.编码:解空间中的解数据x,作为作为遗传算法的表现型形式。从表现
型到基本型的映射称为编码。遗传算法在进行搜索之前先将解空间的解数据表示成遗传空间的基本型串结构数据,这些串结构数据的不同的组合就构成了不同的点。2.初始种群的形成:随机产生n个初始串数据,每个串数据称为一个个体,n个串数据构成了一个群体。遗传算法以这n个串结构作为初始点开始迭代。设置进化代数计数器t0;设置最大进行代数t;随机生成m个个体作为初始群体p(0)。3.适应度检测:适应度就是借鉴生物个体对环境的适应程度,适应度函数就是对问题中的个体对象所设计的表征其优劣的一种测度。根据具体问题计算p(t)的适应度。
4.选择:将选择算子作用于群体。选择的目的是把优化的个体直接遗传到
下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的。
5.交叉:将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结
构加以替换重组而生成新个体的操作。遗传算法中起核心作用的就是交叉算子。6.变异:将变异算子作用于群体。即是对群体中的个体串的某些基因座上
的基因值作变动。
群体p(t)经过选择、交叉、变异运算之后得到下一代群体p(t+1)。7.终止条件判断:若t
到的具有最大适应度个体作为最优解输出,终止计算。
遗传算法流程图如下图所示:遗传算法
下几种:适应度比例方法、随机遍历抽样法、局部选择法。
其中轮盘赌选择法是最简单也是最常用的选择方法。在该方法中,各个个体的选择概率和其适应度值成比例。设群体大小为n,其中个体i的适应度为,则i被选择的概率,为遗传算法
2、交叉:在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。同样,遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。
交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。根据编码表示方法的不同,可以有以下的算法:b)二进制交叉(binaryvaluedcroover)1)单点交叉(single-pointcroover)2)多点交叉(multiple-pointcroover)3)均匀交叉(uniformcroover)4)洗牌交叉(shufflecroover)5)缩小代理交叉(crooverwithreducedsurrogate)。
3、变异
变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。依据个体编码表示方法的不同,可以有以下的算法:a)实值变异b)二进制变异。
一般来说,变异算子操作的基本步骤如下:a)对群中所有个体以事先设定的编译概率判断是否进行变异b)对进行变异的个体随机选择变异位进行变异。
例:简单一元函数优化
求下面函数的最大值:
f(x)=xsin(10*pi*x)+2.0,-1
nind=40;%个体数目(numberofindividuals)maxgen=25;%最大遗传代数(maximumnumberofgenerations)preci=20;%变量的二进制位数(precisionofvariables)ggap=0.9;%代沟(generationgap)trace=zeros(2,maxgen);%寻优结果的初始值fieldd=[20;-1;2;1;0;1;1];%区域描述器(buildfielddescriptor)chrom=crtbp(nind,preci);%初始种群gen=0;%代计数器variable=bs2rv(chrom,fieldd);
%计算初始种群的十进制转换
objv=variable.*sin(10*pi*variable)+2.0;%计算目标函数值whilegen
基本概念
遗传算法(geneticalgorithms,ga)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。
它模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。ga的组成:(1)编码(产生初始种群)
(2)适应度函数
(3)遗传算子(选择、交叉、变异)
(4)运行参数
编码
基因在一定能够意义上包含了它所代表的问题的解。基因的编码方式有很多,这也取决于要解决的问题本身。常见的编码方式有:
(1)二进制编码,基因用0或1表示(常用于解决01背包问题)如:基因a:00100011010(代表一个个体的染色体)(2)互换编码(用于解决排序问题,如旅行商问题和调度问题)
如旅行商问题中,一串基因编码用来表示遍历的城市顺序,如:234517986,表示九个城市中,先经过城市2,再经过城市3,依此类推。
(3)树形编码(用于遗传规划中的演化编程或者表示)
如,问题:给定了很多组输入和输出。请你为这些输入输出选择一个函数,使得这个函数把每个输入尽可能近地映射为输出。
编码方法:基因就是树形结构中的一些函数。
(4)值编码(二进制编码不好用时,解决复杂的数值问题)
在值编码中,每个基因就是一串取值。这些取值可以是与问题有关任何值:整数,实数,字符或者其他一些更复杂的东西。
适应度函数
遗传算法对一个个体(解)的好坏用适应度函数值来评价,适应度函数值越大,解的质量越好。适应度函数是遗传算法进化过程的驱动力,也是进行自然选择的唯一标准,它的设计应结合求解问题本身的要求而定。
如tsp问题,遍历各城市路径之和越小越好,这样可以用可能的最大路径长度减去实际经过的路径长度,作为该问题的适应度函数。
遗传算子——选择
遗传算法使用选择运算来实现对群体中的个体进行优胜劣汰操作:适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体,被遗传到下一代群体中的概率小。选择操作的任务就是按某种方法从父代群体中选取一些个体,遗传到下一代群体。sga(基本遗传算法)中采用轮盘赌选择方法。
轮盘赌选择又称比例选择算子,基本思想:各个个体被选中的概率与其适应度函数值大小成正比。设群体大小为n,个体i的适应度为fi,则个体i被选中遗传到下一代群体的概率为:
遗传算子——交叉
所谓交叉运算,是指对两个相互配对的染色体依据交叉概率按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算在ga中起关键作用,是产生新个体的主要方法。1.单交叉点法(用于二进制编码)
选择一个交叉点,子代在交叉点前面的基因从一个父代基因那里得到,后面的部分从另外一个父代基因那里得到。
如:交叉前:
00000|0111000000001000011100|00000111111000101交叉后:
00000|0000011111100010111100|011100000000100002.双交叉点法(用于二进制编码)
选择两个交叉点,子代基因在两个交叉点间部分来自一个父代基因,其余部分来自于另外一个父代基因.如:交叉前:01|0010|1111|0111|01交叉后:11|0010|0101|0111|113.基于“与/或”交叉法(用于二进制编码)对父代按位与”逻辑运算产生一子代a;按位”或”逻辑运算产生另一子代b。该交叉策略在解背包问题中效果较好.如:交叉前:0100101111011101交叉后:01001001110111114.单交叉点法(用于互换编码)
选择一个交叉点,子代的从初始位置出发的部分从一个基因复制,然后在另一个基因中扫描,如果某个位点在子代中没有,就把它添加进去。如:交叉前:87213|0954698356|71420交叉后:
87213|9564098356|721045.部分匹配交叉(pmx)法(用于互换编码)先随机产生两个交叉点,定义这两点间的区域为匹配区域,并用交换两个父代的匹配区域。
父代a:872|130|9546父代b:983|567|1420变为:tempa:872|567|9546tempb:983|130|1420对于tempa、tempb中匹配区域以外出现的数码重复,要依据匹配区域内的位置逐一进行替换。匹配关系:153670子代a:802|567|9143子代b:986|130|54276.顺序交叉法(ox)(用于互换编码)
从父代a随机选一个编码子串,放到子代a的对应位置;子代a空余的位置从父代b中按b的顺序选取(与己有编码不重复)。同理可得子代b。父代a:872|139|0546父代b:983|567|1420交叉后:
子代a:856|139|7420子代b:821|567|39047.循环交叉(cx)法(用于互换编码)cx同ox交叉都是从一个亲代中取一些城市,而其它城市来自另外一个亲代,但是二者不同之处在于:ox中来自第一个亲代的编码子串是随机产生的,而cx却不是,它是根据两个双亲相应位置的编码而确定的。
父代a:123456789|||||父代a:546923781可得循环基因:1->5->2->4->9->1用循环的基因构成子代a,顺序与父代a一样12459用父代b剩余的基因填满子代a:126453789子代b的编码同理。(循环基因5->1->9->4->2->5)
遗传算子——变异变异是指依据变异概率将个体编码串中的某些基因值用其它基因值来替换,从而形成一个新的个体。ga中的变异运算是产生新个体的辅助方法,它决定了ga的局部搜索能力,同时保持种群的多样性。交叉运算和变异运算的相互配合,共同完成对搜索空间的全局搜索和局部搜索。
注:变异概率pm不能太小,这样降低全局搜索能力;也不能太大,pm>0.5,这时ga退化为随机搜索。篇三:计算智能学习心得体会
计算智能学习心得体会
本学期我们水利水电专业开了“计算智能概论”这门课,有我们学院的金菊良教授给我们授课,据说这门课相当难理解,我们课下做了充分的准备,借了计算智能和人工智能相关方面的书籍,并提前了解了一点相关知识,我感觉看着有点先进,给我们以往学的课程有很大区别,是一种全新的概念和理论,里面的遗传算法、模糊集理论、神经网络更是闻所未闻,由于课前读了一些书籍,我以为课堂上应该能容易理解一点,想不到课堂上听着还是相当玄奥,遗传算法还好一点,因为高中学过生物遗传,遗传算法还能理解一点。像模糊集理论神经网络便不知所云了。虽然金老师讲课生动形象,幽默风趣,而且举了好多实际的例子,但有一些理论有点偏难。
多关于ci的解释。
虽然有好多计算智能理论还不太清楚,但是我对新知识还是相当渴望的,因为我本身比较爱学习,且喜欢读书。我感觉学到了许多知识:计算智能是一门经验科学,它研究自然的或人工的智能行为形成之原理以“推理即计算”为基本假设,开发某种理论、说明某项智能可以算法化,从而可以用机器模拟和实现;寻求和接受自然智能之启迪,但不企图完全仿制人类智能,其中心工程目标是研究设计和建立智能计算系统的方法。
由于我们只有16课时,所以我们学的面并不广,金老师主要教了一些计算智能方面的经典理论,我们所学的计算智能所涉及的领域主要包括以下三方面:遗传算法、人工神经网络方法和模糊集理论。
遗传算法最早由美国michigan大学johnh.holland教授提出,
按照生物进化过程中的自然选择(selection)、父代杂交(croover)和子代变异(mutation)的自然进化(naturalevolution)方式,编制的计算机程序,能够解决许多复杂的优化问题,这类新的优化方法称之为遗传算法(geneticalgorithm,ga)[7]。ga模拟生物进化过程中的主要特征有:(1)生物个体的染色体(chromosomes)的结构特征,即基因码序列(seriesofgeneticcode)决定了该个体对其生存环境的适应能力。(2)自然选择在生物群体(population)进化过程中起着主导作用,它决定了群体中那些适应能力(adaptability)强的个体能够生存下来并传宗接代,体现了“优胜劣汰”的进化规律。(3)个体繁殖(杂交)是通过父代个体间交换基因材料来实现的,生成的子代个体的染色体特征可能与父代的相似,也可能与父代的有显著差异,从而有可能改变个体适应环境的能力。
(4)变异使子代个体的染色体有别于其父代个体的染色体,从而也改变了子代个体对其环境的适应能力。(5)生物的进化过程,从微观上看是生物个体的染色体特征不断改善的过程,从宏观上看则是生物个体的适应能力不断提高的过程。作为利用自然选择和群体遗传机制进行高维非线性空间寻优的一类通用方法,遗传算法(ga)不一定能寻得最优(optimal)点,但是它可以找到更优(superior)点,这种思路与人类行为中成功的标志是相似的。例如不必要求某个围棋高手是最优的,要战胜对手只需他(她)比其对手更强即可。因此,ga可能会暂时停留在某些非最优点上,直到变异发生使它迁移到另一更优点上。遗传算法随编码
方式、遗传操作算子的不同而表现为不同形式,因此难以象传统的共轭梯度法那样从形式上给以明确定义,它的识别标志在于它是否具有模拟生物的自然选择和群体遗传机理这一内在特征。目前国内外普遍应用的实施方案是标准遗传算法(simplegeneticalgorithm,sga)。bp神经网络bp神经网络是用反向传播学习算法(back-propagationalgorithm,bp算法)训练的一种多层前馈型非线性映射网络,网络中各神经元接受前一级的输入,并输出到下一级,网络中没有反馈联接。bp神经网络通常可以分为不同的层(级),第j层的输入仅与第j–1层的输出联接。由于输入层节点和输出层节点可与外界相连,直接接受环境的影响,所以称为可见层,而其它中间层则称为隐层(hiddenlayer)。决定一个bp神经网络性质的要素有三个:网络结构、神经元作用函数和学习算法,对这三个要素的研究构成了丰富多彩的内容,尤其是后者被研究得最多。bp算法是目前应用最为广泛且较成功的一种算法,它解决了多层前馈网络的学习问题,从而使该网络在各方面获得了广泛应用。它利用梯度搜索技术(gradientsearchtechnique)使代价函数(costfunction)最小化。bp算法把一组样本的输入输出问题归纳为一非线性优化问题,它使用了最优化方法中最常用的负梯度下降算法。用迭代运算求解网络权重和阈值对应于网络的学习记忆过程,加入隐层节点使得优化问题的可调参数增加,从而可得到更精确的解。
模糊集理论
模糊集理论(又称模糊数学,fuzzymathematics)就是应用模糊集这一模拟人脑模糊思维的数学工具,来描述、分析、识别、分类、判断、推理、决策和控制各种模糊事物所形成的一门现代应用数学分支学科。经典数学仅考虑现实世界的数量而抛弃现实世界的质量,而模糊集理论则反映了现实世界数量与质量的统一性,是对经典数学的一种补充和完善。定义模糊集、模糊关系的不同运算(目前主要是代数运算),就可得到相应的不同模糊数学方法。目前已研究成熟并广为应用的模糊数学方法主要有模糊模式识别、模糊聚类分析、模糊综合评价、模糊推理、模糊控制等方法。在现代科学技术体系中定性因素和主观因素定量化处理的方法至今仍很少,而模糊数学方法正是其中的典型代表,目前已在各科学和工程领域得到了广泛的成功应用,其主要原因在于它异于其它方法的一些显著特点:(1)模糊集的引入改善了二值逻辑中硬性的分类方法,是普通集合的推广,使模糊数学方法更加接近于广泛存在模糊性和不精确性的现实世界,也更加接近于人类思维方式。这些真实性使得模糊数学方法能很好地平衡系统的复杂性与描述系统的精确性,也有助于模糊数学方法充分提取各种专家经验信息和其它人类语言信息。(2)当系统为多输入多输出、强非线性、定性信息与定量信息混杂的动态系统时,系统的数学模型非常复杂或根本就不存在确定性数学模型,常规方法难以或不能有效处理这样的复杂系统,而模糊数学方法可以用建立在语言型经验之上的模糊集及其运算就可以简便有效地处理,有时甚至不需要辅以确定的数学模型。(3)模糊数学方法可以直接利用人类语言型概念及其运算,篇四:遗传算法总结
遗传算法总结
遗传算法是借鉴生物的自然选择和遗传进化机制而开发出的一种全局自适应概率搜索算法。
一、遗传算法流程图
图1遗传算法流程图
二、遗传算法的原理和方法1)染色体编码
把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法就称为编码。dejong曾提出了两条操作性较强的实用编码原则:编码原则一:应使用能易于产生与所求问题相关的且具有低阶、短定义长度模式的编码方案;编码原则二:应使用能使问题得到自然表示或描述的具有最小编码字符集的编码方案。
编码方法主要有以下几种:二进制编码方法、格雷码编码方法、浮点数编码方法、符号编码方法、参数级联编码方法、多参数交叉编码方法。2)适应值计算
由解空间中某一点的目标函数值f(x)到搜索空间中对应个体的适应度函数值fit(f(x))的转换方法基本上有一下三种:a.直接以待解的目标函数值f(x)转化为适应度函数值fit(f(x)),令?f(x)目标函数为最大化函数fit(fx())=???f(x)目标函数为最小化函数?cmax?f(x)f(x)?cmaxb.对于最小值的问题,做下列转化fit(f(x))??,其中cmax是0其他?f(x)的最大输入值。
c.若目标函数为最小值问题,fit(f(x))?1,c?0,c?f(x)?01?c?f(x)1,c?0,c?f(x)?01?c?f(x)若目标函数为最大值问题,fit(f(x))?3)选择、交叉、变异
遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作:根据每个个体的适应度值大小选择。适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体的被遗传到下一代群体中的概率较小。其中选择的方法有:轮盘赌选择、随机竞争选择、最佳保留选择、无回放随机选择、确定式选择等。
遗传算法中的所谓交叉运算,是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。交叉操作主要有单点交叉、两点交叉与多点交叉、均匀交叉和算数交叉四种。
遗传算法中的变异运算,是指将个体染色体编码串中的某些基因座上的基因值用该基因座的其他基因来替换,从而形成一个新的个体。主要有基本位变异、均匀变异、边界变异等几种变异操作方法。4)控制参数选择
交叉概率pcpm
三、算例
minf(x1,x2)?(x1?3)2?(x2?2)22?g1(x1,x2)?x12?x2?5?s.t.?h1(x1,x2)?x1?2x2?4?0?x,x?10,x?n121?(1)1)三种不同的遗传方法
方法一:原模型中x
1、x2均为决策变量,操作如下。a.采用混合整数编码,对x1进行十进制编码,x2进行二进制编码;b.适应度函数值采用fit(f(x1,x2))?1计算,其中c?f(x1,x2)c???max{0,g1(x1,x2)?5}???max{0,|h1(x1,x2)?4|},?=?=10000;c.采用赌轮盘选择、单点交叉和基本位变异;d.pc=0.8,pm=0.1,遗传代数为200,种群中个体数100;e.终止条件为连续十次最优个体保持不变或遗传代数到达200。方法二:已知等式约束h1(x1,x2),可得x2?(4?x1)/2,则原问题可化为minf(x1)?(x1?3)2?((4?x1)?2)22(2)4?x12?2g(x)?x?()?5111?2?s..t?0?x1?10,x1?n?4?x1?0??102?xminf(x1)?(x1?3)2?(1)22即等式约束简化后的模型为4?x12?2g(x)?x?()?5?1s..t?112??0?x1?4,x1?n其中a~b的操作如下,而c~e的操作同方法一。a.对x1进行十进制编码;b.适应度函数值采用fit(f(x1,x2))?(3)1计算,其中c?f(x1,x2)c???max{0,g1(x1,x2)?5},?=10000方法三:在方法二的基础上,改变x1的编码方法,对x1进行二进制编码。由于0?x1?4,且为自然数,则二进制编码至少为3位,但3位的二进制可以表示0~7的整数,所以存在冗余编码。则通过惩罚来排除冗余编码,即适应度函数值采用fit(f(x1,x2))?1计算。c?f(x1,x2)其中c???max{0,g1(x1,x2)?5}???max{0,x1(i)?4},?=10000。x1(i)表示个体解码后的x1。
2)三种方法的计算结果
方法一可得到三个不同的解:
解1:x1?2,x2?1,fit(f(x1,x2))?0.4646,f(x)?2.0000,适应度趋势图如下:图2方法一解1的适应度趋势图
解2:x1?0,x2?2,fit(f(x1,x2))?0.1075,f(x)?9.0000,适应度趋势图如下:篇五:遗传算法学习作业
遗传算法学习总结1.1概述遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的自适应概率性随机化迭代搜索算法。1962年霍兰德(holland)教授首次提出了ga算法的思想,它的基本思想是基于darwin进化论和mendel的遗传演说。darwin进化论最重要的是适者生存的原理,它认为每一代种群总是向着前进方向发展,越来越适应环境。每一个个体都有继承前代的特性,但不是完全继承,会产生一些新特性。最终只有适应环境的特征才能被保留下来。mendel遗传学说最重要的是基因遗传原理,它认为遗传以密码方式存在细胞中,并以基因形式包含在染色体内。一条染色体中存在很多基因,每个基因有自己的位置并控制着外部特征;基因的产生和变异直接影响到个体的特性是否能适应环境。经过存优去劣的自然淘汰,适应性高的基因结构得以保存下来。
遗传算法正是借用了仿真生物遗传学和自然选择机理,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。
与自然界相似,遗传算法对求解问题的本身一无所知,从代表问题可能潜在解集的一个种群(population)开始,每一个种群则由经过基因(gene)编码(coding)的一定数目的个体(individual)构成。每个个体实际上是染色体(chromosome)带有特征的实体。把问题的解表示成染色体,并基于适应值来选择染色体,遗传算法所需要的仅是对算法所产生的每个染色体进行评价,使适应性好的染色体有更多的繁殖机会。在算法中也就是以二进制编码的串。并且,在执行遗传算法之前,给出一群染色体,也就是假设解。然后,把这些假设解置于问题的“环境”中,也即在一个适应度函数中来评价。并按适者生存的原则,从中选择出较适应环境的染色体进行复制,淘汰低适应度的个体,再通过交叉,变异过程产生更适应环境的新一代染色体群。对这个新种群进行下一轮进化,直到最适合环境的值。1.2遗传算法的基本原理和特点1.2.1算法原理
在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗传操作后的个体集合形成下一代新的种群,再对这个新种群进行下一轮进化,这就是遗传算法的基本原理。
遗传算法的主要步骤如下:1)随机产生一个由确定长度的特征串组成的初始群体;2)对串群体迭代地执行步骤(1)和(2),直到满足停止准则:(1)计算群体中每个个体的适应值。(2)应用复制、杂交和变异算子产生下一代群体。3)把在任一代中出现的最好的个体串指定为遗传算法的执行结果。这个结果可以表示问题的一个解(或近似解)。基本遗传算法的流程图如图1-1,其中gen是当前代数,m为每代种群中最大个体数。
图1-1基本遗传算法的流程图1.2.2算法特点
遗传算法的特点如下:1)遗传算法中不包含待解决问题所持有的形态。它是从改变基因的配置来实现问题的整体优化的,因而属于自下而上的优化方法;2)类似于生物的进化过程,遗传算法处理的是变量集合的编码而非变量本身。它直接对结构对象进行操作,不存在求导和函数连续性的限定;3)遗传算法具有内在的隐并行性和更好的全局寻优能力;4)遗传算法采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。
遗传算法的这些特点已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术之一。1.3基本遗传算法的步骤
1.3.1染色体编码(chromosomecoding)与解码(decode)基本遗传算法使用固定长度的二进制符号串来表示群体中的个体,其等位基因由二值{0,1}所组成。初始群体中各个个体的基因可用均匀分布的随机数来生成。例如:x=100111001000101101就可表示一个个体,该个体的染色体长度是n=18。(1)编码:变量x作为实数,可以视为遗传算法的表现型形式。从表现型到基因型的映射称为编码。设某一参数的取值范围为[u1,u2],我们用长度为k的
二进制编码符号来表示该参数,则它总共产生2k种不同的编码,可使参数编码时的对应关系为:
000000?0000=0→u1000000?0001=1→u1+?000000?0010=2→u1+2??111111?1111=2k-1→u2u?u其中,?=2k1。2?1(2)解码:假设某一个体的编码为bkbk-1bk-2?b2b1,则对应的解码公式为x?u1?(?bi?2i?1)?i?1ku2?u1①k2?1例如:设有参数x∈[2,4],现用5位二进制编码对x进行编码,得25=32个二进制串(染色体):
00000,00001,00010,00011,00100,00101,00110,0011101000,01001,01010,01011,01100,01101,01110,0111110000,10001,10010,10011,10100,10101,10110,1011111000,11001,11010,11011,11100,11101,11110,11111对于任一个二进制串,只要代入公式①,就可得到相应的解码,如x22=10101,它对应的十进制为?bi?2i?1=1+0*2+1*22+0*23+1*24=21,则对应参数i?15x的值为2+21*(4-2)/(25-1)=3.3548。1.3.2个体适应度的检测评估
基本遗传算法按与个体适应度成正比的概率来决定当前群体中各个个体遗传到下一代群体中的机会多少。为了正确估计这个概率,要求所有个体的适应度
必须为非负数。所以,根据不同种类的问题,需要预先确定好由目标函数值到个体适应度之间的转换规律,特别是要预先确定好当目标函数值为负数时的处理方法。例如,可选取一个适当大的正数c,使个体的适应度为目标函数值加上正数c。1.3.3遗传算子
基本遗传算法使用下列三种遗传算子:
(1)选择运算使用比例选择算子。比例选择因子是利用比例于各个个体适应度的概率决定其子孙的遗传可能性。若设种群数为m,个体i的适应度为fi,则个体i被选取的概率为pi?fi/?fkk?1m当个体选择的概率给定后,产生[0,1]之间的均匀随机数来决定哪个个体参加交配。若个体的选择概率大,则能被多次选中,它的遗传基因就会在种群中扩大;若个体的选择概率小,则被淘汰。
我们经常采用的是轮盘赌的原理,个体的选择概率是基于它们的性能进行的一些计算。实值范围——总和是所有个体期望的选择概率的总和或当前种群中所有个体原始适应度值的总和。个体采用一对一方式
映像到范围[0,sum]的一连续区间,每一个体区间的大小与对应个体的适应度值相匹配。如图1所示,轮
盘赌轮的周长是6个个体适应度值的总和,个体5是最大适应度个体,它占有最大的区间。选择一个个
体,用在[0,sum]间产生随机数,看此随机数在哪个
个体的区间上,则此个体被选中。重复此过程,直到
所需数量个体被选中为止。
(2)交叉运算使用单点交叉算子。只有一个交叉点位置,任意挑选经过选择操作后种群中两个个体作为交叉对象,随机产生一个交叉点位置,两个个体在交叉点位置互换部分基因码,形成两个子个体,如图2所示。
父个体1父个体21101101100单点交叉子个体1子个体2图2单点交叉示意图
(3)变异运算使用基本位变异算子或均匀变异算子。为了避免问题过早收敛,对于二进制的基因码组成的个体种群,实现基因码的小概率翻转,即0变为1,而1变为0,如图3所示。
变异
图3变异操作示意图1.3.4基本遗传算法的运行参数基本遗传算法有下列4个运行参数需要预先设定,即m,t,pc,pm。m为群体大小,即群体中所含个体的数量,一般取为20~100;t为遗传算法的终止进化代数,一般取为100~500;pc为交叉概率,一般取为0.4~0.99;pm为变异概率,一般取为0.0001~0.1。1.4遗传算法的应用进入90年代后,遗传算法迎来了兴盛发展时期,无论是理论研究还是应用研究都成了十分热门的课题。尤其是遗传算法的应用研究显得格外活跃,不但它的应用领域扩大,而且利用遗传进行优化和规则学习的能力也显著提高,同时产业应用方面的研究也在摸索之中。
遗传算法提供了一种求解复杂系统问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多学科。如工程结构优化、计算数学、制造系统、航空航天、交通、计算机科学、通信、电子学、材料科学等。1)ga在数值优化上的应用
最优化问题是遗传算法经典应用领域,但采用常规方法对于大规模、多峰态函数、含离散变量等问题的有效解决往往存在许多障碍。对全局变化问题,目前存在确定性和非确定性两类方法。前者以brianin的下降轨线法、levy的隧道法和r.ge的填充函数为代表。该类方法虽然收敛快、计算效率高,但算法复杂,求得全局极值的概率不大。遗传算法作为现代最优化的手段,实践证明,它应用于大规模、多峰多态函数、含离散变量等情况下的全局优化问题是合适的,在求解速度和质量上远远超过常规方法。2)ga在组合优化中的应用
3)遗传算法在机器学习中的应用
机器学习系统实际上是对人的学习机制的一种抽象和模拟,是一种理想的学习模型。基于符号学习的机器学习系统如监督型学习系统、条件反射学习系统、类比式学习系统、推理学习系统等,只具备一些较初级的学习能力。近年来,由于遗传算法的发展,基于进化机制遗传学习成为一种新的机器学习方法,它将知识表达为另一种符号形式—遗传基因型,通过模拟生物的进化过程,实现专门领域知识的合理增长型学习。4)遗传算法在并行处理中的应用遗传算法固有的并行性和大规模并行机的快速发展,促使许多研究者开始研究遗传算法的并行化问题,研究数量更加接近自然界的软件群体将成为可能。遗传算法与并行计算的结合,能把并行机的高速性和遗传算法固有的并行性两者的长处彼此结合起来,从而也促进了并行遗传算法的研究与发展。
遗传算法的应用及研究动向
基于遗传算法的优化设计论文
基于遗传算法的车牌定位技术研究论文
基于C#运用遗传算法的排课系统概要
基于改进遗传算法的配送路径优化方案
数据挖掘与知识发现(讲稿9遗传算法)
遗传算法的机器人控制系统优化设计作用论文
基于遗传算法的排课系统设计开题报告
学习心得体会
学习心得体会
《遗传算法学习心得体会.doc》将本文的Word文档下载到电脑,方便编辑。推荐度:点击下载文档相关专题遗传算法学习心得学习心得体会人工智能学习心得
第1篇第2篇第3篇第4篇第5篇更多顶部目录第一篇:人工智能学习心得第二篇:人工智能学习论文第三篇:《人工智能》学习报告第四篇:对人工智能学习的感想第五篇:人工智能学习更多相关范文正文第一篇:人工智能学习心得人工智能学习心得
对人工智能的理解
通过这学期的学习,我对人工智能有了一定的感性认识,个人觉得人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。人工智能的定义可以分为两部分,即“人工”和“智能”。“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统。关于什么是“智能”,就问题多多了。这涉及到其它诸如意识、自我、思维等等问题。人唯一了解的智能是人本身的智能,这是普遍认同的观点。但是我们对我们自身智能的理解都非常有限,对构成人的智能的必要元素也了解有限,所以就很难定义什么是“人工”制造的“智能”了。关于人工智能一个大家比较容易接受的定义是这样的:人工智能是人造的智能,是计算机科学、逻辑学、认知科学交叉形成的一门科学,简称ai。
人工智能的发展历史大致可以分为这几个阶段:
第一阶段:50年代人工智能的兴起和冷落
人工智能概念首次提出后,相继出现了一批显著的成果,如机器定理证明、跳棋程序、通用问题s求解程序、lisp表处理语言等。但由于消解法推理能力的有限,以及机器翻译等的失败,使人工智能走入了低谷。
第二阶段:60年代末到70年代,专家系统出现,使人工智能研究出现新高潮。dendral化学质谱分析系统、mycin疾病诊断和治疗系统、prospectior探矿系统、hearsay-ii语音理解系统等专家系统的研究和开发,将人工智能引向了实用化。并且,1969年成立了国际人工智能联合会议
第三阶段:80年代,随着第五代计算机的研制,人工智能得到了很大发展。日本1982年开始了”第五代计算机研制计划”,即”知识信息处理计算机系统kips”,其目的是使逻辑推理达到数值运算那么快。虽然此计划最终失败,但它的开展形成了一股研究人工智能的热潮。
第四阶段:80年代末,神经网络飞速发展。
1987年,美国召开第一次神经网络国际会议,宣告了这一新学科的诞生。此后,各国在神经网络方面的投资逐渐增加,神经网络迅速发展起来。
第五阶段:90年代,人工智能出现新的研究高潮
由于网络技术特别是国际互连网的技术发展,人工智能开始由单个智能主体研究转向基于网络环境下的分布式人工智能研究。不仅研究基于同一目标的分布式问题求解,而且研究多个智能主体的多目标问题求解,将人工智能更面向实用。另外,由于hopfield多层神经网络模型的提出,使人工神经网络研究与应用出现了欣欣向荣的景象。人工智能已深入到社会生活的各个领域。
对人工智能对世界的影响的感受及未来畅想
最近看了电影《黑客帝国》一系列,对其中的科幻生活有了很大的兴趣,不觉有了疑问:现在的世界是否会如电影中一样呢?人工智能的神话是否会发生
在当前社会中的呢?
在黑客帝国的世界里,程序员成为了耶稣,控制着整个世界,黑客帝国之所以成为经典,我认为,不是因为飞来飞去的超级人物,而是因为她暗自揭示了一个人与计算机世界的关系,一个发展趋势。谁知道200年以后会不会是智能机器统治了世界?
人类正向信息化的时代迈进,信息化是当前时代的主旋律。信息抽象结晶为知识,知识构成智能的基础。因此,信息化到知识化再到智能化,必将成为人类社会发展的趋势。人工智能已经并且广泛而有深入的结合到科学技术的各门学科和社会的各个领域中,她的概念,方法和技术正在各行各业广泛渗透。而在我们的身边,智能化的例子也屡见不鲜。在军事、工业和医学等领域中人工智能的应用已经显示出了它具有明显的经济效益潜力,和提升人们生活水平的最大便利性和先进性。
智能是一个宽泛的概念。智能是人类具有的特征之一。然而,对于什么是人类智能(或者说智力),科学界至今还没有给出令人满意的定义。有人从生物学角度定义为“中枢神经系统的功能”,有人从心理学角度定义为“进行抽象思维的能力”,甚至有人同义反复地把它定义为“获得能力的能力”,或者不求甚解地说它“就是智力测验所测量的那种东西”。这些都不能准确的说明人工智能的确切内涵。
虽然难于下定义,但人工智能的发展已经是当前信息化社会的迫切要求,同时研究人工智能也对探索人类自身智能的奥秘提供有益的帮助。所以每一次人工智能技术的进步都将带动计算机科学的大跨步前进。如果将现有的计算机技术、人工智能技术及自然科学的某些相关领域结合,并有一定的理论实践依据,计算机将拥有一个新的发展方向。
个人觉得研究人工智能的目的,一方面是要创造出具有智能的机器,另一方面是要弄清人类智能的本质,因此,人工智能既属于工程的范畴,又属于科学的范畴。通过研究和开发人工智能,可以辅助,部分替代甚至拓宽人类的智能,使计算机更好的造福人类。
人工智能研究的近期目标;是使现有的计算机不仅能做一般的数值计算及非数值信息的数据处理,而且能运用知识处理问题,能模拟人类的部分智能行为。按照这一目标,根据现行的计算机的特点研究实现智能的有关理论、技术和方法,建立相应的智能系统。例如目前研究开发的专家系统,机器翻译系统、模式识别系统、机器学习系统、机器人等。随着社会的发展,技术的进步,人工智能的发展是任何人都无法想象的。通过对人工智能的学习,以及与所听所见所闻的结合,我大胆的对未来人工智能的发展做出了以下拙劣的猜想:
一,融合阶段(2014—2014年):
1、在某些城市,立法机关将主要采用人工智能专家系统来制定新的法律。
2、人们可以用语言来操纵和控制智能化计算机、互联网、收音机、电视机和移动电话,远程医疗和远程保健等远程服务变得更为完善。
3、智能化计算机和互联网在教育中扮演了重要角色,远程教育十分普及。
4、随着信息技术、生物技术和纳米技术的发展,人工智能科学逐渐完善。
5、许多植入了芯片的人体组成了人体通信网络(以后甚至可以不用植入任何芯片)。比如,将微型超级计算机植入人脑,人们就可通过植入的芯片直接进行通信。
6、抗病毒程序可以防止各种非自然因素引发灾难。
7、随着人工智能的加速发展,新制定的法律不仅可以用来更好地保护人类健康,而且能大幅度提高全社会的文明水准。比如,法律可以保护人们免受电磁烟雾的侵害,可以规范家用机器人的使用,可以更加有效地保护数据,可以禁止计算机合成技术在一些文化和艺术方面的应用(比如禁止合成电视名人),可以禁止编写具有自我保护意识的计算机程序。
三、自我发展阶段(2014—2014年):
1、智能化计算机和互联网既能自我修复,也能自行进行科学研究,还能自己生产产品。
2、一些新型材料的出现,促使智能化向更高层次发展。
3、用可植入芯片实现人类、计算机和鲸目动物之间的直接通信,在以后的发展中甚至不用植入芯片也可实现此项功能。
4、制定“机器人法”等新的法律来约束机器人的行为,使人们不受机器人的侵害。
5、高水准的智能化技术可以使火星表面环境适合人类居住和发展。
四、升华阶段(2014—2014年):
1、信息化的世界进一步发展成全息模式的世界。
2、人工智能系统可从环境中采集全息信息,身处某地的人们可以更容易地了解和知晓其他地方的情况。
3、人们对一些目前无法解释的自然现象会有更清楚的认识和更完善的解释,并将这些全新的知识应用在医疗、保健和安全等领域。
4、人工智能可以模仿人类的智能,因此会出现有关法律来规范这些行为。人工智能一但拥有长足的进步,必将带动其他计算机技术的发展。网络化将虚拟的世界变得无限大,届时,足不出户将成为一种习惯。人工智能必将带动人类的发展,起到决定性作用。
虽然不知道其中有多少在未来会得到实现,但也算是我通过对人工智能的学习所收获的总结。人工智能的繁荣景象和光明前景已展示出其诱人的魅力,让我们一起期待未来的世界吧,一个全新的人工智能世界。
第二篇:人工智能学习论文20147932唐雪琴
人工智能研究最新进展综述
一、研究领域
在大多数数学科中存在着几个不同的研究领域,每个领域都有着特有的感兴趣的研究课题、研究技术和术语。在人工智能中,这样的领域包括自然语言处理、自动定理证明、自动程序设计、智能检索、智能调度、机器学习、专家系统、机器人学、智能控制、模式识别、视觉系统、神经网络、agent、计算智能、问题求解、人工生命、人工智能方法、程序设计语言等。
在过去50多年里,已经建立了一些具有人工智能的计算机系统;例如,能够求解微分方程的,下棋的,设计分析集成电路的,合成人类自然语言的,检索情报的,诊断疾病以及控制控制太空飞行器、地面移动机器人和水下机器人的具有不同程度人工智能的计算机系统。人工智能是一种外向型的学科,它不但要求研究它的人懂得人工智能的知识,而且要求有比较扎实的数学基础,哲学和生物学基础,只有这样才可能让一台什么也不知道的机器模拟人的思维。因为人工智能的研究领域十分广阔,它总的来说是面向应用的,也就说什么地方有人在工作,它就可以用在什么地方,因为人工智能的最根本目的还是要模拟人类的思维。参照人在各种活动中的功能,我们可以得到人工智能的领域也不过就是代替人的活动而已。哪个领域有人进行的智力活动,哪个领域就是人工智能研究的领域。人工智能就是为了应用机器的长处来帮助人类进行智力活动。人工智能研究的目的就是要模拟人类神经系统的功能。
二、各领域国内外研究现状(进展成果)近年来,人工智能的研究和应用出现了许多新的领域,它们是传统人工智能的延伸和扩展。在新世纪开始的时候,这些新研究已引起人们的更密切关注。这些新领域有分布式人工智能与艾真体(agent)、计算智能与进化计算、数据挖掘与知识发现,以及人工生命等。下面逐一加以概略介绍。
1、分布式人工智能与艾真体
分布式人工智能(distributedai,dai)是分布式计算与人工智能结合的结果。dai系统以鲁棒性作为控制系统质量的标准,并具有互操作性,即不同的异构系统在快速变化的环境中具有交换信息和协同工作的能力。
分布式人工智能的研究目标是要创建一种能够描述自然系统和社会系统的精确概念模型。dai中的智能并非独立存在的概念,只能在团体协作中实现,因而其主要研究问题是各艾真体间的合作与对话,包括分布式问题求解和多艾真体系统(multiagentsystem,mas)两领域。其中,分布式问题求解把一个具体的求解问题划分为多个相互合作和知识共享的模块或结点。多艾真体系统则研究各艾真体间智能行为的协调,包括规划、知识、技术和动作的协调。这两个研究领域都要研究知识、资源和控制的划分问题,但分布式问题求解往往含有一个全局的概念模型、问题和成功标准,而mas则含有多个局部的概念模型、问题和成功标准。
mas更能体现人类的社会智能,具有更大的灵活性和适应性,更适合开放和动
态的世界环境,因而倍受重视,已成为人工智能以至计算机科学和控制科学与工程的研究热点。当前,艾真体和mas的研究包括理论、体系结构、语言、合作与协调、通讯和交互技术、mas学习和应用等。mas已在自动驾驶、机器人导航、机场管理、电力管理和信息检索等方面获得应用。
2、计算智能与进化计算
计算智能(computingintelligence)涉及神经计算、模糊计算、进化计算等研究领域。其中,神经计算和模糊计算已有较长的研究历史,而进化计算则是较新的研究领域。在此仅对进化计算加以说明。
进化计算(evolutionarycomputation)是指一类以达尔文进化论为依据来设计、控制和优化人工系统的技术和方法的总称,它包括遗传算法(geneticalgorithms)、进化策略(evolutionarystrategies)和进化规划(evolutionaryprogramming)。它们遵循相同的指导思想,但彼此存在一定差别。同时,进化计算的研究关注学科的交叉和广泛的应用背景,因而引入了许多新的方法和特征,彼此间难于分类,这些都统称为进化计算方法。目前,进化计算被广泛运用于许多复杂系统的自适应控制和复杂优化问题等研究领域,如并行计算、机器学习、电路设计、神经网络、基于艾真体的仿真、元胞自动机等。
达尔文进化论是一种鲁棒的搜索和优化机制,对计算机科学,特别是对人工智能的发展产生了很大的影响。大多数生物体通过自然选择和有性生殖进行进化。自然选择决定了群体中哪些个体能够生存和繁殖,有性生殖保证了后代基因中的混合和重组。自然选择的原则是适者生存,即物竞天择,优胜劣汰。
直到几年前,遗传算法、进化规划、进化策略三个领域的研究才开始交流,并发现它们的共同理论基础是生物进化论。因此,把这三种方法统称为进化计算,而把相应的算法称为进化算法。
3、数据挖掘与知识发现
知识获取是知识信息处理的关键问题之一。20世纪80年代人们在知识发现方面取得了一定的进展。利用样本,通过归纳学习,或者与神经计算结合起来进行知识获取已有一些试验系统。数据挖掘和知识发现是90年代初期新崛起的一个活跃的研究领域。在数据库基础上实现的知识发现系统,通过综合运用统计学、粗糙集、模糊数学、机器学习和专家系统等多种学习手段和方法,从大量的数据中提炼出抽象的知识,从而揭示出蕴涵在这些数据背后的客观世界的内在联系和本质规律,实现知识的自动获取。这是一个富有挑战性、并具有广阔应用前景的研究课题。
从数据库获取知识,即从数据中挖掘并发现知识,首先要解决被发现知识的表达问题。最好的表达方式是自然语言,因为它是人类的思维和交流语言。知识表示的最根本问题就是如何形成用自然语言表达的概念。
机器知识发现始于1974年,并在此后十年中获得一些进展。这些进展往往与专家系统的知识获取研究有关。到20世纪80年代末,数据挖掘取得突破。越来越多的研究者加入到知识发现和数据挖掘的研究行列。现在,知识发现和数据挖掘已成为人工智能研究的又一热点。
比较成功的知识发现系统有用于超级市场商品数据分析、解释和报告的
coverstory系统,用于概念性数据分析和查寻感兴趣关系的集成化系统explora,交互式大型数据库分析工具kdw,用于自动分析大规模天空观测数据的skicat系统,以及通用的数据库知识发现系统kdd等。
4、人工生命
人工生命(artificiallife,alife)的概念是由美国圣菲研究所非线性研究组的兰顿(langton)于1987年提出的,旨在用计算机和精密机械等人工媒介生成或构造出能够表现自然生命系统行为特征的仿真系统或模型系统。自然生命系统行为具有自组织、自复制、自修复等特征以及形成这些特征的混沌动力学、进化和环境适应。
人工生命所研究的人造系统能够演示具有自然生命系统特征的行为,在“生命之所能”(lifeasitcouldbe)的广阔范围内深入研究“生命之所知”(lifeasweknowit)的实质。只有从“生命之所能”的广泛内容来考察生命,才能真正理解生物的本质。人工生命与生命的形式化基础有关。生物学从问题的顶层开始,把器官、组织、细胞、细胞膜,直到分子,以探索生命的奥秘和机理。人工生命则从问题的底层开始,把器官作为简单机构的宏观群体来考察,自底向上进行综合,把简单的由规则支配的对象构成更大的集合,并在交互作用中研究非线性系统的类似生命的全局动力学特性。
人工生命的理论和方法有别于传统人工智能和神经网络的理论和方法。人工生命把生命现象所体现的自适应机理通过计算机进行仿真,对相关非线性对象进行更真实的动态描述和动态特征研究。
人工生命学科的研究内容包括生命现象的仿生系统、人工建模与仿真、进化动力学、人工生命的计算理论、进化与学习综合系统以及人工生命的应用等。比较典型的人工生命研究有计算机病毒、计算机进程、进化机器人、自催化网络、细胞自动机、人工核苷酸和人工脑等。
三、学了人工智能课程的收获
(1)了解人工智能的概念和人工智能的发展,了解国际人工智能的主要流派和路线,了解国内人工智能研究的基本情况,熟悉人工智能的研究领域。
(2)较详细地论述知识表示的各种主要方法。重点掌握了状态空间法、问题归约法和谓词逻辑法,熟悉语义网络法,了解知识表示的其他方法,如框架法、剧本法、过程法等。
(3)掌握了盲目搜索和启发式搜索的基本原理和算法,特别是宽度优先搜索、深度优先搜索、等代价搜索、启发式搜索、有序搜索、a*算法等。了解博弈树搜索、遗传算法和模拟退火算法的基本方法。
(4)掌握了消解原理、规则演绎系统和产生式系统的技术、了解不确定性推理、非单调推理的概念。
(5)概括性地了解了人工智能的主要应用领域,如专家系统、机器学习、规划系统、自然语言理解和智能控制等。
(6)基本了解人工智能程序设计的语言和工具。
四、对人工智能研究的展望
对现代社会的影响有多大?工业领域,尤其是制造业,已成功地使用了人工智能技术,包括智能设计、虚拟制造、在线分析、智能调度、仿真和规划等。金融业,股票商利用智能系统辅助其分析,判断和决策;应用卡欺诈检测系统业已得到普遍应用。人工智能还渗透到人们的日常生活,cad,cam,cai,cap,cims等一系列智能产品给大家带来了极大的方便,它还改变了传统的通信方式,语音拨号,手写短信的智能手机越来越人性化。
人工智能还影响了你们的文化和娱乐生活,引发人们更深层次的精神和哲学层面的思考,从施瓦辛格主演的《终结者》系列,到基努.里维斯主演的《黑客帝国》系列以及斯皮尔伯格导演的《人工智能》,都有意无意的提出了同样的问题:我们应该如何看待人工智能?如何看待具有智能的机器?会不会有一天机器的智能将超过人的智能?问题的答案也许千差万别,我个人认为上述担心不太可能成为现实,因为我们理解人工智能并不是让它取代人类智能,而是让它模拟人类智能,从而更好地为人类服务。
当前人工智能技术发展迅速,新思想,新理论,新技术不断涌现,如模糊技术,模糊--神经网络,遗传算法,进化程序设计,混沌理论,人工生命,计算智能等。以agent概念为基础的分布式人工智能正在异军突起,特别是对于软件的开发,“面向agent技术”将是继“面向对象技术”后的又一突破。从万维网到人工智能的研究正在如火如荼的开展。
五、对课程的建议
(1)能够结合现在最新研究成果着重讲解重点知识,以及讲述在一些研究成
果中人工智能那些知识被应用。
(2)多推荐一些过于人工智能方面的电影,如:《终结者》系列、《黑客帝国》
系列、《人工智能》等,从而增加同学对这门课程学习的兴趣。
(3)条件允许的话,可以安排一些实验课程,让同学们自己制作一些简单的
作品,增强同学对人工智能的兴趣,加强同学之间的学习。
(4)课堂上多讲解一些人工智能在各个领域方面的应用,以及着重阐述一些
新的和正在研究的人工智能方法与技术,让同学们可以了解近期发展起来的方法和技术,在讲解时最好多举例,再结合原理进行讲解,更助于同学们对人工智能的理解。
第三篇:《人工智能》学习报告深圳大学硕士研究生课程作业—人工智能
《人工智能》学习报告
深圳大学机电与控制工程学院彭建柳
学号:0943010210
1.引言
人工智能(artificialintelligence,ai),曾经有一部电影,著名导演斯蒂文?斯皮尔伯格的科幻片《人工智能》(a.i.)对许多人的头脑又一次产生了震动,引起了一些人士了解并探索人工智能领域的兴趣。人工智能对于普通人来说是那样的可望而不可及,然而它却吸引了无数研究人员为之奉献才智,从美国的麻省理工学院(mit)、卡内基-梅隆大学(cmu)到ibm公司,再到日本的本田公司、sony公司以及国内的清华大学、中科院等科研院所,全世界的实验室都在进行着ai技术的实验。
一直以来,关于人工智能的理论,我一直认为是科学的前沿,理解起来较为飘渺。但是,从本学期《人工智能》课程的学习中,本人较系统的接触到了关于人工智能的理论,从有限的课程中,通过老师的详细介绍和查阅人工智能方面的书籍,学习了关于人工智能几个主要方面的知识,如模糊控制、专家系统、神经网络等。下面是本人关于人工智能理论的一些基本认识。
2.人工智能的形成与发展
说到人工智能,首先先认识下自动控制理论,自动控制理论从形成到发展至今,已经经历了六十多年的历程,其主要分为三个阶段:
第一阶段是40年代兴起的以调节原理为标志,称为经典控制理论阶段;
第二阶段是以60年代兴起的以状态空间为标志,称为现代控制理论阶段;
第三阶段是80年代兴起的智能控制理论阶段
智能控制是在控制论人工智能系统论和信息论等多学科的高度综合与集成,是一门新兴的交叉前沿学科。智能控制技术,即是在无人干预的情况下能自主地驱动智能机器实现控制目标的自动控制技术。对许多复杂的系统,难以建立有效的数学模型和用常规的控制理论去进行定量计算和分析,而必须采用定量方法与定性方法相结合的控制方式。定量方法与定性方法相结合的目的是,要由机器用类似于人的智慧和经验来引导求解过程。因此,在研究和设计智能系统时,主要注意力不放在数学公式的表达、计算和处理方面,而是放在对任
第1页共4页
务和现实模型的描述、符号和环境的识别以及知识库和推理机的开发上,即智能控制的关键问题不是设计常规控制器,而是研制智能机器的模型。此外,智能控制的核心在高层控制,即组织控制。高层控制是对实际环境或过程进行组织、决策和规划,以实现问题求解。为了完成这些任务,需要采用符号信息处理、启发式程序设计、知识表示、自动推理和决策等有关技术。这些问题求解过程与人脑的思维过程有一定的相似性,即具有一定程度的“智能”。
随着人工智能和计算机技术的发展,已经有可能把自动控制和人工智能以及系统科学中一些有关学科分支(如系统工程、系统学、运筹学、信息论)结合起来,建立一种适用于复杂系统的控制理论和技术。智能控制正是在这种条件下产生的。它是自动控制技术的最新发展阶段,也是用计算机模拟人类智能进行控制的研究领域。1965年,傅京孙首先提出把人工智能的启发式推理规则用于学习控制系统。1985年,在美国首次召开了智能控制学术讨论会。1987年又在美国召开了智能控制的首届国际学术会议,标志着智能控制作为一个新的学科分支得到承认。智能控制具有交叉学科和定量与定性相结合的分析方法和特点。
3.模糊控制
在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键,系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种方法来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系统,则显得无能为力了。因此便尝试着以模糊数学来处理这些控制问题。通过课堂中,导师生动的讲解,以及引用到生活当中鲜活的例子,如冰箱温度的模糊控制,智能汽车的行驶路线控制等等,充分的认识到,模糊控制在当今社会的应用已经很广泛,只是理论知识的缺乏而感觉不到它们的存在。
一般控制架构包括:定义变量、模糊化、知识库、逻辑判断及反模糊化,详细如下:
(1)定义变量:也就是决定程序被观察的状况及考虑控制的动作,例如在一般控制问题上,输入变量有输出误差e与输出误差之变化率ce,而控制变量
则为下一个状态之输入u。其中e、ce、u统称为模糊变量。
(2)模糊化(fuzzify):将输入值以适当的比例转换到论域的数值,利用口语化变量来描述测量物理量的过程,依适合的语言值(linguisitcvalue)求该值相对之隶属度,此口语化变量我们称之为模糊子集合(fuzzysubsets)。
(3)知识库:包括数据库(database)与规则库(rulebase)两部分,其中数据库是提供处理模糊数据之相关定义;而规则库则藉由一群语言控制规则描述控制目标和策略。
(4)逻辑判断:模仿人类下判断时的模糊概念,运用模糊逻辑和模糊推论法进行推论,而得到模糊控制讯号。此部分是模糊控制器的精髓所在。
(5)解模糊化(defuzzify):将推论所得到的模糊值转换为明确的控制讯号,做为系统的输入值。
模糊控制很重要的一点就是模糊规则的制定,其规则制定的来源主要由专家的经验和知识、操作员的操作模式、自学习提供。模糊规则的形式则分为状态评估和目标评估两种。但都是以模糊控制为基础,达到自动控制的目的。
4.专家系统
专家系统(expertsystem)是人工智能应用研究最活跃和最广泛的课题之
一。运用特定领域的专门知识,通过推理来模拟通常由人类专家才能解决的各种复杂的、具体的问题,达到与专家具有同等解决问题能力的计算机智能程序系统。它能对决策的过程作出解释,并有学习功能,即能自动增长解决问题所需的知识。
专家系统的发展已经历了3个阶段,正向第四代过渡和发展。第一代专家系统(dendral、macsyma等)以高度专业化、求解专门问题的能力强为特点。但在体系结构的完整性、可移植性等方面存在缺陷,求解问题的能力弱。第二代专家系统(mycin、casnet、prospector、hearsay等)属单学科专业型、应用型系统,其体系结构较完整,移植性方面也有所改善,而且在系统的人机接口、解释机制、知识获取技术、不确定推理技术、增强专家系统的知识表示和推理方法的启发性、通用性等方面都有所改进。第三代专家系统属多学科综合型系统,采用多种人工智能语言,综合采用各种知识表示方法和多种推理机制及控制策略,并开始运用各种知识工程语言、骨架系统及专家系统开发工具和
环境来研制大型综合专家系统。在总结前三代专家系统的设计方法和实现技术的基础上,已开始采用大型多专家协作系统、多种知识表示、综合知识库、自组织解题机制、多学科协同解题与并行推理、专家系统工具与环境、人工神经网络知识获取及学习机制等最新人工智能技术来实现具有多知识库、多主体的第四代专家系统。
对专家系统可以按不同的方法分类。通常,可以按应用领域、知识表示方法、控制策略、任务类型等分类。如按任务类型来划分,常见的有解释型、预测型、诊断型、调试型、维护型、规划型、设计型、监督型、控制型、教育型等。
简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
5.神经网络
由于神经网络是多学科交叉的产物,各个相关的学科领域对神经网络都有各自的看法,因此,关于神经网络的定义,在科学界存在许多不同的见解。目前使用得最广泛的是t.koholen的定义,即“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。”
人工神经网络是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
6.小结
关于人工智能的学习,我现在所学习到的仅仅是皮毛。但对于一个刚刚接触人工智能学习的学生,了解如模糊控制、专家系统、神经网络等人工智能的知识入门尤为重要,为将来进一步学习人工智能的理论打下基础,并将理论应用于生活和工作当中,这才是学习的最终目的。
参考文献:
《人工智能控制》作者:蔡自兴,出版社:化学工业出版社,2014-7-1
第四篇:对人工智能学习的感想学校:
学院:班级:
姓名:学号:
谈谈人工智能的学习感想
人工智能(artificialintelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
人工智能技术导论这门课的学习,让我知道了人工智能从诞生发展到今天经历了一条漫长的路,许多科研人员为此而不懈努力。人工智能的开始可以追溯到电子学出现以前。象布尔和其他一些哲学家和数学家建立的理论原则后来成为人工智能逻辑学的基础。而人工智能真正引起研究者的兴趣则是1943年计算机发明以后的事。技术的发展最终使得人们可以仿真人类的智能行为,至少看起来不太遥远。接下来的四十年里,尽管碰到许多阻碍,人工智能仍然从最初只有十几个研究者成长到现在数以千计的工程师和专家在研究;从一开始只有一些下棋的小程序到现在的用于疾病诊断的专家系统,人工智能的发展有目共睹。
人工智能经过几十年的发展,其应用在不少领域得到发展,在我们的日常生活和学习当中也有许多地方得到应用。我通过网络查找,知道了以下领域的人工智能的发展。
1.机器翻译
机器翻译是利用计算机把一种自然语言转变成另一种自然语言的过程,用以完成这一过程的软件系统叫做机器翻译系统。几十年来,国内外许多专家、学者为机器翻译的研究付出了大量的心血和汗水。虽然至今还没有一个实用、全面、高质量的自动翻译系统出现,不过也取得了很大的进展,特别是作为人们的辅助翻译工具,机器翻译已经得到大多数人的认可。目前,国内的机器翻译软件不下百种,根据这些软件的翻译特点,大致可以分为三大类:词典翻译类、汉化翻译类和专业翻译类。词典类翻译软件代表是“金山词霸”了,堪称是多快好省的电子词典,它可以迅速查询英文单词或词组的词义,并提供单词的发音,为用户了解单词或词组含义提供了极大的便利。汉化翻译软件的典型代表是“东方快车2014”,它首先提出了“智能汉化”的概念,使翻译软件的辅助翻译作用更加明显。以“译星”、“雅信译霸”为代表的专业翻译系统,是面对专业或行业用户的翻译软件,但其专业翻译的质量与人们的实用性还有不少差距,有人评价说“满篇英文难不住,满篇中文看不懂”,该说法虽然比较极端,但机译译文的质量确实却一直是个老大难问题。这里,我们不妨对现有的机译和人译过程作一比较,从中可以看出一些原因。
机器翻译:
1.一句一句处理,上下文缺乏联系;
2.对源语言的分析只是求解句法关系,完全不是意义上的理解;
3.缺乏领域知识,从计算机到医学,从化工到法律都通用,就换专业词典;
4.译文转换是基于源语言的句法结构的,受源语言的句法结构的束缚;
5.翻译只是句法结构的和词汇的机械对应。
人工翻译:
1.一般会先通读全文,会前后照应;
2.对源语言是求得意义上的理解;
3.只有专业翻译人员,而没有万能翻译人员;
4.译文是基于他对源语言的理解,不受源语言的句法结构的束缚;
5.翻译是一个再创造的过程。
在目前的情况下,计算机辅助翻译应该是一个比较好的实际选择。事实上,在很多领域中,计算机辅助人类工作的方式已经得到了广泛的应用,例如cad软件。如果计算机辅助技术用于语言的翻译研究,应该同样可以起到很大的辅助作用,这就是所谓的“计算机辅助翻译”。它集机器记忆式翻译、语法分析式翻译和人际交互式翻译为一体,把翻译过程中机械、重复、琐碎的工作交给计算机来完成。这样,翻译者只需将精力集中在创造性的思考上,有利于工作效率的提高。
机器翻译研究归根结底是一个知识处理问题,它涉及到有关语言内的知识、语言间的知识、以及语言外的世界知识,其中包括常识和相关领域的专门知识。随着因特网的普及与发展,机器翻译的应用前景十分广阔。作为人类探索自己智能和操作知识的机制的窗口,机器翻译的研究与应用将更加诱人。国际上有关专家分析认为机器翻译要想达到类似人工翻译一样的流畅程度,至少还要经历15年时间的持续研究,但在人类对语言研究还没有清楚“人脑是如何进行语言的模糊识别和判断”的情况下,机器翻译要想达到100%的准确率是不可能的。
2.专家系统
专家系统是一种模拟人类专家解决领域问题的计算机程序系统。专家系统内部含有大量的某个领域的专家水平的知识与经验,能够运用人类专家的知识和解决问题的方法进行推理和判断,模拟人类专家的决策过程,来解决该领域的复杂问题。专家系统是人工智能应用研究最活跃和最广泛的应用领域之一,涉及到社会各个方面,各种专家系统已遍布各个专业领域,取得很大的成功。根据专家系统处理的问题的类型,把专家系统分为解释型、诊断型、调试型、维修型、教育型、预测型、规划型、设计型和控制型等10种类型。具体应用就很多了,例如血液凝结疾病诊断系统、电话电缆维护专家系统、花布图案设计和花布印染专家系统等等。
为了实现专家系统,必须要存储有该专门领域中经过事先总结、分析并按某种模式表示的专家知识(组成知识库),以及拥有类似于领域专家解决实际问题的推理机制(构成推理机)。系统能对输入信息进行处理,并运用知识进行推理,做出决策和判断,其解决问题的水平达到或接近专家的水平,因此能起到专家或专家助手的作用。
开发专家系统的关键是表示和运用专家知识,即来自领域专家的己被证明对解决有关领域内的典型问题有用的事实和过程。目前,专家系统主要采用基于规则的知识表示和推理技术。由于领域的知识更多是不精确或不确定的,因此,不确定的知识表示与知识推理是专家系统开发与研究的重要课题。此外,专家系统开发工具的研制发展也很迅速,这对扩大专家系统的应用范围,加快专家系统的开发过程,将起到积极地促进作用。随着计算机科学技术整体水平的提高,分布式专家系统、协同式专家系统等新一代专家系统的研究也发展很快。在新一代专家系统中,不但采用基于规则的推理方法,而且采用了诸如人工神经网络的方法与技术。
3.符号计算
计算机最主要的用途之一就是科学计算,科学计算可分为两类:一类是纯数值的计算,例如求函数的值,方程的数值解,比如天气预报、油藏模拟、航天等领域;。另一类是符号计算,又称代数运算,这是一种智能化的计算,处理的是符号。符号可以代表整数、有理数、实数和复数,也可以代表多项式,函数,集合等。。长期以来,人们一直盼望有一个可以进行符号计算的计算机软件系统。。早在50年代末,人们就开始对此研究。。进入80年代后,随着计算机的普及和人工智能的发展,相继出现了多
种功能齐全的计算机代数系统软件,其中mathematica和maple是它们的代表,由于它们都是用c语言写成的,所以可以在绝大多数计算机上使用。。mathematica是第一个将符号运算,数值计算和图形显示很好地结合在一起的数学软件,用户能够方便地用它进行多种形式的数学处理。
计算机代数系统的优越性主要在于它能够进行大规模的代数运算。。通常我们用笔和纸进行代数运算只能处理符号较少的算式,当算式的符号上升到百位数后,手工计算就很困难了,这时用计算机代数系统进行运算就可以做到准确,快捷,有效。。现在符号计算软件有一些共同的特点就是在可以进行符号运算、数值计算和图形显示等同时,还具有高效的可编程功能。在操作界面上一般都支持交互式处理,人们通过键盘输入命令,计算机处理后即显示结果。并且人机界面友好,命令输入方便灵活,很容易寻求帮助。
尽管计算机代数系统在代替人繁琐的符号运算上有着无比的优越性,但是,计算机毕竟是机器,它只能执行人们给它的指令,有一定的局限性。首先,多数计算机代数系统对计算机硬件有较高的要求,在进行符号运算时,通常需要很大的内存和较长的计算时间,而精确的代数运算以时间和空间为代价的。第二个问题是用计算机代数系统进行数值计算,虽然计算精度可以到任意位,但由于计算机代数系统是用软件本身浮点运算代替硬件算术运算,所以在速度要比用fortran语言算同样的问题慢百倍甚至千倍。另外,虽然计算机代数系统包含大量的数学知识,但这仅仅是数学中的一小部分,目前仍有许多数学领域未能被计算机代数系统涉及。计算机代数系统仍在不断地发展、完善之中。
如今,人工智能研究出现了新的高潮,这一方面是因为在人工智能理论方面有了新的进展,另一方面也是因为计算机硬件突飞猛进的发展。随着计算机速度的不断提高、存储容量的不断扩大、价格的不断降低以及网络技术的不断发展,许多原来无法完成的工作现在已经能够实现。
人工智能的学习,让我明白了人工智能始终处于计算机发展的最前沿。高级计算机语言、计算机界面及文字处理器的存在或多或少都得归功于人工智能的研究。人工智能研究带来的理论和洞察力指引了计算技术发展的未来方向。现有的人工智能产品相对于即将到来的人工智能应用可以说微不足道,但是它们预示着人工智能的未来。将来我们会对人工智有能更高层次的需求,人工智能也会继续影响我们的工作、学习和生活,我们也要支持人工智能的发展!
第五篇:人工智能学习人工智能学习-知识要点总结[nirvana发表于2014-1-213:32:24]
人工智能是在计算机科学、控制论、信息论、神经心理学、哲学、语言学等多种学科研究的基础上发展起来的,是一门综合性边缘学科,延伸人脑的功能,实现了脑力劳动的自动化。
1、认知科学认为智能的核心是思维,知识阙值理论认为智能行为取决于知识的数量及其一般化程度,智能就是在巨大搜索空间中迅速找到一个满意解的能力;进化理论的核心是用控制取代表示,取消概念、模型及显示表示知识,否定抽象对于智能及智能模拟的必要性,强调分结构对于智能进化的可能性与必要性。综合上述观点,认为智能是知识与智力的总和,具有如下特征:
(1)记忆与思维能力,(2)学习能力及自适应能力,(3)行为能力。
人工智能是人造智能,是一门研究如何构造智能机器(智能计算机)或智能系统,使它能模拟、延伸、扩展人类智能的学科。通过图灵测试可以判断一个系统是否具有智能和智能的水平。
人工智能研究内容:
(1)机器感知(2)机器思维(3)机器学习(4)机器行为(5)智能系统构造技术
人工智能研究途径:
(1)符号处理(2)网络连接机制(3)系统集成
2、知识是智能的基础,对人工智能的研究必须以知识为中心来进行,由于对知识的表示、利用、获取等的研究取得较大进展,特别是不确定性知识表示与推理取得的突破,建立了主观bayes理论、确定性理论、证据理论、可能性理论,对人工智能其他领域(如模式识别,自然语言理解等)的发展提供了支持。数据是信息的载体和表示,信息是数据在特定场合的具体含义,信息是数据的语义;把有关信息关联在一起所形成的信息结构叫知识。具有:相对正确性,不确定性,可表示性,可利用性等特征;按作用范围分为常识性知识,领域性知识;按作用及表示分为事实性知识,过程性知识,控制性知识。按确定性分为确定性知识,不确定性知识;按结构及表现形式分为逻辑性知识,形象性知识;从抽象的,整体的观点来划分可分为零级知识,一级知识,二级知识。知识表示方法总体上分为符号表(转载请注明来源:www.HaOWOrd.coM)示法,连接机制表示法;目前用得较多的知识表示方法主要有:一阶谓词逻辑表示,产生式,框架,语义网络,脚本,过程,petrio网,面向对象表示法。选择知识表示法时,要注意以下几个方面:
(1)充分表示领域知识(2)有利于对知识的利用(3)便于对知识的组织、维护与管理(4)便于理解和实现
3、产生式系统构成:规则库,控制系统,综合数据库。综合数据库中已知事实表示:(特性对象值可信度因子)控制系统的求解过程是一个不断地从规则库中选取可用规则与综合数据库中已知事实进行匹配的过程。产生式系统分类:按推理方向分为前向、后向和双向产生式系统;按表示知识的确定性可分为确定性及不确定性产生式系统;按数据库性质及结构特征进行分类为可交换的产生式系统,可分解的产生式系统,可恢复的产生式系统。框架是一种描述所论对象属性的数据结构,由槽结构组成,槽分为若干侧面。问题求解主要通过匹配和填槽实现的;产生式表示法主要用于描述事物间的因果关系,框架表示法主要用于描述事物内部结构及事物间的类属关系。语义网络是通过概念及其语义关系来表达知识的一种网络图。一个过程规则包括激发条件,演绎操作,状态转换及返回四个部分。
4、推理就是按某种策略由已知判断推出另一判断的思维过程。按从新判断推出的途径来划分,推理可分为演绎推理、归纳推理和默认推理;按所用知识确定性分为确定性推理,不确定性推理;按推出的结论是否单调地增加来划分为单调推理,非单调推理;按是否运用与问题有关的启发性知识分为启发式推理,非启发式推理;按基于方法的分为基于知识的推理,统计推理,直觉推理。推理的控制策略:推理方向,搜索策略,冲突消解策略,求解策略和限制策略。推理方向可确定推理的驱动方式:正向推理,逆向推理,混合推理及双向推理。
从一组已知为真的事实出发,直接运用经典逻辑的推理规则推出结论的过程称为自然演绎推理,基本推理规则是p规则,t规则,假言推理,拒绝式推理等:
p规则:任何步骤可引入前提a
t规则:前面步骤有一个或多个公式永真蕴涵公式s,可引入s
假言推理:p,p—>q=>q
拒绝式推理:p—>q,非q=>非p
归结演绎推理中,空字句是不满足的,因此归结的目标是通过归结使字句集中包含空字句,从而证明原命题的不可满足性。归结式是亲本字句的逻辑结论。
不确定性推理是从不确定性的初始证据出发,通过运用不确定性的知识,最终推出具有一定程度的不确定性但却是合理或者近乎合理的理论的思维过程。
不确定推理的基本问题:推理方向,推理方法,控制策略,不确定性的表示和度量,不确定性匹配,不确定性传递算法,不确定性的合成。
知识的不确定性称为知识的静态强度;证据的不确定性称为动态强度
5、组合证据的不确定性算法:
最大最小方法
概率方法
有界方法
不确定性传递算法:
结论不确定性的合成:
6、主观bayes方法:
(1)知识不确定性表示(产生式规则):
(2)证据不确定性表示:
(3)组合证据不确定性的算法:
(4)不确定性传递算法:
(5)结论不确定性的合成算法:
7、可信度方法:(c-f模型是基于可信度表示的不确定性推理的基本方法)
在可信度推理方法中的c-f模型里,可信度cf(h,e)的含义是:cf(h,e)>0表示e的出现增加了h的可信度;cf(h,e)=0表示e的出现与h可信度无关;cf(h,e)=bel(a),bel(a)表示对a为真的信任程度,pl(a)表示对a为非假的信任程度。pl(a)-bel(a)表示对a不知道的程度,即既非对a信任又不信任的那部分。
知识的不确定表示:ifethenh={h1,h2,…,hn}cf={c1,c2,…,cn}cf是可信度因子
含有模糊概念、模糊数据或带有确信程度的语句称为模糊命题。一般表示形式为:
xisa(cf)x是论域上的变量,a是模糊数,cf是该模糊命题的确信程度或
相应事件发生的可能性程度。
10、人工智能解决的问题:结构不良,非结构化;盲目搜索按预定的控制策略进行搜索,在搜索过程中获得的中间信息不用来改进控制策略;启发式搜索加入了与问题有关的启发性信息,用以指导搜索朝着最有希望的方向前进,加速问题的求解过程并找到最优解。
状态空间表示法:(s,f,g)
11、专家系统就是一种在相关领域中具有专家水平解题能力的智能程序系统,它能运用领域专家多年积累的经验与专门知识,模拟人类专家的思维过程,求解需要专家才能解决的困难问题。
特征:专家知识,有效推理,获取知识能力,灵活性,透明性,交互性,复杂性
专家系统与常规计算机程序比较:*
(1)常规程序=数据结构+算法,专家系统=知识+推理
(2)常规程序分为数据级+程序级,专家系统数据级+知识库级+控制级
(3)常规程序面向数值计算和数据处理,专家系统本质上是面向符号处理的
(4)常规程序处理的数据多是精确的,专家系统处理不精确,模糊知识
(5)解释功能
(6)都是程序系统
12、机器学习是要使计算机能模拟人的学习行为,自动地通过学习获取知识和技能,不断改善性能,实现自我完善:
三个方面的研究内容:(1)学习机理研究(2)学习方法研究(3)面向任务研究
学习系统是指能够在一定程度上实现机器学习的系统,能够从某个过程或环境的未知特征中学到有关信息,并且能把学到的信息用于未来的估计、分类、决策或控制,以便改进系统的性能。在结构上主要包括:学习环境,学习机构,执行与评估机构和知识库四个部分;各种符号学习方法中推理能力最强的学习方法是机械式学习,推理能力最弱的方法是观察和发现,神经网络学习获得的知识被存储在神经元之间的连接中。
学习系统具有的条件能力:
(1)具有适当的学习环境
(2)具有一定学习能力
(3)能应用学到的知识求解问题
(4)能提高系统的性能
推荐更多范文:人工智能学习资料
人工智能心得体会
人工智能
人工智能
人工智能