A Novel Binary Slime Mould Algorithm with AU Strategy for Cognitive Radio Spectrum Allocation

Spectrum has now become a scarce resource due to the continuous development of wireless communication technology. Cognitive radio technology is considered to be a new method to solve the shortage of spectrum resources. The spectrum allocation model of cognitive radio can effectively avoid the waste of spectrum resources. A novel binary version of slime mould algorithm is proposed for the spectrum allocation model to solve the spectrum allocation scheme. In addition, adding unselected factors strategy can make the approach find a better solution. Compared with other algorithms, the novel binary slime mould algorithm and the strategy of adding unselected factors proposed in this paper have a good performance in spectrum allocation. The resulting spectrum allocation scheme can achieve efficient use of network resources.


Introduction
Wireless communication technology has developed rapidly in recent years. The wireless network has become an essential part of daily life. Growth in demand for wireless communication services makes the spectrum become a scarce resource. The allocation of spectrum resources is related to the development of radio technology. At the current stage, the spectrum resources implement a static allocation strategy. This static strategy avoids interference between communication systems to a certain extent. But when authorized users do not use the spectrum, the corresponding spectrum resources will be wasted. To solve the problem of low spectrum utilization, the concept of cognitive radio technology [1,2] is proposed. Its idea is to enable unauthorized wireless communication devices to actively discover and make use of the vacancy of dedicated licensed spectrum bands.
Cognitive radio can perceive the external radio environment, capture free spectrum resources, count and analyze external environmental changes. It can modify the wireless transmission parameters according to the dynamic setting of the environment so that cognitive radio equipment adopts different transmission technologies for data send. There are mainly three essential cognitive radio technologies: spectrum sensing technology, dynamic spectrum allocation technology, and power control technology. This paper primarily studies the spectrum allocation technology and achieves efficient utilization of spectrum resources through a reasonable spectrum allocation.
The spectrum allocation mainly studies how to share the spectrum band among unlicensed cognitive users after a free spectrum band is discovered. Many studies have proposed relevant spectrum allocation models, including game theory [3], pricing and auction mechanisms [4], and graph coloring [5]. The spectrum allocation problem is actually an NPhard problem [6]. It is impractical to get its optimal solution through exhaustive search. Because the metaheuristic algorithm performs better on many problems, many scholars use it to solve the problem of spectrum allocation. Zhijin Zhao et al. [7] introduced genetic algorithm and particle swarm algorithm (PSO) to the spectrum allocation problem and achieved good results. Abdelsalam HM et al. [8] proposed an enhanced particle swarm optimization for spectrum assignment in cognitive radio networks. However, these methods have problems such as high computational complexity or single search direction in the later stage of convergence. More effective optimization approaches need to be explored.
The metaheuristic algorithm has two main stages, exploration and exploitation. The exploration stage can search in the entire solution space to find potential solutions to avoid local optima. In the exploitation stage, a better solution is found near the obtained solution. A good metaheuristic algorithm should maintain the balance between two stages. The swarm intelligence algorithm is part of the metaheuristic algorithm [9,10]. It is a population-based intelligent algorithm that simulates the population behavior in the natural environment. Genetic algorithm (GA) [11,12] is the earliest swarm intelligence algorithm. GA is a kind of evolutionary algorithms [13][14][15]. It searches for the optimal solution by simulating the natural evolution process of organisms. PSO [16][17][18][19][20][21][22][23] simulates the behavior of birds looking for a destination during the migration process and changes the position through the velocity vector. Grey wolf optimization (GWO) [24,25] imitates the hierarchical structure and hunting behavior of wolves. Quasi-affine transformation evolution (QUATRE) algorithm [26][27][28] is a co-evolution framework for quasi-affine transformation, which can perform a statistical and probabilistic search. Due to the complexity of the actual problem, multi-objective optimization has gradually developed [29][30][31][32]. Multiple objective functions need to be optimized at the same time. Non-dominated Sorting Genetic Algorithm II (NSGA II) is a dynamic multi-objective algorithm that effectively reduces the computational complexity and can maintain a better spread of solutions [33][34][35][36].
Many standard optimization algorithms cannot be directly used for discrete problems. In the optimization of 0-1 knapsack, spectrum allocation, and feature selection, it is necessary to search in the binary space. Therefore, the binary versions are required for solving these discrete problems. The binary particle swarm optimization (BPSO) [37,38] uses the SF (sigmoid function) method to discretize the continuous value of the speed so as to complete the judgment of the new position as 0 or 1. The binary grey wolf algorithm(BGWO) [39] was first proposed by Zawbaa et al. to solve the feature selection problem. Because GA can directly use binary coding methods for genes, they can be used to optimize discrete problems [40]. Quantum genetic algorithm (QGA) [7,41] includes quantum computing and genetic evolution. Like GA, QGA can also be used in binary optimization problems.
Although the metaheuristic algorithm has achieved great success in many aspects, it cannot guarantee that good results can be achieved on all optimization problems. Therefore, many researchers are committed to proposing new optimization algorithms [42][43][44][45]. Slime mould algorithm (SMA) is a new swarm intelligence algorithm proposed by Shimin Li et al [46]. SMA [47][48][49] simulates the behavior of Physarum polycephalum using the biological shock mode to search food in nature. And the weight is used to simulate the positive and negative feedback during the foraging process. Shimin Li et al. confirmed that compared with other optimization algorithms, SMA has good performance in exploration and exploitation on unimodal and multimodal functions. According to the advantages and limitations of each meta-heuristic algorithm, some scholars propose to combine multiple optimization methods to achieve better solutions [50][51][52][53]. The combination of SMA and adaptive guided differential evolution (AGDE) effectively enhances the local search capabilities of agents and helps avoid premature convergence [54]. In Ref. [55], SMA is combined with whale optimization algorithm (WOA) to extract the region of interest containing COVID-19 features in the X-ray images, to achieve the goal of improving the accuracy of image classification. Binary slime mould algorithm (BSMA) was first proposed by Abdel-Basset et al. to solve the feature selection problem [56]. They also proposed three improved algorithms for BSMA based on the attacking-feeding strategy and the two-phase mutation [57]. However, when the original position update rule is transferred to the binary space, it is easy to fall into the local optimum to a certain extent. Therefore, we propose a novel binary version of slime mould algorithm to solve the spectrum allocation in cognitive networks. The main work of this paper is listed as follows; (1) A novel binary slime mould algorithm is proposed to solve the spectrum allocation problem. (5) Compare with the optimization algorithms used to solve the spectrum allocation to verify the performance of the two proposed approaches.
The rest of this paper is organized as follows: Section 2 describes the SMA, BSMA, and spectrum allocation models. Section 3 proposes a novel binary SMA and a mutation strategy for solutions with poor performance. Section 4 verifies the proposed novel binary SMA and mutation strategy. Section 5 draws conclusions and puts forward some inspirations for future work.

