第Ⅱ部分 问题求解 第4章 超越经典搜索 中国科大 计算机学院.

Slides:



Advertisements
Similar presentations
2014 年 同济大学研究生数模讲座 数学建模中的常用算法 陈雄达
Advertisements

版 画 制 作版 画 制 作 版 画 种 类版 画 种 类 版 画 作 品版 画 作 品 刘承川.
第 4 章 基于遗传算法的随机优化搜索 4.1 基本概念 4.2 基本遗传算法 4.3 遗传算法应用举例 4.4 遗传算法的特点与优势.
缺点: 1 、个体间基因型高度一致,缺乏普遍性。 2 、对外界环境适应能力差,饲养要求高。 3 、对饲料的营养要求高,各品系不一致。 4 、繁殖力低下 5 、生长发育慢.
传媒学生应该如何度 过四年大学生活?. 进入大学一个多月了,用一个词形容大 学生活 自卑感 不适应 空虚感 被动感 孤独感 失望感 一、大学新生不适应大学生活的表现:
C A D C D.
人工智能原理 第 2 章 搜索技术 (下). 本章内容 本章内容 2.1 搜索与问题求解 2.2 无信息搜索策略 2.3 启发式搜索策略 2.4 局部搜索算法 2.5 约束满足问题 2.6 博弈搜索 参考书目 附录 A* 算法可采纳性的证明 第2章 搜索技术.
國中學生 興趣診斷測驗 九大職類興趣分析.
如何看懂孩子的 性向測驗與興趣量表 陳郁雯.
考点作文十大夺魁技法 第28课时 写作(二) 考点作文十大夺魁技法 6-10 ·新课标.
腹有诗书气自华 邓 兵 2014年6月12日.
学党章党规、学系列讲话,做合格党员 学习教育
古代四大美女de风云 沉鱼 . 西施 落雁 . 王昭君 闭月 . 貂禅 羞花 . 杨玉环 编者:周惠婷,李雪蓉
“三生教育”专题 生命·生存·生活.
歷史建築清水國小宿舍群修復工程 施工說明會
舊石器時代 位置: 亞洲大陸東緣,西太平洋弧狀列島一部份 背景 形成: 兩千多萬年前逐漸隆起,形成島嶼 生物: 大角鹿、猛瑪象、亞洲大陸原始人 臺東 長濱文化 苗栗 網形文化 臺南 左鎮人目前臺灣發現最早人類化石 代表 文化 1.住在海邊洞穴-短期定居小型隊群 2.以採集、狩獵為生 3.使用礫石砍伐器、片器、尖器.
清华大学出版社 北京交通大学出版社 吴柏林 编著
一、银行保证金质押 二、理财产品质押 三、银行卡被盗刷的责任问题 四、票据纠纷
活力 射 四 简报 种子发芽咯 de 国培(2015)小学数学四组 3/11/2017.
北魏孝文帝的漢化措施 第二節.
第五章 思维与想象 苏州大学教育学院心理系 吴继霞
《高级人工智能》参考书目 马少平,朱小燕。人工智能。清华大学出版社。 蔡自兴,徐光祐。人工智能及其应用。清华大学出版社。
時間:102年9月18日(星期三) 地點:國立臺灣師範大學綜合大樓509國際會議廳
第三章 企业战略策划 第一节 企业整体战略策划(一).
寻觅节日诗情.
漫漫人生 主办:平远县田家炳中学 总第一期 2008年2月 主编:初二(11)班 肖遥.
12月四六级冲刺备考讲座 建昆老师.
第五章 遗传算法.
第七章 粒子群优化算法.
增值评价 2014级 初中起点报告 解读培训 辽宁省基础教育质量监测与评价中心.
《现代汉语语法研究》第三讲 现代汉语语法的句法分析.
目 錄 壹、緣由 貳、問題解析 參、問題歸納 肆、因應對策 伍、評鑑獎勵 陸、追蹤考核 1.
做最好的自己 ——七(6)班主题班会.
第三章 搜索技术 第一节 引言 一、搜索 对于无成熟方法可用的问题求解,必须一步步地摸索求解,这种问题求解过程就是搜索。
翰林自然 六年級上學期 第二單元 聲音與樂器.
二. IEEE 802.1透明网桥 1. 体系结构 透明网桥的功能 可互连采用不同MAC标准的LAN 路径选择机制是一种称为生成树的技术
项目申报及投资推进工作实务 更多模板、视频教程: 兰溪市发展和改革局 2013年9月 1.
第六节 脑和脊髓的传导通路.
班主任专业素养 漫 谈 普陀区教育局德研室 陈镇虎
参会心得 学生:徐庆征
第四章 人工智慧演算法 2018/9/19.
第六章 计算智能 6.1 概述 6.2 神经计算 6.3 进化计算 6.4 模糊计算 6.5 粗糙集理论 6.6 其他.
第六章 智慧型的行銷資訊系統 課程名稱 行銷資訊系統 進度 第六章 授課老師 總時數 3小時 線 行銷資訊系統 – E世代的行銷管理.
资产宣传推介手册 2017年10月.
特雷門琴 (Theremin) 是 tone() 函數的應用, 它只需要一個蜂鳴器, 一個光敏電阻, 以及一個 10K 電阻就可以進行測試了. 實際電路接線如下 :光敏電阻與 10 K 電阻串聯, 光敏電阻一端接 5V, 與電阻串接處接Arduino 的 A0 腳, 電阻另一端接地. 而蜂鳴器則 +
Simulated Annealing 報告者:李怡緯 OPLAB in NTUIM.
第三章 結構化程式設計 授課老師:___________.
Particle Swarm Optimization Xidian University, Xi’an, China © 2005
商泓企業有限公司 阮文慶先生 電話: 發電機室/空調主機室噪音處理 突波保護裝置 防震浮動地版
遗传算法(Genetic Algorithm) Natural Computing
第二課 問題解決練功房 2-4 解決方案的評估與選擇.
第二章 基本遗传算法(GA) 2.1 基本遗传算法描述 基本遗传算法的构成要素 (1) 染色体编码方法
第 15 章 自訂函數與順序物件.
線性規劃模式 Linear Programming Models
第二章、第三章错题分析.
動態規劃 Dynamic Programming (DP)
Inspiration From Above 1 Chinese Evangelical Free Church
本节内容 Lua基本语法.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
赵才荣 同济大学,电子与信息工程学院,智信馆410室
 隐式欧拉法 /* implicit Euler method */
