基于移动Agent理性迁移研究

基于移动Agent理性迁移研究
基于移动Agent理性迁移研究

基于移动Agent理性迁移研究

王炜

河海大学计算机及信息工程学院,南京(210098)

E-mail:wwalex@https://www.360docs.net/doc/8e7181026.html,

摘要:本文主要分析了移动Agent的技术特点、发展过程、应用前景和当前存在的主要问题。并且主要针对移动Agent迁移理论的核心:路由问题,进行了探讨,在蚁群优化算法的基础上改进了迁移路径的选择策略,提出了一种符合约束条件的理性迁移方法,起到了网络均衡作用,提高了分布式并行计算的效率。

关键词:Agent;理性迁移;路由

1.引言

随着计算机硬件和软件,特别是网络技术的发展,整个计算环境发生了深刻的变革,网络计算开辟了计算机应用的新天地。传统的客户/服务器(C/S)模型因其灵活性差等原因,已经不能很好地满足大而复杂的分布式计算要求。尤其是近几年来,Internet 更有大量移动设备上网、用户的个性化需求越来越强及应用日益复杂多变的趋势。而且 Java这种非常有利于编写移动代码的计算机语言,已经逐渐成为世界性的语言。这些因素都促使一种新的计算模型——移动 agent 的诞生和快速发展。本章主要讨论移动agent 关键技术研究的意义,介绍研究的背景、内容及创新点,最后介绍论文的组织结构。

2.移动Agent技术

Agent技术作为新兴技术,特别是多Agent理论技术,为分布开放系统的分析、设计和实现提供了一个崭新的途径,被誉为“软件开发的又一重大突破”。对Agent的研究主要分为三个方面,分别是智能Agent,多Agent系统和面向Agent的程序设计。

迄今为止,Agent并没有一个明确的定义。在国内,一般译为“智能体”、“主体”或“代理”等。许多国内外研究人员根据不同的研究内容和目标对术语“Agent”赋予不同的含义,Wooldridge和Jennings[1]对“Agent”的不同的定义进行了总结,给出了现在基本被学术界公认的定义,他们认为,“Agent”按其用法可以分为两种,即弱定义与强定义[2][3]。

(1) 定义

弱定义是将其定义为具有如下特性的计算机软件或硬件系统,负荷弱定义的具有一下特性: 自主性(Autonomy)、社会性(Social Ability)、反应性(Reactivity)、能动性(Proactivity)、时间连续性(Pemporal Continuity)以及面向目标性(Goal Orientedness)。

(2) 强定义

符合强定义的Agent,除了具有弱定义的特性之外,通常还具有以下一种或多种特性[4]:

①可移动性(Mobility)

可移动性是指Agent在计算机网络上进行移动的能力;

②理性(Rationality)

理性要求Agent的行动有助于达到其目标,而不能采取有碍于达到其目标的行动,至少在其信念允许的范围内,也不能接受有冲突的目标;

③适应性(Adaptivity)

适应性Agent应能进行自我调整,应具有适应其用户工作方法、方式及偏好的能力;

④协作性(Collaboration)

协作性Agent 不能无条件的接受并执行任何指令,必须知道人会犯错误的,可能会忽略一些重要的信息或提供一些模糊的信息。Agent 可以通过询问用户以检测这些情况,也可以使用系统建立的用户模型来解决这类问题,甚至可以拒绝执行某些任务。

3 移动Agent 的迁移策略

目前,移动Agent 的移动机制研究的比较广泛和深入,相比之下,有关移动Agent 的移动策略研究还比较少。

移动Agent 的迁移策略可以定义为,按照某种选择标准找到加权隐含旅行图的一个最佳解图。迁移策略根据移动Agent 的任务、网络的软硬件环境和其他约束条件为移动Agent 规划出最佳迁移路径。迁移策略的优劣直接影响移动Agent 的性能乃至其任务的完成。

3.1 基本蚁群算法

作为一种全局搜索算法,蚁群算法能够有效地避免局部最优。但对大空间的多点全局搜索,却不可避免地增加搜索所需要的时间。为了使算法能够更好更快地找到问题的最优解,在其中加入针对具体问题的局部搜索算法不失为一种好的选择。利用蚁群算法的全局性避开了局部最优,利用局部搜索算法加快了求解的过程,寻求二者的完善结合,就会使得求解问题变得更加有效。