Preliminaries
This section briefly describes the standard SMA and BSMA. The spectrum allocation model and the fitness functions are also introduced.

Slime Mould Algorithm
The working process of SMA includes three stages: approaching food, wrapping food, and grabbing food.
(1) Approaching food The slime mould approaches food according to the smell in the air. The following formula is proposed to express approach behavior.
where ��� ⃗ vb is a parameter in the range of [−a, a] . �� ⃗ vc is a parameter that linearly decreases from 1 to 0, t represents the current iterative process. ��� ⃗ X b represents the closest individual position of the current process to the target. Equation (1) indicates that the slime mould updates the position of the search individual according to the currently obtained optimal position ��� ⃗ X b , and the weight vector ��� ⃗ W . �� ⃗ vc and ��� ⃗ vb can change the position of the individual. ���� ⃗ X A and ���� ⃗ X B represent two individuals randomly selected from the population. The definition of p is given in Eq. (3). When r < p , the mould is in the global search and gradually moves closer to the best position found. When r ≥ p , the search range of slime mould is reduced, and it is in the state of local search.
��� ⃗ W represents the weight of slime mould, defined by Eq. (2), which represents the influence of the food concentration of slime mould during its movement. The slime mould mainly relies on the propagation wave generated by the biological oscillator to change the cytoplasmic flow. The higher the concentration of nearby food, the stronger the propagation wave generated by the oscillator, and the larger the width of the vein structure. This feature ensures that the slime mould gets enough nutrition in the area. To a certain extent, it can be said that ��� ⃗ W simulates the biological oscillator of slime mould.
where bF represents the best fitness value in the current iterative process. wF represents the worst fitness value in the current iterative process. r is a random number uniformly distributed in the range of [0, 1], which simulates the uncertainty of the slime mould contraction pattern in the natural environment. SmellIndex represents the sorted result of the fitness value of slime mould. l represents the position of the individual number i in SmellIndex. condition represents the individuals ranked in the top half of the SmellIndex.
p is defined as follows: where p represents the gap between an individual and the current best fitness value, used to determine the position update strategy, DF represents the best fitness obtained in the iterations so far. a is defined as follows: where t represents the current iteration number, a gradually decreases as the number of iterations increases. maxiter represents the maximum number of iterations in the search process.
(2) Wrapping food The rule for updating the position of slime mould is as follows: where rand and r are two different random values in the range of [0, 1]. The value of z is related to maintaining the balance of exploitation and exploration. After experimental analysis, it is found that the optimization performance of the algorithm is better when z = 0.03 [46]. ���� ⃗ LB and ����� ⃗ UB represent the lower and upper bounds of the search space.
(3) Grabbing food ��� ⃗ vb and �� ⃗ vc simulate the selection behavior of slime mould. In order to find a better food source, even if the slime mould finds a target with a higher food concentration, it will disperse parts of the organism to search for other areas instead of focusing on one food source. The value of ��� ⃗ vb is within [−a, a] , which helps to avoid local optima.
The pseudo-code of the continuous SMA is shown in Algorithm 1.

