Exercice 2 - Coût d'exécution · Bac Numérique et Sciences Informatiques Asie 2026 (jour 1)

Thème : Coût des algorithmes, tris et recherche · Tiré du sujet Jour 1 (2026)

Énoncé

Exercice 2 (6 points)

Cet exercice porte sur les thèmes langages, programmation et algorithmique.

Dans le cadre d’un concours national intitulé “Jeunes Talents IA 2025”, une équipe constituée d’élèves de terminale NSI est sélectionnée pour développer un système d’intelligence artificielle capable de détecter si un email est un spam ou non pour la messagerie d’un établissement scolaire. Après réflexion, l’équipe décide d’utiliser un perceptron pour classer les messages comme spam ou non spam.

Le perceptron est un neurone artificiel qui imite très simplement le fonctionnement d’un neurone biologique. L’équipe choisit d’entraîner le perceptron à l’aide d’un algorithme d’apprentissage supervisé: on présente au perceptron des exemples, avec les bonnes réponses, afin qu’il ajuste automatiquement ses poids dans le but d’améliorer ses prédictions.

Le fonctionnement d’un perceptron est décrit ci-après:

Le perceptron dispose d’un tuple de nn poids p=(p1,p2,p3,…,pn)p = (p_1, p_2, p_3, \dots, p_n) et d’un biais bb. Il reçoit en entrée un tuple de nn valeurs numériques d’entrée x=(x1,x2,x3,…,xn)x = (x_1, x_2, x_3, \dots, x_n).

Il calcule la somme pondérée avec biais des valeurs d’entrées:

somme=x1×p1+x2×p2+⋯+xn×pn+b\text{somme} = x_1 \times p_1 + x_2 \times p_2 + \dots + x_n \times p_n + b

Puis il applique une fonction d’activation. Dans cet exercice la fonction d’activation est la fonction seuil qui renvoie 1 si la somme pondérée avec biais est supérieure ou égale à 0, et 0 sinon.

Le schéma ci-dessus illustre le cas n=2n = 2.

Pour commencer, l’équipe considère un perceptron à deux entrées ayant pour caractéristiques les poids p1=0.7p_1 = 0.7 et p2=−0.2p_2 = -0.2, et un biais b=0.1b = 0.1.

Voici le début d’une classe DetecteurSpam basée sur un perceptron:

class DetecteurSpam:

def __init__(self, nb_entrees):

self.biais = 0.0

self.poids = [0.0 for i in range(nb_entrees)]

def get_biais(self):

return self.biais

def set_biais(self, nouveau_biais):

self.biais = nouveau_biais

def get_poids(self):

return self.poids

def set_poids(self, nouveaux_poids):

assert len(nouveaux_poids) == len(self.poids)

self.poids = nouveaux_poids

7.

Donner le coût d'exécution temporel de la méthode prediction en fonction de la taille nn des entrées.

Énoncé: Exercice 2 - Coût d'exécution · Bac Numérique et Sciences Informatiques Asie 2026 (jour 1)

Corrigé

Corrigé proposé par AprenAI (non officiel)

7. Donner le coût d'exécution temporel de la méthode prediction en fonction de la taille n des entrées.

Réponse : Linéaire / O(n)\mathcal{O}(n)

L’explication pas à pas, faite avec l’IA, est réservée aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

‹ Exercice 1 - Algorithmes et complexité · Asie 2026 (jour 1) · Exercice 3 · Asie 2023 (jour 2) ›

Plus d’exercices de Coût des algorithmes, tris et recherche