
Bibliographie : de nombreux livres
.Cormen, Leiserson, Rivest, ”Introduction `
a
l’algorithmique”, Dunod (disponible `
a la BU) vraiment
”une” r´
ef´
erence essentielle en algorithmique,
. S. Skiena, ”Algorithm Design Manual”, une ”mine”! (Une
version on-line proche du livre papier ),
. Jon Kleinberg & Eva Tardos, ”Algorithm design”,
Addison Wesley 2005
. Sur l’aspect ”algorithmic pattern”, ”Data Structures and
Algorithms with object-oriented design patterns in Java”.
2000, disponible sur le Web , ...
() 13 / 78
Organisation: les TPs
Il y aura 6 s´
eances de TP (langage : Java) encadr ´
ees pour la mise en
oeuvre directe des m´
ethodes ´
etudi´
ees en cours:
. Programmation dynamique, Algorithmes gloutons(2
s´
eances)
. Propri ´
et´
es NP, r´
eductions polynˆ
omiales (2 s´
eances)
. Heuristiques, M´
etaheuristiques ou Calculabilit ´
e (2
s´
eances)
() 14 / 78
.... Evaluation
Le contrˆ
ole continu sera bas´
e sur les TPs et un DS en milieu de
semestre. La note de contrˆ
ole continu sera
1/3∗(note DS) + 2/3∗(note TP)avec ´
eventuellement un bonus
donn´
e par des ”devoirs maison” facultatifs mais recommand ´
es.
() 15 / 78
Quelques exemples
Pour quel probl`
eme peut-on trouver un algorithme efficace, quel probl`
eme est ”facile”?
.Probl`
eme 1: Trouver un cycle qui passe une et une seule
fois par tous les sommets d’un graphe
Si vous trouvez un algorithme ”efficace” pour ce
probl`
eme, vous gagnez 1 million de dollars.
Si vous montrez qu’on ne peut pas en trouver un, vous
gagnez aussi 1 million de dollars.
.Probl`
eme 2: Trouver un cycle qui passe une et une seule
fois par tous les arcs d’un graphe
Les 7 ponts de Koenigsberg
Il existe un algorithme simple et ”efficace”: il faut et suffit
que chaque noeud soit d’arit ´
e paire (Euler)
() 16 / 78