Parallel Frequent Set Counting

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Parallel Frequent Set Counting"

Transcript

1 Parallel Frequent Set Counting Progetto del corso di Calcolo Parallelo AA Salvatore Orlando 1 Cosa significa association mining? Siano dati un insieme di item un insieme di transazioni, ciascuna contenete un sottoinsieme di item Vogliamo trovare regole/associazioni del tipo: if I1 then I2 (sup, conf) dove: I1, I2 sono insieme di item (itemset) I1, I2 hanno un sufficiente supporto: P(I1+I2) = sup La regola associativa ha sufficiente confidenza: P(I2 I1) = conf 2

2 Association mining L utente specifica l interesse delle regole: Minimum support (minsup) Minimum confidence (minconf) 1. Frequent Set Countint (FSC): Trova tutti gli itemset frequenti (> minsup) Spazio di ricerca esponenziale Molto costoso sia per quanto riguarda Computazione e I/O 2. Genera regole Solo regole associative forti (> minconf) Passo poco costoso 3 Esempio TID Items 1 Pane, Latte 2 Birra, Pane, Pannolini, Uova 3 Birra, Coca, Pannolini, Latte 4 Birra, Pane, Pannolini, Latte 5 Coca, Pane, Pannolini, Latte Association rule: X s,c y Support: s =σ(x y) / T Esempio: {Pannolini,Latte} s,c Birra s = σ({pannolini,latte, Birra}) / Tot_trans = = 2/5 = 0.4 = 40% c = σ({pannolini,latte, Birra}) / σ({pannolini,latte}) = = 2/3 = 0.66 Il supporto è la probabilità che un certo itemset appaia nelle transazioni del dataset. s=p({pannolini,latte, Birra}) Confidence: c = σ(x y) / σ(x) La confidenza è una probabilità condizionata c=p({pannolini,latte, Birra} {Pannolini,Latte}) 4

3 Complessità computazionale esponenziale Dati n transazioni e m differenti item: numero di pattern potenzialmente frequenti: O(2 m ) complessità computazionale: O(n2 m ) Apriori: ricerca di tutti i pattern frequenti, basato su vincoli di supporto minimo [Agarwal & Srikant]: 6HLOSDWWHUQ^$%`KDXQVXSSRUWRGLDOPHQR.DOORUDVLD$HB hanno XQVXSSRUWRGLDOPHQR. 6H$RSSXUH%KDQQRXQVXSSRUWRPLQRUHGL.DOORUD^$%`KDQQRun VXSSRUWRPLQRUHGL. - usa i pattern frequenti di k-1 item per ridurre lo spazio di ricerca dei pattern lunghi k - itera il procedimento 5 Apriori (Frequent Set Counting) Colleziona i conteggi degli item singoli seleziona solo gli item più frequenti Individua le coppie candidate ed effettua i conteggi seleziona solo le coppie più frequenti Individua le triple candidate ed effettua i conteggi seleziona solo le triple più frequenti E così via Principio guida: tutti i sottoinsiemi di un itemset frequente sono anch essi frequenti Questo principio è usato da Apriori per effettuare il pruning dei candidati 6

4 Illustriamo il principio di Apriori m Senza pruning C i = i C 1 = 6 C 2 = 15 C 1 = 20 Con pruning: 6+6+2=14 7 Contare gli itemset frequenti Gli itemset frequenti sono individuati contando quanti candidati appaiono in ciascuna delle transazioni del database Per velocizzare il conteggio, bisogna velocizzare la ricerca dei vari candidati all interno di ciascuna transazione Esistono vari metodi, che fanno affidamento dell ordinamento degli item all interno delle transazioni e degli itemset Item rappresentati tramite identificatori numerici 8

5 Prima iterazione di Apriori m: gli identificatori numerici associati agli item vanno da 1 a m D: file delle transazioni t: generica transazione F 1 : set dei set frequenti di lunghezza 1 9 Loop principale C k : itemset candidati di lunghezza k L algoritmo Apriori termina all iterazione k se non si individuano itemset frequenti, oppure se non si trovano candidati 10

