Sarıyüce, A. E.Gedik, B.Jacques-Silva, G.Wu, Kun-LungCatalyurek, U.V.2018-04-122018-04-1220161066-8888http://hdl.handle.net/11693/36932A k-core of a graph is a maximal connected subgraph in which every vertex is connected to at least k vertices in the subgraph. k-core decomposition is often used in large-scale network analysis, such as community detection, protein function prediction, visualization, and solving NP-hard problems on real networks efficiently, like maximal clique finding. In many real-world applications, networks change over time. As a result, it is essential to develop efficient incremental algorithms for dynamic graph data. In this paper, we propose a suite of incremental k-core decomposition algorithms for dynamic graph data. These algorithms locate a small subgraph that is guaranteed to contain the list of vertices whose maximum k-core values have changed and efficiently process this subgraph to update the k-core decomposition. We present incremental algorithms for both insertion and deletion operations, and propose auxiliary vertex state maintenance techniques that can further accelerate these operations. Our results show a significant reduction in runtime compared to non-incremental alternatives. We illustrate the efficiency of our algorithms on different types of real and synthetic graphs, at varying scales. For a graph of 16 million vertices, we observe relative throughputs reaching a million times, relative to the non-incremental algorithms.EnglishDense subgraph discoveryIncremental graph algorithmsk-CoreStreaming graph algorithmsAlgorithmsComputational complexityCommunity detectionDecomposition algorithmDense subgraphGraph algorithmsIncremental algorithmMaximal clique findingsProtein function predictionGraph theoryIncremental k-core decomposition: algorithms and evaluationArticle10.1007/s00778-016-0423-8