广告

人工智能分布式专家系统是如何设计的

2019-01-29 作者:ROB
导语:分布式专家系统具有分布处理的特征,其主要目的在于把一个专家系统的功能经分解以后分布到多个处理器上去并行地工作,从而在总体上提高系统的处理效率,它可以工作在紧合的多处理

分布式专家系统具有分布处理的特征,其主要目的在于把一个专家系统的功能经分解以后分布到多个处理器上去并行地工作,从而在总体上提高系统的处理效率,它可以工作在紧合的多处理器系统环境中,也可工作在松耦合的计算机网络环境里,所以其总体结构在很大程度上依赖于其所在的硬件环境。为了设计和实现一个分布式专家系统,般需要解决下面五大问题。

人工智能分布式专家系统是如何分布的?

人工智能

1.功能分布

即把分解得到的系统各部分功能或任务合理均衡地分配到各处理节点上去。每个节点上实现一个或两个功能,各个节点合在一起作为一个整体完成一个完整的任务。功能分解“粒度”的粗细要视具体情况而定,分布系统中节点的多寡以及各节点上处理与储存能力的大小是确定分解粒度的两个重要因素。

2.知识分布

根据功能分布的情况把有关知识经合理划分以后分配到各处理节点上。一方面,要尽量减少知识的冗余,以避免可能引起的知识的不一致性;另一方面又需一定的冗余以求处理的方便和系统的可靠性。可见这里有一个合理地综合权衡的问题需要解决。

3.接口设计

各部分间接口的设计目的是要达到各部分之间互相通信和同步容易进行,在能保证完成总的任务的前提下,要尽可能使各部分之间互相独立,部分之间联系越少好。

人工智能分布式专家系统是如何分布的?

分布系统

4.系统结构

这项工作一方面依赖于应用的环境与性质,另一方面依赖于其所处的硬件环境。

如果领域问题本身具有层次性,例如企业的分层决策管理问题,这时系统的最适宜的结构是树形的层次结构。这样,系统的功能分配与知识分配就很自然,很易进行,而且也符合分层管理或分级安全保密的原则。当同级模块间需要讨论问题或解决分时都通过它们的直接上级进行,下级服从上级,上级对下级具有控制权,这就是各模块集成为系统的组织原则。

如果系统的节点分布在一个互相距离并不远的地区内,节点上用户之间独立性较大且使用权相当,则把系统设计成总线结构或环形结构是比较合适的。各节点之间可以通过互传消息的方式讨论问题或请求帮助(协助),最终的裁决权仍在本节点。因此这种结构的各节点都有一个相对独立的系统,基本上可以独立工作,只在必要时请求其他节点的帮助或给予其他节点咨询意见。

根据具体的要求和存在的条件,系统也可以是网状的,这时系统的各模块之间采用消息传递方法互相通信和合作。

人工智能分布式专家系统是如何分布的?

分布式驱动

5.驱动方式

一旦系统的结构确定以后,则必须很好研究系统中各模块应该以什么方式来驱动的问题。可供选择的驱动方式一般有下列四种:

(1)控制驱动

即当需要某模块工作时,就直接将控制转到该模块,或将它作为一个过程直接调用它,使它立即工作。这是最常用的一种驱动方式,实现方便,但并行性往往受到影响,因为被驱动模块是被动地等待着驱动命令的,有时即使其运行条件已经具备若无其他模块来的驱动命令,它自身不能自动开始工作。为克服这个缺点,可采用下述数据驱动方式。

(2)数据驱动

一般一个系统的模块功能都是根据一定的输入,启动模块进行处理以后,给出相应的输出。所以在一个分布式专家系统中,一个模块只要当它所需的所有输入(数据)已经具备以后即可自行启动工作;然后,把输出结果送到各自该去的模块,而并不需要有其他模块来明确地命令它工作。这种驱动方式可以发掘可能的并行处理,从而达到高效运行。在这种驱动方式下,各模块之间只有互传数据或消息的联系,其他操作都局部于模块进行,因此也是面向对象的系统的一种工作特征。

(3)需求驱动

这种驱动方式亦称“目的驱动”,是一种自顶向下的驱动方式。从最顶层的目标开始,为了驱动一个目标工作可能需要先驱动若干子目标,为了驱动各个子目标,可能又要分别驱动一些子目标,如此层层驱动下去。与此同时又按数据驱动的原则让数据(或其他条件)具备的模块进行工作,输出相应的结果并送到各自该去的模块。这样,把对其输出结果的要求和其输人数据的齐备两个条件复合起来作为最终驱动一个模块的先决条件,这既可达到系统处理的并行性,又可避免数据驱动时由于盲目产生数据而造成“数据积压”的弊病。

(4)事件驱动

这是比数据驱动更为广义的一个概念。一个模块的输入数据的齐备可认为仅仅是一种事件,此外,还可以有其他各种事件,例如某些条件得到满足或某个物理事件发生,等等。采用这种事件驱动方式时,各个模块都要规定使它开始工作所必需的一个事件集合。所谓事件驱动即是当且仅当模块的相应事件集合中所有事件都已发生时,才能驱动该模块开始工作。否则,只要其中有一个事件尚未发生,模块就要等待,眼模块的输入数据已经全部齐备也不行。由于事件的含义很广,所以事件驱动广义地包了数据驱动与需求驱动等。

整理
本文为机器人网原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。

您可能感兴趣的文章

相关推荐

广告
推荐使用浏览器内置分享