• Aucun résultat trouvé

CT 2012/2

N/A
N/A
Protected

Academic year: 2022

Partager "CT 2012/2"

Copied!
2
0
0

Texte intégral

(1)

Preuve et Analyse des Algorithmes

12 juin 2013

1. Temps de calcul. Une implantation d’un algorithme de temps de calculn√

n traite une instance de taille n = 64 en 8 micro-secondes.

1. Quel sera le temps de calcul pour une instance de taille 512 ? 2. Donner un exemple d’algorithme ayant cette complexit´e.

2. Comparaison des algorithmes de tris. Pour un entier n, et algorithme de tri X, on note :

tX(n) = T¯X(2n)

X(n) , vX(n) = V¯X(2n) V¯X(n)

o`u ¯TX(n) (respectivement ¯VX(n)) d´esigne la moyenne du temps de calcul (respectivement du volume de m´emoire auxiliaire) utilis´e pour le traitement parX d’une instance de taille n.

Attention, l’espace occup´e par le tableau `a trier ne doit pas ˆetre comptabilis´e dans le calcul du volume de m´emoire.

1. D´eterminer tL(n), tR(n), tS(n) pour les algortihmes de tri : lin´eaire, rapide (quick- sort), et s´election.

2. D´eterminer les fonctions vX(n) pour les mˆemes algorithmes.

3. Quelles conclusions tirer de ces petits calculs ?

typedef s tr u c t { double r e a l , img ; } cmp ;

cmp prd ( cmp x , cmp y ) { cmp p ;

p . img = x . img ∗ y . r e a l + x . r e a l ∗ x . img ; p . r e a l= x . r e a l ∗ y . r e a l

− x . img ∗ y . img ; return p ;

}

3. Optimisation `a la Karatsuba.

1. Que calcule la fonction prd?

2. S’inspirer de la m´ethode de Karat- suba pour utiliser une multiplication de moins.

3. On suppose que pour deux double, le temps de multiplication estλ-fois plus important que celui d’une addition ou d’une soustraction. Comparer les per- formances en fonction de λ.

4. Implantation du tri lin´eaire.

On suppose une implanation du trilin´eaire en langage C typedef unsigned long long u l l o n g ;

void t r i l i n ( u l l o n g ∗t , u l l o n g n ) ;

1

(2)

[ drm@obelix exam−12] $ l s c p u

A r c h i t e c t u r e : i 6 8 6 Mode : 32−b i t V i t e s s e p r o c . en MHz: 3 0 0 0 . 0 0 0 [ drm@obelix exam−12] $ f r e e −b

t o t a l use d f r e e s h a r e d Mem: 1 5 8 2 9 3 1 9 6 8 8373 98528 745 533440 0

−/+ b u f f e r s / c a c h e : 389427200 1 1 9 3 5 0 4 7 6 8 Swap : 3 1 8 7 6 6 6 9 4 4 0 31 8 7 6 6 6 9 4 4

[ drm@obelix exam−12] $ e c h o ’ l ( 1 5 8 2 9 3 1 9 6 8 ) / l ( 2 ) ’ | bc −l 3 0 . 5 5 9 9 5 2 1 0 5 9 6 2 8 4 1 0 9 7 5 6

Fig. 1 – capacit´es de la machine obelix 1. Quelles sont les pr´econditions d’utilisation ?

2. Estimer le temps de calcul d’une instance de taille 220 sur la machine obelix.

3. pour la taille 224? 4. pour la taille 226?

5. Analyse d’une fonction r´ecursive.

On note K(n), le nombre de comparai- sons r´ealis´ees par la fonction r´ecursiveproc quand elle est appliqu´ee `a un tableau de n entiers.

1. Donner une formule r´ecursive du temps de calcul.

2. DonnerK(n) en fonction de n.

3. M´ezaufait, que fait cete fonction ?

1 i n t p r o c ( i n t∗ t , i n t n )

{ i n t x , y , p ; 2

3 i f ( n > 1 ) {

4 p = n / 2 + ( n & 1 ) ;

5 x = p r o c ( t , n/2 ) ;

6 y = p r o c ( t + n / 2 , p ) ;

7 i f ( x > y ) x = y ;

} 8

9 e l s e x = ∗t ;

10 return x ;

} 11

6. Ordre d’une permutation. On consid`ere les permutations de l’ensemble{0,1, . . . , n−

1}. Une permutationπ est repr´esent´ee naturellement par un tableau de taillen. Pour un entier x < n, on d´efinit la suite d’entiers (xn)n≥0

x0 :=x, ∀n >0 xn=π(xn−1),

on note alors r(x) le plus petit entier strictement positif tel que x0 =xr(x). L’ordre de π est le ppcm des valeurs de r, un tel ppcm peut ˆetre calcul´e de mani`ere it´erative :

ppcm(a1, a2, a3, . . .) = ppcm(ppcm(ppcm(a1, a2), a3), . . .)

1. D´eterminer les valeurs der, puis l’ordre de la permutation, correspondant au tableau de taille 15 :

0 2 4 6 1 10 12 14 8 3 5 7 9 11 13

2. L’entierr(x) est effectivement bien d´efini, pourquoi ?

3. Ecrire une fonction ordre(p, n) qui calcule l’ordre de la permutation p.

2

Références

Documents relatifs

Combien de chaussettes prendre pour être sûr d'avoir au moins une paire assortie?. Si je prends 18 chaussettes ou moins, je cours le risque qu’elles soient

On suppose que pour deux double, le temps de multiplication est λ-fois plus important que celui d’une addition ou d’une soustraction.. Comparer les per- formances en fonction

Ecrire un script : whereis user hosts, pour d´ eterminer sur quel hˆ ote est connect´ e un utilisateur donn´ e.. – user

On utilise les notations habituelles i.e.. D´ ecrypter les entiers de la

On utilise les notations

Jeanne-Fraise a trois ans de plus que Marie- Framboise. Écrire l’énoncé du problème.. b) Lorsqu’on augmente le plus petit de deux nombres, alors leur

Un peu plus loin, c’est au mulet de montrer des signes d’essoufflement et Georgios fait passer un certain nombre d’amphores du mulet au bardot et ce dernier peut s’exprimer comme

Par contre, elle n’est pas dérivable en 1 (vérifiez-le en calculant les limites des taux d’accroissements à gauche et à droite