# A functional complexity framework for the analysis of telecommunication networks

A functional complexity framework for the analysis of telecommunication networks Abstract The rapid evolution of network services demands new paradigms for studying and designing networks. We propose a framework to investigate the underlying mechanisms of wireless network functions. This framework isolates and analyses a network function as a complex system. We propose functional topologies to visualize and systematically study the relationships between system entities. We also define a complexity metric $$C_F$$ (functional complexity), which quantifies the variety of structural patterns and roles of nodes in the topology. This complexity metric provides a wholly new approach to study the operation of telecommunication networks. We study the relationship between $$C_F$$ and graph structures by analysing graph theory metrics in order to recognize complex organizations. $$C_F$$ is equal to zero for both a full mesh topology and a disconnected topology. We show that complexity is high for a structure with shorter average path length and higher average clustering coefficient. We make a connection between functional complexity, robustness and response to changes that may appear in the system configuration. We also make a connection between the implementation and the outcome of a network function, which correlates the characteristics of the outcome with the complex relationships that underpin the functional structure. 1. Introduction The transition of humanity into the information age has precipitated the need of new paradigms to comprehend and overcome a new set of challenges. Specifically, the telecommunications networks that underpin modern societies represent some of the largest scale construction and deployment efforts ever attempted by humanity, with renovations occurring nearly continuously over the course of decades. The result is networks that consist of numerous subsections, each of which following its own trajectory of development, commingled into a complex cacophony. Considering the high degree of heterogeneity and dense interplay of network elements in proposed 5G and internet of things (IoT) systems, achieving holistic understanding of network operation is poised to become an even more challenging prospect in the near future. The focus of our article is to provide the paradigms necessary for comprehension of the multi-faceted, intermingled and vital foundation of new networks by introducing a metric that quantifies the organizational structure of network functions. Every telecommunication network is designed to provide different services. Network functions are the building blocks of these services. Understanding the mechanisms that provide network functions implies understanding the function and thus the network itself. In order to analyse functional aspects of a telecommunication network, we introduce a framework to map the network function into a functional topology. The functional topology enables a complex systems approach to analyse functions of telecommunications networks. We also introduce a metric which quantifies the complexity1 of a particular implementation of a network function. Specifically, the proposed metric analyses the underlying communication between network entities, which provide the network function. The main contributions of this article are: We introduce a framework, which enables the functional analysis of a telecommunication network; We provide several examples that show how to map a network function into a functional topology; We provide a new complexity metric that quantifies the organizational structure of a telecommunication network function. The rest of the article is organized as follows. Section 2 presents the literature related to our work. In Section 3, we introduce our network function framework, and we map two network functions into functional topologies. Section 4 introduces our complexity metric (i.e., functional complexity). In Section 5, we examine the main properties of the functional complexity metric, and we investigate common graph structures that describe complex and non-complex functional relations. Section 6 concludes our analysis, and we additionally discuss current and future work related to this article. 2. Literature review Using complex systems science, we can analyse network functions holistically. This interdisciplinary field draws attention from researchers in physics, mathematics, engineering and many others. As we plan future networks, the experience of these fields is useful to draw upon. Articles like [1–7] testify about the interdisciplinary nature of the complex systems analysis. The authors of [8] discuss issues of different research areas. This discussion leads to the conclusion that different scientific fields face similar problems. An interdisciplinary approach, which implies borrowing solutions from other scientific fields, would save time and effort that researchers put into solving problems. Different sciences faced the problem of increasing complexity differently. In [9] the author presents a categorization of different complexity metrics and emphasises the interdisciplinary applicability of these metrics. The authors of [10–14] focus on community detection, which allows us to analyse the structural organization of a complex system. In [10] the authors investigate the underlying interactions between mobile phone users, which determine the affiliation to a community. Similarly, in [13, 14] the authors focus on the modularity of the system. The authors of [11, 12] focus on links rather than nodes, which enables the detection of overlapping communities. Additionally, their approach allows them to analyse the hierarchical structure of a complex system. In contrast, we focus on the structural features of the graph representation of a network function implementation, rather than on community detection. The authors of [15–17] emphasize the importance of the evolution of tools, we use to analyse and understand complex systems. The authors of [15] and [16] focus on social networks and user behaviour. In [15], the authors propose a data-to-model process which allows them to analyse complex social interactions. This approach enables the prediction of the developments of eventual disasters in the system, which makes it possible to prepare the disaster recovery scenarios. The authors of [16] propose an agent-based framework for modelling competitive and cooperative behaviour under conflict [i.e., common-pool resource (CPR) Dilemma]. The framework allows them to study how and why we reach some outcomes, and to determine the conditions needed to achieve desirable outcomes in a complex system. In [17], the authors analyse the human travel patterns based on the trajectory of 100,000 mobile phone users. The understanding of the mobility patterns allows them to predict the movement and therefore the influence on spreading viruses, urban planning, mobile network planning, etc. We propose a framework that treats the implementation of a network function as a complex system, which allows us to focus on the network function itself, rather than the impact of the unpredictability of human behaviour on the network. Due to our interest in telecommunication networks, articles like [18] and [19] are of particular interest to us because they emphasize the growing complexity of the next generation of communication networks, which demands the development of new frameworks and tools to model and analyse these networks. The authors of [18] propose an agent-based modelling framework to model and analyse the performance of sensor networks. While the authors of [18] focus more on the theory behind complex systems and agent-based modelling as a tool to model and analyse such systems, the authors of [19] apply agent-based modelling to a real world IoT problem. In [19], the authors analyse the impact of MAC protocol selection on communication performance in terms of spectrum utilization and accuracy of information. Another approach to analyse and understand complex networks is graph theory. In [20–22], the authors emphasize the importance of graph theoretical tools to get a better understanding of the increasing complexity of systems. In [20], the author highlights the main difference between complex and non-complex graphs and introduces graph theoretical metrics to categorize, analyse and understand certain properties of these graphs. The author of [21] discusses how eigenvalues and structures of graphs are interrelated. The authors of [22], discuss different tools to model and extract knowledge from complex graph structures. The main focus in [22] is graph mining, but the tools and metrics (e.g., graph generation, graph patterns, community structure, clustering, path-length) used to model complex relationships between entities are very important in complex systems science, and therefore, we compare our metric to some of these metrics. Authors of [23–27] analyse telecommunications networks as complex systems. The approach in [23, 24] involves analysis of complex phenomena in telecommunication networks (spreading patterns of mobile viruses and connection strengths between nodes in a social network), which are the result of complex user behaviour. The authors of [26, 27] analyse the complexity of outcomes of a self-organizing frequency allocation algorithm. In [27], they analysed a relationship between robustness and complexity of the outcome. In contrast to the approach in [23–27] the work, we propose here targets the network function itself, which means that we analyse the mechanisms that enable complex user behaviour and system outcome. We use the same frequency allocation algorithm proposed in [27] to show an example of how to map a network function (i.e., frequency allocation) into a functional topology. 3. Network function framework The approach to planning, configuration, management and optimization of network functions is changing and moving towards self-organization. The traditional approach to most network functions involves the use of central control or optimization. However, the increasing heterogeneity of wireless technologies contributes to the rapid evolution, change and growth of networks that makes the centralized approach unsustainable. If controlled in a self-organizing way, network functions such as handover, transmit power control, user allocation, data rate control and frequency allocation provide more flexibility and robustness in response to changes that may appear in the network [28]. In order to specify and analyse the complexity of a network function, we introduce the functional framework. Our framework represents an abstraction of a telecommunication network modelling its operation by capturing all elements, i.e., nodes and connections, necessary to perform a given function. Our framework includes functional topologies, which are graphs created based on the functional connectivity between system entities. In contrast to logical topologies, which refer to data flows between network nodes, functional topologies depict the connectivity pattern of a network function, which implies a broader meaning to nodes and links. A node in our topology represents a functional entity of a network node or any information source that is part of the given network function. The links indicate dependencies between nodes. The topology as a whole depicts the specific implementation of the network function. The topology allows us to apply our model to analyse the complexity of the implementation. The functional complexity quantifies the organizational structure by analysing the variety of relationships between system entities and roles that these entities have in the topology. As an instructive example, we focus on self-organization from a frequency allocation perspective. More precisely, we use the frequency allocation algorithm from [27] to describe the process of mapping a network function into a topology and in the end to calculate the functional complexity. The self-organizing frequency allocation algorithm considers a cellular network as a two-dimensional cellular automaton. Each cell in the model represents a self-organizing wireless system. The algorithm works based on the local information that nodes gather from their neighbours. Briefly, every cell senses the given frequency channels, and allocates a channel with no interference. For more details about the algorithm the reader is referred to [27]. We focus on two frequency allocation algorithms (self-organizing algorithm and random frequency assignment) from [27]. Herein, we analyse the implementation rather than the outcome of the function. Each autonomous network is modelled as a node in a lattice which means that the physical topology is the same for both implementations. The physical topology according to the Moore neighbourhood is shown in Fig. 1. Different implementations of the network function are mapped into different functional topologies. Fig. 1. View largeDownload slide The physical topology according to the Moore neighbourhood from cellular automata. Fig. 1. View largeDownload slide The physical topology according to the Moore neighbourhood from cellular automata. By analysing the physical topology shown in Fig. 1, we recognize a motif that represents the Moore neighbourhood. The motif consists of nine neighbouring cells, as shown in Fig. 2a. The motif depicts the local connections between neighbouring cells. The entire network is simply a repetition of that motif. The functional topology of an implementation of a network function is built upon the motif (Fig. 2). Fig. 2. View largeDownload slide (a) The functional topology that represents the distributed self-organizing frequency allocation algorithm; the Moore neighbourhood motif. (b) The functional topology that represents the random frequency allocation approach. Independent network functions have no interconnections. Fig. 2. View largeDownload slide (a) The functional topology that represents the distributed self-organizing frequency allocation algorithm; the Moore neighbourhood motif. (b) The functional topology that represents the random frequency allocation approach. Independent network functions have no interconnections. We start with the random frequency allocation algorithm. It assumes that every cell assigns the frequency completely randomly from the set of available frequency channels. In order to create the functional topology let us imagine a virtual decision maker entity that is moving from one cell to another. At every cell the decision maker entity has no information about the allocated frequencies of other cells, which means that there are no functional connections between any two nodes. The result is a functional topology represented with a non-connected graph (Fig. 2b). To examine the functional topology of the self-organizing frequency allocation algorithm we use the same approach presented in the previous example. We imagine a virtual decision maker entity, which is responsible for the frequency allocation of every node. In order to determine the functional connections of a node we analyse the interactions to other nodes in the process of decision making at our target node. As the self-organizing algorithm assumes only the knowledge about allocated frequencies at the neighbouring cells, the functional connections exist only between physical neighbours. This results in a functional topology that is equivalent to the Moore neighbourhood motif of the physical topology (Fig. 2a). In general network functions are not as simple as the above example. Therefore, to analyse the organizational structure of a network function we apply a multi-scale approach. The functional topology itself is built upon the local relationships between network cells according to the specified frequency allocation algorithm. The local interactions represent the lowest scale size. Analysis of higher scales is enabled by a multi-hop interaction examination. The reachability among nodes represents the interactions between them. By restricting the reachability to a certain number of hops along the topology we may examine the scale size of interest. In [2] the authors discussed the relation between the scale size and the complexity, and they emphasize the importance of the scale size noting that the same system can show high complexity on one scale and low complexity on the other. The functional connectivity of each node represents the lowest scale in the functional framework and describes the interactions in the process of making a decision on this particular node. From the functional point of view the lowest scale size models a decision that is made by one node (in our case the frequency allocation of one cell). In order to apply a multi-scale approach we include higher scales in our analysis as follows. As every node represents a functional part, a subtask or an informational source, every group of nodes represents a group of subtasks that are part of the same function. The two-hop scale size considers the node, its neighbouring cells and neighbours of its neighbours. On this scale size the topology includes the interactions of nodes that are inside the radius of two hops. In our examples this scale size represents the frequency allocation of a two hop neighbourhood and the interactions between nodes in the process of making a decision among a group of nodes. Note that the reachability of nodes increases with the scale size. In this case every node can reach any other node that is two or less than two hops away. The highest scale size implies a full mesh topology, where every node can reach any other node in the topology. This approach enables a multi-scale functional analysis, which is presented in the results section. 4. Complexity model The traditional reductionist approach attempts to explain an entire system in terms of its individual components. In contrast, complex systems analysis is based on the relations between system parts which result in a greater outcome than would be expected from a simple sum of the outcomes of the individual parts. Therefore, complex systems move the focus from the node to the network. As we represent network functions with topologies, the complex systems approach allows us to analyse the relations between functional parts. Such analysis captures the joint effort of functionally interconnected system parts and provides a measurement of the deviation of the complex behaviour compared to a linear (non-complex) system. In order to capture this deviation, we analyse the joint effort of system sub-parts, which are represented with subgraphs of the functional topology. Different subgraphs with the same size capture the variety of organizational structures in the topology, whereas different subgraph sizes allow us to understand the gain from increasing number of nodes and interactions. In order to capture the non-linear joint effort of functional parts, we analyse the interactions of nodes involved in the decision making process on different scales. The scale size $$r$$ determines the maximum number of allowed hops between two nodes in order to reach each other. In modelling a network function, our focus from the complexity point of view is the degree of interconnectivity, which is represented by the reachability of functional parts. $$R$$ is the maximum scale size of the system, which is defined as the longest shortest path in the entire topology (i.e., the graph diameter of the functional topology). If $$r = R$$ the reachability of every node in the topology is equal to 1. In order to capture the relationships that underpin the operation of a given network function, we consider the interactions enabled by the structure of the functional topology on various scales of operation. Specifically, we consider that a node interacts if another node can reach this node on a particular scale. As such, we employ the Bernoulli random variable $$x_n$$ to describe the potential for a node to interact on a particular scale, under the assumption that interactions are uniformly initiated by all nodes within the topology. Therefore, the probability distribution of $$x_n$$ is determined by the reachability of node $$n$$ for a given scale size $$r$$. Equation (4.1) provides the relative reachability of node $$n$$, where $$i_r^n$$ is the number of nodes that can reach node $$n$$ for a given scale $$r$$ and $$j$$ represents the number of nodes for the given subgraph. Table 1 summarizes the notation used in our equations.   \begin{align}\label{eq:probabilityOfInteraction} p_r(x_n=1) = \dfrac{i_r^n}{j} \end{align} (4.1) Table 1 The notation used in the equations Symbols  Meanings  $$n$$  Node  $$N$$  Total number of nodes in the functional topology  $$j$$  Subgraph size—number of nodes in the subgraph  $$r$$  Scale size  $$R$$  Maximum scale size, which is defined as the longest shortest path in the whole functional topology  $$\Lambda_k^j$$  One of the $$k$$ subgraphs with $$j$$ nodes that is induced from the functional topology graph  $$i_r^n$$  Number of nodes that can reach node $$n$$ for a given subgraph  $$x_n$$  Bernoulli random variable. $$x_n = 1$$ indicates that an interaction in the course of function operation involves node $$n$$, whereas $$x_n=0$$ indicates that the interaction does not involve node $$n$$, for a given scale  $$X$$  Since $$x_n$$ is a Bernoulli random variable $$X = \{0,1\}$$  $$p_r(x_n=1), p_r(x_n=0)$$  Probabilities that any given interaction in the course of function operation involves or does not involve node $$n$$ for a given scale r  $$H_r(x_n)$$  Entropy of node $$n$$, which indicates the uncertainty of involvement of node $$n$$ in the operation of a network function for a given scale size $$r$$  Symbols  Meanings  $$n$$  Node  $$N$$  Total number of nodes in the functional topology  $$j$$  Subgraph size—number of nodes in the subgraph  $$r$$  Scale size  $$R$$  Maximum scale size, which is defined as the longest shortest path in the whole functional topology  $$\Lambda_k^j$$  One of the $$k$$ subgraphs with $$j$$ nodes that is induced from the functional topology graph  $$i_r^n$$  Number of nodes that can reach node $$n$$ for a given subgraph  $$x_n$$  Bernoulli random variable. $$x_n = 1$$ indicates that an interaction in the course of function operation involves node $$n$$, whereas $$x_n=0$$ indicates that the interaction does not involve node $$n$$, for a given scale  $$X$$  Since $$x_n$$ is a Bernoulli random variable $$X = \{0,1\}$$  $$p_r(x_n=1), p_r(x_n=0)$$  Probabilities that any given interaction in the course of function operation involves or does not involve node $$n$$ for a given scale r  $$H_r(x_n)$$  Entropy of node $$n$$, which indicates the uncertainty of involvement of node $$n$$ in the operation of a network function for a given scale size $$r$$  Table 1 The notation used in the equations Symbols  Meanings  $$n$$  Node  $$N$$  Total number of nodes in the functional topology  $$j$$  Subgraph size—number of nodes in the subgraph  $$r$$  Scale size  $$R$$  Maximum scale size, which is defined as the longest shortest path in the whole functional topology  $$\Lambda_k^j$$  One of the $$k$$ subgraphs with $$j$$ nodes that is induced from the functional topology graph  $$i_r^n$$  Number of nodes that can reach node $$n$$ for a given subgraph  $$x_n$$  Bernoulli random variable. $$x_n = 1$$ indicates that an interaction in the course of function operation involves node $$n$$, whereas $$x_n=0$$ indicates that the interaction does not involve node $$n$$, for a given scale  $$X$$  Since $$x_n$$ is a Bernoulli random variable $$X = \{0,1\}$$  $$p_r(x_n=1), p_r(x_n=0)$$  Probabilities that any given interaction in the course of function operation involves or does not involve node $$n$$ for a given scale r  $$H_r(x_n)$$  Entropy of node $$n$$, which indicates the uncertainty of involvement of node $$n$$ in the operation of a network function for a given scale size $$r$$  Symbols  Meanings  $$n$$  Node  $$N$$  Total number of nodes in the functional topology  $$j$$  Subgraph size—number of nodes in the subgraph  $$r$$  Scale size  $$R$$  Maximum scale size, which is defined as the longest shortest path in the whole functional topology  $$\Lambda_k^j$$  One of the $$k$$ subgraphs with $$j$$ nodes that is induced from the functional topology graph  $$i_r^n$$  Number of nodes that can reach node $$n$$ for a given subgraph  $$x_n$$  Bernoulli random variable. $$x_n = 1$$ indicates that an interaction in the course of function operation involves node $$n$$, whereas $$x_n=0$$ indicates that the interaction does not involve node $$n$$, for a given scale  $$X$$  Since $$x_n$$ is a Bernoulli random variable $$X = \{0,1\}$$  $$p_r(x_n=1), p_r(x_n=0)$$  Probabilities that any given interaction in the course of function operation involves or does not involve node $$n$$ for a given scale r  $$H_r(x_n)$$  Entropy of node $$n$$, which indicates the uncertainty of involvement of node $$n$$ in the operation of a network function for a given scale size $$r$$  Shannon entropy for each node of the given subgraph with size $$j$$, and scale size $$r$$ is calculated with equation (4.2).   \begin{align}\label{eq:entropy} H_r(x_n) = \displaystyle\sum_{x_n \in X} p_r(x_n) \cdot \log_{2}\dfrac{1}{p_r(x_n)} \end{align} (4.2) Since the probabilities in equations (4.1) and (4.2) indicate the relative reachability of a node, entropy in our functional model represents the uncertainty of interaction of node $$n$$ during the operation of a network function for a given scale size $$r$$. The uncertainty of interaction of a node depends on the role of this node in the graph that represents the function (e.g., hub, stub, disconnected node). A node with zero entropy functionally represents a hub or a disconnected node. A hub in the functional topology is a node connected to all other nodes, which means that the reachability of this node is $$p_r(x_n=1) = 1$$. Conversely, a disconnected node has the non-reachability $$p_r(x_n=0) = 1$$. A hub is a functionality or informational source that interacts with each subtask in the functional topology. In contrast, a disconnected node in the functional framework represents a functionality not related to the modelled function, which means that this node does not provide information of interest for any part of our model. The total amount of information of the $$k^{th}$$ subgraph with $$j$$ nodes for scale $$r$$ is calculated with equation (4.3). $$\Lambda_k^j$$ is one of the $$k$$ subgraphs with $$j$$ nodes. The total amount of information represents the total uncertainty, which is related to the actual roles of nodes that appear within a subgraph and different subgraph patterns.   \begin{align}\label{eq:totalAmountOfInformationSubgraph} I_r(\Lambda_k^j) = \displaystyle\sum_{n \in \Lambda_k^j} H_r(x_n) \end{align} (4.3) The average amount of information for a given subgraph size $$j$$ is calculated with equation (4.4). $$\beta_j$$ in the equation represents the number of connected subgraphs with size $$j$$.   \begin{align}\label{eq:averageAmountOfInformationSubgraph} \langle I_r(\Lambda^j) \rangle = \dfrac{1}{\beta_j}\displaystyle\sum_{k =1}^{\beta_j} I_r(\Lambda_k^j) \end{align} (4.4) Functional complexity is calculated with equation (4.5).   \begin{align}\label{eq:complexity} C_F = \dfrac{1}{R-1}\displaystyle\sum_{r =1}^{R-1}\sum_{j = 1+r}^{N} \left| \langle I_r(\Lambda^j) \rangle - \dfrac{r+1-j}{r+1-N} I_r(\Lambda^N)\right| \end{align} (4.5) Note that $$\Lambda^N$$ is the set of all nodes in the functional topology. For $$j < 1 + r$$ the amount of information is equal to zero, because every subgraph with size $$j < 1 + r$$ for the scale size $$r$$ represents a full mesh topology in terms of reachability, therefore, $$H_r(x_n) = 0$$ and $$I_r(\Lambda_k^j) = 0$$. As shown in equation (4.5), in order to determine the complexity of an implementation of a network function, we compare this particular implementation $$(\langle I_r(\Lambda^j) \rangle)$$ to a non-complex model of itself $$(\frac{r+1-j}{r+1-N} I_r(\Lambda^N))$$. A non-complex model is expressed by describing the functional parts, which provides full information about such a network function because the function is the sum of the functionalities of its parts. Therefore, the non-complex model assumes that every functional part always contributes the same amount of information, meaning that the increasing number of analysed nodes leads to a linear increase in the total amount of information and in equation (4.5), it is represented by $$\frac{r+1-j}{r+1-N}I_r(\Lambda^N)$$. Conversely, a complex implementation implies that the network function relies on communication between its parts which results in a higher utility outcome, i.e., greater than the sum of its parts. Our functional complexity metric captures this difference between the amount of information for the complex and non-complex implementation, which is modelled with the inner sum in equation (4.5). Since we express the potential of a node to interact with other nodes as its reachability in the functional topology, Shannon entropy calculated based on this reachability represents the uncertainty of interactions for a subgraph of the functional topology. In equation (4.5), we capture the average uncertainty of interactions for all subgraph sizes ($$\langle I_r(\Lambda^j) \rangle$$), and compare it to the uncertainty of interactions which is expected from the non-complex model, which is the functional complexity and in equation (4.5) it is represented by the inner sum. This means that the functional complexity captures how much more information exits in the interactions between nodes than it would be expected from a naive linear representation of these interactions. In engineering, non-linear problems are often approximated as linear problems for small changes in the input of the system. This approximation often results in models that have limited applicability, and the functional complexity quantifies how much information is lost by this linear approximation. Shannon entropy reaches its maximum if the reachability of the nodes is $$p_r(x_n=1) = 1/2$$, which means that a sparse graph with almost uniform distribution of links among nodes results in high values of $$H_r(x_n)$$. This again, leads to high values of $$I_r(\Lambda_k^j)$$, which result in high functional complexity. The functional complexity is zero for a fully connected and for a disconnected graph. The reachability of each node in a fully connected and disconnected graph are equal to 1 and 0, respectively, which results in zero Shannon entropy and zero complexity. The variety of roles emphasises the importance of interconnectivity of functional parts. Since nodes represent functional parts, different roles refer to different interactions that underpin the operation of a network function. If one node is highly connected to a group of nodes, this means that it influences the entire group. At the same time the group has a high influence on the operation of this node. In our frequency allocation example, the disconnected topology shows that every node is independent, which results in one simple role (disconnected node) for every subgraph. Describing the relationship between a single element and the rest of the functional topology provides all necessary information needed to understand the relationships of the entire topology. Therefore, this structure is not considered as complex. Conversely, the self-organizing algorithm provides different roles for nodes. This results in a complex structure, where the outcome depends on the communication between the structural parts, which means that the communication between system entities becomes more important to understand than the entities themselves. 5. Analysis In this section, we apply our complexity model to several functional topologies to examine the main properties of the functional complexity metric. In addition to the two implementations of the frequency allocation function, we also investigate common graph structures (e.g., ring, star, bus, full mesh) that describe complex and non-complex functional relations. In the course of this analysis, we present the relationship between the complexity of a function and graph theory metrics that describe the functional topology representation of the network function. A complex system, and hence a complex function, is determined by many parameters. We compare our metric to the following graph theoretic notions to highlight the utility of our methodology: Number of nodes, Average path length, Clustering coefficient. Intuitively, if the number of nodes increases the system becomes more complex. The average path length indicates the distance between elements, which implicitly refers to the relationship strengths in the network. The clustering coefficient provides information about the overall strengths of functional dependencies between nodes grouped around a central entity. All these metrics provide useful information about certain organizational characteristics of the system. We start the analysis with common graph structures like a bus, ring, star and full mesh topology to investigate the impact of different graph structures on the amount of complexity. Figure 3 shows complexity values of theses topologies in the range of six to ten nodes. Additionally, we present the correlation between the complexity metric and different graph theory metrics. Fig. 3. View largeDownload slide Complexity of a bus, ring and star topology. Fig. 3. View largeDownload slide Complexity of a bus, ring and star topology. 5.1 Bus, ring, star and full mesh topologies A full mesh topology results in zero complexity for any number of nodes. Therefore, even though a full mesh topology provides a densely connected structure, the overall relationships between functional parts represented by a full mesh topology are non-complex. The structures of any subgraph in a full mesh topology are also full mesh connectivity patterns. This means that a full mesh topology represents a function in which every functional part interacts with all other entities in order to make a decision. The functional structures and roles of nodes in a graph that represents such functions are always the same (each individual node is a hub). This means that in order to describe the system (the function), it is enough to describe an individual element and such functions are considered as non-complex. All the nodes in a bus topology are fairly spread out (i.e., the average path length between nodes is high). In other words, the bus topology represents a connectivity pattern with weak overall connections among parts of the topology. The bus topology does not provide a great variety of organizational structures, which results in low complexity. According to Fig. 3, functional complexity of the bus topology increases with the increase in the number of nodes. Figure 3 shows that the functional complexity of a ring topology is higher than the complexity of a bus topology for the same number of nodes. The ring topology conforms to the same trend in which complexity increases with the number of nodes. The ring topology compared to the bus is less spread out (i.e., the average path length is shorter) and therefore provides tighter connections between the nodes. As the nodes are closer to each other, due to the additional path, this functional topology represents tighter functional relationships compared with the bus topology. Tighter functional relationships result in higher complexity. The star topology is a functional relationship in which one node interacts with all other nodes in the decision making process. It also conforms to the same trend in which complexity increases with the number of nodes in the topology. The star structure has tight connections between its parts. This means that the star topology depicts stronger functional relationships compared with the bus and ring topology. Therefore, the star topology has the highest complexity value compared with the other structures presented in Fig. 3. The analysis of simple graph structures (bus, ring, star and full mesh) gives a general overview of the impact of different graph organizations on the amount of complexity. The functional complexity metric captures the diversity of structures and roles of nodes, which provides a different perspective to analyse the complex relationships between system entities. According to Fig. 3, the star topology is the most complex structure compared with the bus, ring and full mesh topologies. Considering the sparse connectivity and short average path length between entities represented with a star topology, we believe that this type of relationship contributes to the increase in complexity. Based on the analysis of different sizes of ring and bus topologies, we believe that spreading (distributing) the functionality all over the topology also affects the increasing complexity values. We expect that a combination of these two types of relationships results in highly complex organizational structures. Such a structure consists of local centres (star subgraphs/clusters) that are highly interconnected. As functional complexity captures the variety of structural patterns, we expect that complexity is high if the number of local centres is high. 5.2 Comparison with graph theory metrics In this subsection, we analyse the relationship between complexity and different graph theory metrics. We also want to emphasize that the graph theory metrics do not include the quantity that is measured by equation (4.5). In order to do so, we investigate the correlation between these metrics, and show that the graph theory metrics focus on individual aspects (e.g., clustering, connectivity, degree distribution) of the topology, whereas functional complexity quantifies the overall uncertainty of interactions between functional entities which emerge from the local interactions between them. To describe the relationship between the average path length and the functional complexity of an implementation of a network function we analyse all possible graph organizations (distributions of links) between six nodes (see Fig. 4). The Pearson product-moment correlation coefficient for these two metrics is $$-$$0.43 (see Table 2). Notice in Fig. 4 that the highest functional complexity for six nodes is 2.9. Compared with the bus, ring and star topology the highest functional topology is at least 1.5 times higher. An important fact is that for the same average path length we have a range of different complexity values. Therefore, despite the high correlation between the average path length and complexity, we can’t predict the complexity of a structure based on the average path length. Additionally, the maximum value of complexity occurs for an extremely low average path length, which is still higher than one. Figure 4 also shows that the envelope of the complexity values is a non-monotonic function. That is, there exist complexity values for longer average path lengths that are larger than all complexity values for some shorter average path lengths. Notice also that complexity is equal to zero for the average path length equal to one. This value of the average path length represents a full mesh topology. Fig. 4. View largeDownload slide The relationship between the average path length and functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The Pearson product-moment correlation coefficient for these two variables (average path length and functional complexity) is $$-$$0.43. Fig. 4. View largeDownload slide The relationship between the average path length and functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The Pearson product-moment correlation coefficient for these two variables (average path length and functional complexity) is $$-$$0.43. Table 2 Correlation between graph theory metrics and the functional complexity metric for all possible distributions of links between six nodes Correlation variables  Correlation  Average path length—complexity  $$-$$0.43  Clustering coefficient—complexity  0.15  Avgerage path length–clustering coefficient—complexity  0.47  Correlation variables  Correlation  Average path length—complexity  $$-$$0.43  Clustering coefficient—complexity  0.15  Avgerage path length–clustering coefficient—complexity  0.47  Table 2 Correlation between graph theory metrics and the functional complexity metric for all possible distributions of links between six nodes Correlation variables  Correlation  Average path length—complexity  $$-$$0.43  Clustering coefficient—complexity  0.15  Avgerage path length–clustering coefficient—complexity  0.47  Correlation variables  Correlation  Average path length—complexity  $$-$$0.43  Clustering coefficient—complexity  0.15  Avgerage path length–clustering coefficient—complexity  0.47  As shown in Table 2, the correlation between the clustering coefficient and complexity is low (0.15) for six nodes. Figure 5 depicts the relationship between the average clustering coefficient and complexity for six nodes. The average clustering coefficient is a graph theory metric that measures the average number of neighbouring nodes that are neighbours to each other [29]. Therefore, the average clustering coefficient quantifies the strength of functional connections between nodes grouped around local centres. Again, the envelope of the complexity values in this relationship is also non-monotonic. Notice in Fig. 5 that complexity has its maximum for an average clustering coefficient close to one. This is expected because this value of the clustering coefficient represents a network with tight functional connections between nodes grouped around local centres. Notice also that complexity is zero for the average clustering coefficient equal to one. According to the definition of the clustering coefficient, the value one indicates that all neighbours of every node in the functional topology are neighbours to each other, which represents a full mesh topology. Fig. 5. View largeDownload slide The relationship between the clustering coefficient and functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The Pearson product-moment correlation coefficient for these two variables (clustering coefficient and functional complexity) is 0.15. Fig. 5. View largeDownload slide The relationship between the clustering coefficient and functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The Pearson product-moment correlation coefficient for these two variables (clustering coefficient and functional complexity) is 0.15. In order to analyse the joint relationship between complexity and both of the graph theory metrics presented above (the average path length and the average clustering coefficient) we plot all these metrics together on one graph (see Fig. 6). The x and y axis represent the average clustering coefficient and the average path length, respectively and the complexity is represented by the radius of the circles. Additionally, the circles are coloured differently to emphasize the different complexity values. The multivariate correlation between these three variables is 0.47 (see Table 2). The overlapping circles with different radii mean that for the same average path length and average clustering coefficient there exist multiple topologies with different functional complexity values. The functional complexity is an information theory metric, while the average path length and the average clustering coefficient are graph theory metrics, meaning that they quantify different properties, and therefore this was expected. As shown in the analysis above, graph theory metrics allow us to analyse individual aspects of the functional topology, whereas complexity adds additional information about the diversity of relationships between functional parts and provides a different approach to analyse complex network functions. Fig. 6. View largeDownload slide The relationship between the clustering coefficient, average path length and the functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The complexity value is represented by the colour and diameter of circles. Fig. 6. View largeDownload slide The relationship between the clustering coefficient, average path length and the functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The complexity value is represented by the colour and diameter of circles. Figure 7 shows that the correlation between complexity and different graph theory metrics decreases as the number of nodes in the graph increases. This is expected, because the number of graph combinations increases exponentially with the number of nodes. The rapid increase of graph combinations allows us to create a variety of complex structures for the same value of certain graph theory metrics. Hence, the complexity range increases for an individual value of a graph theory metric, meaning that if we would represent these structures with the same graph as shown in Fig. 6, we would get even more overlapping circles with different complexity values for the same average path length and average clustering coefficient. The decrease of correlation between complexity and different graph theory metrics suggests that graph theory metrics do not target the same properties of the system. This means that the complexity metric adds new information, which leads to better understanding of the relationships between system entities. Fig. 7. View largeDownload slide The relationship between the correlation coefficients of the graph theory metrics (average path length, clustering coefficient) and the complexity metric for different sizes of functional topologies. These values were calculated for all unique combinations of $$n$$ nodes and from $$n-1$$ to $$(n * (n-1))/2$$ edges. Fig. 7. View largeDownload slide The relationship between the correlation coefficients of the graph theory metrics (average path length, clustering coefficient) and the complexity metric for different sizes of functional topologies. These values were calculated for all unique combinations of $$n$$ nodes and from $$n-1$$ to $$(n * (n-1))/2$$ edges. 5.3 Complexity of the frequency allocation algorithms In order to analyse the functional complexity of the frequency allocation algorithms presented in the framework section, we apply our complexity model to the functional topology representation of these network functions. Our complexity metric, when applied over the functional topology, gives insight into the functional relationships between system entities, which allows us to focus on the joint effect of functional parts in order to execute the modelled network function. The random frequency allocation algorithm is represented by a disconnected graph. Each element represents a closed system which results in the absence of connections between them. From the system perspective the functional parts of this implementation represent a set of independent elements. As the elements do not interact with each other, in order to describe the set we can simply describe its elements. More precisely, to describe the set we have to describe only one element, because each element of the set is the same. Each element of the set simply assigns one of the available frequencies. Such a set that is represented with independent elements has zero functional complexity. Finally, the self-organizing distributed frequency allocation algorithm is represented by the functional topology shown in Fig. 2a. In order to analyse the complexity of this implementation of the frequency allocation function, we apply our complexity model to the functional topology representation. Figure 8a depicts the deviation in the amount of information with increasing subgraph sizes from a linear increase (i.e., the functional complexity). In equation (4.5) the linear increase is represented by $$(\frac{r+1-j}{r+1-N}I_r(\Lambda^N))$$. As shown in equation (4.5), it is calculated as the uncertainty which is expected from the calculation performed on the whole system ($$I_r(\Lambda^N)$$). The linear increase represents an equivalent simple system implementation, meaning that all the subgraphs of a specific size feature the same uncertainty of interaction. Every functional part contributes with the same amount of information, which results in a linear increase over increasing subgraph sizes. Fig. 8. View largeDownload slide The functional topology has nine nodes; the maximum scale size $$R$$ is 2; the functional complexity is represented by the area between the linear and non-linear function. (a) The relationship between the uncertainty of interactions for all subset sizes ($$\langle I_r(\Lambda^j) \rangle$$) and the uncertainty, which is expected from the calculation performed on the whole system $$(\frac{r+1-j}{r+1-N} I_r(\Lambda^N))$$. (b) The distance between the uncertainty of interactions for all subset sizes and the uncertainty, which is expected from the calculation performed on the whole system $$(\Delta I(\Lambda^j) = | \langle I_r(\Lambda^j) \rangle - \frac{r+1-j}{r+1-N} I_r(\Lambda^N)|)$$, i.e., the functional complexity of the self-organizing frequency assignment approach. Fig. 8. View largeDownload slide The functional topology has nine nodes; the maximum scale size $$R$$ is 2; the functional complexity is represented by the area between the linear and non-linear function. (a) The relationship between the uncertainty of interactions for all subset sizes ($$\langle I_r(\Lambda^j) \rangle$$) and the uncertainty, which is expected from the calculation performed on the whole system $$(\frac{r+1-j}{r+1-N} I_r(\Lambda^N))$$. (b) The distance between the uncertainty of interactions for all subset sizes and the uncertainty, which is expected from the calculation performed on the whole system $$(\Delta I(\Lambda^j) = | \langle I_r(\Lambda^j) \rangle - \frac{r+1-j}{r+1-N} I_r(\Lambda^N)|)$$, i.e., the functional complexity of the self-organizing frequency assignment approach. The non-linear increase represents the heterogeneity of structures within the functional representation of a network function, which indicates that the relationship between functional parts is complex. As shown in equation (4.5), the non-linear increase is calculated as the average amount of information for a specific subgraph size ($$\langle I_r(\Lambda^j) \rangle$$), and it represents the uncertainty of interaction among nodes for this specific subgraph size. According to equation (4.5), complexity is calculated as the sum of differences between the average amount of information for a specific subgraph size and the amount of information which is expected from the calculation performed on the whole system (the non-linear and linear functions in Fig. 8a). Considering that for the functional topology of the self-organizing algorithm $$R=2$$, the multi-scale approach applied on this functional topology implies only a single scale analysis, that is $$r=1$$. The subgraph sizes of interest are in the range of 2–9. Considering that $$r=1$$, subgraphs with the size two or smaller represent full mesh topologies. The maximum value of the subgraph size is nine because the functional topology consists of nine nodes. The complexity of the self-organizing frequency allocation algorithm is 1.69 and it is represented by the area between the linear and non-linear functions in Fig. 8a. Figure 8b shows the distance between the uncertainty of interactions for all subset sizes and the uncertainty which is expected from the calculation performed on the whole system, i.e., the functional complexity of the self-organizing frequency allocation approach. More precisely, Fig. 8b depicts the single scale complexity function, which is represented by the inner sum of equation (4.5). The functional complexity is the sum of the function depicted in Fig. 8b. Similarly, the authors of [27] analyse the two frequency allocation algorithms. The complexity metric used in [27] is excess entropy. Even though we are not aware of any direct relation between our functional complexity and excess entropy, the work proposed by the authors of [27] is the closest to ours in terms of applying complex systems tools to analyse network functions. In contrast to our work, they analyse the complexity of the outcome (i.e., the frequency allocation) of these implementations. The results that are presented in their work show that the random approach produces an outcome with zero complexity, whereas the self-organizing distributed frequency allocation algorithm produces a complex outcome. Herein, our functional complexity metric analyses rather the complexity of the implementation itself than the output of the network function. As discussed above, the functional complexity of the random frequency allocation algorithm is zero, and the functional complexity of the self-organizing distributed frequency allocation algorithm is 1.69. This suggests that a complex implementation of a function results in a complex outcome. In [27] the authors show that the response to a change of a system with highly complex output happens in a more manageable fashion causing less disruption. The authors of [27] also emphasize the higher robustness of a complex outcome compared to a non-complex outcome. Making a connection between the implementation and the outcome of a function correlates the characteristics of the outcome with the complex relationships that underpin the functional structure. 6. Conclusion The growing size and heterogeneity of telecommunication networks leads to a need to change the way we analyse and model them. Also the rapid evolution of network services demands a new approach to analyse them. The aim of this article was to contribute to this new way of studying networks. We focus on network functions as building blocks of services. We consider network functions as complex systems. In order to provide a new approach to analyse and understand the impact of complex functional relationships between system entities, we developed a new framework. The framework allows us to visualise an implementation of a network function with graphs called functional topologies. We provide several examples that show how to map a network function into a functional topology. The graph visualisation of the implementation allows us to focus on the relationships between entities rather than the entities themselves. The next step after mapping an implementation of a network function into a functional topology was to provide a metric that quantifies the organizational structure of the topology. Our functional complexity ($$C_F$$) captures the variety of roles that each node in the topology has and the variety of structural patterns present in the topology. $$C_F$$ quantifies the deviation of the implementation of a network function from the non-complex model of itself. The quantification of this deviation as presented in Section 4 provides a new approach to understand increasingly complex telecommunication networks. In order to study the impact of different structural patterns on the functional complexity in Section 5, we start by analysing the complexity of simple graph structures (bus, ring, star and mesh). Additionally, we provide a detailed study that investigates the impact of several graph theory metrics on the functional complexity. We investigated the correlation between the combination of the graph theory metrics and complexity, due to the absence of high correlation between any graph theory metrics and the functional complexity. This analysis allowed us to make conclusions about the organizational structures that is needed in order to achieve high complexity. In this article, we also analysed the functional complexity of two different implementations of the frequency allocation function (random and self-organizing). First, in Section 3 we explain how to map these implementations into functional topologies, and in Section 5, we apply our complexity metric to quantify the functional complexity of these implementations. We showed that the random frequency allocation has zero complexity (and represents therefore a non-complex implementation), whereas the self-organizing implementation shows higher complexity. This allows us to make a connection between our results and the results from [27], where the authors calculated the complexity of the outcome of these implementations and got the same kind of results. This implies that a complex implementation results in a complex outcome of the function and as a part of our future work, due to the similar trends exhibited by both complexity metrics, we are confident that we can make justified assumptions about the robustness and response to change similar to [27]. In [30, 31], we showed how to apply our framework to wireless sensor networks in order to analyse the tradeoff between energy efficiency and scalability of different clustering algorithms. Additionally, we use the functional topology framework as a part of our current work on distributed optimization in cellular networks to model the relationships between eNodeBs. We are also working on sampling techniques for functional topologies which will allow us to apply the framework to large networks. As a part of our current research we are also applying the functional framework to model the self-organized time division multiple access algorithm in the very high frequency (VHF) maritime mobile band for universal shipborne automatic identification systems. Our end goal, after investigating the relationships between functional complexity and different network key performance indicators (KPIs), is to use functional complexity to tune the tradeoff between these network KPIs. The main advantage of using a metric like functional complexity instead of KPIs to tune and optimize the network is that functional complexity can be computed offline without relying on data collected in the network, which speeds up the network optimization process. On the other hand, as shown in [32], the first step in the process of calculating a KPI is to collect measurements. In order to collect the measurements the network has to be operational, meaning that the process of optimizing certain aspects of the network is possible only by monitoring the real network dynamics. As shown in the article, the functional topologies capture the relations between functional parts of the network based on the rules that are defined by the communication protocols themselves. In other words, the functional topology captures certain network dynamics without relying on measurements. Therefore, the functional complexity can be calculated even if the network is offline. By showing high correlation between the complexity metric and network KPIs (e.g., [30, 31]), we show that a network operator would be able to optimize the network aspects related to those KPIs before the network is operational. Overall, our complexity metric quantifies telecommunication networks in terms of their functional relationships and provides a wholly new approach to understanding the operation of networks. More precisely, the complexity metric quantifies the relationships employed during operation of network functions. This provides a new approach to study networks, which is especially relevant for next generation networks. Funding This work was supported by the Science Foundation Ireland under (3/RC/2077). Footnotes 1 With the term ‘complexity’ we refer to a specific set of complex systems science quantities, related to the interactions between functional entities (rather than to the entities themselves). References 1. Liu Y.-Y., Slotine J.-J. & Barabási A.-L. ( 2013) Observability of complex systems. Proc. Natl. Acad. Sci. USA , 110, 2460– 2465. Google Scholar CrossRef Search ADS   2. Bar-Yam Y. ( 2004) Multiscale complexity/entropy. Adv. Complex Syst. , 7, 47– 63. Google Scholar CrossRef Search ADS   3. Yaeger L. ( 2007) Evolution Selects for and Against Complexity. Available at: http://vw.slis.indiana.edu/talks-fall07/Yeager.pdf. 4. Tononi G., Sporns O. & Edelman G. M. ( 1994) A measure for brain complexity: relating functional segregation and integration in the nervous system. Proc. Natl. Acad. Sci. USA , 91, 5033– 5037. Google Scholar CrossRef Search ADS   5. Lopez-Ruiz R., Mancini H. L. & Calbet X. ( 1995) A statistical measure of complexity. Phys. Lett. A , 209, 321– 326. Google Scholar CrossRef Search ADS   6. Balduzzi D. & Tononi G. ( 2008) Integrated information in discrete dynamical systems: motivation and theoretical framework. PLoS Comput. Biol. , 4. 7. Joshi N. J., Tononi G. & Koch C. ( 2013) The minimal complexity of adapting agents increases with fitness. PLoS Comput. Biol. , 9, e1003111. Google Scholar CrossRef Search ADS PubMed  8. Evans T. P., Ostrom E. & Gibson C. ( 2002) Scaling issues with social data in integrated assessment modeling. Integrated Assessment , 3, 135– 150. Google Scholar CrossRef Search ADS   9. Lloyd S. ( 2001) Measures of complexity: a nonexhaustive list. IEEE Control Syst. , 21, 7– 8. Google Scholar CrossRef Search ADS   10. Wang Z., Zhang D., Zhou X., Yang D., Yu Z. & Yu Z. ( 2014) Discovering and profiling overlapping communities in location-based social networks. IEEE Trans. Syst. Man Cybern. Syst. , 44, 499– 509. Google Scholar CrossRef Search ADS   11. Ahn Y.-Y., Bagrow J. P. & Lehmann S. ( 2010) Link communities reveal multiscale complexity in networks. Nature , 466, 761– 764. Google Scholar CrossRef Search ADS PubMed  12. Evans T. S. & Lambiotte R. ( 2009) Line graphs, link partitions, and overlapping communities. Phys. Rev. E ., 80, 016105-1, 016105-8. 13. Newman M. E. J. & Girvan M. ( 2004) Finding and evaluating community structure in networks. Phys. Rev. E , 69, 026113. Google Scholar CrossRef Search ADS   14. Newman M. E. J. ( 2006) Modularity and community structure in networks. Proc. Natl. Acad. Sci. USA , 103, 8577– 8582. Google Scholar CrossRef Search ADS   15. Lanham M. J., Morgan G. P. & Carley K. M. ( 2013) Social network modeling and agent-based simulation in support of Crisis De-escalation. IEEE Trans. Syst. Man Cybern. Syst. , 44, 103– 110. Google Scholar CrossRef Search ADS   16. Bristow M., Fang L. & Hipel K. W. ( 2014) Agent-based modeling of competitive and cooperative behavior under conflict. IEEE Trans. Syst. Man Cybern. Syst. , 44, 834– 850. Google Scholar CrossRef Search ADS   17. González M., Hidalgo C. & Barabási A. L. ( 2008) Understanding individual human mobility patterns. Nature , 453, 779– 782. Google Scholar CrossRef Search ADS PubMed  18. Batool K. & Niazi M. A. ( 2017) Modeling the internet of things: a hybrid modeling approach using complex networks and agent-based models. Complex Adapt. Syst. Model ., 5, 4– 23. Google Scholar CrossRef Search ADS   19. Kaminski N. J., Murphy M. & Marchetti N. ( 2016) Agent-based modeling of an IoT network. IEEE Int. Symp. Syst. Eng. , pp. 1– 7. 20. Newman M. ( 2003) The structure and function of complex networks. SIAM review , 45, 167– 256. Google Scholar CrossRef Search ADS   21. Butler S. ( 2008) Eigenvalues and structures of graphs. Ph.D. dissertation . 22. Chakrabarti D. & Faloutsosc C. ( 2008) Graph Mining: Laws, Generators and Tools . Lecture Notes in Computer Science: Springer-Verlag. 23. Wang P., Gonzalez M. C., Hidalgo C. A. & Barabasi A.-L. ( 2009) Understanding the spreading patterns of mobile phone viruses. Science , 324, 1071– 1076. Google Scholar CrossRef Search ADS PubMed  24. Onnela J.-P., Saramäki J., Hyvönen J., Szabó G., Lazer D., Kaski K., Kertész J. & Barabási A L. ( 2007) Structure and tie strengths in mobile communication networks. Proc. Natl. Acad. Sci. USA , 104, 7332– 7336. Google Scholar CrossRef Search ADS   25. Beigy H. & Meybodi M. R. ( 2010) Cellular learning automata with multiple learning automata in each cell and its applications. IEEE Trans. Syst. Man Cybern. Syst. , 40, 54– 65. Google Scholar CrossRef Search ADS   26. Macaluso I., Cornean H., Marchetti N. & Doyle L. ( 2014) Complex communication systems achieving interference-free frequency allocation. IEEE Int. Conf. Commun. , 1447– 1452. 27. Macaluso I., Galiotto C., Marchetti N. & Doyle L. ( 2016) A complex systems science perspective on wireless networks. J. Syst. Sci. Complex. , 29, 1034– 1056. Google Scholar CrossRef Search ADS   28. Kaminski N. J. ( 2014) Social Intelligence for Cognitive Radios. Ph.D. Dissertation , Virginia Polytechnic Institute and State University, Blacksburg, Virginia. 29. Newman M. ( 2010) Networks: An Introduction.  New York, NY: Oxford University Press, Inc. Google Scholar CrossRef Search ADS   30. Dzaferagic M., Kaminski N. J., Macaluso I. & Marchetti N. ( 2017) Relation between functional complexity, scalability and energy efficiency in WSNs. Int. Wirel. Commun. Mobile Comput. Conf. , pp. 675– 680. 31. Dzaferagic M., Kaminski N. J., Macaluso I. & Marchetti N. ( 2017) How functional complexity affects the scalability-energy efficiency trade-off of HCC WSN clustering IEEE Wirel. Commun. Network. Conf . 32. 3GPP ( 2010) 3GPP TS 32.450 version 9.1.0. http://www.qtc.jp/3GPP/Specs/32450-910.pdf. © The authors 2018. Published by Oxford University Press. All rights reserved. This article is published and distributed under the terms of the Oxford University Press, Standard Journals Publication Model (https://academic.oup.com/journals/pages/about_us/legal/notices) http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Journal of Complex Networks Oxford University Press

