人工智能-主体

20 世纪 90 年代 ,随着计算机网络和通讯技术的发展 ,对于主体以及多主体系统的研究成为分布式
人工智能研究的一个热点 ,主体技术提供了 一种新的计算和问题求解范型 .
主体技术快速发展的主要原因是 Internet 和 Web 的广泛普及与增加 . 人们看到了 主体技术执行许
多任务的潜力 ,Web 上信息资源的超载使得人们希望主体技术能够减轻 Web 用 户 的负 担 ,最终将用 户
从信息海洋中解放出来 ,在主体帮助下 ,用户 可以只 关注他最感兴趣的那些信息

在 AO P 中 ,主体使用 一种通用 的语
言 ,它具有与主体无关的语义. 因此 ,基于主体的软件工程必须解决的重要问题包括 :什么 是合适的主体
通信语言 ? 怎样使用该语言建立主体之间的通讯 ? 什么 样的通讯结构有助于主体之间的合作 ?

一个完整的 AO P 系统应该包括以下成分:
1 ) 一种受限的形式语言 . 它利用若干模态词 ,如信念及承诺等来描述心智状态 ,这个语言必须具有
清晰的语法和语义 ;
2) 一个程序语言解释器. 利用 它可以 采用 基本的 命令 ,如 REQ U ES T 、 IN FORM 等来描述主体通
信 . 程序语言的语义必须和心智状态描述语言的语义一致 ;
3) 一个主体控制器. 它把神经装置转换成可程序化的主体

平台无关有两种 :源代码级和目 标代码级. C 和 C + +具有一定程度的源代码级平台 无关 ,表明 用 C 和 C + +写
的应用程序不用修改只 需重新编译就可以在不同平台上运行. Java 主要靠 Java 虚拟机 (J VM) 在目 标代
码级实现平台无关性. J VM 是一种抽象机器 ,它附着在具体操作系统之上 ,本身就有一套虚机器指令 ,
并有自 己的栈 、寄存数组等.

在单机时代 ,程序进程之间靠共享存储进行变量交换 ;在网络时代 ,运行在不同宿主机上的程序
按网络协议进行无格式的消息 (二进制字符流) 交换 ,消息的语义由 交换程序双方维护 ;在 Java 时代 ,运
行在网格上的程序进程交换是小应用程序 (applet) . 一个 applet 就是一个对象 ,由一组属性和方法构成 ,
是一个可执行的实体 ;不仅有数据的状态 ,而且有定义在数据上的操作 . 在未来信息交换进入更高级阶
段时可能还要进行智能主体的交换.

第一代编程语言 机器语言特征:面向机器。

第二代编程语言 汇编语言 特征:用针对指令的符号代替二进制代码。

第三代编程语言面 向 过 程: C、C++、pascal、

第 四 代 语 言 如 SQL , 支 持 面 向 实 体 的 风 格.

第 五 代 语 言 如Smalltalk 、C + + ,使用面向对象的开发风格

第六代语言 ,有可能就是面向主体的软件开发

黑板系统主要由以下三部分组成。

(1)知识源:包含独立的、与应用程序相关的知识,知识源之间不直接进行通讯,

它们之间的交互只通过黑板来完成。

(2)黑板数据结构:按照与应用程序相关的层次来组织并解决问题的数据,知识源

通过不断地改变黑板数据来解决问题。

(3)控制:

完全由黑板的状态驱动,黑板状态的改变决定了需要使用的特定知识

    Actor模型为并行而生,简单说是未解决高并发的一种编程思路。在Actor模型中,主角是Actor,类似一种worker,Actor彼此之间直接发送消息,不需要经过什么中介,消息是异步发送和处理的。在Actor模式中,“一切皆是Actor”,所有逻辑或者模块均别看做Actor,通过不同Actor之间的消息传递实现模块之间的通信和交互。Actor模型描述了一组为了避免并发编程的常见问题的公理:

1.所有Actor状态是Actor本地的,外部无法访问。
2.Actor必须只有通过消息传递进行通信。
3.一个Actor可以响应消息:推出新Actor,改变其内部状态,或将消息发送到一个或多个其他参与者。
4.Actor可能会堵塞自己,但Actor不应该堵塞它运行的线程。

猜你喜欢

转载自blog.csdn.net/shenwansan_gz/article/details/81354759