function p = probdev_optphi(A,C) % the probability that the rv. phi(X), with X ~ Markov(A,C) % deviates from its mean by at least 1 % finds "worst" such phi [m,m,t] = size(A); if ~exist('C','var') C = ones(m,1)/m; end n = t+1; dims = repmat([m],[1 n]); global P Ainf Binf delta P = zeros(m^n,1); F = zeros(m^n,1); for xind=1:m^n x = ind2coord(xind,dims); P(xind) = Pr(A,C,x); %F(xind) = phi(xind); end %[Ainf,Binf] = lipab(m,n); LB = 0*P; UB = LB + n; pp = []; %while 1 %phi = randlip(m,n); [v,phi] = probdev_qp(A,C) [x,fval] = fmincon(@myobj,phi(:),Ainf,Binf,[],[],LB,UB); p = -fval; % pp(end+1) = p; % if length(pp)>40 % break % end %end %pp %p = max(pp); return function y = myobj(F) global P delta m n Ef = P'*F; del = abs(F-Ef); ii = find(del>= delta*n); p = sum(P(ii)); y = -p; return function p = Pr(A,C,x) %p = 1; p = C(x(1)); for j=2:length(x) p = p * A(x(j),x(j-1),j-1); end return