Jeg holder på med et prosjekt om Huffmanalgoritmen og jeg skulle gjerne hatt et bevis for at den faktisk lager det kortest mulige koden for en tegnstreng.
Takker for alle svar.
Huffmankoding - mest effektiv
Moderators: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa
Jeg har ikke lest dette, men den er resultatet etter et raskt søk på Google.
http://www.maths.abdn.ac.uk/~igc/tch/mx ... ode59.html
http://www.maths.abdn.ac.uk/~igc/tch/mx ... ode59.html
Dette er ikke nødvendigvis tilfellet. Huffman-koding er optimal om vi baserer kodingen vår på et binært tre. Det fins flere andre komprimeringsmetoder som i noen tilfeller kan komprimere bedre enn Huffmann-koding.jeg skulle gjerne hatt et bevis for at den faktisk lager det kortest mulige koden for en tegnstreng.
Cube - mathematical prethoughts | @MatematikkFakta
Med forbehold om tullete feil. (både her og ellers)
Med forbehold om tullete feil. (både her og ellers)
Vet ikke om det er dette du er på utkikk etter, men jeg gir det et forsøk, så får du heller si i fra hvis det er noe annet.
Huffmanalgoritmen gir optimal koding hvis alle symbolene fra kilden har en sannsynlighet som er en potens av 2.
1. Definer de ubetingede sannsynlighetene
, der , slik at
2. Bruk så Gibbs ulikhet som sier
med likhet hvis
3. Bruk så Kraftulikheten som sier at for enhver unik dekodbar kode over det binære alfabetet må lengden på kodeordet tilfredsstille
, der er lengden på symbolalfabetet.
Dette gir at
Da kan en utlede:
Slik at en komprimerer ned til entropien hvis, og bare hvis, Kraftulikheten er oppfylt. Det vil si at , noe som gir , som er en potens av 2.
Huffmanalgoritmen gir optimal koding hvis alle symbolene fra kilden har en sannsynlighet som er en potens av 2.
1. Definer de ubetingede sannsynlighetene
2. Bruk så Gibbs ulikhet som sier
3. Bruk så Kraftulikheten som sier at for enhver unik dekodbar kode
Dette gir at
Da kan en utlede:
Slik at en komprimerer ned til entropien hvis, og bare hvis, Kraftulikheten er oppfylt. Det vil si at