理性Agent、任务环境

2024-03-01 12:18
文章标签 环境 理性 任务 agent

本文主要是介绍理性Agent、任务环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

——参考文献《人工智能:一种现代的方法》(第3版)

一个agent与环境的互动(接受刺激,反馈行动):

 

 

所以人,机器等,都可以看作是一个agent:

注:softbots  维基百科解释为: In computer science, a software agent is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin agere (to do): an agreement to act on one's behalf. Such "action on behalf of" implies the authority to decide which, if any, action is appropriate.    意思是softbots是另一个人或者软件的代理。例如:Siri(它从别的地方收集信息并推给你)

 

如何判定一个agent是“优秀的”、“好的”?

显而易见的是,从它的行为判断。

以扫地机器人为例。有A、B两个方块,它需要做的是把方块清扫干净。我们假定环境地形已知(作为先验知识)、命令不会使它移出环境、它能正确感知灰尘的是否存在、灰尘的位置。我们给定奖惩机制(例如一定周期内某方块保持干净给1分等)。

这时它有几个选择:向左、向右、吸尘

                                                                (功能描述)

 

实际上,我们会发现情况比较复杂。

如果单从行为结果上考虑,可能会发现不同的扫地机器人在某时间段内行为结果是一样的,这意味着它们一样优秀吗?显然不一定。

所以这个时候用性能度量会更加客观。例如计算八小时内清理灰尘总量、或者每小时清理灰尘总量。

这时我们又会发现,可能一个机器人会不停的把灰尘清扫了再倒出来,以提高它清扫灰尘的总量,或者另一个在前几分钟之内清理完所有灰尘然后无所事事。

so,我们会希望一个agent 是理性的。

 

什么是理性的?A rational agent chooses whichever action maximizes the expected value of the performance measure given the percept sequence to date.

在现有环境序列下,一个理性的agent会做在规定的性能度量下利益最大化的事情。

理性,即探索,学习,自主性,

理性agent执行的结果不是完美的,但是当下环境最佳的。

 

 

what is 性能度量?

在构建一个理性agent时,首先考虑它所处的环境。(扫地机器人和自动驾驶仪当然需要不同的衡量标准)

 

 

任务环境的描述,称为PEAS描述:Performance(性能)、 Environment(环境)、 Actuators(执行器)、 Sensors(感知器)

 

来定义几个维度吧!

 

完全可观察与部分可观察

 

单Agent与多Agent(竞争、合作、部分竞争部分合作。例如国际象棋【竞争性的多Agent】和无人驾驶【部分竞争,比如停车位;部分合作,比如避免发生冲撞】)

 

确定与随机(确定:环境的下一个状态完全取决于此时的状态和Agent的动作。注意!:”不确定“和“随机”是两个概念。不确定:环境中行动有多种可能,但与概率无关【走在路上被花盆砸中】。随机:后果是不确定的但是可以用概率量化【抛一个硬币你不知道它落下来朝哪面】

 

片段与延续(片段的环境中当前决策不会影响下一个片段的决策)

 

静态与动态(静态、动态、半动态。半动态:环境本身不随时间变化而变化,但是Agent的性能评价随时间变化【国际象棋,就算它不动但是时间在变化,它的性能评价也随之变化】)

 

离散与连续(环境的状态、时间的处理方式、Agent的感知信息与行动【国际象棋的环境、感知信息与行动是离散的;自动驾驶的时间和状态连续;】)

 

已知与未知(Agent的知识状态。注意 “已知/未知” 和“可观察/不可观察” 也是两个概念)

 

 

 

 

 

 

这篇关于理性Agent、任务环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762429

相关文章

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

SpringBoot实现多环境配置文件切换

《SpringBoot实现多环境配置文件切换》这篇文章主要为大家详细介绍了如何使用SpringBoot实现多环境配置文件切换功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 示例代码结构2. pom文件3. application文件4. application-dev文

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

Django之定时任务django-crontab的实现

《Django之定时任务django-crontab的实现》Django可以使用第三方库如django-crontab来实现定时任务的调度,本文主要介绍了Django之定时任务django-cront... 目录crontab安装django-crontab注册应用定时时间格式定时时间示例设置定时任务@符号