ciao,
allora: durante un esame di informatica (studio matematica) il prof ci ha detto di simulare una compressione di huffman, fatto il tutto, consegnato e arrivato a casa, non mi sentivo sicuro, quindi l'ho rifatto. FUNZIONAVA 30 e lode. Ma non mi piaceva l'algoritmo da lui utilizzato, troppo statico e casuale, e l'ho migliorato. Sperando che qualcuno si intenda di compressione e conosca minimamente huffman pongo questa domanda:
Il programma e stato scritto in c sotto linux, e non credo che vi siano stati errori logici durante l'implementazione dell'algoritmo, qnd qst sono dati reali:
HUFFMAN - sequenza di 8 bit con maggior frequenza e il numero decimale 0 con
350.481 combinazioni che corrispondono.
MIO ALGORITMO -
501.515 combinazioni che corrispondono al mio algoritmo
Questo vuol dire che HUFFMAN ha un efficenza di compressione minore del mio algoritmo, e ho notato che HUFFMAN è utilizzato ovunque ma con qualche accortezza (fonte wikipedia e forum sulla compressione), ma volevo sapere se secondo voi il mio risultato sia superiore a tali accortezze.
Posto in programmazione perché spero che chi legga conosca di cosa stò parlando.
SPERO QUINDI DI NON ESSERE SPOSTATO NEL BAR DI UBUNTU, ALMENO NON SUBITO >:( >:(
[RISOLTO][Progetto] HUFFMAN - compressione dati
-
pc_andreone
- Prode Principiante
- Messaggi: 126
- Iscrizione: lunedì 15 gennaio 2007, 2:57
[RISOLTO][Progetto] HUFFMAN - compressione dati
Ultima modifica di pc_andreone il sabato 6 settembre 2008, 13:35, modificato 1 volta in totale.
Re: [Progetto] HUFFMAN - compressione dati
Huffman è un po' datato, non è difficile fare di meglio.
Viene ancora usato come un passo di algoritmi di compressione più sofisticati, come il bzip2 che usiamo tutti, dove è associato all'algoritmo di Burrows-Wheeler.
Una strada forse più promettente è, come in LZMA, l'uso di una catena di Markov per modellizzare la distribuzione di probabilità, e di un codificatore aritmetico binario (che è di per sé più efficiente di Huffman) per emettere i simboli.
Un libro non recentissimo ma molto chiaro è "Text Compression" di Bell, Cleary e Witten, Prentice Hall.
Per quanto riguarda la compressione di immagini, video e sonoro, il discorso è piuttosto diverso. La compressione può essere lossy, e i tempi di decompressione assumono un'importanza preponderante.
Se sei interessato a queste tematiche rinnovo il consiglio che ti ho già dato nell'altro thread, di frequentare il gruppo comp.compression e leggere il loro FAQ. Non conviene spendere tempo per reinventare l'acqua calda, e sulla compressione di lavoro ne è già stato fatto veramente tantissimo; oserei dire che futuri miglioramenti non potranno che essere marginali, salvo applicazioni molto particolari.
Viene ancora usato come un passo di algoritmi di compressione più sofisticati, come il bzip2 che usiamo tutti, dove è associato all'algoritmo di Burrows-Wheeler.
Una strada forse più promettente è, come in LZMA, l'uso di una catena di Markov per modellizzare la distribuzione di probabilità, e di un codificatore aritmetico binario (che è di per sé più efficiente di Huffman) per emettere i simboli.
Un libro non recentissimo ma molto chiaro è "Text Compression" di Bell, Cleary e Witten, Prentice Hall.
Per quanto riguarda la compressione di immagini, video e sonoro, il discorso è piuttosto diverso. La compressione può essere lossy, e i tempi di decompressione assumono un'importanza preponderante.
Se sei interessato a queste tematiche rinnovo il consiglio che ti ho già dato nell'altro thread, di frequentare il gruppo comp.compression e leggere il loro FAQ. Non conviene spendere tempo per reinventare l'acqua calda, e sulla compressione di lavoro ne è già stato fatto veramente tantissimo; oserei dire che futuri miglioramenti non potranno che essere marginali, salvo applicazioni molto particolari.
-
pc_andreone
- Prode Principiante
- Messaggi: 126
- Iscrizione: lunedì 15 gennaio 2007, 2:57
Re: [Progetto] HUFFMAN - compressione dati
Credo tu abbia ragione, ma come ben sai, quando ti appassioni ad una cosa, per quanto essa possa risultare perdita di tempo per qualcuno, e magari lo è, per te è solo un modo di imparare cose nuove...Comunque pensavo di aver fatto cosa buona, invece sono a milioni di anni luce dalla verità....ma tanto ce RIESCO....ahahah grazie
-
pc_andreone
- Prode Principiante
- Messaggi: 126
- Iscrizione: lunedì 15 gennaio 2007, 2:57
Re: [Progetto] HUFFMAN - compressione dati
un'altra cosa, mi stavo informando sulla compressione stile frattale, è talmente potente che stenti a credere che potrebbe essere utilizzata in algoritmi senza perdita di dati....incredibile.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti
