SciELO - Scientific Electronic Library Online

 
vol.26 número2Adaptation of Number of Filters in the Convolution Layer of a Convolutional Neural Network Using the Fuzzy Gravitational Search Algorithm Method and Type-1 Fuzzy LogicPerformance Evaluation of the Angle Modulated Particle Swarm Optimization Algorithm in a Heterogeneous Network in Shared Spectrum Access índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay artículos similaresSimilares en SciELO

Compartir


Computación y Sistemas

versión On-line ISSN 2007-9737versión impresa ISSN 1405-5546

Comp. y Sist. vol.26 no.2 Ciudad de México abr./jun. 2022  Epub 10-Mar-2023

https://doi.org/10.13053/cys-26-2-4232 

Articles of the thematic issue

Collaborative Recommender System Based on Improved Firefly Algorithm

Bharti Sharma1 

Adeel Hashmi2 

Charu Gupta3 

Amita Jain4 

11 Maharaja Surajmal Institute of Technology, Department of Information Technology, Delhi, India.

22 Maharaja Surajmal Institute of Technology, Department of Computer Science and Engineering, Delhi, India.

33 Bhagwan Parshuram Institute of Technology Department of Computer Science and Engineering, Delhi, India. charugupta0202@gmail.com.

44 Netaji Subhas University of Technology, Department of Computer Science and Engineering, Delhi, India. amita_jain_17@yahoo.com.


Abstract:

A recommendation system aims to capture the taste of the customer and predict relevant items which he/she may be interested in buying. There are many algorithms for generating recommendations in literature, however, most of them are non-optimal and do not have the capability to handle big data. In this paper, a collaborative recommendation system is proposed based on improved firefly algorithm. The firefly algorithm is used to generate optimal clusters which provide effective recommendations. The proposed algorithm works in two phases: Phase I which generates the clusters with firefly algorithm and Phase II gives real time recommendations. The firefly algorithm has been implemented in Apache Spark to give it the capability of handling big data. The combination of improved firefly-based clustering and Apache Spark makes it much faster and optimal than the state-of-the-art recommendation models. For experiments, movie-lens dataset has been utilized and different evaluation metrics have been used for performance analysis. The results show that the proposed method gives better results compared to existing methods.

Keywords: Clustering; collaborative filtering; firefly algorithm; recommender system; swarm intelligence

1 Introduction

Recommender systems aim to suggest the items a customer might like based on the information about his/her preferences and ratings. Recommendation system can be viewed as an extension to association/pattern mining. It has been observed if an item B is associated with item A then whenever any user buys item A, he is recommended item B and vice-versa [1, 2].

Recommendation systems are useful for both buyers and sellers since they reduce buyer’s effort and increase sales. These systems are put to use in many fields like e-commerce websites, news filtering, web searches, online dating, social networking sites [3, 4, 5]. Movie recommendation or movie rating prediction is a popular use-case of recommender systems [6, 7]. It is analyzed that the state-of-the-art methods are slow, non-scalable and their achieved accuracy needs improvement. In this paper, a fast and scalable method to generate recommendations is proposed which is optimized by improved firefly algorithm.

The traditional methods of clustering like k-means algorithm are slow, so firefly optimization algorithm is used to create clusters. This firefly clustering algorithm is made scalable and parallelized by utilizing Apache Spark tool.

Firefly is a population based algorithm which has some additional advantages as compared to single point search algorithms. Some of the most important fields of its application are optimization of dynamic and noisy environment and constraints, combinatorial and multi-objective optimization. Apart from the field of optimization it is also capable of solving classification problems that we come across in the fields of neural network, data mining and machine learning. Clustering techniques are used to group similar items or objects together based on unsupervised learning. In this paper, the data set is divided based on random cluster heads and then the cluster-heads are re-calculated iteratively for optimal use in Firefly algorithm. The detailed working methodology and mathematical foundation is given in section 3.

The remainder of the paper is organized as follows. Section 2 surveys the various recommender algorithms. Section 3 introduces the vanilla version of firefly algorithm. Section 4 explains the working of proposed algorithm, improved firefly algorithm to generate optimal recommendations. Section 5 provides experimental results and analysis. Section 6 presents the conclusion along with future directions.