Binary Slime Mould Algorithm
In SMA, the value of each dimension of the solution can only be continuous. Due to the need to solve the optimization problem of the binary space, BSMA is proposed. The pseudo-code of the BSMA is shown in Algorithm 2. Besides, three binary versions of SMA have also been proposed, namely BSMA with two-phase mutation (TMBSMA), BSMA with attacking-feeding strategy (AFBSMA), and BSMA with a combination of two-phase mutation and attacking-feeding strategy (FMBSMA). When using Eq. (5) to update the position, there are only four choices for X d A and X d B in the binary search space, which are (0,0), (0,1), (1,0) and (1,1). Without the transfer function conversion, the value or range of X d i has four cases in Table 1. When using the transfer function for conversion, whether it is S-shaped or V-shaped, if X d b = 1 , then X d i will have a high probability of taking 1. This makes the algorithm easy to fall into the local optimum to a certain extent.

The Spectrum Allocation Model
Spectrum allocation is a crucial technology of cognitive networks. The main goal of spectrum allocation is to allocate  spectrum to cognitive users to reduce the waste of spectrum resources while avoiding interference to authorized users. Through the four matrices of channel availability matrix, channel reward matrix, interference constraint matrix, and conflict-free channel assignment matrix in Refs. [7], reasonable allocation of spectrum resources can be realized. Assuming that there are N cognitive users in the wireless network and M available spectrum bands are perceived. The four spectrum allocation matrices are defined as follows: (i) T h e c h a n n e l a v a i l a b i l i t y m a t r i x represents the ownership of available channels for cognitive users. l n,m = 1 indicates that cognitive user n can use the channel numbered m. l n,m = 0 indicates that it cannot be used. (ii) The channel reward matrix B = {b n,m } N×M , b n,m represents the benefits that cognitive user n obtains on channel m. Network benefits can be expressed by many factors such as the maximum network traffic, maximum throughput, and spectrum utilization. In this paper, network bandwidth is used to quantify the benefits achieved. (iii) T h e i n t e r f e r e n c e c o n s t r a i n t m a t r i x C = {c n,k,m | c n,k,m ∈ {0, 1}} N×N×M , where n and k both indicate cognitive users. c n,k,m indicates whether the simultaneous use of the m-th channel by the n-th and k-th cognitive users will cause interference. If the value is 1, it means that two users will interfere with each other. (iv) The conflict-free channel assignment matrix A = {a n,m | a n,m ∈ {0, 1}} N×M , a n,m i n d i c a t e s whether channel m can be allocated to cognitive user n under the interference constraint matrix C . If the value is 1, it means channel m can be assigned. A must satisfy the following constraints: c n,k,m = 1 ∩ (a n,m + a k,m ≤ 1). Figure 1 shows the topology of the cognitive wireless network at a certain moment. The channel is represented by {A, B, C}, and the cognitive user is marked by {CU1, CU2, CU3, CU4}. Three authorized users are represented by {PU1, PU2, PU3}. The arc represents the communication coverage of authorized users. Suppose that at this moment, the authorized user PU1 owns channel A, PU2 owns B, and PU3 owns C. Since CU1 is located in the communication coverage area of PU1, if the cognitive user uses channel A, it will interfere with PU1. The available channel for CU1 is {B, C}. Similarly, the available channel of CU2 is {C}, the available channel of CU3 is {A, C}, and the available channel of CU4 is {A, B}. Therefore, the specific information of the channel available matrix L can be obtained.

