2.2 Agent感知器算法
我们知道人的感知器有眼、耳、鼻以及其它器官,机器人Agent有摄像机等。而软件Agent是通过字符串编码来实现感知的。 感知器是一个多输入、单输出的运算系统[4]。主要有把感知的信息进行预处理后输出。我们把感知的信息进行分类,[5] w2类表示对紧急或简单的情况; w2类表示需要慎思的信息。 算法的基本步骤如下: (1)给定一个增广的训练模式集 {x1,x2,...,xN},其中每个模式类别已知,分属 w1类和 w2类。 (2)置步数k=1,令增量ρ =某正的常数,分别赋予初始增广权矢量 w(1)的各分量较小的任意值。 (3)输入训练模式 xk,计算判别函数值 。 (4)调整增广权矢量,规则是: ① 如果 和 ,则 ; ② 如果 和 ,则 ; ③ 如果 和 ,或 和 ,则 。 得到判别函数 d(x)之后,就可以进行判别,将待识别模式x 代入d(x) 之中,当d(x)>0 时则判x∈w1;若d(x)<0 时则判 x∈w2;若 d(x)=0:则 x的类属不能判定。紧迫的任务可以立即得以处理,对时间要求不高的任务可以通过推理选择最优方案。2.3 Agent的知识库设计
Agent的知识表示对自身和外界的认识,是Agent问题求解的基础[6]。这些知识可能预先给定的,也可能是通过局部感知或与其它Agent的通信而获得的。Agent知识库是Agent活动的依据,也是向外界承诺的基础。 在这里知识库主要存放Agent的各个方面的知识,主要包括以下内容。 ①关于系统组织结构、智能、目标等有关整体性质和行为的知识。 ②关于理解自身的知识、行为、求解能力和目标等的知识。 ③关于其它Agent的知识,即具有关于外部其它Agent的职责、技能、信念、目标、规划等多方面的知识。 ④关于Agent间相互作用与通信的知识。 ⑤关于领域世界及待求解问题的知识。 这些知识是Agent进行一切活动的基础。Agent还知道哪些Agent与自己由横向或纵向的联系,这些知识在进行推理时起着关键的作用,它们同样可以看作是Agent的知识。这些知识可以映射为事实、规则等。 对于知识库我们可以用下列形式表示: <KB>::=[<Fact Base>]|<Rule Base> <Fact Base>::={<Fact>} <Fact>::=<Clause> <Clause>::=<object1><conjunction><object2> <object>::=<object1><conjunction><object2> <Rule Base>::={<Rule>} <Rule>::=<Name><(precondition 1,result 1)|(precondition 2,result 2)|...(precondition n,result n)> <Name>::=<string> <precondition i>::=<Clause> <result i>::=<Clause> 由于Agent每一次决策后都要进行知识的更新。下面给出Agent的知识更新定理。 定义1.1 知识量[7]设X为Agent的某一领域, 均为有限集或可列集,j=1,2,...,N(N为有限或+∞)}为X的一个表达,w 为Agent的一个表达测度,对任意的 令 则称I(xj)为表达∑中的一个基元xj的自蕴含知识量,其中对数底数b>1。