为了模拟实际蚂蚁的行为,首先引进如下记号:

i b (t) —— t 时刻位于城市i 的蚂蚁个数;

m ——表示蚁群中蚂蚁的数量,n i i=1m=b (t)

∑;

ij d (i,j=1,2...,n)——表示节点i 和节点 j 之间的距离,

ij η——先验知识或称为 ij 能见度,由某种启发式算法具体确定,一般取

ij y 1η=

d ij τ(t)

—— t 时刻留在路径 ij 上的信息量; ij

τΔ—— t 时刻留在路径 ij 上的信息增量; k ij Δτ——第 k 只蚂蚁在本次循环中留在路径 ij 上的信息量;

k ij p (t)

——在 t 时刻蚂蚁 k 由位置 i 转移到位置 j 的概率; α ——路径ij 上残留信息的重要程度(α≥0);

β ——启发信息的重要程度;

ρ ——信息素的持久性( 0 ≤ ρ< 1),( 1-ρ)可理解为信息素的衰减程度;

Q ——表示第k 只蚂蚁在本次循环中所走过路径的长度(一个常数);

k L ——第 k 只蚂蚁在本次循环中所走过路径的长度;

k tabu ——k tabu = {1 ,2, …, m}记录蚂蚁 k 已经走过的城市,称为禁忌表(下一步不允许选择的城市)。

在 初 始 时 刻 , 各 条 路 径 上 信 息 量 相 等 , 设ij τ(0)=C (C 为常数)。 蚂

蚁k ( k = 1,2, …, m)在运动过程中,根据各条路径上的信息量决定转移方向,其移动概率为

(1)式:

k

(1)αβ

ij ij k αβk ij ij ij k tabu [τ(t)][η(t)],j tabu [τ(t)][η(t)]

p (t)=0,?????????

∑其他

其中,ij η为先验知识或称为ij 的能见度,根据某种启发式算法具体确定,一般取

ij y 1

η=d ,ij d (i,j=1,2...,n)表示节点i 和节点j 之间的距离;α为路径 ij 上残留信息的重要程度(α≥0);β为启发信息的重要程度;用 k tabu = {1 ,2, …,m }来记录蚂蚁k 目前已经走过的城市,称为禁忌表(下一步不允许选择的城市)。与真实蚂蚁系统不同,人工蚁群系统具有一定的记忆功能,集合k tabu 随着进化过程动态调整。随着时间的推移,以前留下的信息逐渐消逝,用参数(1-ρ)表示信息消逝的程度。经过n 个时刻,蚂蚁完成一次循环以后,各路径上信息量要根据(2)式做出调整:

ij ij ij

m k ij ij k=1

(2)τ(t+n)=ρτ(t)+(1-ρ)ΔτΔτ=Δτ?∑

如果本次周游的禁忌表k tabu 将满,此时应清空,将当前蚂蚁所在城市置入k tabu ,准备下一次循环。第k 只蚂蚁在本次循环中留在路径ij 上的信息量,可以用(3)式表示:

k ij (3)k k ij Q ,L Δτ=0?????若第只蚂蚁在本次循环中经过其他

这时,计算每一只蚂蚁所走过的路径k L ,并用kmin L (kmin L =min k L ,k=1,2,…,m)记

录最短路径。在初始时刻,ij τ(0)=C(const),

ij τΔ= 0, 其中,i,j =0,1,…,n-1。根据具体算法的不同ij τ,ij τΔ及k ij p (t)的表达式形式可以不同,要根据具体问题而定。参数Q,C,α,β,ρ可以用实验方法确定其最优组合。

基本蚁群算法的主要步骤如下:

步骤1: nc = 0(nc 为迭代步数或搜索次数),各ij τ,ij τΔ的初始化,将m 个蚂蚁置于

n 个顶点上;

步骤2: 将各蚂蚁的初始化出发点置于当前解集中,对蚂蚁k (k= 1,2, …,m),按概率

k ij

p

移至下一顶点 j ,将顶点 j 置于当前解集;

步骤 3:计算各蚂蚁的目标函数值kmin kmin

k L (L =minL ,k=1,2,...,m),记录当前的最好解;

