Gloria Bordogna CNR IDPA Via Pasubio 5, c/o POINT, Dalmine (BG)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gloria Bordogna CNR IDPA Via Pasubio 5, c/o POINT, Dalmine (BG) e-mail: gloria.bordogna@idpa.cnr.it"

Transcript

1 Strutture dati per sistemi di INFORMATION RETRIEVAL Gloria Bordogna CNR IDPA Via Pasubio 5, c/o POINT, Dalmine (BG)

2 Creazione di una struttura dati struttura dati per organizzare gli indici Scopo (efficienza): velocizzare la ricerca di indici Compattare la matrice sparsa di correlazione termini documenti l indice viene costruito off-line prima di permette la ricerca ottimizzare la ricerca per query costituite da un singolo termine

3 Creazione di un Indice a file inverso Calcolo significatività indici Regole di parsing Costruzione dell indice Parser dizionario Inverted index Posting file Stop list tokenizer documents Stemmer Regole di stemming

4 Struttura dati a file inverso Indipendente dal modello di retrieval che il sistema di IR adotta. Informazioni associate ad ogni termine indice (nel dizionario) : puntatore alla lista di documenti che lo contengono (nel posting file). Per ogni documento puntato: la frequenza del termine nel documento (tf) la posizione nel documento di ogni occorrenza del termine (opzionale, solo per abilitare query con contesto). le sue occorrenze nella collezione df per il calcolo della IDF e per ottimizzare la valutazione di query Booleane)

5 Struttura dati a file inverso Il dizionario contiene per ogni indice: termine, frequenza globale, puntatore alla lista di posting nel posting file La lista di posting contiene per ogni elemento 1. l identificatore univoco del documento (DOCID) che in File Text è associato a un nome file o locazione URL. 2. Frequenza del termine nel documento (tf). 3. Posizione nel documento di ogni occorrenza del termine espressa come numero di parola dall inizio del documento, num. Byte dall inizio del documento, num. di sezione, paragrafo, frase, numero di parola nella frase File Dizionario File di Posting D1: nome_file1.doc, ms_word D2: nome_file2.txt, wordpad D3: nome_file3, acrobat_reader File text contenente l elenco ordinato dei DOCID

6 Occupazione in memoria della Struttura dati a File Inverso Lo spazio richiesto per memorizzare il dizionario (indice) è piuttosto ridotto. Il vocabolario cresce come O(N β ) (legge di Heap) dove N è lo spazio occupato dal testo dei documenti e β è una costante tra 0.4 e 0.6. Es: N = 1Gb dizionario circa 5 Mb. D altra parte le occorrenze richiedono molto più spazio. Poiché ogni parola che compare nel testo di un documento è riferita una volta nella struttura dati, lo spazio cresce come O(N).

7 Ottimizzazione del posting file Si applicano tecniche di compressione a: nomi dei termini nel dizionario identificatori dei documenti e occorrenze dei termini Tecnica di compressione dei DOCID con indirizzo relativo term (d 1,tf 1 ), (d 2,tf 2 ),... (d n,tf n ) sfrutta l ordinamento crescente dei DOCID nel posting file ogni DOCID i è sostituito dall intervallo DOCID i -DOCID i-1 I numeri sono codificati usando meno bit L indice viene ridotto del 10-15% Es: Term1 (200,10), (350,3), (550,5), (600,1), uso 2 byte per DOCID assoluto (200,10), (150,3), (200,5), (50,1) uso 1 byte per DOCID relativo Lo stesso criterio si può usare per le occorrenze del termine in ogni documento nel posting file

8 Ottimizzazione del posting file INDIRIZZAMENTO A BLOCCHI: Le occorrenze di un termine nel posting file puntano a blocchi di documenti o ogni documento viene diviso in blocchi. dove compare la parola 17 Vantaggi: il numero di bit del puntatore è più piccolo rispetto a quello che memorizza le occorrenze nella posizione precisa nel testo. Tutte le occorrenze di una parola dentro un singolo blocco hanno lo stesso riferimento. Svantaggi: Le ricerche per contesto richiedono più operazioni.

9 RICERCA in un file Inverso : Accesso al file dizionario e ricerca dei termini nella query Reperimento della lista di posting associata a ogni termine trovato nel dizionario Filtraggio dei risultati: se la query contiene più termini connessi da operatori le liste parziali dei risultati vanno fuse (operazione di merge) in una lista globale. Se gli operatori sono di prossimità o adiacenza e il file inverso adotta un indirizzamento a blocchi è necessario scandire i blocchi per ottenere l offset delle occorrenze nel blocco dei termini.

10 File di Posting con Skip Pointers : Per ottimizzare le ricerche si introducono nelle liste di posting dei termini dei puntatori di skip (che saltano un certo numero di occorrenze) DIZIONARIO POSTING FILE t1 d1, d2, d9, d11, d25, d26, d71, d80, d t2 d4, d6, d79, d111, d125, d226, d271, d290

