# The Efficiency of a DoParallel Algorithm and an FCA Network Graph Applied to Recommendation System
## Materials and Methods
### Design of the Proposed Method  
This section describes in detail the scenario of the proposed method. The main idea of this article is to solve the cold-start problem and solve the problem of execution that consumes a lot of time on a large-scale dataset. The cold-start issue concerns the personalized recommendations for users with no or few histories (new users). Hence, providing advice to users with little history becomes a difficult problem for collaborative filtering models because their learning and predictive ability are limited. According to the ordinary idea of the user who has the same feature information or attribute or personalized information may like the same items. Figure 3 shows the detail of the proposed method. Process 1 used the personalized information of the user in the movie lenses dataset, which divides into two parts as the training part and testing part. The information in the training data used to create the table of a formal context. After the formal context generated, then the Lattice Miner 2.0 application was used to create the concept lattice. The concept lattice presents the line diagram and obtainable by collecting all objects from the concept node to the lattice infimum, and its intent is available by visiting all attributes from the concept node to the lattice supremum. Later, the FCA network graph will create via the help of the association rule function in the Lattice Miner 2.0 that use for checking the relationship between objects (users) in the concept lattice. Figure 3: Proposed method scenario. In process 2, After the FCA network graph was generated from process 1. The \(k\)-clique method, which is the potential mechanism of the social network analysis for detecting the community, is used to identify and divide the users in the FCA network graph into various communities. Later, the data were stored in the dataset. In process 3, once a new user joins the system, their personalized information used to find suitable communities by the comparison of the similarity of the new user to the communities stored in the dataset and user's personalized information from the movie lenses dataset. In this step:  
* First, the \(k\)-nearest neighbor method was employed to find the matching community for the new users, as shown in Figure 4a. * Second, the betweenness centrality method finds the matching community for the new users, as shown in Figure 4b. * Finally, the combination of the \(k\)-nearest neighbor method and the betweenness centrality method was used to assign suitable communities to the new users, as shown in Figure 4c. In process 4, when the new user knew their suitable communities. The data from the movie lenses dataset and data from suitable communities is used to create a list of recommended movies. In this step, the association rule mining method is one of the various powerful mechanisms in the data mining method. This mechanism is used to calculated and find the movie from the suitable communities of the new users. Finally, the list of recommended movies from the previous process was recommended to the new users. In this article, the below algorithm is used to split the proposed method algorithm into the various parts, then executed them at the same time in the multiple cores of CPU. This idea can solve the problem of the execution of consuming a lot of time. The algorithm used to detect the community using the \(k\)-clique method based on doParallel processing is [Algorithm 1]. ```
Algorithm Detects the community Input: FCA graph Output: A list of community Step 1: initialize TD, Comu Step 2: TD \(\leftarrow\) FCA graph Step 3: c1 \(\leftarrow\) makeCluster(5) Step 4: registerDoParallel(c1) Step 5: ls \(\leftarrow\) foreach(icount(iters)) %dopar% { Step 6: to.ls \(\leftarrow\)\(k\)CliqueFun() Step 7: to.ls \(\leftarrow\) summary(to.ls) } Step 8: stopCluster(c1) Step 9: Comu \(\leftarrow\) ls
```  
**Algorithm 1** Detects the community using a \(k\)-clique algorithm based on doParallel processing  
Figure 4: Finding the appropriate community for the new user.