AI基础 L3 Agents II

Reactivity

If a program’s environment is guaranteed to be fixed, a program can just execute blindly

A reactive system is one that maintains an ongoing interaction with its environment, and responds to changes that occur in it (in time for the response to be useful); i.e. in real time

如果一个程序的环境是固定不变的,那么这个程序可以盲目地执行,不需要实时地响应环境的变化。一个固定环境的一个例子是编译器,它在处理源代码时通常不需要考虑环境的变化,因为编译过程的输入是固定的代码,输出是固定的编译结果

然而,现实世界中的大多数环境是动态的,这意味着它们会随着时间而变化。在这种环境下,一个反应式系统(reactive system)需要能够与它的环境保持持续的交互,并对发生的变化做出及时的响应,以便响应能够对环境产生有用的影响。例如,一个自动驾驶系统需要实时感知周围的环境,并根据这些信息做出调整,以保持车辆的稳定行驶。

Pro-activeness

agents to do things for us——goal-directed behaviour

— Generating and attempting to achieve goals
— Not driven solely by events
— Taking the initiative
— Recognising opportunities
Balancing Reactive and Goal-Oriented Behaviour

agents to be reactive, responding to changing conditions in an appropriate (timely) fashion and systematically work towards long-term goals 灵活(根据环境反应)且坚持(长期目标)

Social Ability

 in agents is the ability to interact with other agents (and possibly humans) via some kind of agent-communication language, and perhaps cooperate with others 通过agent语言交互合作

Agents ≡ Objects?

Objects:
— Encapsulate state;
— Communicate via message passing;
— Have methods that can perform operations on its state

  1. 封装状态(Encapsulate state)

    • 定义:对象将数据和操作数据的方法封装在一起,形成一个完整的实体。
    • 示例:在面向对象编程中,一个对象可能包含数据成员(如属性)和方法成员(如函数)。
  2. 通过消息传递通信(Communicate via message passing)

    • 定义:对象通过发送和接收消息来进行通信。
    • 示例:一个对象可以发送一个消息给另一个对象,请求执行某个操作。
  3. 有执行操作的方法(Have methods that can perform operations on its state)

    • 定义:对象的方法定义了如何操作对象的状态。
    • 示例:一个按钮对象可能有一个点击方法,当用户点击时,它会改变按钮的状态。

Agents:
— Autonomous: stronger notion of autonomy than objects, they decide whether or not to perform an action on request
— Smart: capable of flexible (reactive, pro-active, social) behaviour;
— Active: no passive service providers

  1. 自主性(Autonomous)

    • 定义:智能体具有比对象更强的自主性,它们可以自主决定是否执行请求的动作。
    • 示例:一个智能体可能会评估一个请求,并根据自己的目标或策略决定是否执行。
  2. 智能(Smart)

    • 定义:智能体能够表现出灵活的行为,包括反应性、主动性和社会性。
    • 示例:一个智能体可以根据环境变化自动调整其行为,或者与其它智能体进行社交互动。
  3. 活跃性(Active)

    • 定义:智能体不会被动地提供服务,而是能够主动地发起行动。
    • 示例:一个智能体可能会主动寻找任务或机会,而不是等待任务被分配

Artificial Intelligence & Agents

Classical Artificial Intelligence (AI) focusses on
— Algorithms to solve hard decision problems; e.g. planning
— Algorithms to interpret complex data; e.g. Machine Vision
— Knowledge representation and reasoning
— Applications in decision support, game playing
• Agents often combine these techniques
— Robotics: vision + planning
— Software assistants: machine learning + scheduling
— Game ‘bots’: search + machine learning

智能体是一种能够自主行动的实体,它们在复杂的环境中执行任务,并与人类和其他智能体交互。而经典AI是开发能够解决特定问题的算法和系统,它们不一定需要自主性。智能体经常结合经典AI的技术,以实现更复杂的任务和目标。

Rationality

A rational agent chooses whichever action maximises the expected value of the
performance measure, given the percept sequence to date.
• Rational ≠ omniscient: percepts may not supply all relevant information
• Rational ≠ clairvoyant: action outcomes may not be as expected
• Hence, rational≠ successful
• Rational ⇒ exploration, learning, autonomy

理性(Rationality)是指智能体(Intelligent Agents)根据可用信息选择能够最大化其性能度量(performance measure)的行动。性能度量是对智能体在特定环境序列中的表现进行评估的标准。

PEAS

To design a rational agent, we must specify the task environment
• Performance measure
• Environment
• Actuators
• Sensors
 

Environments

Environment type dimensions
• Observability
• Determinism
• Dynamicity
• Discreteness

Accessible vs. Inaccessible

• Accessibility is also referred to as Observability (Full to partial)
• An accessible or fully observable environment is one in which the agent can obtain complete, accurate, up-to-date information about the environment’s state
• Most moderately complex environments (including, for example, the everyday physical world and the Internet) are inaccessible or partially observable
• The more accessible an environment is, the simpler it is to build agents to operate in it

