diff --git a/slides/cours_25.md b/slides/cours_25.md new file mode 100644 index 0000000000000000000000000000000000000000..ae1dd4a89999b93656f9424448f058d6d8960ff6 --- /dev/null +++ b/slides/cours_25.md @@ -0,0 +1,110 @@ +--- +title: "Graphes - Généralités" +date: "2022-05-03" +patat: + eval: + tai: + command: fish + fragment: false + replace: true + ccc: + command: fish + fragment: false + replace: true + images: + backend: auto +--- + +# Questions + +* Qu'est-ce qu'un graphe? Un graphe orienté? Un graphe pondéré? + +. . . + +* Ensemble de sommets et arêtes, avec une direction, possédant une pondération. +* Comment représenter un graphe informatiquement? + +. . . + +* Liste ou matrice d'adjacence. +* Quels sont les deux parcours que nous avons vus? + +. . . + +* Parcours en largeur et profondeur. +* Donner l'idée générale des deux parcours. + +# 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). +$$ +