Cuttlefish Algorithm (CFA): Propelled from Color Changing Behavior of Cuttlefishes for Solving Optimization Problems

1. Introduction

    Optimization algorithm which is called Cuttlefish Algorithm (CFA). The algorithm mimics the mechanism of color changing behavior of the cuttlefish to solve numerical global optimization problems [1]. The colors and patterns of the cuttlefish are produced by reflected light from three different layers of cells. Evolutionary algorithms are a part of artificial intelligence which mainly focuses on biological evolution. Biological evolution consists of four main processes namely reproduction, mutation recombination and selection. Unlike traditional optimization techniques, evolutionary algorithms depend on random sampling. These processes are repeatedly applied on the solutions formally stated as population and the fitness function is used to determine the quality of the solution. These solutions change according to the evolutionary process which eventually helps us to find the global solution to the problem. Evolutionary algorithms have been recognized to perform well under different circumstances as it does not assume the underlying fitness landscape. Even simple evolutionary algorithms can solve complex problems easily [2]. Only drawback in evolutionary algorithms is the computation cost factor which can be reduced using fitness function approximation. A novel improved and optimized version of traditional cuttlefish algorithm (OCFA) inspired by the color changing behavior of cuttlefish depending on the surroundings and features such as visibility and reflectivity of light, and combined it with feature extraction. OCFA is an improved and optimized version of original CFA (Adel Sabry Eesa, 2013). We have been able to optimize the proposed algorithm using the different fitness functions as compared to the original algorithm. OCFA can be implemented online so that it can give a reasonable prediction to the input drawings in real time [3]. This is cuttlefish algorithm (CFA) which is a new, batch, meta-heuristic algorithm, which mimics the mechanism of color changing behavior used by the cuttlefish to solve numerical global optimization problems, and in the paper – to explore the three-dimensional, limited space of parameters of the most commonly used controller type, i.e. PID. This controller was proposed in order to control the altitude of unmanned aerial vehicle. The cuttlefish is an area of interest for many branches of robotics – respectively: from the documentation of its life using imaging techniques with the use of unmanned underwater vehicles (UUVs), through an examination of cuttlefish visual systems designed to use the polarization of light in spatial imaging, to design of a biomimetic cuttlefish robot (with full mimic of cuttlefish’s unusual way of moving underwater). This algorithm is characterized by the ability to group the population using different methods, local and global, which give the good solution for the continuous case. The aim of this adaptation is to use this characteristic in order to overcome the different combinatorial optimization problems.

2. Inspiration of Cuttlefish Algorithm

Fig 1: Lifecycle of Cuttlefish

The first thing to be noted about cuttlefish is that they are actually mollusks that belong to the order Sepiida, of the class Cephalopoda, and are therefore cousins to the Octopuses and the squids. Like the squids, they have eight arms and two tentacles that are used not only to secure prey but also to taste with [4]. Unlike the squid which has two lateral fins at the top of its mantle, the cuttlefish has a long ribbon-like fin that surrounds the mantle completely. All cuttlefish are venomous like some squids and some octopuses, and like the rest of the cephalopod family they all have the ability to spray out a jet of defensive ink to cover their escape as well as confuse a predator’s sense of smell. For invertebrates, cuttlefish are smart. In fact, cuttlefish and their cephalopod cousins (octopi and squids) are considered the Einstein’s of the invertebrate world. With the largest brain to body mass ratio of all invertebrates, this class of mollusks has shown some amazing intelligence. They have great spatial learning and can navigate mazes, as well as developed very interesting communication techniques [5]. Some cuttlefish can use one half of their body to send a color-coded signal to its neighbor, while at the same time using the other half of its body to send a completely different color-coded message to the cuttlefish on its other side. They have also evolved predation and hunting techniques to enable them to deal with their main prey, crabs, since they could pose a significant problem with their pincers and hard shells.

Fig 2: Cuttlefish with label

3. Cuttlefish Algorithm

     An optimized feature extraction based on traditional cuttlefish optimization algorithm has been discussed.  Cuttlefish optimization algorithm is used as a search strategy to find optimal subset of features. The algorithm mimics the mechanisms behind a cuttlefish that are used to change its color. The patterns and colors seen in cuttlefish are produced by reflected light from different layers of cells including chromato-phores, leucophores and iridophores. The CFA considers two main processes: reflection and visibility [6]. The reflection process is used to simulate the light reflection mechanism, while visibility is used to simulate the visibility of matching patterns. The patterns and colors seen in cuttlefish are produced by reflected light from different layers of cells (stacked together) including:

  • Chromatophores (pigment-containing and light-reflecting cells; they are located directly under the skin of cuttlefish and responsible for trigger/hide of the pigment),
  • Iridophores (pigment cells that reflect light; located under chromatophores; when they are illuminated they generate iridescent colors because of the diffraction of light within the stacked plates),
  • Leucophores (given a source of white light, they produce a white shine).

    By a set of mirror-like cells (irigophores and leucophores) cuttlefish skin can assume all the rich and varied colors of its environment. The appearance of the cuttlefish thus depends on which skin elements affect the light incident on the skin [7]. The light may be reflected by either chromatophores or by reflecting cells (iridophores or leucophores) or a combination of both.

