/////////////////////////////
/// Un texte, une modélisation:
//
//  TEXTE 1: la matrice de google
//
////////////////////////////////////////////////////////
//              Matrice C
N=10;
C=zeros(N,N)
                        // liens pointant vers le site 1
C(2,4)=1;C(2,1)=1;      // liens pointant vers le site 2
C(3,2)=1                // liens pointant vers le site 3
C(4,2)=1;C(4,3)=1       // liens pointant vers le site 4
C(5,1)=1;C(5,6)=1       // liens pointant vers le site 5
C(6,5)=1                // liens pointant vers le site 6
C(7,4)=1;C(7,6)=1;C(7,9)=1; // liens pointant vers le site 7
C(8,7)=1;C(8,9)=1;           // liens pointant vers le site 8
C(9,8)=1                // liens pointant vers le site 9
C(10,3)=1               // liens pointant vers le site 10
////////////////////////////////////////////////////////
//                  Matrice Q
Q=C;
Ns=sum(C,'r')
d=zeros(1,N)
for j=1:N
  if (Ns(j)==0) then 
      d(j)=1
  else
     for i=1:N
         Q(i,j)=C(i,j)/Ns(j)
     end
  end    
end
////////////////////////////////////////////////////////
//                  Matrice P
e=ones(N,1)
P=Q+1/N*e*d
////////////////////////////////////////////////////////
//                  Matrice A
alpha=0.85;
A=alpha*P+(1-alpha)*1/N*e*e'
//
////////////////////////////////////////////////////////
//                  Méthode de la puissance
//
x0=rand(N,1);x0=x0/norm(x0,1);Xt=x0;
Nit=20;
for i=1:Nit
    x0=A*x0
    Xt=[Xt,x0]
end
////////////////////////////////////////////////////////
//                  RESULTATS
//
figure(1)
clf()
plot(0:Nit,Xt','thickness',5)
xtitle('évolution du vecteur r en fonction des itérations')
[a,b]=gsort(x0)
disp('pertinence du site');disp([b,100*x0(b)])
//
////////////////////////////////////////////////////////