# A functional complexity framework for the analysis of telecommunication networks

, Volume Advance Article – Mar 28, 2018
18 pages

/lp/ou_press/a-functional-complexity-framework-for-the-analysis-of-9ysqYG5tQ3
Publisher
Oxford University Press
ISSN
2051-1310
eISSN
2051-1329
D.O.I.
10.1093/comnet/cny007
Publisher site
See Article on Publisher Site

### Abstract

Abstract The rapid evolution of network services demands new paradigms for studying and designing networks. We propose a framework to investigate the underlying mechanisms of wireless network functions. This framework isolates and analyses a network function as a complex system. We propose functional topologies to visualize and systematically study the relationships between system entities. We also define a complexity metric $$C_F$$ (functional complexity), which quantifies the variety of structural patterns and roles of nodes in the topology. This complexity metric provides a wholly new approach to study the operation of telecommunication networks. We study the relationship between $$C_F$$ and graph structures by analysing graph theory metrics in order to recognize complex organizations. $$C_F$$ is equal to zero for both a full mesh topology and a disconnected topology. We show that complexity is high for a structure with shorter average path length and higher average clustering coefficient. We make a connection between functional complexity, robustness and response to changes that may appear in the system configuration. We also make a connection between the implementation and the outcome of a network function, which correlates the characteristics of the outcome with the complex relationships that underpin the functional structure. 1. Introduction The transition of humanity into the information age has precipitated the need of new paradigms to comprehend and overcome a new set of challenges. Specifically, the telecommunications networks that underpin modern societies represent some of the largest scale construction and deployment efforts ever attempted by humanity, with renovations occurring nearly continuously over the course of decades. The result is networks that consist of numerous subsections, each of which following its own trajectory of development, commingled into a complex cacophony. Considering the high degree of heterogeneity and dense interplay of network elements in proposed 5G and internet of things (IoT) systems, achieving holistic understanding of network operation is poised to become an even more challenging prospect in the near future. The focus of our article is to provide the paradigms necessary for comprehension of the multi-faceted, intermingled and vital foundation of new networks by introducing a metric that quantifies the organizational structure of network functions. Every telecommunication network is designed to provide different services. Network functions are the building blocks of these services. Understanding the mechanisms that provide network functions implies understanding the function and thus the network itself. In order to analyse functional aspects of a telecommunication network, we introduce a framework to map the network function into a functional topology. The functional topology enables a complex systems approach to analyse functions of telecommunications networks. We also introduce a metric which quantifies the complexity1 of a particular implementation of a network function. Specifically, the proposed metric analyses the underlying communication between network entities, which provide the network function. The main contributions of this article are: We introduce a framework, which enables the functional analysis of a telecommunication network; We provide several examples that show how to map a network function into a functional topology; We provide a new complexity metric that quantifies the organizational structure of a telecommunication network function. The rest of the article is organized as follows. Section 2 presents the literature related to our work. In Section 3, we introduce our network function framework, and we map two network functions into functional topologies. Section 4 introduces our complexity metric (i.e., functional complexity). In Section 5, we examine the main properties of the functional complexity metric, and we investigate common graph structures that describe complex and non-complex functional relations. Section 6 concludes our analysis, and we additionally discuss current and future work related to this article. 2. Literature review Using complex systems science, we can analyse network functions holistically. This interdisciplinary field draws attention from researchers in physics, mathematics, engineering and many others. As we plan future networks, the experience of these fields is useful to draw upon. Articles like [1–7] testify about the interdisciplinary nature of the complex systems analysis. The authors of [8] discuss issues of different research areas. This discussion leads to the conclusion that different scientific fields face similar problems. An interdisciplinary approach, which implies borrowing solutions from other scientific fields, would save time and effort that researchers put into solving problems. Different sciences faced the problem of increasing complexity differently. In [9] the author presents a categorization of different complexity metrics and emphasises the interdisciplinary applicability of these metrics. The authors of [10–14] focus on community detection, which allows us to analyse the structural organization of a complex system. In [10] the authors investigate the underlying interactions between mobile phone users, which determine the affiliation to a community. Similarly, in [13, 14] the authors focus on the modularity of the system. The authors of [11, 12] focus on links rather than nodes, which enables the detection of overlapping communities. Additionally, their approach allows them to analyse the hierarchical structure of a complex system. In contrast, we focus on the structural features of the graph representation of a network function implementation, rather than on community detection. The authors of [15–17] emphasize the importance of the evolution of tools, we use to analyse and understand complex systems. The authors of [15] and [16] focus on social networks and user behaviour. In [15], the authors propose a data-to-model process which allows them to analyse complex social interactions. This approach enables the prediction of the developments of eventual disasters in the system, which makes it possible to prepare the disaster recovery scenarios. The authors of [16] propose an agent-based framework for modelling competitive and cooperative behaviour under conflict [i.e., common-pool resource (CPR) Dilemma]. The framework allows them to study how and why we reach some outcomes, and to determine the conditions needed to achieve desirable outcomes in a complex system. In [17], the authors analyse the human travel patterns based on the trajectory of 100,000 mobile phone users. The understanding of the mobility patterns allows them to predict the movement and therefore the influence on spreading viruses, urban planning, mobile network planning, etc. We propose a framework that treats the implementation of a network function as a complex system, which allows us to focus on the network function itself, rather than the impact of the unpredictability of human behaviour on the network. Due to our interest in telecommunication networks, articles like [18] and [19] are of particular interest to us because they emphasize the growing complexity of the next generation of communication networks, which demands the development of new frameworks and tools to model and analyse these networks. The authors of [18] propose an agent-based modelling framework to model and analyse the performance of sensor networks. While the authors of [18] focus more on the theory behind complex systems and agent-based modelling as a tool to model and analyse such systems, the authors of [19] apply agent-based modelling to a real world IoT problem. In [19], the authors analyse the impact of MAC protocol selection on communication performance in terms of spectrum utilization and accuracy of information. Another approach to analyse and understand complex networks is graph theory. In [20–22], the authors emphasize the importance of graph theoretical tools to get a better understanding of the increasing complexity of systems. In [20], the author highlights the main difference between complex and non-complex graphs and introduces graph theoretical metrics to categorize, analyse and understand certain properties of these graphs. The author of [21] discusses how eigenvalues and structures of graphs are interrelated. The authors of [22], discuss different tools to model and extract knowledge from complex graph structures. The main focus in [22] is graph mining, but the tools and metrics (e.g., graph generation, graph patterns, community structure, clustering, path-length) used to model complex relationships between entities are very important in complex systems science, and therefore, we compare our metric to some of these metrics. Authors of [23–27] analyse telecommunications networks as complex systems. The approach in [23, 24] involves analysis of complex phenomena in telecommunication networks (spreading patterns of mobile viruses and connection strengths between nodes in a social network), which are the result of complex user behaviour. The authors of [26, 27] analyse the complexity of outcomes of a self-organizing frequency allocation algorithm. In [27], they analysed a relationship between robustness and complexity of the outcome. In contrast to the approach in [23–27] the work, we propose here targets the network function itself, which means that we analyse the mechanisms that enable complex user behaviour and system outcome. We use the same frequency allocation algorithm proposed in [27] to show an example of how to map a network function (i.e., frequency allocation) into a functional topology. 3. Network function framework The approach to planning, configuration, management and optimization of network functions is changing and moving towards self-organization. The traditional approach to most network functions involves the use of central control or optimization. However, the increasing heterogeneity of wireless technologies contributes to the rapid evolution, change and growth of networks that makes the centralized approach unsustainable. If controlled in a self-organizing way, network functions such as handover, transmit power control, user allocation, data rate control and frequency allocation provide more flexibility and robustness in response to changes that may appear in the network [28]. In order to specify and analyse the complexity of a network function, we introduce the functional framework. Our framework represents an abstraction of a telecommunication network modelling its operation by capturing all elements, i.e., nodes and connections, necessary to perform a given function. Our framework includes functional topologies, which are graphs created based on the functional connectivity between system entities. In contrast to logical topologies, which refer to data flows between network nodes, functional topologies depict the connectivity pattern of a network function, which implies a broader meaning to nodes and links. A node in our topology represents a functional entity of a network node or any information source that is part of the given network function. The links indicate dependencies between nodes. The topology as a whole depicts the specific implementation of the network function. The topology allows us to apply our model to analyse the complexity of the implementation. The functional complexity quantifies the organizational structure by analysing the variety of relationships between system entities and roles that these entities have in the topology. As an instructive example, we focus on self-organization from a frequency allocation perspective. More precisely, we use the frequency allocation algorithm from [27] to describe the process of mapping a network function into a topology and in the end to calculate the functional complexity. The self-organizing frequency allocation algorithm considers a cellular network as a two-dimensional cellular automaton. Each cell in the model represents a self-organizing wireless system. The algorithm works based on the local information that nodes gather from their neighbours. Briefly, every cell senses the given frequency channels, and allocates a channel with no interference. For more details about the algorithm the reader is referred to [27]. We focus on two frequency allocation algorithms (self-organizing algorithm and random frequency assignment) from [27]. Herein, we analyse the implementation rather than the outcome of the function. Each autonomous network is modelled as a node in a lattice which means that the physical topology is the same for both implementations. The physical topology according to the Moore neighbourhood is shown in Fig. 1. Different implementations of the network function are mapped into different functional topologies. Fig. 1. View largeDownload slide The physical topology according to the Moore neighbourhood from cellular automata. Fig. 1. View largeDownload slide The physical topology according to the Moore neighbourhood from cellular automata. By analysing the physical topology shown in Fig. 1, we recognize a motif that represents the Moore neighbourhood. The motif consists of nine neighbouring cells, as shown in Fig. 2a. The motif depicts the local connections between neighbouring cells. The entire network is simply a repetition of that motif. The functional topology of an implementation of a network function is built upon the motif (Fig. 2). Fig. 2. View largeDownload slide (a) The functional topology that represents the distributed self-organizing frequency allocation algorithm; the Moore neighbourhood motif. (b) The functional topology that represents the random frequency allocation approach. Independent network functions have no interconnections. Fig. 2. View largeDownload slide (a) The functional topology that represents the distributed self-organizing frequency allocation algorithm; the Moore neighbourhood motif. (b) The functional topology that represents the random frequency allocation approach. Independent network functions have no interconnections. We start with the random frequency allocation algorithm. It assumes that every cell assigns the frequency completely randomly from the set of available frequency channels. In order to create the functional topology let us imagine a virtual decision maker entity that is moving from one cell to another. At every cell the decision maker entity has no information about the allocated frequencies of other cells, which means that there are no functional connections between any two nodes. The result is a functional topology represented with a non-connected graph (Fig. 2b). To examine the functional topology of the self-organizing frequency allocation algorithm we use the same approach presented in the previous example. We imagine a virtual decision maker entity, which is responsible for the frequency allocation of every node. In order to determine the functional connections of a node we analyse the interactions to other nodes in the process of decision making at our target node. As the self-organizing algorithm assumes only the knowledge about allocated frequencies at the neighbouring cells, the functional connections exist only between physical neighbours. This results in a functional topology that is equivalent to the Moore neighbourhood motif of the physical topology (Fig. 2a). In general network functions are not as simple as the above example. Therefore, to analyse the organizational structure of a network function we apply a multi-scale approach. The functional topology itself is built upon the local relationships between network cells according to the specified frequency allocation algorithm. The local interactions represent the lowest scale size. Analysis of higher scales is enabled by a multi-hop interaction examination. The reachability among nodes represents the interactions between them. By restricting the reachability to a certain number of hops along the topology we may examine the scale size of interest. In [2] the authors discussed the relation between the scale size and the complexity, and they emphasize the importance of the scale size noting that the same system can show high complexity on one scale and low complexity on the other. The functional connectivity of each node represents the lowest scale in the functional framework and describes the interactions in the process of making a decision on this particular node. From the functional point of view the lowest scale size models a decision that is made by one node (in our case the frequency allocation of one cell). In order to apply a multi-scale approach we include higher scales in our analysis as follows. As every node represents a functional part, a subtask or an informational source, every group of nodes represents a group of subtasks that are part of the same function. The two-hop scale size considers the node, its neighbouring cells and neighbours of its neighbours. On this scale size the topology includes the interactions of nodes that are inside the radius of two hops. In our examples this scale size represents the frequency allocation of a two hop neighbourhood and the interactions between nodes in the process of making a decision among a group of nodes. Note that the reachability of nodes increases with the scale size. In this case every node can reach any other node that is two or less than two hops away. The highest scale size implies a full mesh topology, where every node can reach any other node in the topology. This approach enables a multi-scale functional analysis, which is presented in the results section. 4. Complexity model The traditional reductionist approach attempts to explain an entire system in terms of its individual components. In contrast, complex systems analysis is based on the relations between system parts which result in a greater outcome than would be expected from a simple sum of the outcomes of the individual parts. Therefore, complex systems move the focus from the node to the network. As we represent network functions with topologies, the complex systems approach allows us to analyse the relations between functional parts. Such analysis captures the joint effort of functionally interconnected system parts and provides a measurement of the deviation of the complex behaviour compared to a linear (non-complex) system. In order to capture this deviation, we analyse the joint effort of system sub-parts, which are represented with subgraphs of the functional topology. Different subgraphs with the same size capture the variety of organizational structures in the topology, whereas different subgraph sizes allow us to understand the gain from increasing number of nodes and interactions. In order to capture the non-linear joint effort of functional parts, we analyse the interactions of nodes involved in the decision making process on different scales. The scale size $$r$$ determines the maximum number of allowed hops between two nodes in order to reach each other. In modelling a network function, our focus from the complexity point of view is the degree of interconnectivity, which is represented by the reachability of functional parts. $$R$$ is the maximum scale size of the system, which is defined as the longest shortest path in the entire topology (i.e., the graph diameter of the functional topology). If $$r = R$$ the reachability of every node in the topology is equal to 1. In order to capture the relationships that underpin the operation of a given network function, we consider the interactions enabled by the structure of the functional topology on various scales of operation. Specifically, we consider that a node interacts if another node can reach this node on a particular scale. As such, we employ the Bernoulli random variable $$x_n$$ to describe the potential for a node to interact on a particular scale, under the assumption that interactions are uniformly initiated by all nodes within the topology. Therefore, the probability distribution of $$x_n$$ is determined by the reachability of node $$n$$ for a given scale size $$r$$. Equation (4.1) provides the relative reachability of node $$n$$, where $$i_r^n$$ is the number of nodes that can reach node $$n$$ for a given scale $$r$$ and $$j$$ represents the number of nodes for the given subgraph. Table 1 summarizes the notation used in our equations.   \begin{align}\label{eq:probabilityOfInteraction} p_r(x_n=1) = \dfrac{i_r^n}{j} \end{align} (4.1) Table 1 The notation used in the equations Symbols  Meanings  $$n$$  Node  $$N$$  Total number of nodes in the functional topology  $$j$$  Subgraph size—number of nodes in the subgraph  $$r$$  Scale size  $$R$$  Maximum scale size, which is defined as the longest shortest path in the whole functional topology  $$\Lambda_k^j$$  One of the $$k$$ subgraphs with $$j$$ nodes that is induced from the functional topology graph  $$i_r^n$$  Number of nodes that can reach node $$n$$ for a given subgraph  $$x_n$$  Bernoulli random variable. $$x_n = 1$$ indicates that an interaction in the course of function operation involves node $$n$$, whereas $$x_n=0$$ indicates that the interaction does not involve node $$n$$, for a given scale  $$X$$  Since $$x_n$$ is a Bernoulli random variable $$X = \{0,1\}$$  $$p_r(x_n=1), p_r(x_n=0)$$  Probabilities that any given interaction in the course of function operation involves or does not involve node $$n$$ for a given scale r  $$H_r(x_n)$$  Entropy of node $$n$$, which indicates the uncertainty of involvement of node $$n$$ in the operation of a network function for a given scale size $$r$$  Symbols  Meanings  $$n$$  Node  $$N$$  Total number of nodes in the functional topology  $$j$$  Subgraph size—number of nodes in the subgraph  $$r$$  Scale size  $$R$$  Maximum scale size, which is defined as the longest shortest path in the whole functional topology  $$\Lambda_k^j$$  One of the $$k$$ subgraphs with $$j$$ nodes that is induced from the functional topology graph  $$i_r^n$$  Number of nodes that can reach node $$n$$ for a given subgraph  $$x_n$$  Bernoulli random variable. $$x_n = 1$$ indicates that an interaction in the course of function operation involves node $$n$$, whereas $$x_n=0$$ indicates that the interaction does not involve node $$n$$, for a given scale  $$X$$  Since $$x_n$$ is a Bernoulli random variable $$X = \{0,1\}$$  $$p_r(x_n=1), p_r(x_n=0)$$  Probabilities that any given interaction in the course of function operation involves or does not involve node $$n$$ for a given scale r  $$H_r(x_n)$$  Entropy of node $$n$$, which indicates the uncertainty of involvement of node $$n$$ in the operation of a network function for a given scale size $$r$$  Table 1 The notation used in the equations Symbols  Meanings  $$n$$  Node  $$N$$  Total number of nodes in the functional topology  $$j$$  Subgraph size—number of nodes in the subgraph  $$r$$  Scale size  $$R$$  Maximum scale size, which is defined as the longest shortest path in the whole functional topology  $$\Lambda_k^j$$  One of the $$k$$ subgraphs with $$j$$ nodes that is induced from the functional topology graph  $$i_r^n$$  Number of nodes that can reach node $$n$$ for a given subgraph  $$x_n$$  Bernoulli random variable. $$x_n = 1$$ indicates that an interaction in the course of function operation involves node $$n$$, whereas $$x_n=0$$ indicates that the interaction does not involve node $$n$$, for a given scale  $$X$$  Since $$x_n$$ is a Bernoulli random variable $$X = \{0,1\}$$  $$p_r(x_n=1), p_r(x_n=0)$$  Probabilities that any given interaction in the course of function operation involves or does not involve node $$n$$ for a given scale r  $$H_r(x_n)$$  Entropy of node $$n$$, which indicates the uncertainty of involvement of node $$n$$ in the operation of a network function for a given scale size $$r$$  Symbols  Meanings  $$n$$  Node  $$N$$  Total number of nodes in the functional topology  $$j$$  Subgraph size—number of nodes in the subgraph  $$r$$  Scale size  $$R$$  Maximum scale size, which is defined as the longest shortest path in the whole functional topology  $$\Lambda_k^j$$  One of the $$k$$ subgraphs with $$j$$ nodes that is induced from the functional topology graph  $$i_r^n$$  Number of nodes that can reach node $$n$$ for a given subgraph  $$x_n$$  Bernoulli random variable. $$x_n = 1$$ indicates that an interaction in the course of function operation involves node $$n$$, whereas $$x_n=0$$ indicates that the interaction does not involve node $$n$$, for a given scale  $$X$$  Since $$x_n$$ is a Bernoulli random variable $$X = \{0,1\}$$  $$p_r(x_n=1), p_r(x_n=0)$$  Probabilities that any given interaction in the course of function operation involves or does not involve node $$n$$ for a given scale r  $$H_r(x_n)$$  Entropy of node $$n$$, which indicates the uncertainty of involvement of node $$n$$ in the operation of a network function for a given scale size $$r$$  Shannon entropy for each node of the given subgraph with size $$j$$, and scale size $$r$$ is calculated with equation (4.2).   \begin{align}\label{eq:entropy} H_r(x_n) = \displaystyle\sum_{x_n \in X} p_r(x_n) \cdot \log_{2}\dfrac{1}{p_r(x_n)} \end{align} (4.2) Since the probabilities in equations (4.1) and (4.2) indicate the relative reachability of a node, entropy in our functional model represents the uncertainty of interaction of node $$n$$ during the operation of a network function for a given scale size $$r$$. The uncertainty of interaction of a node depends on the role of this node in the graph that represents the function (e.g., hub, stub, disconnected node). A node with zero entropy functionally represents a hub or a disconnected node. A hub in the functional topology is a node connected to all other nodes, which means that the reachability of this node is $$p_r(x_n=1) = 1$$. Conversely, a disconnected node has the non-reachability $$p_r(x_n=0) = 1$$. A hub is a functionality or informational source that interacts with each subtask in the functional topology. In contrast, a disconnected node in the functional framework represents a functionality not related to the modelled function, which means that this node does not provide information of interest for any part of our model. The total amount of information of the $$k^{th}$$ subgraph with $$j$$ nodes for scale $$r$$ is calculated with equation (4.3). $$\Lambda_k^j$$ is one of the $$k$$ subgraphs with $$j$$ nodes. The total amount of information represents the total uncertainty, which is related to the actual roles of nodes that appear within a subgraph and different subgraph patterns.   \begin{align}\label{eq:totalAmountOfInformationSubgraph} I_r(\Lambda_k^j) = \displaystyle\sum_{n \in \Lambda_k^j} H_r(x_n) \end{align} (4.3) The average amount of information for a given subgraph size $$j$$ is calculated with equation (4.4). $$\beta_j$$ in the equation represents the number of connected subgraphs with size $$j$$.   \begin{align}\label{eq:averageAmountOfInformationSubgraph} \langle I_r(\Lambda^j) \rangle = \dfrac{1}{\beta_j}\displaystyle\sum_{k =1}^{\beta_j} I_r(\Lambda_k^j) \end{align} (4.4) Functional complexity is calculated with equation (4.5).   \begin{align}\label{eq:complexity} C_F = \dfrac{1}{R-1}\displaystyle\sum_{r =1}^{R-1}\sum_{j = 1+r}^{N} \left| \langle I_r(\Lambda^j) \rangle - \dfrac{r+1-j}{r+1-N} I_r(\Lambda^N)\right| \end{align} (4.5) Note that $$\Lambda^N$$ is the set of all nodes in the functional topology. For $$j < 1 + r$$ the amount of information is equal to zero, because every subgraph with size $$j < 1 + r$$ for the scale size $$r$$ represents a full mesh topology in terms of reachability, therefore, $$H_r(x_n) = 0$$ and $$I_r(\Lambda_k^j) = 0$$. As shown in equation (4.5), in order to determine the complexity of an implementation of a network function, we compare this particular implementation $$(\langle I_r(\Lambda^j) \rangle)$$ to a non-complex model of itself $$(\frac{r+1-j}{r+1-N} I_r(\Lambda^N))$$. A non-complex model is expressed by describing the functional parts, which provides full information about such a network function because the function is the sum of the functionalities of its parts. Therefore, the non-complex model assumes that every functional part always contributes the same amount of information, meaning that the increasing number of analysed nodes leads to a linear increase in the total amount of information and in equation (4.5), it is represented by $$\frac{r+1-j}{r+1-N}I_r(\Lambda^N)$$. Conversely, a complex implementation implies that the network function relies on communication between its parts which results in a higher utility outcome, i.e., greater than the sum of its parts. Our functional complexity metric captures this difference between the amount of information for the complex and non-complex implementation, which is modelled with the inner sum in equation (4.5). Since we express the potential of a node to interact with other nodes as its reachability in the functional topology, Shannon entropy calculated based on this reachability represents the uncertainty of interactions for a subgraph of the functional topology. In equation (4.5), we capture the average uncertainty of interactions for all subgraph sizes ($$\langle I_r(\Lambda^j) \rangle$$), and compare it to the uncertainty of interactions which is expected from the non-complex model, which is the functional complexity and in equation (4.5) it is represented by the inner sum. This means that the functional complexity captures how much more information exits in the interactions between nodes than it would be expected from a naive linear representation of these interactions. In engineering, non-linear problems are often approximated as linear problems for small changes in the input of the system. This approximation often results in models that have limited applicability, and the functional complexity quantifies how much information is lost by this linear approximation. Shannon entropy reaches its maximum if the reachability of the nodes is $$p_r(x_n=1) = 1/2$$, which means that a sparse graph with almost uniform distribution of links among nodes results in high values of $$H_r(x_n)$$. This again, leads to high values of $$I_r(\Lambda_k^j)$$, which result in high functional complexity. The functional complexity is zero for a fully connected and for a disconnected graph. The reachability of each node in a fully connected and disconnected graph are equal to 1 and 0, respectively, which results in zero Shannon entropy and zero complexity. The variety of roles emphasises the importance of interconnectivity of functional parts. Since nodes represent functional parts, different roles refer to different interactions that underpin the operation of a network function. If one node is highly connected to a group of nodes, this means that it influences the entire group. At the same time the group has a high influence on the operation of this node. In our frequency allocation example, the disconnected topology shows that every node is independent, which results in one simple role (disconnected node) for every subgraph. Describing the relationship between a single element and the rest of the functional topology provides all necessary information needed to understand the relationships of the entire topology. Therefore, this structure is not considered as complex. Conversely, the self-organizing algorithm provides different roles for nodes. This results in a complex structure, where the outcome depends on the communication between the structural parts, which means that the communication between system entities becomes more important to understand than the entities themselves. 5. Analysis In this section, we apply our complexity model to several functional topologies to examine the main properties of the functional complexity metric. In addition to the two implementations of the frequency allocation function, we also investigate common graph structures (e.g., ring, star, bus, full mesh) that describe complex and non-complex functional relations. In the course of this analysis, we present the relationship between the complexity of a function and graph theory metrics that describe the functional topology representation of the network function. A complex system, and hence a complex function, is determined by many parameters. We compare our metric to the following graph theoretic notions to highlight the utility of our methodology: Number of nodes, Average path length, Clustering coefficient. Intuitively, if the number of nodes increases the system becomes more complex. The average path length indicates the distance between elements, which implicitly refers to the relationship strengths in the network. The clustering coefficient provides information about the overall strengths of functional dependencies between nodes grouped around a central entity. All these metrics provide useful information about certain organizational characteristics of the system. We start the analysis with common graph structures like a bus, ring, star and full mesh topology to investigate the impact of different graph structures on the amount of complexity. Figure 3 shows complexity values of theses topologies in the range of six to ten nodes. Additionally, we present the correlation between the complexity metric and different graph theory metrics. Fig. 3. View largeDownload slide Complexity of a bus, ring and star topology. Fig. 3. View largeDownload slide Complexity of a bus, ring and star topology. 5.1 Bus, ring, star and full mesh topologies A full mesh topology results in zero complexity for any number of nodes. Therefore, even though a full mesh topology provides a densely connected structure, the overall relationships between functional parts represented by a full mesh topology are non-complex. The structures of any subgraph in a full mesh topology are also full mesh connectivity patterns. This means that a full mesh topology represents a function in which every functional part interacts with all other entities in order to make a decision. The functional structures and roles of nodes in a graph that represents such functions are always the same (each individual node is a hub). This means that in order to describe the system (the function), it is enough to describe an individual element and such functions are considered as non-complex. All the nodes in a bus topology are fairly spread out (i.e., the average path length between nodes is high). In other words, the bus topology represents a connectivity pattern with weak overall connections among parts of the topology. The bus topology does not provide a great variety of organizational structures, which results in low complexity. According to Fig. 3, functional complexity of the bus topology increases with the increase in the number of nodes. Figure 3 shows that the functional complexity of a ring topology is higher than the complexity of a bus topology for the same number of nodes. The ring topology conforms to the same trend in which complexity increases with the number of nodes. The ring topology compared to the bus is less spread out (i.e., the average path length is shorter) and therefore provides tighter connections between the nodes. As the nodes are closer to each other, due to the additional path, this functional topology represents tighter functional relationships compared with the bus topology. Tighter functional relationships result in higher complexity. The star topology is a functional relationship in which one node interacts with all other nodes in the decision making process. It also conforms to the same trend in which complexity increases with the number of nodes in the topology. The star structure has tight connections between its parts. This means that the star topology depicts stronger functional relationships compared with the bus and ring topology. Therefore, the star topology has the highest complexity value compared with the other structures presented in Fig. 3. The analysis of simple graph structures (bus, ring, star and full mesh) gives a general overview of the impact of different graph organizations on the amount of complexity. The functional complexity metric captures the diversity of structures and roles of nodes, which provides a different perspective to analyse the complex relationships between system entities. According to Fig. 3, the star topology is the most complex structure compared with the bus, ring and full mesh topologies. Considering the sparse connectivity and short average path length between entities represented with a star topology, we believe that this type of relationship contributes to the increase in complexity. Based on the analysis of different sizes of ring and bus topologies, we believe that spreading (distributing) the functionality all over the topology also affects the increasing complexity values. We expect that a combination of these two types of relationships results in highly complex organizational structures. Such a structure consists of local centres (star subgraphs/clusters) that are highly interconnected. As functional complexity captures the variety of structural patterns, we expect that complexity is high if the number of local centres is high. 5.2 Comparison with graph theory metrics In this subsection, we analyse the relationship between complexity and different graph theory metrics. We also want to emphasize that the graph theory metrics do not include the quantity that is measured by equation (4.5). In order to do so, we investigate the correlation between these metrics, and show that the graph theory metrics focus on individual aspects (e.g., clustering, connectivity, degree distribution) of the topology, whereas functional complexity quantifies the overall uncertainty of interactions between functional entities which emerge from the local interactions between them. To describe the relationship between the average path length and the functional complexity of an implementation of a network function we analyse all possible graph organizations (distributions of links) between six nodes (see Fig. 4). The Pearson product-moment correlation coefficient for these two metrics is $$-$$0.43 (see Table 2). Notice in Fig. 4 that the highest functional complexity for six nodes is 2.9. Compared with the bus, ring and star topology the highest functional topology is at least 1.5 times higher. An important fact is that for the same average path length we have a range of different complexity values. Therefore, despite the high correlation between the average path length and complexity, we can’t predict the complexity of a structure based on the average path length. Additionally, the maximum value of complexity occurs for an extremely low average path length, which is still higher than one. Figure 4 also shows that the envelope of the complexity values is a non-monotonic function. That is, there exist complexity values for longer average path lengths that are larger than all complexity values for some shorter average path lengths. Notice also that complexity is equal to zero for the average path length equal to one. This value of the average path length represents a full mesh topology. Fig. 4. View largeDownload slide The relationship between the average path length and functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The Pearson product-moment correlation coefficient for these two variables (average path length and functional complexity) is $$-$$0.43. Fig. 4. View largeDownload slide The relationship between the average path length and functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The Pearson product-moment correlation coefficient for these two variables (average path length and functional complexity) is $$-$$0.43. Table 2 Correlation between graph theory metrics and the functional complexity metric for all possible distributions of links between six nodes Correlation variables  Correlation  Average path length—complexity  $$-$$0.43  Clustering coefficient—complexity  0.15  Avgerage path length–clustering coefficient—complexity  0.47  Correlation variables  Correlation  Average path length—complexity  $$-$$0.43  Clustering coefficient—complexity  0.15  Avgerage path length–clustering coefficient—complexity  0.47  Table 2 Correlation between graph theory metrics and the functional complexity metric for all possible distributions of links between six nodes Correlation variables  Correlation  Average path length—complexity  $$-$$0.43  Clustering coefficient—complexity  0.15  Avgerage path length–clustering coefficient—complexity  0.47  Correlation variables  Correlation  Average path length—complexity  $$-$$0.43  Clustering coefficient—complexity  0.15  Avgerage path length–clustering coefficient—complexity  0.47  As shown in Table 2, the correlation between the clustering coefficient and complexity is low (0.15) for six nodes. Figure 5 depicts the relationship between the average clustering coefficient and complexity for six nodes. The average clustering coefficient is a graph theory metric that measures the average number of neighbouring nodes that are neighbours to each other [29]. Therefore, the average clustering coefficient quantifies the strength of functional connections between nodes grouped around local centres. Again, the envelope of the complexity values in this relationship is also non-monotonic. Notice in Fig. 5 that complexity has its maximum for an average clustering coefficient close to one. This is expected because this value of the clustering coefficient represents a network with tight functional connections between nodes grouped around local centres. Notice also that complexity is zero for the average clustering coefficient equal to one. According to the definition of the clustering coefficient, the value one indicates that all neighbours of every node in the functional topology are neighbours to each other, which represents a full mesh topology. Fig. 5. View largeDownload slide The relationship between the clustering coefficient and functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The Pearson product-moment correlation coefficient for these two variables (clustering coefficient and functional complexity) is 0.15. Fig. 5. View largeDownload slide The relationship between the clustering coefficient and functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The Pearson product-moment correlation coefficient for these two variables (clustering coefficient and functional complexity) is 0.15. In order to analyse the joint relationship between complexity and both of the graph theory metrics presented above (the average path length and the average clustering coefficient) we plot all these metrics together on one graph (see Fig. 6). The x and y axis represent the average clustering coefficient and the average path length, respectively and the complexity is represented by the radius of the circles. Additionally, the circles are coloured differently to emphasize the different complexity values. The multivariate correlation between these three variables is 0.47 (see Table 2). The overlapping circles with different radii mean that for the same average path length and average clustering coefficient there exist multiple topologies with different functional complexity values. The functional complexity is an information theory metric, while the average path length and the average clustering coefficient are graph theory metrics, meaning that they quantify different properties, and therefore this was expected. As shown in the analysis above, graph theory metrics allow us to analyse individual aspects of the functional topology, whereas complexity adds additional information about the diversity of relationships between functional parts and provides a different approach to analyse complex network functions. Fig. 6. View largeDownload slide The relationship between the clustering coefficient, average path length and the functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The complexity value is represented by the colour and diameter of circles. Fig. 6. View largeDownload slide The relationship between the clustering coefficient, average path length and the functional complexity for every possible functional topology with six labelled nodes (we consider connected graphs only). We consider all unique combinations of edges starting with the minimum of five up to the maximum of fifteen. The complexity value is represented by the colour and diameter of circles. Figure 7 shows that the correlation between complexity and different graph theory metrics decreases as the number of nodes in the graph increases. This is expected, because the number of graph combinations increases exponentially with the number of nodes. The rapid increase of graph combinations allows us to create a variety of complex structures for the same value of certain graph theory metrics. Hence, the complexity range increases for an individual value of a graph theory metric, meaning that if we would represent these structures with the same graph as shown in Fig. 6, we would get even more overlapping circles with different complexity values for the same average path length and average clustering coefficient. The decrease of correlation between complexity and different graph theory metrics suggests that graph theory metrics do not target the same properties of the system. This means that the complexity metric adds new information, which leads to better understanding of the relationships between system entities. Fig. 7. View largeDownload slide The relationship between the correlation coefficients of the graph theory metrics (average path length, clustering coefficient) and the complexity metric for different sizes of functional topologies. These values were calculated for all unique combinations of $$n$$ nodes and from $$n-1$$ to $$(n * (n-1))/2$$ edges. Fig. 7. View largeDownload slide The relationship between the correlation coefficients of the graph theory metrics (average path length, clustering coefficient) and the complexity metric for different sizes of functional topologies. These values were calculated for all unique combinations of $$n$$ nodes and from $$n-1$$ to $$(n * (n-1))/2$$ edges. 5.3 Complexity of the frequency allocation algorithms In order to analyse the functional complexity of the frequency allocation algorithms presented in the framework section, we apply our complexity model to the functional topology representation of these network functions. Our complexity metric, when applied over the functional topology, gives insight into the functional relationships between system entities, which allows us to focus on the joint effect of functional parts in order to execute the modelled network function. The random frequency allocation algorithm is represented by a disconnected graph. Each element represents a closed system which results in the absence of connections between them. From the system perspective the functional parts of this implementation represent a set of independent elements. As the elements do not interact with each other, in order to describe the set we can simply describe its elements. More precisely, to describe the set we have to describe only one element, because each element of the set is the same. Each element of the set simply assigns one of the available frequencies. Such a set that is represented with independent elements has zero functional complexity. Finally, the self-organizing distributed frequency allocation algorithm is represented by the functional topology shown in Fig. 2a. In order to analyse the complexity of this implementation of the frequency allocation function, we apply our complexity model to the functional topology representation. Figure 8a depicts the deviation in the amount of information with increasing subgraph sizes from a linear increase (i.e., the functional complexity). In equation (4.5) the linear increase is represented by $$(\frac{r+1-j}{r+1-N}I_r(\Lambda^N))$$. As shown in equation (4.5), it is calculated as the uncertainty which is expected from the calculation performed on the whole system ($$I_r(\Lambda^N)$$). The linear increase represents an equivalent simple system implementation, meaning that all the subgraphs of a specific size feature the same uncertainty of interaction. Every functional part contributes with the same amount of information, which results in a linear increase over increasing subgraph sizes. Fig. 8. View largeDownload slide The functional topology has nine nodes; the maximum scale size $$R$$ is 2; the functional complexity is represented by the area between the linear and non-linear function. (a) The relationship between the uncertainty of interactions for all subset sizes ($$\langle I_r(\Lambda^j) \rangle$$) and the uncertainty, which is expected from the calculation performed on the whole system $$(\frac{r+1-j}{r+1-N} I_r(\Lambda^N))$$. (b) The distance between the uncertainty of interactions for all subset sizes and the uncertainty, which is expected from the calculation performed on the whole system $$(\Delta I(\Lambda^j) = | \langle I_r(\Lambda^j) \rangle - \frac{r+1-j}{r+1-N} I_r(\Lambda^N)|)$$, i.e., the functional complexity of the self-organizing frequency assignment approach. Fig. 8. View largeDownload slide The functional topology has nine nodes; the maximum scale size $$R$$ is 2; the functional complexity is represented by the area between the linear and non-linear function. (a) The relationship between the uncertainty of interactions for all subset sizes ($$\langle I_r(\Lambda^j) \rangle$$) and the uncertainty, which is expected from the calculation performed on the whole system $$(\frac{r+1-j}{r+1-N} I_r(\Lambda^N))$$. (b) The distance between the uncertainty of interactions for all subset sizes and the uncertainty, which is expected from the calculation performed on the whole system $$(\Delta I(\Lambda^j) = | \langle I_r(\Lambda^j) \rangle - \frac{r+1-j}{r+1-N} I_r(\Lambda^N)|)$$, i.e., the functional complexity of the self-organizing frequency assignment approach. The non-linear increase represents the heterogeneity of structures within the functional representation of a network function, which indicates that the relationship between functional parts is complex. As shown in equation (4.5), the non-linear increase is calculated as the average amount of information for a specific subgraph size ($$\langle I_r(\Lambda^j) \rangle$$), and it represents the uncertainty of interaction among nodes for this specific subgraph size. According to equation (4.5), complexity is calculated as the sum of differences between the average amount of information for a specific subgraph size and the amount of information which is expected from the calculation performed on the whole system (the non-linear and linear functions in Fig. 8a). Considering that for the functional topology of the self-organizing algorithm $$R=2$$, the multi-scale approach applied on this functional topology implies only a single scale analysis, that is $$r=1$$. The subgraph sizes of interest are in the range of 2–9. Considering that $$r=1$$, subgraphs with the size two or smaller represent full mesh topologies. The maximum value of the subgraph size is nine because the functional topology consists of nine nodes. The complexity of the self-organizing frequency allocation algorithm is 1.69 and it is represented by the area between the linear and non-linear functions in Fig. 8a. Figure 8b shows the distance between the uncertainty of interactions for all subset sizes and the uncertainty which is expected from the calculation performed on the whole system, i.e., the functional complexity of the self-organizing frequency allocation approach. More precisely, Fig. 8b depicts the single scale complexity function, which is represented by the inner sum of equation (4.5). The functional complexity is the sum of the function depicted in Fig. 8b. Similarly, the authors of [27] analyse the two frequency allocation algorithms. The complexity metric used in [27] is excess entropy. Even though we are not aware of any direct relation between our functional complexity and excess entropy, the work proposed by the authors of [27] is the closest to ours in terms of applying complex systems tools to analyse network functions. In contrast to our work, they analyse the complexity of the outcome (i.e., the frequency allocation) of these implementations. The results that are presented in their work show that the random approach produces an outcome with zero complexity, whereas the self-organizing distributed frequency allocation algorithm produces a complex outcome. Herein, our functional complexity metric analyses rather the complexity of the implementation itself than the output of the network function. As discussed above, the functional complexity of the random frequency allocation algorithm is zero, and the functional complexity of the self-organizing distributed frequency allocation algorithm is 1.69. This suggests that a complex implementation of a function results in a complex outcome. In [27] the authors show that the response to a change of a system with highly complex output happens in a more manageable fashion causing less disruption. The authors of [27] also emphasize the higher robustness of a complex outcome compared to a non-complex outcome. Making a connection between the implementation and the outcome of a function correlates the characteristics of the outcome with the complex relationships that underpin the functional structure. 6. Conclusion The growing size and heterogeneity of telecommunication networks leads to a need to change the way we analyse and model them. Also the rapid evolution of network services demands a new approach to analyse them. The aim of this article was to contribute to this new way of studying networks. We focus on network functions as building blocks of services. We consider network functions as complex systems. In order to provide a new approach to analyse and understand the impact of complex functional relationships between system entities, we developed a new framework. The framework allows us to visualise an implementation of a network function with graphs called functional topologies. We provide several examples that show how to map a network function into a functional topology. The graph visualisation of the implementation allows us to focus on the relationships between entities rather than the entities themselves. The next step after mapping an implementation of a network function into a functional topology was to provide a metric that quantifies the organizational structure of the topology. Our functional complexity ($$C_F$$) captures the variety of roles that each node in the topology has and the variety of structural patterns present in the topology. $$C_F$$ quantifies the deviation of the implementation of a network function from the non-complex model of itself. The quantification of this deviation as presented in Section 4 provides a new approach to understand increasingly complex telecommunication networks. In order to study the impact of different structural patterns on the functional complexity in Section 5, we start by analysing the complexity of simple graph structures (bus, ring, star and mesh). Additionally, we provide a detailed study that investigates the impact of several graph theory metrics on the functional complexity. We investigated the correlation between the combination of the graph theory metrics and complexity, due to the absence of high correlation between any graph theory metrics and the functional complexity. This analysis allowed us to make conclusions about the organizational structures that is needed in order to achieve high complexity. In this article, we also analysed the functional complexity of two different implementations of the frequency allocation function (random and self-organizing). First, in Section 3 we explain how to map these implementations into functional topologies, and in Section 5, we apply our complexity metric to quantify the functional complexity of these implementations. We showed that the random frequency allocation has zero complexity (and represents therefore a non-complex implementation), whereas the self-organizing implementation shows higher complexity. This allows us to make a connection between our results and the results from [27], where the authors calculated the complexity of the outcome of these implementations and got the same kind of results. This implies that a complex implementation results in a complex outcome of the function and as a part of our future work, due to the similar trends exhibited by both complexity metrics, we are confident that we can make justified assumptions about the robustness and response to change similar to [27]. In [30, 31], we showed how to apply our framework to wireless sensor networks in order to analyse the tradeoff between energy efficiency and scalability of different clustering algorithms. Additionally, we use the functional topology framework as a part of our current work on distributed optimization in cellular networks to model the relationships between eNodeBs. We are also working on sampling techniques for functional topologies which will allow us to apply the framework to large networks. As a part of our current research we are also applying the functional framework to model the self-organized time division multiple access algorithm in the very high frequency (VHF) maritime mobile band for universal shipborne automatic identification systems. Our end goal, after investigating the relationships between functional complexity and different network key performance indicators (KPIs), is to use functional complexity to tune the tradeoff between these network KPIs. The main advantage of using a metric like functional complexity instead of KPIs to tune and optimize the network is that functional complexity can be computed offline without relying on data collected in the network, which speeds up the network optimization process. On the other hand, as shown in [32], the first step in the process of calculating a KPI is to collect measurements. In order to collect the measurements the network has to be operational, meaning that the process of optimizing certain aspects of the network is possible only by monitoring the real network dynamics. As shown in the article, the functional topologies capture the relations between functional parts of the network based on the rules that are defined by the communication protocols themselves. In other words, the functional topology captures certain network dynamics without relying on measurements. Therefore, the functional complexity can be calculated even if the network is offline. By showing high correlation between the complexity metric and network KPIs (e.g., [30, 31]), we show that a network operator would be able to optimize the network aspects related to those KPIs before the network is operational. Overall, our complexity metric quantifies telecommunication networks in terms of their functional relationships and provides a wholly new approach to understanding the operation of networks. More precisely, the complexity metric quantifies the relationships employed during operation of network functions. This provides a new approach to study networks, which is especially relevant for next generation networks. Funding This work was supported by the Science Foundation Ireland under (3/RC/2077). Footnotes 1 With the term ‘complexity’ we refer to a specific set of complex systems science quantities, related to the interactions between functional entities (rather than to the entities themselves). References 1. Liu Y.-Y., Slotine J.-J. & Barabási A.-L. ( 2013) Observability of complex systems. Proc. Natl. Acad. Sci. USA , 110, 2460– 2465. Google Scholar CrossRef Search ADS   2. Bar-Yam Y. ( 2004) Multiscale complexity/entropy. Adv. Complex Syst. , 7, 47– 63. Google Scholar CrossRef Search ADS   3. Yaeger L. ( 2007) Evolution Selects for and Against Complexity. Available at: http://vw.slis.indiana.edu/talks-fall07/Yeager.pdf. 4. Tononi G., Sporns O. & Edelman G. M. ( 1994) A measure for brain complexity: relating functional segregation and integration in the nervous system. Proc. Natl. Acad. Sci. USA , 91, 5033– 5037. Google Scholar CrossRef Search ADS   5. Lopez-Ruiz R., Mancini H. L. & Calbet X. ( 1995) A statistical measure of complexity. Phys. Lett. A , 209, 321– 326. Google Scholar CrossRef Search ADS   6. Balduzzi D. & Tononi G. ( 2008) Integrated information in discrete dynamical systems: motivation and theoretical framework. PLoS Comput. Biol. , 4. 7. Joshi N. J., Tononi G. & Koch C. ( 2013) The minimal complexity of adapting agents increases with fitness. PLoS Comput. Biol. , 9, e1003111. Google Scholar CrossRef Search ADS PubMed  8. Evans T. P., Ostrom E. & Gibson C. ( 2002) Scaling issues with social data in integrated assessment modeling. Integrated Assessment , 3, 135– 150. Google Scholar CrossRef Search ADS   9. Lloyd S. ( 2001) Measures of complexity: a nonexhaustive list. IEEE Control Syst. , 21, 7– 8. Google Scholar CrossRef Search ADS   10. Wang Z., Zhang D., Zhou X., Yang D., Yu Z. & Yu Z. ( 2014) Discovering and profiling overlapping communities in location-based social networks. IEEE Trans. Syst. Man Cybern. Syst. , 44, 499– 509. Google Scholar CrossRef Search ADS   11. Ahn Y.-Y., Bagrow J. P. & Lehmann S. ( 2010) Link communities reveal multiscale complexity in networks. Nature , 466, 761– 764. Google Scholar CrossRef Search ADS PubMed  12. Evans T. S. & Lambiotte R. ( 2009) Line graphs, link partitions, and overlapping communities. Phys. Rev. E ., 80, 016105-1, 016105-8. 13. Newman M. E. J. & Girvan M. ( 2004) Finding and evaluating community structure in networks. Phys. Rev. E , 69, 026113. Google Scholar CrossRef Search ADS   14. Newman M. E. J. ( 2006) Modularity and community structure in networks. Proc. Natl. Acad. Sci. USA , 103, 8577– 8582. Google Scholar CrossRef Search ADS   15. Lanham M. J., Morgan G. P. & Carley K. M. ( 2013) Social network modeling and agent-based simulation in support of Crisis De-escalation. IEEE Trans. Syst. Man Cybern. Syst. , 44, 103– 110. Google Scholar CrossRef Search ADS   16. Bristow M., Fang L. & Hipel K. W. ( 2014) Agent-based modeling of competitive and cooperative behavior under conflict. IEEE Trans. Syst. Man Cybern. Syst. , 44, 834– 850. Google Scholar CrossRef Search ADS   17. González M., Hidalgo C. & Barabási A. L. ( 2008) Understanding individual human mobility patterns. Nature , 453, 779– 782. Google Scholar CrossRef Search ADS PubMed  18. Batool K. & Niazi M. A. ( 2017) Modeling the internet of things: a hybrid modeling approach using complex networks and agent-based models. Complex Adapt. Syst. Model ., 5, 4– 23. Google Scholar CrossRef Search ADS   19. Kaminski N. J., Murphy M. & Marchetti N. ( 2016) Agent-based modeling of an IoT network. IEEE Int. Symp. Syst. Eng. , pp. 1– 7. 20. Newman M. ( 2003) The structure and function of complex networks. SIAM review , 45, 167– 256. Google Scholar CrossRef Search ADS   21. Butler S. ( 2008) Eigenvalues and structures of graphs. Ph.D. dissertation . 22. Chakrabarti D. & Faloutsosc C. ( 2008) Graph Mining: Laws, Generators and Tools . Lecture Notes in Computer Science: Springer-Verlag. 23. Wang P., Gonzalez M. C., Hidalgo C. A. & Barabasi A.-L. ( 2009) Understanding the spreading patterns of mobile phone viruses. Science , 324, 1071– 1076. Google Scholar CrossRef Search ADS PubMed  24. Onnela J.-P., Saramäki J., Hyvönen J., Szabó G., Lazer D., Kaski K., Kertész J. & Barabási A L. ( 2007) Structure and tie strengths in mobile communication networks. Proc. Natl. Acad. Sci. USA , 104, 7332– 7336. Google Scholar CrossRef Search ADS   25. Beigy H. & Meybodi M. R. ( 2010) Cellular learning automata with multiple learning automata in each cell and its applications. IEEE Trans. Syst. Man Cybern. Syst. , 40, 54– 65. Google Scholar CrossRef Search ADS   26. Macaluso I., Cornean H., Marchetti N. & Doyle L. ( 2014) Complex communication systems achieving interference-free frequency allocation. IEEE Int. Conf. Commun. , 1447– 1452. 27. Macaluso I., Galiotto C., Marchetti N. & Doyle L. ( 2016) A complex systems science perspective on wireless networks. J. Syst. Sci. Complex. , 29, 1034– 1056. Google Scholar CrossRef Search ADS   28. Kaminski N. J. ( 2014) Social Intelligence for Cognitive Radios. Ph.D. Dissertation , Virginia Polytechnic Institute and State University, Blacksburg, Virginia. 29. Newman M. ( 2010) Networks: An Introduction.  New York, NY: Oxford University Press, Inc. Google Scholar CrossRef Search ADS   30. Dzaferagic M., Kaminski N. J., Macaluso I. & Marchetti N. ( 2017) Relation between functional complexity, scalability and energy efficiency in WSNs. Int. Wirel. Commun. Mobile Comput. Conf. , pp. 675– 680. 31. Dzaferagic M., Kaminski N. J., Macaluso I. & Marchetti N. ( 2017) How functional complexity affects the scalability-energy efficiency trade-off of HCC WSN clustering IEEE Wirel. Commun. Network. Conf . 32. 3GPP ( 2010) 3GPP TS 32.450 version 9.1.0. http://www.qtc.jp/3GPP/Specs/32450-910.pdf. © The authors 2018. Published by Oxford University Press. All rights reserved. This article is published and distributed under the terms of the Oxford University Press, Standard Journals Publication Model (https://academic.oup.com/journals/pages/about_us/legal/notices)

### Journal

Journal of Complex NetworksOxford University Press

Published: Mar 28, 2018

## You’re reading a free preview. Subscribe to read the entire article.

### DeepDyve is your personal research library

It’s your single place to instantly
that matters to you.

over 18 million articles from more than
15,000 peer-reviewed journals.

All for just $49/month ### Explore the DeepDyve Library ### Search Query the DeepDyve database, plus search all of PubMed and Google Scholar seamlessly ### Organize Save any article or search result from DeepDyve, PubMed, and Google Scholar... all in one place. ### Access Get unlimited, online access to over 18 million full-text articles from more than 15,000 scientific journals. ### Your journals are on DeepDyve Read from thousands of the leading scholarly journals from SpringerNature, Elsevier, Wiley-Blackwell, Oxford University Press and more. All the latest content is available, no embargo periods. DeepDyve ### Freelancer DeepDyve ### Pro Price FREE$49/month
\$360/year

Save searches from
PubMed

Create lists to

Export lists, citations