Logorithmus < Wahrscheinlichkeitstheorie < Stochastik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 12:06 Sa 10.06.2006 | Autor: | Katya |
Aufgabe | Wir wollen eine Nachricht, deren Buchstaben (eine Menge X) einer Wahrscheinlichkeitsverteilung p(x) unterliegen, möglichst effizient Übertragen, das heisst keine Bits verschwenden. Wir nehmen an, dass p(x) dem Empfänger bekannt ist. Wie sieht der optimale Code aus?
Folgende Überlegungen dazu:
- Hat ein Symbol dieWahrscheinlichkeit 1, brauchen wir (theoretisch) nichts
Übertragen - die Gegenseite weiss ja schon, was ankommen wird.
- Haben zwei Symbole jeweils die Wahrscheinlichkeit 1/2 , brauchen wir im
Optimalfall 1 Bit
- Hat ein Symbol die Wahrscheinlichkeit 1/2 und zwei weitere jeweils 1/4 , kann das erste als 1 Bit Übertragen werden und die anderen jeweils durch 2 Bit.
Diese Überlegungen führen zu der Vermutung, dass die MDL (Minimum Description Length) eines Symbols wie folgt definiert werden kann (man überlegesich dies anhand der obigen Beispiele):
MDL(x) = [mm] log_{2} \bruch{1}{p(x)}=-log_{2}p(x) [/mm] |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Hauptfrage:
Könnte mir bitte jemand erklären, wie man in solchem Fall Logarithmus berechnet.
Nebenfrage:
Ich verstehe ehrlich gesagt auch nicht so ganz, wofür man die Formel braucht.
Ich würde einfach alle Wahrscheinlichkeiten berechnen, dann absteigend sortieren und dementsprechend Anteil Bits verteilen, also den zwei häufigsten Buchstaben 1 Bit, den 4 nächsthäufigsten - 2 Bit usw. Das würde ich wiederum in einem Hash speichern und einfach die 'Speicherzellen' übertragen.
Ich freue mich auf jede Antwort
Danke
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:20 Mo 12.06.2006 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|