The cuttlefish optimization algorithm considers two main processes

  • Reflection – it is used to simulate the mechanism of incoming light reflection in above mentioned layers [8].
  • Visibility – it is proposed to represent the matching pattern clarity that the cuttlefish try to simulate the patterns appear in its environment (it is a difference between the best solution and the current solution in the CFA) [9].
Fig 3: Cuttlefish Algorithm

3.1. Steps for Cuttlefish Algorithm (CFA)

  • Traditional cuttlefish algorithm
  • Initialization
  • Feature selection

3.1.1. Traditional cuttlefish algorithm

    Cuttlefish are marine animals belonging to the family of mollusks having the ability to change the color and patterns of their skin depending on the surroundings [10]. This is achieved by a combination of chromatophores, leucophores and iridophores cells interacting with each other. These cells combine with the reflecting light to output different colors and patterns.

3.1.2. Initialization

     The algorithm starts with a population of initial solution, one is selected subset of data points and another one is unselected subset of data points. The intersection of selected subset of data points and unselected subset of data points should be null. The decision tree classifier evaluates each pi of selected subset of points and fined the fitness value for each pi of selected subset of points. Which selected subset of points having better fitness value that subset of points should be stored as a best subset of points and Avbest subset of points [11]. The size of the best subset of data points should be less than Avbest subset of data points. Each initial solution is associated with selected subset of points and unselected subset of points. Compute the fitness value for each initial solution of data points. Avbest subset of data points and stores it as a best subset of data points [12].

3.1.3. Feature selection

    The amount of data in recent times has increased multifold incorporating varied attributes and features into the dataset. This has increased computation time and led to wastage of computation resources as most of these attributes do not contribute to the end result in a predictive model. Therefore, a subset of features is often selected depending on the importance of each variable defined by the respective weights that are more responsible in predicting the end result correctly and the rest of the features are neglected [13]. The genetic algorithms are often modified by use of feature selection to save the computation costs and increase the accuracy.

3.2. Flow Chart of CFA

Fig 4: Flowchart of Cuttlefish Algorithm

4. Numerical Methods of CFA

    CFA uses the two processes reflection and visibility to find a new solution. These cases work as a global search using the value of each point to find a new area around the best solution with a specific interval [14].

The formulation for finding the new solution (new P) using reflection and visibility is described in given below,

new P = reflection + visibility

reflection j = R*G1(i). points(j)