2 Recommender Algorithms

Recommender algorithms fall into three categories [8, 9]: content-based, collaborative and hybrid as shown in Figure-1. Collaborative filtering is based on the concept of user-ratings, where ratings given to the products by every user are stored, and for a user X the persons who have similar rating pattern are identified, and those products are recommended which were given high ratings by this identified group of people.

Fig. 1 Types of Recommender Systems 

The recommender systems in addition to collaborative filtering also has approaches based on content-based methods on information retrieval, Bayesian inference, and case-based reasoning methods [10, 11]. These methods take the actual content or attributes of the items to make recommendation (instead of or in addition to patterns with user rating). Content-based algorithms recommend to a customer those items which are similar to items that the same customer has bought or searched in the past. Hybrid recommender systems [12] have also emerged as a recommendation technique combining content-based and collaborative algorithms into composite systems that build on the strengths of their algorithmic components.

Content-Based Filtering systems recommend an item based on the contents of that item. If a user has previously searched for, or looked at some items with attribute ‘A’ then more items with attribute A will be recommended. Thus recommendations are made by comparing the contents of an item with the profile of the target user. The profile of a user is built from his history of interaction with the system by modeling the user’s preferences. The attributes can be assigned automatically or manually. The attributes have to be represented such that the user profile and the items can be compared to extract meaningful relations. A learning algorithm which can create the user profile based on items bought/viewed is also needed [13].

Collaborative Filtering (CF) is a process in which ratings are obtained from the users and recommendations to a new user are given based on opinions of other users with similar taste. The items that are recommended to a user are based upon his/her similarity to other users. For example, if two users X and Y have shown similar preferences in the past then the items which are liked by X in the future will be recommended to Y and vice versa. So basically, this algorithm assumes that if some user A has the same view as user B on an issue then A is more likely to have the same view as B on any other issue as well [14]. Collaborative Filtering based approach can be further divided into two categories: Memory-based and Model-based.

Memory-Based approach is a simple approach which makes use of a similarity measure to find users/items which are related to the active user or to the items bought/viewed by the active user. The methods that can be used to find out the similarity between two users are Euclidean distance, cosine similarity, correlation, etc.

  1. User-based approach: User–user collaborative filtering was the first of the automated CF approach. It was first introduced in the GroupLens Usenet article recommender [15]. Then those items which have been highly rated by most of these users are identified and recommended to the active user [16, 17, 18].

  2. Item-based approach: Item-based collaborative filtering models the ratings item-wise and not user-wise. An item-item matrix is built to determine relationship between every pair of items. A similarity measure like correlation is used to build this matrix. When a customer rates an item A then this matrix is looked up to find the items which have highest similarity with A in the matrix. Slope [19, 20]

Model-Based approach is basically dependent upon machine learning, data mining algorithms to make predictions. In this approach the aim is not to find most similar users/items, but to develop a model to classify the user and recommend highly rated items of other users belonging to the same class. The machine learning algorithms used in model-based approach are clustering, Bayesian networks, singular value decomposition (SVD), etc. This model has advantage over memory-based approach in the sense that it provides faster recommendations, handles sparsity better than memory-based ones, scales with dataset and has better prediction performance.

Many recommender systems combine the memory-based and model-based collaborative filtering algorithms which can be called hybrid collaborative filtering. This type overcomes the limitations of both the other types but increases complexity and is expensive. The hybrid approach can be used to overcome some of the common problems that occur when either of the other two approaches is used independently. It has been observed that the hybrid approach provides more accurate recommendations than either of the two approaches [21]. A popular example of hybrid approach is content-boosted collaborative filtering [22]. Apart from these popular techniques, there are some other recommendation techniques as well.

Knowledge-Based Recommenders. These recommender systems area specific kind of recommender systems that are based on prior knowledge about all the items that are available and also knowledge about user preferences [23].

Demographic recommenders. As the name suggests, these recommender systems provide recommendations based on a demographic profile of the user. The ratings given by users in a particular demographic section are used to provide recommendations to a user of that particular section. Here are also few problems which are encountered by recommender systems like cold start, sparsity, trust and privacy [24].