Fitness Function
According to the final conflict-free channel assignment matrix A and reward matrix B , the benefits obtained by each user can be obtained. Then, the network benefits that the user with number n can obtain are ∑ M m=1 a n,m ⋅ b n,m . By accumulating the reward of all users, the Max-Sum-Reward (MSR) of the current network after the completion of the spectrum allocation can be obtained.
In order to measure the fairness of the benefits obtained by each user, it can be expressed by the Max-Proportional-Fair (MPF).
In this paper, Eqs. (7) and (8) are used as fitness functions.

The Proposed Novel Binary Slime Mould Algorithm
In SMA, the algorithm only searches in a continuous space. But there are some special problems whose search space is binary, such as feature selection, 0-1 knapsack, and spectrum allocation problem. In this section, a novel binary version of the SMA (NBSMA) is proposed to solve the spectrum Fig. 1 The topology of the cognitive network at a certain moment allocation problem. NBSMA can improve the disadvantage of falling into the local optimum in the BSMA update rules.

Transfer Function
The transfer function maps continuous values to [0,1] and then converts them to 0 or 1 according to the probability. In the optimization of binary problems, the transfer function is crucial. Even if the solution is binary in the initial state, after a series of processing and conversion, non-binary situations will inevitably occur. Therefore, using the transfer function is a very effective method.
S-shaped and V-shaped functions are currently the most common transfer functions. Mirjalili et al. [58] compared the performance of S-shaped function and V-shaped function on binary particle swarm optimization. Abdel-Basset et al. [56] compared eight transfer functions on the proposed BSMA algorithm and proved that the S4 and V1 transfer functions in Table 2 are the two most effective functions for feature selection. In this section, S5 is introduced as a new transfer function. The S5 transfer function has been used in the binary grey wolf optimization algorithm to solve feature selection [39]. This paper compares the performance of the three transfer functions of S4, S5, and V1. The transfer function with the best performance is selected and used in subsequent comparisons. The details and results of the experiment are shown in Sect. 4.
where rand represents a random number in the range [0, 1].
where X d b represents the value of the ��� ⃗ X b in the d-th dimension. rand represents a random number in the range [0, 1]. vb d is a random number in the range of [−a, a] . W(i) is given by Eq. (2). ���� ⃗ X A and ���� ⃗ X B represent two individuals randomly selected from the population. F(x) represents a transfer function, which is used to convert continuous values into values in the range [0, 1]. x 3 is defined as follows: where rand is a random number in the range [0,1], and i represents the i-th individual in the population. The pseudocode of the NBSMA is shown in Algorithm 3.
The biggest difference between NBSMA and BSMA is the position update rule when r < p . Table 3 shows the (12)

Adding Unselected Factors Strategy (AU Strategy)
In the problem of spectrum allocation or 0-1 backpack, adding unselected factors without considering constraints will often bring better benefits. Based on this idea, this paper proposes a new strategy to mutate individuals with poor fitness. This strategy allows solutions with poor performance to increase the number of selected factors, thereby getting closer to a better solution. The pseudo-code of AU strategy is in Algorithm 4. Algorithm 5 shows the combination of the proposed NBSMA and the AU strategy.

Experimental Results and Analysis
In this section, the performance of the proposed approaches is fully verified. The experiments include the verification of the transfer function, the comparison with the existing binary version of SMA and other optimization algorithms on the spectrum allocation problem, and the comparison of the running time. Take AUBSM as an example, the solution process of the algorithm will follow the process shown in Fig. 2.

