diff --git a/slides/cours_24.md b/slides/cours_24.md index 7813713ea57e12e63ca7942dd6a1a31b5bfa4be9..68e8293990a67296aa4e18eb80b22e99552f313a 100644 --- a/slides/cours_24.md +++ b/slides/cours_24.md @@ -864,11 +864,12 @@ graph LR; 4---5; ``` -# Interprétation des aprcours +# Interprétation des parcours * Un graphe vu comme espace d'états (sommet: état, arête: action); * Labyrinthe; * Arbre des coups d'un jeu. + . . . * BFS (Breadth-First) ou DFS (Depth-First) parcourent l'espace des états à la recherche du meilleur mouvement. @@ -877,6 +878,81 @@ graph LR; . . . -* BFS explore beaucoup de coups dans un futur proche; -* DFS explore peu de coups dans un futur lointain. +* Quand on a un temps limité + * BFS explore beaucoup de coups dans un futur proche; + * DFS explore peu de coups dans un futur lointain. + +# Illustration: plus courts chemins + + + + +# Plus courts chemins + +## Contexte: les réseaux (informatique, transport, etc.) + +* Graphe orienté; +* Source: sommet `s`; +* Destination: sommet `t`; +* Les arêtes ont des poids (coût d'utilisation, distance, etc.); +* Le coût d'un chemin est la somme des poids des arêtes d'un chemin. + +## Problème à résoudre + +* Quel est le plus court chemin entre `s` et `t`. + +# Exemples d'application de plus court chemin + +## Devenir riches! + +* On part d'un tableau de taux de change entre devises. +* Quelle est la meilleure façon de convertir l'or en dollar? + +{width=80%} + +. . . + +* 1kg d'or => 327.25 dollars +* 1kg d'or => 208.1 livres => 327 dollars +* 1kg d'or => 455.2 francs => 304.39 euros => 327.28 dollars + +# Exemples d'application de plus court chemin + +## Formulation sous forme d'un graphe: Comment (3min)? + +{width=80%} + + +# Exemples d'application de plus court chemin + +## Formulation sous forme d'un graphe: Comment (3min)? + +{width=60%} + +* Un sommet par devise; +* Une arête orientée par transaction possible avec le poids égal au taux de change; +* Trouver le chemin qui maximise le produit des poids. + +. . . + +## Problème + +* On aimerait plutôt avoir une somme... + + +# Exemples d'application de plus court chemin + +## Conversion du problème en plus court chemin + +* Soit `taux(u, v)` le taux de change entre la devise `u` et `v`. +* On pose `w(u,w)=-log(taux(u,v))` +* Trouver le chemin poids minimal pour les poids `w`. + +{width=60%} + +* Cette conversion se base sur l'idée que + +$$ +\log(u\cdot v)=\log(u)+\log(v). +$$ diff --git a/slides/figs/courts_chemin_intro.pdf b/slides/figs/courts_chemin_intro.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7d8cb4933b8f2f2b63cf77aaa1022d8792c9704f Binary files /dev/null and b/slides/figs/courts_chemin_intro.pdf differ diff --git a/slides/figs/taux_change.pdf b/slides/figs/taux_change.pdf new file mode 100644 index 0000000000000000000000000000000000000000..19d6d68a51bc6b1717dd454c4d75540ddff54bca Binary files /dev/null and b/slides/figs/taux_change.pdf differ diff --git a/slides/figs/taux_change_graphe.pdf b/slides/figs/taux_change_graphe.pdf new file mode 100644 index 0000000000000000000000000000000000000000..80a2744c7c35b763cce84ee958db62e2adc6cd9e Binary files /dev/null and b/slides/figs/taux_change_graphe.pdf differ diff --git a/slides/figs/taux_change_graphe_log.pdf b/slides/figs/taux_change_graphe_log.pdf new file mode 100644 index 0000000000000000000000000000000000000000..86800b31414bdfd58a0122eb5f7dccb95fc96540 Binary files /dev/null and b/slides/figs/taux_change_graphe_log.pdf differ