3 Firefly Algorithm

Firefly algorithm developed by Yang in 2008 [25] is a meta-heuristic algorithm used to solve optimization problems. Firefly algorithm is among those stochastic algorithms which follow randomization approach to search the solution in the data set. In this section, the biological, mathematical foundation and behavior of firefly is presented. It also explains the intuition and foundation of clustering with firefly algorithm.

3.1 Biological Foundation and Behavior

Fireflies are distinguished by their flashing light which is produced by a biochemical process also known as bioluminescence [26, 27, 28] . The rhythmic flashes are used as signals for mating [29, 30]. Apart from attracting the mating partners, these bright lights are used as warning signals from potential predators.

Firefly algorithm produced use the following assumptions [25]:

  • − The brightness of the firefly corresponds to the objective function.

  • − Each firefly is attracted to all other fireflies as they are unisex.

  • − A brighter firefly is more attractive, and a less bright firefly will move towards a firefly which is brighter. The attractiveness/brightness decreases as the distance between the fireflies’ increases.

3.2 Mathematical Formulation

The light intensity I(r) varies according to the inverse square law:

I(r)=Is/r2, (1)

where, Is is the light intensity at source.

The light intensity I varies with distance r for a stated medium with absorption coefficient λ, acc. to the equation:

I=I0eλr, (2)

where, I0 is the actual light intensity.

The Eq-1 and Eq-2 can be combined to give the following equation:

I=I0eλr2, (3)

Taking the above equations into consideration, the attractiveness β of a firefly can be defined as:

β=β0eλr2, (4)

where β0 is the attractiveness of the firefly at r=0.

In the real time environment, the attractiveness function of the firefly i.e. β(r)can be any monotonically deceasing function described in the generalize form as:

β(r)=β0eλrm(m1), (5)

The Cartesian distance (r) is the distance between any two random fireflies i and j at location xi and xj, respectively:

rij=xixj=k=1d(xi,kxj,k)2, (6)

where, xi,k is the kth dimension of the spatial coordinate x of the ith firefly.

In 2-dimensional case, we have:

rij=(xixj)2(yiyj)2, (7)

Firefly i is attracted to another more attractive firefly j according to equation (8):

xi=xi+βeλr2(xjxi), (8)

The value of the parameters λ plays a significant role determining the speed of convergence and it follows the range of 0 to 10.

The pseudo-code for firefly algorithm is given below in Figure-2.

Fig. 2 Firefly Meta-heuristic 

The above algorithm is only for exploitation part (finding the local best solution). For exploration part (to find global solution), we make use of the Levy flight instead of the traditional method. To make the process of exploitation faster, the less bright fireflies are moved towards brightest firefly only instead of all the brighter fireflies [31, 32].

3.3 Clustering Using Firefly Algorithm

In this section, the main aim is to calculate cluster heads by minimizing the sum of calculated distances of the patterns with their cluster heads [34, 35]. The function to be minimized during clustering process can be described as given in Eq-9:

J(k)=k=1Mick(xick), (9)

where M is the no. of clusters, ck is the cluster head of kth cluster, and xi is a data point belonging to the cluster.

The cluster head of a cluster is the centroid of the cluster. The centroid of a cluster with n points can be calculated by Eq-10:

ck=ickxink, (10)

where nk is number of points in the kth cluster.

By performing clustering, we can divide a dataset into different groups based on some similarity measures. Most widely used similarity measures are based on distance calculation between the dataset and the cluster heads [36].

The cluster heads are calculated by minimizing the Euclidean distance between each data instance Xi and the cluster center ck. The cost function for the pattern i is given by Eq-11:

fi=1Dj=1Dd(xj,piCq), (11)

where D is the count of data instances, and piCq defines the class q to which the instance i belongs. The proposed pseudo-code for clustering through firefly algorithm is given in Figure-3.

Fig. 3 Proposed Firefly clustering algorithm 

4 Proposed Firefly Recommendation System (FRS)

The proposed Firefly Recommendation System i.e. (FRS) works in two phases which includes training phase and recommendation phase. Phase I is an offline process in which rating matrix is produced from the collected data and clusters are obtained using firefly clustering algorithm. Phase II is a real-time process in which the recommendations for current user are generated.