11 File Inverso: ottimizzazione Inversione completa (full inversion) memorizzazione della posizione precisa delle occorrenze delle parole ( O(n) overhead circa 40%) Indirizzamento a blocchi nei documenti ogni termine nel dizionario punta a blocchi nei documenti (la dim. del puntatore varia da 1 a 3 byte a seconda della dim. dei documenti della collezione) (overhead del 5%) (limite 256 blocchi in documenti di 200Mb) Indirizzamento a blocchi di documenti si punta a 256 o 64K blocchi di documenti (ciò richiede 1 o 2 byte per puntatore) indipendentemente dalle dimensioni della collezione 17

12 Indice Inverso: aggiornamento AGGIUNTA DI NUOVI DOCUMENTI: Aggiornamento del dizionario e del posting file CANCELLAZIONE: gestione mediante FLAG associato ad ogni documento nel file TEXT. File Dizionario 17 File di Posting DOCID File text contenente l elenco ordinato dei DOCID D1: nome_file1.doc, 1 D2: nome_file2.txt, 0 D3: nome_file3, 1 FLAG

13 Indice Lineare Termine Puntatore alla lista inversa di postings ant bee cat dog elk fox gnu hog Algoritmo ricorsivo di ricerca binaria: trova l'elemento a metà fra l'inizio e la Lista fine del dizionario; se è uguale a quello da Inverted cercare, restituisci true; se è maggiore, cerca solo nella prima metà; altrimenti, cerca solo nella seconda metà; 16 Il dizionario può essere tenuto in memoria (a pezzi) durante il retrieval

14 Indice Lineare Vantaggi Può essere acceduto velocemente, es., con una ricerca binaria, O(log n) E adatto per la valuazione sequenziale, es., comp* Occupazione economica dello spazio di memoria 17 Svantaggi Difficile l aggiornamento incrementale: Gli indici devono essere ricostruiti se si inseriscono nuovi termini

15 Indice a B-tree Catalog, hardware network Review, synonym Apparatus, biomedicine morpheme Number, paper Enciclopedia, grammar publication B-tree di ordine d: Ogni nodo memorizza più termini La radice contiene tra 1 e d termini. Ogni nodo intermedio contiene tra d/2 e d termini Se k i èl iesimo termine in un nodo intermedio tutti i termini nell (i-1) esimo figlio sono lessicograficamente più piccoli di k i tutti i termini nell (i+1) esimo figlio sono lessicograficamente più 18 grandi di k i Tutte le foglie hanno la stessa profondità (bilanciamento)

16 Indice a B-tree Vantaggi Può essere acceduto velocemente (visita ricorsiva i nodi) numero massimo di accessi a un B tree di ordine d: O(log d n) dove n è il numero di livelli (altezza del B tree) e d il numero di elementi per nodo Conveniente per l aggiornamento Semplice aggiunta di nuovi termini Utilizzo economico dello spazio di memoria Svantaggi Inefficiente per la ricerca sequenziale, comp* Tende a diventare sbilanciato dopo diversi aggiornamenti (n cresce) Se l indice è tenuto su disco ogni nodo può richiedere un accesso al disco separato.

17 INDICE a (Suffix- Tree/Arrays) Generalizza i file inverted Utilità database genetici (i testi sono stringhe senza parole) ricerche complesse ad esempio per frasi e ricerca sequenziale (prefissi) O(m) indipendente dalla lunghezza N dell indice Nozioni di Base Tratta il testo di un documento come un unica stringa ogni posizione nel testo fino alla fine del testo è un suffisso ogni suffisso è univocamente identificato dalla posizione iniziale ove appare nel documento dal testo vengono selezionati dei punti indice che possono essere reperiti I puntatori ai suffissi sono memorizzati nelle foglie dell albero (suffix-tree) Le parti comuni ai suffissi sono memorizzate solo una volta

18 INDICE a Suffix-Tree This is a text. A text has many words. Words are made from letters Punti indice suffissi text. A text has many words. Words are made from letters text has many words. Words are made from letters many words. Words are made from letters words. Words are made from letters Words are made from letters made from letters letters Suffix-tree Ordine lessicografico : 1 visita in ordine dall alto al basso O(m) m lunghezza chiave di ricerca 60 letters ma text words de from ny words Ha tanti nodi figlio quanti sono i suffissi Ogni nodo ha almeno 2 figli Ogni arco è una sottostringa del suffisso has many A text has. Words are made.. 40 are made from 33

19 Suffix-Array This is a text. A text has many words. Words are made from letters. Punti indice text. A text has many words. Words are made from letters suffissi Suffix-array text has many words. Words are made from letters many words. Words are made from letters words. Words are made from letters Words are made from letters made from letters letters Let tex wor Ordine lessicografico delle posizioni dei suffissi ricerca binaria Ottimizzazione numero accessi sopra indice: campionamento del suffix-array con passo 4 e suffix=3

20 INDICE a (Suffix- Tree/Array) Vantaggi Adatti a ricerche complesse ad esempio per frasi e ricerca sequenziale (prefissi) comp* Svantaggi processo di costruzione costoso alto overhead (dal 120% al 240% della dimensione della collezione)

21 INDICE a Signature (maschera di bit) Diversamente da un file inverso la struttura dati a signature usa hash tables. si suddivide il documento (testo o immagine) in blocchi di lunghezza fissa (es. misurata in numero di indici contenuti o num di pixels) si assegna ogni blocco a una signature (di dimensione fissa), che viene usata per ricercare il documento effettuando un matching con la signature che viene associata alla query. La signature associata al blocco si ottiene attraverso OR delle stringhe di bit associate a ciascun termine nel blocco da una funzione di hashing

