function treeplot(n) %n = 6; m=2; k = 2; global T %T = zeros(n); %T(2:n,1) = ones(n-1,1); %T=makecycle(n); bmin = 1; %bmax = n/2; %bmax = n*2; bmax = 2; %bmax = 1+1/n; %for b=1:.1:3 global RR HH mT mb RR = []; HH=[]; alf = 0; while 1 b = randinseg(bmin,bmax); T=randkgraph(n,k); psi = ones(2); psi(1,2) = b; psi(2,1) = b; P = treefillprob(m,n,T,psi); [hh,Ht,H] = gethhn(P,m,n); if 0 %if H > b if (H-1)/(n-1) > b-1 plot(b,H,'or'); else plot(b,H,'ob'); end hold on drawnow end RR(end+1) = b; HH(end+1) = H; a = log(1-(H-1)/(n-1))/(1-b); if a > alf mT = T; mb = b; end alf = max(log(1-(HH-1)./(n-1))./(1-RR)); fprintf('n = %d k = %d alf = %1.9f \n',n,k,alf); end return function T = makecycle(n) T = zeros(n); for i=2:n T(i,i-1) = 1; end T(n,1) = 1; T = T + T'; return function treeplot0 n = 6; m=2; k = 2; T = zeros(n); T(2:n,1) = ones(n-1,1); for b=1:.1:3 psi = ones(2); psi(1,2) = b; psi(2,1) = b; P = treefillprob(m,n,T,psi); [hh,Ht,H] = gethhn(P,m,n); if H > b plot(b,H,'.r'); else plot(b,H,'.b'); end hold on drawnow end return