Вопросы реализации для пропускной способности канала Шеннона и энтропии


При создании разделов фазовом пространстве в Alpha раздела, Он предназначен, чтобы найти, как хорошо, что partiton это. В этой перспективе нам необходимо выяснить источник энтропии. Теперь я много гуглил, но не мог узнать, что такое энтропия источника. Может ли кто-нибудь объяснить:

  • Чем энтропия Шеннона отличается от энтропии источника и как реализовать энтропию источника?

  • Как рассчитать пропускную способность канала? Ниже приведен код для вычисления энтропии Шеннона для данных x. I будет обязан, если следующий код будет изменен для расчета пропускной способности канала.

x = x(1:end);
    if nargin == 1        
        p = freq(double(x));
    else
        if numel(x) ~= numel(y)
            e = -1;
            warning('Sizes of vector do not match.');
            return;
        end
        y = y(1:end);
        p = joint_freq(double(x), double(y));
    end

    % Compute Shannon entropy
    xlogy(repmat(256, [length(p) 1]), p);
    e = -sum(p .* xlogy(repmat(256, [length(p) 1]), p));
    В чем разница между энтропией Колгорова и энтропией Шеннона на менее техническом жаргоне? Трудно понять значение / импликацию числа сложности, возвращаемого колгоровской сложностью.
1 2

1 ответ:

Обращаясь сначала к вашему последнему вопросу, энтропия Колмогорова - это энтропия возможных траекторий, которые может принять система, то есть это мера "случайности" возможной эволюции системы. Энтропия Шеннона, с другой стороны, является мерой случайности состояния системы. Из того факта, что вы сравниваете x с y, а не несколько траекторий x с несколькими траекториями y, похоже, что вы должны вычислять Шеннона энтропия.

Часто мы хотим вычислить нечто, называемое взаимной информацией, которая является мерой того, насколько энтропия или "случайность" нашего сигнала уменьшается, когда мы обусловливаем его каким-то другим сигналом. В случае вашего кода выше, вы пытаетесь измерить либо сколько энтропии есть в x, либо сколько энтропии есть в x данной y. Разница между этими двумя значениями заключается в том, как много мы узнали о x, зная y. Мы называем это по-другому взаимная информация или, если мы сначала разделим на временную длину серии, которую вы смотрите, емкость канала. (Энтропия источника будет просто энтропией y, предполагая, что y является вашим "источником").

Есть некоторые проблемы с вашим кодом, и я не могу точно знать, что они собой представляют, не зная реализации joint_freq. Для вычисления энтропии x заданной y Необходимо взять двумерную матрицу совместного распределения вероятностей, вычисляя сумму энтропии в направление x, как вы сейчас, но затем также принимая среднее значение вдоль оставшегося измерения.