In this phase, the active user is assigned a recommendation cluster and recommendations are generated.

Phase I: Training Phase

The movie-lens dataset has 100,000 ratings of 943 users on 1682 movies. The movies are classified into 19 genres viz. action, comedy, horror, etc. The dataset is divided into two parts, 80% as training data and 20% as test data.

The data is converted into a 943X1682 matrix. The dataset need not be normalized as the ratings are in the scale of 1-5. However, the dataset is sparse (only 100,000 ratings out of possible 1,586,126 available), so we need to replace the missing values by 0.

The rating matrix is divided into K clusters using firefly clustering technique. N fireflies are initially generated, each having K cluster-heads.

Each cluster-head has 1682 dimensions having values in the range 1-5, which are generated at random.

For each firefly, K clusters are generated by assigning each point in the dataset to the nearest cluster-head in the firefly (similarity measure used is Euclidean distance), and the WCSS (within-cluster sum of squares) is calculated.

The firefly with the lowest WCSS is considered to be the brightest firefly, and the less bright fireflies are moved towards the brightest fireflies.

The brightest firefly is also moved at random to a position which further increases the intensity of the brightest firefly.

This process is repeated to certain number of iterations, and the fittest firefly after all these iterations is considered to be the final solution (clusters).

Phase-II: Process of recommendation for active users

To generate recommendations for an active user, a cluster (among k-clusters) is to be selected. A simple approach is to select the cluster whose centroid has highest similarity with the active user e.g. the centroid with lowest Euclidean distance with the active user. If there are large numbers of clusters, then multiple clusters can also be used for better results. In such a case, the probability that a cluster is chosen for generating recommendations is given by Eq-12:

Pi=ρidii=1kρidi, (12)

where, ρi is the density of the cluster, and di is the Euclidean distance between active user profile and centroid of cluster:

ρi=Nii=1kNi, (13)

where Ni is the number of users in cluster i.

The recommendations are provided from the cluster with highest probability or from multiple clusters which lie in particular probability range. The latter approach may provide the active user recommendations which are different and make him interested in trying something new.

After selecting the clusters for recommendations, next step is to predict the ratings for un-rated items of the active user and recommending the items whose predicted value is high. If there is only one chosen cluster, then the values of unrated items is simply the average of the ratings given for corresponding item by all the users in the cluster.

But if multiple clusters have been selected then we also consider the quality of ratings in each chosen cluster. A criterion of the rating quality of a cluster is the number of ratings available to each item in the cluster, higher the density of ratings better the quality of the cluster:

Qi=p==1tripnit, (14)

where, Qi is the quality of cluster i, ni is the number of users in the cluster i, t is the number of items, and rip is the count of ratings available for item p in the cluster i.

5 Experimental Results and Analysis

For performance analysis of our recommendation system framework we calculate various metrics like MAE, SD, RMSE and t-value. Various graphs and tables of the calculated results are shown for better understanding of the framework.

MAE: Mean Absolute Error

We calculated mean absolute error on the dataset of movielens dataset by using Eq-15:

MAE=|pijtij|M, (15)

where, M is no. of movies in the dataset, pij is predicted value for i user on j items, and tij is true rating.

The results are shown in Table 4 for the calculated MAE for different values of K. The outcome as observed from this table is that as we increase the number of clusters, MAE values gradually decrease.

Table 1 Snapshot of Movielens dataset 

Movie Movie Movie
#1 #2 #1682
User#1 5 3 0
User#2 4 0 0
. . . .
. . . .
. . . .
User#943 0 5 0

Table 2 Sample Snapshot of Fireflies (20 fireflies with 3 cluster-heads each) 

Movie Movie Movie
#1 #2 #1682
Firefly#1 Cluster-Head #1 2 3 3
Cluster-Head #2 3 1 5
Cluster-Head #3 4 1 2
. . . . . .
Firefly#20 Cluster-Head #1 5 1 1
Cluster-Head #2 1 2 2
Cluster-Head #3 2 4 4

Table 3 Sample of cluster assigned to each user in fittest firefly (assuming that there are 3 clusters in each firefly) 

