Grafi triangolati e triangolazioni di grafi M. Moscarini M. Mezzini Definizioni Definizioni Percorso in un grafo 3 2 1 4 5 Definizioni Percorso in un grafo 3 2 1 4 5 Definizioni Ciclo in un grafo 3 2 1 4 5 Definizioni Corda di un ciclo o di un percorso 3 2 1 4 5 Definizioni Grafo triangolato (o cordale) 3 2 1 4 5 Definizioni Triangolazione di un grafo 3 2 1 4 5 Definizioni Triangolazione di un grafo 3 2 1 4 5 Applicazioni dei grafi triangolati •Basi dati: progettazione delle basi di dati Applicazioni dei grafi triangolati •Basi dati: progettazione delle basi di dati •Calcolo numerico: calcolo delle soluzioni dei sistemi di equazioni lineari Applicazioni dei grafi triangolati •Basi dati: progettazione delle basi di dati •Calcolo numerico: calcolo delle soluzioni dei sistemi di equazioni lineari •Statistica: calcolo di probabilità Applicazioni dei grafi triangolati •Basi dati: progettazione delle basi di dati •Calcolo numerico: calcolo delle soluzioni dei sistemi di equazioni lineari •Statistica: calcolo di probabilità •Intelligenza artificiale: machine learning Applicazioni dei grafi triangolati Schema base di dati Studenti Mat_Stud Nome Cognome Appello Codice_App Materia Prenotazione Codice_App Mat_Stud Data Applicazioni dei grafi triangolati Ipergrafo associato allo schema Schema base di dati Studenti Mat_Stud Nome Cognome Mat_Stud Nome Cognome Appello Codice_App Materia Data Codice_App Prenotazione Codice_App Mat_Stud Materia Data Applicazioni dei grafi triangolati Ipergrafo associato allo schema Schema base di dati Grafo associato allo schema Studenti Mat_Stud Nome Cognome Mat_Stud Nome Appello Codice_App Materia Data Codice_App Prenotazione Codice_App Mat_Stud Nome Cognome Materia Mat_ Stud Cogn ome Codice_ App Data Data Materia Applicazioni dei grafi triangolati Ipergrafo associato allo schema Schema base di dati Grafo associato allo schema Studenti Mat_Stud Nome Cognome Mat_Stud Nome Appello Codice_App Materia Data Codice_App Prenotazione Codice_App Mat_Stud Nome Cognome Materia Mat_ Stud Cogn ome Codice_ App Data Data Materia Lo schema è buono solo se il grafo associato è cordale Attività di ricerca nell’ambito della cordalità Attività di ricerca nell’ambito della cordalità Percorso senza corde per tre vertici in grafi bipartiti Attività di ricerca nell’ambito della cordalità Percorso senza corde per tre vertici in grafi bipartiti v s t Attività di ricerca nell’ambito della cordalità Percorso senza corde per tre vertici in grafi bipartiti v s t Motivazioni: •Collegato alla teoria dei grafi perfetti •Collegato alla convessità dei percorsi senza corde in grafi bipartiti Attività di ricerca nell’ambito della cordalità Percorso senza corde per tre vertici in grafi bipartiti v s t Motivazioni: •Collegato alla teoria dei grafi perfetti •Collegato alla convessità dei percorsi senza corde in grafi bipartiti Risultati: •NP-Completo Attività di ricerca nell’ambito della cordalità Convessità dei percorsi senza corde in grafi bipartiti. Dato un insieme di vertici X trovare l’involucro convesso CH(X). 5 3 6 4 X 1 2 Attività di ricerca nell’ambito della cordalità Convessità dei percorsi senza corde in grafi bipartiti. Dato un insieme di vertici X trovare l’involucro convesso CH(X). 5 3 6 4 X 1 2 Attività di ricerca nell’ambito della cordalità Convessità dei percorsi senza corde in grafi bipartiti. Dato un insieme di vertici X trovare l’involucro convesso CH(X). 5 3 6 4 CH(X) 1 2 Attività di ricerca nell’ambito della cordalità Convessità dei percorsi senza corde in grafi bipartiti. Dato un insieme di vertici X trovare l’involucro convesso CH(X). 5 6 3 4 CH(X) 1 Motivazioni: •Collegato alla teoria delle basi di dati •Collegato alla teoria della convessità 2 Attività di ricerca nell’ambito della cordalità Convessità dei percorsi senza corde in grafi bipartiti. Dato un insieme di vertici X trovare l’involucro convesso CH(X). 5 6 3 4 CH(X) 1 Motivazioni: •Collegato alla teoria delle basi di dati •Collegato alla teoria della convessità Risultati: •Algoritmo polinomiale 2 Attività di ricerca nell’ambito della cordalità Triangolazione minimale di un grafo Attività di ricerca nell’ambito della cordalità Triangolazione minimale di un grafo 3 2 1 4 5 Attività di ricerca nell’ambito della cordalità Triangolazione minimale di un grafo 3 2 1 4 5 Attività di ricerca nell’ambito della cordalità Triangolazione minimale di un grafo 3 2 1 4 5 Attività di ricerca nell’ambito della cordalità Triangolazione minimale di un grafo 3 2 1 4 5 Motivazioni: •Calcolo delle soluzioni di un sistema di equazioni lineari •Teoria dei grafi Attività di ricerca nell’ambito della cordalità Triangolazione minimale di un grafo 3 2 1 4 5 Motivazioni: •Calcolo delle soluzioni di un sistema di equazioni lineari •Teoria dei grafi Risultati: •Algoritmo semplice e veloce quando il grafo è denso •Implementazione in C e confronto con gli algoritmi esistenti Attività di ricerca nell’ambito della cordalità Algoritmo dinamico per inserire o rimuovere archi da un grafo cordale Attività di ricerca nell’ambito della cordalità Algoritmo dinamico per inserire o rimuovere archi da un grafo cordale 3 2 1 4 5 Attività di ricerca nell’ambito della cordalità Algoritmo dinamico per inserire o rimuovere archi da un grafo cordale 3 2 1 4 5 Attività di ricerca nell’ambito della cordalità Algoritmo dinamico per inserire o rimuovere archi da un grafo cordale 3 2 1 4 5 Attività di ricerca nell’ambito della cordalità Algoritmo dinamico per inserire o rimuovere archi da un grafo cordale 3 2 1 4 5 Attività di ricerca nell’ambito della cordalità Algoritmo dinamico per inserire o rimuovere archi da un grafo cordale 3 2 1 4 5 Attività di ricerca nell’ambito della cordalità Algoritmo dinamico per inserire o rimuovere archi da un grafo cordale 3 2 4 1 Motivazioni: •Applicazioni in ambito dell’intelligenza artificiale 5 Attività di ricerca nell’ambito della cordalità Algoritmo dinamico per inserire o rimuovere archi da un grafo cordale 3 2 4 1 5 Motivazioni: •Applicazioni in ambito dell’intelligenza artificiale Risultati: •Algoritmo con O(1) per decidere se un arco può essere aggiunto od eliminato e O(n2) per modificare le strutture dati. Attività di ricerca nell’ambito della protezione dei dati statistici Attività di ricerca nell’ambito della protezione dei dati statistici 4 x2 x3 x5 4 4 x4 x1 2 Attività di ricerca nell’ambito della protezione dei dati statistici 4 x3 =1 x2 =3 x5=1 4 4 x4 =2 x1 =0 2 Attività di ricerca nell’ambito della protezione dei dati statistici 4 x3 =2 x2 =2 x5=1 4 4 x4 =1 x1 =1 2 Attività di ricerca nell’ambito della protezione dei dati statistici 4 x3 =2 x2 =2 x5=1 4 4 x4 =1 x1 =1 2 Attività di ricerca nell’ambito della protezione dei dati statistici 4 x3 =2 x2 =2 x5=1 4 4 x4 =1 x1 =1 2 Motivazioni: •Protezione della privacy Risultati: •Diversi algoritmi lineari nelle dimensioni del grafo (ottimi)