22 INDICE a Signature This is a text. A text has many words. Words are made from letters OR b=2 indici per blocco signature h(text) = h(many) = h(words) = h(made) = h(letters) = h = funzione di hash m=2 bit settati a 1 in modo casuale nella maschera di lunghezza B=6 (lunghezza della signature)

23 INDICE a Signature Consideriamo il testo d= text retrieval and information retrieval : H(information) = H(text) = H(data) = H(retrieval) = B=6, b=2, m=2 La signature dei due blocchi del documento d (dopo aver rimosso le stopwords) è: Rappresentazione a signature del documento d B1(d) = ottenuta H(text) = OR H(retrieval) = B2(d) = ottenuta H(information) = OR H(retrieval) =

24 INDICE a Signature - Ricerca B1(d) = ottenuta H(text) = OR H(retrieval) = B2(d) = ottenuta H(text) = OR H(retrieval) = Per cercare un dato termine si confronta la stringa di bit associata dalla funzione di hash al termine di ricerca verificando se è inclusa nelle signatures del documento. Es: ricercando text in d H(text) = che è contenuta in B1(d) e B2(d) text text reperisce d Consideriamo ora di ricercare data H(data)= è contenuta nelle stringhe B1(d) e B2(d) Data reperisce d ma in questo caso abbiamo un errore Le strutture dati a signature possono dare origine a risultati falsi

25 Probabilità di avere dei False Drop Un False Drop è la probabilità che una signature di un blocco soddisfi una query semplice anche se il blocco non contiene il termine cercato Tale probabilità aumenta se ci sono troppi bit a 1 nella signature dei blocchi Questa è la ragione della scelta di indicizzare a blocchi i documenti I false drop si minimizzano scegliendo B grande (signature lunga), b piccolo (blocchi piccoli) e m piccolo (pochi bit = 1) costo grande overhead 2% prob. False drop 10% overhead 0.046% prob. False drop 20% overhead

26 INDICE a Signature Vantaggi Bassa occupazione di memoria (dal 10% al 20% della dimensione della collezione) adatta per testi non troppo grossi Adatti per indicizzare dati multimediali (associando a sottoparti di immagine una maschera di bit) Svantaggi ricerca sequenziale (per prefissi) sulle signature eventualità di False drop l indice a file inverso è migliore nella maggior parte delle applicazioni rispetto all indice a signature

27 p strutturati Estensione del file posting inclusione dell ID delle sezioni o campi (Zone, o field) information: doc1.{sez1, sez2, sez3, } retrieval: doc1.{sez1, sez3, } Permette di valutare Vincoli strutturali Esistenza della sezione S Vincolidiinclusione A in sezione S A nella stessa sezione di B I termini A e B devono co-occorrere in una sezione comune

28 Indice per documenti strutturati Estensione dei termini nel dizionario Estensione dizionario degli indici con campi DIZIONARIO Fusion.abstract Fusion.title d1, d2 POSTING d1, d3, d4

29 Conclusioni -Velocità di accesso e di Retrieval Signature file << Suffix array << file inverso (a destra il più veloce) - Capacità di Memoria File inverso >> suffix array>> Signature file (a destra il più compatto)

