智能体结构

智能体的结构

迄今为止我们通过描述行为—在任何给定的感知序列下采取的行动—讨论了智能体,现在我们不得不将知难而进,去讨论智能体内部是如何工作的,AI的任务是设计智能体程序,通过它来把感知信息映射到行动的智能体函数,我们假设改程序在某种具备实际传感器和执行器计算装置上运行-我们称之为体系结构。

智能体=体系结构+程序

显而易见,我们选择的程序必须适合体系结构。如果程序要能够进行诸如行走这样的行动。那么体系结构最好有腿。体系结构也许只是一台普通的个人计算机,或者一辆自动驾驶汽车,车上载有一些计算机,摄像头和其他传感器。总而言之,体系结构为程序提供来自传感器的感知信息,运行程序,并且把程序产生的行动选择传送给执行器。在我写的文章中绝对多数的章节都是关于智能体的程序的,其实和机器学习程序大同小异。

1:智能体程序

其实我们设计的智能体程序都具有相同的骨架,他们从传感器得到感知信息作为输入,返回一个行动交给执行器。注意智能体程序和智能体函数之间的差别。智能体程序在于当前感知为输入,而智能体函数是以整个历史为输入的。智能体程序只把当前感知作为输入是因为环境无法得到更多的东西。如果智能体的行动依赖于整个感知序列。那么该智能体不得不记住全部感知的信息。

*智能体程序骨架还有其他的选择。例如我们可以让智能体程序成为协同程序。他们的环境和运行时异步的,每个这样的程序有一个输入和输出端口,并由一个从输入端口读取感知信息再把行动写到输出端口的循环过程组成。

我们将用一段在附录B中定义的简单伪代码去描述智能体程序,在上图中我们显示了一段相当普通的智能体程序,他记录感知序列,然后使用感知序列作为牵引,到行动表里查询该决策应该做什么。行动表明确的表示了每个智能体程序实现的智能体函数。要用这种方式来建造理性智能体。作为设计者,我们必须构造包括各种可能的感知序列的适当行动的函数表。

当我们考虑到为什么构造智能体的表驱动的方法是注定要失败是有益的,这个时候我们令P为可能的感知信息的集合。T为智能体的寿命(智能体收到感知信息的总量)。查找表将包括从1到T所有P的集合个条目。即便是国际象棋这样的在一个世界上微小的,良好表现的片段,查找表也将要至少包括10的150次方的条目。这些令人望而生畏的容量,意味着:1:这个世界没有一个实际的智能体可以保存该表的空间。2:设计者没有时间来创建该表。3:没有智能体能够从他的经验中学习正确的表条目。4:既是环境足够简单,可以得到一个可行的表容量,设计者仍然得不到关于如何该条目的指导

除了这些,AI的关键挑战是如何搞清楚编写程序,在可接受的范围内,从少量的代码而不是大量的表目中产生出理性的行为,我们有很多的例子是显示出在其他的领域上述做法是可行的,但是我们的问题是AI是否可以像我们人类一样可以产生一般的智能行为?但是我相信这个答案是肯定的。

在这个文章的以下部分,我想概述四种基本的智能体程序,他们几乎涵盖了所有智能系统的基础准则:

1:简单反射型智能体

2:基于模型的反射型智能体

3:基于目标的智能体

4:基于效用的智能体

然后我们将概括的解释如何把这些智能体转换成学习智能体。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个小程序员的成长笔记

网页结构与表现原则

网页的结构与表现原则总的来说为: 先按结构和语义编写代码 然后进行CSS样式设置 减少HTML与CSS契合度(精简页面结构) 我们可以通过一个微博用户发言信息列...

3557
来自专栏程序员互动联盟

发现要java的那么多,C++不行了嘛?

疑惑一 发现招java的很多,C++不行了嘛? 看看一些公司的招聘简章,大多是招java的居多,传统的编程语言c,c++难道真的不行了,造成这种情况主要是国内互...

3536
来自专栏EAWorld

解读ChatOps:开源聊天机器人怎样协助运维?

ChatOps通常是指依靠群组聊天室进行管理运维工作的一种。在ChatOps领域,我是一个新人,通过学习与运用,再回过头来看,对GitHub、Apple这样的一...

3887
来自专栏Java程序员的架构之路

作为程序员,无论你在哪个阶段,这些书都值得你看

我们都想要自己的编程技能能上升到更高级别的水平,但往往不知道从何下手,本文,我将推荐6本书,无论是是什么程序员,这些书都可以让你的能力得到提升

490
来自专栏Python中文社区

十本书教你从Pythoner通往Pythonista

1、Python基础教程 本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。本书层次鲜明、...

41810
来自专栏函数式编程语言及工具

scala泛函编程是怎样被选中的

      现在计算机技术发展现象是:无论硬件技术如何发展都满足不了软件需求;无论处理器变得能跑多快,都无法满足软件对计算能力的需要。按照摩尔定律(Moore...

2077
来自专栏IT派

7 月编程语言指数榜:Python 与 Java 逐渐拉开差距

PYPL 已发布7月编程语言指数榜,Python 在今年5月首次超越 Java 拿下榜首位置后,保持上涨趋势,正逐渐与 Java 拉开差距。

731
来自专栏北京马哥教育

所有人都说Python 简单易学,为何我觉得难?

记得刚学Python的时候,几乎所有人都说Python 简单易学,而对于编程零基础,只掌握Word和Excel的人来说,感觉真的好难。 学习之前网上的教材看了...

4777
来自专栏PPV课数据科学社区

您知道 ”学习 Python 的三种境界“是什么吗?看~这里有答案!

前言 王国维在《人间词话》中将读书分为了三种境界:“古今之成大事业、大学问者,必经过三种之境界:‘昨夜西风凋碧树,独上高楼,望尽天涯路’。此第一境也。‘衣带渐宽...

2948
来自专栏程序员互动联盟

为什么这么多人惧怕C++?

C++在诞生之处,赢得了很多了口碑,但是随着编程大众化,以及编程语言的简单化趋势的发展,这门语言很多的弊端表现的越来越明显,特别让初学者选择c++作为初级入门语...

3339

扫码关注云+社区