Ingegneria informatica e dell'intelligenza artificiale
Cod 198298
- Laurea magistrale
- 2 anni
- 120 CFU
- LM-32
Codice: 20810211
Programma, testi adottati e modalità d’esame sono quelli pubblicati dai docenti per l’anno accademico 2026/2027. L’insegnamento è diviso in canali: ogni canale ha il suo programma.
1) Algorithms for data streams
- Approximate counting
- Majority problems
- Sampling and reservoir sampling
- Bloom filters
- Frequent itemsets
- Number of distinct elements
2) Algorithms and data structures for quantitative features analysis
- orthogonal range searching (kd-trees, range trees, and layered range trees)
- median finding
- multidimensional divide and conquer, closest pair
- fractional cascading
3) Locality sensitive hashing for finding similar items
- Min-Hashing
- Nearest neighbour search, k-nearest neighbour search
4) NoSQL internals & Distributed Hash Tables
- Chord
- consistent hashing
- Kademlia
5) Scalable security:
- integrity of big data sets in the cloud,
- consistency and scalability issues with authenticated data structures
Nessuno
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Tradizionale
Facoltativa
Prova scritta, valutazione progetto. La prova scritta può essere sostituita da prove in itinere parziali.
1) Algorithms for data streams
- Approximate counting
- Majority problems
- Sampling and reservoir sampling
- Bloom filters
- Frequent itemsets
- Number of distinct elements
2) Algorithms and data structures for quantitative features analysis
- orthogonal range searching (kd-trees, range trees, and layered range trees)
- median finding
- multidimensional divide and conquer, closest pair
- fractional cascading
3) Locality sensitive hashing for finding similar items
- Min-Hashing
- Nearest neighbour search, k-nearest neighbour search
4) Algoritmi sotto-esponenziali e parametrizzate
- kernelizzazione
- branching
- programmazione dinamica su decomposizioni parametriche
Il corso non richiede alcun prerequisito.
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Tradizionale
Facoltativa
Prova scritta, valutazione progetto. La prova scritta puo' essere sostituita da prove in itinere parziali.
1) Algorithms for data streams
- Approximate counting
- Majority problems
- Sampling and reservoir sampling
- Bloom filters
- Frequent itemsets
- Number of distinct elements
2) Algorithms and data structures for quantitative features analysis
- orthogonal range searching (kd-trees, range trees, and layered range trees)
- median finding
- multidimensional divide and conquer, closest pair
- fractional cascading
3) Locality sensitive hashing for finding similar items
- Min-Hashing
- Nearest neighbour search, k-nearest neighbour search
4) NoSQL internals & Distributed Hash Tables
- Chord
- consistent hashing
- Kademlia
5) Scalable security:
- integrity of big data sets in the cloud,
- consistency and scalability issues with authenticated data structures
Nessuno
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Tradizionale
Facoltativa
Prova scritta, valutazione progetto. La prova scritta può essere sostituita da prove in itinere parziali.
1) Algorithms for data streams
- Approximate counting
- Majority problems
- Sampling and reservoir sampling
- Bloom filters
- Frequent itemsets
- Number of distinct elements
2) Algorithms and data structures for quantitative features analysis
- orthogonal range searching (kd-trees, range trees, and layered range trees)
- median finding
- multidimensional divide and conquer, closest pair
- fractional cascading
3) Locality sensitive hashing for finding similar items
- Min-Hashing
- Nearest neighbour search, k-nearest neighbour search
4) Algoritmi sotto-esponenziali e parametrizzate
- kernelizzazione
- branching
- programmazione dinamica su decomposizioni parametriche
Il corso non richiede alcun prerequisito.
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Tradizionale
Facoltativa
Prova scritta, valutazione progetto. La prova scritta puo' essere sostituita da prove in itinere parziali.
1) Algorithms for data streams
- Approximate counting
- Majority problems
- Sampling and reservoir sampling
- Bloom filters
- Frequent itemsets
- Number of distinct elements
2) Algorithms and data structures for quantitative features analysis
- orthogonal range searching (kd-trees, range trees, and layered range trees)
- median finding
- multidimensional divide and conquer, closest pair
- fractional cascading
3) Locality sensitive hashing for finding similar items
- Min-Hashing
- Nearest neighbour search, k-nearest neighbour search
4) NoSQL internals & Distributed Hash Tables
- Chord
- consistent hashing
- Kademlia
5) Scalable security:
- integrity of big data sets in the cloud,
- consistency and scalability issues with authenticated data structures
Nessuno
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Tradizionale
Facoltativa
Prova scritta, valutazione progetto. La prova scritta può essere sostituita da prove in itinere parziali.
1) Algorithms for data streams
- Approximate counting
- Majority problems
- Sampling and reservoir sampling
- Bloom filters
- Frequent itemsets
- Number of distinct elements
2) Algorithms and data structures for quantitative features analysis
- orthogonal range searching (kd-trees, range trees, and layered range trees)
- median finding
- multidimensional divide and conquer, closest pair
- fractional cascading
3) Locality sensitive hashing for finding similar items
- Min-Hashing
- Nearest neighbour search, k-nearest neighbour search
4) Algoritmi sotto-esponenziali e parametrizzate
- kernelizzazione
- branching
- programmazione dinamica su decomposizioni parametriche
Il corso non richiede alcun prerequisito.
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Tradizionale
Facoltativa
Prova scritta, valutazione progetto. La prova scritta puo' essere sostituita da prove in itinere parziali.
1) Algorithms for data streams
- Approximate counting
- Majority problems
- Sampling and reservoir sampling
- Bloom filters
- Frequent itemsets
- Number of distinct elements
2) Algorithms and data structures for quantitative features analysis
- orthogonal range searching (kd-trees, range trees, and layered range trees)
- median finding
- multidimensional divide and conquer, closest pair
- fractional cascading
3) Locality sensitive hashing for finding similar items
- Min-Hashing
- Nearest neighbour search, k-nearest neighbour search
4) NoSQL internals & Distributed Hash Tables
- Chord
- consistent hashing
- Kademlia
5) Scalable security:
- integrity of big data sets in the cloud,
- consistency and scalability issues with authenticated data structures
Nessuno
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Tradizionale
Facoltativa
Prova scritta, valutazione progetto. La prova scritta può essere sostituita da prove in itinere parziali.
1) Algorithms for data streams
- Approximate counting
- Majority problems
- Sampling and reservoir sampling
- Bloom filters
- Frequent itemsets
- Number of distinct elements
2) Algorithms and data structures for quantitative features analysis
- orthogonal range searching (kd-trees, range trees, and layered range trees)
- median finding
- multidimensional divide and conquer, closest pair
- fractional cascading
3) Locality sensitive hashing for finding similar items
- Min-Hashing
- Nearest neighbour search, k-nearest neighbour search
4) Algoritmi sotto-esponenziali e parametrizzate
- kernelizzazione
- branching
- programmazione dinamica su decomposizioni parametriche
Il corso non richiede alcun prerequisito.
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Cambridge University Press
http://www.mmds.org/
Tradizionale
Facoltativa
Prova scritta, valutazione progetto. La prova scritta puo' essere sostituita da prove in itinere parziali.
Ambito disciplinare: Ingegneria informatica
In molti contesti applicativi sono in gioco enormi volumi di dati che
vengono utilizzati in ambito economico-finanziario, politico, sociale ed
anche istituzionale. Spesso i dati sono memorizzati in enormi cloud
distribuite e talvolta sono generati secondo un flusso continuo, così
consistente da renderne impossibile una memorizzazione completa. In
moltissimi casi i dati sono inerenti ad entità in fitta relazione tra
loro e danno luogo a immense reti di collegamenti. Esempi comuni di tali
reti sono le reti sociali e biologiche, le reti di distribuzione e il
grafo del Web. Inoltre il fatto che i dati siano memorizzati in sistemi
gestiti da terze parti pone problemi di integrità che non trovano
riscontro nella letteratura informatica classica sia per la tipologia
sia per la scala.
Questo scenario pone sfide algoritmiche inedite sulle quali è al lavoro
una vasta platea di ricercatori. Tale sforzo ha prodotto, nell’ultimo
decennio, molte novità sia sul piano metodologico sia sul piano
tecnologico. L’insegnamento ha lo scopo di trasferire agli studenti
alcuni tra i più importanti strumenti metodologici nati nell’ambito
della ricerca sugli algoritmi per Big Data. Tali strumenti metodologici
sono proposti assieme a contesti applicativi sfidanti.
Fornire le competenze avanzate per la progettazione e l’analisi di algoritmi scalabili per l’elaborazione di grandi volumi di dati, con particolare attenzione ai modelli computazionali tipici dei Big Data (streaming, approssimazione, dati multidimensionali e parametrizzazioni) e alle tecniche per la gestione efficiente della complessità computazionale.
Obiettivi specifici:
- conoscenza e applicazione di algoritmi per l’elaborazione di flussi di dati (data streams), con particolare riferimento a tecniche di approssimazione, campionamento e strutture probabilistiche (Es. Bloom filters) per la gestione efficiente della memoria;
- capacità di progettare e analizzare algoritmi per l’estrazione di pattern e statistiche fondamentali da grandi dataset, quali elementi mediani, cardinalità e distribuzioni;
- conoscenza e utilizzo di strutture dati avanzate per l’analisi di dati multidimensionali, inclusi alberi di decomposizione spazionale e tecniche di ricerca connesse (Es. fractional cascading);
- comprensione e applicazione di tecniche per la ricerca di similarità in spazi ad alta dimensionalità, con particolare riferimento al Locality Sensitive Hashing e ai metodi per il Nearest Neighbor Search;
- conoscenza dei principali paradigmi per la progettazione di algoritmi efficienti in contesti complessi, inclusi metodi sub-esponenziali e algoritmi parametrizzati (kernelizzazione, branching, programmazione dinamica su decomposizioni);
- capacità di valutare l’efficienza, l’accuratezza e la scalabilità degli algoritmi nel contesto dei Big Data, anche mediante confronto tra soluzioni esatte e approssimate;
- abilità pratiche nell’implementazione e sperimentazione di algoritmi su dataset di grandi dimensioni.
Fornire le competenze avanzate per la progettazione e l’analisi di algoritmi scalabili per l’elaborazione di grandi volumi di dati, con particolare attenzione ai modelli computazionali tipici dei Big Data (streaming, approssimazione, dati multidimensionali e parametrizzazioni) e alle tecniche per la gestione efficiente della complessità computazionale.
Obiettivi specifici:
- conoscenza e applicazione di algoritmi per l’elaborazione di flussi di dati (data streams), con particolare riferimento a tecniche di approssimazione, campionamento e strutture probabilistiche (Es. Bloom filters) per la gestione efficiente della memoria;
- capacità di progettare e analizzare algoritmi per l’estrazione di pattern e statistiche fondamentali da grandi dataset, quali elementi mediani, cardinalità e distribuzioni;
- conoscenza e utilizzo di strutture dati avanzate per l’analisi di dati multidimensionali, inclusi alberi di decomposizione spazionale e tecniche di ricerca connesse (Es. fractional cascading);
- comprensione e applicazione di tecniche per la ricerca di similarità in spazi ad alta dimensionalità, con particolare riferimento al Locality Sensitive Hashing e ai metodi per il Nearest Neighbor Search;
- conoscenza dei principali paradigmi per la progettazione di algoritmi efficienti in contesti complessi, inclusi metodi sub-esponenziali e algoritmi parametrizzati (kernelizzazione, branching, programmazione dinamica su decomposizioni);
- capacità di valutare l’efficienza, l’accuratezza e la scalabilità degli algoritmi nel contesto dei Big Data, anche mediante confronto tra soluzioni esatte e approssimate;
- abilità pratiche nell’implementazione e sperimentazione di algoritmi su dataset di grandi dimensioni.
Fornire le competenze avanzate per la progettazione e l’analisi di algoritmi scalabili per l’elaborazione di grandi volumi di dati, con particolare attenzione ai modelli computazionali tipici dei Big Data (streaming, approssimazione, dati multidimensionali e parametrizzazioni) e alle tecniche per la gestione efficiente della complessità computazionale.
Obiettivi specifici:
- conoscenza e applicazione di algoritmi per l’elaborazione di flussi di dati (data streams), con particolare riferimento a tecniche di approssimazione, campionamento e strutture probabilistiche (Es. Bloom filters) per la gestione efficiente della memoria;
- capacità di progettare e analizzare algoritmi per l’estrazione di pattern e statistiche fondamentali da grandi dataset, quali elementi mediani, cardinalità e distribuzioni;
- conoscenza e utilizzo di strutture dati avanzate per l’analisi di dati multidimensionali, inclusi alberi di decomposizione spazionale e tecniche di ricerca connesse (Es. fractional cascading);
- comprensione e applicazione di tecniche per la ricerca di similarità in spazi ad alta dimensionalità, con particolare riferimento al Locality Sensitive Hashing e ai metodi per il Nearest Neighbor Search;
- conoscenza dei principali paradigmi per la progettazione di algoritmi efficienti in contesti complessi, inclusi metodi sub-esponenziali e algoritmi parametrizzati (kernelizzazione, branching, programmazione dinamica su decomposizioni);
- capacità di valutare l’efficienza, l’accuratezza e la scalabilità degli algoritmi nel contesto dei Big Data, anche mediante confronto tra soluzioni esatte e approssimate;
- abilità pratiche nell’implementazione e sperimentazione di algoritmi su dataset di grandi dimensioni.
Fornire le competenze avanzate per la progettazione e l’analisi di algoritmi scalabili per l’elaborazione di grandi volumi di dati, con particolare attenzione ai modelli computazionali tipici dei Big Data (streaming, approssimazione, dati multidimensionali e parametrizzazioni) e alle tecniche per la gestione efficiente della complessità computazionale.
Obiettivi specifici:
- conoscenza e applicazione di algoritmi per l’elaborazione di flussi di dati (data streams), con particolare riferimento a tecniche di approssimazione, campionamento e strutture probabilistiche (Es. Bloom filters) per la gestione efficiente della memoria;
- capacità di progettare e analizzare algoritmi per l’estrazione di pattern e statistiche fondamentali da grandi dataset, quali elementi mediani, cardinalità e distribuzioni;
- conoscenza e utilizzo di strutture dati avanzate per l’analisi di dati multidimensionali, inclusi alberi di decomposizione spazionale e tecniche di ricerca connesse (Es. fractional cascading);
- comprensione e applicazione di tecniche per la ricerca di similarità in spazi ad alta dimensionalità, con particolare riferimento al Locality Sensitive Hashing e ai metodi per il Nearest Neighbor Search;
- conoscenza dei principali paradigmi per la progettazione di algoritmi efficienti in contesti complessi, inclusi metodi sub-esponenziali e algoritmi parametrizzati (kernelizzazione, branching, programmazione dinamica su decomposizioni);
- capacità di valutare l’efficienza, l’accuratezza e la scalabilità degli algoritmi nel contesto dei Big Data, anche mediante confronto tra soluzioni esatte e approssimate;
- abilità pratiche nell’implementazione e sperimentazione di algoritmi su dataset di grandi dimensioni.
Fornire le competenze avanzate per la progettazione e l’analisi di algoritmi scalabili per l’elaborazione di grandi volumi di dati, con particolare attenzione ai modelli computazionali tipici dei Big Data (streaming, approssimazione, dati multidimensionali e parametrizzazioni) e alle tecniche per la gestione efficiente della complessità computazionale.
Obiettivi specifici:
- conoscenza e applicazione di algoritmi per l’elaborazione di flussi di dati (data streams), con particolare riferimento a tecniche di approssimazione, campionamento e strutture probabilistiche (Es. Bloom filters) per la gestione efficiente della memoria;
- capacità di progettare e analizzare algoritmi per l’estrazione di pattern e statistiche fondamentali da grandi dataset, quali elementi mediani, cardinalità e distribuzioni;
- conoscenza e utilizzo di strutture dati avanzate per l’analisi di dati multidimensionali, inclusi alberi di decomposizione spazionale e tecniche di ricerca connesse (Es. fractional cascading);
- comprensione e applicazione di tecniche per la ricerca di similarità in spazi ad alta dimensionalità, con particolare riferimento al Locality Sensitive Hashing e ai metodi per il Nearest Neighbor Search;
- conoscenza dei principali paradigmi per la progettazione di algoritmi efficienti in contesti complessi, inclusi metodi sub-esponenziali e algoritmi parametrizzati (kernelizzazione, branching, programmazione dinamica su decomposizioni);
- capacità di valutare l’efficienza, l’accuratezza e la scalabilità degli algoritmi nel contesto dei Big Data, anche mediante confronto tra soluzioni esatte e approssimate;
- abilità pratiche nell’implementazione e sperimentazione di algoritmi su dataset di grandi dimensioni.
Fornire le competenze avanzate per la progettazione e l’analisi di algoritmi scalabili per l’elaborazione di grandi volumi di dati, con particolare attenzione ai modelli computazionali tipici dei Big Data (streaming, approssimazione, dati multidimensionali e parametrizzazioni) e alle tecniche per la gestione efficiente della complessità computazionale.
Obiettivi specifici:
- conoscenza e applicazione di algoritmi per l’elaborazione di flussi di dati (data streams), con particolare riferimento a tecniche di approssimazione, campionamento e strutture probabilistiche (Es. Bloom filters) per la gestione efficiente della memoria;
- capacità di progettare e analizzare algoritmi per l’estrazione di pattern e statistiche fondamentali da grandi dataset, quali elementi mediani, cardinalità e distribuzioni;
- conoscenza e utilizzo di strutture dati avanzate per l’analisi di dati multidimensionali, inclusi alberi di decomposizione spazionale e tecniche di ricerca connesse (Es. fractional cascading);
- comprensione e applicazione di tecniche per la ricerca di similarità in spazi ad alta dimensionalità, con particolare riferimento al Locality Sensitive Hashing e ai metodi per il Nearest Neighbor Search;
- conoscenza dei principali paradigmi per la progettazione di algoritmi efficienti in contesti complessi, inclusi metodi sub-esponenziali e algoritmi parametrizzati (kernelizzazione, branching, programmazione dinamica su decomposizioni);
- capacità di valutare l’efficienza, l’accuratezza e la scalabilità degli algoritmi nel contesto dei Big Data, anche mediante confronto tra soluzioni esatte e approssimate;
- abilità pratiche nell’implementazione e sperimentazione di algoritmi su dataset di grandi dimensioni.
Fornire le competenze avanzate per la progettazione e l’analisi di algoritmi scalabili per l’elaborazione di grandi volumi di dati, con particolare attenzione ai modelli computazionali tipici dei Big Data (streaming, approssimazione, dati multidimensionali e parametrizzazioni) e alle tecniche per la gestione efficiente della complessità computazionale.
Obiettivi specifici:
- conoscenza e applicazione di algoritmi per l’elaborazione di flussi di dati (data streams), con particolare riferimento a tecniche di approssimazione, campionamento e strutture probabilistiche (Es. Bloom filters) per la gestione efficiente della memoria;
- capacità di progettare e analizzare algoritmi per l’estrazione di pattern e statistiche fondamentali da grandi dataset, quali elementi mediani, cardinalità e distribuzioni;
- conoscenza e utilizzo di strutture dati avanzate per l’analisi di dati multidimensionali, inclusi alberi di decomposizione spazionale e tecniche di ricerca connesse (Es. fractional cascading);
- comprensione e applicazione di tecniche per la ricerca di similarità in spazi ad alta dimensionalità, con particolare riferimento al Locality Sensitive Hashing e ai metodi per il Nearest Neighbor Search;
- conoscenza dei principali paradigmi per la progettazione di algoritmi efficienti in contesti complessi, inclusi metodi sub-esponenziali e algoritmi parametrizzati (kernelizzazione, branching, programmazione dinamica su decomposizioni);
- capacità di valutare l’efficienza, l’accuratezza e la scalabilità degli algoritmi nel contesto dei Big Data, anche mediante confronto tra soluzioni esatte e approssimate;
- abilità pratiche nell’implementazione e sperimentazione di algoritmi su dataset di grandi dimensioni.
Fornire le competenze avanzate per la progettazione e l’analisi di algoritmi scalabili per l’elaborazione di grandi volumi di dati, con particolare attenzione ai modelli computazionali tipici dei Big Data (streaming, approssimazione, dati multidimensionali e parametrizzazioni) e alle tecniche per la gestione efficiente della complessità computazionale.
Obiettivi specifici:
- conoscenza e applicazione di algoritmi per l’elaborazione di flussi di dati (data streams), con particolare riferimento a tecniche di approssimazione, campionamento e strutture probabilistiche (Es. Bloom filters) per la gestione efficiente della memoria;
- capacità di progettare e analizzare algoritmi per l’estrazione di pattern e statistiche fondamentali da grandi dataset, quali elementi mediani, cardinalità e distribuzioni;
- conoscenza e utilizzo di strutture dati avanzate per l’analisi di dati multidimensionali, inclusi alberi di decomposizione spazionale e tecniche di ricerca connesse (Es. fractional cascading);
- comprensione e applicazione di tecniche per la ricerca di similarità in spazi ad alta dimensionalità, con particolare riferimento al Locality Sensitive Hashing e ai metodi per il Nearest Neighbor Search;
- conoscenza dei principali paradigmi per la progettazione di algoritmi efficienti in contesti complessi, inclusi metodi sub-esponenziali e algoritmi parametrizzati (kernelizzazione, branching, programmazione dinamica su decomposizioni);
- capacità di valutare l’efficienza, l’accuratezza e la scalabilità degli algoritmi nel contesto dei Big Data, anche mediante confronto tra soluzioni esatte e approssimate;
- abilità pratiche nell’implementazione e sperimentazione di algoritmi su dataset di grandi dimensioni.
Descrivi l’algoritmo R di Waterman per campionare s oggetti in uno stream x1, x2, …, xn la cui lunghezza n non è nota a priori. Mostra l’analisi che dimostra che, dopo l’arrivo di t oggetti sullo stream, ciascun oggetto ha la stessa probabilità di appartenere al campione.
Descrivi l’algoritmo di Chakraborty, Vinodchandran e Meel per il calcolo del numero di elementi distinti in uno stream. Qual è la probabilità che un elemento appartenga al campione mantenuto dall’algoritmo in un momento successivo alla sua prima apparizione sullo stream?
Si illustri la tecnica del fractional cascading, mettendone in risalto il principio algoritmico, e se ne descriva in modo dettagliato l’applicazione ad almeno una delle seguenti due interrogazioni: (1) Orthogonal range search mediante layered range trees e (2) Restituzione delle intersezioni tra un path poligonale e una linea di interrogazione.
Siano S1 e S2 due colonne di una matrice caratteristica M. Si consideri una funzione Min-hash h associata ad una permutazione random delle righe di M. Enuncia la relazione tra la Jaccard similarity J(S1,S2) di S1 e S2 e la probabilità Pr[h(S1) = h(S2)] e mostra l’analisi che porta a determinarla.
Descrivi il funzionamento di una rete peer to peer basata su Chord ed analizzala dal punto di vista della scalabilità per le operazioni di lettura, cioè get(key), e scrittura, cioè put(key, value).
Domanda 1:
Descrivi i Bloom filter. Mostra perché i Bloom filter possono avere falsi positivi. Qual è la probabilità che un Bloom filter abbia falsi positivi? Mostra l’analisi che porta a calcolare tale probabilità e mostra quando tale probabilità è minima.
Domanda 2:
Si consideri un KD-tree T definito su un pointset P⊆R^2. Si descriva l’algoritmo SearchKDTree che consente di effettuare su T una query di tipo Orthogonal Range Search definita da un rettangolo R. Se ne descrivano inoltre le performance in termini di tempo di interrogazione, argomentando le ragioni che lo determinano.
Descrivi l’algoritmo R di Waterman per campionare s oggetti in uno stream x1, x2, …, xn la cui lunghezza n non è nota a priori. Mostra l’analisi che dimostra che, dopo l’arrivo di t oggetti sullo stream, ciascun oggetto ha la stessa probabilità di appartenere al campione.
Descrivi l’algoritmo di Chakraborty, Vinodchandran e Meel per il calcolo del numero di elementi distinti in uno stream. Qual è la probabilità che un elemento appartenga al campione mantenuto dall’algoritmo in un momento successivo alla sua prima apparizione sullo stream?
Si illustri la tecnica del fractional cascading, mettendone in risalto il principio algoritmico, e se ne descriva in modo dettagliato l’applicazione ad almeno una delle seguenti due interrogazioni: (1) Orthogonal range search mediante layered range trees e (2) Restituzione delle intersezioni tra un path poligonale e una linea di interrogazione.
Siano S1 e S2 due colonne di una matrice caratteristica M. Si consideri una funzione Min-hash h associata ad una permutazione random delle righe di M. Enuncia la relazione tra la Jaccard similarity J(S1,S2) di S1 e S2 e la probabilità Pr[h(S1) = h(S2)] e mostra l’analisi che porta a determinarla.
Descrivi il funzionamento di una rete peer to peer basata su Chord ed analizzala dal punto di vista della scalabilità per le operazioni di lettura, cioè get(key), e scrittura, cioè put(key, value).
Domanda 1:
Descrivi i Bloom filter. Mostra perché i Bloom filter possono avere falsi positivi. Qual è la probabilità che un Bloom filter abbia falsi positivi? Mostra l’analisi che porta a calcolare tale probabilità e mostra quando tale probabilità è minima.
Domanda 2:
Si consideri un KD-tree T definito su un pointset P⊆R^2. Si descriva l’algoritmo SearchKDTree che consente di effettuare su T una query di tipo Orthogonal Range Search definita da un rettangolo R. Se ne descrivano inoltre le performance in termini di tempo di interrogazione, argomentando le ragioni che lo determinano.
Descrivi l’algoritmo R di Waterman per campionare s oggetti in uno stream x1, x2, …, xn la cui lunghezza n non è nota a priori. Mostra l’analisi che dimostra che, dopo l’arrivo di t oggetti sullo stream, ciascun oggetto ha la stessa probabilità di appartenere al campione.
Descrivi l’algoritmo di Chakraborty, Vinodchandran e Meel per il calcolo del numero di elementi distinti in uno stream. Qual è la probabilità che un elemento appartenga al campione mantenuto dall’algoritmo in un momento successivo alla sua prima apparizione sullo stream?
Si illustri la tecnica del fractional cascading, mettendone in risalto il principio algoritmico, e se ne descriva in modo dettagliato l’applicazione ad almeno una delle seguenti due interrogazioni: (1) Orthogonal range search mediante layered range trees e (2) Restituzione delle intersezioni tra un path poligonale e una linea di interrogazione.
Siano S1 e S2 due colonne di una matrice caratteristica M. Si consideri una funzione Min-hash h associata ad una permutazione random delle righe di M. Enuncia la relazione tra la Jaccard similarity J(S1,S2) di S1 e S2 e la probabilità Pr[h(S1) = h(S2)] e mostra l’analisi che porta a determinarla.
Descrivi il funzionamento di una rete peer to peer basata su Chord ed analizzala dal punto di vista della scalabilità per le operazioni di lettura, cioè get(key), e scrittura, cioè put(key, value).
Domanda 1:
Descrivi i Bloom filter. Mostra perché i Bloom filter possono avere falsi positivi. Qual è la probabilità che un Bloom filter abbia falsi positivi? Mostra l’analisi che porta a calcolare tale probabilità e mostra quando tale probabilità è minima.
Domanda 2:
Si consideri un KD-tree T definito su un pointset P⊆R^2. Si descriva l’algoritmo SearchKDTree che consente di effettuare su T una query di tipo Orthogonal Range Search definita da un rettangolo R. Se ne descrivano inoltre le performance in termini di tempo di interrogazione, argomentando le ragioni che lo determinano.
Descrivi l’algoritmo R di Waterman per campionare s oggetti in uno stream x1, x2, …, xn la cui lunghezza n non è nota a priori. Mostra l’analisi che dimostra che, dopo l’arrivo di t oggetti sullo stream, ciascun oggetto ha la stessa probabilità di appartenere al campione.
Descrivi l’algoritmo di Chakraborty, Vinodchandran e Meel per il calcolo del numero di elementi distinti in uno stream. Qual è la probabilità che un elemento appartenga al campione mantenuto dall’algoritmo in un momento successivo alla sua prima apparizione sullo stream?
Si illustri la tecnica del fractional cascading, mettendone in risalto il principio algoritmico, e se ne descriva in modo dettagliato l’applicazione ad almeno una delle seguenti due interrogazioni: (1) Orthogonal range search mediante layered range trees e (2) Restituzione delle intersezioni tra un path poligonale e una linea di interrogazione.
Siano S1 e S2 due colonne di una matrice caratteristica M. Si consideri una funzione Min-hash h associata ad una permutazione random delle righe di M. Enuncia la relazione tra la Jaccard similarity J(S1,S2) di S1 e S2 e la probabilità Pr[h(S1) = h(S2)] e mostra l’analisi che porta a determinarla.
Descrivi il funzionamento di una rete peer to peer basata su Chord ed analizzala dal punto di vista della scalabilità per le operazioni di lettura, cioè get(key), e scrittura, cioè put(key, value).
Domanda 1:
Descrivi i Bloom filter. Mostra perché i Bloom filter possono avere falsi positivi. Qual è la probabilità che un Bloom filter abbia falsi positivi? Mostra l’analisi che porta a calcolare tale probabilità e mostra quando tale probabilità è minima.
Domanda 2:
Si consideri un KD-tree T definito su un pointset P⊆R^2. Si descriva l’algoritmo SearchKDTree che consente di effettuare su T una query di tipo Orthogonal Range Search definita da un rettangolo R. Se ne descrivano inoltre le performance in termini di tempo di interrogazione, argomentando le ragioni che lo determinano.
Cosa stai cercando?
Trova facilmente i contenuti di cui hai bisogno
Rubrica
Trova facilmente il contatto della persona o struttura di cui hai bisogno
Risultati suggeriti:
Risultati suggeriti: