30
Tutorat en bio- informatique Le 21 novembre 2012

Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Embed Size (px)

Citation preview

Page 1: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Tutorat en bio-informatique

Le 21 novembre 2012

Page 2: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D.

, D est la région bornée par la parabole

et la droite .

yxxyyxf 1),(2xy 4y

Page 3: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D.

, D est la région bornée par la parabole

et la droite .

yxxyyxf 1),(2xy 4y

y = 4

y = x2

01'

01'

xf

yf

y

x

Page 4: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D.

, D est la région bornée par la parabole

et la droite .

yxxyyxf 1),(2xy 4y

y = 4

y = x2

01'

01'

xf

yf

y

x (1,1) 0)1,1( f

Page 5: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D.

, D est la région bornée par la parabole

et la droite .

yxxyyxf 1),(2xy 4y

y = 4

y = x2

01'

01'

xf

yf

y

x (1,1) 0)1,1( f

1)0,0( f

Page 6: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D.

, D est la région bornée par la parabole

et la droite .

yxxyyxf 1),(2xy 4y

y = 4

y = x2

01'

01'

xf

yf

y

x (1,1) 0)1,1( f

1)0,0( f

94281)4,2( f

Page 7: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D.

, D est la région bornée par la parabole

et la droite .

yxxyyxf 1),(2xy 4y

y = 4

y = x2

01'

01'

xf

yf

y

x (1,1) 0)1,1( f

1)0,0( f

94281)4,2( f34281)4,2( f

Page 8: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D.

, D est la région bornée par la parabole

et la droite .

yxxyyxf 1),(2xy 4y

y = 4

y = x2

01'

01'

xf

yf

y

x (1,1) 0)1,1( f

1)0,0( f

94281)4,2( f34281)4,2( f

minimum

maximum

Page 9: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

xyzzyxf

zyx

),,(

100

Page 10: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

xyzzyxf

zyx

),,(

100

22100),(

)100(),(

100

xyyxxyyxf

yxxyyxf

yxz

Page 11: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

xyzzyxf

zyx

),,(

100

22100),(

)100(),(

100

xyyxxyyxf

yxxyyxf

yxz

xyxxf

yyxyf

y

x

2100'

2100'2

2

Page 12: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

xyzzyxf

zyx

),,(

100

22100),(

)100(),(

100

xyyxxyyxf

yxxyyxf

yxz

xyxxf

yyxyf

y

x

2100'

2100'2

2

22 21002100

0''

xxyxyxyy

ff yx

Page 13: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

xyzzyxf

zyx

),,(

100

22100),(

)100(),(

100

xyyxxyyxf

yxxyyxf

yxz

xyxxf

yyxyf

y

x

2100'

2100'2

2

22 21002100

0''

xxyxyxyy

ff yx

Posons x = y dans l'une ou l'autre des dérivées.

Page 14: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

yx

x

xx

xxf

xxxxyxxf

y

y

3/100

3100

3100

03100'

21002100'

2

2

222

Posons x = y dans l'une ou l'autre des dérivées.

Page 15: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices 2 et 3 (MAT1400) - solutions

Chapitre 11.7, Analyse - concepts et contextes vol. 2

35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

yx

x

xx

xxf

xxxxyxxf

y

y

3/100

3100

3100

03100'

21002100'

2

2

222

Posons x = y dans l'une ou l'autre des dérivées.

3/1003/200100

100

z

yxz

Page 16: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Au programme…

• Algorithmes de recherche dans un tableau

• Algorithmes de tri dans un tableau

Page 17: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Algorithmes

• Qu'est-ce qu'un algorithme?

C'est un processus logique permettant la résolution d'un problème en programmation.

www.le-dictionnaire.com

Page 18: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Algorithmes

• On analyse la performance d'un algorithme en évaluant son temps d'exécution dans le pire cas.

• En effet, le meilleur cas ne se produit presque jamais dans la réalité, donc il n'est pas intéressant.

• Le cas moyen est souvent le plus difficile à calculer et il peut être peu représentatif du pire cas.

• L'analyse du temps d'exécution dans le pire cas nous donne la garantie que l'algorithme ne pourra être plus lent peu importe ce qu'on lui donne en entrée.

Page 19: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Algorithmes

• Soit T(n), la fonction qui définie les opérations effectuées par l'algorithme sur n, le nombre d'entrées. On dira que :

T(n) = O( f(n) ) si pour des constantes positives c et n0, on a T(n) <= cf(n) quand n >= n0

f(n) Temps

c constant

logn logarithmique

n linéaire

nlogn nlogn

n2 quadratique

n3 cubique

2n exponentiel

n! factoriel

Page 20: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Recherche dans un tableau non trié

• On doit parcourir toutes les positions du tableau jusqu'à ce qu'on trouve l'élément recherché (recherche directe)

function rechercheDirecte(tab, element){

for (var i = 0; i < tab.length; i++){

if (tab[i] == element){

return i;}

}return -1;

}

Pire cas :

temps linéaire ( O (n) )

Page 21: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Recherche dans un tableau trié• On peut parcourir toutes les positions du tableau jusqu'à

ce qu'on trouve l'élément recherché ou qu'on dépasse la valeur de l'élément recherché (recherche linéaire).

function rechercheLineaire(tab, element)

{

for (var i = 0; i < tab.length; i++)

{

if (tab[i] == element)

return i;

else if (tab[i] > element)

return -1;

}

return -1;

}

Pire cas :

temps linéaire ( O (n) )

Page 22: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Recherche dans un tableau trié• On peut faire une recherche binaire

function rechercheBinaire(tab, element){

var gauche = 0;var droite = tab.length - 1;while (gauche <= droite){

var centre = Math.floor((gauche + droite) / 2);if (tab[centre] == element)

return centre;else if (tab[centre] > element)

droite = centre - 1;else

gauche = centre + 1;}return -1;

}

Page 23: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Recherche dans un tableau trié• On peut faire une recherche binaire

function rechercheBinaire(tab, element){

var gauche = 0;var droite = tab.length - 1;while (gauche <= droite){

var centre = Math.floor((droite – gauche) / 2) + gauche;if (tab[centre] == element)

return centre;else if (tab[centre] > element)

droite = centre - 1;else

gauche = centre + 1;}return -1;

}

Pire cas :

dans O (log n)

Page 24: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Algorithmes de tri

• La meilleure façon de trier un tableau est de séparer notre tableau en deux parties : une partie triée et une partie non triée

• Il n'y aurait aucun avantage à créer un deuxième tableau : cela nécessiterait plus d'espace et plus d'opérations

Page 25: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Tri par sélectionfunction triSelection(tab){

for (var i = 0; i < tab.length-1; i++){

var posMin = i;for (var j = i + 1; j < tab.length; j++){

if (tab[j] < tab[posMin]){

posMin = j;}

}if (posMin != i){

var temp = tab[i];tab[i] = tab[posMin];tab[posMin] = temp;

}}

}

O(n2) dans tous les cas

Page 26: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Tri par insertion

function triInsertion(tab){

for (var i = 1; i < tab.length; i++){

var aPlacer = tab[i];

var j = i - 1; while (j >= 0 && tab[j] > aPlacer) {

tab[j+1] = tab[j];j--;

}

tab[j+1] = aPlacer;}

}

Ici, on peut faire mieux qu'avec le tri par sélection. Dans le meilleur cas (un tableau déjà trié), le tri par insertion prend un temps linéaire.

Toutefois, dans le pire cas (tableau trié en ordre décroissant), cet algorithme prendra aussi un temps quadratique.

Page 27: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Tri bullefunction triBulle(tab){

do{var inversionFaite = false;for(var i = 0; i < tab.length-1; i++){

if(tab[i] > tab[i+1]) {

var temp = tab[i+1];tab[i+1] = tab[i];tab[i] = temp;inversionFaite = true;

}}

} while(inversionFaite);}

Comme pour le tri insertion, dans le meilleur cas (un tableau déjà trié), le tri bulle prend un temps linéaire.

Toutefois, dans le pire cas (???), cet algorithme prendra aussi un temps quadratique.

Page 28: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Tri bullefunction triBulle(tab){

do{var inversionFaite = false;for(var i = 0; i < tab.length-1; i++){

if(tab[i] > tab[i+1]) {

var temp = tab[i+1];tab[i+1] = tab[i];tab[i] = temp;inversionFaite = true;

}}

} while(inversionFaite);}

Comme pour le tri insertion, dans le meilleur cas (un tableau déjà trié), le tri bulle prend un temps linéaire.

Toutefois, dans le pire cas (plus petit élément en dernière position), cet algorithme prendra aussi un temps quadratique.

Page 29: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Exercices (MAT1400)

Chapitre 12.2, Analyse - concepts et contextes vol. 2

19) Calculez le volume du solide dressé sur le rectangle

R = [-1, 1] x [-2, 2] et coiffé par le paraboloïde elliptique

.

23) Calculez le volume du solide du premier quadrant compris dans le cylindre et le plan x = 2.

19/4/ 22 zyx

29 yz

Page 30: Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez

Référence

• Weiss, MA (2007). Data Structures and Algorithm Analysis in Java. Second Edition. Pearson Education, Boston, 555 pages.