WikiPrépaLivrets

BCE Maths appliquées ESSEC ECG 2026, épreuve 2Sujet, corrigé et rapport du jury

Épreuve de maths appliquées - ECG 2026

Téléchargements

L'épreuve en chiffres

Moyenne 9,43 / 20 · écart-type 5,27 · 3 585 présents · où vous situez-vous ?
Afficher ou masquer la section
Moyenne
9,43/ 20
Écart-type
5,27
Présents
3 585
Durée
4 h
moyenne 9,4305101520
Deux tiers des copies environ (moyenne ± écart-type)

Votre note sur 20 à ce sujet, en conditions de concours.

Source : document officiel du concours. Notes publiées par le concours (après harmonisation le cas échéant). Courbe : estimation par une loi normale.

Description

Annale de maths appliquées BCE ESSEC pour la filière ECG, session 2026.

Ces sujets peuvent vous intéresser

Lecture du sujet en ligne

L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.
Afficher ou masquer la section

Conception : ESSEC BS

MATHÉMATIQUES 2 APPLIQUÉES FILIÈRE ÉCONOMIQUE ET COMMERCIALE VOIE GÉNÉRALE

Vendredi 24 avril 2026 de 14h à 18 h
La présentation, la lisibilité, l'orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront pour une part importante dans l'appréciation des copies.
Les candidats sont invités à encadrer dans la mesure du possible les résultats de leurs calculs.
Aucun document n'est autorisé. L'utilisation de toute calculatrice et de tout matériel électronique est interdite. Seule l'utilisation d'une règle graduée est autorisée.
Si au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, il la signalera sur sa copie et poursuivra sa composition en expliquant les raisons des initiatives qu'il sera amené à prendre.
Le sujet s'intéresse à un problème dit du "bandit manchot" qui est un exemple d'apprentissage par renforcement.
L'apprentissage par renforcement est un sujet largement utilisé dans le domaine de l'intelligence artificielle. Cela consiste schématiquement à apprendre, à partir d'expériences, quelles actions sont à réaliser pour optimiser une récompense quantitative au cours du temps.
Pour les scripts et fonctions Python, on supposera que les instructions suivantes ont été exécutées :
import numpy as np,numpy.random as rd
Un aide-mémoire Python et SQL se trouve à la fin de l'énoncé.
Les événements et variables aléatoires qui interviennent dans ce problème sont tous et toutes définis sur le même espace probabilisé (Ω, A, ℙ).
Si X est une variable aléatoire réelle sur cet espace, 𝔼(X) désigne son espérance lorsque celle-ci existe.
Le mot "Fin" marque la fin de l'énoncé.

Résultats généraux

On rappelle l'inégalité de Markov :
si X est une variable aléatoire à valeurs positives admettant une espérance et a > 0 un réel alors
ℙ(X ⩾ a) ⩽ (𝔼(X))/a
  • 1.Soit k ∈ ℕ^∗ et B_1, …, B_k des événements. Montrer que ℙ(⋃_(i = 1)^k B_i) ⩽ ∑_(i = 1)^k ℙ(B_i).
  • -Soit θ ∈ [0, 1].
  • 2.On définit pour tout t ∈ ℝ, f(t) = (t^2)/8 + θt − ln(1 − θ + θe^t).
    • a)Montrer que f est de classe C^2 sur ℝ et que pour tout t réel : f^(′′)(t) = ((1 − θ − θe^t)^2)/(4(1 − θ + θe^t)^2).
    • b)En déduire que pour tout t réel, f(t) ⩾ 0 puis que
      (1 − θ)e^(− θt) + θe^((1 − θ)t) ⩽ exp((t^2)/8)
  • 3.a) Justifier brièvement que la fonction t ↦ e^t est convexe sur ℝ.
    • b)En déduire que pour tout x ∈ [ − θ, 1 − θ] et t ∈ ℝ, e^(tx) ⩽ (θ + x)e^((1 − θ)t) + (1 − θ − x)e^(− θt).
  • 4.Soit X une variable aléatoire d'espérance nulle à valeurs dans le segment [ − θ, 1 − θ]. En utilisant les deux questions précédentes, montrer que pour tout t ∈ ℝ, 𝔼(e^(tX)) existe et
    𝔼(e^(tX)) ⩽ exp((t^2)/8)
  • -Soit n ∈ ℕ^∗ et X_1, …, X_n des variables aléatoires indépendantes à valeurs dans [0, 1] et de même espérance μ. On définit X¯_n par X¯_n = 1/n∑_(k = 1)^n X_k.
  • 5.Inégalité de Hoeffding - Soit ε ⩾ 0.
    • a)En utilisant l'inégalité de Markov, montrer que, pour tout t > 0 :
      ℙ(X¯_n − μ ⩾ ε) ⩽ (𝔼(e^(t(X¯_n − μ))))/(e^(tε)) puis que ℙ(X¯_n − μ ⩾ ε) ⩽ e^(− tε)∏_(k = 1)^n 𝔼(exp(t/n(X_k − μ)))
    • b)En déduire que, pour tout t ⩾ 0, ℙ(X¯_n − μ ⩾ ε) ⩽ exp(− tε + (t^2)/(8n)), puis en choisissant convenablement t que
      ℙ(X¯_n − μ ⩾ ε) ⩽ exp(− 2nε^2)
  • 6.Soit ε ⩾ 0. En considérant les variables 1 − X_1, …, 1 − X_n, montrer que
    ℙ(X¯_n − μ ⩽ − ε) ⩽ exp(− 2nε^2)
  • 7.Soit α ∈ ]0, 1[. Si le paramètre μ est inconnu et X_1, …, X_n suivent la même loi, montrer que [X¯_n − √((ln(2/α))/(2n)), X¯_n + √((ln(2/α))/(2n))] est un intervalle de confiance aléatoire pour l'estimation de μ au niveau de confiance 1 − α.

Description du modèle

On modélise le problème, évoqué dans le préambule, de la manière suivante :
n et r sont des entiers naturels plus grands que 2 et r < n.
Les actions sont identifiées aux entiers de 1 à r et n actions sont réalisées l'une après l'autre et numérotées de 1 à n.
p_1, …, p_r sont des réels appartenant à ]0, 1[ non tous égaux et on note p^∗ leur maximum.
On définit, pour tout le sujet, les variables aléatoires suivantes :
  • -Le choix des actions : (I_j)_(j ∈ [ [1, n] ]) à valeurs dans [ [1, r] ], I_j est égale à la j-ème action réalisée.
  • -Les récompenses aléatoires proposées : (X_(i, j))_(i ∈ [1, r], j ∈ [ [1, n] ]) sont des variables de Bernoulli indépendantes telles que pour tout i ∈ [ [1, r] ], j ∈ [ [1, n] ], X_(i, j) est de paramètre p_i.
    X_(i, j) est la récompense aléatoire pour l'action i lorsque celle-ci est effectuée pour la j-ième fois.
    On suppose que les (X_(i, j))_(i ∈ [ [1, r] ], j ∈ [ [1, n] ]) sont indépendantes des (I_j)_(j ∈ [ [1, n] ]).
  • - Y_j est la variable aléatoire égale à la récompense pour la j-ème action réalisée, j ∈ [ [1, n] ].
  • -Par exemple, si pour un certain ω ∈ Ω, les quatre premières actions réalisées sont 2, 4, 3 et 2, alors on a :
    I_1(ω) = 2, I_2(ω) = 4, I_3(ω) = 3, I_4(ω) = 2, Y_1(ω) = X_(2, 1)(ω), Y_2(ω) = X_(4, 1)(ω),; Y_3(ω) = X_(3, 1)(ω), Y_4(ω) = X_(2, 2)(ω).
  • -Pour tous i ∈ [ [1, r] ], j ∈ [ [1, n] ] et ω ∈ Ω, N_(i, j)(ω) est égal au nombre d'indices k ∈ [ [1, j] ] tels que I_k(ω) = i.
  • -Pour i ∈ [ [1, r] ], j ∈ [ [1, n] ] et ω ∈ Ω, X¯_(i, j)(ω) = 1/j∑_(k = 1)^j X_(i, k)(ω) et
    X^_(i, j)(ω) = {1/(N_(i, j)(ω))∑_(k = 1)^(N_(i, j)(ω))X_(i, k)(ω), si N_(i, j)(ω) ≠ 0; 0, sinon .
L'objectif est de maximiser, en moyenne, la récompense totale en définissant les variables I_j pour ce faire. Ces définitions constituent la définition d'une stratégie.

Utilisation d'une table SQL

On a réalisé l'expérience décrite dans le modèle ci-dessus et enregistré les résultats obtenus dans une table Bandit.
Précisément cette table est composé de n enregistrements, n ⩾ 1000. Elle comporte trois champs, Numero , Action et Recompense qui sont de type entier.
Si par exemple la dixième action réalisée est l'action 2 générant une récompense égale à 1, ceci est représenté par la ligne (10, 2, 1) dans la table.
Cette table est associée à un élément ω de Ω.
  • 8.a) Quelle requête renvoie I_(100)(ω) lorsqu'on l'exécute ?
    • b)Quelle requête renvoie la colonne des numéros des actions où on a réalisé l'action 2 et obtenu une récompense non nulle?
    • c)Ecrire une requête qui renvoie N_(1, 100)(ω).
    • d)Ecrire une requête qui renvoie X^_(2, n)(ω). Si l'on a N_(2, n)(ω) ⩾ 100, de quel paramètre X^_(2, n)(ω) est-elle une bonne estimation?

