赵才荣 E-mail:zhaocairong@tongji.edu.cn 同济大学,电子与信息工程学院,智信馆410室 《人工智能原理》课程 第二章 智能体 智能化智能体 赵才荣 E-mail:zhaocairong@tongji.edu.cn 同济大学,电子与信息工程学院,智信馆410室 理性的Agent是人工智能方法的核心 通过对Agent从感知外部环境,到实施行动,并最后对外部环境施加影响的全过程,把AI中相互分离的主要领域,如问题求解,知识与推理,合乎逻辑 的行动,不确定知识与推理,学习以及通信、感知与行动等统一在智能Agent这一框架下,形成了一个相互联系的整体。
Over-review Intelligent Artificial Intelligent History of AI Argument on AI 人工智能(Artificial Intelligence) ,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能各个流派的介绍: 符号主义: 连接主义: 行动主义: 上海市精品课程 人工智能原理
Outline Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types 上海市精品课程 人工智能原理
What is an (Intelligent) Agent? An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators Human agent: eyes, ears, and other organs for sensors; hands, legs, mouth, and other body parts for actuators Robotic agent: cameras and infrared range finders (红外测距仪) for sensors; various motors for actuators Agent 通过传感器感知环境并通过执行器对所处环境产生影响的实体。 智能体,顾名思义:就是具有智能的实体,英文名是Agent。 智能体是 人工智能 领域中一个很重要的概念。任何独立的能够思想并可以同环境交互的实体都可以抽象为智能体。 例子: 人类智能体(简单分析一下智能体的工作机理);机器人智能体。 一般地,一个Agent在指定时间是否为理性取决于以下四条: 1)定义了成功程度的性能度量; 2)Agent迄今所感知到的全体, 即感知序列(percept sequence); 3)Agent对环境的了解; 4)Agent所能实施的行动。 上海市精品课程 人工智能原理
Agents and environments The agent function maps from percept histories to actions: [f: P* A] agent = architecture + program 智能体和环境之间的关系: 感知:表示任何时刻Agent的感知输入。Agent的感知序列是该Agent所收到的所有输入数据的完整历史。 从数学角度看,Agent函数描述了Agent的行为,它将任意给定的感知序列映射为函数。 Agent函数通过Agent程序来实现 区别:Agent程序是具体实现,它在一些物理系统内部运行;Agent函数是抽象的数学描述 上海市精品课程 人工智能原理
Vacuum-cleaner world Percepts: location and contents, e.g., [A,Dirty] Actions: Left, Right, Suck, NoOp 举例:真空吸尘器(进一步研究清楚:工作机理) Agent: Environments: 上海市精品课程 人工智能原理
Vacuum-cleaner world 真空吸尘器世界的简单Agent函数部分列表 Partial tabulation of a simple agent function for the vacuum-cleaner world 上海市精品课程 人工智能原理
Rational agents An agent should strive to "do the right thing", based on what it can perceive and the actions it can perform. The right action is the one that will cause the agent to be most successful. 好的行为:理性的概念——》做正确的事?(查找,确定完善理性的定义:)理性Agent:具有选择对当下环境最有利行为的能力的Agent。 何为正确的事? 通过性能度量表述,它对环境状态的任何给定序列进行评估 上海市精品课程申报 人工智能原理
Rational agents Performance measure: An objective criterion for success of an agent's behavior. E.g., performance measure amount of dirt cleaned up, amount of time taken amount of electricity consumed, amount of noise generated 好的行为:理性的概念——》做正确的事?(查找,确定完善理性的定义:)理性Agent:具有选择对当下环境最有利行为的能力的Agent。 何为正确的事? 通过性能度量表述,它对环境状态的任何给定序列进行评估 上海市精品课程申报 人工智能原理
Rational agents Rational Agent: For each possible percept sequence, a rational agent should select an action that is expected to maximize its performance measure, given the evidence provided by the percept sequence and whatever built-in knowledge the agent has. 任何指定的时间内,理性的判断依赖以下4个方面:(结合真空吸尘器) 定义成功标准的性能度量 Agent 对环境的先验知识 Agent可以完成的行动 Agent 截止到此时的感知序列 这样就导致了理想的理性Agent对每一个可能的感知序列,在感知序列所提供的证据和该Agent所固有的知识基础 上,理想的理性Agent应当实施对其所期望的行动,以得到最大的性能度量。 理性的定义:对每一个可能的感知序列,根据已知的感知序列提供的证据和Agent具有的先验知识,理性Agent 应该选择能使其性能度量最大化的行动。 上海市精品课程申报 人工智能原理
Rational agents Rationality is distinct from omniscience (all-knowing with infinite knowledge) Agents can perform actions in order to modify future percepts so as to obtain useful information (information gathering, exploration) An agent is autonomous if its behavior is determined by its own experience (with ability to learn and adapt) 全知者、学习和自主性 区别理性和全知概念 一个全知的Agent明确地知道他的行动产生的实际结果并且做出相应的动作;但全知在现实中是不可能的 理性是使期望的性能最大化;完美是使实际的性能最大化 信息收集 Agent依赖于设计人员的先验知识而不是自身的感知信息,这种情况会说该Agent缺乏自主性。理性的Agent应该是自主的——它应该学习, 以弥补不完整的或者不正确的先验知识。 如果Agent的行动完全基于该Agent的内在所固有的知识而不理会外部的感知,则该Agent缺乏自主性。我们说一个Agent系统是自主性的,是当其 行为由其自身的经验所决定。 上海市精品课程 人工智能原理
How is an Agent different from other software? Agents are autonomous, that is, they act on behalf of the user Agents contain some level of intelligence, from fixed rules to learning engines that allow them to adapt to changes in the environment Agents don't only act reactively, but sometimes also proactively 自主,智能,主动做出反应,而不仅仅是被动 智能体具有下列基本特性: (1)自治性(Autonomy ) : 智能体能根据外界环境的变化,而自动地对自己的行为和状态进行调整, 而不是仅仅被动地接受外界的刺激,具有自我管理自我调节的能力。 (2)反应性(Reactive):能对外界的刺激作出反应的能力、 (3)主动性(Proactive):对于外界环境的改变,智能体能主动采取行动的能力。 (4)社会性(Social ) : 智能体具有与其它智能体或人进行合作的能力,不同的智能体可根据各自的意图与其它智能体进行交互,以达到解决问题的目的。 (5)进化性:智能体能积累或学习经验和知识,并修改自己的行为以适应新环境。 上海市精品课程 人工智能原理
How is an Agent different from other software? Agents have social ability, that is, they communicate with the user, the system, and other agents as required Agents may also cooperate with other agents to carry out more complex tasks than they themselves can handle Agents may migrate from one system to another to access remote resources or even to meet other agents 社交能力,协作,迁移 (4)社会性(Social ) : ,不同的智能体可根据各自的意图与其它智能体进行交互,以达到解决问题的目的。 (5)协作(cooperate):智能体具有与其它智能体或人进行合作的能力。 (6)迁移(migrate):远程控制和访问能力。 (7)进化性:智能体能积累或学习经验和知识,并修改自己的行为以适应新环境。 上海市精品课程 人工智能原理
PEAS PEAS: Performance measure, Environment, Actuators, Sensors Must first specify the setting for intelligent agent design Consider, e.g., the task of designing an automated taxi driver: Environment Actuators Sensors 前面有了理性的定义,接下来要思考的是:如何来构建理性的Agent。 第一步要考虑的是:任务环境。这是理性Agent要“求解”的基本“问题” 环境的性质 任务环境:性能度量,环境以及Agent的执行器和传感器 设计Agent时,第一步就是尽可能完整地详细说明任务环境。任务环境的风格直接影响到Agent程序的适当设计 任务环境的规范描述入手,举例。 举例:自动出租车 上海市精品课程 人工智能原理
PEAS Must first specify the setting for intelligent agent design Consider, e.g., the task of designing an automated taxi driver: Performance measure: Safe, fast, legal, comfortable trip, maximize profits Environment: 讨论出租车全自动驾驶任务环境的PEAS描述 板书:以taxi driver 为例,分析: Performance measure: Environment: Actuators: Sensors: Roads, other traffic, pedestrians, customers 上海市精品课程 人工智能原理
PEAS Must first specify the setting for intelligent agent design Consider, e.g., the task of designing an automated taxi driver: Actuators: Steering wheel, accelerator, brake, signal, horn Sensors: 讨论出租车全自动驾驶任务环境的PEAS描述 板书:以taxi driver 为例,分析: Performance measure: Environment: Actuators: Sensors: Cameras, sonar, speedometer, GPS, odometer, engine sensors, keyboard 上海市精品课程 人工智能原理
PEAS Agent: Medical diagnosis system Performance measure:Healthy patient, minimize costs, lawsuits Environment:Patient, hospital, staff Actuators Screen display (questions, tests, diagnoses, treatments, referrals) Sensors Keyboard (entry of symptoms, patient's answers, examination reports) 现代医疗诊断系统: 结合前例,给出分析 上海市精品课程 人工智能原理
PEAS Agent: Part-picking robot Performance measure: Percentage of parts in correct bins Environment: Conveyor belt with parts, bins Actuators: Jointed arm and hand Sensors: Camera, joint angle sensors 上海市精品课程 人工智能原理
PEAS Agent: Interactive English tutor Performance measure: Maximize student's score on test Environment: Set of students Actuators: Screen display, Speaker (exercises, suggestions, corrections) Sensors: Keyboard 上海市精品课程 人工智能原理
智能体类型 性能度量 环境 执行器 传感器 医学诊断系统 恢复健康的病人,费用最小化,最少诉讼 病人,医院,职员 显示:问题,测试,诊断,治疗,咨询 键盘输入,症状,检查结果,病人回答 挑拣零件的机器人 放进正确箱子的零件的百分比 载有零件的传送带,箱子 有关节的胳膊和手 摄像头,关节角度传感器 交互式英语教师 最大化学生的测试成绩 学生集合,测验机构 显示(语音合成):练习,建议,纠正 键盘输入(语音识别) 上海市精品课程 人工智能原理 20
Exercise Robot soccer, Internet book-shopping agent, PEAS? 上海市精品课程 人工智能原理
Environment types Fully observable (vs. partially observable): An agent's sensors give it access to the complete state of the environment at each point in time. Deterministic (vs. stochastic): The next state of the environment is completely determined by the current state and the action executed by the agent. (If the environment is deterministic except for the actions of other agents, then the environment is strategic) 人工智能中研究的任务环境范围很大。可以通过定义数量相当少的维度,来对任务环境进行分类。 任务环境的性质: 完全可观察:如果Agent的传感器在每个时间点上都能获取环境的完整状态,那么我们就说任务环境是完全可观察的。 如果传感器能够检测所有与行动决策相关的信息,那么该任务环境是有效完全观察的,相关的程度则取决于性能的度量。 部分可观察:如果传感器丢失了部分状态信息,则可能导致环境成为部分可观察。如果agent 没有传感器,环境则是无法观察的。 确定的与随机的:如果环境的下一个状态完全取决当前状态和Agent执行的动作,那么我们说该环境的是确定;否则,它是随机的。 片段式的与延续式的:在片段式的任务环境中,Agent 的经历被分成了一个个原子片段。在每个片段中Agent感知信息并完成单个行动。 关键的是,下一个片段不依赖于以前的片段中采取的行动。在延续式环境中,短期的行动会有长期的效果。 上海市精品课程 人工智能原理
Environment types Episodic (vs. sequential): The agent's experience is divided into atomic "episodes" (each episode consists of the agent perceiving and then performing a single action), and the choice of action in each episode depends only on the episode itself. 人工智能中研究的任务环境范围很大。可以通过定义数量相当少的维度,来对任务环境进行分类。 任务环境的性质: 完全可观察:如果Agent的传感器在每个时间点上都能获取环境的完整状态,那么我们就说任务环境是完全可观察的。 如果传感器能够检测所有与行动决策相关的信息,那么该任务环境是有效完全观察的,相关的程度则取决于性能的度量。 部分可观察:如果传感器丢失了部分状态信息,则可能导致环境成为部分可观察。如果agent 没有传感器,环境则是无法观察的。 确定的与随机的:如果环境的下一个状态完全取决当前状态和Agent执行的动作,那么我们说该环境的是确定;否则,它是随机的。 片段式的与延续式的:在片段式的任务环境中,Agent 的经历被分成了一个个原子片段。在每个片段中Agent感知信息并完成单个行动。 关键的是,下一个片段不依赖于以前的片段中采取的行动。在延续式环境中,短期的行动会有长期的效果。 上海市精品课程 人工智能原理
Environment types Discrete (vs. continuous): A limited number of distinct, clearly defined percepts and actions. Single agent (vs. multiagent): An agent operating by itself in an environment. 静态与动态:如果环境在Agent计算时候会变化,那我们称该Agent的环境是动态的;否则环境是静态的。如果环境本身不随时间变化而变化,但Agent 的性能评价随时间变化。我们这样的环境是半动态的。 离散与连续:环境的状态,时间的处理方式以及Agent的感知信息和行动,都有离散/连续之分 单Agent与多Agent: 已知与未知:严格说,这种区分指的不是环境本身,指的是Agent的知识状态,这里的知识则是环境的“物理法则”。在已知的环境中,所有行动的后果是给定的。显然,如果环境的是未知的,Agent需要学习环境是如何工作的,以便做出好的决策。注意与完全可观察与部分可观察的区别 上海市精品课程 人工智能原理
Environment types 任务环境 可观察性 确定性 片段性 静态性 离散性 智能体数 出租车驾驶 部分 随机的 延续式的 动态的 连续的 多 医学诊断系统 单 选零件的机器人 片段式的 交互式英语教师 离散的 纵横字谜游戏 完全 确定的 静态的 The environment type largely determines the agent design The real world is (of course) partially observable, stochastic, sequential, dynamic, continuous, multi-agent 上海市精品课程 人工智能原理 25
Exercise Robot soccer, Internet book-shopping agent, Environment propertites? 上海市精品课程 人工智能原理
Agent functions and programs An agent is completely specified by the agent function mapping percept sequences to actions One agent function (or a small equivalence class) should be rational Aim: find a way to implement the rational agent function concisely 到目前为止,对Agent的讨论是通过描述行为——在任何给定的感知序列下所采取的行动进行的。 Agent的结构:Agent=体系结构+程序 AI的任务是设计Agent程序,它实现的是把感知信息映射到行动的Agent函数 体系结构:某个具备物理传感器和执行器的计算装置 Agent程序都具有同样的框架:输入为从传感器得到的当前感知信息,返回的是执行器的行动抉择 [注意]:Agent 程序以当前感知为输入;Agent函数是以整个感知历史为输入 上海市精品课程 人工智能原理
Table-lookup agent input{algorithms/table-agent-algorithm} Drawbacks: Huge table Take a long time to build the table No autonomy Even with learning, need a long time to learn the table entries 结合真空吸尘器世界中的行动表,构建包含针对每个可能感知序列的适当行动的函数表。 以表驱动方法构建Agent,失败: 表太大 2. 创建表的的时间太长 3. 没有自主性 4. 即使环境足够简单,表的容量可以接受,设计人员依然没有向导来填写表中的条目 AI的关键挑战之一:搞清楚如何编写程序,在可能的范围内,用少量代码而不是庞大的表来生成理性行为。 上海市精品课程 人工智能原理
Agent types Four basic types in order of increasing generality: Simple reflex agents Model-based reflex agents Goal-based agents Utility-based agents 四种基本的Agent程序: 1. 简单反射Agent 2. 基于模型的反射Agent 3. 基于目标的Agent 4.基于效用的Agent 上海市精品课程 人工智能原理
Simple reflex agents f : P→A f : IF-THEN 上海市精品课程 人工智能原理 简单反射模型 简单反射型Agent具有极好的简洁性,但是它的智能是有限的。在部分可观测环境中运转的简单反射Agent经常不可避免地陷入无限循环中。 现在的世界是什么样的?——》我们应该采取什么样的行动? 问题? f : P→A f : IF-THEN 上海市精品课程 人工智能原理
Model-based reflex agents 处理部分可观测环境的最有效途径是让Agent跟着记录现在看不到的部分世界。即,Agent应该根据感知历史维持内容状态。 随时更新内部状态信息要求在Agent中加入两种类型的知识。 首先,我们需要知道世界如何独立于Agent而发展的信息 其次,我们需要Agent自身的行动如何影响世界的信息 世界模型:关于世界如何运转的知识 f : P+M→A f : IF+-THEN 上海市精品课程 人工智能原理
Goal-based agents f : P+M+Try→A f : Target-Try 上海市精品课程 人工智能原理 把目标信息和模型相结合,以选择达到目标的行动 搜索和规划:是寻找达成Agent目标的行动序列的人工智能领域 基于目标的Agent显得效率低下,但是它更灵活,因为支持它决策的知识被显示表示出来,并且可以修改。 f : P+M+Try→A f : Target-Try 上海市精品课程 人工智能原理
Utility-based agents f : P+M+Try+Utility→A f : Utility 上海市精品课程 人工智能原理 仅靠目标在很多环境中不足以生成高品质的行为 Agent的效用函数是性能度量的内在化。如果内在的效用函数和外在的性能度量是和谐的,那么选择最大效用行动的agent 根据外在的性能度量也是理想的 f : P+M+Try+Utility→A f : Utility 上海市精品课程 人工智能原理
Learning agents 上海市精品课程 人工智能原理 学习Agent 学习元件:负责改进提高 性能元件:负责选择外部行动 评判元件根据固定的性能标准告诉学习元件Agent的运转情况 性能标准是固定的,这点很重要。应该把性能标准置于Agent之外加以考虑,理由是Agent不应该修改性能标准来适应它自己的行为 学习Agent的最后一个组件是问题产生器。它负责可以得到新的和有信息的经验的行动提议 总结:在智能agent概念框架下,AI的任务就是设计和建筑理性的、适合不同任务和环境特征的各种agents, 由此将AI 领域的各部分内容加以组织使他们有机联系在一起。 (1)问题求解 (2)知识推理 (3)符合逻辑的行动 (4)不确定性知识和推理 (5)学习 (6)通信,感知和行动 上海市精品课程 人工智能原理
A Windshield Wiper Agent How do we design a agent that can wipe the windshields when needed? Goals? Percepts? Sensors? Effectors? Actions? Environment? 雨刮器agent 上海市精品课程 人工智能原理
A Windshield Wiper Agent (Cont’d) Goals: Keep windshields clean & maintain visibility Percepts: Raining, Dirty Sensors: Camera (moist sensor) Effectors: Wipers (left, right, back) Actions: Off, Slow, Medium, Fast Environment: Inner city, freeways, highways, weather … 上海市精品课程 人工智能原理
Thank you