Codifica di Huffman

Codifica di Huffman della frase "this is an example of a huffman tree" con rappresentazione binaria e indice di frequenza delle lettere.

Nella teoria dell'informazione, per codifica di Huffman si intende un algoritmo di codifica dei simboli usato per la compressione di dati, basato sul principio di trovare il sistema ottimale per codificare stringhe basato sulla frequenza relativa di ciascun carattere. Essa è stata sviluppata nel 1952 da David A. Huffman, uno studente dottorando presso il MIT, e pubblicata su A Method for the Construction of Minimum-Redundancy Codes (lett. "Un metodo per la costruzione di codici a ridondanza minima").

La codifica di Huffman usa un metodo specifico per scegliere la rappresentazione di ciascun simbolo, risultando in un codice senza prefissi (cioè in cui nessuna stringa binaria di nessun simbolo è il prefisso della stringa binaria di nessun altro simbolo) che esprime il carattere più frequente nella maniera più breve possibile. È stato dimostrato che la codifica di Huffman è il più efficiente sistema di compressione di questo tipo: nessun'altra mappatura di simboli in stringhe binarie può produrre un risultato più breve nel caso in cui le frequenze di simboli effettive corrispondono a quelle usate per creare il codice.

Per un insieme di simboli la cui cardinalità è una potenza di due e con una distribuzione probabilistica uniforme, la codifica di Huffman equivale alla semplice codifica a blocchi binari.

Storia

Nel 1951 a David A. Huffman e a un suo collega al corso del MIT di Teoria dell'Informazione venne data la scelta tra una tesi scritta o un esame. Il docente, Robert M. Fano, assegnò una tesi sul problema di trovare il codice binario più efficiente. Huffman, incapace di dimostrare un qualsiasi codice che fosse il più efficiente, si stava rassegnando all'idea di dover studiare per l'esame, quando gli venne l'idea di usare un albero binario ordinato in base alla frequenza, e così dimostrò velocemente che questo metodo era il più efficiente.

Un'idea simile era stata usata in precedenza nella Codifica di Shannon-Fano (creata da Claude Shannon, inventore della teoria dell'informazione, e Fano, il docente di Huffman), ma Huffman sistemò la sua più grande lacuna costruendo un albero ascendente anziché uno discendente.

Tecnica base

Questa tecnica funziona creando un albero binario di simboli:

  1. Ordina i simboli, in una lista, in base al conteggio delle loro occorrenze.
  2. Ripeti i seguenti passi finché la lista non contiene un unico simbolo:
    1. Prendi dalla lista i due simboli con la frequenza di conteggio minore. Crea un albero di Huffman che ha come "figli" questi due elementi, e crea un nodo "genitore"
    2. Assegna la somma del conteggio delle frequenze dei figli al genitore e ponilo nella lista in modo da mantenere l'ordine.
    3. Cancella i figli dalla lista.
  3. Assegna una parola codice a ogni elemento basandosi sul path a partire dalla radice.

Caratteristiche principali

Le frequenze usate possono essere quelle generiche nel dominio dell'applicazione basate su medie precalcolate, o possono essere le frequenze trovate nel testo che deve essere compresso (questa variante richiede che la tabella di frequenza sia registrata insieme con il testo compresso; vi sono diverse implementazioni che adottano dei trucchi per registrare queste tabelle efficientemente).

La codifica di Huffman è ottimale quando la probabilità di ciascun simbolo in input è una potenza negativa di due. Le codifiche senza prefissi tendono a essere inefficienti sui piccoli alfabeti, quando le probabilità spesso cadono tra potenze di due. L'espansione di simboli adiacenti in "parole" prima della codifica di Huffman può essere di aiuto. Casi limite della codifica di Huffman sono collegati alla Sequenza di Fibonacci.

La codifica aritmetica produce dei leggeri guadagni su quella di Huffman, ma questi guadagni risultano convenienti solamente se l'algoritmo per la codifica aritmetica è ottimale, in quanto una codifica banale richiede una maggiore complessità computazionale. Questa versione naìf, è per di più coperta da brevetto IBM nei suoi concetti centrali. Tali brevetti, però, non sono validi al di fuori degli USA, almeno fino all'approvazione definitiva dei brevetti software in Europa.