La stratégie ETC ^1 et une majoration de son regret moyen

On note R_n la récompense totale après que les n actions sont exécutées, R_n = ∑_(j = 1)^n Y_j.
  • 9.Soit j ∈ [ [1, n] ].
    • a)Montrer que, 𝔼(Y_j) = ∑_(i = 1)^r ℙ([Y_j = 1] ∩ [I_j = i]).
    • b)Etablir que ℙ([Y_j = 1] ∩ [I_j = i]) = ∑_(k = 1)^j ℙ([X_(i, k) = 1] ∩ [I_j = i] ∩ [N_(i, j) = k]).
    • c)En déduire que 𝔼(Y_j) = ∑_(i = 1)^r p_i ℙ(I_j = i) puis que 𝔼(Y_j) ⩽ p^∗.
  • -On définit le regret Δ_n = np^∗ − R_n et on pose pour tout i ∈ [ [1, r] ], δ_i = p^∗ − p_i.
  • 10.a) Soit i ∈ [ [1, r] ]. Montrer que 𝔼(N_(i, n)) = ∑_(j = 1)^n ℙ(I_j = i).
    • b)En déduire que 𝔼(Δ_n) = ∑_(i = 1)^r δ_i 𝔼(N_(i, n)).
  • 11.Stratégie "No Strategy" - On suppose dans cette question que pour tout j ∈ [ [1, n] ], I_j suit la loi uniforme sur [ [1, r] ]. Calculer 𝔼(Δ_n) en fonction de n, r et des δ_i.
  • -Stratégie "ETC" - On suppose que m est un entier plus grand que 2 tel que rm < n. On définit une nouvelle variable aléatoire Z_m par, pour tout ω ∈ Ω :
    Z_m(ω) est égal au plus petit indice k ∈ [ [1, r] ] pour lequel on a X^_(k, mr)(ω) = max_(1 ⩽ i ⩽ r)X^_(i, mr)(ω).
    La stratégie ETC consiste à définir les I_j comme suit pour tout j ∈ [ [1, n] ] et pour tout ω ∈ Ω :
    • -si j ∈ [ [1, m] ] alors I_j(ω) = 1, si j ∈ [ [m + 1, 2m] ] alors I_j(ω) = 2, …, si j ∈ [ [(k − 1)m + 1, km] ] alors I_j(ω) = k, …, si j ∈ [ [(r − 1)m + 1, rm] ] alors I_j(ω) = r,
    • -si mr < j ⩽ n, I_j(ω) = Z_m(ω).
On suppose dans la suite de cette partie que l'on applique la stratégie ETC.
  • 12.
    Dans cette question n = 10, r = 3, m = 2, on réalise les 10 actions en appliquant la stratégie ETC et on obtient le tableau suivant :
    j 1 2 3 4 5 6 7 8 9 10
    I_j(ω) 1 1 2 2 3 3 ... ... ... ...
    Y_j(ω) 0 1 1 1 0 0 1 0 1 1
    Préciser alors les valeurs de X^_(1, 6)(ω), X^_(2, 6)(ω), X^_(3, 6)(ω) et Z_2(ω). En déduire par quelle(s) valeur(s) il faut compléter la deuxième ligne du tableau.
  • 13.Écrire une fonction Python Z(m, r, Rec ) qui renvoie la valeur de Z_m obtenue lorsque la variable Rec est le vecteur des récompenses obtenues pour les rm premières actions suivant la stratégie ETC.
  • 14.Soit i ∈ [ [1, r] ].
    • a)Que vaut N_(i, mr) ? En déduire que, X^_(i, mr) = X¯_(i, m).
    • b)En déduire que pour tout ε ⩾ 0,
      ℙ(X^_(i, mr) − p_i ⩾ ε) ⩽ exp(− 2mε^2) et ℙ(X^_(i, mr) − p_i ⩽ − ε) ⩽ exp(− 2mε^2)
  • 15.On note s un élément de [ [1, r] ] tel que p_s = p^∗. Soit i ∈ [ [1, r] ].
    • a)Montrer que 𝔼(N_(i, n)) = m + (n − mr)ℙ(Z_m = i).
      En déduire que : 𝔼(N_(i, n)) ⩽ m + (n − mr)ℙ(X^_(i, mr) ⩾ X^_(s, mr))
    • b)Montrer que ℙ(X^_(i, mr) ⩾ X^_(s, mr)) ⩽ ℙ(X^_(i, mr) − p_i ⩾ (δ_i)/2) + ℙ(p_s − X^_(s, mr) ⩾ (δ_i)/2).
    • c)En conclure que :
      𝔼(N_(i, n)) ⩽ m + 2(n − mr)exp(− m(δ_i^2)/2) ⩽ m + 2nexp(− m(δ_i^2)/2)
  • 16.a) Établir que :
    𝔼(Δ_n) ⩽ m∑_(i = 1)^r δ_i + 2n∑_(i = 1)^r δ_i exp(− m(δ_i^2)/2)
    • ▷ On pose α = ∑_(i = 1)^r δ_i et β = ∑_(1 ⩽ i ⩽ r, δ_i ≠ 0)1/(δ_i).
    • b)Montrer que pout tout x > 0, e^(− x) ⩽ 1/(xe). En déduire que 𝔼(Δ_n) ⩽ mα + 2nβ/m.
    • c)En choisissant m = ⌊√((2nβ)/α)⌋ + 1, montrer que pour n assez grand, m ⩾ 2, mr < n et que
      𝔼(Δ_n) ⩽ √(8αβ)√n + α