visibility j = V* (Best points(j) – G1(i). points(j)


G1 = Group of cells

R = Degree of reflection

V = Visibility degree

R = random (0,5) = 2

V = 5 – 2 = 3

Points = 0.5

reflection j1 = 2*5*0 = 0

reflection j2 = 2*5*1 = 10

reflection j3 = 2*5*2 = 20

reflection j4 = 2*5*3 = 30

reflection j5 = 2*5*4 = 40

reflection j6 = 2*5*5 = 50

reflection j = 0 + 10 + 20 + 30 + 40 + 50

                  = 150

visibility j1 = 2*0 – 0

                  = 0

visibility j2 = 2*1 –10

                  = -8

visibility j3 = 2*2 – 20

                  = – 16

visibility j4 = 2*3 – 30

                  = – 24

visibility j5 = 2*4 – 40

                  = – 32

visibility j5 = 2*5 – 50

                  = – 40

Visibility = 0 – 8–16–24–32–40

                = –120

new P = reflection + visibility

           = 150 – 120 new P  = 30

5. Applications of CFA

  • Computer network [15]
  • Robotics
  • Control systems [16]
  • Data mining
  • Power systems [17]
  • Parallel processing

6. Advantages of CFA

  • The feature subset obtained by using CFA gives a higher detection rate and accuracy rate with a lower false alarm rate, when compared with the obtained results using all features [18].
  • The bio-inspired algorithm finds an optimal subset of features, maximizing the accuracy, minimizing number of features selected and is more stable.
  • The optimal extracted subset of data points and reduced feature space are providing almost similar detection rate, accuracy rate, and false positive rate and takes less amount of computational time for training the classifiers what we obtained from using original dataset [19].
  • This new adaptation proposes a reformulation of the equations to generate solutions depending a different algorithm case [20].
  • The main significance of this research is a usable and useful intelligent model for data classification in noisy conditions with the capability of yielding a set of explanatory rules with minimum antecedents [21].


[1] Eesa, A., Orman, Z. and Brifcani, A. (2015). A novel feature-selection approach based on the cuttlefish optimization algorithm for intrusion detection systems. Expert Systems with Applications, 42(5), pp.2670-2679.

[2] Gupta, D., Julka, A., Jain, S., Aggarwal, T., Khanna, A., Arunkumar, N. and de Albuquerque, V. (2018). Optimized cuttlefish algorithm for diagnosis of Parkinson’s disease. Cognitive Systems Research, 52, pp.36-48.

[3] Design and Fluid Flow Analysis of Unmanned Aerial Vehicle (UAV). (2015). International Journal of Science and Research (IJSR), 4(11), pp.573-577.

[4] Suganthi, M. and Karunakaran, V. (2018). Instance selection and feature extraction using cuttlefish optimization algorithm and principal component analysis using decision tree. Cluster Computing, 22(S1), pp.89-101.

[4] Xiujuan Wang, Chenxi Zhang and Kangfeng Zheng (2016). Intrusion detection algorithm based on density, cluster centers, and nearest neighbors. China Communications, 13(7), pp.24-31.

[5] Zhang, J. (2014). Hybrid Particle Swarm Optimization Algorithm for Large-Scale Travelling Salesman Problem. Applied Mechanics and Materials, 513-517, pp.1773-1778.

[6] Pourpanah, F., Lim, C. and Saleh, J. (2016). A hybrid model of fuzzy ARTMAP and genetic algorithm for data classification and rule extraction. Expert Systems with Applications, 49, pp.74-85.

[7] SHOHET, A., BADDELEY, R., ANDERSON, J. and OSORIO, D. (2007). Cuttlefish camouflage: a quantitative study of patterning. Biological Journal of the Linnean Society, 92(2), pp.335-345.

[8] Allen, J., Mäthger, L., Barbosa, A. and Hanlon, R. (2009). Cuttlefish use visual cues to control three-dimensional skin papillae for camouflage. Journal of Comparative Physiology A, 195(6), pp.547-555.

[9] Ivankovic, H., Gallego Ferrer, G., Tkalcec, E. and Ivankovic, M. (2006). Preparation of Highly Porous Hydroxyapatite Ceramics from Cuttlefish Bone. Advances in Science and Technology, 49, pp.142-147.

[10] KAMAMURA, S., YAMAMOTO, H., GENDA, K., KOIZUMI, Y., ARAKAWA, S. and MURATA, M. (2015). Fast Repairing from Large-Scale Failure Using Hierarchical SDN Controllers. IEICE Transactions on Communications, E98.B(11), pp.2269-2279.

[11] Clarke, A., Rodhouse, P., Holmes, L. and Pascoe, P. (1989). Growth rate and nucleic acid ratio in cultured cuttlefish Sepia officinalis (Mollusca: Cephalopoda). Journal of Experimental Marine Biology and Ecology, 133(3), pp.229-240.

[12] Ivankovic, H., Tkalcec, E., Orlic, S., Gallego Ferrer, G. and Schauperl, Z. (2010). Hydroxyapatite formation from cuttlefish bones: kinetics. Journal of Materials Science: Materials in Medicine, 21(10), pp.2711-2722.

[13] Zumholz, K., Hansteen, T., Klügel, A. and Piatkowski, U. (2006). Food effects on statolith composition of the common cuttlefish (Sepia officinalis). Marine Biology, 150(2), pp.237-244.

[14] Orenstein, E., Haag, J., Gagnon, Y. and Jaffe, J. (2016). Automated classification of camouflaging cuttlefish. Methods in Oceanography, 15-16, pp.21-34.

[15] Grigoriou, P. and Richardson, C. (2008). The effect of ration size, temperature and body weight on specific dynamic action of the common cuttlefish Sepia officinalis. Marine Biology, 154(6), pp.1085-1095.

[16] Gopala Krishnan, K. and Vanathi, P. (2018). An efficient texture classification algorithm using integrated Discrete Wavelet Transform and local binary pattern features. Cognitive Systems Research, 52, pp.267-274.

[17] Ruder, T., Sunagar, K., Undheim, E., Ali, S., Wai, T., Low, D., Jackson, T., King, G., Antunes, A. and Fry, B. (2013). Molecular Phylogeny and Evolution of the Proteins Encoded by Coleoid (Cuttlefish, Octopus, and Squid) Posterior Venom Glands. Journal of Molecular Evolution, 76(4), pp.192-204.

[18] Zumholz, K., Hansteen, T., Piatkowski, U. and Croot, P. (2007). Influence of temperature and salinity on the trace element incorporation into statoliths of the common cuttlefish (Sepia officinalis). Marine Biology, 151(4), pp.1321-1330.

[19] Guerra, Á., Hernández-Urcera, J., Garci, M., Sestelo, M., Regueira, M., Gilcoto, M. and González, Á. (2016). Spawning habitat selection by the common cuttlefish Sepia officinalis in the Cíes Islands (Northwest Spain). Fisheries Research, 183, pp.44-54.

[20] Xavier, J., Peck, L., Fretwell, P. and Turner, J. (2016). Climate change and polar range expansions: Could cuttlefish cross the Arctic?. Marine Biology, 163(4). [21] HUANG, H. and ZHOU, Y. (2009). Hybrid artificial fish swarm algorithm for global optimization problems. Journal of Computer Applications, 28(12), pp.3062-3064

Leave a Reply

%d bloggers like this: