Graphs are widely used in various fields of computer science. They have also found application in unrelated areas, leading to a diverse range of problems. These problems can be modeled as relationships between entities in various contexts, such as social networks, protein interactions in cells, and route maps. Therefore it is logical to analyze these data structures with diverse approaches, whether they are numerical or structural, global or local, approximate or exact. In particular, the concept of community plays an important role in local structural analysis, as it is able to highlight the composition of the underlying graph while providing insights into what the organization and importance of the nodes in a network look like. This thesis pursues the goal of extracting knowledge from different kinds of graphs, including static, dynamic, and temporal graphs, with a particular focus on their community substructures. To tackle this task we use combinatorial algorithms that can list all the communities in a graph according to different formalizations, such as cliques, k-graphlets, and k-cores. Listing (or enumeration) algorithms indeed give the full set of communities in any graph, in contrast to more algebraic techniques that exploit matrix multiplication, eigenvalues, etc. to obtain an exact or approximate count of certain types of communities, an approach that can be faster in terms of running time, but that does not suit our need for the complete list of subgraphs to perform subsequent analyses. We first develop new algorithms to enumerate subgraphs, using traditional and novel techniques such as push-out amortization, and CPU cache analysis to boost their efficiency. We then extend these concepts to the analysis of real-world graphs across diverse domains, ranging from social networks to autonomous systems modeled as temporal graphs. In this field, there is currently no widely accepted adaptation, even for straightforward subgraphs like k-cores, and the available data is expanding both in terms of quantity and scale. As a result, our findings advance the state of the art both from a theoretical and a practical perspective and can be used in a static or dynamic setting to further speed up and refine graph analysis techniques.

Real-world Graph Analysis: Techniques for Static, Dynamic and Temporal Communities

RUCCI, DAVIDE
2024

Abstract

Graphs are widely used in various fields of computer science. They have also found application in unrelated areas, leading to a diverse range of problems. These problems can be modeled as relationships between entities in various contexts, such as social networks, protein interactions in cells, and route maps. Therefore it is logical to analyze these data structures with diverse approaches, whether they are numerical or structural, global or local, approximate or exact. In particular, the concept of community plays an important role in local structural analysis, as it is able to highlight the composition of the underlying graph while providing insights into what the organization and importance of the nodes in a network look like. This thesis pursues the goal of extracting knowledge from different kinds of graphs, including static, dynamic, and temporal graphs, with a particular focus on their community substructures. To tackle this task we use combinatorial algorithms that can list all the communities in a graph according to different formalizations, such as cliques, k-graphlets, and k-cores. Listing (or enumeration) algorithms indeed give the full set of communities in any graph, in contrast to more algebraic techniques that exploit matrix multiplication, eigenvalues, etc. to obtain an exact or approximate count of certain types of communities, an approach that can be faster in terms of running time, but that does not suit our need for the complete list of subgraphs to perform subsequent analyses. We first develop new algorithms to enumerate subgraphs, using traditional and novel techniques such as push-out amortization, and CPU cache analysis to boost their efficiency. We then extend these concepts to the analysis of real-world graphs across diverse domains, ranging from social networks to autonomous systems modeled as temporal graphs. In this field, there is currently no widely accepted adaptation, even for straightforward subgraphs like k-cores, and the available data is expanding both in terms of quantity and scale. As a result, our findings advance the state of the art both from a theoretical and a practical perspective and can be used in a static or dynamic setting to further speed up and refine graph analysis techniques.
4-mag-2024
Italiano
enumeration
graph algorithms
graph analysis
temporal graphs
Grossi, Roberto
Conte, Alessio
File in questo prodotto:
File Dimensione Formato  
PhD_Thesis_Rucci_final.pdf

accesso aperto

Licenza: Tutti i diritti riservati
Dimensione 9.47 MB
Formato Adobe PDF
9.47 MB Adobe PDF Visualizza/Apri
Report_Attivita_Dottorato.pdf

non disponibili

Licenza: Tutti i diritti riservati
Dimensione 133.68 kB
Formato Adobe PDF
133.68 kB Adobe PDF

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14242/215371
Il codice NBN di questa tesi è URN:NBN:IT:UNIPI-215371