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
L'épreuve en chiffres
Moyenne 9,43 / 20 · écart-type 5,27 · 3 585 présents · où vous situez-vous ?
- Moyenne
- 9,43/ 20
- Écart-type
- 5,27
- Présents
- 3 585
- Durée
- 4 h
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
Lecture du sujet en ligne
L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.
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.
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, ℙ) .
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é
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 :
siX est une variable aléatoire à valeurs positives admettant une espérance et
a > 0 un réel alors
si
- 1.Soit
k ∈ ℕ^∗ etB_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 classeC^2 surℝ et que pour toutt 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)
- a)Montrer que
- 3.a) Justifier brièvement que la fonction
t ↦ e^t est convexe surℝ .- b)En déduire que pour tout
x ∈ [ − θ, 1 − θ] ett ∈ ℝ, e^(tx) ⩽ (θ + x)e^((1 − θ)t) + (1 − θ − x)e^(− θt) .
- b)En déduire que pour tout
- 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 toutt ∈ ℝ, 𝔼(e^(tX)) existe et
𝔼(e^(tX)) ⩽ exp((t^2)/8)
- -Soit
n ∈ ℕ^∗ etX_1, …, X_n des variables aléatoires indépendantes à valeurs dans [0, 1] et de même espéranceμ . On définitX¯_n parX¯_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 convenablementt que
ℙ(X¯_n − μ ⩾ ε) ⩽ exp(− 2nε^2)
- a)En utilisant l'inégalité de Markov, montrer que, pour tout
- 6.Soit
ε ⩾ 0 . En considérant les variables1 − X_1, …, 1 − X_n , montrer que
ℙ(X¯_n − μ ⩽ − ε) ⩽ exp(− 2nε^2) - 7.Soit
α ∈ ]0, 1[ . Si le paramètreμ est inconnu etX_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 confiance1 − α .
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 :
Les actions sont identifiées aux entiers de 1 à
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 à laj -è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 touti ∈ [ [1, r] ], j ∈ [ [1, n] ], X_(i, j) est de paramètrep_i .
X_(i, j) est la récompense aléatoire pour l'actioni lorsque celle-ci est effectuée pour laj -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 laj -è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'indicesk ∈ [ [1, j] ] tels queI_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 aN_(2, n)(ω) ⩾ 100 , de quel paramètreX^_(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^∗ .
- a)Montrer que,
- -On définit le regret
Δ_n = np^∗ − R_n et on pose pour touti ∈ [ [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)) .
- b)En déduire que
- 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 den, r et desδ_i . - -Stratégie "ETC" - On suppose que
m est un entier plus grand que 2 tel querm < n . On définit une nouvelle variable aléatoireZ_m par, pour toutω ∈ Ω :
Z_m(ω) est égal au plus petit indicek ∈ [ [1, r] ] pour lequel on aX^_(k, mr)(ω) = max_(1 ⩽ i ⩽ r)X^_(i, mr)(ω) .
La stratégie ETC consiste à définir lesI_j comme suit pour toutj ∈ [ [1, n] ] et pour toutω ∈ Ω :- -si
j ∈ [ [1, m] ] alorsI_j(ω) = 1 , sij ∈ [ [m + 1, 2m] ] alorsI_j(ω) = 2, … , sij ∈ [ [(k − 1)m + 1, km] ] alorsI_j(ω) = k, … , sij ∈ [ [(r − 1)m + 1, rm] ] alorsI_j(ω) = r , - -si
mr < j ⩽ n, I_j(ω) = Z_m(ω) .
- -si
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 deX^_(1, 6)(ω), X^_(2, 6)(ω), X^_(3, 6)(ω) etZ_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 deZ_m obtenue lorsque la variable Rec est le vecteur des récompenses obtenues pour lesrm 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)
- a)Que vaut
- 15.On note
s un élément de[ [1, r] ] tel quep_s = p^∗ . Soiti ∈ [ [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)
- a)Montrer que
- 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 pourn assez grand,m ⩾ 2, mr < n et que
𝔼(Δ_n) ⩽ √(8αβ)√n + α
- ▷ On pose
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] ] eti ∈ [ [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 toutj ∈ [ [1, n] ] et pour toutω ∈ Ω :- -si
j ∈ [ [1, r] ] alorsI_j(ω) = j ; - -si
j ∈ [ [r, n − 1] ] , posons pour touti ∈ [ [1, r] ], U_(i, j)(ω) = X^_(i, j)(ω) + √((ln(n))/(N_(i, j)(ω))) .I_(j + 1)(ω) est égal au plus petit indicei ∈ [ [1, r] ] pour lequel on aU_(i, j)(ω) = max_(1 ⩽ k ⩽ r)U_(k, j)(ω) . - -On note aussi pour
i ∈ [ [1, r] ] etj ∈ [ [1, n − 1] ], V_(i, j)(ω) = X¯_(i, j)(ω) + √((ln(n))/j) .
- -si
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 aN_(i, r) = 1 etX^_(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 contientN_(i, j) et le vecteur P contient les valeurs dep_1, …, p_r , écrire une fonction Python maj(hatX, N, i, P) qui simule la récompense de l'actioni , celle-ci étant(j + 1) -ème action réalisée et renvoie la valeur deX^_(i, j + 1) dans ces conditions.
- 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
- 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 dep_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 quep^∗ = p_s, i ∈ [ [1, r] ] tel quep_i < p^∗ etu ∈ [ [1, n − 1] ] . On noteA_(i, u) l'événement[min_(j ∈ [ [r, n − 1] ])U_(s, j) ⩽ p_s] ∪ [V_(i, u) ⩾ p_s] .
- Majoration de
𝔼(N_(i, n))
- a)Montrer que si
[N_(i, n) > u] est réalisé alors il existek ∈ [ [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é alorsA_(i, u) l'est. En déduire que
𝔼(N_(i, n)) ⩽ u + ℙ(A_(i, u))n
- 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 deu 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 .
- 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
- L1 + L2 Concatène les deux listes L1 et L2
- 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
- L.append(a) Ajoute l'élément a à la fin de la liste L
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
- Explore then commit
- Upper confidence bound
Pas de description pour le moment