heute ist der Geburtstag von
Gabriel Cramer (31.07.1704 - 04.01.1752)


Auf das Thema antworten  [ 5 Beiträge ] 
SS10: UE05 - 26.04.2010 
Autor Nachricht
Czechnology
Benutzeravatar

Registriert: 10/2007
Beiträge: 29 + 498
Wohnort: Pfeilheim, Wien8
Studium: (alt) Bachelor Computerwissenschaften
Mit Zitat antworten
Beitrag SS10: UE05 - 26.04.2010
Angabe
Dateianhang:
InfCod1005.pdf


Übereinstimmungen mit dem letzten Jahr: 1 (ue06), 2, 3, 4


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Bild


Fr 23-04-2010 20:59:23
Diesen Beitrag melden
Profil ICQ YIM Website besuchen
Czechnology
Benutzeravatar

Registriert: 10/2007
Beiträge: 29 + 498
Wohnort: Pfeilheim, Wien8
Studium: (alt) Bachelor Computerwissenschaften
Mit Zitat antworten
Beitrag Re: SS10: UE05 - 26.04.2010
Mein 3er (in Methlab):
Code:
function [c, d] = huffman(P, r)
% Verallgemeinertes Huffman-Algorithmus
% Call:      [c, d] = huffman(P, r)
% Input:   P - Wahrscheinlichkeitsverteilung (vector)
%      r - Groesse der Codealphabet (default: 2)
% Output:   c - kuerzeste praefixfreie Codierung von \Omega
%      d - zusätzliche Knoten
 
  % default r value
  if nargin < 2
    r = 2;
  end%if
 
  % check r
  if (r < 2)
    error('r must be larger than 2');
  end;
 
  % transpose if column vector
  if (size(P,2) == 1)
    P = P';
  end%if
 
  % end if not row vector now
  if (size(P,1) ~= 1)
    error('P must be a row vector!');
  end%if
 
  m = length(P);
 
  % initialize G and m's
  G = [P; [1:m]];
  md = mod(r-m, r-1);
  m_as = m + md;
  m_ap = m_as;
 
  if (md > 0)
    G = [G, [zeros(1,md); [m+1:m_as]]];
  end%if
 
  G = sortBy1stRow(G, 'descend');
 
  i = 0;
  V = [];
  while (m_ap > 1)
    i = i + 1;
   
    G(1, m_ap -r +1) = sum(G(1,m_ap -r +[1:r]));
    V(i, 1:r) = G(2,(m_ap -r +1) : m_ap);
    G(2,m_ap -r +1) = m_as + i;
    G = sortBy1stRow(G(:,[1:m_ap-r+1, m_as+1:end]), 'descend');
   
    m_ap = m_ap - r +1;
  end%while
 
  c = cell(1, max(max(V)));
  for j = 1 : r
    c{V(i, j)} = num2str(j-1);
  end%for
 
  for j = i-1 : -1 : 1
    for k = 1 : r
      c{V(j, k)} = strcat(c{j}, num2str(k-1));
    end%for
  end%for
 
  d = c(m+1:end);
  c = c(1:m);
 
end%function

function M = sortBy1stRow(M, mode)
  [r, s] = sort(M(1,:), mode);
  M = M(:, s);
end%function


Output:
Code:
[c, d] = huffman(P,4); c,d,
c =
    '1'    '2'    '3'    '20'    '21'    '23'    '10'    '11'
d =
    '12'    '13'    '22'    '0'



Ad Bsp5: Der Code ist Suffixcode, daher endlich eindeutig entzifferbar, aber nicht unendlich eindeutig entzifferbar (GegenBsp: '122222222...' entspricht sowohl '1','22','22',... als auch '12','22','22',...).

_________________
Bild


So 25-04-2010 16:49:40
Diesen Beitrag melden
Profil ICQ YIM Website besuchen

Registriert: 06/2009
Beiträge: 24
Mit Zitat antworten
Beitrag Re: SS10: UE05 - 26.04.2010
weiß wer was es bei beispiel 2 mit den ki auf sich hat??? in der lösung vom letzten jahr kommen die nicht vor...
mit li aus der lösung sind doch die mittlere codwortlänge gemeint..oder? sind die ki auch so zu verstehen???

lg


So 25-04-2010 21:50:26
Diesen Beitrag melden
Profil
Czechnology
Benutzeravatar

Registriert: 10/2007
Beiträge: 29 + 498
Wohnort: Pfeilheim, Wien8
Studium: (alt) Bachelor Computerwissenschaften
Mit Zitat antworten
Beitrag Re: SS10: UE05 - 26.04.2010
Welche "Lösungen vom letzten Jahr" meinst du? Ich hab nur das was hier im Forum steht und da ist nix mit k_i.

_________________
Bild


So 25-04-2010 23:32:36
Diesen Beitrag melden
Profil ICQ YIM Website besuchen

Registriert: 10/2008
Beiträge: 24 + 3
Mit Zitat antworten
Beitrag Re: SS10: UE05 - 26.04.2010
Sorry wenn ich das bump aber hat wer was zum Bsp 2 - Teil 2
das mit den $pi = r^{-ki}$ (ich war nicht da und hab Kolloquium am MI)

Man beweise, dass m = 1 mod (r -1) und $pi = r^{-ki}, ki \in\ N...$

Danke schon mal im Vorraus...

PS: Erster Teil ist verständlich warum m = ...


Mo 10-05-2010 19:24:18
Diesen Beitrag melden
Profil
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Auf das Thema antworten   [ 5 Beiträge ] 


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst neue Themen in diesem Forum erstellen.
Du darfst Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB © phpBB Group.  |  Designed by STSoftware for PTF  |  © Czechnology 2007 - 2021  |  Deutsche Übersetzung durch phpBB.de