Académique Documents
Professionnel Documents
Culture Documents
Université
de
Yaoundé
I
Fondation
FR2I
Faculté
des
Sciences
Task
Force
Formation
Département
d’Informatique
Cours
Universitaires
INF2033,
Méthodes
Algorithmiques
et
Structures
de
Données
Devoir
n°
0,
Octobre
2020
Professeur
Maurice
TCHUENTE
Faire
les
exercices
et
problèmes
ci-‐après,
de
la
fiche
méthodologique.
NB
:
Les
devoirs
seront
faits
par
groupes
de
4.
La
note
obtenue
par
chaque
membre
du
groupe
sera
égale
au
pourcentage
de
participation
déclaré
collectivement
par
les
membres,
avec
un
total
de
100%,
le
devoir
lui-‐même
étant
évalué
sur
100.
Exercice
1
Faire
une
fiche
de
lecture
pour
un
chapitre
ou
une
section
de
livre,
dans
l’un
de
vos
cours
des
années
précédentes
en
mathématiques,
informatique
et
physique.
Exercice
2
Retrouvez des applications de l’algorithmique dans chacun de vos cours du cycle de licence
Exercice 3
L’étude des mathématiques et de bien d’autres disciplines, comporte trois facettes ou volets,
qu’on peut classer selon leurs caractéristiques de plus en plus abstraites ou théoriques ainsi qu’il
suit :
1. Le développement d’outils pour résoudre des problèmes concrets
2. La généralisation (par formalisation et études des propriétés des modèles) correspondant
aux outils développés ci-dessus, pour aborder des questions plus larges posées par la
nature
3. L’approfondissement de questions internes que les solutions de l’étape 2 posent
Retrouvez
dans
la
littérature,
des
exemples
de
travaux
correspondant
à
chacune
de
ces
facettes,
dans
le
domaine
de
l’algorithmique.
A noter que certains des pères fondateurs de l’informatique ont réussi à couvrir tous ces champs.
C’est par exemple le cas de ‘’Alan Mathison Turing, né le
23
juin
1912
à
Londres
et mort
le
7
juin
1954
à
Wilmslow, mathématicien
et
cryptologue britannique, de génie, auteur de
travaux qui fondent scientifiquement l'informatique et en même temps acteur de l’ombre durant
la
Seconde
Guerre
mondiale, qui joua un rôle majeur dans la
cryptanalyse
de la
machine
Enigma
utilisée par les armées allemandes, travail secret ne sera connu du public que dans les
années 1970 (Wikipédia).
Exercice
4
Retrouver
dans
nos
savoirs
traditionnels,
des
descriptions
correspondant
à
des
algorithmes.
Exercice
5
1. Essayez
de
retrouver
certains
facteurs
qui
font
que
les
savoirs
algorithmiques
sont
au
centre
de
grands
enjeux
économiques,
et
peuvent
fragiliser
et
même
conduire
à
la
faillite,
ou
à
l’inverse
faire
prospérer
de
très
grandes
entreprises,
et
de
manière
très
violente
et
subite.
2. Dire
pourquoi
l’algorithmique
est
une
domaine
à
très
fort
enjeu
stratégique
pour
les
mathématiciens/informaticiens
originaires
des
pays
ne
disposant
pas
de
gros
moyens
financiers,
car
ils
peuvent
rivaliser
avec
les
chercheurs
des
grands
pays
de
ce
monde,
et
sans
nécessiter
des
migrations
alimentaires
de
talents.
Problème
(Calculabilité-‐décidabilité-‐complexité,
pour
aller
plus
loin)
1. Montrer
que
tout
alphabet
fini
Σ
comportant
n
symboles,
peut
être
codé
en
binaire
de
manière
très
simple
et
de
sorte
que
tout
texte
donné
dans
ce
code
binaire
puisse
être
facilement
réécrit
dans
l’alphabet
Σ.
2. Dire
pourquoi
tout
algorithme
peut
ensuite
être
codé
comme
une
suite
finie
de
‘0’
et
de
‘1’.
3. Déduire
que
l’ensemble
des
algorithmes
est
dénombrable
On
considère
l’ensemble
des
problèmes
de
décision,
dont
chacun
consiste
en
une
question
modélisée
par
une
fonction
de
Σ*
dans
{Oui,
Non}.
4. Dire
pourquoi
un
problème
de
décision
peut
être
modélisé
par
une
partie
de
Σ*.
5. Déduire
que
l’ensemble
des
problèmes
de
décision
est
non
dénombrable
6. Déduire
qu’il
y
a
des
problèmes
pour
lesquels
il
n’existe
pas
d’algorithme
de
résolution
7. Chercher
sur
internet,
un
exemple
de
problème
de
décision
pour
lequel
il
n’existe
pas
d’algorithme
de
résolution.
On
appelle
semi-‐algorithme
pour
la
résolution
d’un
problème
de
décision
sur
Σ∗,
une
description
semblable
à
celle
d’un
algorithme,
mais
qui
appliquée
à
un
élément
de
Σ*,
Produit
la
solution
en
un
temps
fini
si
la
réponse
est
‘Oui’,
mais
peut
boucler
(c-‐à-‐c
tourner
à
l’infini)
si
la
réponse
est
‘Non’.
8. Chercher
sur
internet,
un
exemple
de
problème
de
décision
pour
lequel
il
existe
un
semi-‐algorithme
de
résolution,
mais
pas
d’algorithme.
Un
algorithme
est
dit
de
performance
Ω(f(n)),
s’il
existe
deux
constantes
strictement
positives
h
et
k,
telles
que
le
nombre
d’opérations
g(n)
d’opérations
effectuées
en
moyenne
pour
résoudre
un
problème
de
taille
n,
vérifie
hf(n)
≤
g(n)
≤
kf(n).
On
dit
aussi
que
la
performance
de
cet
algorithme
est
de
l’ordre
de
f(n).
9. Chercher
sur
le
net,
un
exemple
d’algorithme
pour
chacun
des
ordres
de
complexité
suivants
:
a. Ω(1),
b. Ω
(log
n),
c. Ω((log
n)k)
avec
k
>
1,
d. Ω(n),
e. Ω(n
log
n),
f. Ω(n
(log
n)k),
g. Ω(nk)
avec
k
>
1,
h. Ω(en).
10. Pour
chacune
des
classes
ci-‐dessus,
donner
une
valeur
de
n
telle
que
la
performance
d’un
algorithme
de
cette
classe
s’exprime
en
secondes
(resp.
minutes),
tandis
que
la
performance
d’un
algorithme
dont
la
performance
est
de
la
classe
supérieure,
s’exprime
en
minutes
(resp.
heures).
On
appelle
algorithme
non
déterministe
pour
la
résolution
d’un
problème
de
décision,
une
description
semblable
à
celle
d’un
algorithme,
mais
qui
à
certaines
étapes,
propose
un
choix
à
faire
(à
la
diligence
de
celui
qui
l’exécute),
entre
des
alternatives,
en
nombre
majoré
par
une
constante
C.
11. Chercher
sur
le
net,
un
exemple
d’algorithme
non
déterministe
de
performance
O(n),
mais
dont
l’algorithme
équivalent
déterministe
et
polynomial
n’est
pas
trivial
L’un
des
problèmes
non
encore
résolus
de
l’informatique,
est
celui
de
savoir
si
l’ensemble
des
problèmes
solubles
en
temps
polynomial
par
des
algorithmes
non
déterministes,
est
identique
à
celui
des
problèmes
solubles
en
temps
polynomial
par
des
algorithmes
déterministes.
C’est
la
fameuse
question
‘’P
est-‐il
égal
à
NP
?’’.
12. Montrer
que
tout
problème
soluble
en
temps
polynomial
par
un
algorithme
non
déterministe,
peut
être
résolu
en
temps
exponentiel
par
un
algorithme
déterministe.