Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Compressione dati Compressione dei dati Il processo di compressione consiste nell effettuare codifiche digitali o ri-codificazioni che riescano a ridurre lo spazio occupato nel supporto a valori inferiori rispetto ad altre codificazioni Lossless Senza alcuna perdita di informazione Lossy Con perdita di informazione Slide 2 of XX _ 1
Compressione dei dati Queste tecniche che sono normalmente di ricodificazione si basano su algoritmi molto diversi tra loro ed in funzione dei dati sorgenti da comprimere. Es. Suoni - si può avere perdita di informazione lossy in quanto la percezione umana può fare a meno di parti del segnale senza che ciò comporti un decadimeno apprezzale sulla qualità percepita. Es. Immagini - le compressioni possono essere anche notevoli ma con perdita di informazione poco significativa lossy legato alla percezione. Es. Testo non ci possono essere perdite di dati tipo lossless Es. Programmi non ci possono essere perdite di dati lossless Slide 3 of XX _ Compressione 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 255,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, Totale di 540 byte 15;127,255# 6;255,127#2;127#8;255,127# 10;127,255#127,0#4;127,255# 5;255,127#1;127#5;127,255#3;0#3;255,127# 10;127,255#2;127,0#0#2;255,127#255# 8;255,127#255#2;0#127#255#127#0#127#75#2;0#127#255#127# 8;127,255#0#127#0#255#127#255#0#75#127#75#2;0#127#255# 4;255,127#127#3;127,255#0#2;127#0#127#255#127#0#2;127,75#127#0#127# 7;127,255#0#2;127#0#2;127,255#0#3;75,127#6;0# 4;127;255#0#3;127#0#255#127#255#0#4;75,127# Per le prime 10 righe si ottiene 300 Byte non compreso 253 compresso N byteoriginale 300 (300 253) Rappotodicom pressio ne R 1, 19 1 84,3% N bytecom presso 253 300 Slide 4 of XX _ 2
Compressione di testo Analizzano dal punto di vista statistico i dati da comprimere ed assegna agli elementi maggiormente presenti una configurazione di bit limitata Codifica iniziale La sequenza è costituita da 1 milione di simboli del tipo [A, C, G, T] A 50%, C 25%, G 12,5%, T 12,5% Codifica normale o di base codificato in 2 milioni di bit A=00 C=01 G=10 T=11 di cui 1000 500 250 250 Ri-codificazione A=0 C=10 G=110 T=111 codifica 1000 >500 500=500 250 < 375 250 < 375 bit usati (1*50% + 2* 25%+ 3 *12,5%+3*12,5%)* 1 = 1,75 milioni di bit 2 (2 1,75) R 1,14 1 87,5% 1,75 2 Slide 5 of XX _ Compressione testi Basati su un vocabolario I re di Francia della dinastia Carolingia sono: Carlo II, Luigi II di Francia, Luigi III di Francia, Carlomanno di Francia, Carlo III detto il grosso, Odo, Carlo III detto il semplice Roberto I di Francia, Rodolfo duca di Borgogna, Luigi IV di Francia, Lotario di Francia, Luigi V di Francia (per un totale di 292 caratteri) indice Parola Ripetizioni 1 di 10 2 Francia 8 3 II 5 4 Luigi 4 5 Carlo 4 6 detto 2 7 il 2 Dizionario è composto da 35 caratteri (con il carattere di separazione) 222 caratteri complessivamente con una compressione pari al 76% 292 (292 222) R 1,32 1 76% 222 292 5 3, 4 3 1 2, 4 3I 1 2, 5manno 1 2, 5 3I 6 7 grosso, Odo, 5 3I 6 7 semplice, Roberto I 1 2, Rodolfo Duca 1 Borgogna, 4 IV 1 2, Lotario 1 2, 4 V 1 2 Composta da 187 caratteri Compressione al 64% di quella originaria Slide 6 of XX _ 3
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Risoluzione dei problemi Risoluzione di un problema Le azioni che gli esseri umani compiono ogni giorno sono nella maggior parte dei casi finalizzate alla soluzione di problemi in modo consapevole o inconsapevole Le decisioni e le conseguenti azioni intraprese sono dettate da schemi presenti nella nostra mente che si sono venuti formando negli anni sin dalla più piccola età e sono legati agli stimoli che si sono via via proposti alla nostra attenzione. Le attività che svolgiamo possono essere schematicamente identificate in: 1- Conoscenza di come si risolve il problema 2 - Effettiva capacità di risolvere il problema 3 - Capacità di descrivere il procedimento di soluzione del problema Slide 8 of XX _ 4
Istruttore - Esecutore Problema Primo soggetto istruttore Analisi Soluzione analitica Descrizione Soluzione descrittiva Interpretazione Descrizione interpretata Attuazione Soluzione effettiva Secondo soggetto esecutore Slide 9 of XX _ Istruttore Descrizione dell esecuzione del problema: 1- effettuata avendo scomposto il problema nelle sue singole azioni elementari 2 - descrivere ogni azione elementare in modo che non ci sia nessuna ambiguità durante l esecuzione 3 - le azioni elementari devono essere poste in una forma tale che l esecutore sia in grado di comprendere pienamente ciò che deve svolgere nella giusta sequenza delle azioni. Le azioni elementari sono indicate con il termine ISTRUZIONI / AZIONI ELEMENTARI La descrizione è indicata con il termine PROCEDURA EFFETTIVA Slide 10 of XX _ 5
Esecutore La procedura per l esecutore è composta quindi da: 1 - tutte le azioni elementari che l esecutore deve svolgere in modo determinato ed in un tempo finito 2 - è fissato l ordine di esecuzione delle azioni (istruzioni) 3 - è esplicitamente specificato il modo in cui l azione utilizza i risultati prodotti dalle azioni predenti. Dati input AZIONE Dati output Calcolo della superficie di un cerchio / Calcolo della superficie di una figura complessa Slide 11 of XX _ Soggetto istruttore Tale soggetto deve conoscere o definire le capacità dell esecutore al fine di impostare la descrizione dell esecuzione in modo che l esecutore sia perfettamente in grado di svolgere le azioni comprendendo pienamente le operazioni da svolgere. Soggetto esecutore Tale soggetto deve interpretare correttamente le istruzioni ed associare ad ognuna una azione specifica che lo conduca alla soluzione del problema. Slide 12 of XX _ 6
Ambiguità Le ambiguità derivano spesso dal fatto che lo stesso problema può essere risolto secondo procedure diverse o sequenzialità diverse oppure su termini del linguaggio non specifici. Per evitare ciò è necessario: 1 - il linguaggio che l esecutore deve interpretare sia definito in modo completo e non ambiguo (caratteristica sintattica) 2 - l insieme delle azioni che l esecutore è in grado di compiere deve essere definito e tali azioni devono essere elementari per l esecutore (caratteristica pragmatica) 3 - l insieme delle regole di associazione tra i costrutti del linguaggio e azioni deve essere definito e non ambiguo (caratteristica semantica) Slide 13 of XX _ Algoritmo Le soluzioni a problemi per esecutori che siano caratterizzate secondo le indicazioni 1, 2, 3 vengono definiti ALGORITMI Gli algoritmi sono quindi una sequenza finita di istruzioni fornite in un linguaggio definito non ambigue attraverso le quali un essere umano addestrato o una macchina svolgono a partire da informazioni d ingresso un compito al fine di ottenere una soluzione in un tempo finito Slide 14 of XX _ 7
Determinare tra due numeri x ed y il maggiore P 1 - leggi il valore ed assegnalo alla variabile x P 2 - leggi il valore ed assegnalo alla variabile y P 3 calcola la differenza x - y P 4 assegna il risultato alla variabile z P 5 rispondi alla domanda z è maggiore di 0 se la risposta è affermativa salta al punto P 6 altrimenti (risposta negativa) esegui il passo P 7. P 6 stampa la frase Il numero maggiore è seguita dal valore contenuto in x e prosegui con il passo P 8 P 7 stampa la frase Il numero maggiore è seguita dal valore contenuto in y e prosegui con il passo P 8 P 8 termina l esecuzione Slide 15 of XX _ Rappresentazione degli algoritmi La costruzione dell algoritmo per la risoluzione del problema è un passo fondamentale per ottenere al soluzione attraverso un esecutore A questo fine risulta utile porre sotto forma grafica quelli che sono i passi da compiere per passare dalle informazioni di ingresso alle soluzioni o informazioni di uscita. Per questo si utilizza la metodologia descrittiva a diagrammi di flusso. Slide 16 of XX _ 8
Diagramma di flusso Un diagramma di flusso descrive per blocchi funzionali i passi che devono essere effettuati per raggiungere la soluzione. Rappresenta il percorso e tutte le operazioni necessarie, strutturate come singole azioni semplici, che devono essere svolte, sempre e comunque anche da un operatore umano, per giungere al risultato desiderato partendo dalle informazioni identificate come dati di ingresso Slide 17 of XX _ Simbologia Inizio Fine Operazione di Ingresso/Uscita I/O SELEZIONE AZIONE SOTTOPROGRAMMA Unità disco Unità disco Unità nastro Unità stampa Unità Video grafica Slide 18 of XX _ 9
INIZIO CERCA LA MACCHINETTA DEL CAFFE APRENDO GLI SPORTELLI DELLA CUCINA TROVATA? APRI LA MACCHINETTA DEL CAFFE CERCA IL RUBINETTO DELL ACQUA TROVATO? RIEMPI LA MACCHINETTA E PIENA? Slide 19 of XX _ RIEMPIRE CON IL CAFFE CON CUCCHIANI CALIBRATO E PIE? CHIUDI LA MACCHINETTA METTILA SULLA CUCINA A GAS ACCENDI IL FORNELLO ACCESO? CONTA = CONTA + 1 CONTA = 3? CONTROLLA IL RUBINETTO GENERALE CONTA = 0 Slide 20 of XX _ 10
CONTROLLA CHE A USCITO TUTTO E USCITO TUTTO? ATTESA 10 sec CHIUDI IL GAS PRENDI IL NUMERO DI TAZZINE 4 NUMERO = 1 VERSA IL CAFFE NELLA TAZZINA NUMERO E PIENA? NUMERO = NUMERO + 1 PRENDI UN ALTRA TAZZINA NUMERO > 4? FINE PROCESSO Slide 21 of XX _ 11