可访问性(Accessibility):

  • 定义:可访问性是指智能体能够完全或部分地获取关于环境状态的完整、准确和最新信息的能力。环境的可访问性越高,设计能够在该环境中操作的智能体就越简单。

Deterministic vs. Non-deterministic

• A deterministic environment is one in which any action has a single guaranteed
effect
• Deterministic: there is no uncertainty about the state that will result from
performing an action
• The physical world can be regarded as non-deterministic
• Non-deterministic environments present greater problems for the agent designer

确定性环境(Deterministic Environment):

  • 定义:在确定性环境中,任何给定的行动都会产生唯一确定的结果。

Episodic vs. Non-episodic 

• In an episodic environment, the performance of an agent is dependent on a number
of discrete episodes, with no link between the performance of an agent in different
scenarios  No need to reason about interactions between episodes

智能体的性能取决于一系列离散的剧集(episodes),其中每个剧集代表智能体与环境的交互过程。每个剧集之间没有直接的联系,智能体在不同的剧集中的表现不会影响其他剧集中的表现。

Static vs. Dynamic

• A static environment is one that can be assumed to remain unchanged except by the
performance of actions by the agent
• A dynamic environment is one that has other processes operating on it, and hence
changes in ways beyond the agent’s control

 Other processes can interfere with the agent’s actions (as in concurrent systems
theory)

静态环境(Static Environment):

  • 定义:在静态环境中,环境可以假设保持不变,除非智能体通过其行动改变环境

动态环境(Dynamic Environment):

  • 定义:在动态环境中,除了智能体的行动外,还有其他过程在环境中运作,因此环境的变化超出了智能体的控制。

Discrete vs. Continuous

• An environment is discrete if there are a fixed, finite number of actions and perceptsin it
• Continuous environments have a certain level of mismatch with computer systems
• Discrete environments could in principle be handled by a kind of “lookup table”

离散环境(Discrete Environment):

  • 定义:在离散环境中,存在固定且有限数量的动作(actions)和感知(percepts)。

连续环境(Continuous Environment):

  • 定义:在连续环境中,动作和感知可以是无限连续的。

连续环境与计算机系统之间存在一定的不匹配,因为计算机系统通常更适合处理离散数据和离散状态。 离散环境可以被处理为一个“查找表”(lookup table),其中每个状态都对应一个或多个可能的动作。

首先,对于填字游戏(Crossword puzzle),它通常由一个玩家完成,因此它是单智能体的。游戏的每个线索和方格都是可见的,所以它是完全可观测的。由于玩家的每一步操作都会影响后续的游戏进程,因此它是顺序性的。此外,填字游戏的规则是固定的,不会随着时间而改变,所以它是静态的。最后,填字游戏的线索和方格的数量是有限的,因此它是离散的。

其次,对于带有时钟的国际象棋(Chess with a clock),它是多人参与的,因为国际象棋需要两个对手进行对抗。同样地,所有棋盘上的棋子位置都是公开可见的,所以它是完全可观测的。国际象棋的每一步都需要考虑之前的棋局情况,因此它是顺序性的。虽然棋局的策略可能会根据比赛的时间限制而有所调整,但棋盘本身的结构是不变的,所以它是静态的。国际象棋的棋子和棋盘格子都是有限且确定的,因此它是离散的。

接下来,扑克(Poker)也是多人游戏,因为它需要至少两名玩家才能进行。然而,在扑克游戏中,其他玩家的底牌是不可见的,只有公共牌是对所有玩家开放的,所以它是部分可观测的。每一轮下注和出牌都建立在之前的信息之上,因此它是顺序性的。扑克的规则在游戏过程中保持不变,所以它是静态的。尽管扑克的结果受到随机因素(如发牌顺序)的影响,但它的基本玩法和目标是非常明确的,因此它是离散的。

然后,西洋双陆棋(Backgammon)同样是多人游戏,也需要多名玩家参与。所有的骰子和棋子在棋盘上的位置对所有玩家都是可见的,因此它是完全可观测的。每一次移动都必须考虑到当前的棋局状态,所以它是顺序性的。西洋双陆棋的棋盘布局在游戏过程中是不会改变的,因此它是静态的。与扑克类似,西洋双陆棋的结果也受到随机因素(掷骰子的结果)的影响,但它也有明确的规则和目标,因此它是离散的。

至于出租车驾驶(Taxi Driving),这是一个典型的多智能体环境,因为道路上可能会有许多车辆和行人。驾驶员无法同时看到整个城市的交通状况,他们只能通过车窗和后视镜看到部分道路情况,所以它是部分可观测的。驾驶过程中的每一个决定(如变道、加速、刹车等)都依赖于前一刻的交通状况,因此它是顺序性的。道路交通状况是实时变化的,新的车辆可能加入交通流,现有的车辆也可能离开,所以它是动态的。而且,车辆的行驶速度和位置可以在实数范围内变化,因此它是连续的。