La stratégie UCB ^2 et une majoration de son regret

On conserve les notations de la partie précédente mais on va redéfinir les variables I_j.
  • 17.Soit θ ∈ ]0, 1[, j ∈ [ [1, n] ] et i ∈ [ [1, r] ], on pose γ = √((− ln(θ))/(2j)). Montrer que ℙ(X¯_(i, j) + γ ⩽ p_i) ⩽ θ.
  • -La stratégie UCB consiste à définir les I_j comme suit pour tout j ∈ [ [1, n] ] et pour tout ω ∈ Ω :
    • -si j ∈ [ [1, r] ] alors I_j(ω) = j;
    • -si j ∈ [ [r, n − 1] ], posons pour tout i ∈ [ [1, r] ], U_(i, j)(ω) = X^_(i, j)(ω) + √((ln(n))/(N_(i, j)(ω))). I_(j + 1)(ω) est égal au plus petit indice i ∈ [ [1, r] ] pour lequel on a U_(i, j)(ω) = max_(1 ⩽ k ⩽ r)U_(k, j)(ω).
    • -On note aussi pour i ∈ [ [1, r] ] et j ∈ [ [1, n − 1] ], V_(i, j)(ω) = X¯_(i, j)(ω) + √((ln(n))/j).
On suppose dans la suite de cette partie que l'on applique la stratégie UCB.
  • 18.a) Justifier que pour i ∈ [ [1, r] ] on a N_(i, r) = 1 et X^_(i, r) = X_(i, 1).
    • b)Ecrire une fonction Python Bernoulli(p) qui renvoie la valeur d'une simulation d'une variable aléatoire suivant la loi de Bernoulli de paramètre p.
    • c)En supposant que hatX contient X^_(i, j), N contient N_(i, j) et le vecteur P contient les valeurs de p_1, …, p_r, écrire une fonction Python maj(hatX, N, i, P) qui simule la récompense de l'action i, celle-ci étant (j + 1)-ème action réalisée et renvoie la valeur de X^_(i, j + 1) dans ces conditions.
  • 19.
    Compléter l'écriture de la fonction Python Actions(P,n) ci-dessous pour qu'elle renvoie la simulation d'un vecteur des n actions réalisées par l'algorithme UCB si le vecteur P contient les valeurs de p_1, …, p_r.
    def Actions(P,n):
        r=np.shape(P)[0]; I=np.zeros(n)
        I[0:r]=[k+1 for k in range(r)];N=np.ones(r)
        hatX=np.array([Bernoulli(P[i]) for i in range(r)])
        for j in range(...,...):
            Max=hatX[0]+np.sqrt(np.log(n)/N[0])
            I[j]=1
    
    for k in range(1,r):
        val=hatX[k]+np.sqrt(np.log(n)/N[k])
        if val>Max:
            Max=...
            I[j]=...
    hatX[I[j]-1]=maj(hatX[I[j]-1],N[I[j]-1],I[j],P)
    N[I[j]-1]=...