步骤 4:按更新方程修改轨迹强度;

步骤 5:置 ij Δτ=0,nc=nc+1;

步骤 6:若nc < 预定的迭代次数,则转步骤2。

算法的时间复杂度为

2()nc m n Ο??。 3.2 存在的问题

蚁群优化算法是一种结合了分布式激素、正反馈集中和贪婪式搜索的算法,具有很强的搜索较优解的能力。并行性、正反馈集中以及求解效率高等特性。正反馈能够快速地发现较优解,分布式激素避免了早熟收敛,而贪婪式搜索有助于在搜索过程中早期找出可接受的解决方案,缩短了搜索时间,由于随着系统中个体增加而增加的系统通信开销在这里将非常小。

缺点:该算法初期信息素匮乏、导致算法速度慢,一般需要较长的搜索时间。蚁群中各个个体的运动是随机的,虽然通过信息交换那个向最优化路径进化,但是当群体规模较大时,很难在较短时间内从大量杂乱无章的路径中找出一条较好的路径。这是因为在进化的初级阶段,各个路径上信息量相差不明显。通过的信息正反馈,使得较好路径上信息量逐渐增大,经过较长一段时间,才能使较好路径上的信息量明显高于其它路径上的信息量,随着这一过程的进行,差别越来越明显,最终收敛于较好的路径。该算法容易出现停滞现象(Stagnation behavior ),即搜索进行到一定程度后,所有个体所发现的解完全一致,不能对解空间进行进一步的搜索,不利于发现更好解。

3.3改进AntNet 算法

为了提高网络性能,从节点的路由表初始化入手,增加启发式因子,减轻路由过程中出现振荡。在每个中间节点k ,通过访问机制的控制,移动代理以只读的方式访问路由表,在以节点d 为目的地:

⒈ 如果一个可行的邻居节点就是目的节点,路由Agent 将选择这个邻居节点;

⒉ 如果邻居节点都有以前的路由Agent 访问过,在不选本身路由Agent 走过的节点的前提下,则在其中按概率'nd p 由(4)式随机地选择:

'nd n nd n k (4)p +al p =,l [0,1]1+a(N -1)∈

其中,n l 为启发式校正系数,可由(5)式计算:

