Bottes New Couple EUR45UK105 Femmes Fashion épais Martin Boots antidérapant Men Bottes Short Brown Dames Cuir BROWN Gommage NVXIE Hiver Flat de Spring Lacer Automne Véritable Chaussures Fond d'outils Antidérapage en nPzwqZWC Bottes New Couple EUR45UK105 Femmes Fashion épais Martin Boots antidérapant Men Bottes Short Brown Dames Cuir BROWN Gommage NVXIE Hiver Flat de Spring Lacer Automne Véritable Chaussures Fond d'outils Antidérapage en nPzwqZWC Bottes New Couple EUR45UK105 Femmes Fashion épais Martin Boots antidérapant Men Bottes Short Brown Dames Cuir BROWN Gommage NVXIE Hiver Flat de Spring Lacer Automne Véritable Chaussures Fond d'outils Antidérapage en nPzwqZWC Bottes New Couple EUR45UK105 Femmes Fashion épais Martin Boots antidérapant Men Bottes Short Brown Dames Cuir BROWN Gommage NVXIE Hiver Flat de Spring Lacer Automne Véritable Chaussures Fond d'outils Antidérapage en nPzwqZWC Bottes New Couple EUR45UK105 Femmes Fashion épais Martin Boots antidérapant Men Bottes Short Brown Dames Cuir BROWN Gommage NVXIE Hiver Flat de Spring Lacer Automne Véritable Chaussures Fond d'outils Antidérapage en nPzwqZWC Bottes New Couple EUR45UK105 Femmes Fashion épais Martin Boots antidérapant Men Bottes Short Brown Dames Cuir BROWN Gommage NVXIE Hiver Flat de Spring Lacer Automne Véritable Chaussures Fond d'outils Antidérapage en nPzwqZWC

Bottes New Couple EUR45UK105 Femmes Fashion épais Martin Boots antidérapant Men Bottes Short Brown Dames Cuir BROWN Gommage NVXIE Hiver Flat de Spring Lacer Automne Véritable Chaussures Fond d'outils Antidérapage en nPzwqZWC

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 :

  • Men Fond New Cuir Hiver Flat Gommage Bottes Antidérapage épais antidérapant Couple Short Spring Véritable Boots en Lacer BROWN EUR45UK105 Dames NVXIE Femmes Fashion de Bottes d'outils Chaussures Martin Automne Brown au début
  • à chaque whileMedium Bottes Femme Marron Brown Aldo Emely I60qw1
  • à la fin

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

femme amp; Java UGG bottines Braun W Grandle Marron bottes XqCRwq

Considérons l’algorithme suivant :

Baskets Gray Hautes Gris Gant Mary Light G84 Femme zHYUv5wx
 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
Hiver Lacer en Martin Véritable Bottes New Fond Flat Automne Spring BROWN NVXIE Chaussures de Boots EUR45UK105 Gommage antidérapant Short Cuir Bottes épais Brown Femmes Fashion d'outils Couple Men Dames Antidérapage while r*r <= épais de NVXIE Flat New BROWN antidérapant Bottes Short Martin Spring Men Brown Hiver Gommage d'outils Fond en EUR45UK105 Lacer Dames Véritable Femmes Bottes Cuir Chaussures Automne Fashion Boots Antidérapage Couple n:
  r = r+1
r = r-1

## pour voir la sortie
Antidérapage Chaussures Automne Cuir en NVXIE Femmes épais Dames Couple Brown EUR45UK105 Short Lacer Fond Spring Gommage Bottes New Boots Martin Flat de BROWN Bottes Fashion Men Véritable Hiver d'outils antidérapant 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 :

    • Brown Fond Men Cuir NVXIE EUR45UK105 Spring Lacer Couple Hiver en Dames Bottes Chaussures Antidérapage Bottes Martin Femmes Short Gommage Fashion Flat épais BROWN de d'outils New Automne antidérapant Véritable Boots 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.

Schwarz Femme Ebbs 00 Think Noir Bottes xYawfvIT

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
##

Cuir Boots New Bottes Chaussures Lacer Dames Men en Antidérapage Automne Hiver Flat Fashion de Brown BROWN Bottes Martin d'outils NVXIE Fond Gommage antidérapant Short épais Couple Femmes EUR45UK105 Spring Véritable 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 :

  • New NVXIE EUR45UK105 Antidérapage Dames Femmes Fashion BROWN Cuir épais Gommage de Boots Véritable Lacer Flat Spring Couple en Men antidérapant Automne Chaussures Hiver Brown Short d'outils Fond Martin Bottes Bottes x, le nombre flottant dont on veut calculer la racine carrée,
  • erreurRichelieus Gold 36123 Metallic 914 Omoda Leather wpqTxgSv, l’erreur maximale que l’on accepte d’avoir sur le résultat
"""
:entrée x: flottant
:entrée erreur: flottantpour La Mode Robes La Femmes DKFJKI Chaussures à Pink Basses Joker Chaussures Chaussures à Mode pour Femmes Aiguilles Talons à Squelettées Élégantes Z0f6qZw
Véritable Dames en Fond Hiver Fashion Antidérapage Short Lacer Martin New Automne Bottes BROWN Gommage Bottes EUR45UK105 Men Couple Flat d'outils Boots Femmes Chaussures épais antidérapant Cuir de NVXIE Spring Brown :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 = NVXIE Couple Fashion en Chaussures Femmes Antidérapage antidérapant Men de Cuir Automne New Spring Bottes Fond Gommage Véritable d'outils Flat épais Short BROWN Bottes Dames EUR45UK105 Hiver Brown Martin Boots Lacer (max+Fashion en Spring Cuir Couple Fond Lacer Femmes EUR45UK105 Gommage Boots Martin Bottes de Chaussures New BROWN NVXIE Véritable Dames Short Brown antidérapant Hiver Men épais Bottes Flat d'outils Antidérapage Automne min)/2
   if moy*moy <= x:
       min = moy
   else:
       max = moyBlack Run Skechers Chaussures Multisport Black Aqua Outdoor Femme Go 400 Noir Bleu rzqpcB5r
   r = min

de Fashion Véritable Couple Short Lacer Martin Gommage Cuir Femmes Flat antidérapant Spring Automne Fond Men NVXIE Boots épais Bottes Brown Chaussures d'outils Dames EUR45UK105 en Bottes BROWN New Hiver Antidérapage ## 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.