User User User User
#1 #2 #3 #943
Cluster# 3 1 3 2

Table 4 Performance based on cluster size 

No. of clusters MAE SD RMSE t-value
(k)
10 0.8 0.184 1.3 3.39
20 0.77 0.136 1.28 3.15
30 0.76 0.134 1.27 2.91
40 0.74 0.133 1.26 2.87
50 0.72 0.127 1.25 2.84
60 0.71 0.115 1.24 2.81
70 0.69 0.112 1.23 2.81
80 0.63 0.107 1.21 2.77
90 0.58 0.102 1.15 2.75
100 0.58 0.102 1.15 2.75

SD: Standard Deviation

By using Eq-16, we calculate SD on movie lens dataset:

SD=i=1k{j=1ni(l=1Dll¯D)}ni, (16)

The results of SD with different cluster count are shown in Table-4. The outcome of this calculated metrics is that as the number of cluster increases their SD value decreases.

RMSE: Root Mean Square Error

We calculated RMSE on movie lens dataset by using Eq-17:

RMSE=(pt)2n, (17)

where, p is the predicted value, t is the actual value, n is the number of predicted ratings.

The results after calculation of RMSE for different cluster count are represented in Table-4. It is observed that the RMSE value gradually decreases as we increase the number of clusters like other metrics like MAE and SD.

t-value

This t-value basically depends on the values of mean obtained for different clusters and their calculated SD values. We calculate t-value (for significance level of 5%) of the dataset by using Eq 18:

t-value=i=1kj=1k(X¯iX¯j(SDi)2ni+(SDj)2nj) (18)

Similar to the other matrices, t-value also decreases for the same reason as mentioned above. Results are shown in Table 4.

The performance of proposed firefly-based recommendation system was also compared with the other popular clustering-based techniques like k-means, PSO (Particle Swarm Optimization), and ACO (Ant Colony Optimization), Bat algorithm, Cuckoo search. All the algorithms were run for 100 iterations. The performance of firefly-based recommendation was slightly better than all other techniques as can be seen in the Table 5 and Figure-4.

Table 5 Performance comparison with other algorithms (k=90) 

k-means PSO ACO Bat Cuckoo Firefly
MAE 0.69 0.7 0.7 0.67 0.71 0.58
SD 0.113 0.113 0.112 0.107 0.114 0.102
RMSE 1.23 1.23 1.22 1.19 1.23 1.15
t-value 2.81 2.81 2.81 2.76 2.81 2.75
Precision 0.53 0.52 0.51 0.54 0.52 0.58
Recall 0.43 0.41 0.41 0.44 0.41 0.47

Fig. 4 Performance of proposed algorithm on changing cluster size 

6 Conclusion and Future Work

This paper proposed an improved firefly meta-heuristic based clustering approach for recommendation systems. A clustering based recommender system should be able to generate optimal clusters, hence firefly algorithm was utilized. The original firefly algorithm has been improved by making it faster by moving the less bright firefly towards only the brightest firefly instead of all the brighter fireflies.

For exploration, Levy flight has been used instead of random function. For fast results, the algorithm is parallelized using map-reduce to enable it to be executed in a scalable environment.

The performance of the proposed approach is evaluated using various metrics and the results indicate that the approach generates highly relevant recommendations. In the future work, other swarm optimization methods like whale optimization, shark smell optimization, etc. can be utilized.

The optimization methods other than swarm optimization like neural networks can also be utilized. There are various ways in which the recommendations from optimal clusters can be generated, these also can be explored.

References

1. Kidzinski, L. (2011). Statistical foundations of recommender systems. Master Thesis, Faculty of Mathematics, Informatics and Mechanics, University of Warsaw. [ Links ]

2. Deshpande, M., Karypis, G. (2004). Item-based top-N recommendation algorithms. ACM Transactions on Information System, Vol. 22, No. 1, pp. 143–177. DOI: 10.1145/963770.963776. [ Links ]

3. Li, P., Yamada, S. (2004). A movie recommender system based on inductive learning. IEEE Conference on Cybernetics and Intelligent Systems, Vol. 1, pp. 318–323. DOI: 10.1109/ICCIS.2004.1460433. [ Links ]

