人工智能06 能计划的agent
能计划的agent
存储与计算
响应agent的动作功能几乎没有做任何计算。从本质上讲,这些agent执行的动作或者由他们的设计者、或者通过学习、或者通过演化过程、或者由以上几方面的组合来选择给他们的。
一个能在复杂环境下执行复杂任务的反应型agent需要大量的存储。而且,这样一个反应型机器的设计者需要有超人类的预见能力,要为该机器能遇到的所有可能情况预期一个合适的反应。首先,考虑反应型机器人的设计者必须做一些计算的动作函数。这些计算肯定需要时间,但是他们将减少agent的存储要求和设计者的负担。即时间换空间。
状态空间图
作为一个例子,让我们考虑一个有A、B、C三个玩具积木的网络空间,开始时,三个积木都在地板上。假设机器人的最终目标是将A放在B上面,B放在C上面,C放在地板上。
假定agent能通过一对环境模型——一个代表动作执行前的环境状态,另一个代表动作执行后的环境状态。用列表结构图标模型,可表示所有积木都在地面时能采取的所有动作模型。
在这些情况中,((A,B),(C))和((A),(B,C))在某些方面似乎比其他更接近我们的目标(A,B,C),因此仅考虑单个动作的预期结果,agent可能宁愿执行动作move(A,B)或move(B,C)。在一个模拟环境中,只向前看一步常常就能产生有用的预期效果,但是多看几步,也许直到任务完成后的所有步骤都看到后就会发现一些捷径,从而避免走弯路。
如果大量可区分的环境状态足够小,那么一个代表所有可能动作和状态的图就能被显示的表达出来。如下图所示的状态空间图。每一个动作都是可逆的。从图中可以清楚地看到,如果初始状态是((A),(B),(C)),机器人任务是((ABC))的状态,那么他应该执行{move(B,C),move(A,B)}的动作序列。
从上图可以通过视觉容易地找到路径,然而为了发现路径,计算型agent要用各种图搜索过程。
顺着路径达到目标的所有弧的算子可以组合称为一个序列的计划。
搜索这个序列的过程称为规划。
这种从一系列动作结果得到的世界状态的预测过程称为规划方案。
显示状态空间搜索
从((BAC))转移到((ABC))的标记传播过程如下图所示,这种方法和所谓的广度优先算法相一致。
基于特征的状态空间
用图标模型标识节点来解释状态空间是相当直接的——可以很容易地使状态上的动作结果形象化。可以定义一个有特征标识的节点图,但此时,我们需要一种方法来描述一个动作是如何响应特征的。
例如,我们也可以训练一个网络,从它在t-1时刻的值和该时刻采取的动作来学习预测一个特征向量在时刻t时的值。如下图所示,虽然只显示了一层网络,但也可以使用具有隐藏单元的中间层。在训练后,预测网络能被用来计算来源于各种动作的特征向量。这些向量反过来又能作为网络的新输入来预测两步以后的特征向量,等等。
图记号
人工智能06 能计划的agent的更多相关文章
- 人工智能(七)逻辑Agent
一.逻辑 逻辑是一种可以从中找出结论的形式化语言. 句法(规则)用语言定义句子. 语义定义句子的含义.定义一个句子的真假性. 二.蕴含 即一个事情逻辑上是另一个事情的必然结果:KB ╞ α 知识库KB ...
- 人工智能2:智能Agent
一.Agent基本定义 基于理性行为的Agent是本书人工智能方法的核心.Agent由传感器.执行器两个重要元件组成,具有与环境交互的能力,其能力是通过分析感知序列,经过Agent函数映射到相应的行动 ...
- 三星抛出万亿投资计划 布局四大科技创新领域(5G、人工智能、汽车半导体、生物技术四大新兴产业)
三星近日抛出震惊世人的投资计划,未来三年将在全球范围新增投资180万亿韩元(约1万亿元人民币).新增员工4万名.这是韩国单一企业集团大规模的投资计划. 笔者获悉,三星万亿投资计划主要分两大部分,一是在 ...
- 从Count看Oracle执行计划的选择
一. 前言 在调查一个性能问题的时候,一个同事问道,为什么数据库有些时候这么不聪明,明明表上有索引,但是在执行一个简单的count的时候居然全表扫描了!难道不知道走索引更快么? 试图从最简单的coun ...
- 【转】人工智能(AI)资料大全
这里收集的是关于人工智能(AI)的教程.书籍.视频演讲和论文. 欢迎提供更多的信息. 在线教程 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程 人工智能入门 – 人工智能基础学习.Peter ...
- Oracle rownum影响运行计划
今天调优一条SQL语句,因为SQL比較复杂,用autotrace非常难一眼看出哪里出了问题,直接上10046. SELECT AB.* FROM (SELECT A.*, rownum RN FROM ...
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- devops工具-Ansible基础
一.Ansible介绍 简介 Ansible使用Python语言开发,是一个配置管理型工具,与之类似的工具还有Puppet.SaltStack.chef等,默认通过SSH协议进行远程命令执行或 ...
随机推荐
- UnexpectedRollbackException解决方案
前言 最近在项目中发现了一则报错:“org.springframework.transaction.UnexpectedRollbackException: Transaction rolled ba ...
- 二维数组转化为json数组
二维数组转化为json数组 -1 var colName = [ ["08020092", "AVX", "1200m", "12 ...
- mysql8.0.11安装
1.下载mysql-->下载 2.解压 3.添加my.ini配置文件 [mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=C:\wnmp\mysql ...
- nginx 配置文件 2019-12-20
cat /etc/nginx/nginx.conf user nginx; worker_processes ; error_log /var/log/nginx/error.log warn; p ...
- 超好用的富文本编辑器Summernote的使用
官网地址 中文文档 源码下载地址 Summernote依赖于jquery和bootstrap3/4 所以用时记得引入这俩依赖 奉上引入方法(官网说的很清楚,api也很详细): <!-- in ...
- SpringMVC——入门
一.SpringMVC介绍: Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请 ...
- 深入理解LINUX下动态库链接器/加载器ld-linux.so.2
[ld-linux-x86-64.so.2] 最近在Linux 环境下开发,搞了好几天 Compiler 和 linker,觉得有必要来写一篇关于Linux环境下 ld.so的文章了,google上搜 ...
- ssh以及双机互信
当我们要远程到其他主机上面时就需要使用ssh服务了. 我们就来安装一下sshd服务以及ssh命令的使用方法. 服务安装: 需要安装OpenSSH 四个安装包: 安装包: openssh-5.3p1-1 ...
- NDK OpenGLES3.0 开发(五):FBO 离屏渲染
什么是 FBOFBO(Frame Buffer Object)即帧缓冲区对象,实际上是一个可添加缓冲区的容器,可以为其添加纹理或渲染缓冲区对象(RBO). FBO 本身不能用于渲染,只有添加了纹理或者 ...
- 后盾网lavarel视频项目---lavarel中的tinker是什么
后盾网lavarel视频项目---lavarel中的tinker是什么 一.总结 一句话总结: 是用来调试laravel,可以打印变量或对象信息,显示函数代码,对数据库写入和查询数据 laravel中 ...