No BSD License  

Highlights from
Kolmogorov Complexity

from Kolmogorov Complexity by Stephen Faul
Estimate of the Kolmogorov complexity of a finite time series.

complexity=kolmogorov(s);
% FUNCTION: kolmogorov.m
% DATE: 9th Feb 2005
% AUTHOR: Stephen Faul (stephenf@rennes.ucc.ie)
%
% Function for estimating the Kolmogorov Complexity as per:
% "Easily Calculable Measure for the Complexity of Spatiotemporal Patterns"
% by F Kaspar and HG Schuster, Physical Review A, vol 36, num 2 pg 842
%
% Input is a digital string, so conversion from signal to a digital stream
% must be carried out a priori

function complexity=kolmogorov(s);
n=length(s);
c=1;
l=1;

i=0;
k=1;
k_max=1;
stop=0;

while stop==0
	if s(i+k)~=s(l+k)
        if k>k_max
            k_max=k;
        end
        i=i+1;
        
        if i==l
            c=c+1;
            l=l+k_max;
            if l+1>n
                stop=1;
            else
                i=0;
                k=1;
                k_max=1;
            end
        else
            k=1;
        end
	else
        k=k+1;
        if l+k>n
            c=c+1;
            stop=1;
        end
	end
end

b=n/log2(n);

% a la Lempel and Ziv (IEEE trans inf theory it-22, 75 (1976), 
% h(n)=c(n)/b(n) where c(n) is the kolmogorov complexity
% and h(n) is a normalised measure of complexity.
complexity=c/b;

Contact us at files@mathworks.com