clear; clf; alpha=0.85; n=6; N =100; gamma=0.01*N; K=100; I=[0:10:K]; pagerank = zeros(K,1) trustrank = zeros(K,1) H=[0 1 0 0 1 1; 0 0 1 0 1 0; 0 0 0 1 0 0; 1 0 0 0 1 0; 0 1 0 0 0 0; 0 0 1 0 0 0]; H=H'; ColumnSum=sum(H,1); for Tobeman=1:6 for m=I NormH=zeros(n+m); for i= 1:n for j= 1:n if ColumnSum(j)>0 NormH(i,j)=H(i,j)/ColumnSum(j); end if j==Tobeman NormH(i,j)=H(i,j)/(ColumnSum(j)+m);end end end %if(m~=0) NormH(1,6)=1/(1+ColumnSum(6));end for i= n+1:n+m NormH(i,Tobeman)=1/(ColumnSum(Tobeman)+m); end NormH(Tobeman,[n+1:n+m])=ones(1,m); NormT=NormH; NormH=alpha*NormH+(1-alpha)/(n+m)*ones(n+m); x=ones(n+m,1); i=0; while i< N x=NormH*x; i=i+1; end disp(x(Tobeman)/(n+m)); pagerank(m+1)= x(Tobeman); % TrustRank, Trustset={1} A=ones(1,n+m); if (Tobeman~=4) B=[zeros(3,n+m); A; zeros(n+m-4,n+m)]; else B=[zeros(2,n+m); A; zeros(n+m-3,n+m)]; end NormT=alpha*NormT+(1-alpha)*B; %sum(NormT) x=ones(n+m,1); i=0; while i< N x=NormT*x; i=i+1; end %disp(x(Tobeman)/(n+m)); trustrank(m+1)= x(Tobeman); NormH=NormH - diag(sum(NormH,1)); % for i=1:(n+m) % if i0 NormH(i,i)=-1; end % if i>n NormH(i,i)=-1;end % end EXPH{m+1}=zeros(n+m); EXPH{m+1}= (n+m)*(eye(n+m) + gamma/N*NormH)^N; end %end m heatrank=zeros(n,m+1); for i=1:n for m=I heatrank(i,m+1)=EXPH{m+1}(Tobeman,i); end end INDEX=Tobeman; for i=1:n switch i case {1} %figure(1); subplot(2,3,INDEX); plot(I, heatrank(i,I+1), 'ro-'); hold on; %break; case {2} %figure(2); subplot(2,3,INDEX); plot(I, heatrank(i,I+1), 'r+-'); hold on; %plot(I, pagerank(I+1), 'r+-'); %break; case {3} %figure(3); subplot(2,3,INDEX); plot(I, heatrank(i,I+1), 'rx-'); hold on; %plot(I, pagerank(I+1), 'r*-'); %break; case {4} %figure(4); subplot(2,3,INDEX); plot(I, heatrank(i,I+1), 'rs-'); hold on; %plot(I, pagerank(I+1), 'rs-'); %break; case {5} %figure(5); subplot(2,3,INDEX); plot(I, heatrank(i,I+1), 'rd-'); hold on; %plot(I, pagerank(I+1), 'rd-'); %break; case {6} %figure(6); subplot(2,3,INDEX); plot(I, heatrank(i,I+1), 'rv-'); hold on; %plot(I, pagerank(I+1), 'rv-'); %break; end %legend('',1); hold on; end %if j== 1 plot(I, heatrank(i,I), 'b-'); hold on; end end plot(I, pagerank(I+1), 'b*:'); hold on; if (Tobeman~=4) plot(I, trustrank(I+1), 'kd:'); hold on; end if (Tobeman==4) plot(I, trustrank(I+1), 'kx:'); hold on; end if(Tobeman>3) xlabel('Number of Newly Added Nodes'); end ylabel(strcat('Rank of the Manipulatd Node-', int2str(Tobeman)) ); if(Tobeman==1) legend('DR-Trust 1', 'DR-Trust 2','DR-Trust 3','DR-Trust 4','DR-Trust 5','DR-Trust 6','PageRank','TR-Trust 4',1); end if(Tobeman==4) legend('DR-Trust 1', 'DR-Trust 2','DR-Trust 3','DR-Trust 4','DR-Trust 5','DR-Trust 6','PageRank','TR-Trust 3',1); end axis square; %AXIS([0 K 0 0.8]); end % gamma=0.1; % EXPH =expm(gamma*NormH); % for gamma=0:0.5:20 % ExpH= expm(gamma*NormH); % %disp([1;0;0;0;0;0]'*ExpH') % end