30 Ricerca sequenziale di stringhe Se non c è un indice o se c è un indice a blocchi è necessario effettuare una ricerca sequenziale nel testo del documento o nel blocco per trovare una stringa (pattern) Problema: Dato un pattern P di lunghezza n e un testo T di lunghezza m (m >> n) trova tutte le posizioni di P in T Ci sono diversi algoritmi Alcuni per la ricerca esatta di P in T Altri per la ricerca di una stringa in T simile a P (ciò permette di tener conto di possibili errori di stampa nella formulazione di query

31 Ricerca Knuth Morris-Pratt Si utilizzano le informazioni sul confronto nella finestra precedente per riposizionare la finestra ottimizzando la ricerca O(m) Esempio TEXTURE OFA TEXT IS NOT TEXTUAL E la query TEXT La finestra è di 5 caratteri TEXTURE OFA TEXT IS NOT TEXTUAL A questo punto non c è un matching e quindi la finestra viene riposizionata TEXTURE OFA TEXT IS NOT TEXTUAL TEXTURE OFA TEXT IS NOT TEXTUAL TEXTURE OFA TEXT IS NOT TEXTUAL (trovato!) 11111

32 Tolleranza di Errori fuzzy pattern matching di stringhe Obbiettivo: rimediare a errori possibili di stampa nel testo dei documenti o nelle query; Metodo: Pattern matching di stringhe isolate: Per ogni parola nella query si esegue un confronto parziale tra stringhe e termini indice nel dizionario; tale confronto è basato sulla misura della similarità tra stringhe. Pattern matching contestuale di stringhe; come sopra poi si selezionano le coppie di stringhe con più alta co-occorrenza nei documenti della collezione Flight flew Milano London

33 Misure di Similarità tra stringhe Determinare la similarità tra due oggetti Longest Common Subsequence (LCS) (similarità) Caratteristiche: t i Τ, sim(t i, t i )= 1 t i, t j Τ, sim(t i, t j )= 0 se t i e t j sono completamente diverse t i, t j, t k Τ, sim(t i, t j )<sim(t i, t k ) se t i è più simile a t k che a t j Fornisce la lunghezza della sequenza più lunga di caratteri comuni alle due stringhe. Una sequenza di una stringa si ottiene cancellando zero o più caratteri. Esempio: misspell <---> mispell LCS= 7 misspelled <----> misinterpretted LCS= 7

34 Distanza tra stringhe Alternativamente si può usare una distanza per misurare la differenza tra stringhe. Distanza di Hamming Applicabile a stringhe di uguale lunghezza Calcola il numero minimo di caratteri che devono venire cambiati per trasformare una stringa nell altra: Siano v = (v 1,... v n ) e w = (w 1,... w n ) due parole (rappresentate come vettori di V). h(v,w) = { j: v j w j } ESEMPIO v=distribuire w=contribuito { D, I, S, R, E} = h(w,v)=h(v,w)=5 Si può normalizzare rispetto alla lunghezza della stringa N h(v,w)/ N 5/11 similarità(v,w) = 1- h(v,w)/ N = 6/11

35 Distanza Edit o di Levenshtein Generalizzazione della distanza di Hamming Stima il costo in termini di numero minimo di trasformazioni necessarie per convertire una stringa nell altra. Le stringhe possono avere lunghezze diverse Transformazioni (costo differente): Substitute: Sostituisce il carattere corrente nella stringa di input con quello corrente nella stringa target Delete : cancella il carattere corrente nella stringa di input Insert : Inserisce il carattere corrente della stringa target nella stringa di input ESEMPIO w = GATTACA y = TATATA GATTACA ATTACA TTACA TATACA TATATA (1 ins, 2 del, 1 sub) GATTACA TATTACA TATACA TATATA (0 ins, 1 del, 2 sub) Edit distance = 3

36 1 capron 2 crapron 3 craron 4 craon 5 crayon input Distanza Edit target Edit distance = 5

37 Ricerca nell INDICE di una stringa con tolleranza di errori Ottimizzare la Valutazione esaustiva e costosa della distanza di Edit con tutti I termni nel dizionario Approccio euristico 1. Restringe il calcolo a stringhe che iniziano con lo stesso carattere 2. Utilizza l indice permuterm considerando tutte le rotazioni r della stringa query q Es: q=maro rotazioni r=maro$ aro$m ro$ma o$mar Trovo nell INDICE permuterm le parole che iniziano con ogni rotazione r (omettendo un suffisso esempio di lunghezza es. L=1 ) ->cerco nell Indice permuterm mar* aro* ro$* o$m* Mar* -> mare, marchio Aro* - > aroma, ro$* -> moro, foro o$m* -> moro

38 Ricerca di una stringa nel dizionario 2 Approccio euristico con min distanza Edit Utilizzo di un indice K-grammi e seleziono i termini t nel dizionario che hanno un minimo numero # di kgrammi in comune con q Coeff. Di Jaccard:= t q / t q Regola: Coeff Jaccard> 0.5 ca caserma canestro mecca casse->casseruola as asso masso casse tasse casseruola se casse tasse caserma sentiero casseruola Es: q=case seleziono casse # di 2grams in q=case=3 # di 2grams di casseruola=9 # di 2grams di casseruola case=3 Coeff. Di Jaccard:= t q / t q =3/(3+9-3)=3/9=1/3 2grams di q=case=3 2grams di q=casse=4 2grams di casse case=3 Coeff. Di Jaccard:= t q / t q =3/(3+4-3)=3/4

39 Ricerca di una stringa con errori di battitura fonetici L utente ha digitato una parola che ha un suono simile a quello di un altra (tipico errore nello spelling dei nomi propri) Si generara un Soundex tabella FONETICA Phonetic hash Parole con suono simile hanno lo stesso codice in Soundex Algoritmo: Trasforma ogni indice in una stringa di 4 caratteri (Ci sono diverse conversioni): 1) mantieni la prima consonante 2) trasforma le vocali e H W Y 0 3) trasforma consonanti con stesso suono nello stesso digit: Es B F P V 1 C G J K Q S X Z 2 D T 3 M N 5 R 6 Elimina digit consecutivi, elimina 0, e mette 0 in testa, e conserva le prime 4 posizioni Trasforma il termine nella query q in sound Cerca q in Soundex

40 Ricerca di Pattern semplici Prefissi: Pattern che identificano l inizio di parole. anti --> antiquity, antibody, ecc. Suffissi: Pattern che identificano la fine di parole: ix --> fix, matrix, ecc. Sottostringhe: Pattern che identificano sottosequenze arbitrarie di caratteri. rapt --> enrapture, velociraptor ecc. Intervalli: coppie di stringhe che identificano una qualunque parola lessicograficamente intermedia tin to tix --> tip, tire, title, ecc.