6 Generazione dei candidati con pruning Gli itemset in F k e C k sono ordinati c C k se e solo se tutti i k-1-itemset c c appartengono a F k-1 Condizione necessaria affinché un k-itemset c possa appartenere a C k se esiste una coppia di itemset di F k-1 che con c condividano un identico prefisso di k-2 elementi La condizione diventa sufficiente se tutti i sottoinsiemi di k-1 elementi di c appartengono a F k-1 11 Ordinamento Item come numeri Transazioni a formato variabile ciascuna transazione è una lista di interi ordinati in maniera crescente Itemset (itemset sia candidati e sia frequenti) ordinati F k e C k come vettori di itemset Vettori ordinati lessicograficamente Ordinamento di F k-1 utile per rendere più efficiente la costruzione di C k Più semplice individuare prefissi Ordinamento di C k utile per rendere più efficiente la ricerca dei candidati, e quindi la fase di conteggio 12

7 Ordinamento e conteggio L ordinamento degli item può essere sfruttata per determinare i candidati contenuti in una certa transazione Vengono usate strutture dati complesse per memorizzare i candidati e velocizzare la ricerca Hash-tree o Prefix-tree Vogliamo qui suggerire un metodo più semplice da implementare Sia data una transazione ordinata t={t 0, t 1, t 2,.,t z-1 }, z = t i 2-prefix dei possibili k-itemset ordinati presenti in t coppie ordinate (I 0,I 1 ), dove I 0 t e I 1 t se I 1 = t j allora in t esistono al massimo z-j-1 item che possono essere usati per costruire un k-itemset contenuto in t quindi, se z-j-1 < k-2, allora (I 0,I 1 ) non può essere un 2-prefix ammissibile 13 Ordinamento e conteggio: subset_and_count(c k, t) Tail di t t={t 0, t 1, t 2, t 3,.,t z-1 } C k Counts I 0 I 1 Per ogni (I 0, I 1 ) Effettua una ricerca binaria su C k per individuare l inizio del segmento composto da candidati (k-itemset) con prefisso: (I 0, I 1 ) Scorri sequenzialmente il segmento per controllare se ciascun candidato è un sottoinsieme di Tail di t, e aggiorna eventualmente i contatori associati Segmento di C k con uno stesso 2-prefix (I 0, I 1 ) 14

8 Tecniche di parallelizzazione Consideriamo che Il Dataset può essere grande (elaborazione su disco) Per valori piccoli di minsup si ottengono molti candidati Data parallelism Partiziona il Database di Transazioni Partiziona i Candidati 15 Count Distribution (CD) Partiziona il Database di Transazioni Replica i candidati e conta in maniera distribuita Approccio noto come Count Distribution (CD) Ogni processore ha il completo insieme di candidati C k Ogni processore aggiorna i suoi contatori locali Riduzione globale per determinare il valore dei contatori NOTA: Se C k è troppo grande rispetto alla memoria, possono essere necessari scan multipli del database 16

9 Count Distribution (esempio iterazione 2) 17 Data Distribution (DD) Partiziona non solo il Database, ma anche i Candidati Ogni partizione dei candidati deve essere confrontata con l intero Dataset Partizioni dei dati comunicati fra tutti i processori Comunicazione finale per conoscere l F k globale, necessario per costruire C k+1 Alto costo di comunicazione Approccio utile quando i candidati diventano troppi e non possono essere mantenuti in memoria Anello per comunicare le partizioni tra i processori Shift sull anello e ed conteggio rispetto alla partizione remota ricevuta Tanti shift quanti sono i processori Possibile overlapping tra calcolo e comunicazione 18

10 Data Distribution (DD) 19 Data Distribution (DD) 20

11 Cluster di WS Architettura adatta per questo tipo di problema, in quanto le comunicazioni introdotte da questo algoritmo sono limitate Dischi multipli, utili per contenere i dati in ingresso / uscita dell algoritmo di FSC Di sotto, abbiamo illustrato due modi di configurare il cluster Shared Nothing Shared Disk Considerare anche il load balancing Architetture eterogenee, o multiprogrammate 21

Parallel Frequent Set Counting

