Page 54 - 《软件学报》2021年第7期
P. 54
1972 Journal of Software 软件学报 Vol.32, No.7, July 2021
高的水平上实现目标且满足偏好.在摩擦力为 1 的情况下,机器人以 12rad/s 的最大速度向目的地移动,并以这个
速度爬上第 1 个上坡.由于这种情况下不需要左转或右转,所以左右轮子的速度总是相同的.当机器人检测到第
1 个下坡和坡度时,通过对 IAP 和 DAP 的推理,将轮子的速度设为 10rad/s 从而避免下坡翻转,到平地时再调整
回最大速度.为了简化这些实验,我们只在 0.5 的间隔点之间找寻速度的最佳值.在第 2 次下坡时,考虑到坡度较
为陡峭,如果直接在下坡时放慢速度,机器人很容易翻车,因此机器人需要提前降低速度,以减少冲力.所以,机器
人在第 2 个斜坡的平坦部分先将速度降低到 9,再降低到 7.
在第 2 组实验中,部署环境的接触面相对光滑,摩擦力为 0.6,控制器在机器人爬上坡时也需要减速.这一现
象与我们的直觉一致,即机器人的速度越小,爬坡的牵引力越大.除此之外,与第 1 个实验相比,在摩擦力较小的
情况下,减速的规模更加明显.当摩擦力增加到 2.5 时,如第 3 组实验所示,实验结果是相反的,即只需要减速到 8.
如果我们将预定制的规则(非内外因)应用到不同的部署环境中,不仅偏好可能不令人满意,目标也可能无
法实现.图 14 所示实验显示了两个典型的例子(其中,左图的摩擦力=0.6,右图的摩擦力=2.5),在预定制策略时,我
们将部署环境中的摩擦力设为 1,且没有把摩擦力作为一个明确的环境因素考虑进规则中,然后将这一定制好
的自适应策略应用到不同摩擦力的跑道上.可以看到,当摩擦力为 0.6 时,相对于摩擦力为 1 时更光滑,机器人在
牵引力不足的情况下无法爬升(停留在坐标约为 16 的位置).在摩擦力为 2.5 的部署环境中,机器人下坡所需要的
速度比在摩擦力较小的环境下预设的速度要高,机器人会出现翻车的情况(约在坐标 21 的位置).在这两种情况
下,机器人都无法到达目的地.
Fig.14 The failure situations on different friction values
图 14 非基于内外因两层实现的实验结果
4.3 讨 论
基于实验结果,将系统特定知识 DAP 和环境特定知识 IAP 分离的实现适用于自适应网络应用和机器人系
统,两个案例中系统的目标都在内外因两层框架下得到很好的满足,且表现出了与他人工作中可匹敌的自适应
能力.同时,只有 DAP 这个相对于复杂环境而言核心且相对简单的部分在设计时需要被考虑,与环境相关的部
分 IAP,可以延迟到部署阶段,这有助于设计者在设计时专注于系统的核心部分,而将与部署环境相关的细节过
滤掉.此外,在变化的部署环境中表现出的自适应结果中,显示出了内层 DAP 的可复用性.在 RUBiS 案例中,当在
自适应规则中额外增加环境因素变量时,还可以进一步提升系统性能,因此我们的方法还适用于可扩展的、复
杂且开放的部署环境,且只需更替 IAP 而复用 DAP.
局限性.基于内外因方法实现的一个基本假设是,内因,特别是那些与实现自适应目标相关的变量,应该被
准确地识别并与外因区分开来,这不是一项简单的任务.在基于以上两个案例的探究中,我们可以归纳出一个识
别内外因的流程,但是否构成指导准则还需要进一步探究.流程的第 1 步是先找出系统的自适应行为,然后尽可
能地识别出所有的因素.第 2 步需要探索哪些因素是属于系统本身的(无论部署环境是什么它们都必定存在);
哪些因素是属于环境的,这些因素独立于系统存在.所谓内因,是系统所固有的东西,系统的行为可以完全由内
因决定,所以在分析影响系统行为的因素时,那些属于系统本身的因素可以被划分为内因,当然,这很可能需要
领域专家的进一步校对和帮忙.此外,我们并不声称内因外因的区分能在所有现实复杂系统中实现——这超出
了本文的范畴,相反地,本文仅试图提供一种新的方法来设计自适应系统,通过适应逻辑的分层,以适应多种不