41 Valutazione di query con wildcard * Costose: necessitano di strutture dati apposite INDICE PERMUTERM: è un sopraindice che contiene ordinate lessicograficamente tutte le rotazioni dei termini indice nel dizionario Indice permuterm Dizionario asa$c a$cas casa$ sa$ca Casa a$cos cosa$ osa$c sa$co Cosa Si inserisce il carattere $ di fine stringa Data la query q= c*sa q= c*sa$ la ruoto fino a portare * alla fine q=sa$c* e cerco nell indice permuterm INDICE Kgrammi: ^ =inizio di un termine Dizionario 3grams Sa$ ^ca q= c*sa ^c and sa$ Dizionario casa, cosa, causa, pausa, casa,castello, causa,

Indicizzazione. Fasi del processo di IR. Indicizzazione: due aspetti. Corpus: Costruzione delle viste logiche dei documenti: Termine indice

Indicizzazione. Fasi del processo di IR. Indicizzazione: due aspetti. Corpus: Costruzione delle viste logiche dei documenti: Termine indice Fasi del processo di IR Indicizzazione Information need text input Pre-process documents Parse Query Index Rank Indicizzazione: due aspetti Costruzione delle viste logiche dei documenti: Per ogni documento

Dettagli

Modelli di Information Retrieval: I modelli base

Modelli di Information Retrieval: I modelli base Modelli di Information Retrieval: I modelli base Gabriella Pasi 1 Università degli Studi di Milano Bicocca Via Bicocca degli Arcimboldi 8 e-mail: pasi@disco.unimib.it Struttura base di un IRS ARCHIVIO

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Sistemi Informativi Multimediali Indicizzazione multidimensionale

Sistemi Informativi Multimediali Indicizzazione multidimensionale Indicizzazione nei sistemi di IR (1) Sistemi Informativi Multimediali Indicizzazione multidimensionale ugusto elentano Università a Foscari Venezia La struttura fondamentale di un sistema di information

Dettagli

TECNICHE DI COMPRESSIONE DATI

TECNICHE DI COMPRESSIONE DATI TECNICHE DI COMPRESSIONE DATI COMPRESSIONE DATI La compressione produce una rappresentazione più compatta delle informazioni è come se si usassero meno parole per dire la stessa cosa in modo diverso. Esistono

Dettagli

Uno sguardo a Lucene. Diego De Cao, Roberto Basili Web Mining and Information Retrieval a.a. 2010/2011

Uno sguardo a Lucene. Diego De Cao, Roberto Basili Web Mining and Information Retrieval a.a. 2010/2011 Uno sguardo a Lucene Diego De Cao, Roberto Basili Web Mining and Information Retrieval a.a. 2010/2011 Outline Uno sguardo a Lucene Descrizione delle principali caratteristiche Realizzazione di un semplice

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

PROGETTAZIONE FISICA

PROGETTAZIONE FISICA PROGETTAZIONE FISICA Memorizzazione su disco, organizzazione di file e tecniche hash 2 Introduzione La collezione di dati che costituisce una BDD deve essere fisicamente organizzata su qualche supporto

Dettagli

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

Dettagli

Memorizzazione dei dati: Dischi e File

Memorizzazione dei dati: Dischi e File Memorizzazione dei dati: Dischi e File Query\update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura

Dettagli

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 LEZIONE 23: Indicizzazione Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 Lezione 23 - Modulo 1 Indicizzazione lineare, ISAM e

Dettagli

Rappresentazione e Memorizzazione dei Dati

Rappresentazione e Memorizzazione dei Dati Rappresentazione e Memorizzazione dei Dati Giuseppe Nicosia CdL in Matematica (Laurea Triennale) Facoltà di Scienze MM.FF.NN. Università di Catania Bit e loro Memorizzazione Definizioni Algoritmo: una

Dettagli

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II) SISTEMI OPERATIVI (MODULO DI INFORMATICA II) Realizzazione del file system Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario Realizzazione

Dettagli

Indicizzazione di documenti testuali

Indicizzazione di documenti testuali Indicizzazione di documenti testuali Generazione di un archivio di Documenti Testuali E eseguita off-line necessaria per accelerare il reperimento dei documenti E un processo che esegue le seguenti attività:

Dettagli

Indici ad albero. Albero Binario di Ricerca

Indici ad albero. Albero Binario di Ricerca Indici ad albero Ogni nodo contiene una sequenza di valori ed un insieme di puntatori ai nodi successivi. I valori sono le chiavi di ricerca dell indice N.B. In strutture fisiche ogni nodo corrisponde

Dettagli

Oracle 9i oracle text

Oracle 9i oracle text Argomenti trattati: Oracle 9i oracle text Rappresentare documenti di testo in un DBMS testuale Gestione di testi in Oracle 9i Corso di Laboratorio di Basi di dati II Autori: Myriam Mapelli, Guido Valente

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Progettazione Fisica FILE

Progettazione Fisica FILE Progettazione Fisica Organizzazione dei files Organizzazione indici FILE Insieme di record lunghezza fissa (R) lunghezza variabile Record Header BH RH record1 RH record2 RH record2 RH record3 Block Header

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Tabelle hash. Damiano Macedonio Università Ca' Foscari di Venezia. mace@unive.it