Parallel Frequent Set Counting Parallel Frequent Set Counting Progetto del corso di Calcolo Parallelo AA 2010-11 Salvatore Orlando 1 Cosa significa association mining? Siano dati un insieme di item un insieme di transazioni, ciascuna

Dettagli

Lecture 14. Association Rules

Lecture 14. Association Rules Lecture 14 Association Rules Giuseppe Manco Readings: Chapter 6, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Association Rule Mining Dato un insieme di transazioni, trovare le regole che

Dettagli

Giuseppe Manco. Readings: Chapter 6, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman. Association rules mining

Giuseppe Manco. Readings: Chapter 6, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman. Association rules mining Lecture 14 Association Rules Giuseppe Manco Readings: Chapter 6, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Association Rule Mining Dato un insieme di transazioni, trovare le regole che

Dettagli

Regole associative Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007

Regole associative Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007 Regole associative Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 26/27 Introduzione Le regole associative si collocano tra i metodi di apprendimento non supervisionato e sono volte

Dettagli

Verifica 3 aprile Soluzioni

Verifica 3 aprile Soluzioni Università di Pisa A.A. 2007-2008 Data Mining - Corso di Laurea Specialistica in Informatica per l economia e l Azienda Verifica 3 aprile 2008 - Soluzioni Esercizio 1 - Sequential Patterns (8 punti) Si

Dettagli

