# A Combinatory Framework for Link Prediction in Complex Networks
## 1 Introduction  
A network [1] consists of nodes and edges connecting pairs of nodes, representing/simulating many systems of the real world, such as biological, railway, social, and others [2]. In these networks, nodes represent various entities such as people, cities, bacteria, industrial machines, sensors, actuators, etc. The edges of the networks represent interactions between two nodes--entities, such as interpersonal relationships in the case of a social network, roads or railways or airways in the case of an air traffic network, communication between machines, sensors, and actuators in an industrial environment, etc. A very important aspect concerning the various types of networks is link prediction, namely the task of estimating the likelihood of unobserved connections to be observed in the future in a network [3, 4]. Similarly, link prediction may refer to predicting the probability of connection between two nodes in a network that has not yet exhibited the corresponding edge, by using known information about the network nodes and network structure [5]. Over the last 25 years, many works have addressed the link prediction problem [6]. Link prediction is applicable in many types of networks. For biological networks such as protein interaction networks, metabolic networks, and food webs, link prediction can greatly reduce experimental costs [7]; for social networking sites, link prediction plays an important role in improving user loyalty and disease prediction [8]. The link prediction algorithm can be applied to solve the classification problem in partially marked networks, such as distinguishing the research field of scientific publications [9]. In an industrial environment comprising an Internet of Things network [10] with numerous interacting sensors, actuators, and machines, link prediction can reveal required communications and critical feedback loops. For different types of networks, more than one link prediction algorithm has been proposed, being more or less effective. When one applies two or more link prediction algorithms to a network, it is very likely that different estimation results will be obtained for the occurrence or absence of some edges in the future. Each algorithm evaluates the information it may have about the nodes of a network differently and often reaches different conclusions because it makes different estimates. It would be ideal to be able to have as many as possible of the correct estimates of two or more algorithms, i.e., to compose their results and optimize their predictions. In this way, their outcomes can be used in a complementary fashion. In this work, we tried to take advantage of the abundance of algorithms that exist in the field of link prediction [6]. We propose a framework with which we can compose two or more link prediction algorithms, among the many that exist in the literature. With the composition of the selected link prediction algorithms, a new enhanced predictor tool is built which gives better predictions than those of the individual algorithms. According to the framework we propose, in order to have the best possible link prediction, we adapt the enhanced predictor tool to a specific network type each time. This has the effect of taking into account the characteristics of the network and its attributes, which greatly contributes to having the most reliable link prediction possible. The adaptation is carried out initially by selecting two or more suitable algorithms for link prediction for the specific type of network under analysis. For example, we will use different link prediction algorithms for social networks and different ones for electrical networks or industrial networks. The algorithms we have chosen, which we call basic algorithms, are applied each time to the selected network, after we have removed some of its original edges, in order to create ground truth topologies using the results of each basic algorithm (a value ranking for each missing edge in the network) via a genetic algorithm (GA) [11; 12; 13] we have developed.