第二章 基本遗传算法(GA) 2.1 基本遗传算法描述 基本遗传算法的构成要素 (1) 染色体编码方法
若干資料選取方法 以改善鑑別式聲學模型訓練
第十一章 基因演算法 (Genetic Algorithms)
創造不一樣的人生 -如何與身心障礙者接觸 新竹教育大學 薛明里.
计算机问题求解 – 论题 串匹配 2017年5月3日.
幂函数.
研究方向及之相關主題介紹 徐培倫 研究室:電資學院 D719室 年8月6日.
轉換成二進位、八進位及十六進位 = ( ) = ( ) = ( )16.
教師檔案系統資料如何填寫? 如何對應教師評鑑共同基準?.
Presentation transcript:

第Ⅱ部分 问题求解 第4章 超越经典搜索 中国科大 计算机学院

本章内容 4.1 局部搜索算法和最优化问题 4.2 连续空间中的局部搜索 4.3 使用不确定动作的搜索 4.4 使用部分可观察信息的搜索 4.5 联机搜索Agent和未知环境

4.1 局部搜索算法和最优化问题 概述 爬山法 模拟退火搜索 局部束搜索 遗传算法 进化算法简介

局部搜索算法 前面讲过的搜索算法都是保留搜索路径的,到达目标的路径就是问题的解。 然而,许多问题中到达目标的路径是无关紧要的。 比如,八皇后问题。 与系统地搜索状态空间(保留各种路径)相对应,不关心路径的搜索算法就是局部搜索算法。 局部搜索从一个单独的当前状态出发,通常只移动到相邻状态。 典型情况下,搜索的路径不保留。

局部搜索算法 2个关键的优点: 它们只用很少的内存——通常容量是个常数。 它们经常能在不适合系统化算法的很大或无限的(连续的)状态空间中找到合理的解。 局部搜索算法对解决纯粹的最优化问题是很有用的,其目标是根据一个目标函数找到最佳状态。

局部搜索算法的应用 旅行商问题 装箱问题 背包问题 作业调度 网络优化 ……