Experiments Setting
MSR and MPF represented by Eqs. (7) and (8)  (1) There are 7 situations in the cognitive network, that is, the number of channels increases from 5 to 35, increasing by 5 each time.
To avoid contingency, each algorithm runs independently 30 times. There are two statistical measures of algorithm performance indicators: average (AVG) and standard deviation (STD). The parameter settings of each algorithm are shown in Table 4. In each network condition, a ranking of the performance of the algorithms is calculated. This experiment takes the solution with the greatest fitness as the optimal solution. Note that the best results will be bolded in Tables 6  to 11. The experiments are performed on a device with 8 GB of RAM and core i3 Intel CPU with 3.60 GHz and equipped with Windows 10 platform. The comparison of algorithms and the simulation of the network environment are coded by MATLAB 2017a. In the iterative optimization of the algorithms, the population size is set to 60, and the maximum iteration is 500. Each algorithm performs 30,000 evaluations on the fitness function. In order to show the details of the experiments more intuitively, Table 5 lists the related symbols summary. Table 6 shows the comparison of NBSMA and FMBSMA approaches on the three transfer functions of S4, S5, and V1 based on the MSR fitness function. Abdel-Basset et al.

Selection of Transfer Function
confirmed that FMBSMA is the best algorithm among the improved binary version of SMA [56]. Table 7 shows the comparison of NBSMA and FMBSMA on the three transfer functions based on MPF fitness function. Under the evaluation of the two objective functions, NBSMAS5 has the best performance in most cases. Although in the case of a small number of cognitive users ( N = 5 ), the performance of FMBSMAS5 is better. But with the increase in the number of cognitive users, the advantages of FMBSMAS5 disappear, and the performance of NBSMAS5 is always the best. Among the three transfer functions of S4, S5, and V1 used by NBSMA, the performance of NBSMAS5 is always the best, followed by NBSMAV1, and the performance of NBSMAS4 is the worst. The results of FMBSMA on these three transfer functions are the same as NBSMA under the assessment of MSR.
Under the MPF evaluation, when the number of cognitive users is large ( N ≤ 30 ), the performance ranking of FMBSMA on the three transfer functions is FMBSMAS4, FMBSMAV1, FMBSMAS5. But when the number of cognitive users is more than 5 and less than 30, the performance ranking is FMBSMAS5, FMBSMAV1, FMBSMAS4. The results of Tables 6 and 7 can draw the conclusion that the     S5 transfer function is the best in the NBSMA algorithm and the FMBSMA algorithm. And the performance of NBSMAS5 is better than FMBSMAS5. Figure 3 shows the mean of the rankings of the algorithms in the seven cases in the comparison results of Tables 6 and 7. Figure 3 can further support the above analysis and prove that the S5 transfer function has better performance in both algorithms. Figure 4 shows the ranking changes of the six approaches with the increase in cognitive users under the two fitness functions. It can be clearly seen that when the number of cognitive users is 5, FMBSMAS5 has the best performance under the two objective functions of network reward and fairness. But as the number of cognitive users increases, NBSMAS5 has the best performance. In subsequent experiments, S5 will be used as the transfer function.

