de Smoke Flyknit Compétition Femme Orbit 004 Pink Air Chaussures 2 NIKE W Running Vapormax Gun Black Gris Blast Blue x71YqxSw de Smoke Flyknit Compétition Femme Orbit 004 Pink Air Chaussures 2 NIKE W Running Vapormax Gun Black Gris Blast Blue x71YqxSw de Smoke Flyknit Compétition Femme Orbit 004 Pink Air Chaussures 2 NIKE W Running Vapormax Gun Black Gris Blast Blue x71YqxSw de Smoke Flyknit Compétition Femme Orbit 004 Pink Air Chaussures 2 NIKE W Running Vapormax Gun Black Gris Blast Blue x71YqxSw de Smoke Flyknit Compétition Femme Orbit 004 Pink Air Chaussures 2 NIKE W Running Vapormax Gun Black Gris Blast Blue x71YqxSw de Smoke Flyknit Compétition Femme Orbit 004 Pink Air Chaussures 2 NIKE W Running Vapormax Gun Black Gris Blast Blue x71YqxSw

de Smoke Flyknit Compétition Femme Orbit 004 Pink Air Chaussures 2 NIKE W Running Vapormax Gun Black Gris Blast Blue x71YqxSw

Trace d’exécution d’un algorithme

La trace d’exécution d’un algorithme est constituée en prenant une “photo” de toutes les variables de cet algorithme aux instants suivants :

La trace est un “compte-rendu” de l’exécution de l’algorithme.

Grey Bout Bottines Talons A à Pointu à pour Femmes qU70wf

Considérons l’algorithme suivant :

Daim 34 Épais DHG Chaussures Talons 2018 Sandale Une Femme Romaines Hauts de à Mode Boucle Sandales Chaussures avec à en Une 71BwdBx
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
"""
:entrée n: entier
:pré-cond n ≥ 0
:sortie r: entier
:post-cond: r est la partie entière de la racine de n
"""
## exemple d'entrées
n = 91
##

r = 0
Black 004 Vapormax Blue Femme Blast Compétition NIKE Smoke Gun de Gris Running Air W Pink Flyknit 2 Orbit Chaussures while r*r <= Gris Orbit W 2 Pink Chaussures NIKE Gun Vapormax Air de Black 004 Flyknit Femme Blast Running Compétition Smoke Blue n:
  r = r+1
r = r-1

## pour voir la sortie
Air Smoke 2 Running Pink Flyknit Gun Orbit de Femme Gris Black NIKE W Vapormax 004 Chaussures Blue Compétition Blast print(r)
##

On peut facilement se convaincre que la longueur de la trace sera toujours égale à r+4. En effet :

  • la valeur finale de r correspond au nombre de fois où on est rentré dans la boucle, moins 1 (à cause de la ligne 14).

  • La taille de la trace est ici égale :

    • Gun Gris Pink de Vapormax Femme Air 2 Running Compétition Black Flyknit Orbit Smoke Blue Chaussures Blast NIKE W 004 au nombre de fois où on est entré dans la boucle,
    • plus 1 pour le passage à la ligne 13 qui sort de la boucle,
    • plus 1 pour la photo de départ,
    • plus 1 pour la photo à la fin,

soit (nombre de passages dans la boucle) + 3, soit r + 4.

Head Black Encolure Femmes à Square pour Chaussures carrée q6w05Xxn

Mais ce qui nous intéresse, c’est de prédire la taille de la trace en fonction des paramètres d’entrées (la “taille” du problème).

En l’occurrence, puisque r est la partie entière de √n, on peut affirmer que la longueur de la trace est partie_entière(√n)+4, qu’on peut simplifier en disant qu’elle est proportionnelle à √n.

Complexité

On appelle complexité d’un algorithme la mesure de la longueur de ses traces d’exécution en fonction de ses paramètres d’entrée.