Regole associative. Il problema della scoperta di regole associative può essere espresso come segue Sia I = {i 1

Regole associative. Il problema della scoperta di regole associative può essere espresso come segue Sia I = {i 1 Regole associative Regole associative Le regole associative descrivono correlazioni di eventi e possono essere viste come regole probabilistiche. Due eventi sono correlati quando sono frequentemente osservati

Dettagli

Regole associative. Regole associative. Regole associative. Regole associative

Regole associative. Regole associative. Regole associative. Regole associative Le regole associative descrivono correlazioni di eventi e possono essere viste come regole probabilistiche. Due eventi sono correlati quando sono frequentemente osservati insieme. Esempio: database di

Dettagli

Ingegneria della Conoscenza e Sistemi Esperti Lezione 2: Apprendimento non supervisionato

Ingegneria della Conoscenza e Sistemi Esperti Lezione 2: Apprendimento non supervisionato Ingegneria della Conoscenza e Sistemi Esperti Lezione 2: Apprendimento non supervisionato Dipartimento di Elettronica e Informazione Politecnico di Milano Apprendimento non supervisionato Dati un insieme

Dettagli

Università di Pisa A.A. 2004-2005

Università di Pisa A.A. 2004-2005 Università di Pisa A.A. 2004-2005 Analisi dei dati ed estrazione di conoscenza Corso di Laurea Specialistica in Informatica per l Economia e per l Azienda Tecniche di Data Mining Corsi di Laurea Specialistica

Dettagli

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

Esercizi vari. Alberto Montresor. 19 Agosto, 2014 Esercizi vari Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive soluzioni

Dettagli

Esercizi sull Association Analysis

Esercizi sull Association Analysis Data Mining: Esercizi sull Association Analysis 1 Esercizi sull Association Analysis 1. Si consideri il mining di association rule da un dataset T di transazioni, rispetto a delle soglie minsup e minconf.

Dettagli

Informatica 3. Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Lezione 21 - Modulo 1. Introduzione (1) Introduzione (2) Ricerca:

Informatica 3. Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Lezione 21 - Modulo 1. Introduzione (1) Introduzione (2) Ricerca: Informatica 3 Informatica 3 LEZIONE 21: Ricerca su liste e tecniche di hashing Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Lezione 21 - Modulo 1 Algoritmi sequenziali e basati su

Dettagli

Memorizzazione di una relazione

Memorizzazione di una relazione Heap file File ordinati Indici o Hash o B+-tree Costo delle operazioni algebriche Simboli: NP: numero di pagine NR: numero record LP: lunghezza pagina LR: lunghezza record Memorizzazione di una relazione

Dettagli

Association mining Salvatore Orlando

Association mining Salvatore Orlando Association mining Salvatore Orlando 1 Cos è l association mining Identifica frequenze/collegamenti/correlazioni/causalità tra insiemi di item (articoli) in database transazionali Ogni transazione contiene

Dettagli

FILE E INDICI Architettura DBMS

FILE E INDICI Architettura DBMS FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le

Dettagli

Regole di Associazione

Regole di Associazione Metodologie per Sistemi Intelligenti Regole di Associazione Prof. Pier Luca Lanzi Laurea in Ingegneria Informatica Politecnico di Milano Polo regionale di Como Esempio Esempio Regole di Associazione Scopo

Dettagli

Architetture Evolute nei Sistemi Informativi. architetture evolute 1

Architetture Evolute nei Sistemi Informativi. architetture evolute 1 Architetture Evolute nei Sistemi Informativi architetture evolute 1 Scalabilità delle Applicazioni carico: insieme di tutte le applicazioni (query) scalabilità: abilità di conservare prestazioni elevate

Dettagli

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento

Dettagli

Regole di Associazione: algoritmi

Regole di Associazione: algoritmi Regole di Associazione: algoritmi di Rosa Meo Regole di Associazione Originariamente proposte nella market basket analysis per rappresentare le regolarità di comportamento nell acquisto dei clienti. R.Agrawal,

Dettagli

Scoperta di sequenze di comportamento

Scoperta di sequenze di comportamento Scoperta di sequenze di comportamento Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Definizione del problema ed esempi. 1 2 Scoperta di sequenze. 5 3 Algoritmi per

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Algoritmi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Algoritmi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Algoritmi Algoritmi classici Alcuni problemi si presentano con elevata frequenza e sono stati ampiamente studiati Ricerca di un elemento in un vettore

Dettagli

Algoritmi di rimpiazzamento. Algoritmo con rimpiazzamento casuale

Algoritmi di rimpiazzamento. Algoritmo con rimpiazzamento casuale Algoritmi di rimpiazzamento Algoritmo con rimpiazzamento casuale In caso di miss con associativita superiore ad 1 il controllore deve determinare quale gruppo deve essere rimpiazzato con il nuovo gruppo

Dettagli

come segue: data una collezione C di elementi e una un elemento che verifica la proprietà P

come segue: data una collezione C di elementi e una un elemento che verifica la proprietà P Problemi di Ricerca Carla Binucci e Walter Didimo Il problema della Ricerca In generale, il Problema della Ricerca è definito come segue: data una collezione C di elementi e una proprietà P, determinare

Dettagli

Basi di Dati Parallele

Basi di Dati Parallele Basi di Dati Parallele Capitolo 3 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Scalabilità delle applicazioni Carico insieme di tutte le

Dettagli

Algoritmi e Strutture Dati Geometria Computazionale. Daniele Loiacono

Algoritmi e Strutture Dati Geometria Computazionale. Daniele Loiacono Algoritmi e Strutture Dati Geometria Computazionale Riferimenti 2 T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein Introduction to Algorithms, Second Edition Queste trasparenze sono disponibili su http://dei.polimi.it/upload/loiacono

Dettagli

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo

Dettagli

Elezione di un leader in una rete ad anello

Elezione di un leader in una rete ad anello Elezione di un leader in una rete ad anello Corso di Algoritmi Distribuiti Prof. Roberto De Prisco Lezione n a cura di Rosanna Cassino e Sergio Di Martino Introduzione In questa lezione viene presentato

Dettagli

BASI DI DATI DISTRIBUITE

BASI DI DATI DISTRIBUITE BASI DI DATI DISTRIBUITE Definizione 2 Un sistema distribuito è costituito da un insieme di nodi (o di siti) di elaborazione una rete dati che connette fra loro i nodi Obiettivo: far cooperare i nodi per

Dettagli

Silvia Rossi. Algoritmi di Ordinamento. Informatica. Lezione n. Parole chiave: Bubble Sort Selection Sort. Corso di Laurea:

Silvia Rossi. Algoritmi di Ordinamento. Informatica. Lezione n. Parole chiave: Bubble Sort Selection Sort. Corso di Laurea: Silvia Rossi Algoritmi di Ordinamento 0 Lezione n. Parole chiave: Bubble Sort Selection Sort Corso di Laurea: Informatica Insegnamento: Programmazione I Email Docente: srossi@na.infn.it A.A. 00-0 Ordinamento

Dettagli

Problemi algoritmici e Complessità degli algoritmi

Problemi algoritmici e Complessità degli algoritmi Problemi algoritmici e Complessità degli algoritmi Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2005/2006 Problemi algoritmici!

Dettagli

Introduzione agli algoritmi e le stru1ure da2

Introduzione agli algoritmi e le stru1ure da2 Introduzione agli algoritmi e le stru1ure da2 Annalisa De Bonis Docente Annalisa De Bonis Studio 44, quarto piano, stecca 7 Email: debonis@dia.unisa.it URL: http://www.di.unisa.it/~debonis/ IASD a.a. 2015-2016

Dettagli

GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE

GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE ESERCIZIO 1 PROBLEMA La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna di

Dettagli

Organizzazione Fisica dei Dati (Parte II)

Organizzazione Fisica dei Dati (Parte II) Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico

Dettagli

Regole associative. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Regole associative. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Regole associative Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Mining di regole associative Dato un insieme di transazioni, trovare le regole che segnalano la presenza di un elemento

Dettagli

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita n! = 1 n( n 1)! se se n n = > 0 0 dove n è un numero intero non negativo Il calcolo del fattoriale

Dettagli

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati Capitolo 4 Ordinamento: Selection e Insertion Sort Ordinamento Dato un insieme S di n elementi presi da un dominio totalmente ordinato, ordinare S in ordine non crescente o non

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

Compito di Informatica Grafica 2 appello 02/02/2009. Nome e Cognome Numero di Matricola

Compito di Informatica Grafica 2 appello 02/02/2009. Nome e Cognome Numero di Matricola Nome e Cognome Numero di Matricola Esercizio 1 (12 punti) Si consideri la base di dati di un ospedale riportata in figura. Ogni Operatore ha una Qualifica che può essere o medico o infermiere. Ogni operatore

Dettagli

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente,

Dettagli

Studio degli algoritmi

Studio degli algoritmi COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi

Dettagli

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E G u g l i e l m o M a r c o n i V e r o n a Dipartimento di Progetto didattico disciplinare per le classi terze della articolazione Anno

Dettagli

Efficienza: esempi. Nella lezione precedente. Fondamenti di Informatica. Ferdinando Cicalese. ! Qualche problema computazionale

Efficienza: esempi. Nella lezione precedente. Fondamenti di Informatica. Ferdinando Cicalese. ! Qualche problema computazionale Efficienza: esempi Fondamenti di Informatica Ferdinando Cicalese Nella lezione precedente! Qualche problema computazionale " Trova min " Selection sort! Pseudocodice per descrivere algoritmi " Variabili

Dettagli

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali

Dettagli

Dati e Algoritmi I (Pietracaprina) Esercizi sul Text Processing

Dati e Algoritmi I (Pietracaprina) Esercizi sul Text Processing Dati e Algoritmi I (Pietracaprina) Esercizi sul Text Processing Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T un testo di n caratteri e P un pattern di m n caratteri e si supponga che

Dettagli

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees Databases Architettura di un DBMS: Struttura ad indice per i files, B + -Trees Indici Un indice consiste di coppie e supporta l efficiente recupero di tutte le etichette con chiave

Dettagli

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio Algoritmi Greedy Tecniche Algoritmiche: tecnica greedy (o golosa) Idea: per trovare una soluzione globalmente ottima, scegli ripetutamente soluzioni ottime localmente Un esempio Input: lista di interi

Dettagli

Regole Associative. Sistemi informativi per le Decisioni. Slide a cura di Prof. Claudio Sartori

Regole Associative. Sistemi informativi per le Decisioni. Slide a cura di Prof. Claudio Sartori Regole Associative Sistemi informativi per le Decisioni Slide a cura di Prof. Claudio Sartori Data Mining Estrazione (mining) di regolarità (pattern) da grandi quantità di dati. 1. Analisi complesse 2.

Dettagli

INTRODUZIONE INTRODUZIONE TABELLE HASH FUNZIONE HASH

INTRODUZIONE INTRODUZIONE TABELLE HASH FUNZIONE HASH INTRODUZIONE INTRODUZIONE Una tabella hash è una struttura dati che permette operazioni di ricerca e inserimento molto veloci: in pratica si ha un costo computazionale costante O(1). Si ricorda che la

Dettagli

COMPLESSITÀ COMPUTAZIONALE. Fondamenti di Informatica A - Massimo Bertozzi

COMPLESSITÀ COMPUTAZIONALE. Fondamenti di Informatica A - Massimo Bertozzi COMPLESSITÀ COMPUTAZIONALE Tipi di complessità Consideriamo l'analisi della complessità di un programma da due punti di vista: spazio tempo Complessità Spaziale Lo spazio utilizzato da un programma può

Dettagli

Mandelbrot. Mandelbrot set. Progetto del corso di Calcolo Parallelo AA Salvatore Orlando. L insieme di Mandelbrot è un frattale

Mandelbrot. Mandelbrot set. Progetto del corso di Calcolo Parallelo AA Salvatore Orlando. L insieme di Mandelbrot è un frattale Mandelbrot Progetto del corso di Calcolo Parallelo AA 2003-04 Salvatore Orlando 1 Mandelbrot set L insieme di Mandelbrot è un frattale I Frattali sono oggetti con caratteristiche di self-similarity quando

Dettagli

Ordinamento di una lista: bubble-sort

Ordinamento di una lista: bubble-sort Ordinamento di una lista: bubble-sort L idea è di far galleggiare il minimo della lista nelle prima posizione Riduco la parte di lista da considerare, escludendo le prime posizioni già ordinate Ordinamento:

Dettagli

Ottimizzazione Combinatoria e Reti (a.a. 2007/08)

Ottimizzazione Combinatoria e Reti (a.a. 2007/08) o Appello 6/07/008 Ottimizzazione Combinatoria e Reti (a.a. 007/08) Nome Cognome: Matricola: ) Dopo avere finalmente superato l esame di Ricerca Operativa, Tommaso è pronto per partire in vacanza. Tommaso

Dettagli

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.) Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica

Dettagli

Towards Robust Indexing for Ranked Queries

Towards Robust Indexing for Ranked Queries aa 09/10 Towards Robust Indexing for Ranked Queries Gruppo 5 Candeloro D. Orlando M. Pedone A. Punto di partenza Pre-analisi + Indicizzazione Top-K Query efficienti Metodi di indicizzazione esistenti influenzabili

Dettagli

Apprendimento Automatico

Apprendimento Automatico Apprendimento Automatico Fabio Aiolli www.math.unipd.it/~aiolli Sito web del corso www.math.unipd.it/~aiolli/corsi/1516/aa/aa.html Rappresentazione dei dati con i kernel Abbiamo una serie di oggetti S

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

3.4 Metodo di Branch and Bound

3.4 Metodo di Branch and Bound 3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land

Dettagli

Mining Positive and Negative Association Rules:

Mining Positive and Negative Association Rules: Mining Positive and Negative Association Rules: An Approach for Confined Rules Alessandro Boca Alessandro Cislaghi Premesse Le regole di associazione positive considerano solo gli item coinvolti in una

Dettagli

Complessità computazionale

Complessità computazionale Complessità computazionale Alberto Policriti Dpt. of Mathematics and Informatics, University of Udine. Applied Genomics Institute December 16, 2009 Il problema computazionale Un problema specifica una