4. Wei, K., Huang, J., Fu, S. (2007). A survey of e-commerce recommender systems. International Conference on Service Systems and Service Management, pp. 1–5. DOI: 10.1109/ICSSSM.2007.4280214. [ Links ]

5. Porcel, C., Herrera-Viedma, E. (2010). Dealing with incomplete information in a fuzzy linguistic recommender system to disseminate information in university digital libraries. Knowledge-Based Systems, Vol. 23, No. 1, pp. 32–39. DOI: 10.1016/j.knosys.2009.07.007. [ Links ]

6. Porcel, C., Moreno, J.M., Herrera-Viedma, E. (2009). A multi-disciplinary recommender system to advice research resources in University Digital Libraries. Expert Systems with Applications, Vol. 36, No. 10, pp. 12520–12528. DOI: 10.1016/j.eswa.2009.04.038. [ Links ]

7. Goldberg, D., Nichols, D., Oki, B.M., Terry, D. (1992). Using collaborative filtering to weave an information tapestry. Communications of the ACM, Vol. 35, No. 12, pp. 61–70. DOI: 10.1145/138859.138867. [ Links ]

8. Deshpande, P.K., Banchhor, C. (2014). Survey on recommender systems. International Journal of Engineering Research and Development, Vol. 10, No. 6, pp. 49–54. [ Links ]

9. Felfernig, A., Jeran, M., Ninaus, G., Reinfrank, F., Reiterer, S., Stettinger, M. (2014). Basic approaches in recommendation systems. Recommendation Systems in Software Engineering, Springer, pp. 15–37. DOI: 10.1007/978-3-642-45135-5_2. [ Links ]

10. Schafer, J.B., Konstan, J.A., Riedl, J. (2001). E-commerce recommendation applications. Data Mining and Knowledge Discovery, Vol. 5, pp. 115–153. DOI: 10.1023/A:1009804230409. [ Links ]

11. Pazzani, M., Billsus, D. (2007). Content-based recommendation systems. The Adaptive Web, 325–341. [ Links ]

12. Burke, R. (2002). Hybrid recommender systems: Survey and experiments. User Modelig and User-Adapted Interaction, Vol. 12, No. 4, pp. 331–370. DOI: 10.1023/A:1021240730564. [ Links ]

13. Smyth, B. (2007). Case-based recommendation. The Adaptive Web, Lecture Notes in Computer Science, Vol. 4321, pp. 342–376. DOI: 10.1007/978-3-540-72079-9_11. [ Links ]

14. Hill, W., Stead, L., Rosenstein, M., Furnas, G. (1995). Recommending and evaluating choices in a virtual community of use. Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 194–201. [ Links ]

15. Resnick, P., Lacovou, N., Suchak, M., Bergstrom, P., Riedl, J. (1994). GroupLens: an open architecture for collaborative filtering of netnews. ACM conference on Computer supported cooperative work, pp. 175–186. DOI: 10.1145/192844.192905. [ Links ]

16. Vucetic, S., Obradovic, Z. (2000). A regression-based approach for scaling-up personalized recommender systems in e-commerce. Workshop on Web Mining for E-Commerce (WEBKDD’00), pp. 1–9. [ Links ]

17. Zhao, Z.D, Shang, M.S. (2010). User-based collaborative-filtering recommendation algorithms on Hadoop. Third International Conference on Knowledge Discovery and Data Mining, pp. 478–481. DOI: 10.1109/WKDD.2010.54. [ Links ]

18. Zhu, X., Ye, H., Gong, S. (2009). A personalized recommendation system combining case-based reasoning and user-based collaborative filtering. Chinese Control and Decision Conference, pp. 4026–4028. DOI: 10.1109/CCDC.2009.5192712. [ Links ]

19. Sarwar, B., Karypis, G., Konstan, J., Riedl, J. (2001). Item-based collaborative filtering recommendation algorithms. Proceedings of the 10th international conference on World Wide Web, pp. 285–295. [ Links ]

20. Sun, Z., Luo, N. (2010). A new user-based collaborative filtering algorithm combining data-distribution. Information Science and Management Engineering (ISME), Vol. 2, pp. 19–23. DOI: 10.1109/ISME.2010.48. [ Links ]