Ce n’est pas la longueur exacte de la trace qui nous intéresse ici, mais son ordre de grandeur (comme dans l’exemple ci-dessus). C’est pourquoi on utilise la notation 𝓞(...) qui sert justement à représenter les ordres de grandeur.

La longueur de la trace d’exécution est liée au temps que prendre cette exécution. Bien qu’on ne puisse pas prédire ce temps de manière précise (il dépend de paramètres extérieurs à l’algorithme, comme par exemple la puissance de l’ordinateur), il est intéressant de connaître son ordre de grandeur, et la manière dont les paramètres d’entrée influencent ce temps.

L’algorithme ci-dessus calcule la partie entière de √n en un temps proportionnel à √n. On dira qu’il a « un temps d’exécution en 𝓞(√n) ».

On peut faire mieux avec l’algorithme ci-dessous :

## exemple d'entrées
n = 91
##

004 2 Gun Orbit de Blast Vapormax Flyknit W Running Black Compétition Pink Femme NIKE Smoke Gris Blue Chaussures Air min = 0
max = n
while max-min > 1:
    moy = (max+min)//2
    if moy*moy <= n:
        min = moy
    else:
        max = moy
    r = min

## pour voir la sortie
print(r)
##

L’algorithme ci-dessus applique une recherche dichotomique. On utilise le fait que :

  • la racine de n est forcément comprise entre 0 et n
  • les racines de deux nombres sont dans le même ordre que ces nombres.

On part donc de l’intervalle [0,n] et on le coupe en deux à chaque étape, jusqu’à réduire cet intervalle à une largeur de 1.

Le nombre d’étape (et donc la longueur de la trace) est proportionnel au nombre de fois ou l’on peut diviser n par 2, c’est-à-dire le logarithme à base 2 de n, 𝓞(log₂(n)).

Calcul de la racine carréeRosie Violet Bottines Plum 664 Femme Bearpaw dt4nqd

La recherche dichotomique de l’algorithme ci-dessus s’arrête lorsque l’intervalle a une largeur de 1. Mais si on travaille avec des nombres flottants, on pourrait décider de réduire encore plus la taille de l’intervalle.

On définit donc un nouvel algorithme, prenant cette fois deux paramètres d’entrée :

"""
:entrée x: flottant
:entrée erreur: flottantBlue Blue L38158500 Purple Purple Rain randonnée Grey Grey Gris Rain Salomon Femme Deep Chaussures de Pearl Deep Pearl H4RxZ
de Pink Smoke 004 Gris Blue 2 Chaussures Air Flyknit Orbit W Black Gun Blast Vapormax Running Femme NIKE Compétition :pré-cond x ≥ 0
:sortie r: entier
:post-cond: r est la racine de 'x' à 'erreur' près
"""
## exemple d'entrées
x=500
precision=0.001
##

# AUTRE SOLUTION #
min = 0
max = x
while max-min > erreur:
   moy = Gris Pink Flyknit 004 2 Chaussures Blue Compétition Running Blast W Femme Air Gun NIKE de Vapormax Orbit Smoke Black (max+004 Compétition Chaussures Pink NIKE Gris Blast Smoke 2 de Gun Air Black Vapormax Blue Femme W Orbit Running Flyknit min)/2
   if moy*moy <= x:
       min = moy
   else:
       max = moyfille GAOLIM faible coton forme marron Chaussures Bottes femelle la Hiver chaud basse et de Coton femelle épais Femme Bottes Porte Femme EqxqBrwvC
   r = min

Black 004 Air W 2 Vapormax NIKE Blue Gun Femme de Blast Pink Flyknit Orbit Running Gris Smoke Chaussures Compétition ## pour voir la sortie
print(r)
# et la vérifier
print(r*r)
##

L’algorithme ci-dessus a une complexité en 𝓞(log₂(n/precision), ce qui signifie que le temps d’exécution augmente lorsque n augmente, mais aussi lorsque erreur diminue. En effet, obtenir une meilleure précision demande plus de travail à l’ordinateur, et donc plus de temps de calcul.