Computing K-Cores in Large Uncertain Graphs: An Index-Based Optimal Approach

Uncertain graph management and analysis have attracted many research attentions. Among them, computing <inline-formula><tex-math notation="LaTeX">$k$</tex-math><alternatives><mml:math><mml:mi>k</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq1-3023925.gif"/></alternatives></inline-formula>-cores in uncertain graphs (aka, <inline-formula><tex-math notation="LaTeX">$(k,\eta)$</tex-math><alternatives><mml:math><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>η</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="wen-ieq2-3023925.gif"/></alternatives></inline-formula>-cores) is an important problem and has emerged in many applications such as community detection, protein-protein interaction network analysis and influence maximization. Given an uncertain graph, the <inline-formula><tex-math notation="LaTeX">$(k,\eta)$</tex-math><alternatives><mml:math><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>η</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="wen-ieq3-3023925.gif"/></alternatives></inline-formula>-cores can be derived by iteratively removing the vertex with an <inline-formula><tex-math notation="LaTeX">$\eta$</tex-math><alternatives><mml:math><mml:mi>η</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq4-3023925.gif"/></alternatives></inline-formula>-degree of less than <inline-formula><tex-math notation="LaTeX">$k$</tex-math><alternatives><mml:math><mml:mi>k</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq5-3023925.gif"/></alternatives></inline-formula>. However, the results heavily depend on the two input parameters <inline-formula><tex-math notation="LaTeX">$k$</tex-math><alternatives><mml:math><mml:mi>k</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq6-3023925.gif"/></alternatives></inline-formula> and <inline-formula><tex-math notation="LaTeX">$\eta$</tex-math><alternatives><mml:math><mml:mi>η</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq7-3023925.gif"/></alternatives></inline-formula>. The settings for these parameters are unique to the specific graph structure and the user's subjective requirements. In addition, computing and updating the <inline-formula><tex-math notation="LaTeX">$\eta$</tex-math><alternatives><mml:math><mml:mi>η</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq8-3023925.gif"/></alternatives></inline-formula>-degree for each vertex is the most costly component in the algorithm, and the cost is high. To overcome these drawbacks, we propose an index-based solution for computing <inline-formula><tex-math notation="LaTeX">$(k,\eta)$</tex-math><alternatives><mml:math><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>η</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="wen-ieq9-3023925.gif"/></alternatives></inline-formula>-cores. The size of the index is well bounded by <inline-formula><tex-math notation="LaTeX">$O(m)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>O</mml:mi><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="wen-ieq10-3023925.gif"/></alternatives></inline-formula>, where <inline-formula><tex-math notation="LaTeX">$m$</tex-math><alternatives><mml:math><mml:mi>m</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq11-3023925.gif"/></alternatives></inline-formula> is the number of edges in the graph. Based on the index, queries for any <inline-formula><tex-math notation="LaTeX">$k$</tex-math><alternatives><mml:math><mml:mi>k</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq12-3023925.gif"/></alternatives></inline-formula> and <inline-formula><tex-math notation="LaTeX">$\eta$</tex-math><alternatives><mml:math><mml:mi>η</mml:mi></mml:math><inline-graphic xlink:href="wen-ieq13-3023925.gif"/></alternatives></inline-formula> can be answered in optimal time. We propose an algorithm for index construction with several different optimizations. We also propose a new algorithm for index construction in external memory. We conduct extensive experiments on eight real-world datasets to practically evaluate the performance of all proposed algorithms.