Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Bats exhibit mysterious behaviours that have long since attracted the attention of human beings. Probably one of the most noticeable behaviours visible to us is they are capable to orientate their environments and food acquisition without relying on their eyesight (Merritt 2010). This is accomplished by bats continuously emit echolocation signals (Yovel et al. 2008). Through analyzing the returning echoes in the auditory system, bats can easily identify their surroundings and locate preys. By continuously observing and studying the abilities of bats, recently, computer scientists proposed several bat inspired algorithms (i.e., bat algorithm (BaA) and bat intelligence (BI) algorithm) to solve well-known optimization problems such as image processing, scheduling, clustering, and data mining.

1.1 Foraging Behaviour of Bats

Traditionally, families of bats are divided into two major groups, i.e., megabats and microbats. Typically, bats have three habitats as they feed through the whole year, i.e., roost, foraging habitats, and commuting habitats. The foraging habitats are used to find food, while the commuting habitats are used to travel between roosts and foraging habitats (Mills et al. 2010). In general, the foraging behaviour of bats can be divided into three phase: search phase, pursuit phase, and capture phase (Kalko 1995). Also, they are very flexible in their foraging behaviour, such as feeding by aerial hawking (catching insects on the wing), gleaning (picking insets from vegetation), and pouncing on prey close to the ground. At each phase, they show different behaviours based on a perceptual system, i.e., bats echolocation.

1.2 Characteristics of Echolocation

One of the unique characteristics of bats from other animals is their echolocation capacity, i.e., emitting ultrasonic pulses and listening the echoes (Mills et al. 2010). According to the different pulses, they can detect prey, avoid obstacles, and even locate their roosting crevices in the dark (Yang 2010). For example, as bats fly through the night, their echolocation calls bounce off the environment, helping the bats find their way to and from their habitats. Typically, each bat emits about 10–20 pulse every second. Though each pulse lasts a few thousands of a second, it has a constant frequencies which normally range from 25 to 150 kHz (Yang 2010). Amazingly, when bats hunt for prey, the rate of pulse emission can reach roughly 200 pulses per second when they fly near their prey (Yang 2010). In contrast to the microbats use vocalization to emit sonar signals, the megabats use their tongue to emit very brief wideband echolocation (Yovel et al. 2011). Furthermore, although echolocation was first identified in bats, it is also used by some other species, such as dolphin and toothed whales.

2 Bat Algorithm

2.1 Fundamentals of Bat Algorithm

Bat algorithm (BaA) was originally proposed by Yang (2010) which is based on the echolocation behaviour of bats. To implement the proposed algorithm, a set of approximations or idealized rules are given as follows (Yang 2010):

  • Based on the echolocation behaviour, the bats can detect the distance and the differentiate between food and background barriers as well, even in the darkness.

  • Bats usually fly randomly to search for prey. According to that, some numerical parameters associated with the bats’ foraging behaviour are defined first, such as velocity (\( v_{i} \)) at position (\( x_{i} \)) with a fixed frequency (\( f_{\hbox{min} } \)), varying wavelength (\( \lambda \)) and loudness (\( A_{o} \)).

  • The loudness can varies from a large positive (\( A_{o} \)) when searching for prey to a minimum constant value (\( A_{\hbox{min} } \)) when homing towards the prey.

The basic steps of implementing BaA are described as follows.

2.1.1 Movement of Virtual Bats

Just like the real bats, the virtual bats fly randomly by adjusting its frequency first and updating its velocity and position next. The new locations/solutions (\( x_{i}^{t} \)) and velocities (\( v_{i}^{t} \)) at time step \( t \) are given via Eqs. (3.1)–(3.3) respectively (Yang 2010):

$$ f_{i} = f_{\hbox{min} } + \left( {f_{\hbox{max} } - f_{\hbox{min} } } \right) \cdot \beta , $$
(3.1)
$$ v_{i}^{t} = v_{i}^{t - 1} + \left( {x_{i}^{t} - x_{ * } } \right) \cdot f_{i} , $$
(3.2)
$$ x_{i}^{t} = x_{i}^{t - 1} + v_{i}^{t} ,$$
(3.3)

where \( \beta \in \left[ {0,1} \right] \) is a random vector drawn from a uniform distribution, \( f_{i} \) is the velocity increment, \( f_{\hbox{min} } \) and \( f_{\hbox{max} } \) are the lower and upper bounds imposed for the frequency range of virtual bats, respectively, and \( x_{ * } \) is the current global best location.

For the local search part, the random walks are used to generate a new solution for each bat from the current population via Eq. 3.4 (Yang 2010):

$$ x_{new} = x_{old} + \varepsilon A^{t} , $$
(3.4)

where \( \varepsilon \in \left[ { - 1,1} \right] \) is a random number, while \( A^{t} = \left\langle {A_{i}^{t} } \right\rangle \) is the average loudness of all the bats at this time step.

2.1.2 Loudness and Pulse Emission

