{"title": "Large scale networks fingerprinting and visualization using the k-core decomposition", "book": "Advances in Neural Information Processing Systems", "page_first": 41, "page_last": 50, "abstract": null, "full_text": "Large scale networks \ufb01ngerprinting and\n\nvisualization using the k-core decomposition\n\nJ. Ignacio Alvarez-Hamelin\u2217\nLPT (UMR du CNRS 8627),\n\nUniversit\u00b4e de Paris-Sud,\n\n91405 ORSAY Cedex France\n\nLuca Dall\u2019Asta\n\nLPT (UMR du CNRS 8627),\n\nUniversit\u00b4e de Paris-Sud,\n\n91405 ORSAY Cedex France\n\nIgnacio.Alvarez-Hamelin@lri.fr\n\nLuca.Dallasta@th.u-psud.fr\n\nAlain Barrat\n\nLPT (UMR du CNRS 8627),\n\nUniversit\u00b4e de Paris-Sud,\n\n91405 ORSAY Cedex France\n\nAlessandro Vespignani\nSchool of Informatics,\n\nIndiana University,\n\nBloomington, IN 47408, USA\n\nAlain.Barrat@th.u-psud.fr\n\nalexv@indiana.edu\n\nAbstract\n\nWe use the k-core decomposition to develop algorithms for the analysis\nof large scale complex networks. This decomposition, based on a re-\ncursive pruning of the least connected vertices, allows to disentangle the\nhierarchical structure of networks by progressively focusing on their cen-\ntral cores. By using this strategy we develop a general visualization algo-\nrithm that can be used to compare the structural properties of various net-\nworks and highlight their hierarchical structure. The low computational\ncomplexity of the algorithm, O(n + e), where n is the size of the net-\nwork, and e is the number of edges, makes it suitable for the visualization\nof very large sparse networks. We show how the proposed visualization\ntool allows to \ufb01nd speci\ufb01c structural \ufb01ngerprints of networks.\n\n1\n\nIntroduction\n\nIn recent times, the possibility of accessing, handling and mining large-scale networks\ndatasets has revamped the interest in their investigation and theoretical characterization\nalong with the de\ufb01nition of new modeling frameworks. In particular, mapping projects of\nthe World Wide Web and the physical Internet offered the \ufb01rst chance to study topology\nand traf\ufb01c of large-scale networks. Other studies followed describing population networks\nof practical interest in social science, critical infrastructures and epidemiology [1, 2, 3].\nThe study of large scale networks, however, faces us with an array of new challenges. The\nde\ufb01nitions of centrality, hierarchies and structural organizations are hindered by the large\nsize of these networks and the complex interplay of connectivity patterns, traf\ufb01c \ufb02ows and\ngeographical, social and economical attributes characterizing their basic elements. In this\n\u2217Further author information: J.I.A-H. is also with Facultad de Ingenier\u00b4\u0131a, Universidad de Buenos\n\nAires, Paseo Col\u00b4on 850, C 1063 ACV Buenos Aires, Argentina.\n\n\fcontext, a large research effort is devoted to provide effective visualization and analysis\ntools able to cope with graphs whose size may easily reach millions of vertices.\n\nIn this paper, we propose a visualization algorithm based on the k-core decomposition\nable to uncover in a two-dimensional layout several topological and hierarchical properties\nof large scale networks. The k-core decomposition [4] consists in identifying particular\nsubsets of the graph, called k-cores, each one obtained by recursively removing all the\nvertices of degree smaller than k, until the degree of all remaining vertices is larger than or\nequal to k. Larger values of the index k clearly correspond to vertices with larger degree\nand more central position in the network\u2019s structure.\n\nThis visualization tool allows the identi\ufb01cation of real or computer-generated networks\u2019\n\ufb01ngerprints, according to properties such as hierarchical arrangement, degree correlations\nand centrality. The distinction between networks with seemingly similar properties is\nachieved by inspecting the different layouts generated by the visualization algorithm. In\naddition, the running time of the algorithm grows only linearly with the size of the net-\nwork, granting the scalability needed for the visualization of very large sparse networks.\nThe proposed (publicly available [5]) algorithm appears therefore as a convenient method\nfor the general analysis of large scale complex networks and the study of their architecture.\n\nThe paper is organized as follows: after a brief survey on k-core studies (section 2), we\npresent the basic de\ufb01nitions and the graphical algorithms in section 3 along with the basic\nfeatures of the visualization layout. Section 4 shows how the visualizations obtained with\nthe present algorithm may be used for network \ufb01ngerprinting, and presents two examples\nof visualization of real networks.\n\n2 Related work\n\nWhile a large number of algorithms aimed at the visualization of large scale networks have\nbeen developed (e.g., see [6]), only a few consider explicitly the k-core decomposition.\nVladimir Batagelj et al. [7] studied the k-core decomposition applied to visualization prob-\nlems, introducing some graphical tools to analyse the cores, mainly based on the visualiza-\ntion of the adjacency matrix of certain k-cores. To the best of our knowledge, the algorithm\npresented by Baur et al. in [8] is the only one completely based on a k-core analysis and\ndirectly targeted at the study of large information networks. This algorithm uses a spectral\nlayout to place vertices having the largest shell index. A combination of barycentric and\niteratively directed-forces allows to place the vertices of each k-shell, in decreasing order.\nFinally, the network is drawn in three dimensions, using the z axis to place each shell in a\ndistinct horizontal layer. Note that the spectral layout is not able to distinguish two or more\ndisconnected components. The algorithm by Baur et al. is also tuned for representing AS\ngraphs and its total complexity depends on the size of the highest k-core (see [9] for more\ndetails on spectral layout), making the computation time of this proposal largely variable.\nIn this respect, the algorithm presented here is different in that it can represent networks in\nwhich k-cores are composed by several connected components. Another difference is that\nrepresentations in 2D are more suited for information visualization than other representa-\ntions (see [10] and references therein). Finally, the algorithm parameters can be universally\nde\ufb01ned, yielding a fast and general tool for analyzing all types of networks.\n\nIt is interesting to note that the notion of k-cores has been recently used in biologically\nrelated contexts, where it was applied to the analysis of protein interaction networks [11] or\nin the prediction of protein functions [12, 13]. Further applications in Internet-related areas\ncan be found in [14], where the k-core decomposition is used for \ufb01ltering out peripheral\nAutonomous Systems (ASes), and in [15] where the scale invariant structure of degree\ncorrelations and mapping biases in AS maps is shown. Finally in [16, 17], an interesting\napproach based on the k-core decomposition has been used to provide a conceptual and\n\n\fstructural model of the Internet; the so-called medusa model for the Internet.\n\n3 Graphical representation\nLet us consider a graph G = (V, E) of |V | = n vertices and |E| = e edges; a k-core is\nde\ufb01ned as follows [4]:\n-A subgraph H = (C, E|C) induced by the set C \u2286 V is a k-core or a core of order k iff\n\u2200v \u2208 C : degreeH(v) \u2265 k, and H is the maximum subgraph with this property.\nA k-core of G can therefore be obtained by recursively removing all the vertices of degree\nless than k, until all vertices in the remaining graph have at least degree k. Furthermore,\nwe will use the following de\ufb01nitions:\n-A vertex i has shell index c if it belongs to the c-core but not to (c + 1)-core. We denote\nby ci the shell index of vertex i.\n-A shell Cc is composed by all the vertices whose shell index is c. The maximum value\nc such that Cc is not empty is denoted cmax. The k-core is thus the union of all shells Cc\nwith c \u2265 k.\n-Each connected set of vertices having the same shell index c is a cluster Qc. Each shell\nCc is thus composed by clusters Qc\nmax is the\nnumber of clusters in Cc.\nThe visualization algorithm we propose places vertices in 2 dimensions, the position of\neach vertex depending on its shell index and on the index of its neighbors. A color code\nallows for the identi\ufb01cation of shell indices, while the vertex\u2019s original degree is provided\nby its size that depends logarithmically on the degree. For the sake of clarity, our algorithm\nrepresents a small percentage of the edges, chosen uniformly at random. As mentioned, a\ncentral role in our visualization method is played by multi-components representation of k-\ncores. In the most general situation, indeed, the recursive removal of vertices having degree\nless than a given k can break the original network into various connected components,\neach of which might even be once again broken by the subsequent decomposition. Our\nmethod takes into account this possibility, however we will \ufb01rst present the algorithm in\nthe simpli\ufb01ed case, in which none of the k-cores is fragmented. Then, this algorithm will\nbe used as a subroutine for treating the general case (Table 1).\n\nm, such that Cc = \u222a1\u2264m\u2264qc\n\nmax Qc\n\nm, where qc\n\n3.1 Drawing algorithm for k-cores with single connected component\n\nk-core decomposition. The shell index of each vertex is computed and stored in a vector\nC, along with the shells Cc and the maximum index cmax. Each shell is then decomposed\ninto clusters Qc\nm of connected vertices, and each vertex i is labeled by its shell index ci and\nby a number qi representing the cluster it belongs to.\nThe two dimensional graphical layout. The visualization is obtained assigning to each\nvertex i a couple of polar coordinates (\u03c1i, \u03b1i): the radius \u03c1i is a function of the shell index\nof the vertex i and of its neighbors; the angle \u03b1i depends on the cluster number qi. In\nthis way, k-shells are displayed as layers with the form of circular shells, the innermost\none corresponding to the set of vertices with highest shell index. A vertex i belongs to the\ncmax \u2212 ci layer from the center.\nMore precisely, \u03c1i is computed according to the following formula:\n\n\u03c1i = (1 \u2212 \u0001)(cmax \u2212 ci) +\n\n\u0001\n\n|Vcj\u2265ci(i)|\n\n(cmax \u2212 cj) ,\n\n(1)\n\nX\n\nj\u2208Vcj\u2265ci (i)\n\n\fVcj\u2265ci(i) is the set of neighbors of i having shell index cj larger or equal to ci. The pa-\nrameter \u0001 controls the possibility of rings overlapping, and is one of the only three external\nparameters required to tune image\u2019s rendering.\nInside a given shell, the angle \u03b1i of a vertex i is computed as follow:\n\nX\n\n1\u2264m<qi\n\n(cid:18) |Qqi|\n\n2|Cci|\n\n|Qm|\n|Cci| + N\n\n\u03b1i = 2\u03c0\n\n(cid:19)\n\n, \u03c0 \u00b7 |Qqi|\n|Cci|\n\n,\n\n(2)\n\nwhere Qqi and Cci are respectively the cluster qi and ci-shell the vertex belongs to, N\nis a normal distribution of mean |Qqi|/(2|Cci|) and width 2\u03c0|Qqi|/|Cci|. Since we are\ninterested in distinguishing different clusters in the same shell, the \ufb01rst term on the right\nside of Eq. 2, referring to clusters with m < qi, allows to allocate a correct partition of\nthe angular sector to each cluster. The second term on the right side of Eq. 2, on the other\nhand, speci\ufb01es a random position for the vertex i in the sector assigned to the cluster Qqi.\nColors and size of vertices. Colors depend on the shell index: vertices with shell index\n1 are violet, and the maximum shell index vertices are red, following the rainbow color\nscale. The diameter of each vertex corresponds to the logarithm of its degree, giving a\nfurther information on vertex\u2019s properties. The vertices with largest shell index are placed\nuniformly in a disk of radius u, which is the unit length (u = 1 for this reduced algorithm).\n\n3.2 Extended algorithm for networks with many k-cores components\n\nThe algorithm presented in the previous section can be used as the basic routine to de\ufb01ne\nan extended algorithm aimed at the visualization of networks for which some k-cores are\nfragmented; i.e. made by more than one connected component. This issue is solved by\nassigning to each connected component of a k-core a center and a size, which depends on\nthe relative sizes of the various components. Larger components are put closer to the global\ncenter of the representation (which has Cartesian coordinates (0, 0)), and have larger sizes.\nThe algorithm begins with the center at the origin (0, 0). Whenever a connected component\nof a k-core, whose center p had coordinates (Xp, Yp), is broken into several components by\nremoving all vertices of degree k, i.e. by applying the next decomposition step, a new center\nis computed for each new component. The center of the component h has coordinates\n(Xh, Yh), de\ufb01ned by\nXh = Xp+\u03b4(cmax\u2212ch)\u00b7up\u00b7\u0001h\u00b7cos(\u03c6h) ; Yh = Yp+\u03b4(cmax\u2212ch)\u00b7up\u00b7\u0001h\u00b7sin(\u03c6h) , (3)\nwhere \u03b4 scales the distance between components, cmax is the maximum shell index and ch\nis the core number of component h (the components are numbered by h = 1,\u00b7\u00b7\u00b7 , hmax in\nan arbitrary order), up is the unit length of its parent component, \u0001h and \u03c6h are the radial\nand angular coordinates of the new center with respect to the parent center (Xp, Yp). We\nde\ufb01ne \u0001h and \u03c6h as follows:\n|Sh|\n1\u2264j\u2264hmax\n\nP\nwhere Sh is the set of vertices in the component h,P\n\n|Sj| ; \u03c6h = \u03c6ini +\n\n1\u2264j\u2264hmax\nj |Sj| is the sum of the sizes of all\ncomponents having the same parent component. In this way, larger components will be\ncloser to the original parent component\u2019s center p. The angle \u03c6h has two contributions.\nThe initial angle \u03c6ini is chosen uniformly at random1, while the angle sector is the sum of\ncomponent angles whose number is less than or equal to the actual component number h.\n\n1\u2264j\u2264h\n\n\u0001h = 1 \u2212\n\n|Sj| ,\n\n(4)\n\n2\u03c0\n\n|Sj|\n\nX\n\nP\n\n1Note that if \u03c6ini is \ufb01xed, all the centers of the various components are aligned in the \ufb01nal\n\nrepresentation.\n\n\fk := 1 and end := false\n\nAlgorithm 1\n1\n2 while not end do\n3\n4\n5\n6\n7\n8\n9\n10\n11\n\nfor each node i do\n\nif ci == cmax then\n\n(end,C)\u2190make core k\n(Q,T )\u2190compute clusters k \u2212 1, if k > 1\nS\u2190 compute components k\n(X, Y )\u2190compute origin coordinates cmp k (Eqs. from 3 to 4)\nU\u2190compute unit size cmp k (Eq. 5)\nk := k + 1\n\nset \u03c1i and \u03b1i according to a uniform distribution in the disk of radius u (u is the core\nrepresentation unit size)\n\nelse\n\n12\n13\n14 (X ,Y)\u2190compute final coordinates \u03c1 \u03b1 U X Y (Eq. 6)\n\nset \u03c1i and \u03b1i according to Eqs. 1 and 2\n\nTable 1: Algorithm for the representation of networks using k-cores decomposition\n\nFinally, the unit length uh of a component h is computed as\n\nP\n\n|Sh|\n1\u2264j\u2264hmax\n\nuh =\n\n|Sj| \u00b7 up ,\n\n(5)\n\nwhere up is the unit length of its parent component. Larger unit length and size are therefore\nattributed to larger components.\n\nFor each vertex i, radial and angular coordinates are computed by equations 1 and 2 as\nin the previous algorithm. These coordinates are then considered as relative to the center\n(Xh, Yh) of the component to which i belongs. The position of i is thus given by\n\nxi = Xh + \u03b3 \u00b7 uh \u00b7 \u03c1i \u00b7 cos(\u03b1i); yi = Yh + \u03b3 \u00b7 uh \u00b7 \u03c1i \u00b7 sin(\u03b1i)\n\n(6)\n\nwhere \u03b3 is a parameter controlling the component\u2019s diameter.\n\nFirst,\n\n(P\n\nThe main loop is com-\nThe global algorithm is formally presented in Table 1.\nthe function {(end,C) \u2190make core k}\nposed by the following functions.\nrecursively removes all vertices of degree k \u2212 1, obtaining the k-core, and stores\ninto C the shell index k \u2212 1 of the removed vertices. The boolean variable end\nis set to true if the k-core is empty, otherwise it is set to f alse. The function\n{(Q,T ) \u2190 compute clusters k \u2212 1} operates the decomposition of the (k \u2212 1)-\nshell into clusters, storing for each vertex the cluster label into the vector Q, and \ufb01ll-\ning table T , which is indexed by the shell index c and cluster label q: T (c, q) =\n1\u2264m<q |Qm|/|Cc|,|Qq|/|Cc|). The possible decomposition of the k-core into con-\nnected components is determined by function {S \u2190 compute components k}, that\nalso collects into a vector S the number of vertices contained in each component. At the\nfollowing step, functions {(X, Y ) \u2190compute origin coordinates cmp k} and\n{U \u2190compute unit size cmp k} get, respectively, the center and size of each com-\nponent of the k-core, gathering them in vectors X, Y and U. Finally, the coordinates of\neach vertex are computed and stored in the vectors X and Y.\nAlgorithm complexity. Batagelj and Zversnik [18] present an algorithm to perform the\nk-core decomposition, and show that its time complexity is O(e) (where e is the number\nof edges) for a connected graph. For a general graph it is O(n + e), where n is the number\nof nodes, which makes the algorithm very ef\ufb01cient for sparse graphs where e is of order n.\n\n\fFigure 1: Structure of a typical layout in two important cases: on the left, all k-cores are\nconnected; on the right, some k-cores are composed by more than one connected compo-\nnent. The vertices are arranged in a series of concentric shells corresponding to the various\nk-shells. The diameter of each shell depends on both the shell index and, in case of mul-\ntiple components (right) also on the relative fraction of vertices belonging to the different\ncomponents.\n\n3.3 Basic features of the visualization\u2019s layout\n\nThe main features of the layout\u2019s structure obtained with the above algorithms are visible\nin Fig.1 where, for the sake of simplicity, we do not show any edge.\nThe two-dimensional layout is composed of a series of concentric circular shells. Each\nshell corresponds to a single shell index and all vertices in it are therefore drawn with the\nsame color. A color scale allows to distinguish different shell indices: the violet is used\nfor the minimum shell index kmin, then we use a graduated rainbow scale for higher and\nhigher shell indices up to the maximum value kmax that is colored in red. The diameter\nof each k-shell depends on the shell index k, and is proportional to kmax \u2212 k (In Fig.1,\nthe position of each shell is identi\ufb01ed by a circle having the corresponding diameter). The\npresence of a trivial order relation in the shell indices ensures that all shells are placed in\na concentric arrangement. On the other hand, when a k-core is fragmented in two or more\ncomponents, the diameters of the different components depend also on the relative number\nof vertices belonging to each of them, i.e.\nthe fraction between the number of vertices\nbelonging to that component and the total number of vertices in that core. This is a very\nimportant information, providing a way to distinguish between multiple components at a\ngiven shell index. Finally, the size of each node is proportional to the original degree of\nthat vertex; we use a logarithmic scale for the size of the drawn bullets.\n\n4 Network \ufb01ngerprinting\n\nThe k-core decomposition peels the network layer by layer, revealing the structure of the\ndifferent shells from the outmost one to the more internal ones. The algorithm provides\na direct way to distinguish the network\u2019s different hierarchies and structural organization\nby means of some simple quantities: the radial width of the shells, the presence and size\nof clusters of vertices in the shells, the correlations between degree and shell index, the\ndistribution of the edges interconnecting vertices of different shells, etc.\n1) Shells Width: The thickness of a shell depends on the shell index properties of the\nneighbors of the vertices in the corresponding shell. For a given shell-diameter (black\ncircle in the median position of shells in Fig.2), each vertex can be placed more internal or\nmore external with respect to this reference. Nodes with more neighbors in higher shells are\ncloser to the center and viceversa: in Fig.2, node y is more internal than node x because it\n\nmaxk \u22121mink +1minkmaxkshell indexdegree10d_max3maxk \u22121mink +1minkmaxkshell indexdegree10d_max3\fFigure 2: Left: each shell has a certain radial width. This width depends on the correlation\u2019s\nproperties of the vertices in the shell. In the second shell, we have pinpointed two nodes\nx and y. Node y is more internal than x because a larger part of its neighbors belongs to\nhigher k-shells compared to x\u2019s neighbors. The \ufb01gure on the right shows the clustering\nproperties of nodes in the same k-shell. In each k-shell, nodes that are directly connected\nbetween them (in the original graph) are drawn close one to the other, as in a cluster. Some\nof these sets of nodes are circled and highlighted in gray. Three examples of isolated nodes\nare also indicated; these nodes have no connections with the others of the same shell.\n\nhas three edges towards higher index nodes, while x has only one. The maximum thickness\nof the shells is controlled by the \u0001 parameter (Eq. 1).\n2) Shell Clusters: The angular distribution of vertices in the shells is not completely ho-\nmogeneous. Fig.2 shows that clusters of vertices can be observed. The idea is to group\ntogether all nodes of the same shell that are directly linked in the original graph and to\nrepresent them close one to another. Thus, a shell is divided in many angular sectors, each\ncontaining a cluster of vertices. This feature allows to \ufb01gure out at a glance if the shells\nare composed of a single large connected component rather than divided into many small\nclusters, or even if there are isolated vertices (i.e. disconnected from all other nodes in the\nshell, not from the rest of the k-core!).\n3) Degree-Shell index Correlation: Another property that can be studied from the obtained\nlayouts is the correlation between the degree of the nodes and the shell index. Both quan-\ntities are centrality measures and the nature of their correlations is a very important feature\ncharacterizing a network\u2019s topology. The nodes displayed in the most internal shells are\nthose forming the central core of the network; the presence of degree-index correlations\nthen corresponds to the fact that the central nodes are most likely high-degree hubs of the\nnetwork. This effect is observed in many real communication networks with a clear hier-\narchical structure, such as the Internet at the Autonomous System level or the World Wide\nAir-transportation network [5]. On the contrary, the presence of hubs in external shells is\ntypical of less hierarchically structured networks such as the World-Wide Web or the In-\nternet Router Level. In this case, star-like con\ufb01gurations appear with high degree vertices\nconnected only to very low degree vertices. These vertices are rapidly pruned out in the\nk-core decomposition even if they have a very high degree, leading to the presence of local\nhubs in external shells, as in Fig. 3.\n4) Edges: The visualization shows only a homogeneously randomly sampled fraction of\nthe edges, which can be tuned in order to get the better trade-off between the clarity of\nvisualization and the necessity of giving information on the way the nodes are mainly con-\nnected. Edge-reduction techniques can be implemented to improve the algorithm\u2019s capacity\nin representing edges; however, a homogeneous sampling does not alter the extraction of\ntopological information, ensuring a low computational cost. Finally, the two halves of each\n\nNode y has more neighbors inthe higher cores than node x.maxk \u22121mink +1minkmaxkshell indexdegree10d_max3node xnode yThe thickness of the shell depends onthe neighbors with higher coreness.maxk \u22121mink +1minkmaxkshell indexdegree10d_max3Isolated nodesnodes in the same shell.Clusters: nodes connected with\fFigure 3: Correlations between shell index and degree. On the left, we report a graph\nwith strong correlation: the size of the nodes grows from the periphery to the center, in\ncorrespondence with the shell index. In the right-hand case, the degree-index correlations\nare blurred by large \ufb02uctuations, as stressed by the presence of hubs in the external shells.\n\nedge are colored with the color of the corresponding extremities to emphasize the connec-\ntion among vertices in different shells.\n5) Disconnected components: The fragmentation of any given k-core in two or more dis-\nconnected components is represented by the presence of a corresponding number of circular\nshells with different centers (Fig. 1). The diameter of these circles is related with the num-\nber of nodes of each component and modulated by the \u03b3 parameter (Eq. 6). The distance\nbetween components is controlled by the \u03b4 parameter (Eq. 3).\n\nIn summary, the proposed algorithm makes possible a direct, visual investigation of a series\nof properties: hierarchical structures of networks, connectivity and clustering properties in-\nside a given shell; relations and interconnectivity between different levels of the hierarchy,\ncorrelations between degree and shell index, i.e. between different measures of centrality.\n\nNumerous examples of the application of this tool to the visualization of real and computer\ngenerated networks can be found on the web page of the publicly available tool [5]. For\nexample, the lack of hierarchy and structure of the Erd\u00a8os-R\u00b4enyi random graph is clearly\nidenti\ufb01ed. Similarly the time correlations present in the Barab\u00b4asi-Albert network \ufb01nd a\nclear \ufb01ngerprint in our visualization layout. Here we display another interesting illustra-\ntion of the use and capabilities of the proposed algorithm in the analysis of large sparse\ngraphs: the identi\ufb01cation of the different hierarchical arrangement of the Internet network\nwhen visualized at the Autonomous system (AS) and the Router (IR) levels 2. The AS\nlevel is represented by collected routes of Oregon route-views [19] project, from May 2001.\nFor the IR level, we use the graph obtained by an exploration of Govindan and Tangmu-\nnarunkit [20] in 2000. These networks are composed respectively by about 11500 and\n200000 nodes.\nFigures 4 and 5 display the representations of these two different maps of Internet. At\nthe AS level, all shells are populated, and, for any given shell, the vertices are distributed\non a relatively large range of the radial coordinate, which means that their neighborhoods\nare variously composed. The shell index and the degree are very correlated, with a clear\nhierarchical structure, and links go principally from one shell to another. The hierarchical\nstructure exhibited by our analysis of the AS level is a striking property; for instance, one\nmight exploit it for showing that in the Internet high-degree vertices are naturally (as an\nimplicit result of the self-organizing growth) placed in the innermost structure. At higher\nresolution, i.e. at the IR level, Internet\u2019s properties are less structured: external layers, of\n\n2The parameters are here set to the values \u0001 = 0.18, \u03b4 = 1.3 and \u03b3 = 1.5.\n\nmaxk \u22121mink +1minkmaxkshell indexdegree10d_max3The degree is strongly correlatedwith the shell index.maxk \u22121mink +1minkmaxkshell indexdegree10d_max3Degree and shell index are correlatedbut with large fluctuations.\flowest shell index, contain vertices with large degree. For instance, we \ufb01nd 20 vertices with\ndegree larger than 100 but index smaller than 6. The correlation between shell index and\ndegree is thus clearly of a very different nature in the maps of Internet obtained at different\ngranularities.\n\nFigure 4: Graphical representation of the AS network. The three snapshots correspond to\nthe full network (top left), with the color scale of the shell index and the size scale for the\nnodes\u2019 degrees, and to two magni\ufb01cations showing respectively a more central part (top\nright) and a radial slice of the layout (bottom).\n\n5 Conclusions\n\nExploiting k-core decomposition, and the corresponding natural hierarchical structures, we\ndevelop a visualization algorithm that yields a layout encoding a considerable amount of\nthe information needed for network \ufb01ngerprinting in the simplicity of a 2D representation.\nOne can easily read basic features of the graph (degree, hierarchical structure, etc.) as well\nas more entangled features, e.g. the relation between a vertex and the hierarchical position\nof its neighbors. The present visualization strategy is a useful tool to discriminate between\nnetworks with different topological properties and structural arrangement, and may be also\nused for comparison of models with real data, providing a further interesting tool for model\n\nFigure 5: Same as Fig. 4, for the graphical representation of the IR network.\n\n\fvalidation. Finally, we also provide a publicly available tool for visualizing networks [5].\nAcknowledgments: This work has been partially funded by the European Commission -\nFet Open project COSIN IST-2001-33555 and contract 001907 (DELIS).\n\nReferences\n[1] R. Albert and A.-L. Barab\u00b4asi, \u201cStatistical mechanics of complex networks,\u201d Rev. Mod. Phys. 74,\n\npp. 47\u201397, 2000.\n\n[2] S. N. Dorogovtsev and J. F. F. Mendes, Evolution of networks: From biological nets to the\n\nInternet and WWW, Oxford University Press, 2003.\n\n[3] R. Pastor-Satorras and A. Vespignani, Evolution and structure of the Internet: A statistical\n\nphysics approach, Cambridge University Press, 2004.\n\n[4] V. Batagelj and M. Zaversnik, \u201cGeneralized Cores,\u201d cs.DS/0202039 , 2002.\n[5] LArge NETwork VIsualization tool.\n\nhttp://xavier.informatics.indiana.edu/lanet-vi/.\n\n[6] http://http://i11www.ira.uka.de/cosin/tools/index.php.\n[7] V. Batagelj, A. Mrvar, and M. Zaversnik, \u201cPartitioning Approach to Visualization of Large\nNetworks,\u201d in Graph Drawing \u201999, Castle Stirin, Czech Republic, LNCS 1731, pp. 90\u201398, 1999.\n[8] M. Baur, U. Brandes, M. Gaertler, and D. Wagner, \u201cDrawing the AS Graph in 2.5 Dimensions,\u201d\nin \u201d12th International Symposium on Graph Drawing, Springer-Verlag editor\u201d, pp. 43\u201348,\n2004.\n\n[9] U. Brandes and S. Cornelsen, \u201cVisual Ranking of Link Structures,\u201d Journal of Graph Algo-\n\nrithms and Applications 7(2), pp. 181\u2013201, 2003.\n\n[10] B. Shneiderman, \u201cWhy not make interfaces better than 3d reality?,\u201d IEEE Computer Graphics\n\nand Applications 23, pp. 12\u201315, November/December 2003.\n\n[11] G. D. Bader and C. W. V. Hogue, \u201cAn automated method for \ufb01nding molecular complexes in\n\nlarge protein interaction networks,\u201d BMC Bioinformatics 4(2), 2003.\n\n[12] M. Altaf-Ul-Amin, K. Nishikata, T. Koma, T. Miyasato, Y. Shinbo, M. Arifuzzaman, C. Wada,\nM. Maeda, T. Oshima, H. Mori, and S. Kanaya, \u201cPrediction of Protein Functions Based on\nK-Cores of Protein-Protein Interaction Networks and Amino Acid Sequences,\u201d Genome Infor-\nmatics 14, pp. 498\u2013499, 2003.\n\n[13] S. Wuchty and E. Almaas, \u201cPeeling the Yeast protein network,\u201d Proteomics. 2005 Feb;5(2):444-\n\n9. 5(2), pp. 444\u2013449, 2005.\n\n[14] M. Gaertler and M. Patrignani, \u201cDynamic Analysis of the Autonomous System Graph,\u201d in IPS\n2004, International Workshop on Inter-domain Performance and Simulation, Budapest, Hun-\ngary, pp. 13\u201324, 2004.\n\n[15] I. Alvarez-Hamelin, L. Dall\u2019Asta, A. Barrat, and A. Vespignani, \u201ck-core decomposition: a tool\n\nfor the analysis of large scale internet graphs,\u201d cs.NI/0511007 .\n\n[16] S. Carmi,\n\nS. Havlin,\n\nS. Kirkpatrick,\n\nY.\n\nShavitt,\n\nand E.\n\nShir,\n\n2005.\n\nhttp://www.cs.huji.ac.il/\u02dckirk/Jellyfish_Dimes.ppt.\n\n[17] S. Carmi, S. Havlin, S. Kirkpatrick, Y. Shavitt, and E. Shir, \u201cMedusa - new model of internet\n\ntopology using k-shell decomposition,\u201d cond-mat/0601240 .\n\n[18] V. Batagelj and M. Zaversnik, \u201cAn O(m) Algorithm for Cores Decomposition of Networks,\u201d\n\ncs.DS/0310049 , 2003.\n\n[19] University of Oregon Route Views Project. http://www.routeviews.org/.\n[20] R. Govindan and H. Tangmunarunkit, \u201cHeuristics for Internet Map Discovery,\u201d in IEEE INFO-\n\nCOM 2000, pp. 1371\u20131380, IEEE, (Tel Aviv, Israel), March 2000.\n\n\f", "award": [], "sourceid": 2789, "authors": [{"given_name": "J.", "family_name": "Alvarez-hamelin", "institution": null}, {"given_name": "Luca", "family_name": "Dall'asta", "institution": null}, {"given_name": "Alain", "family_name": "Barrat", "institution": null}, {"given_name": "Alessandro", "family_name": "Vespignani", "institution": null}]}