状态空间地形图 Shoulder:山肩 “Flat” local maximum:“平坦”局部最大值

状态空间地形图 在状态图中,既有“位置”(用状态表示)又有“高度”(用耗散值或目标函数值表示)。 如果高度对应于目标函数,则目标是找到全局最大值,即图中最高峰。 如果高度对应于耗散值,则目标是找到全局最小值,即图中最低点。 如果存在解,则完备的局部搜索算法能够找到解;最优的局部搜索算法能够找到全局最大/最小值。

4.1 局部搜索算法和最优化问题 概述 爬山法 模拟退火搜索 局部束搜索 遗传算法 进化算法简介

例、8皇后问题 局部搜索算法通常使用完全状态形式化,即每个状态都在棋盘上放8个皇后,每列一个。 目标:任何一个皇后都不会攻击到其他的皇后(皇后可以攻击和它在同一行、同一列或同一对角线上的皇后)。 后继函数:返回的是移动一个皇后到和它同一列的另一个方格中的所有可能的状态。因此,每个状态有56个后继。 启发式耗散函数h:是可以彼此攻击的皇后对的数目,不管中间是否有障碍。 全局最小值为0,即没有彼此攻击的皇后对。

例、8皇后问题 h=17的一个状态, 最好的后继的h=12。 h取局部极小值时的一个状态

爬山法搜索 爬山法(hill-climbing):是一个向值增加的方向持续移动的循环过程,即登高过程。 ;最陡上升方式的爬山搜索算法 ;如果相邻状态中没有比它更高的值,则算法结束于“峰顶” function Hill-Climbing( problem ) inputs: problem, a problem returns a state that is a local maximum current  Make-Node( Initial-Sate[ problem ]) loop do neighbor  a highest-valued successor of current if Value[ neighbor ] <= Value[ current ] then return State[ current ] current  neighbor

爬山法搜索的局限 爬山法是一种贪婪局部搜索,不是最优解算法(或是不完备的) 。 面临的问题: 局部极大值:比其邻居状态都高的顶峰,但是小于全局最大值。 高原或山肩:评价函数平坦的一块区域。 山脊:一系列的局部极大值。

爬山法搜索的局限 对于最陡上升的爬山法算法,从一个随机生成的八皇后问题的状态开始: 在86%的情况下会被卡住; 只有14%的问题实例能求到最优解。 但这个算法速度很快,成功得到最优解的平均步数是4步,被卡住的平均步数是3步。 对于包含88≈1千7百万个状态的状态空间是不错的结果。 思考:10万个皇后?100万个皇后?1000万个皇后?

爬山法搜索的局限 如果遇到山肩,允许侧向移动是个好主意。 如果总是允许侧向移动,易形成死循环。 限制侧向移动次数。 例、八皇后问题中,允许最多连续侧向移动100次,将使问题实例的解决率从14%上升到94%。 代价是每个成功搜索实例的平均步长大约为21步,每个失败搜索的平均步长大约为64步。

爬山法搜索的变形 随机爬山法:在上山移动中随机选择地下一步,选择的概率随着上山移动的陡峭程度而变化。 首选爬山法:随机生成后继结点,直到生成一个优于当前节点的后继结点。 随机重新开始爬山法:随机生成初始状态,进行一系列爬山法搜索。这时算法是完备的概率接近1。 如果爬山法每次成功的概率为p,则需要重新开始搜索的期望次数是1/p。 对于300万个皇后问题,该方法用不了1分钟就可以找到解。

爬山法搜索的特点 爬山法搜索成功与否在很大程度上取决于状态空间地形图的形状。 如果图中几乎没有局部最大值和高原,随机重新开始的爬山法将会很快找到好的解。 但是,很多实际问题有很多局部最优解,。

4.1 局部搜索算法和最优化问题 概述 爬山法 模拟退火搜索 局部束搜索 遗传算法 进化算法简介

模拟退火搜索 模拟退火算法来源于固体退火原理。 将固体加温至充分高,再让其徐徐冷却;加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态;最后在常温时达到基态,内能减为最小。 模拟退火算法:允许下山的随机爬山法。 在退火初期,下山移动容易被采纳。 随着时间的推移,下山的次数越来越少。 例,在不平的表面上如何使一个乒乓球掉到最深的裂缝中?