Tabelle hash. Damiano Macedonio Università Ca' Foscari di Venezia. mace@unive.it Tabelle hash Damiano Macedonio Università Ca' Foscari di Venezia mace@unive.it Original work Copyright Alberto Montresor, University of Trento (http://www.dit.unitn.it/~montreso/asd/index.shtml) Modifications

Dettagli

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

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

Dettagli

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Sistemi Operativi. Organizzazione logica ed implementazione di un File System Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Organizzazione logica ed implementazione di un File

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

Libri di supporto. A.Albano Costruire Sistemi per Basi di Dati Addison-Wesley

Libri di supporto. A.Albano Costruire Sistemi per Basi di Dati Addison-Wesley Libri di supporto A.Albano Costruire Sistemi per Basi di Dati Addison-Wesley E.Bertino, B.Catania, E.Ferrari, G.Guerrini Sistemi di basi di dati Città studi Edizioni P.Atzeni, S. Ceri, S.Paraboschi, R.Torlone

Dettagli

Riconoscimento e recupero dell informazione per bioinformatica

Riconoscimento e recupero dell informazione per bioinformatica Riconoscimento e recupero dell informazione per bioinformatica Clustering: similarità Manuele Bicego Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Definizioni preliminari

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

Dettagli

Generalità sugli ARCHIVI

Generalità sugli ARCHIVI prof. Claudio Maccherani - Perugia - 2009. Generalità sugli ARCHIVI...1 Organizzazione SEQUENZIALE (1)...2 Organizzazione CASUALE (2)...2 Problemi di ricerca...3 Organizzazione con INDICE (3)...4 Organizzazione

Dettagli

2) Codici univocamente decifrabili e codici a prefisso.

2) Codici univocamente decifrabili e codici a prefisso. Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il

Dettagli

Strutture dati efficienti per la ricerca della similarità

Strutture dati efficienti per la ricerca della similarità Strutture dati efficienti per la ricerca della similarità Anche utilizzando i metodi di filtraggio visti in precedenza, il numero di confronti tra query e oggetti presenti nel database rimane alto. L efficienza

Dettagli

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: B-Tree Prof. Rudolf Bayer Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: Filesystem: btrfs, NTFS, ReiserFS, NSS, XFS, JFS

Dettagli

Struttura del File-System! Implementazione del File System! Filesystem!

Struttura del File-System! Implementazione del File System! Filesystem! Struttura del File-System Implementazione del File System Struttura dei File Unità logica di memorizzazione Collezione di informazioni correlate File control block (inode) struttura dati per le informazioni

Dettagli

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 11 system Sistemi operativi 12 maggio 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 11.1 Di cosa parliamo in questa lezione? L interfaccia : system 1 Il

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

ASPETTI PRINCIPALI DELLA GESTIONE AUTOMATIZZATA DI UN ARCHIVIO

ASPETTI PRINCIPALI DELLA GESTIONE AUTOMATIZZATA DI UN ARCHIVIO ARCHIVIO è un insieme di informazioni che hanno tra di loro un nesso logico (sono inerenti ad uno stesso argomento) e sono organizzate in modo tale da renderne facile la consultazione Le informazioni di

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file 11 Realizzazione del File System 1 Metodi di allocazione Allocazione contigua Allocazione concatenata e varianti Allocazione indicizzata e varianti Gestione dello spazio libero 11.1.1 Struttura a livelli

Dettagli

B+Trees. Introduzione

B+Trees. Introduzione B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

B alberi. dizionari in memoria secondaria

B alberi. dizionari in memoria secondaria B alberi dizionari in memoria secondaria dizionari su memoria secondaria la memorizzazione su memoria secondaria risponde a due esigenze permanenza dell informazione la RAM è volatile grande quantità di

Dettagli

Codifica dei numeri. Rappresentazione dell informazione

Codifica dei numeri. Rappresentazione dell informazione Rappresentazione dell informazione Rappresentazione informazione Elementi di aritmetica dei computer Organizzazione della memoria e codici correttori Salvatore Orlando Differenza tra simbolo e significato

Dettagli

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE Training per esperti TECNICHE AVANZATE DI I/O SU FILE Spesso, la decisione di dividere in processi differenti la produzione dei dati dall uso degli stessi viene presa perché occorre scrivere i dati su

Dettagli

16.3.1 Alberi binari di ricerca

16.3.1 Alberi binari di ricerca 442 CAPITOLO 16. STRUTTURE DI DATI DINAMICHE root 7 5 11 2 8 13 10 Figura 16.11 Esempio di albero binario: ogni nodo contiene il dato da immagazzinare e tre puntatori che definiscono le sue relazioni di

Dettagli

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS 1 Tecnologia delle BD: perché studiarla? File e indici I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo potuto finora ignorare molti aspetti realizzativi abbiamo considerato il DBMS

Dettagli

La gestione del documento

La gestione del documento Operatore giuridico d impresa Informatica Giuridica A.A 2002/2003 II Semestre La gestione del documento prof. Monica Palmirani Il documento A differenza del dato il documento è solitamente un oggetto non

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente

Dettagli

ACCESS FONDAMENTA DEL DATA BASE UN ERRORE A QUESTO LIVELLO SI RIPERCUOTE SU TUTTO IL DATABASE.

ACCESS FONDAMENTA DEL DATA BASE UN ERRORE A QUESTO LIVELLO SI RIPERCUOTE SU TUTTO IL DATABASE. ACCESS 1. AVERE BEN CHIARO COSA VOGLIO FARE 2. SAPERE A COSA SERVONO I VARI ELEMENTI TABELLE: FONDAMENTA DEL DATA BASE UN ERRORE A QUESTO LIVELLO SI RIPERCUOTE SU TUTTO IL DATABASE. QUERY: STRUMENTO DI

