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 04:33 | Nová verze

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 9
    včera 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 5
    včera 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    3.6. 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.6. 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 4
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1821 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Příběh Davida Huffmana

    9.5.2006 10:04 | Přečteno: 1920× | 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.