模拟退火搜索 function SIMULATED-ANNEALING(problem, schedule) returns a solution state inputs: problem, a problem schedule, a mapping from time to “temperature” current  MAKE-NODE(problem, INITIAL-STATE) for t=1 to ∞ do T  schedule( t ) if T=0 then return current next  a randomly selected successor of current ∆E  next.VALUE — current.VALUE if ∆E>0 then current  next else current  next only with probability e∆E / T

模拟退火搜索 模拟退火算法与初始值无关,算法求得的解与初始解状态S(是算法迭代的起点)无关;模拟退火算法具有渐近收敛性,已在理论上被证明是一种以概率1收敛于全局最优解的全局优化算法。 模拟退火算法已在工程中得到了广泛应用,诸如VLSI、生产调度、控制工程、机器学习、神经网络、信号处理等领域。

4.1 局部搜索算法和最优化问题 概述 爬山法 模拟退火搜索 局部束搜索 遗传算法 进化算法简介

局部束搜索 局部束搜索:不是保存一个状态,而是保存k个状态。 首先,随机生成k个状态。 然后,生成k个状态的全部后继。 在随机重新开始搜索中,每个搜索过程是独立的。 在局部束搜索中,有用的信息在k个并行搜索线程中传递。

局部束搜索 局部束搜索的问题: 容易缺乏多样性,即个体很快聚集到某个区域。 缓解办法:随机束搜索。 不是“从后继状态列表中选择k个最好的后继”,而是按概率选择。越好的个体,选择概率越高。

4.1 局部搜索算法和最优化问题 概述 爬山法 模拟退火搜索 局部束搜索 遗传算法 进化算法简介

遗传算法 遗传算法(Generic Algorithm:GA)是随机剪枝的变种,它不是通过修改单一状态而是通过把两个父状态结合以生成后继状态。 遗传算法是从k个随机状态开始。这k个状态称为种群,每个状态称为个体。 个体编码用有限长的字符串(比如0/1串)表示。 每个状态用其评价函数(适应度函数)给出评价值(适应值)。 遗传操作包括:选择,杂交,变异。

遗传算法的基本步骤 (1) 设计个体编码方案,定义问题的目标函数。 (2) 选择候选解作为初始种群,每个解作为个体用二进制串(或字符串)表示(个体相当于染色体,其中的元素相当于基因)。 初始种群通常随机生成。 (3) 根据目标函数,对于每个个体计算适应度函数值。 (4) 为每个个体指定一个与其适应值成正比的被选择概率。 (5) 根据概率选择个体,所选个体通过交叉、变异等操作产生新一代种群。 (6) 如果找到了解或者某种限制已到,则过程结束;否则转(3)。 结束条件:找到解;代数达到预定数目;等等。

遗传算法的操作 选择 按照一定概率随机地选择一对个体进行繁殖(即生成后继状态)。 基本原则:较好的个体有较高的被选择概率。 交叉 杂交点是在表示状态的字符串中随机选择的一个位置; 新个体是父串在杂交点上进行杂交(各取一部分)得来的。 变异 在新生成的串中各个位置都会按照一个独立的小概率随机变异。

用遗传算法求解八皇后问题 例、八皇后问题,其中每个状态用一个长度为8的字符串来表示;适应度函数取作不相互攻击的皇后对数目。 个体编码 对应的候选解

用遗传算法求解八皇后问题 交叉操作生成2个子代个体。 思考:另一子代个体是什么?

用遗传算法求解八皇后问题 遗传算法的步骤及其示意图 适应度函数为:f(i)/sum( f(i) ).

遗传算法的特点 遗传算法结合了“上山”趋势和随机搜索,并通过并行搜索在个体之间交换信息。 遗传算法的主要优势来自于杂交? 杂交的优势:能够将独立发展的若干个相对固定的字符(能够执行有用的功能—“积木块”)组合起来,提高了搜索的粒度。 所谓有用的积木块,就是几个结合起来可以构造问题的解。 数学上可以证明,如果基因编码的位置在初始时就随机转换的话,杂交就没有优势。

遗传算法的模式 遗传算法的特点可以用模式(schema)来解释。 模式是某些位置上的数字尚未确定的一个状态子串,例如246*****。 能够匹配模式的字符串称为该模式的实例。 如果一个模式的实例的平均适应值超过均值,则种群内这个模式的实例数量会随时间而增长。 遗传算法在模式和解的有意义成分相对应时才会工作得最好。 遗传算法有很多应用,但目前还不清楚在什么情况下使用遗传算法能够达到好的效果,还有很多研究要做。