Dettagli

Architetture data-flow

Architetture data-flow Architetture data-flow Le architetture che abbiamo visto finora sono dette architetture control flow. Ciò sta ad indicare che il flusso dell elaborazione è dettato dall ordine con cui le varie istruzioni

Dettagli

Algoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet francesc

Algoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet   francesc Algoritmi e Strutture di Dati I 1 Algoritmi e Strutture di Dati I Massimo Franceschet http://www.sci.unich.it/ francesc m.franceschet@unich.it Algoritmi e Strutture di Dati I 2 Problema dell ordinamento

Dettagli

Matroidi, algoritmi greedy e teorema di Rado

Matroidi, algoritmi greedy e teorema di Rado Matroidi, algoritmi greedy e teorema di Rado per il corso di Laboratorio di Algoritmi e Ricerca Operativa Dott. Alberto Leporati / Prof.ssa Enza Messina Dipartimento di Informatica, Sistemistica e Comunicazione

Dettagli

Geometria analitica di base. Equazioni di primo grado nel piano cartesiano Funzioni quadratiche Funzioni a tratti Funzioni di proporzionalità inversa

Geometria analitica di base. Equazioni di primo grado nel piano cartesiano Funzioni quadratiche Funzioni a tratti Funzioni di proporzionalità inversa Equazioni di primo grado nel piano cartesiano Funzioni quadratiche Funzioni a tratti Funzioni di proporzionalità inversa Equazioni di primo grado nel piano cartesiano Risoluzione grafica di un equazione

