人工智能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协议进行远程命令执行或 ...
随机推荐
- 闭包-IIFE
1)嵌套函数,内部函数访问了外部函数的局部变量,通过返回内部函数,在函数外部调用内部函数,从而更新外部函数的局部变量的过程: 2)代码执行完成之后离开作用域依旧存在 3)有可能发生内存泄露,若对象的引 ...
- django查询优化及ajax编码格式下发送数据 总结
orm查询优化 1)only与refer only方法返回的是一个queryset对象,本质就是列表套数据对象 该对象内只含有only括号所指定的属性(其他属性也可以获取,但是需要重新走数据库 ...
- 题解 【NOIP2013】转圈游戏
[NOIP2013]转圈游戏 Description n个小伙伴(编号从0到n-1)围坐一圈玩游戏.按照顺时针方向给n个位置编号,从0到n-1.最初,第0号小伙伴在第0号位置,第1号小伙伴在第1号位置 ...
- 【Python之路】特别篇--Celery
Celery介绍和基本使用 Celery 是一个分布式异步消息队列,通过它可以轻松的实现任务的异步处理 举几个实例场景中可用的例子: 你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让 ...
- codevs 1013 求先序排列 2001年NOIP全国联赛普及组 x
题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入描述 Inpu ...
- 美团小程序框架mpvue入门教程
mpvue是一个使用 Vue.js 开发小程序的前端框架.框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从 ...
- 7.1 Spring原理
7.1 Spring原理 一.spring是什么?(IOC.AOP.MVC) Spring是一个基于IOC和AOP的结构J2EE系统的框架 , 1.1 IOC 控制反转 是Spring的基础,Inve ...
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- Java多线程核心知识(跳槽面试必备)
多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲.在平时工作中如若使用不当会出现数据错乱.执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关 ...
- Python 图形界面元素
from tkinter import * import os def button_click1(): try: filePath = r'D:\CloudMusic' os.system(&quo ...