function mcd_wrc7(sc) % writeup sanity check global nstate global lenseq global ALLSEQ global ALLSEQ1 nstate = 3; %lenseq = 2; %global A %global ec global FN global NN NN=6; maxR = 0; global ksi global AA global AA1 global AA2 global C for T=1:10000 FN = randFN(2,NN); for lenseq=2:NN %[AA1,C] = initAAC(sc); %AA1 = tweakA(AA1); AA = AA1; h = SC(AA); Y1 = Y_gam; if 1 PQ = list_all_ind(repmat(nstate-1,[1 nstate])); Y2 = 0; yy = []; PROGstart(size(PQ,1),'processing PQ'); for k = 1:size(PQ,1) pq = PQ(k,:); %pq = ones(1,nstate); AA2 = tweakA2(AA1,pq); AA = AA2; y2 = Y_gam; Y2 = max(Y2,abs(y2)); yy(k) = Y_gam; PROGupdate(k); end PROGend %keyboard end %if (totdif(Y1,Y2)>1e-5) AA3 = tweakA3(AA1); AA = AA3; Y2 = Y_gam; g = ( (abs(Y1)<=abs(Y2)+1e-10)); if ~g %'dont match up!!!!' 'bad bound' keyboard end end end return function AA = tweakA(AA) [n,n,T] = size(AA); for t=1:T A = AA(:,:,t); for el=1:n p0l = A(1,el); pwl = pnormdim(rand(n-1,1),1); pwl = zeros(n-1,1); pwl(1)=1; A(2:n,el) = (1-p0l)*pwl; end AA(:,:,t) = A; end return function AA1 = tweakA2(AA,pq) [n,n,T] = size(AA); AA1 = zeros(n,n,T); for t=1:T A = AA(:,:,t); ak = A(:,1); dk = abs(repmat(ak,1,n)-A); [x,y] = max(dk); [z,w] = max(x); j = y(w)-1; a = A(1,1); b = A(1,2); A1 = []; for i=1:n a = A(1,i); col = zeros(n-1,1); col(pq(i)) = 1-a; %col(j) = 1-a; A1 = [A1 [a;col]]; end %A1 = [[a,b];[1-a,1-b]]; AA1(:,:,t) = A1; end return function AA1 = tweakA3(AA) [n,n,T] = size(AA); AA1 = zeros(n,n,T); for t=1:T A = AA(:,:,t); %ak = A(:,1); a = A(1,1); b = A(1,2:end); %dk = abs(repmat(ak,1,n)-A); dk = abs(a-b); %[x,y] = max(dk); %[z,w] = max(x); %j = y(w)-1; %[x,j] = max(dk); [x,j] = max(b); %j = j-1; a = A(1,1); b = A(1,2); A1 = []; for i=1:n a = A(1,i); col = zeros(n-1,1); col(j) = 1-a; A1 = [A1 [a;col]]; end %A1 = [[a,b];[1-a,1-b]]; AA1(:,:,t) = A1; end return function AA1 = tweakA30(AA) [n,n,T] = size(AA); AA1 = zeros(n,n,T); for t=1:T A = AA(:,:,t); ak = A(:,1); dk = abs(repmat(ak,1,n)-A); [x,y] = max(dk); [z,w] = max(x); j = y(w); a = A(1,1); b = A(1,j); A1 = [[a,b];[1-a,1-b]]; AA1(:,:,t) = A1; end return function y = evalF(FN,x) global nstate lenseq = length(x); FF = FN{lenseq}; ind = coord2ind(x,(repmat(nstate,1,lenseq))); y = FF(ind); return function r = F(x) %global nstate nstate = 2; %global lenseq if ~x(end), x=x(1:end-1); end; i1 = find(x>2); x(i1) = repmat(2,size(i1)); lenseq = length(x); global FN FF = FN{lenseq}; ind = coord2ind(x,(repmat(nstate,1,lenseq))); r = FF(ind); return function Ef = E(Xi) % E[f(X)|Xi] global ALLSEQ global AA Ef = 0; i = length(Xi); n = size(ALLSEQ,2); for k=1:size(ALLSEQ,1) x = ALLSEQ(k,:); p = P(x); if (i & (i