Dettagli

Sistemi a Regole. Fabio Sartori 3 dicembre L algoritmo RETE Forward e Backward Chaining

Sistemi a Regole. Fabio Sartori 3 dicembre L algoritmo RETE Forward e Backward Chaining Sistemi a Regole Fabio Sartori sartori@disco.unimib.it 3 dicembre 2008 L algoritmo RETE Forward e Backward Chaining 1 Sistemi di Produzioni (1) Un sistema di produzioni consiste in un insieme non ordinato

Dettagli

PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica I dati strutturati: gli array I vettori (o Array) Fino a ora abbiamo memorizzato le informazioni (valori)

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Secondo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Secondo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale Secondo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 2 marzo 2017 Programma 1. Lettura e analisi di un problema 2.

Dettagli

Statistica per l Impresa

Statistica per l Impresa Statistica per l Impresa a.a. 207/208 Tecniche di Analisi Multidimensionale Analisi dei Gruppi 2 maggio 208 Indice Analisi dei Gruppi: Introduzione Misure di distanza e indici di similarità 3. Metodi gerarchici

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Risoluzione di Equazioni Algebriche Le equazioni algebriche sono equazioni del tipo P(x) = 0 dove P è un polinomio di grado n cioé P(x) = a 1 x n + a 2 x n

Dettagli

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Alberto Montresor 27 marzo 2012 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente,

Dettagli

Complementi ed Esercizi di Informatica Teorica II

Complementi ed Esercizi di Informatica Teorica II Complementi ed Esercizi di Informatica Teorica II Vincenzo Bonifaci 21 maggio 2008 4 Problemi di ottimizzazione: il Bin Packing Il problema bin packing è il seguente: dato un insieme di n oggetti di dimensioni

Dettagli

Progetto Matematica in Rete - Insiemi - Insiemi

Progetto Matematica in Rete - Insiemi - Insiemi Insiemi Il concetto di insieme è molto importante in matematica. Cominciamo con lo stabilire cos è un insieme in senso matematico: un raggruppamento di oggetti è un insieme se si può stabilire in modo

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 9 Alberi di decisione Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

Algoritmi e Strutture Dati. Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal

Algoritmi e Strutture Dati. Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Progettare una rete stradale Supponiamo di dover progettare una rete stradale in cui il costo di costruzione di un

Dettagli

Progetto e analisi di algoritmi

Progetto e analisi di algoritmi Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento

Dettagli

Giuseppe Manco. Readings: Chapter 6, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman. Association rules mining

Giuseppe Manco. Readings: Chapter 6, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman. Association rules mining Lecture 15 Association Rules Giuseppe Manco Readings: Chapter 6, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Ottimizzazioni DHP: Direct Hash and Pruning (Park, Chen and Yu, SIGMOD 95) Ottimizza

Dettagli

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Prof. Venturino Taggi

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Prof. Venturino Taggi FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Prof. Venturino Taggi accattatis@ing.uniroma2.it taggi@ing.uniroma2.it 2 Fondamenti di Informatica 2015/16 V.Taggi taggi@ing.uniroma2.it Algoritmi di

Dettagli

Classificazione Mario Guarracino Data Mining a.a. 2010/2011

Classificazione Mario Guarracino Data Mining a.a. 2010/2011 Classificazione Mario Guarracino Data Mining a.a. 2010/2011 Introduzione I modelli di classificazione si collocano tra i metodi di apprendimento supervisionato e si rivolgono alla predizione di un attributo