4.1 局部搜索算法和最优化问题 概述 爬山法 模拟退火搜索 局部束搜索 遗传算法 进化算法简介

进化算法简介 遗传算法是进化算法的一种。 进化算法(EAs:Evolutionary Algorithms): 借鉴生物进化的规律,通过“繁殖-竞争-再繁殖-再竞争”的方式,实现优胜劣汰,一步一步逼近问题的最优解。 编码方案:或用各种字符(基因)组成的字符串(染色体)表达所研究的问题;或实数编码,等等。 算子:仿效生物的遗传方式,主要采用选择(Selection),重组(Recombination),变异(Mutation)这3种操作,衍生下一代的个体。

进化算法的基本框架 表示父代群体是否参与选择过程。

进化算法的主要优势 在一般情况下,进化算法能否收敛到全局最优解与初始群体无关,而传统优化方法则依赖于初始解; 进化算法具有全局搜索能力,而很多传统优化方法往往会陷入局部最优; 进化算法的适用范围广,能有效地解决不同类型的问题,而传统优化方法在设计时往往就只能解决某一类型的问题。

进化算法的不足 进化算法中的参数,如群体规模、进化代数、重组概率、变异概率等,往往需要根据经验设定,且在一定程度上还与问题相关。 进化算法的收敛问题,尽管在理论研究上已取得一定的成果,但进化算法求解实际问题时的收敛性判定还缺乏理论指导。

进化算法分类—传统分类 进化规划(EP:Evolutionary Programming) L.J. Fogel, A.J. Owens, M.J. Walsh (美国,1966) 完善工作:D.B. Fogel (1991),等等。 进化策略(ESs:Evolution Strategies) I. Rechenberg, H.-P. Schwefel (德国,1965) 遗传算法(GAs:Genetic Algorithms) J. Holland (美国,1975) 完善工作:K. De Jong (1975), J. Grefenstette (1986), D. Goldberg (1989) ,等等。

进化算法分类—新颖算法 差分进化(DE:Differential Evolution) R. Stone, K. Price (德国、美国,1995) 用于连续空间上的函数优化,等等。 粒子群优化(PSO:Particle Swarm Optimization) J. Kennedy, R.C. Eberhart (美国,1995) 源于对一个简化社会模型的模拟,主要用于连续空间上的问题优化,等等。 蚁群算法(ACO:Ant Colony Optimization) M. Dorigo (意大利,1992) 用来在图中寻找优化路径的几率型技术,等等。

进化计算的主要期刊与会议 主要期刊: 主要会议: IEEE Trans. on Evolutionary Computation Genetic Programming and Evolvable Machines …… 主要会议: PPSN:Parallel Problem Solving from Nature CEC:IEEE Congress on Evolutionary Computation GECCO:Genetic and Evolutionary Computation Conference

本章内容 4.1 局部搜索算法和最优化问题 4.2 连续空间中的局部搜索 4.3 使用不确定动作的搜索 4.4 使用部分可观察信息的搜索 4.5 联机搜索Agent和未知环境

连续空间中的局部搜索 在连续空间上寻找最优解:状态空间是连续的。 例、建3个机场,每个城市离其最近机场的距离平方和最小。 六维状态空间:(x1, y1),(x2, y2),(x3, y3)

连续空间中的局部搜索 最简单的方法: 连续空间离散化,x和y方向的移动间隔固定为。 局部搜索算法 梯度方法: 𝛁𝒇 𝒙 =𝟎 𝒙←𝒙+𝜶𝛁𝒇(𝒙),𝜶是个很小的常数

连续空间中的局部搜索 约束最优化 在满足约束条件的前提下,求最优解。 线性规划 目标函数是线性的。 约束是线性不等式,且能够组成一个凸多边形区域。

课堂练习 (1)设计一个用于解决八数码问题的爬山法搜索算法,给出算法伪代码。(2)对于下图所示的八数码问题的初始状态,请分析您的算法是否能够到达目标状态? 模拟退火搜索SIMULATED-ANNEALING函数中的参数schedule,是从时间到“温度”的一个映射。请为schedule给出一个合理的例子。