Variazioni

Codifica adattiva di Huffman

Una variazione detta adattiva calcola le frequenze dinamicamente in base alle frequenze effettive più recenti nella stringa sorgente, in maniera analoga alla famiglia di algoritmi LZ.

Algoritmo di Huffman a Template

Spesso i pesi usati nelle implementazioni di Huffman rappresentano delle probabilità numeriche, ma l'algoritmo in sé non lo richiede: esso richiede solamente una maniera di ordinare i pesi e di sommarli. La codifica di Huffman a "Template" permette l'uso di pesi non numerici (costi, frequenze e così via).

Codifica di Huffman a base n

L'algoritmo di Huffman a base n usa l'alfabeto {0, 1, ..., n-1} per codificare il messaggio e costruire un albero a base n.

Codifica di Huffman con costi per lettera diseguali

Nel problema standard della codifica di Huffman, è dato un insieme di parole e per ciascuna parola una frequenza positiva. Lo scopo è di codificare ogni parola "p" con una parola-codice "c" in un dato alfabeto. La Codifica di Huffman con costi per lettera diseguali è una generalizzazione in cui le lettere dell'alfabeto di codifica possono avere lunghezze non uniformi. L'obiettivo è di minimizzare la media pesata della lunghezza delle parole-codice.

Applicazioni

Oggi la codifica di Huffman è spesso usata come complemento di altri metodi di compressione: sono PKZIP, e dei successori ZIP e WinRar) e codec multimediali quali JPEG e MP3.

Altri progetti

Collegamenti esterni

  Portale Ingegneria: accedi alle voci di Wikipedia che trattano di ingegneria

Read other articles:

Highway tunnels in Seattle, Washington, United States United States historic placeMount Baker Ridge TunnelU.S. National Register of Historic Places View of the Mount Baker Tunnel and the Lacey V. Murrow and Homer M. Hadley Memorial Bridges from the southwestLocation I-90, Seattle, WashingtonCoordinates47°35′25″N 122°17′55″W / 47.59028°N 122.29861°W / 47.59028; -122.29861Built1940 (original; parallel tunnel built 1989)ArchitectBates & Rogers Construction...

 

