主页 > 人工智能 >

人工智能外面与其操纵-智能计议pdf

浏览1574 好评 0 点赞105

  

人工智能外面与其操纵-智能计议pdf

人工智能外面与其操纵-智能计议pdf

人工智能外面与其操纵-智能计议pdf

  ·【毕业设计】基于Delphi题库系统和试卷生成系统论文-精品.doc ·【全优课堂】2014秋高中物理 第4章 三电磁波发射和接收课件 新人教版选修1-1.ppt 第五部分 人工智能理论及其应用 第十一章 智能规划的研究和应用① 姜云飞 吴康恒 中山大学信息科学与技术学院计算机软件研究所 广东省软件技术重点实验室 广州 510275 11.1 引 言 智能规划是人工智能一个重要的领域,其研究起源于 60 年代。目前几乎每本人工智能 的书籍都对智能规划进行介绍,但这些介绍仅限于智能规划的基本内容,即以介绍情景演 算(Situation Calculus)和 STRIPS 空间[1]为主。若想要对智能规划有一个较全面的了解, 这些内容显然是不够的。本文对智能规划领域作了一个较为全面的分析和综述,旨在让感 兴趣的研究者对这一热门领域有一个完整的印象,同时提供了一些有益的分析、研究链接 与研究资料。 近年来,有关智能规划的研究在问题的描述和问题求解两方面得到了新的突破,使得 智能规划已成为一个热门的人工智能研究领域,由于智能规划的研究对象和研究方法的转 变,极大地扩展了智能规划的应用领域,使近年来智能规划的理论和应用研究有了长足的 进展。 在国外,近年来成立了许多专门从事智能规划方面研究的协会和联盟,如欧洲智能规 [2] 划网 PLANET (European Network of Excellence in AI Planning ) ,英国诺丁汉大学ASAP 研究组(Automated Scheduling Optimisation and Planning )[3] 以及美国亚利桑那州立大学 Yochan 研究组[4] 。国际知名期刊 Artificial Intelligence 近年来发表了许多篇智能规划方面的 文章,而且呈逐年增长的趋势,这可以从这本期刊近年来的目录中看出。这本期刊在 1995 年出了一本关于智能规划的专刊后最近(2003 年 7 月)又出了一本关于智能规划的专刊, 这样一本重要的学术期刊,在这么短的时间内,两次为智能规划发专刊,可见研究者之 多,研究论文之多和研究领域之重要。在一些大学里,不仅有越来越多的研究人员从事智 能规划方面的研究工作,而且面向大学生和研究生的智能规划方面的课程越来越多。近几 年,智能规划方面的学术会议也越来越多,IJCAI (International Joint Conference on Artificial Intelligence )2001 年召开“智能规划与机器人”(Planning and Robotics )专题的 [5] 研讨会;国际智能规划与调度研讨会 AIPS (Artificial Intelligence Planning & Scheduling ) [6] 已经举办到 12 届;欧洲智能规划研讨会 ECP (European Conference on Planning ) 已经举 办到第 5 届;其中在 2003 年 AIPS 和 ECP 合并为属于 IEEE 下的国际智能规划与调度研讨 ① 本文得到国家自然科学基金(批准号:及国家博士点基金(智能规划及其应用技术研 究)资助。 1 会 ICAPS[7] (International Conference on Automated Planning & Scheduling )。以上种种迹象 表明,智能规划再次成为人工智能研究领域的一个热点。 11.1.1 智能规划研究历史 人们对智能规划的研究已经有半个世纪了,最早可以追溯到 1956 年 Newell 、Shaw 和 Simon 设计的逻辑理论家(Logic Theorist )程序,这个系统采用了启发式信息和反向搜索 技术;随后他们设计的 GPS 系统把领域知识与一般的搜索控制信息相分离。上述两个系统 特别是 GPS 在人工智能领域中具有非常重要的地位,但它们还不是真正面向规划问题研制 的智能规划系统。 1969 年,Green 通过归结定理证明的方法来进行规划求解,并且设计了 QA3 系统[8], 这一系统被大多数的智能规划研究人员认为是第一个规划系统,原因就在于他是第一个面 向现实规划问题提出的规划系统;1971 年,Fikes 和 Nilsson 设计的 STRIPS 系统[9]在智能 规划的研究中具有重大的意义和价值,他的突出贡献是引入了 STRIPS 操作符的概念,使 得原来很神秘的规划问题求解变得明朗清晰起来;此后到 1977 年先后出现了 HACKER 、 WARPLAN 、INTERPLAN 、ABSTRIPS 、NOAH 、NONLIN 等规划系统。在这十年间人们 研究智能规划的兴致比较高,普遍认为规划问题必须用定理证明的理论来解决,直到 Chapman 设计的规划系统 TWEAK[10] 出现。中邦身手资产繁荣高新企业司帐好做吗高新企业,Chapman 详细全面地分析了利用定理证明理论 解决规划问题中的关键问题:模型与规划解的对应关系,提出了著名的模态真值标准 (Modal Truth Criterion )理论。Chapman 的分析使人们认识到简单地利用定理证明的方法 来解决规划问题是很难的,因此这以后到 1990 年间,在人们发现新的求解方法之前,对智 能规划的研究陷入了低谷,这期间仅有 SIPE、ABTweak 和 Prodigy[11]等较少的智能规划系 统出现。 1991 年,Soderland 和 Weld 等人设计了世界上第一个完备、完全、系统的非线性规划系 统 SNLP[12,13],奠定了非线 年,Kautz 等把规划问题求解转化为 [14,15,16] 可满足(SAT )问题 ,一反定理证明式求解方法,利用在约束可满足问题算法上的 突破,有效地解决了部分规划问题。后来,基于此理论的 Blackbox 规划系统[17]在第一届智 能规划系统的比赛中表现了非凡的解决问题能力,一举夺魁,开辟了解决规划问题的又一 新途径。1995 年,Avrim Blum 等设计的图规划系统 Graphplan[18]第一次采用图的方式来解 决规划问题,并且提出了用于规划的规划图的概念。后来很多规划系统都借鉴了图规划系 统的方法,参加第一届智能规划比赛的规划系统除委内瑞拉的 HSP 外,其它四个规划系统 SGP、Blackbox 、IPP 和 STAN 都或多或少地采用了图规划的某种(些)技巧,并且对图规 划做了相应的扩充:SGP 加入了用户互操作界面;Blackbox 则综合了基于规划图的快速规 划扩展和基于 SAT 的快速规划验证;IPP 扩充了图规划的问题描述语言,如支持 ADL 规划 描述语言,它能够处理条件效果等,这样它的表达能力比图规划系统要强大;STAN 在减 少搜索和构造规划图的费用上做了扩充。这些规划算法都是部分序或非线性的通用规划系 统,此次比赛表明部分序方法在规划求解中具有举足轻重的地位。两年以后,在第二届规 划比赛上,部分序规划的思想得到了进一步验证,并且在规划过程中规划知识被人们广泛 关注。在参加比赛的十六种规划系统中采用启发式知识的有十一个,并且采用启发式知识 的规划系统比没有采用启发式知识的规划系统得到的规划解效果好:例如比赛评委评选出 的最佳规划系统 Talplanner 和 FF ,以及排名其次的 STAN、HSP2 、MIPS 和 System R 都是 采用启发式知识的规划系统,在此次比赛中采用启发式知识的规划系统表现出很强的问题 2 求解能力,而第一届比赛的冠军 Blackbox(Graphplan+Sat)则由于没有采用启发式知识在此 次比赛中表现不如人意。 图 11.1 经典智能规划系统产生年代及发展情况表 综上所述,规划问题求解从最初的定理证明方法发展到 STRIPS 方法,之后又出现了 非线性规划系统,非线性规划系统采用目标导向的方式来生成规划:一方面使得规划的生 成速度大大提高;另一方面,由于是目标导向的生成方式,因此使得生成规划的质量比较 好。现在人们又在此基础上加入了启发式信息,进一步提高了规划求解的效率和质量,另 外,已经有人提出了建造基于知识的规划系统的设想。 11.1.2 智能规划与问题求解的区别 3 因为对输入和输出的要求不同,所以各种各样的规划问题之间有很大的区别。研究规 划问题的经典方法是从分析动作的效果入手,从一个初始状态出发,试图通过推理得出实 现目标状态的动作序列。因为在人工智能研究中一直起着重要作用的搜索问题(Search Problem)也是试图获得从某个初始状态出发到达目标状态的一系列状态转换步骤,所以搜 索问题也是最早的智能规划问题。这种搜索问题一般用在问题求解和定理机器证明中,所 以 G.W. Ernst 和 A. Newell 等人研制的通用问题求解系统(GPS ,The General Problem Solover)被认为是世界上第一个智能规划系统。 智能规划和问题求解的区别: 1. 问题求解的主要研究成果主要体现在理论意义上,而智能规划主要面向实际问题。 2. 智能规划问题的操作的前提之间有很强的依赖与冲突关系,一个操作的使用常常使 另一个操作无法执行,甚至导致最终目标无法实现。因此,在智能规划中一个重要的问题 是如何解决操作间的冲突。 3. 问题求解要求给出从初始状态到目标状态的操作序列;而规划问题并不要求给出一 个全序,能指出操作之间的半序关系也可以。 4. 在实际规划中,操作的结果并不是完全确定的,因此需要考虑规划的监视执行的问 题。 1960 年,著名人工智能大师 John McCarthy 建议使用谓词演算去指导智能行为中的推 理,并由此提出了状态演算法(Situation Calculus),第一个基于这种思想建立起来的系统是 G.Green 的问题解答系统QA3 。 1969 年,以著名人工智能专家 Nilssion 为首的斯坦福研究院人工智能研究组提出了智 能规划系统- 斯坦福研究院问题求解系统(STRIPS ,Stanford Research Institute Problem Solover)。这是智能规划历史上具有重要意义的研究成果,它的规划能力比以前所有规划系 统的规划能力都强,STRIPS 用在智能机器人 Shakey 的动作规划中,STRIPS 的知识表示方 法及推理方法对它以后的规划系统具有深刻的影响。 规划系统 NOAH 参照了 STRIPS 的规划思想,但在最终形式上又有新的突破。NOAH 系统从系统计划实现的目标出发,首先形成半序规划,然后把这些半序规划组装在一起, 要设法消去冲突的部分并适当增添实现某些规划的前提条件,最终形成整个规划。 自八十年代后期以来,由于看到了智能规划在实际应用中具有良好的前景,众多研究 者投身到了相关研究中并提出了许多新的方法,如图规划方法(GraphPlan )、基于命题可 满足问题(SAT) 的方法,基于记忆法、并行搜索法、分级规划法,等等。其中图规划方法和 基于命题可满足问题的方法在近年来有很大突破,受到研究者的广泛关注,对智能规划的 实用化也有重要的推动作用。 11.2 经典的智能规划 智能规划(Planning)是人工智能研究领域近年来发展起来的一个热门分支。 智能规划的 主要思想是: 对周围环境进行认识与分析,根据自己要实现的目标,对若干可供选择的动 作及所提供的资源限制施行推理,综合制定出实现目标的规划(Plan) 。 4 智能规划研究的主要目的是建立起高效实用的智能规划系统。该系统的主要功能可以 描述为:给定问题的状态描述、对状态描述进行变换的一组操作、初始状态和目标状态。 智能规划系统能够给出从初始状态变到目标状态的一个操作序列,其复杂性和所处的环境 以及 Agent 的功能有关。为了简化规划问题,传统的规划一般都作出如下假设:(1)环境 的状态的改变完全是由 Agent 的动作的效果造成的,排除了其他可能的影响和干扰;(2 ) Agent 的动作的效果是完全确定的;(3 )Agent 能够感知环境和它的动作的效果。人们把 具有上述假设的规划问题叫做经典规划问题。 11.2.1 半序规划以及规划的求精 Nilssion 的著名规划系统 STRIPS 在人工智能规划历史上起着重要的作用。在 STRIPS 系统中首先提出了用增加表和删除表描述环境和动作的方法,成功地解决了智能规划中的 最困难的问题--框架问题,而且该系统的效率很高。因此自 1971 年产生以来,STRIPS 系 统在规划系统中一直占据统治地位。此后的研究工作,大都在 STRIPS 的基础上加以改 进,这其中最重要的一种方法就是半序规划。这种规划借用了 STRIPS 的描述,但是不要 求产生一个完整的操作序列,而是先在操作之间生成半序描述,然后逐步加细求精,最后 在操作的半序描述中抽出全序的规划。 美国 Arizona 州立大学( Arizona State University )工程和应用科学学院计算机科学系 的 Subbarao Kambhampati 教授(/rao.html )在他所在的大学开设 了《人工智能中的规划和学习方法》课程,并应邀在 1996 年 AAAI 在俄勒岗州的波特兰市 召开的会议上做教学报告。他对半序规划作了精心的研究与总结,并且对半序规划给出其 形式化描述,提出了逐步求精的思想,把以前的半序规划统一在他的逐步求精思想中。以 下的介绍就是使用了 Kambhampati 的描述方法和思想。 半序规划的表示 半序规划的过程可以看作是对操作序列加上了一组约束,满足这些约束的动作序列叫 做候选规划。它是一个全序的操作序列,但是在半序上与约束的要求完全一致,在数据结 构课程中,也把这个过程叫做拓扑排序。 规划的过程可以看成是排除和分裂的过程。排除的过程就是增加约束,排除掉那 些不能成为解的候选规划。分裂的过程就是在规划中插入新的操作,搜索那些满足条件 的解。 操作的排序约束有两类,一类是先后关系约束(Precedence Constraint ),另一类是邻 近关系约束(Contiguity Constraint )。先后关系约束要求一个操作在另一个操作之前完 成,而邻近关系约束要求一个操作必须直接在另一个操作之前。此外,还有两类辅助约 束,一类是间隔保持约束(Interval Preservation Constraints ,IPC ),另一类是真值点约束 (Point-truth Constraint )。间隔保持约束要求在某一期间某一条件p 总是成立的,而真值 点约束要求在某一时间点上某一条件p 总是成立的。 按约束要求给出操作序列的过程也叫做线性化,安全的线性化不但要满足对操作的半 序约束,而且要满足辅助约束。 5 半序规划的例子 初始状态: at bed 目标: at office 动作:1. Get-up precondition: at bed add list: at table delele list: at bed 2. Have-food precondition: at table add list : had-food delele list: at table 3. Go-bybush precondition: at home and had-food add list: at office delele list: at home and had-food 4. Go-byfoot precondition: at home add list: at office delele list: at home 半序规划增加了两个抽象的动作,一个是 start,另一个是 finish: start precondition : null add list: the initial state delete list: null finish precondition: the goal state add list: null delete list: the goal state 初始规划仅由两个动作组成,一个是 start,另一个是 finish 。其半序关系为 start 在前, finish 在后,如图 11.2: start finish 图 11.2 初始的半序规划 在应用了动作 start 后,半序规划继续考虑在 start 和 finish 之间插入其他动作,因为 Get-up 的add-list 中有 at table 而 at table 是 Have-food 的前提条件,所以,可以把这两个动 作插在初始规划中,让 Get-up 在前,Have-food 在后,如图 11.3。 finish start Getup Havefood 图 11.3 在初始的半序规划中插入两个动作 6 Gobybus start Getup Havefood finish Gobyfoot 图 11.4 在上述规划中再插入两个动作 半序规划实际上代表了一组动作序列,任何与上述半序规划的序相符合的全序动作序 列都是 STRIPS 系统的规划。 半序规划的求精策略 可以把半序规划的求精看成是一个过程或一个映射R ,R 把一个规划约束集合p 映成 为另一个规划约束集合p ,使得p 的候选规划集是p 的候选规划集的子集。如果p 包含 了p 的所有的解,则R 称作是完备的(Complete )。如果p 的候选规划集是 p 的候选规 划集的真子集,则R 称做是前进的(Progressive )。如果没有操作序列属于具有p 的一个 以上约束的候选规划集,则称R 具有系统性(Systematic )。完备性保证我们在求精的过程 中不会丢失解,前进性保证我们在求精的过程中会有效地剪掉不是解的候选规划,系统性 保证我们在求精的过程中只能对同一个候选解考虑一次。 求精策略可分为正向和反向两种。正向策略从初始状态出发,不断增加约束,一直到 目标状态得到满足为止;反向策略则从目标出发增加约束,直到动作的前提条件都被问题 的初始条件包含为止。因为反向策略产生的分支数比较少,所以在规划系统中使用的比较 多。 最小承诺策略 在规划的求精算法中一个大家热烈讨论的问题是规划过程中的最小承诺(Least Commitment )问题。直观上说来,最小承诺就是在规划的求精过程中,对规划个体所加的 约束尽可能的少,以免过多的约束造成规划步骤间的不相容,从而导致不必要的回溯。例 如,如果在规划的求精过程中有两个可供选择的操作,一个需要间隔保持约束,而另一个 不需要,则我们应该选择后一种求精过程。再比如,如果在两个供选择的操作中,一个是 抽象的动作(由若干具体简单动作抽象得来),而另一个是具体的动作,则我们应该选择 抽象的操作。 最小承诺与问题领域有很强的依赖性。一般说来,承诺相当于增加了约束,这样容易 识别半序规划是否包含解,但同时也增加了回溯的次数。因此,对于问题的解比较少的问 7 题领域,最小承诺比较有效,而对于解比较多的问题领域,效果差一些。 11.2.2 基于逻辑的规划方法 逻辑规划系统是基于 Robinson 的消解原理(Refutation Resolution )的,它采用定理证 明的方法,把求解规划的过程形式化为证明由初始状态和动作序列可以证明目标状态的过 程,其证明过程的解释就是一个规划解,也有人称这种方法为基于变化(Change-Based )的 规划,以命题逻辑、一阶谓词逻辑等规范逻辑和各种非规范逻辑如默认推理(Default Inference )、或然推理(Plausible Inference )、时序(时态)逻辑(Temporal Logic )、内 涵逻辑(Intensional Logic )、非单调逻辑和模糊逻辑等为其理论基础。较为典型的系统是 Newell 、Shaw 和 Simon 等在 1956 年设计的逻辑理论家(Logic Theorist )程序和 Green 的 QA3 系统。但是基于演绎的定理证明方法直接应用于规划问题求解有其固有先天性不足, 它会产生一些异常模型(Anomalous Models ):存在一些模型,它们满足定理,但是没有 相应的有效规划解存在。Chapman 深入地研究了模型和规划解的对应关系,提出了模型对 应规划解的充分条件,并且给出了证明过程。因此人们普遍认为:规划问题必须用具有特 定目的的定理证明器来解决,即一般性的定理证明器不能求解普遍的规划问题,或者增加 领域(启发式)知识,或者在推理的方式上进行有效的扩充。 11.2.3 非层次规划方法 几乎所有的规划问题都固有一种层次结构,即递归的目标与子目标之间的组成体系, 上层与下层目标之间的关系实际上都相应于某个操作与其先决条件之间的关系。但是就规 划问题的表示意义来说,却可以把目标分成抽象与具体,或者重要与次要程度不同的层 次,也可以对所有子目标一视同仁,即在表示意义上只认为是一个层次,前者称为层次规 划方法,后者称为非层次规划方法。 MIT 的 HACKER 系统是一个非层次规划的代表性例子,它对合取子目标采用“线性假 设”(Linear Assumption )策略,即假定各子目标之间是相互独立的,因而可以按任意的 次序来完成它们。HACKER 对于“子目标冲突”消解所采用的方法是:允许破坏已经解决 的操作步骤,但在当前操作步骤执行之后再试一次上步操作,如果没有冲突发生,则按顺 序进行,否则如果冲突仍然存在,则回溯到初始状态,改变第一层子目标完成的次序,因 此它最后所得到的规划解不一定是最优的,即质量往往不佳。 另外一个非层次规划系统 INTERPLAN 是 Edinburgh 大学的 Austin Tate 在 1974 年研制 的,对于“子目标冲突”的处理方法有所不同,它采用“子目标提升”(Lifting )等能够 在不同层次的子目标之间调整次序,因此它的排序空间远远大于 HACKER ,但是能够得到 比较优的规划解。 在合取子目标比较多的时候,HACKER 和 INTERPLAN 方法的效率显然会很低,为此 Richard Waldinger 在 1977 年提出了“目标回归”(Goal Regression )的方法来处理冲突问 题,其基本思想是:对于合取子目标 P ∧Q,如果先完成 P 后,Q 无法解决,说明为完成 P 所取的操作步骤 E1 ,E2…… ,Em 中,必有某个 Ei (1≤ i ≤ m )破坏了为完成 Q 所要采 取的操作步骤 F1 ,F2 ,……,Fn 中的某个Fj (1≤ j ≤ n )的前提条件,如果能确定Ei 的 位置,把 Q 从后面移动到 Ei 的前面完成,这就能避免了冲突;如果找不到这样的 Ei ,则 8 说明先完成 P 后完成 Q 的尝试不合理,此时可以交换 P 、Q 的解决次序,再重复上述过 程。 11.2.4 层次规划方法 层次规划方法首先勾画出一个完整但又比较粗略的规划解,然后逐步细化、逐步明 确,直到足以具体完成整个规划的各步操作,层次规划方法实际上把不同性质的问题放在 不同层次上加以考虑。 NOAH 是个典型的层次规划系统,它是作为一个计算机咨询系统的一部分而设计的, NOAH 意即“行为层次网络”(Nets of Action Hierarchies ),他通过不断扩充一个所谓 “过程网络”(Procedural Net )来有层次地求解规划问题。 对于合取子目标系统采用简单的扩展,只是把两个子目标拆成并行的节点,而不确定 它们的先后执行顺序,在这里,NOAH 实际上是采用了现在在规划领域里还广泛采用的 “最小约定”(Least-Commitment )策略,即在没有理由对子目标排序的情况下就推迟排 序,直到理由成熟为止,而且 NOAH 还不断检测规划是否有子目标冲突的可能,同时把冲 突现象调整在形成一级规划之前。 NOAH 系统所代表的层次规划方法从规划的总体过程来说,是构造性的,这一特点的 好处很多。首先,由于每一级规划都是通过对子目标的并行操作形成的,这样就降低了问 题的复杂性;而且,逐级生成规划,便于及早发现、解决子目标的冲突现象,加上“最小 约定”策略的使用,避免了非层次规划中的回溯,搜索工作量有所下降;另外,在规划的 实际执行过程中,如果出现意外情况,只需从相应的规划层次入手,予以修改,方便了规 划的监控;最后,各级规划实际上都是详略程度不同的规划解的表示,这在规划系统的应 用中也是很有意义的。 在层次规划方法中,“层次”的区分原则是不一样的,NOAH 的层次概念是子目标的 详略程度,而在另一个关于分子遗传学实验的规划系统 MOLGEN 中,是从控制结构上把 规划过程分为三层:顶层为“策略层”,作出“最小约定”、“启发式”等规划策略方式 的选择;中间层是“设计层”,确定提出目标、细化算子等规划步骤;最低层为“规划 层”,针对具体问题作出具体可实行的规划解。由于“策略层”相对于“设计层”实际上 是一种“规划的规划”,于是由此提出了所谓“元规划”(Meta-Planning )的概念。另 外,该系统还运用了一种“约束传递”(Constraint Propagation )的方法,把众多子目标之 间可能的“冲突”形式化为各种约束条件,通过相互传递的方式综合起来,限制求解空 间,提高问题求解的效率,这种方法较好地实现了“最小约束”策略。 11.2.5 规划问题复杂度 虽然人们对规划问题的研究已经五十多年了,到目前也已经提出了各种各样的解决方 案,但是由于规划问题是一个非常难解决的问题,所以现在能够解决的规划问题还只是局 限于一些象积木世界这样的小问题领域等,关于现实世界中的一些大而复杂的规划问题仍 然没有能够很好地解决,下面我们来看一看前人对于规划问题从理论上分析其计算复杂性 的一些结论: 9 1) 1985 年,John Canny 证明了形式化的 STRIPS 规划问题是一个 PSPACE 完全问题 [19] 。 2) Gupta and Nau 于 1991 年证明:不论采取什么样的形式化系统,积木世界问题总 [20] 是 NP 难题(NP-Hard ) 。 3) 领域相关的规划问题至少是 NP 完全的(Chenoweth 1991[21] ;Gupta and Nau 1992[22]) 。 4) 领域无关性的规划问题是 PSPACE 完全问题或更难(Chapman 1987[23] ;Bylander 1991[24]) 。 5) Bernhard Nebel 于 1994 年证明了规划问题是 NP 难题 [25] 。 6) Selman 于 1994 年进一步指出:类似于规划的问题是 NP 完全的或更难的[26] 。 现在所能解决的规划问题还有很大的局限性,也正因如此,规划问题的研究才具有很 大的挑战性,使得一些人工智能方面的研究者乐此不彼。 11.3 非经典的智能规划 从 1995 年 Blum 和 Furst 提出图规划算法[9] 以来,与领域无关(Domain-Independent ) 的智能规划算法的效率得到了较大的提高。现代智能规划系统基本可以划分为五大类。第 一类是基于图规划的规划系统,它们的代表规划系统有: Graphplan[27]、Blackbox[28]、IPP[29] 和 LGP[30] ;第二类是基于启发式搜索的规划系统它们的代表规划系统有: HSP[31] 、FF[32,33] 和 MIPS[34,35] ;第三类是基于逐步细化的分层规划系统它们的代表规划系统有: SHOP2[36] ; 第四类是将规划问题转化为约束可满足问题来求解的规划方法,代表规划系统有 Blackbox[28] ;第五类是将规划问题转化为模型检测问题来求解的规划方法,代表规划系统 有 MIPS[34,35] 。 11.3.1 图规划(GraphPlan )方法 其代表有美国卡乃基-梅隆大学( Carnegie Mellon University )的图规划系统 GraphPlan (Blum 和 Furst )、德国的 IPP 、英国的 STAN 、美国盛顿大学(University of Washington )的 SGP(Daniel S。Weld 等)[89] 。 先来介绍几个概念: 1.有效(valid )规划解:规划问题的一个有效规划解是一个动作的集合和对每一个动 作发生时间的指定。 2 .规划图(planning graph ):是一个具有两类节点和三类边的有向、分层图。规划图 各层是命题层(proposition levels )和动作层(action levels)交替出现的,命题层包含命题 节点(标识为一些命题),动作层包含动作节点(标识为动作)。规划图的第一层是 命题层,包括规划问题初始条件下的所有命题。 图规划在两个阶段(phases)交替进行:图扩展(graph expansion )阶段和解提取(solution extraction)阶段。图扩展阶段正向扩展规划图直到目标状态的所有命题都出现为止。解提取 阶段反向搜索规划图以求出规划解。如图 11.5 所示:黑圆点代表命题节点,空白方框代表 10 动作节点。 图 11.5 图规划的规划图 这里以 STRIPS 规划问题型(动作的前件和后件都是确定的文字的合取)为例,结合 图例大致介绍这一方法,为了简化规划图的规模,Blum 和 Furst 定义了规划图中节点的两 元互斥关系,如图 11.6 所示: I. 第 i 层两个动作实例(Action Instance )满足以下三者中的任意一个时,我们称之为具 有互斥关系: 1、后件(效果)不一致(Inconsistent ):一个动作的后件是另一个动作后件的否定。 2 、冲突(Interference):一个动作删除另一个动作的前件。 3、竞争所需(Competing Needs ):两个动作具有i-1 层互斥关系的前件。 II. 第 i 层的两个命题(Propositions )具有互斥关系,当: 1、一个命题是另一个的否定或: 2 、不一致支持(Inconsistent Support ):获得此命题的所有动作(方法)都具有互斥 关系。 显然上述关系不具备传递性。 图 11.6 互斥关系 考虑以下问题:给睡眠中的爱人准备一个惊喜,要求把垃圾(garbage )带出去,做好 正餐(dinner),准备好一份礼物(present) 。 初始条件:(and(garbage)(cleanHands)(quiet)) 目标: (and(dinner)(present)(not(garbage))) 动作 : cook :前件 (cleanHands) carry :前件 ( ) :后件 (dinner) :后件 (and(not(garbage)) (not(cleanHands))) wrap :前件 (quiet) dolly :前件 ( ) :后件 (present) :后件 (and(not(garbage)) (not(quiet))) 11 图 11.7 第一层扩展 图 11.7 是上述问题的部分规划图,我们注意到:动作 carry 与保持 garbage 的动作具有 互斥关系,因为它们的后件不一致;dolly 与 wrap 由于冲突而具有互斥关系;在第二层即 命题层┑quiet 与 present 具有互斥关系。由于在第二层已经获得了所有的子目标,并且它们 之间没有互斥关系,因此下面可以进入图规划的第二阶段:即解提取阶段。依次考虑目标 的各个子目标,对第 i 层的每一个子目标,图规划选择第 i-1 层的获得此子目标的动作 a, 此处选择是一个回溯点:如果存在多于一个的动作能够获得此目标,那么图规划为了保证 其完整性必须考虑所有的动作,如果一个动作 a 与其他的已经选择的动作是一致(consistent) 的,那么图规划就继续进行其他的子目标,否则如果没有这样的选择存在,图规划就回溯 到前一个选择。当图规划找到所有的实现第 i 层目标的动作后,它再把选择的动作的前件 作为子目标,依次进行,直到第零层,即初始条件为止,否则返回第一阶段继续进行图扩 展阶段。 在上面的例子中,在第二层有三个子目标:┑garbage 可由动作 carry 或 dolly 来获得; dinner 可由 cook 来实现;present 可由 wrap 来包扎好。因此图规划至少必须考虑两个动作 的集合:{carry,cook,wrap}和 {dolly,cook,wrap},但是这两个集合都不一致,因为 carry 和 cook、dolly 和 wrap 是互斥的,因此解提取失败,图规划扩展规划图到第四层如图 11.8 所 示,然后经过解提取阶段获得解规划如图 11.9 所示。 12 图 11.8 第二层扩展 图 11.9 解规划 11.3.2 基于启发式搜索的规划方法 目前规划系统为了提高效率,几乎都采用了启发信息。启发式搜索的基本思想是:人 为给定一个评估函数,对每个搜索状态进行计算,得到每个状态的值,从而决定哪个状态 较好。但是,这个启发函数用在与领域无关的规划系统上比较困难。 在当前智能规划研究中,领域无关的启发信息的抽取技术是基于实现目标的动作数 量,对要解决的问题 P 放宽到一个比较简单的问题 P ,抽取技术就是基于P 来评估。 Bonet 提出的向前搜索的一个放宽方法[37]就是将操作的删除边忽略,对于每个状态s ,得 到在放宽了的问题P 的启发函数h (s) 就可以作为原有问题P 的启发函数h * (s) 的下限, 这样h (s) 就可以作为合适的启发函数作用在原有问题P 上。 实质上,初始状态和操作可以理解为一个定义了的节点有向图,对于每个操作op 都有 一条由其前提条件节点指向正效果节点的边,这样从初始状态到达节点p 的开销就可以计 算。从状态s 到节点p 的开销g (s) 递归定义为: 13 ⎧ 0 if p ∈s g s (p ) ⎨ min op∈O(p ) [1+g s (Pr ec(op))] otherwise ⎩ O(p ) 表示添加效果为 p 的操作集,就是p ∈Add (op) 。g s (Pr ec(op)) 是从状态从 状态s 到操作op 前提条件节点的计算。 Bonet 对上面的 g (p ) 提出更为简单的向前计算过程,首先初始化图上各个节点:当 s p ∈s ,令g (p ) 为0 ;否则令g (p ) ∞。这样,每一次操作op 作用在状态s 上,每个 s s 添加效果节点p ∈Add (op) 添加到s ,g (p ) 更新为: s g s (p ) min[g s (p ),1+g s (Pr ec(op))] 这个计算 g (p ) 的过程一直到g (p ) 不再改变为止,显然,这个过程在节点数目一定 s s 的情况下,时间复杂度是多项式的。 这样,节点集 C 的估算g s (C) 可以由在这节点集 C 里面每个节点估算来得到。同理 h(s) 定义为: def h(s) g s (G) g s (C) 可以定义为三种估算:节点集 C 中所有节点估算值的和、节点集C 中节点最小 估算、节点集 C 中节点最大估算。在HSP[28] 中,Bonet 主要采用两种估算: A) g s (C) 为节点集中所有节点估算值的和,称作添加启发函数hadd : g +(C) ∑g (r) s s r ∈C B) g s (C) 为节点集C 中节点最大估算,称作最大启发函数hmax : g max (C) max g (r) s s r ∈C HSP [31] 规划系统 HSP (Heuristic Search Planner ) 在 AIPS-00 的规划大赛上取得了成功,它 的与领域无关的启发信息的抽取是基于实现目标的动作数量,对要求解的问题 P 放宽到一 个比较简单的问题 P’ ,抽取技术就是基于 P’来评估。Bonet 提出的向前搜索的一个放宽方 法就是将操作的删除边忽略。对于每个状态 s 得到在放宽了的问题 P’ 的启发函数 h’(s)就可 以作为原有问题P 的启发函数 h*(s) 的下限,这样 h’(s)就可以作为合适的启发函数作用在原 有问题 P 上。 FF 两个版本的 FF (FAST-FORWARD)规划系统[32,33]参与了这次比赛。第一个版本是 FF- v2.2 ,它大致跟在 2000 年比赛使用的 FF-v2.2 版本一致,只是改掉了在预处理阶段存在的 小错误;另一个版本是 Metric-FF ,它能处理用数字表示的约束和对用数字表示的状态数值 变量的影响。 14 Metric-FF 可以根据用户两个要求来分别对规划系统进行两种设置。这两个要求是: 1、 在最短时间内生成合法规划;2 、生成最优的规划。前一种设置搜索技术采用跟FF-v2.2 类 似的加强爬山法。这种方法是: 采用放宽规划长度作为从初始状态到目标状态距离的估计和 利用动作互斥来剪枝向前搜索;后一种设置搜索技术采用类似标准的 A*算法,利用采用放 宽规划长度作为从初始状态到目标状态距离的估计也就是启发函数。在两种设置中放宽规 划很自然的从 STRIPS/ADL 中扩展得到。只需要在预处理阶段把数值型约束和影响转化, 使得它们都是严格单调的。 在这些严格单调的限定下通过忽略所有删除边和数值影响变元来放宽一个规划。如果 这个放宽规划得到解决,那么 Metric-FF 综合考虑它的逻辑和数值因素跟 FF-v2.2 计算启发 函数,假如在没有一个放宽规划能到达这个状态,那就证明这个状态是不可达的。 LGP 规划系统 LPG[76] (Local Search in Planning Graphs)是一个基于局部搜索和规划图的规划 系统,并且能处理在 PDDL2.1 领域上用数值来表示的度量和持续时间,和能解决生成规划 和优化规划方面问题。 LGP 基本的搜索策略基于 Walksat——一个高效的 SAT 问题求解程序。LGP 的搜索空 间是一个“动作图”(action graphs) ,部分规划子图就表示了部分规划搜索步骤就是一个 图的修改,使得一个“动作图”转换成为另一个“动作图”。LGP 使用了一种紧凑的规划 图表示形式来定义搜索邻近点,使用参数启发函数来评价它的值。这些参数表示在这个部 分规划中不同种类冲突的权值在搜索过程中动态计算。评价函数采用了一些通常的启发技 术,例如对一个前提条件计算启发搜索开销和启发执行开销。持续的动作和数字化的量值 都表示在“动作图”,且通过评价函数模型化。LGP 在测试例子中能产生高质量的规划, 因为每一次生成一个规划的序列,下一次质量会在这基础上得到提高。LGP 采用了跟 FF 相似的“最好优先”(best-first)算法,系统能在进行了若干步搜索后会自动转换到“最好优 先”搜索。 11.3.3 基于逐步细化的分层规划方法 以 SHOP2[36]为代表的层次规划方法思想是: 首先勾画出一个完整但又比较粗略的规划 解,然后逐步细化、逐步明确,直到足以具体完成整个规划的每一步操作,层次规划方法 实际上把不同性质的问题放在不同层次上加以考虑。 SHOP2 SHOP2[36]是一个分层任务网络规划系统。跟在一般的规划需要一组目标不一样,取而 代之是 SHOP2 需要一个半序的任务序列去执行。为了解决一些领域上的规划问题, SHOP2 需要一些基于领域知识的方法来将一个任务分解为一组半序的子任务。为了得到合 15 法的规划,SHOP2 将问题变形: 它递归地将任务分解为子任务,直到它到达能被规划操作 直接执行的原始的任务。 跟大多数分层任务网络规划系统不一样,SHOP2 是从初始状态向前规划: 给出几个任 务需要分解 SHOP2 按它们同一执行顺序来得到规划。在规划过程中的每个点上,SHOP2 已经知道在这个点之前所执行的操作,故 SHOP2 了解当前状态。这种技术使得 SHOP2 的 预处理估计机制相当强大:SHOP2 预处理方法和操作可以包含逻辑推理、复杂数值计算和 外接程序。 SHOP2 比 SHOP 成功的地方在于它的预处理过程。SHOP 需要他的任务是全序结构,然 而 SHOP2 只需要它的任务是半序结构。因为 SHOP2 可以插入不同的子任务,一些领域知 识在 SHOP2 比SHOP 更容易表示。 11.3.4 基于约束可满足的规划方法 起初 SATPLAN 是 Henry Kautz 和 Bart Selman 深入地分析了传统的基于定理证明的规 划以后提出来的完全不同于以往演绎技术的一种特殊的规划系统,它克服了传统规划系统 的异常(每一个模型不一定对应一个有效的规划解)情况,使得每一个正确模型都有一个 有效的规划解与其相对应。 图 11.10 SAT 规划系统体系结构 SAT 规划系统的体系结构如图 11.10 所示,编译器(Compiler )的输入是规划问题(包 括初始状态、目标状态和动作集合),它首先猜测规划解的长度,产生一个逻辑命题公 式,如果逻辑命题公式是可满足的,它蕴涵着规划解是存在的;符号表(Symbol Table)记 录了命题变量和规划实例之间的对应;简化器(Simplifier )运用较快(通常为线性时间) 的技术(如单元子句法,纯文字消去法等)来降低 CNF 公式的规模;求解器(Solver )运 用系统或统计的方法来找到一个满足的赋值;解码器(Decoder )用符号表把赋值转换成一 个规划解。如果求解器发现公式是不可满足的,那么编译器就会产生新的编码(代表更长 的规划解)。 由基于 SAT 的规划的体系结构可以看到,这种规划方法关键在于两个环节,一个是编 码方式,另一个是求解方式。有关第一个问题的研究取得了一系列的进展,如[38]中综合 叙述了几种普遍的编码方式,由于基于 SAT 的规划算法是基于 SAT 算法来实现的,所以第 二个问题其实就是选择好的 SAT 算法,而可满足性(SAT)问题是人工智能研究领域中的 一个基本理论问题,最近几年来,每年都有新的 SAT 算法问世,人们设计各种各样的技术 来提高解决 [39-44] SAT 问题的效率 ,这几年来主要有 GSAT 算法和 WALKSAT 算法,但是这 两个算法都不是完备的,一个比较经典的完备 SAT 算法是 DP 算法,以下就先来介绍 GSAT 算法和 DP 算法。 16 算法 GSAT 输入:a set of clauses a,MAX-FLIPS ,and MAX-TRIES 输出:a satisfying truth assignment of a,if found Begin For i := 1 to MAX-TRIES t := a randomly generated truth assignment For j := 1 to MAX-FLIPS If t satisfies a then return t p := a propositional variable such that a change in its truth assignment gives the largest increse in the total number of clauses of a that are satisfied by t t := t with the truth assignment of p reversed End for End for Return “no satisfying assignment found” End 算法 DPLL(CNF formula:Φ) Begin If Φ is empty return yes 。 Else if there is an empty clause in Φ return no 。 Else if there is a pure literal u in Φ return DPLL(Φ(u)) Else if there is a unit clause {u} return DPLL(Φ(u)) Else Choose a variable v mentioned in Φ。 If DPLL(Φ(v)) = yes then return yes 。 Else return DPLL(Φ(v)) 。 End 总结 GraphPlan 和 SATPlan 的相同点和异同点之处,共同点:SATPlan 和 GraphPlan 都 分两阶段进行,建立一个命题结构(Propositional Structure ),在图规划中是规划图,在 SAT 规划中是 CNF wff ,在第一步所建立的结构中搜索规划解。异同点:图规划 (GrphPlan )用的实例化命题结构算法较好,SAT 规划(SatPlan )的搜索算法更加强大。 结合以上两种算法的优点,Kautz 和 Selman 于 1998 年在 AIPS 上提出了 BLACKBOX 规划算法,此系统分三个步骤进行工作: 1.把一个规划问题(以标准的 STRIPS 形式描述的)转化为一个规划图。 2 .把第一步中生成的规划图转化成一个 CNF wff 。 3 .运用最快的 SAT 引擎解决wff 。 11.3.5 基于模型检测的规划方法 模型检测(Model Checking)是当前计算机研究领域上的一个热点,它将一个系统模型跟 逻辑需要进行比较,从而发现不一致性。传统上,这个思想用来硬件电路上的验证和网络 协议的验证。近期,这个思想用在智能规划中,取得了令人瞩目的成就,产生了一系列功 能 较 强 的 规 划 系 统 : MBP[45] 、 MIPS[34,35] 、 TALPLANNER[46,47] 、 TLPLAN[48,49] 和 UMOP[50] 。 17 状态的表示 命题公式可以转化为不同的范式,一般情况下转化得到的范式有合取范式(CNF, Conjunctive Normal Form )和析取范式(DNF ,Disjunctive Normal Form )。对于每个命题 公式都有一个相应的逻辑范式来跟其相等价,但是这样的范式复杂度是以指数级增长的。 为何要使用范式?其主要理由有两个: 1、 当采用某种范式来描述命题公式的时候,相当一部分算法更加容易来设计。例 如:很多定理机器证明的算法基础--消解规则,它就采用合取范式来描述命题公 式,假如不采用合取范式来描述,那么设计消解规则将是比较困难的。 2、 当采用某种范式来描述命题公式的时候,相当一部分可计算问题解决起来的效率 更加高。例如:测试命题公式的有效性是一个 co-NP 难题,但这个命题公式采用 合取范式来描述时,那么这复杂度就是一个多项式时间,只需要对每一个合取项 进行检查是否对一个命题变量 p 都包含了 p 和﹁p 。 但是对于一些可计算问题来说,转化为一个普通的范式通常不是一个最好的解决方 案。就如采用合取范式来测试命题公式的有效性,它的时间复杂度是多项式时间,但是这 是由空间复杂度来换取的,它的空间复杂度为指数级。 近期在智能规划系统上,各位研究者也根据相应的设计采取了不同的范式,其中之一 是两元判定图表 BDD[51] (Binary Decision Diagrams) ,采用BDD 的主要原因是:采用BDD 表达的两个谓词公式时,两个 BDD 范式逻辑相等,当且仅当这两个 BDD 范式是语法相 等,即两个 BDD 范式逻辑相等,当且仅当这两个 BDD 范式是同一个 BDD 范式。然而, BDD 范式空间复杂度也是没加限制的命题公式的指数级倍数,但是在 BDD 上的操作通常 可以是在多项式时间完成。 BDD 表达式是基于三重布尔操作 if-then-else ite ( p , φ , φ ) 定义为 1 2 (p ∧φ ) ∨(¬p ∧φ ) ,p 是一个命题。任何一个布尔表达式都能采用这个布尔操作和其命 1 2 题变量和常量(1:true ,0: false )。它为布尔函数提供了一个有效地的、规范的表达方 法,被广泛用于模型检测领域,特别是使用在协议验证方面。 Shannon 扩展:将逻辑公式φ转化标准的 BDD 表达式可以按照下面的规则来进行扩 展。 φ ≡(p ∧φ[1/ p ]) ∨(¬p ∧φ[0 / p ]) ≡ite(p ,φ,[1/ p ],φ[0 / p ]) 例 11.1:Shannon 扩展将逻辑公式(A ∨B) ∧(B ∨C) 转化为 BDD 范式。 (A B) (B C) ∨ ∧ ∨ ( , (1 ) ( ), (0 ) ( )) ≡ ∨ ∧ ∨ ∨ ∧ ∨ ite A B B C B B C ≡ ( , ∨ , ) ite A B C B ( , ( ,1 ,0 ), ( ,1,0)) ≡ ∨ ∨ ite A ite B C C ite B ≡ ( , ( ,1, ), ( ,1,0)) ite A ite B C ite B ≡ ( , ( ,1, ( ,1,0)), ( ,1,0)) ite A ite B ite C ite B 18 得到一个 BDD 树,如图 11.11。 图 11.11(A ∨B) ∧(B ∨C) 的判定树 说明:实线箭头表示节点 P 为真的情况,虚线箭头表示节点 P 为假. 在 BDDs 中多数操作是多项式时间的,包括两个BDD 的合取和析取,BDD 的负操作- 。 例 11.2:一个规划例子,一辆卡车运载一个包裹从 Los Angeles 到 San Francisco,在 STRIPs 领域上,初始状态表示为:{ (PACKAGE package),(TRUCK truck),(LOCATION los-angeles) , (LOCATION san-francisco) , (AT package los-angeles) , (AT truck los- angeles) } ;目标状态为: (AT package san-francisco) 。三个动作:Load ,Unload ,Drive 。 通过分析可以得到,前提 PACKAGE 、TRUCK 和 LOCATION 是不能被动作所改变; at 和 in 可以在一起编码,因为一个包裹可以在一个地方,同时也可以在车上;{ (AT package los-angeles)(AT package san-francisco)(AT truck los-angeles)(AT truck san- francisco)(IN package truck) } 。这样就可以用三位布尔变量A 、B 和 C 来表示问题。A 表示 (AT truck san-francisco), ¬A 表示(AT truck los-angeles) ;变量 B 和 C 表示包裹的状态, ¬B ∧¬C 表示 (AT package los-angeles) , ¬B ∧C 表示 (AT package san-francisco) , B ∧¬C 表示(IN package truck) 。 这样,初始状态为:¬A ∧¬B ∧¬C ,目标状态为:¬B ∧C 。转化为 BDD 范式可 以得到,初始状态为:ite(A,0, ite(B ,0, ite(C,0,1))) ,目标状态为:ite(B ,0, ite(C,1,0)) , 得到判定树为: 19 图 11.12 ¬A ∧¬B ∧¬C 和¬B ∧C 的判定树 说明:左边判定树是初始状态¬A ∧¬B ∧¬C ,右边判定树是目标状态¬B ∧C ,实 线箭头表示节点 P 为真的情况,虚线箭头表示节点 P 为假。 动作的表示 在 BDD 中,操作看作状态转换关系来执行。一个操作的状态转换关系表达了操作的 前提条件中和效果中的变量的真值转换。例如:对一个操作 oi 的前提条件是 p ∧p ∧¬p ,效果是p ,¬p , p ,那么o 的状态转换关系为: 1 2 3 2 3 4 i preconditi on effects τ p ∧p ∧¬p ∧(p ↔p ) ∧p ∧¬p ∧p ∧(p ↔p ) i 1 2 3 1 1 2 3 4 5 5 p , , p 是在前提条件中的变量,p , ,p 表示在效果中相对应的变量, n 个操 1 5 1 5 作的转换关系Θ为τ ∨∨τ 。那么规划求解就是为给定一个初始状态I 和目标状态 G 1 n 的变量赋值,寻找一系列满足能从I 到G 的状态集。 例 11.3:在上面的例 11.2 中,动作(DRIVE truck los-angeles san-francisco)当且仅当卡 车在 los-angeles 才能满足,然后改变卡车的位置到 san-francisco 。我们采用跟例 11.2 同样 的三个布尔变量A 、B 和 C 表示动作(DRIVE truck los-angeles san-francisco)执行前的状态, 相应三个布尔变量 A’ 、B’和 C’表示动作(DRIVE truck los-angeles san-francisco)执行后的状 态。 那么我们可以将动作(DRIVE truck los-angeles san-francisco)表示为: ¬A ∧A∧(B ↔B ) ∧(C ↔C) 相应的 BDD 范式为: 20 ¬ ∧ ∧ ↔ ∧ ↔ A A (B B ) (C C) C C ≡ ¬ ∧ ∧ ↔ ∧ ↔ ¬ ∧ ∧ ↔ ∧ ↔ ( , 1 ( ) ( ), 0 ( ) ( )) ite A A B B C C A B B ite A A B B C C ≡ ∧ ↔ ∧ ↔ ( ,0, ( ) ( )) ite A ite A B B C C B B C C ≡ ∧ ↔ ∧ ↔ ∧ ↔ ∧ ↔ ( ·【全国百强校】湖南省长沙市长郡中学高中英语(选修八,译林牛津版)课件.ppt ·【同步课堂】2014年高中生物(中图版)必修1同步教学课件:122 细胞基本结构.ppt 1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。 ·【世纪金榜】2018年高考地理(人教版)一轮复习课件:122地理信息技术在区域地理环境研究中应用.ppt

本站文章于2019-10-05 00:43,互联网采集,如有侵权请发邮件联系我们,我们在第一时间删除。 转载请注明:人工智能外面与其操纵-智能计议pdf
已点赞:105 +1

上一篇:

下一篇:



关于我们

  • 关于我们
  • 品牌介绍
  • 诚聘英才
  • 联系我们

学生/家长

  • 帮我选学校
  • 帮我选专业
  • 投诉/建议

教育机构

  • 如何合作
  • 联系方式

其他

  • 投稿合作
  • 权利声明
  • 法律声明
  • 隐私条款
全国统一客服电话
4006-023-900
周一至周六 09:00-17:00 接听
IT培训联盟官方公众号
扫描访问手机版
家电维修|北京赛车pk10