再来,医学诊断(Medical Diagnosis)通常是由单个医生或医疗团队完成的,所以我们可以说它是单智能体的。然而,病人并不总是能提供完整的病史或准确描述症状,这意味着诊断过程可能是部分可观测的。医生的诊断是基于病人的症状、病史和可能的检查结果来进行的,这通常是一个逐步的过程,因此它是顺序性的。病人的病情可能会随着时间的推移而发生变化,所以它是动态的。此外,病人的体温、血压等生理指标可以是任何实数值,因此它是连续的。

再者,图像分析(Image Analysis)通常涉及单个系统或程序来处理和分析图像数据,因此它是单智能体的。计算机可以访问和处理整幅图像的所有像素,所以它是完全可观测的。但是,图像分析的目的是识别模式、物体或其他特征,这可能需要在没有先前上下文的情况下做出判断,因此它是情节性的。一旦图像被加载到内存中,它在分析期间不会改变,所以它是半静态的。不过,图像的颜色深度和灰度值可以是任何实数值,因此它是连续的。

另外,零件拣选机器人(Part-picking robot)通常在一个特定的区域内工作,以选择和放置零件,因此我们可以将其视为单智能体。机器人的传感器可能无法覆盖其工作区域的所有部分,导致它只能获取部分信息,所以它是部分可观测的。机器人在完成任务时通常会按照一定的顺序来操作,比如先抓取某个零件再放置,因此它是顺序性的。然而,当机器人工作时,其周围的环境和其他机器人的活动可能会导致环境的变化,所以它是动态的。此外,机器人的运动学和动力学参数通常是连续的,因此它是连续的。

再者,炼油厂控制器(Refinery controller)负责监控和控制炼油厂的生产过程,它可以被视为一个单智能体。由于炼油厂的复杂性,控制器可能无法立即获得所有必要的数据,尤其是那些来自远程传感器的数据,所以它是部分可观测的。控制器的决策和行动是基于生产过程的当前状态和历史数据的,因此它是顺序性的。炼油厂的生产过程涉及到多种化学物质和设备的相互作用,这些条件会不断变化,所以它是动态的。温度、压力和其他工艺参数通常是连续的,因此它是连续的。

Agent Types

Four basic types in order of increasing generality 按照通用性递增顺序

Simple Reflex Agents

  1. Simple reflex agents(简单反射智能体):这种智能体只根据当前的输入(即环境状态)来做出反应,它们没有记忆,不能考虑过去的状态或未来的目标。它们是最不具通用性的,因为它们只能对特定的、预定义的情况做出反应。

Model-based Reflex Agents

  1. Reflex agents with state(带状态的反射智能体):这种智能体具有记忆,可以存储过去的状态信息,并利用这些信息来影响当前的决策。这使得它们比简单反射智能体更具通用性,因为它们能够处理更复杂的情况。

Goal-based Agents

  1. Goal-based agents(基于目标的智能体):这种智能体具有明确的目标,并且能够选择那些有助于实现这些目标的行动。它们通常需要更复杂的内部表示和推理能力,因此比带状态的反射智能体更具通用性。

Utility-based Agents

  1. Utility-based agents(基于效用的智能体):这种智能体不仅考虑目标,还考虑行动的结果和它们的效用(即价值或利益)。它们能够做出更复杂的决策,权衡不同行动的潜在后果,因此是这四种类型中最具通用性的。

Learning Agents

How Components Work

Key aspect of algorithms we will see: state representation
— Atomic: monolithic states, useful for high-level algorithms
— Factored: states have discernible internal structure, which we can exploit
— Structured: internal structure includes relationships between structural elements

  1. 原子状态表示(Atomic)

    • 定义:原子状态表示将环境状态视为一个整体,没有进一步分解其内部结构。
    • 特点:这种表示方法简单,适用于那些不需要深入理解状态内部细节的高级别算法。
    • 用途:当环境的状态可以用一个单一的值或向量来充分描述时,原子状态表示是有效的。例如,在国际象棋中,整个棋盘的状态可以用一个包含所有棋子位置和大小的数组来表示。
  2. 因式状态表示(Factored)

    • 定义:因式状态表示将状态分解为可辨识的内部结构,即状态由多个独立的因素组成。
    • 特点:这种表示方法允许算法单独考虑状态的各个部分,可以更有效地处理和推理状态信息。
    • 用途:当环境的状态可以分解为多个独立变量,而这些变量之间的关系相对简单时,因式状态表示非常有用。例如,在路线规划问题中,可以将状态分解为当前位置、目标位置、道路状况等多个因素。
  3. 结构化状态表示(Structured)

    • 定义:结构化状态表示不仅考虑状态的内部结构,还包括这些结构元素之间的关系。
    • 特点:这种表示方法能够捕捉状态中元素之间的复杂关系,为算法提供了更丰富的信息。
    • 用途:当状态元素之间的关系对于解决问题至关重要时,结构化状态表示是必要的。例如,在物理模拟或化学建模中,对象之间的相互作用和位置关系是解决问题时的关键因素。

 Summary of agent

• Agents as an abstraction:
— Intelligent system
— Operating in an environment
• Environments
— Define the problem an agent needs to deal with
— Observability, Determinism, Dynamicity, Discreteness
• Agent architectures
• State representation

 

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值