Permalink
Browse files

ajout des composantes connexes

  • Loading branch information...
sdpython committed Sep 20, 2015
1 parent 52b025b commit 5aecdea0916b9c2703d2123f758cea60c7ed4c35
@@ -39,6 +39,7 @@ Sujets
orange
demineur
sacados
connexe
parti
@@ -55,6 +56,7 @@ Indices et solutions
orange_solution
demineur_solution
sacados_solution
connexe_solution
parti_solution
notions
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,76 @@
.. index:: connexe, composane connexe, chemin, noeud, graphe, arc
.. _l-algo_connexe:
Faire le tour de ses amis
=========================
A partir de 4-5 ans (mais ce n'est qu'une indication).
Un graphe est une structure à la fois naturelle et mathématiquement pas toujours
évidente à cerner. Il est composé de noeuds et d'arcs qui relient ces noeuds.
Le réseau routier est un graphe : les noeuds sont les villes, les arcs sont les routes.
Facebook est un graphe : les noeuds sont les pofils, les arcs sont les connexions.
Un chemin est une suite d'un ou plusieurs arcs qui relient deux noeuds. On les représente
parfois sous cette forme assez schématique :
.. image:: https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Chromatically_equivalent_graphs.svg/220px-Chromatically_equivalent_graphs.svg.png
A partir de là, on peut définir ce que sont les
`composantes connexes <https://fr.wikipedia.org/wiki/Graphe_connexe>`_ dans un graphe.
C'est un ensemble de noeuds qui son liées les unes aux autres : si on en prend
deux dans cet ensemble, on peut toujours trouver un chemin qui les relie. Si on prend un noeud
dans l'ensemble et un autre en dehors, il n'existe pas de chemin qui les relie.
**Q1 :** Dans l'image suivante, il y a trois composantes connexes, saurez-vous les trouver ?
.. image:: connex1s.png
Mise en scène
-------------
Il est visuellement facile de trouver les composantes connexes...
quand le graphe est petit, que les arcs ne se croisent pas trop.
On remplit des bouteilles d'eau (une dizaine) qu'on dispose un peu n'importe comment dans une salle
ou on demande à chaque enfant du groupe de se poser dans la pièce.
On relie les bouteilles ou les enfants par une ficelle.
Puis on plonge la pièce dans le noir ou on bande les yeux de celui qui entre dans la pièce.
Il doit retrouver les composantes connexes du graphe sans pouvoir s'aider de ses yeux
et poser au pied de chaque bouteille ou personne une carte de la même couleur.
**Q2 :** à partir de là, comment fait-on ?
Pour gagner le jeu, chaque composante
connexe doit avoir une carte de couleur différente (pique, coeur, trèfle, carreau)
et chaque bouteille ou personne doit avoir à ses pieds une carte de couleur.
**Q3 :** On n'a pas l'impression de tourner en rond ?
A quoi ça sert ?
----------------
.. index:: coloriage
Sans le savoir, trouver les composantes connexes dans un graphe revient à colorier
le graphe. On choisit une bouteille et on la colorie en rouge. On suit toutes les ficelles
qui la relient à d'autres et on colorie les autres de la même couleur.
Solution
--------
Voir :ref:`l-algo_connexe_sol`.
@@ -0,0 +1,34 @@
.. _l-algo_connexe_sol:
Faire le tour de ses amis (solution)
====================================
**Q1 :**
Il y a trois composantes connexes, chacune d'une couleur différente.
.. image:: connex1s.png
**Q2 :**
Comme celui qui cherche à trouver les composantes connexes ne voit rien,
il n'a pas d'autre choix que d'errer à la recherche d'un premier noeud ou de
la première personne. Une fois qu'il l'a trouvé, il va suivre les fils
jusqu'au suivant ou la suivante et ainsi de suite.
**Q3 :**
Comme on est dans le noir, il est difficile de savoir si on est
déjà passé au même endroit. C'est important car sinon, on risque de tourner
indéfiniment en rond. La carte laissée par terre indique si on est déjà passé
par là. Si on a l'impression d'avoir fait le tour, on peut recommencer à
errer dans la pièce et passer à la composane connexe suivante.
La solution est illustrée par la correction à ce problème
similaire : :ref:`l-algo_division_sol`.
@@ -14,7 +14,7 @@ A partir de 7-8 ans (mais ce n'est qu'une indication).
Dans un certain pays, il existe un parti politique pétri d'inimitiés tenaces.
Est-il possible de scinder le parti en deux pour que chaque paire d'ennemis
intangibles se retrouve de part et d'autre du fossé ?
intangibles se retrouve de part et d'autre du fossé ? [#fdiv1]
Mise en scène
@@ -53,7 +53,8 @@ Autres options à programmer
.. index:: composante connexe, graphe
Les aspects algorithmiques abordés ici sont très proches du concept
de `composante connexe <https://fr.wikipedia.org/wiki/Graphe_connexe>`_ dans un graphe.
de `composante connexe <https://fr.wikipedia.org/wiki/Graphe_connexe>`_ dans un graphe
(voir :ref:`l-algo_connexe`).
Le *graphe* est ici composé de l'ensemble des bouteilles et des arcs. Le graphe le plus connu
est Facebook où les bouteilles sont les personnes et les ficelles sont des connexions.
@@ -73,19 +74,31 @@ Solution
Voir :ref:`l-algo_division_sol`.
.. index:: coloriage d'une carte, théorème des quatre couleurs, théorème des cinq couleurs
A quoi ça sert ?
----------------
.. index:: coloriage
Dans ce problème, on se retrouve dans une situation ou on ne peut pas
colorier de la même couleur deux noeuds du graphe ou deux personnes reliées par un fil.
On ne peut pas colorier deux voisins de la même couleur. Cette situation
est plus fréquente qu'on ne le croit pas et particulièrement
lorsqu'il faut colorier une carte
.. image:: https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/France_maximale.svg/220px-France_maximale.svg.png
*source : `wikipedia <https://fr.wikipedia.org/wiki/Liste_des_d%C3%A9partements_fran%C3%A7ais>`_
Il faut colorier deux départements voisins de couleurs différentes.
Mais combien faut-il de couleurs au maximum ?
Le `Théorème des quatre couleurs <https://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_des_quatre_couleurs>`_
démontre que quatre suffisent sous certaines hypothèses. La démonstration passe par une longue
étude de cas.
Le `théorème des cinq couleurs <https://en.wikipedia.org/wiki/Five_color_theorem>`_ est plus simple
à montrer.
Sans le savoir, trouver les composantes connexes dans un graphe revient à colorier
le graphe. On choisit une bouteille et on la colorie en rouge. On suit toutes les ficelles
qui la relient à d'autres et on colorie ces autres de la même couleur.
.. image:: parti3.png
**Q5 :** On fait quoi ensuite ?
@@ -1,7 +1,5 @@
.. index:: parti
.. _l-algo_division_sol:
@@ -53,8 +51,6 @@ Il faudra tirer sur au moins trois bouteilles pour débarasser la place
de toutes ses bouteilles.
**Q5 :**
.. image:: parti3.png
Lorsqu'on a colorié toutes les bouteilles en vert. On choisit une autre couleur,

0 comments on commit 5aecdea

Please sign in to comment.