The general rule is that the loudness decreases while the rate of pulse emission increases, when a bat has found its prey. The loudness and the rate of pulse emission are updated via Eqs. (3.5) and (3.6), respectively (Yang 2010):

$$ A_{i}^{t + 1} = \alpha A_{i}^{t} ,$$
(3.5)
$$ r_{i}^{t + 1} = r_{i}^{0} \left[ {1 - \exp \left( { - \gamma t} \right)} \right], $$
(3.6)

where \( A_{i}^{t} \) and \( A_{i}^{t + 1} \) are the previous and updated values of the loudness for the \( i{\text{th}} \) bat, \( \alpha \) and \( \gamma \) are constants, and \( r_{i}^{t + 1} \) is the pulse rate of the \( i{\text{th}} \) bat at iteration \( t + 1 \). For any \( 0 < \alpha < 1 \) and \( \gamma > 0 \), we have Eq. (3.7) (Yang 2010):

$$ A_{i}^{t} \to 0, \, r_{i}^{t} \to r_{i}^{0} ,{\text{ as }}t \to \infty . $$
(3.7)

Summarizing the steps in BaA yields to (Yang 2010; Carbas and Hasancebi 2013):

  • Step 1: Initializing bat population [such as position (\( x_{i} \)) and velocities (\( v_{i} \))].

  • Step 2: Initializing parameters, such as pulse frequency (\( f_{i} \)), pulse rates (\( r_{i} \)), and loudness parameters (\( A_{i} \)).

  • Step 3: Evaluating bats in the initial population according to the fitness function.

  • Step 4: Generating candidate bats through random flying and local search.

  • Step 5: Evaluating candidate bats according to the fitness function.

  • Step 6: Echolocation parameters update.

  • Step 7: Rank the bats and find the current best \( x_{ * } \).

  • Step 8: Termination. The steps 4–7 are employed in the same way until a termination criterion is met.

2.2 Performance of BaA

To text the effectiveness of BaA, a set of well-known test functions were adopted in (Yang 2010), namely, Rosenbrock’s function, De Jong’s standard sphere function, Ackley’s function, Michalewica’s test function, Schewfer’s function, Rastrigin’s function, Easom’s function, Griewangk’s function, and Shubert’s test function. Compared with other algorithms [i.e., particle swarm optimization (PSO) and genetic algorithm (GA)], computational results showed that BaA performs significantly better than other algorithms in terms of accuracy and efficiency.

3 Emerging Bat Inspired Algorithms

In addition to the aforementioned BaA, the characteristics of this interesting animal also motivate researchers to develop other bat inspired innovative computational intelligence (CI) algorithms.

3.1 Bat Intelligence Algorithm

3.1.1 Fundamentals of Bat Intelligence (BI) Algorithm

Bat intelligence (BI) algorithm was originally proposed in (Malakooti et al. 2013b) that mimics the prey hunting behaviours of bats. For BI, a set of signals are generated not only based on the echolocation characteristic, but also the constant absolute target direction (CATD) technique, where the bat maintains same pursuit angle to the prey, has been incorporated. Also, during the prey hunting process, after seizing and consuming a prey, bats can proceed to capture other preys in the foraging area. The main steps of BI are described as follows (Malakooti et al. 2013b):

  • Step 1: Initializing the parameters and population.

  • Step 2: The fitness function value (i.e., signal strength) corresponding to each candidate solution is calculated.

  • Step 3: Generating a set of solutions containing common elements.

  • Step 4: Select the best solution.

  • Step 5: Choosing a common element and include it in the common element list.

  • Step 6: Checking the terminating condition. If it is reached, go to step 3 for new beginning. If a specified termination criteria is satisfied, stop and return the best solution.

3.1.2 Performance of BI

To illustrate the performance of BI, a multiple objective energy aware multiprocessor scheduling problem with three objectives (i.e., makespan, tardiness, and energy consumption) are presented in (Malakooti et al. 2013a). Compared with GA, the BI algorithm shows better performance to move towards the optimal solution.

4 Conclusions

In this chapter, we introduced two bat inspired CI algorithms. Although they are newly introduced CI method, we have witnessed the following rapid spreading of at least one of them, i.e., BaA:

First, several enhanced versions of BaA can be found in literature as outlined below:

  • Differential operator and Lévy flight BaA (Xie et al. 2013).

  • Modified BaA (Damodaram and Valarmathi 2012).

Second, the BaA has also been successfully applied to a variety of optimization problems as listed below:

  • Data mining (Damodaram and Valarmathi 2012).

  • Gas turbine generator exergy analysis (Lemma and Hashim 2011).

  • Motor control (Bora et al. 2012).

  • Scheduling optimization (Musikapun and Pongcharoen 2012).

  • Steel space frames design optimization (Carbas and Hasancebi 2013).

Interested readers are referred to them, together with several excellent reviews [e.g., (Yang 2013; Schnitzer 2002; Sureja 2012)], as a starting point for a further exploration and exploitation of bat inspired algorithms.