Dettagli

All-Against-All Sequence Matching:

All-Against-All Sequence Matching: Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica All-Against-All Sequence Matching: Implementazione mediante Suffix Array e Analisi Prestazionale

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Modalità di accesso Struttura delle directory Montaggio di un file system Condivisione di file Protezione 9.1 File E un insieme di informazioni correlate e

Dettagli

ARCHIVI E LORO ORGANIZZAZIONI

ARCHIVI E LORO ORGANIZZAZIONI ARCHIVI E LORO ORGANIZZAZIONI Archivio: - insieme di registrazioni (record), ciascuna costituita da un insieme prefissato di informazioni elementari dette attributi (campi) - insieme di informazioni relative

Dettagli

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: 1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: compile time, load time, execution time. Quale delle modalità precedenti necessita di un supporto hardware per poter essere

Dettagli

Rappresentazione delle informazioni

Rappresentazione delle informazioni Rappresentazione delle informazioni Abbiamo informazioni (numeri, caratteri, immagini, suoni, video... ) che vogliamo rappresentare (e poter elaborare) in un calcolatore. Per motivi tecnologici un calcolatore

Dettagli

marco.falda@unipd.it 1. la coordinazione delle diverse componenti hardware (e software) del computer 2. l esecuzione e la coordinazione dei processi

marco.falda@unipd.it 1. la coordinazione delle diverse componenti hardware (e software) del computer 2. l esecuzione e la coordinazione dei processi Windows Il Sistema Operativo marco.falda@unipd.it Il Sistema Operativo è il software che permette l interazione tra uomo e macchina (hardware) È fornito in genere con l elaboratore, e ne consente il funzionamento

Dettagli

10. Interfaccia del File System

10. Interfaccia del File System 10. Interfaccia del File System 10.1 Il concetto di File 10.2 Metodi di accesso 10.3 Struttura delle Directory 10.4 Protezione (Leggere) 10.5 Semantica della Consistenza (Leggere) Un File System consiste

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Informatica

UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Informatica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Informatica Costruzione di un thesaurus per gli algoritmi di prossimità semantica DISCo LET

Dettagli

Lezione 2: Codifica binaria dell informazione. Codifica binaria

Lezione 2: Codifica binaria dell informazione. Codifica binaria Lezione 2: Codifica binaria dell informazione Codifica binaria Elaborazione di dati binari Materiale didattico Lucidi delle lezioni, disponibili al sito: http://wwwinfo.deis.unical.it/~irina Oppure sul

Dettagli

Sistemi Operativi. ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione

Dettagli

Foglio di calcolo. Foglio di calcolo: nomi celle

Foglio di calcolo. Foglio di calcolo: nomi celle Foglio di calcolo L'astrazione offerta da un programma di gestione di fogli di calcolo è quella di una matrice (un foglio a quadretti). Colonne: A, B, C,... Righe: 1, 2, 3,... Ogni cella ha un nome composto

Dettagli

File system. Realizzazione del file system. Struttura del file system. Struttura del file system. Realizzazione del file system

File system. Realizzazione del file system. Struttura del file system. Struttura del file system. Realizzazione del file system Realizzazione del file system Struttura del file system Metodi di allocazione: Contigua Concatenata Indicizzata Gestione dello spazio libero Realizzazione delle directory Efficienza e prestazioni Ripristino

Dettagli

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione.

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione. C6. REALIZZAZIONE DEL FILE SYSTEM Struttura del file system Un file è analizzabile da diversi punti di vista. Dal punto di vista del sistema è un contenitore di dati collegati tra di loro, mentre dal punto

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi 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

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori Informazione e computer Si può rappresentare l informazione attraverso varie forme: Numeri Testi Suoni Immagini 0001010010100101010 Computer Cerchiamo di capire come tutte queste informazioni possano essere

Dettagli

Indicizzazione e ricerca delle immagini

Indicizzazione e ricerca delle immagini Indicizzazione e ricerca delle immagini E un settore della ricerca dove sono stati raggiunti risultati molto importanti e avanzati. Ora tali tecniche sono anche incluse nei database relazionali di tipo

Dettagli

Strutture di accesso ai dati

Strutture di accesso ai dati Strutture di accesso ai dati 1 A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Gestore dei metodi di accesso 2 E il modulo del DBMS che trasforma il piano di esecuzione

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

Corso di Tecniche di Programmazione

Corso di Tecniche di Programmazione Corso di Tecniche di Programmazione Corsi di Laurea in Ingegneria Informatica ed Automatica Anno Accedemico 003/004 Proff. Giuseppe De Giacomo, Luca Iocchi, Domenico Lembo Dispensa : Algoritmi di Ordinamento

Dettagli

Indice generale. Nota dell editore...xiii. Parte I Antipattern nella progettazione logica di database 11