'''1'1l 1(5)k k n n n N N n n n n q c q q ==??????=?×??????????∑∑

由(5)式可知,l n 与节点k 的相邻节点n 的缓冲区状态成比例,l n 的前半部分表达式

表示的是发往相邻节点n的缓冲区的数据报数量q n与所有相邻节点的缓冲区数据报总数的比值,后半部分表达式表示通往相邻节点n的链路容量与所有相邻节点链路总容量的比值。l n给出了一个及时的与队列等待时间有关的量化值,反映了链路的传输能力和节点缓冲区的及时状态。路由表中的路由选择概率值p nd与此相反,是从连续学习整个网络的过去和现在的状态所得到的结果。用l n去校正路由选择概率p nd使得路由选择算法更具有反馈性,同时避免受所有网络波动的影响,移动代理的选路策略是建立在长期学习过程和即时启发预测相结合的基础上的。

α用于衡量启发式校正系统l n与路由表中所存储的概率值p nd相比的重要性。如果α的取值太小,l n的作用就体现不出来;如果太大,所得到的路由表会出现振荡;α的最佳取值如果固定不变,路由表则不可避免地出现停滞现象。α的取值应根据不同问题特性而有所变化。故在最初的几次迭代中,为加速算法的收敛,应取较大的值;在随后的搜索过程中适当减小α值,一方面可以提高路径选择的多样性,即起到一定的扰动作用,另一方面可以使收敛趋于平缓。

⒊如果存在以前所有路由 Agent 都没走过的邻居节点(不是目标节点),根据路由表概率值随机选择并进行平均分配,同时相应地把α值增大,然后再根据概率p’nd随机地选择下一跳。

如果在路由 Agent 的行程中检测到一个环路(同一个Agent选择同一个路由节点两次),这个环路的所有节点从代理的堆栈中全部弹出,并取消本次行程。若中间节点数太多,也取消这个路由 Agent,这是因为错误的路由选择浪费了大量时间。

4.实验及结果分析

仿真实验使用了有7个网络节点的网络拓扑模型,如图1所示。

图1 拓扑结构图

图1中每一条边代表一对双向的链路,链路的带宽是10Mbps,每条链路的延迟都相同为1ms。其中α =2,β =2,ρm in = 0.01,η =0.15,δ =0.3。实验测试的是从节点1到节点6的路由选择,具体路由表变化记录见表1:

表1 结点变化情况

节点1 节点2 节点3 节点4 节点5 节点7

(0.5,0.5) (0.33,0.33,0.33) (0.5,0.5) 初始状态(0.33,0.33,0.33) (0.5,0.5) (0.33,0.33,0.

33)

(0.44,0.56) (0.23,0.25,0.52) (0.16,0.84) 系统运行中(0.12,0.7,0.11) (0.15,0.85)(0.11,0.46,0.

43)

(0.18,0.82) (0.01,0.01,0.98) (0.03,0.97) 稳定状态(0.33,0.58,0.09) (0.01,0.99)(0.02,0.97,0.

01)

(0.59,0.41) (0.26,0.25,0.49) (0.49,0.51) 调整过程(0.49,0.26,0.25) (0.18,0.82)(0.22,0.46,0.

42)

(0.16,0.84) (0.01,0.01,0.98) (0.12,0.88) 实验结束(0.82,0.03,0.15) (0.02,0.98)(0.02,0.76,0.

22)

从表1中的数据可以看出,实验初始状态到稳定状态时,节点 1 选择节点 3 作为下一路由节点的概率(0.58),在其选择各个节点作为下一路由节点的选择概率中是最大的,而节点 3 选择节点 6 作为下一路由节点的概率(0.97)也是最大的,节点1经节点 3 到节点 6 确实是最佳路径,可以看出本算法能够很好地选择出最佳的路由路径。同时,从实验数据中还可看出,如果节点1~3 拥塞,节点 1 选择节点 2 作为下一路由节点的概率(0.82)大于选择节点 4 作为下一路由节点的概率(0.15),而路由节点2选择路由节点 5 的概率

(0.98)也大于节点4~7 作为下一路由节点的概率(0.84)选择,路由节点 5 选择路由节点 6

的概率(0.98)也大于节点7~6 作为下一路由节点的概率(0.88)选择。所以,当节点1~3 出现拥塞后,会出现选择(节点1~节点2~节点5~节点 6)和(节点1~节点4~节点7~节点 6)两条路径带宽和路径,将流量有效地分布到了各个中间节点,对统计数据的流量分布,平衡用户数据起到了预想的效果,有效地减轻网络负担。

4.总结

本文通过对移动代理的迁移策略进行了理性研究和探讨,基于蚁群优化算法的动态自适应对迁移调整算法进行改进,加速了移动代理在网络上的迁移速度,应用了蚁群路由算法的规避规则,对动态迁移策略中的迁移路径进行平衡规避,有效地降低了网络发生阻塞的几率,提高了分布式网络并行计算的性能。

参考文献

[1] P.Bellavista,Protection and Interoperability for Mobile Agent: A Secure and Open Programming

Environment.1999

[2] Albert D.Baker. Survey of factory control algorithms that can be implemented in a multi-agent

hierarchy:Dispathing,scheduling,and pull.Journal of Manufaturing Systems,SME.1998

[3] G.Liu and X. Chen,A formal model of multi-agent collaborative systems.Chinese Journal of Computers.2002

[4] 朱森良,邱瑜移动代理系统综述计算机研究与发展.2001

Research of Rational Migration Based on Mobile Agent

Wang Wei

Computer & Information Engineering College, Hohai University,Nanjing(210098)

Abstract

This paper analyses the technical characters, developed process, future and main problems of Mobile Agent. It focus on the kernel of Mobile Agent theory: routing theory, and put forward a improved choice tactics of migrating route based on ant colony algorithms which has reacted the balanced function of the network and improved the efficiency of distributed parallel computation.

Keywords:Agent; Rational Migration; route

移动agent技术

移动agent技术介绍及应用举例 学号: 姓名: 课程名:高级操作系统 指导教师:王丹

摘要 移动Agent是一种新兴的面向对象的异构计算机网络技术,它根据自身的控制在许多节点间进行迁移。以便使用这些节点的资源执行任务。移动Agent作为一种结合了人工智能的新兴分布式计算模型,必将以其灵活、智能、高兼容性和优越的性能在移动计算以及异构网络传输等方面得到更加广泛的应用。移动agent技术已成为计算机网络和分布式系统最具活力的发展方向。本文在介绍移动Agent 概念、特点、结构模型的基础上,对实现移动Agent 要解决的关键技术进行了讨论,然后分析了该技术的一些特点,并与其它的传统分布式技术做了比较。最后举例介绍了移动agent技术在电子商务领域的应用。 关键词:移动agent,电子商务,分布式

1.前言 计算机和网络的发展,使整个网络成为一个巨大的分布式系统,对分布式计算的需求不断增加。原有的分布式计算模式:C/S(Client/Server)、 RPC(RemoteProcedure Call)、RMI(RemoteMethode Invocation)等已经不能满足需要,这就要求有新的分布式计算的模式来满足新的需求。移动Agent计算模式的出现,在很大程度上弥补了原有的分布式计算模式的不足。随着网络技术的发展,可以让Agent在网络中移动并执行,完成某些功能,这就是移动Agent的思想。可以说移动Agent技术是Internet发展的结果。移动Agent技术作为一种新兴的技术,在网络管理和互操作性上取得了很大的成就。移动Agent技术被誉为“未来网络技术的主流”、“统一的分布式应用开发框架一、“继过程式、面向对象2_rdf 拘新一代的软件开发方法”,越来越显示出强大的技术优势和良好的发展前景。目前Agent的研究人员提出了从传统的面向对象的研究方法转向面向Agent的研究方法,并致力于其研究开发及应用。 众所周知,分布式移动应用程序的开发直接受体系结构风格或范型选择的影响。一些系统需求诸如可扩展性、容错性、响应时间、支持断开操作等,都是建设实施一个分布式系统前需要衡量和优化的重要方面。在General Magic公司第一次提出了移动Agent的概念之后,一个能在异构网络环境中自主地从一台主机迁移到另一台主机,并可与其它Agent或资源交互的软件实体的模型即移动Agent 范型产生了。移动Agent是一个可以在异构网络上的主机之间自主迁移和独立运算的计算机程序。它代表用户自主地在网络上移动,完成指定的任务。移动Agent 计算模式主要有降低网络负载、克服网络延迟、包装不同协议、异步及自主执行、动态适应环境、自然的异构性、健壮性和容错性等优点。这些优点集中在一起,充分体现了移动Agent技术的先进性,使其在各个领域有着极其广泛的应用。移动Agent范型是一个基于上述重要方面产生的一种分布式移动方法,该范型的发展和完善对发展分布式应用起到了积极的推动作用。 2.移动agent介绍 简单来说移动Agent是一类特殊的软件Agent,它除了具有软件Agent的基本特性——自治性、响应性、主动性和推理性外,还具有自主移动性。即它可以在网络上从一台主机自主地迁移到另一台主机,自主为用户完成指定的任务。这种通过模拟人类行为和关系,具有一定智能并能自主运行和提供相应服务的程序与传统网络计算模式有着本质上的区别。移动Agent是一种可移动的程序的抽象或对象,是种多节点迁移的异构计算机网络,根据控制执行任务并使用这些节点的资源。在该范型中,一个移动Agent从源机出发,然后根据其自身携带的执行路线和任务,自动地在主机之间遍历。在每一站,Agent访问所需要的资源或服务,并执行必要的任务来完成其使命。由于移动Agent可以在异构的软、硬件网络环境中自由移动,因此这种新的计算模式能有效地降低分布式计算中的网络负载、提高通信效率、动态适应变化了的网络环境,并具有很好的安全性和容错能力。移动Agent从一个节点到另一个节点,并自发的执行任务。在进程的最后,一个Agent会返回到所出发的节点并对发起用户进行报告,过程如图2.1所示。移动Agent拥有知识,也拥有资源,但是却缺乏了位置因素,也就是缺乏不可移动的资源,而这些资源只有在一些特定的地点才有,所以移动Agent必需具备迁移的能力,过程如图2.2所示,移动本身的程序代码(完成工作)以及可移动的资源。

相关主题
相关文档
最新文档