元启发式算法之一:蝙蝠算法BA

目录

一、算法

1. 定义

2. 步骤

3. 特点

  二、蝙蝠

      1.描述

      2.先进技能-声纳

1) 回声定位-Acoustics of Echolocation

2) 行为参数化分析

     3. 技能属性

三、 蝙蝠算法

1.算法模型建立之规则理想化简化

2.算法模型建立之近似值应用

3.算法模型建立之算法描述

4.算法方程

      5.BA算法步骤的伪代码

        6.算法实现参数之响度和脉冲发射

        7.算法验证

             1)验证新算法的标准函数

            2) 测试实例

      8.MATLAB实现蝙蝠算法可视化

      9.Python代码实现蝙蝠算法

四、总结

五、蝙蝠算法的研究

1.蝙蝠算法关键技术统计

2.蝙蝠算法在性能方面的研究

3.蝙蝠算法的研究应用领域尝试方面的研究


一、算法

1. 定义

             特定计算模型的有穷指令序列集合。

2. 步骤

              参数数据输入--步骤1--步骤2--...步骤k...步骤n--结果参数数据输出

3. 特点

  • 1.有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止;

  • 2.确切性(Definiteness):算法的每一步骤必须有确切的定义;

  • 3.输入项(Input):一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;

  • 4.输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;

  • 5.可行性(Effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。

  二、蝙蝠

      1.描述

        唯一长着翅膀的[翼手目]哺乳动物,具有敏锐的听觉定向(或回声定位)系统,可以通过喉咙发出超声波然后再依据超声波回应来辨别方向、探测目标的。有一些种类的面部进化出特殊的增加声纳接收的结构,如鼻叶、脸上多褶皱和复杂的大耳朵。许多蝙蝠也有鼻叶,由皮肤和结缔组织构成,围绕着鼻孔或在鼻孔上方拍动。据认为鼻叶影响发声及回声定位。

  •        有些蝙蝠的飞行速度可达每小时50千米以上。
  •        蝙蝠能在1秒钟内捕捉和分辨250组回音。(注:音波往返一次算一组。)
  •        蝙蝠的视力很好,并没有退化。它由嘴发出高出两万赫兹的声波,叫“超声波”,人是听不见的。超声波遇到障碍物就会反射回来,传到蝙蝠的灵敏的耳朵里。蝙蝠通过大脑,判断出障碍物样子等,来判断是吃是逃。

      2.先进技能-声纳

1) 回声定位-Acoustics of Echolocation

       大多数蝙蝠使用短调频信号扫过一个八度音阶;其他的则经常使用恒定频信号进行回声定位。它们的信号带宽随着物种而变化,通常通过使用更多的谐波来增加。蝙蝠使用了回声发射与检测的时延,两耳之间的时间差和回声响度的变化来建立周围环境的三维场景。它们可以侦测到目标的距离和方向,猎物的类型,甚至猎物的移动速度,如小昆虫。研究表明,蝙蝠似乎能够通过目标昆虫的翅膀颤动率引起的多普勒效应的变化来区分目标。

2) 行为参数化分析

                  尽管每个脉冲的持续时间只有千分之几秒(最长可达 8 到 10 ms),但它的频率通常在 25 kHz 到 150 kHz 之间。尽管有些种类的蝙蝠可以发出高达 150 kHz 的高频声波,但大多数蝙蝠的典型频率范围在 25 kHz 到 100 kHz 之间。每个超声波脉冲可以(典型地)持续 5 到 20ms,小蝙蝠每秒可以发出大约 10 到 20 个这样的声波脉冲。当它们捕猎靠近猎物时,脉冲发射速率可以被加速到每秒约 200 个脉冲。这样的短时声音突发意味着蝙蝠具有奇妙的信号处理能力。事实上,研究表明,蝙蝠耳朵的等效积分时间通常约为 300 到 400 微秒。

                   由于空气中室温下声速的典型值为 v=340m/s,所以以恒定频率 f 发出的超声波,其波长 λ 由 λ=v/f给出,其中,典型波长为 2 mm 到 14 mm,典型频率为 25 kHZ 到 150 kHZ。这些波长显然与猎物尺寸在同一数量级[2,27]。

                   蝙蝠发出的脉冲可能高达 110 分贝(dB),幸好脉冲处于超声波区。响度也随着目的不同而改变,从最响的搜寻猎物到相对安静飞向猎物。这种短脉冲的行程范围通常是几米,其取决于实际的频率。小蝙蝠可以设法避免如人头发丝一样薄的障碍物。

     3. 技能属性

  1.                 位置:蝙蝠位置xi 和猎物位置x*
  2.                 响度:Ai  (影响因素:蝙蝠具有不同的频率波长、响度)
  3.                  脉冲发射率:r 
  4.                  飞行速度: vi

三、 蝙蝠算法

蝙蝠算法(Bat Algorithm,BA)是2012年杨教授提出的一种群智能优化算法。该算法具有实现简单、参数少等特点,已经成为近几年启发式算法的研究热点。蝙蝠算法也像其他群智能优化算法一样是一种基于迭代的优化算法。

1.算法模型建立之规则理想化简化

  1. 所有的蝙蝠都用回声定位来感知距离,并且“知道”食物/猎物与背景障碍之间的差异。

  2. 蝙蝠在位置 xi ,以速度 vi 随机飞行,它们可以自动调整发出脉冲的频率(波长),并依据目标的接近程度调整脉冲发射率r∈[0,1]。

  3. 虽然响度可以从多个方面改变,但我们假设响度从一个大(正)值 A0变化到最小值 Amin。

           注:另一个明显的简化是,估计时延和三维地形时不使用射线追踪(ray tracing)。尽管在计算几何应用中这可能是一个很好的特性,但在这里不使用这种简化,因为在多维时增加了计算量。

2.算法模型建立之近似值应用

       通常,频率 f 在范围 [fmin,fmax] 内,相应的波长在范围 [λmin,λmax]内。例如,频率在 [20 kHz, 500 kHz] 范围内,则相应的的波长在 [0.7 mm, 17 mm] 范围内。对于给定的问题,我们可以使

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值