Comparison of the Proposed Algorithms with Binary Versions of SMA
In this section, the proposed NBSMA and AUBSMA are compared with the three versions of binary SMA (BSMA,     Table 8 shows the comparison results based on MSR of the network. Table 9 shows the comparison results based on MPF. From Table 8, it can be seen that AUBSMA using the AU strategy has better performance overall. When there are few cognitive users ( N = 5 ), the performance of NBSMA, AUBSMA, FMBSMA, and AFBSMA is the same. When the number of cognitive users is 15 or 20, NBSMA has the best performance, but the performance of the AUBSMA is only slightly worse than NBSMA. The values of the two approaches on AVG are very close. In other cases, the performance of AUBSMA is the best. In Table 9, when there are few cognitive users ( N ≤ 10 ), the advantages of NBSMA and AUBSMA are not obvious. NBSMA has the best    6 The impact of the number of cognitive users on the performance of the algorithms performance when the number of cognitive users reaches 20. In other cases, the proposed AUBSMA approach has the best performance. With the increase in users, the gap between AUBSMA and other algorithms increases. Figure 5 depicts the mean of rankings under the two objectives of network reward and fairness. It can be seen that the performance of AUBSMA is the best, followed by NBSMA. Figure 6 shows how the ranking of the algorithm changes as the number of cognitive users increases under the two fitness functions. In the comparison based on MSR shown in Fig. 6a, when the number of cognitive users reaches 25, the performance of each algorithm tends to stabilize, and the ranking no longer changes. In the comparison based on MPF, when the number of cognitive users is 5, the five versions of the binary SMA algorithms have the same performance. Figure 7 shows the comparison of the convergence curves of NBSMA with AFBSMA and BSMA. It can be seen from Tables 8 and 9 that that among the existing binary SMA methods, AFBSMA and BSMA perform best on MSR and MPF, respectively. The convergence curves are the average MSR and MPF under seven network conditions. It can be found from Fig. 7a that NBSMA does not converge prematurely. After reaching 100 iterations, the convergence speed of NBSMA is slower than before, indicating that it has entered the local search stage. However, BSMA and AFB-SMA stopped converging at an early stage. Figure 7b shows the convergence curves of the three algorithms on MPF. Because it is different from the fitness function in Fig. 7a, BSMA shows a different convergence effect than in MSR.
Although AFBSMA applies the two-phase mutation strategy [56], its convergence performance is worse than BSMA. As can be seen from the figure, NBSMA is able to maintain a balance between exploration and exploitation.

Comparison of the Proposed Algorithms with Other Binary Algorithms
In this section, the proposed approaches of NBSMA and AUBSMA are compared with PSO [59], GA [7], and QGA [7] that have been used to solve the spectrum allocation. Tables 10 and 11 show the comparison results under the two objective functions of MSR and MPF. The results show that in the comparison of five algorithms, AUBSMA has the best performance, and the performance of NBSMA is slightly worse than that of AUBSMA. When the number of cognitive users is 10 or 15, NBSMA outperforms AUB-SMA in fairness. In most cases, the performance of GA is the worst. When the number of cognitive users is large, the performance of PSO is slightly better than QGA. Figure 8 depicts the mean of the ranking of the algorithm in seven situations under the two objective functions of MSR and MPF. It can be seen that AUBSMA has the best performance. Figure 9 shows the changes in the ranking of the algorithm with the increase in the number of cognitive users under the two fitness functions. Figure 9a shows that the performance of AUBSMA has always been better under the comparison based on the MSR. When the number of cognitive users is 10, NBSMA has the same excellent performance   as AUBSMA. But when the number of cognitive users is more than 10, the performance of NBSMA is worse than AUBSMA. The performance of GA has always been the worst. In the comparison based on fairness shown in Fig. 9b, NBSMA is better than AUBSMA in a few cases. But when the number of cognitive users increases and the AU strategy has played a role, AUBSMA performs best.    9 The impact of the number of cognitive users on the performance of the algorithms and cognitive users is also 20. The maximum number of iterations and the number of independent runs of the algorithm are also described in Sect. 4.1. It can be seen that under the same conditions, the shortest running time is NBSMA, followed by GA and AUBSMA. The reason why AUBSMA runs slightly longer than NBSMA is that it further applies the AU strategy on the basis of NBSMA.

Conclusion
In this work, NBSMA is proposed to solve the scheme of spectrum allocation. A transfer function that has not been used in BSMA algorithm is added to the comparison. The newly added transfer function is compared with the better two of the S-shaped and V-shaped transfer functions. Experiments prove that the newly added transfer function has a relatively superior effect. For agents that perform poorly in the search process, this paper proposes the strategy of adding unselected factors to mutate the solutions. AUBSMA, which combines NBSMA with this strategy, can achieve more superior performance than NBSMA. In terms of the goals of MSR and MPF, NBSMA and AUB-SMA proposed in this paper are superior to other optimization algorithms, such as BSMA, FMBSMA, AFBSMA, PSO, QGA, and GA in most network situations. The two approaches proposed in this paper have only been verified on spectrum allocation and have not been compared with numerous binary optimization algorithms on the benchmark platform. For future work, studying a dynamically changing transfer function may be very helpful to improve the performance of the binary optimization problem. In addition, the proposed approaches can be used to try to solve problems such as knapsack problems, feature selection, or fault location of the distribution network.
Author Contributions Ling Li contributed to conceptualization, methodology, software, writing-original draft. Tien-Szu Pan contributed to data curation, methodology. Xiao-Xue Sun contributed to software. Shu-Chuan Chu contributed to methodology. Jeng-Shyang Pan contributed to methodology, supervision.
Funding No funding support in this article.

Data Availability
The data used to support the findings of this study are included in the article.

Conflict of interest
The authors declare that they have no conflict of interest.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated 10  otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http:// creat iveco mmons. org/ licen ses/ by/4. 0/.