Motto of the U.S. state of Ohio Ohio's seal and motto are displayed at the foot of the steps leading to the Ohio Statehouse's west entrance.[1] This installation was the subject of a 1997 federal lawsuit that was decided in favor of the state.[2] With God, all things are possible is the motto of the U.S. state of Ohio.[2] Quoted from the Gospel of Matthew, verse 19:26, it is the only state motto taken directly from the Bible (Greek: παρὰ δὲ θεῷ πάντα �...

 

American online news aggregator and blog HuffPostType of siteNews aggregator, blogAvailable inEnglishFrenchGreekItalianJapaneseKoreanPortugueseSpanishFoundedMay 9, 2005; 18 years ago (2005-05-09)Headquarters770 BroadwayNew York City, U.S.Area servedAnglosphere, Francosphere, Hispanosphere, LusosphereOwnerAOL (2011–2015)Verizon (2015–2020)BuzzFeed (2020–present)Created byArianna HuffingtonKenneth LererJonah PerettiAndrew BreitbartParentAOL (2011–2015)Oa...

КоммунаМондюросMontdurausse Герб 43°56′55″ с. ш. 1°34′12″ в. д.HGЯO Страна  Франция Регион Юг — Пиренеи Департамент Тарн Кантон Виньобль и Бастид Мэр Georges Paulin(2014—2020) История и география Площадь 15,92 км² Высота центра 134–226 м Часовой пояс UTC+1:00, летом UTC+2:00 Население Населен...

 

English footballer Harold FlemingPersonal informationFull name Harold John FlemingDate of birth 30 April 1887Place of birth Downton, Wiltshire, EnglandDate of death 23 August 1955(1955-08-23) (aged 68)Position(s) Inside forwardYouth career St. MarksSenior career*Years Team Apps (Gls)1907–1924 Swindon Town 293 (183)International career1909–1914 England 11 (9) *Club domestic league appearances and goals Harold John Fleming (30 April 1887 – 23 August 1955) was an English footballer wh...

 

Akihabara秋葉原 Scorcio di Akihabara nel febbraio 2007 Stato Giappone RegioneKantō CittàTokyo QuartiereChiyoda Abitanti67 ab. Coordinate: 35°41′54″N 139°46′23″E / 35.698333°N 139.773056°E35.698333; 139.773056 Akihabara (秋葉原?),[1] conosciuta anche come Akihabara Electric Town (秋葉原電気街?, Akihabara Denki Gai), è una celebre area di Tokyo, in Giappone. Il suo nome viene anche abbreviato in Akiba. Pur essendoci una zona vicina chiamat...

Japanese manga series Billy BatFirst tankōbon volume cover, featuring Kevin YamagataGenreMystery[1]Science fiction[1] MangaWritten byNaoki UrasawaTakashi NagasakiIllustrated byNaoki UrasawaPublished byKodanshaImprintMorning KCMagazineMorningDemographicSeinenOriginal runOctober 16, 2008 – August 18, 2016Volumes20 (List of volumes) Billy Bat (stylized in all caps) is a Japanese manga series written by Naoki Urasawa and Takashi Nagasaki and illustrated by Urasaw...

 

لنغ كرندن   الإحداثيات 51°46′23″N 0°59′49″W / 51.773°N 0.997°W / 51.773; -0.997   [1] تقسيم إداري  البلد المملكة المتحدة[2][3]  التقسيم الأعلى باكينغهامشير  [لغات أخرى]‏  معلومات أخرى HP18  رمز الهاتف 01844  رمز جيونيمز 2643707،  و7299783  الموقع الرسم...

 

Salib Penjaga PantaiTipeMedali kehormatanDiberikan kepadaKepahlawanan yang luar biasa dalam pertempuranDipersembahkan olehDepartemen Keamanan Dalam Negeri Amerika Serikat[1]SyaratPenjaga pantai Amerika SerikatStatusSaat ini disetujuiTetapi belum diberikanDidirikan15 Oktober 2010Pita tanda kehormatan KeutamaanSelanjutnya (lebih tinggi)Medal of HonorSetaraAngkatan Darat: Salib Pelayanan Menonjol Marinir dan Angkatan Laut: Salib Angkatan Laut Angkatan Udara dan Angkatan Antariksa: S...

  此條目介紹的是英国的海军。关于其他国家的皇家海军,请见「皇家海軍 (消歧義)」。 皇家海军Royal Navy存在時期1546年,​477年前​(1546)[1]國家或地區 英国[註 1]部門国王陛下海军種類海軍功能海战規模32,880现役3,040海上预备役7,960皇家舰队预备役[註 2]74艘现役舰艇[註 3]174架飞机(英语:Fleet Air Arm)[2]海軍參謀部英国伦敦�...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (يناير 2019) 1910 في أستراليامعلومات عامةالسنة 1910 1909 في أستراليا 1911 في أستراليا تعديل - تعديل مصدري - تعديل ويكي بيانات سن...

 

Dutch literary award AwardConstantijn Huygens Prize(Dutch: Constantijn Huygensprijs)Awarded forLiteratureCountryNetherlandsPresented byJan Campert Foundation (Dutch: Jan Campert-Stichting)First awarded1947Websitehttps://literatuurmuseum.nl/literatuurprijzen/constantijn-huygens-prijs  The Constantijn Huygens Prize (Dutch: Constantijn Huygens-prijs) is a Dutch literary award.[1] History Since 1947, it has been awarded each year for an author's complete works by the Jan Campert Foun...

British swimmer (born 1994) Adam PeatyOBEPeaty after winning the Men's 100 metre breaststroke at the 2016 OlympicsPersonal informationFull nameAdam George Peaty[2]National teamGreat BritainEnglandBorn (1994-12-28) 28 December 1994 (age 29)Uttoxeter, England, UKHeight1.91 m (6 ft 3 in)[3]Weight95 kg (14 st 13 lb)[4]SportSportSwimmingStrokesBreaststrokeClubLoughborough University London RoarCoachMel Marshall[1] Medal record...

 

1963 conflict between Algeria and Morocco Not to be confused with war sand or Sand Wars. Sand WarPart of the Arab Cold War and the Cold WarDateSeptember 25, 1963[4] – February 20, 1964[5] (4 months, 3 weeks and 5 days)LocationAround the oasis towns of Tindouf and FiguigResult Military stalemate[6] The closing of the border south of Figuig, Morocco/Béni Ounif, Algeria. Morocco abandoned its attempts to control Béchar and Tindouf after OAU mediati...

 

Questa voce sull'argomento armi d'artiglieria è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. 38 cm schwerer Ladungswerfer38 sLdgWTipomortaio spigot Origine Germania ImpiegoUtilizzatoriHeer ConflittiSeconda guerra mondiale ProduzioneProgettistaRheinmetall CostruttoreRheinmetall Date di produzionefine anni 1930 Ritiro dal servizio1945 DescrizionePeso1.600 kg Lunghezza canna1,68 m Diametro380 mm Calibro169 mm Tipo munizioni...

Rafle du 11 septembre 1942 Type Rafle (Shoah en France) Pays France Localisation Nord : Lille, Cambrai, Condé-sur-l'Escaut, Denain, Douai, Marcq-en-Barœul, Roubaix, Tourcoing et Valenciennes Pas-de-Calais : Avion, Bully-les-Mines, Lens et Liévin Organisateur  Reich allemand État français Date 11 septembre 1942 Participant(s) police françaiseFeldgendarmerie Répression Arrestations ~300 modifier  La rafle du 11 septembre 1942 est une rafle de juifs effectuée pe...

 

American statistician Joseph C. G. KennedyJoseph Calm Griffith KennedySuperintending Clerk of the United States CensusIn office1850–1850PresidentMillard FillmoreSuperintending Clerk of the United States CensusIn office1860–1860PresidentJames Buchanan Personal detailsBornJoseph Calm Griffith KennedyApril 1, 1813PennsylvaniaDiedJuly 13, 1887(1887-07-13) (aged 74)Washington, D.C.Political partyWhigOccupationPolitician, lawyer, journalist Joseph Calm Griffith Kennedy (April 1, 1813 – J...

 

Arguable ethnic group Ethnic group White Southerners, SouthronsRegions with significant populationsSouthern United StatesLanguagesSouthern American English, Cajun English, Louisiana French, Italian, Spanish, other languages of EuropeReligionChristianity[1]Related ethnic groupsOld Stock Americans. Old Stock Canadians, Cajuns, Louisiana Creole people, Melungeon, Anglo-Celtic Early use of white southerner White Southerners, are White Americans from the Southern United States, originating...

Type of therapy to improve mental health This article is about therapy to improve mental health. For the journal, see Cognitive Behaviour Therapy (journal). For other uses of the acronym 'CBT', see CBT. Cognitive behavioral therapyThe triangle in the middle represents CBT's tenet that all humans' core beliefs can be summed up in three categories: self, others, future.ICD-10-PCSGZ58ZZZMeSHD015928[edit on Wikidata] Cognitive behavioral therapy (CBT) is a form of psychotherapy[1][...

 

14th-century English bishop and court official John SandaleBishop of WinchesterElected26 July 1316Term ended2 November 1319PredecessorHenry WoodlockSuccessorRigaud of AssierOrdersConsecration31 October 1316Personal detailsDied2 November 1319DenominationCatholic John Sandale (or Sandall) was a Gascon medieval Lord High Treasurer, Lord Chancellor and Bishop of Winchester. Sandale inherited the manor of Wheatley within Long Sandale, Yorkshire and was granted Free warren in 1301. He also held th...