abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 22:33 | Nová verze

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 1
    dnes 14:33 | Nová verze

    Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 6
    dnes 13:44 | Pozvánky

    Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.

    Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »
    bkralik | Komentářů: 0
    dnes 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 1
    dnes 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 1
    včera 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Nová verze

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 18
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 242 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Příběh Davida Huffmana

    9.5.2006 10:04 | Přečteno: 1839× | Ostatní

    Byla to výzva, jakých se denně na univerzitách a vysokých školách po celém světě urodí desítky. Profesor umožnil svým studentům vyhnout se zkoušce, když vyřeší složitý problém. Jednalo se o problém dosažitelnosti nejkratšího prefixového kódování (tzv. ideální kódování ve vztahu k informační entropii). Studenti ovšem nevěděli, že se jedná o nevyřešenou úlohu, protože v té době byly známy jen docela neúčinné metody (analýzou shora dolů).

    Davidu Huffmanovi na univerzitě v Ohiu se ke zkoušce nechtělo. Ne snad proto, že by látce nerozuměl. Chtěl se jí prostě vyhnout, jenže úloha se zdála téměř neřešitelná. Když už chtěl nechat bádání a začít se na závěrečnou zkoušku učit, zadíval se na papír s poznámkami, které zlostně vyhodil do koše. V tu chvíli ho to napadlo.

    Magistr Huffman později publikoval svůj nápad v práci nazvanou Metoda pro vytvoření kódu s minimální redundancí (A Method for the Construction of Minimum Redundancy Codes). Jeho řešení pomocí binárního stromu bylo velmi prosté a zároveň elegantní. Ale také velmi účinné v praxi. V tu dobu již působil na MIT (Massachusetts Institute of Technology), kde také získal rok nato doktorát.

    Míru informace (přesněji řečeno nejistoty) stanovil poprvé americký vědec C. E. Shannon. Určuje nahodilost v nějakém signálu - například míru informace písmena "a" ve větě (v řetězci písmen). Čím více se pravděpodobnost výskytu písmena na dané pozici blíží hodnotě 0,5, tím vyšší má informační hodnotu. Více prozradí tento graf - na ose x je pravděpodobnost výskytu a je jasné, že pokud se písmeno v řetězci nevyskytuje, nebo je řetězec tvořen jen tímto písmenem, pak je míra informace minimální.

    Princip spočívá ve vytvoření binárního stromu s ohodnocenými hranami (1,0) a uzly (pravděpodobnosti výskytu). Pravděpodobnost vnitřního uzlu je rovna součtu pravděpodobností jeho potomků. Ve výsledném stromu jsou kódované znaky uložené pouze v listech, takže je zaručeno, že kódování (tedy posloupnost ohodnocení hran od kořene k listu) bude prefixové (tedy žádná předpona nebude kódem jiného znaku - zakódovaný vstup bude jednoznačně dekódovatelný, protože neznáme šířky binárních kódů). Doporučuji shlédnout demonstrační applet.

    Dnes se nejrůznější varianty Huffmanova kódování (například adaptivní varianta) používají v široké škále produktů, zejména je to neoddělitelná součást některých komprimačních algoritmů (PKZIP, JPEG, MP3, BZIP2). Zajímavé je, že algoritmus z unixového programu bzip2 používal nejdříve aritmetické kódování (jedná se o zobecněný princip Huffmanova kódování, algoritmus vykazuje mírně vyšší účinnost). Jelikož ale na tento algoritmus získala firma IBM v letech 1977-2001 přes desítku patentů a bylo prakticky nemožné jej efektivně implementovat bez použití těchto metod, programátoři tohoto open-source programu se rozhodli použít Huffmanovo kódování.

    Profesor David A. Huffman stál při zrodu fakulty informatiky na kalifornské univerzitě a získal mnoho ocenění (kromě jiného medaili R. W. Hamminga při IEEE za celoživotní přínost pro informatiku). Po desetiměsíčním boji s rakovinou v říjnu 1999 zemřel. David Huffman svůj geniální nápad nikdy nepatentoval (ani nechtěl). Svému synovci říkával: "Vždyť je to jen algoritmus."

    Článek vyšel na serveru Scienceworld.cz.

           

    Hodnocení: 100 %

            špatnédobré        

    Anketa

    Při objevení nějakého nového algoritmu byste
     (13 %)
     (9 %)
     (18 %)
     (58 %)
     (2 %)
    Celkem 88 hlasů

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    9.5.2006 11:18 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: Příběh Davida Huffmana
    Len ma napadlo ci Huffyuv ten vyborny bezstratovy video kodek nepouziva nahodou algoritmus od tohoto pana?
    http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html
    
    9.5.2006 11:44 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Příběh Davida Huffmana
    Používá to JPEG, takže - ano.
    9.5.2006 11:44 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Příběh Davida Huffmana
    Resp. jak se tam píše: Huffyuv's algorithm is roughly the same as lossless JPEG.
    Heron avatar 9.5.2006 12:13 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Příběh Davida Huffmana
    Pěkně napsaný. Už když jsem to četl ráno na scienceworldu, říkal jsem si, že tak dobře ta jejich "redakce" nepíše. Pak vidím autor: LZap.
    9.5.2006 15:46 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Příběh Davida Huffmana
    Heh dík. Studoval jsem to kódování a nějak jsem se doklikal na Wikipedii. Mimochodem - Wikipedia už mě drahnou dobu pomáhá při studiu. Výborný to nástroj :-)
    9.5.2006 15:16 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Příběh Davida Huffmana
    Tsss, nám konstrukci optimálního prefixového kódování dali za úkol v semináři. Bylo to v době kdy Huffmanův algoritmus nebyl široce znám, ani se nevyučoval. Z deseti lidí to zhruba třetina "znovuvynalezla", takže o žádný zázrak nejde. Já na to tehdy bohužel taky nepřišel, furt jsem to zkoušel shora dolů.
    Táto, ty de byl? V práci, já debil.
    9.5.2006 15:43 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Příběh Davida Huffmana
    Jaká že to byla škola a doba?

    ps - v profilu čtu: Linux používám od roku: 1990? Čert ví..

    Asi by to chtělo smajlík, protože linux-0.01 byl zveřejněn koncem roku 1991 ;-)
    9.5.2006 16:43 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Příběh Davida Huffmana
    To bylo ještě na gymplu, takže druhá půlka osmdesátejch let.. Kdosi z Prahy dělal dálkové "semináře z programování", a Huffmanovo kódování byl jeden z úkolů.

    Ad 90 vs 91: právě proto je tam to "čert ví" .-)
    Táto, ty de byl? V práci, já debil.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.