21. Murugasamy, K., Murugasamy, K. (2016). Hybrid clustering using firefly optimization and fuzzy c-means algorithm. Circuits and Systems, Vol. 7, No. 9, p. 2339–2348. DOI: 10.4236/cs.2016.79204. [ Links ]

22. Shardanand, U., Maes, P. (1995). Social information filtering: algorithms for automating “word of mouth”. Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 210–217. [ Links ]

23. Vozalis, E.G., Margaritis, K.G. (2003). Recommender systems: An experimental comparison of two filtering algorithms. Proceedings of the 9th Panhellenic Conference in Informatics-PCI, pp. 152–166. [ Links ]

24. Sarwar, B.M. (2001). Sparsity, scalability, and distribution in recommender systems. Doctoral Dissertation, University of Minnesota. [ Links ]

25. Yang, X.S. (2010). Nature-inspired metaheuristic algorithms, 2nd ed. Luniver Press. [ Links ]

26. Zang, H., Zhang, S., Hapeshi, K. (2010). A review of nature-inspired algorithms. Journal of Bionic Engineering, Vol. 7, No. 4, pp. S232-S237. DOI: 10.1016/S1672-6529(09)60240-7. [ Links ]

27. Yang, X.S. (2010). Firefly algorithm, stochastic test functions and design optimisation. International Journal of Bio-Inspired Computation, Vol. 2, No. 2, pp. 78–84. [ Links ]

28. Sajwan, M., Acharya, K., Bhargava, S. (2014). Swarm intelligence based optimization for web usage mining in recommender system. International Journal of Computer Applications Technology and Research, Vol. 3, No. 2, pp. 119–124. DOI: 10.7753/IJCATR0302.1007. [ Links ]

29. Yang, X.S., He, X. (2013). Firefly algorithm: recent advances and applications. International Journal of Swarm Intelligence, Vol. 1, No. 1, pp. 36–50. [ Links ]

30. Fister, I., Fister Jr., I., Yang, X.S., Brest, J. (2013). A comprehensive review of firefly algorithms. Swarm and Evolutionary Computation, Vol. 13, pp. 34–46. DOI: 10.1016/j.swevo.2013.06.001. [ Links ]

31. Khan, W.A., Hamadneh, N.N., Tilahun, S.L., Ngnotchouye, J.M. (2016). A review and comparative study of firefly algorithm and its modified versions. Optimization Algorithms-Methods and Applications, IntechOpen. DOI: 10.5772/62472. [ Links ]

32. Kumar, M.S., Prabhu, J. (2019). Hybrid model for movie recommendation system using fireflies and fuzzy c-means. International Journal of Web Portals (IJWP), Vol. 11, No. 2, pp. 1–13. DOI: 10.4018/IJWP.2019070101. [ Links ]

33. Yang, X.S. (2010). Firefly algorithm, Lévy flights and global optimization. Research and development in intelligent systems XXVI, Springer, pp. 209–218. DOI: 10.1007/978-1-84882-983-1_15. [ Links ]

34. Senthilnath, J., Omkar, S.N., Mani, V. (2011). Clustering using firefly algorithm: performance study. Swarm and Evolutionary Computation, Vol. 1, No. 3, pp. 164–171. DOI: 10.1016/j.swevo.2011.06.003. [ Links ]

35. Hassanzadeh, T., Meybodi, M.R. (2012). A new hybrid approach for data clustering using firefly algorithm and K-means. 16th CSI International Symposium on Artificial Intelligence and Signal Processing (AISP), pp. 7–11. DOI: 10.1109/AISP.2012.6313708. [ Links ]

36. Mohammed, A.J., Yusof, Y., Husni, H. (2015). Determining Number of Clusters Using Firefly Algorithm with Cluster Merging for Text Clustering. Advances in Visual Informatics (IVIC), Lecture Notes in Computer Science, Vol. 9429, pp. 14–24. DOI: 10.1007/978-3-319-25939-0_2. [ Links ]

Received: June 15, 2021; Accepted: November 17, 2021

Creative Commons License This is an open-access article distributed under the terms of the Creative Commons Attribution License