return I
  • Dans la suite de l'énoncé, on considère s ∈ [ [1, r] ] tel que p^∗ = p_s, i ∈ [ [1, r] ] tel que p_i < p^∗ et u ∈ [ [1, n − 1] ]. On note A_(i, u) l'événement [min_(j ∈ [ [r, n − 1] ])U_(s, j) ⩽ p_s] ∪ [V_(i, u) ⩾ p_s].
  1. Majoration de 𝔼(N_(i, n))
  • a)Montrer que si [N_(i, n) > u] est réalisé alors il existe k ∈ [ [r, n − 1] ] tel que [N_(i, k) = u] ∩ [U_(i, k) ⩾ U_(s, k)] est réalisé, puis que [V_(i, u) ⩾ min_(j ∈ [ [r, n − 1] ])U_(s, j)] l'est.
  • b)Montrer que si [N_(i, n) > u] est réalisé alors A_(i, u) l'est. En déduire que
    𝔼(N_(i, n)) ⩽ u + ℙ(A_(i, u))n
  1. Majoration de ℙ(A_(i, u))
  • a)Montrer en utilisant la question 17 que :
    ℙ(min_(j ∈ [ [r, n − 1] ])U_(s, j) ⩽ p_s) ⩽ ℙ(min_(k ∈ [ [1, n − 1] ])V_(s, k) ⩽ p_s) ⩽ 1/n
  • b)Etablir que si δ_i − √((ln(n))/u) ⩾ 0, ℙ(V_(i, u) ⩾ p_s) ⩽ exp(− 2u(δ_i − √((ln(n))/u))^2).
  • -On suppose dans la suite que n est assez grand pour que (4ln(n))/(δ_i^2) ∈ [1, n − 2]. On choisit ⌊(4ln(n))/(δ_i^2)⌋ + 1 comme valeur de u pour la suite de cette question.
  • c)Montrer que la fonction φ : t ↦ exp(− 2(δ_i√t − √(ln(n)))^2) est décroissante sur [(ln(n))/(δ_i^2), + ∞[.
  • d)En déduire que ℙ(V_(i, u) ⩾ p_s) ⩽ 1/(n^2) puis que ℙ(A_(i, u)) ⩽ 2/n.
  1. Etablir que 𝔼(N_(i, n)) ⩽ (4ln(n))/(δ_i^2) + 3 puis que 𝔼(Δ_n) ⩽ 4βln(n) + 3α.

Aide-mémoire

Toutes les fonctions et instructions présentées ne sont pas utiles et il est possible d'utiliser d'autres fonctions ou instructions absentes de cet aide-mémoire.
Listes
      • [] Créer une liste vide
  • [a]n ou n[a] Créer une liste avec n fois l'élément a
    • L.append(a) Ajoute l'élément a à la fin de la liste L
      • L1 + L2 Concatène les deux listes L1 et L2
        • len(L) Renvoie le nombre d'éléments de la liste L
    • L.count(a) Renvoie le nombre d'occurences de a dans la liste L
    • L.remove(a) Enlève la première occurence de la valeur a de la liste L
        • ain L Vaut True si a se trouve au moins une fois dans L et False sinon
Module mathématique numpy de Python
import numpy as np
                np.array(L) Transforme la liste L en vecteur ou matrice numpy
    np.zeros([n,m]) Crée la matrice nulle de taille n x m
                np.zeros(n) Crée le vecteur nul de taille n
                    np.sqrt(x) Renvoie (x) si x 2 
                        np.log(x) Renvoie ln(x) si x> 0
Sous module random de numpy pour la simulation probabiliste
import numpy.random as rd
    rd.randint(a,b,[r,s]) Simule une réalisation d'une matrice (r,s) dont les coefficients sont des variables
                    aléatoires indépendantes qui suivent la loi uniforme discrète U( [ a,b 1])
Si le paramètre [r,s] est remplacé par r, cette fonction renvoie une réalisation d'un vecteur de longueur r correspondant à la loi en question, et si ce paramètre est omis, elles renvoient un seul coefficient suivant les mêmes contraintes.
Sous module graphique pyplot de matplotlib
import matplotlib.pyplot as plt
    plt.plot(X,Y,options) Crée la courbe des points définis par les listes X, abscisses, et Y, ordonnées
                    suivant les options graphiques définies par la chaîne de caractères facultative options
        plt.xlim(xmin,xmax) Fixe les bornes de l'axe des abscisses
        plt.ylim(ymin,ymax) Fixe les bornes de l'axe des ordonnées
                plt.show() Affiche le graphique
                plt.grid() Affiche un quadrillage
Fin

    1. Explore then commit
    1. Upper confidence bound

Pas de description pour le moment