Indice generale. Nota dell editore...xiii. Parte I Antipattern nella progettazione logica di database 11 Indice generale Nota dell editore...xiii Capitolo 1 Introduzione...1 1.1 A chi si rivolge questo libro... 2 1.2 Contenuto del libro... 3 Struttura del libro... 3 Anatomia di un antipattern... 4 1.3 Che

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Il calcolatore memorizza ed elabora vari tipi di informazioni Numeri, testi, immagini, suoni Occorre rappresentare tale informazione in formato facilmente manipolabile dall elaboratore

Dettagli

Caratteri e stringhe Esercizi risolti

Caratteri e stringhe Esercizi risolti Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Unione Europea Repubblica Italiana Regione Calabria Cooperativa sociale

Unione Europea Repubblica Italiana Regione Calabria Cooperativa sociale INFORMATICA Lezione 1 Docente Ferrante Francesco fracco2004@alice.it Sito web: http://luis7.altervista.org Obiettivi del corso Una parte generale sull'introduzione dei concetti di base dell'informatica

Dettagli

Realizzazione del file system

Realizzazione del file system Realizzazione del file system Struttura del file system Metodi di allocazione: Contigua Concatenata Indicizzata Gestione dello spazio libero Realizzazione delle directory Efficienza e prestazioni Ripristino

Dettagli

Windows. marco.falda@unipd.it

Windows. marco.falda@unipd.it Windows marco.falda@unipd.it Il Sistema Operativo 1.la Il Sistema Operativo è il software che permette l interazione tra uomo e macchina (hardware) 2.l esecuzione componenti computer coordinazione hardware(e

Dettagli

Ricerche, ordinamenti e fusioni. 5.1 Introduzione. 5.2 Ricerca completa

Ricerche, ordinamenti e fusioni. 5.1 Introduzione. 5.2 Ricerca completa Ricerche, ordinamenti e fusioni 5.1 Introduzione Questo capitolo ci permette di fare pratica di programmazione utilizzando gli strumenti del linguaggio introdotti finora. A una prima lettura possono essere

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Soluzione esercizi di approfondimento Stefano Leucci stefano.leucci@univaq.it Una terza variante dell IS InsertionSort3 (A) 1. for k=1 to n-1 do 2. x = A[k+1] 3. j = ricerca_binaria(a[1,k],x)

Dettagli

Informatica Generale 02 - Rappresentazione numeri razionali

Informatica Generale 02 - Rappresentazione numeri razionali Informatica Generale 02 - Rappresentazione numeri razionali Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione

Dettagli

Navigazione. per associazione. ipertesti/ipermedia. l utente naviga nello spazio dei documenti alla ricerca dei nodi di interesse

Navigazione. per associazione. ipertesti/ipermedia. l utente naviga nello spazio dei documenti alla ricerca dei nodi di interesse Tipologia dei dati e organizzazione delle informazioni Sistemi di indicizzazione e recupero 5. Database e Information Retrieval per associazione Navigazione ipertesti/ipermedia l utente naviga nello spazio

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio Rappresentazione dell Informazione

Dettagli

Il file system. File system. Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti

Il file system. File system. Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti Il file system File system Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti Collezione di file Struttura di cartelle (directory) 1! Interfaccia Implementazione

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Il contesto! Gestione della Memoria! Reg. di Base e reg. Limite! Associazione tra dati/istruzioni e memoria!

Il contesto! Gestione della Memoria! Reg. di Base e reg. Limite! Associazione tra dati/istruzioni e memoria! Il contesto Gestione della Memoria Per essere eseguiti, i programmi devono essere trasferiti (dal disco) in memoria e tradotti in processi. Obiettivi: accesso rapido e protezione. Accesso rapido La CPU

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

Parte 5 Gestione dell accesso ai file e valutazione delle query

Parte 5 Gestione dell accesso ai file e valutazione delle query Gestione dei dati Parte 5 Gestione dell accesso ai file e valutazione delle query Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/

Dettagli

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. I METODI DI NUMERAZIONE I numeri naturali... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. Il numero dei simboli usati per valutare la numerosità costituisce la base

Dettagli

Information Retrieval

Information Retrieval Information Retrieval Dario Rigolin Comperio srl CTO dario.rigolin@comperio.it Bologna 22 Maggio 2009 Master in Tecnologie OpenSource Agenda Presentazioni di rito Piccola introduzione sull'ir Cosa offre

Dettagli

Redundant Array of Inexpensive (Independent) Disks. Disco magnetico

Redundant Array of Inexpensive (Independent) Disks. Disco magnetico 26/5/25 RAID Redundant Array of Inexpensive (Independent) Disks Disco magnetico Costituito da un insieme di piatti rotanti (da a 5) Piatti rivestiti di una superficie magnetica Esiste una testina (bobina)

Dettagli

Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script.

Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script. I file in PHP Un file è un archivio elettronico contenente informazioni (dati) memorizzate su memoria di massa. Il file ha la caratteristica di consentire la lettura, la scrittura e la modifica dei dati

Dettagli

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica, Chimica, Elettrica e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011 Docente: Gian

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Breve introduzione al Calcolo Evoluzionistico

Breve introduzione al Calcolo Evoluzionistico Breve introduzione al Calcolo Evoluzionistico Stefano Cagnoni Dipartimento di Ingegneria dell Informazione, Università di Parma cagnoni@ce.unipr.it 1 Introduzione Il mondo fisico ed i fenomeni naturali

Dettagli