Q1.

nbAchat <- function(M)
{
  
    mT=0; #nb d'achat
    X1=rep(0,times=M); #album vide
    X2=rep(1,times=M);  #album rempli
    
    while(!setequal(X1,X2)){#tant que l'album X1 n'est pas rempli
      vign <- floor((M+1)*runif(1)); # on achète une vignette
      X1[vign]<-1; #on colle la vignette
      mT=mT+1;# nb d'achat ++
  
    }
    return(mT);
}

Q2.

moyAchat <- function(M,N){
  xM <- seq(10,M, length=10);#vecteur de 10 valeurs de 10 à M
  xT=rep(0,times = 10); # vecteur qui va stocker les différentes moyennes de T par rapport à M 
  set.seed(42);
  
  for(i in c(1:10)){
    x <- 0;
    
    for(j in c(1:N)){
      x <- x +  nbAchat(xM[i]);
    }
    xT[i] <- x /N;
    
  }
  
  return(xT);
}

N=100;#nb d'échantillons
M=300; # nb de vignettes de l'album complet
xT <- moyAchat(M,N);
xT;
##  [1]   33.8  185.0  374.7  569.3  763.4  985.1 1252.3 1423.3 1629.8 1850.1
  xM <- seq(10,M, length=10);
xM;
##  [1]  10.00  42.22  74.44 106.67 138.89 171.11 203.33 235.56 267.78 300.00
plot(xM,xT,type="l");

plot of chunk unnamed-chunk-2

#$P(Y_{i} = 1)=$ probabilité que la vignette suivante soit une nouvelle vignette $=  \frac{M-i+1}{M}$
#\newline $P(Y_{i} = 2)=$ probabilité que la vignette suivant la suivante soit une nouvelle vignette $= \frac{i-1}{M} * #\frac{M-i+1}{M}$
#\newline $P(Y_{i} = 3)=$ probabilité que la vignette suivant le suivant de la suivante soit une nouvelle vignette $=(\frac{i-1}{M})^{2} * \frac{M-i+1}{M}$
#\newline ...
#\newline $P(Y_{i} = k)= (\frac{i-1}{M})^{k-1} * \frac{M-i+1}{M}$

Q2.
On obtient une courbe linéaire.

Q3
Les Xn suivent une loi uniforme car le marchand est honnête.

Q4
Yi décrit une loi de Bernouilli. P(Yi=k) correspond à la probabilité d’obtenir dans une succession de k épreuves de Bernoulli, k1 échecs (les événements où on tombe sur une vignette qui faisait déjà parti de l’album) suivis d’un succès (l’événement ou on trouve une nouvelle vignette). Les épreuves étant indépendantes, cette probabilité est de qk1p (avec q=i1M et p=Mi+1M)

P(Yi=k)=(i1M)k1(Mi+1M)
En utilisant la formule de la loi géométrique nous obtenons :

-Le calcul de l’espérance de Yi :

E(Yi)=1p=MMi+1

-Le calcul de la variance de Yi :

Var(Yi)=qp2=(i1M)(MMi+1)2

Les variables Yi sont indépendantes car elles décrivent une loi de bernouilli donc :

E(T)=i=1ME(Yi)M(log(M)+0.577);

Var(T)=i=1MVar(Yi)

Q5.

Et<-rep(0,times = 10);

for(j in c(1:10)){
  Et1<-0;
  for(i in c(1:xM[j])){
    Et1<- Et1 + (M/(M-i+1))  ;
  }
  Et[j]<-xM[j]*(log(xM[j])+0.577);
}
xM;
##  [1]  10.00  42.22  74.44 106.67 138.89 171.11 203.33 235.56 267.78 300.00
Et;
##  [1]   28.8  182.4  363.8  559.6  765.4  978.6 1198.0 1422.5 1651.4 1884.2
par(mfrow = c(1, 2));
plot(xM,xT,type="l");
plot(xM,Et,type="l");

plot of chunk unnamed-chunk-3

Q6.
Soit Eur le prix qu’il devra dépenser.

Eur=(E(T)/10)2

Q7.

nbAchat2 <- function(M)
{
    a <-0;
    for(i in c(1:M)){
      a<-a+(1/i);
    }
    p <-rep(0,times=M);
    p[1]<- 1/a;
    for(i in c(2:M)){
      p[i]<- p[i-1] + 1/(a*i);
    }
    mT=0; #nb d'achat
    X1=rep(0,times=M); #album vide
    X2=rep(1,times=M);  #album rempli
    j<-1;
    while(!setequal(X1,X2)){#tant que l'album X1 n'est pas rempli
      j<-1;
      vign <- floor((M+1)*runif(1)); # on achète une vignette
      for(i in c(1:M)){
        if((vign < p[i]) || ((i>1) &&(vign >p[i-1]))){
          X1[i]<-1; #on colle la vignette
        }
      }
      mT=mT+1;# nb d'achat ++
  
    }
    return(mT);
}

moyAchat2 <- function(M,N){
  xM <- seq(10,M, length=10);#vecteur de 10 valeurs de 10 à M
  xT=rep(0,times = 10); # vecteur qui va stocker les différentes moyennes de T par rapport à M 
  set.seed(42);
  
  for(i in c(1:10)){
    x <- 0;
    
    for(j in c(1:N)){
      x <- x +  nbAchat2(xM[i]);
    }
    xT[i] <- x /N;
    
  }
  
  return(xT);
}

xT2 <- moyAchat2(M,N);
plot(xM,xT2,type="l");

plot of chunk unnamed-chunk-4

on observe que la courbe obtenue est moins linéaire.

nbAchat3 <- function(M)
{
    a <-0;
    for(i in c(1:M)){
      a<-a+(1/(i*i));
    }
    p <-rep(0,times=M);
    p[1]<- 1/a;
    for(i in c(2:M)){
      p[i]<- p[i-1] + 1/(a*(i*i));
    }
    mT=0; #nb d'achat
    X1=rep(0,times=M); #album vide
    X2=rep(1,times=M);  #album rempli
    j<-1;
    while(!setequal(X1,X2)){#tant que l'album X1 n'est pas rempli
      j<-1;
      vign <- floor((M+1)*runif(1)); # on achète une vignette
      for(i in c(1:M)){
        if((vign < p[i]) || ((i>1) &&(vign >p[i-1]))){
          X1[i]<-1; #on colle la vignette
        }
      }
      mT=mT+1;# nb d'achat ++
  
    }
    return(mT);
}

moyAchat3 <- function(M,N){
  xM <- seq(10,M, length=10);#vecteur de 10 valeurs de 10 à M
  xT=rep(0,times = 10); # vecteur qui va stocker les différentes moyennes de T par rapport à M 
  set.seed(42);
  
  for(i in c(1:10)){
    x <- 0;
    
    for(j in c(1:N)){
      x <- x +  nbAchat3(xM[i]);
    }
    xT[i] <- x /N;
    
  }
  
  return(xT);
}

xT3 <- moyAchat3(M,N);
plot(xM,xT3,type="l");

plot of chunk unnamed-chunk-5