Dettagli

Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative.

Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative. Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative. Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro Definizione

Dettagli

Modello Booleano e Liste Inverse. M. Diligenti Sistemi Gestione Documentale 1

Modello Booleano e Liste Inverse. M. Diligenti Sistemi Gestione Documentale 1 Modello Booleano e Liste Inverse M. Diligenti Sistemi Gestione Documentale 1 Modelli per la ricerca Modello booleano Permette di fare le ricerche in modo efficiente Vector-space Permette di ordinare i

Dettagli

Argomenti della lezione. Introduzione agli Algoritmi e alle Strutture Dati. Lista Lineare. Lista Lineare come Tipo di Dato Astratto

Argomenti della lezione. Introduzione agli Algoritmi e alle Strutture Dati. Lista Lineare. Lista Lineare come Tipo di Dato Astratto Argomenti della lezione Introduzione agli Algoritmi e alle Strutture Dati Operazioni su Liste Dr. Emanuela Merelli Tipi di Dato Astratto Lista Lineare Pila Coda Concetto di Struttura dati dinamiche Lista

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

Dettagli

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco (mdifrance@unica.it) i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it)

Dettagli

Esercizi di Programmazione Lineare

Esercizi di Programmazione Lineare Esercizi di Programmazione Lineare 1 grafica Si consideri il seguente problema di programmazione lineare: max 3x 1 + 2x 2 s.t. + 2x 1 + x 2 4 2x 1 + x 2 2 + x 1 x 2 1 x 1, x 2 0 a) Risolvere il problema

Dettagli

Definizioni. Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente: soluzione ottima in un dominio contiguo. Il paradigma greedy

Definizioni. Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente: soluzione ottima in un dominio contiguo. Il paradigma greedy Il paradigma greedy Paolo Camurati, Fulvio Corno, Matteo Sonza Reorda Dip. Automatica e Informatica Politecnico di Torino Definizioni Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente:

Dettagli

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem Introduzione al Column Generation Caso di Studio: il Bin Packing Problem November 15, 2014 1 / 26 Introduzione Il column generation è una metodologia che può essere usata per risolvere problemi di ottimizzazione

Dettagli

Algoritmi di Ordinamento

Algoritmi di Ordinamento Algoritmi di Ordinamento 1 Algoritmi di ordinamento Selection Sort Quick Sort Lower bound alla complessità degli algoritmi di ordinamento Statistiche di ordine 2 Selection Sort SelectionSort(dati[]) {

Dettagli

Secondo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Secondo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale Secondo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 15 marzo 2016 Programma 1. Lettura di un problema tratto dalle

Dettagli

Regole associative. Mining di regole associative

Regole associative. Mining di regole associative Regole associative Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Mining di regole associative Dato un insieme di transazioni, trovare le regole che segnalano la presenza di un elemento

Dettagli

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 14, 2016 Elementi Fondamentali Rappresentazione n = V numero di vertici (nodi) m = E numero di archi Matrice di adiacenza:

Dettagli

Laboratorio di Sistemi Operativi Simulatori

Laboratorio di Sistemi Operativi Simulatori Laboratorio di Sistemi Operativi Simulatori Simulatori SGPEMv2 della Dueffe Simulatore di Gestione di Processi in un Elaboratore Programmato. Analizza l'ordinamento dei processi e dei meccanismi di gestione

Dettagli

Esercitazione su Instruction Level Parallelism Salvatore Orlando

Esercitazione su Instruction Level Parallelism Salvatore Orlando Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a

Dettagli

Esercizi Capitolo 7 - Hash

Esercizi Capitolo 7 - Hash Esercizi Capitolo 7 - Hash Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive

Dettagli

Array ( vettore/matrice Un dato strutturato. indice Accesso diretto

Array ( vettore/matrice Un dato strutturato. indice Accesso diretto Array (vettore/matrice) Un dato strutturato. Un insieme di variabili tutte dello stesso tipo identificate con un nome comune. Uno specifico elemento è referenziato tramite un indice (funzione di accesso)

Dettagli