Storage, processing and analysis of large evolving graphs
Authors: Σεμερτζίδης Κωνσταντίνος 
Published: September 2021

Τα τελευταία χρόνια, αυξανόμενες ποσότητες δεδομένων που αναπαριστώνται από γραφήματα διατίθενται από διάφορες πηγές, όπως τα δίκτυα κοινωνικής δικτύωσης, τα δίκτυα παραπομπής, τα δίκτυα ηλεκτρονικών υπολογιστών και τα δίκτυα υπερσύνδεσης. Η συνεχής εξέλιξη τους γίνεται ένα θέμα που προσελκύει ιδιαίτερη προσοχή και βρίσκει ένα ευρύ φάσμα εφαρμογών που κυμαίνονται από το μάρκετινγκ στα κοινωνικά δίκτυα έως τη διάδοση των ιών και την ψηφιακή εγκληματολογία. Αν και η ανάλυση της εξέλιξης των γραφημάτων είναι σημαντική για να κατανοήσουμε το δίκτυο, ο κύριος στόχος της έρευνας τα τελευταία χρόνια ήταν η αποτελεσματική αποθήκευση και ανάκτηση των στιγμιότυπων της εξέλιξης του γραφήματος. Επιπλέον, η επεξεργασία δεδομένων γραφημάτων μέσω μιας ποικιλίας ερωτήσεων σε γραφήματα (graph queries), όπως της προσπελασιμότητας, της εύρεσης απόστασης και μοτίβων, περιορίζεται στα στατικά γραφήματα, αφήνοντας ανεξερεύνητη την επεξεργασία ερωτήσεων στα εξελισσόμενα γραφήματα. Παρόλο που υπάρχει μεγάλο ενδιαφέρον για την επεξεργασία στατικών γραφημάτων μέσω μιας ποικιλίας ερωτήσεων σε γραφήματα (graph queries), όπως της προσπελασιμότητας, της εύρεσης απόστασης και μοτίβων, η αναζήτηση στο ιστορικό ενός εξελισσόμενου γραφήματος είναι πολύ λιγότερο μελετημένη. Στόχος αυτής της διατριβής είναι η διαχείριση και διερεύνηση της ιστορίας ενός γραφήματος καθώς εξελίσσεται. Παρουσιάζουμε μια συμπαγή αναπαράσταση ενός εξελισσόμενου γραφήματος, όπου κάθε στοιχείο του π.χ. κόμβος ή ακμή, σημειώνεται με το σύνολο χρονικών διαστημάτων που δηλώνουν την ύπαρξη κάθε στοιχείου κατά την διάρκεια της εξέλιξης του γραφήματος. Στη συνέχεια παρουσιάζουμε μελέτες διαφορετικών τρόπων εξαγωγής πληροφοριών από το εξελισσόμενο γράφημα θέτοντας διαφορετικά ερωτήματα σε μια ακολουθία στιγμιότυπων γραφημάτων. Αναφερόμαστε σε τέτοιου είδους ερωτήματα ως ιστορικά ερωτήματα (historical queries). Συγκεκριμένα, παρουσιάζουμε πρώτα ιστορικά ερωτήματα διάσχισης ενός γραφήματος που λαμβάνουν υπόψη τις διαδρομές που υπήρχαν σε επαρκή αριθμό στιγμιότυπων του γραφήματος. Χρησιμοποιούμε παραλλαγές δύο τύπων ιστορικών ερωτήσεων διάσχισης, της προσβασιμότητας και της εύρεσης συντομότερων διαδρομών. Τα ερωτήματα ιστορικής προσβασιμότητας ρωτούν αν δύο κόμβοι συνδέονται είτε σε κάποια χρονική στιγμή, είτε σε όλες τις χρονικές στιγμές ή σε επαρκή αριθμό χρονικών στιγμών, ενώ τα ιστορικά ερωτήματα εύρεσης συντομότερων διαδρομών ζητούν τη συντομότερη διαδρομή μεταξύ δύο κόμβων θέτοντας περιορισμούς ως προς τη διάρκεια ζωής αυτών των διαδρομών. Παρέχουμε αποτελεσματικούς αλγόριθμους για την υποστήριξη ιστορικών ερωτημάτων διάσχισης σε γραφήματα. Προτείνουμε αποτελεσματικές υλοποιήσεις των αλγορίθμων μας που κάνουν χρήση χρονικών ευρετηρίων σε συστήματα που βρίσκονται εξολοκλήρου στη μνήμη και σε συστήματα βάσεων γραφημάτων. Στη συνέχεια, παρουσιάζουμε μια εκτενή πειραματική αξιολόγηση διαφόρων πτυχών της προσέγγισής μας. Ορίζουμε επίσης το νέο πρόβλημα της εύρεσης των k πιο ανθεκτικών ισομορφικών γραφημάτων ενός μοτίβου εισόδου, δηλαδή την εύρεση των γραφημάτων που είναι ισομορφικά με το μοτίβο εισόδου και υπάρχουν για το μεγαλύτερο χρονικό διάστημα. Η εύρεση τέτοιων γραφημάτων είναι σημαντική για την κατανόηση του δικτύου και μπορεί να είναι κρίσιμη για πολλές εφαρμογές. Εφαρμόζοντας τις προηγούμενες προσεγγίσεις στο πρόβλημα εύρεσης ισομορφικών γραφημάτων ενός μοτίβου εισόδου σε κάθε στιγμιότυπο και τη συγκέντρωση των αποτελεσμάτων, είναι υπολογιστικά ακριβό για μεγάλα δίκτυα. Αυτό συμβαίνει γιατί όλα τα ισομορφικά γραφήματα του μοτίβου εισόδου πρέπει να βρεθούν σε κάθε στιγμιότυπο, συμπεριλαμβανομένων εκείνων που εμφανίζονται μόνο μία φορά. Για τον λόγο αυτό, προτείνουμε μια νέα αποδοτική και αποτελεσματική προσέγγιση που χρησιμοποιεί κατάλληλα χρονικά ευρετήρια για να μειώνει τον χώρο αναζήτησης όπως και στρατηγικές αναζήτησης για να υπολογίζει τη διάρκεια ζωής των γραφημάτων που αναζητούμε. Επιπλέον, μελετάμε το πρόβλημα της εύρεσης του συνόλου των κόμβων που είναι πιο πυκνά συνδεδεμένοι σε όλα τα στιγμιότυπα του εξελισσόμενου γραφήματος. Παρέχουμε ορισμούς για την πυκνότητα σε πολλαπλά στιγμιότυπα γραφημάτων, που καταγράφουν διαφορετικές σημασιολογίες της συνδεσιμότητας των κόμβων κατά την πάροδο του χρόνου, και μελετάμε τις αντίστοιχες παραλλαγές του προβλήματος. Μελετάμε την πολυπλοκότητα των διαφορετικών παραλλαγών του προβλήματος και προτείνουμε ένα γενικό αλγοριθμικό πλαίσιο για την επίλυση των προβλημάτων μας, που λειτουργεί σε γραμμικό χρόνο. Η πειραματική μας αξιολόγηση δείχνει τόσο την αποτελεσματικότητα των αλγορίθμων όσο και τη χρησιμότητα των προβλημάτων. Τέλος, παρουσιάζουμε τρεις προσεγγίσεις για τη μοντελοποίηση των εξελισσόμενων γραφημάτων σε βάσεις γραφημάτων, καθώς και τους αλγορίθμους για την επεξεργασία ιστορικών ερωτημάτων που χρησιμοποιούν αυτές τις προσεγγίσεις.