Le paquet pro-graphes

Cet outil a pour but de faciliter la rédaction de documents sur les graphes.

Il permettra de créer :
– des graphes probabilistes ;
– des graphes orientés ou non, pondérés ou non ;
– des graphes colorés ;
– le code latex de la matrice associé ou de celle-ci à la puissance n ;
– un tableau des degrés des sommets avec l’application des théorèmes d’Euler ;
– le tableau correspondant à l’algorithme de Dijkstra.

Lors de la création des graphes, on pourra si besoin repositionner les sommets pour améliorer sa lisibilité.

Dans le préambule


On rajoute ceci :

\usepackage[xcas]{pro-graphes}

pro-grapheproba


Cet environnement sert à construire un graphe probabiliste.

\begin{pro-grapheproba}{1}
["A","B"],
[
["[email protected]{1}{4}$","[email protected]{3}{4}$"],
["[email protected]{7}{9}$","[email protected]{2}{9}$"]
],
[
["titre-gauche","Graphe probabiliste"]
]
\end{pro-grapheproba}

On obtient :

graphe1-2.jpg


NB : le code source correspondant est enregistré dans le fichier :

nomfichier_grapheprob i.mp, la valeur i étant donnée en argument.

pro-tableg


Cet environnement sert à construire le code latex de la matrice associée.

\begin{pro-tableg}{1}
["M"],
[
[1,2,3],
[4,5,6],
[7,8,9]
]
\end{pro-tableg}

On obtient :

tableg.jpg


NB : le code source correspondant est enregistré dans le fichier :

nomfichier_tableg i.tex, la valeur i étant donnée en argument.

pro-tablegp


Cet environnement sert à construire le code latex de la matrice associée élevée à la puissance n.

\begin{pro-tablegp}{1}
["M"],
[
[1,2,3],
[4,5,6],
[7,8,9]
],
3
\end{pro-tablegp}

On obtient :

tablegp.jpg


NB : le code source correspondant est enregistré dans le fichier :

nomfichier_tablegp i.tex, la valeur i étant donnée en argument.

pro-graphedessin


Cet environnement sert à construire un graphe.

Par défaut, le graphe est non orienté et non pondéré. On utilise la partie haute de la matrice comme information.

Les arêtes sont dessinées par des segments.

\begin{pro-graphedessin}{1}
["A","B","C","D"],
[
[0,1,0,1],
[1,0,1,1],
[0,1,0,1],
[1,1,1,0]
],
[
["titre-gauche","Graphe par defaut (non oriente, non pondere)"]
]
\end{pro-graphedessin}

On obtient :

graphe2-2.jpg


NB : le code source correspondant est enregistré dans le fichier :

nomfichier_graphedessin i.mp, la valeur i étant donnée en argument.

pro-greuler


Cet environnement sert à construire le tableau des degrés des sommets ainsi que l’application des théorèmes d’Euler.

\begin{pro-greuler}{1}
["A","B","C","D"],
[
[0,1,0,1],
[1,0,1,1],
[0,1,0,1],
[1,1,1,0]
]
\end{pro-greuler}

On obtient :

greuler.jpg


NB : le code source correspondant est enregistré dans le fichier :

nomfichier_greuler i.tex, la valeur i étant donnée en argument.

Exemple de graphe coloré


\begin{pro-graphedessin}{2}
["A","B","C","D"],
[
[0,1,0,1],
[1,0,1,1],
[0,1,0,1],
[1,1,1,0]
],
[
["titre-gauche","Graphe colorie"],
["graphe-colorie",["rouge","jaune","rouge","bleu"]]
]
\end{pro-graphedessin}

On obtient :

graphe3-2.jpg

Exemple de graphe pondéré


\begin{pro-graphedessin}{3}
["A","B","C","D","E","G","F"],
[
[0,5,7,0,0,0,0],
[5,0,0,8,15,6,0],
[7,0,0,10,15,0,0],
[0,8,10,0,0,10,20],
[0,15,15,0,0,0,5],
[0,6,0,10,0,0,0],
[0,0,0,20,5,0,0]
],
[
["titre-gauche","Graphe pondere"],
["type-graphe",["pondere"]]
]
\end{pro-graphedessin}

On obtient :

graphe4-2.jpg

pro-dijkstra


Cet environnement sert à construire le tableau correspondant à l’application de l’algorithme de Dijkstra.

\begin{pro-dijkstra}{1}
["A","B","C","D","E","G","F"],
[
[0,5,7,0,0,0,0],
[5,0,0,8,15,6,0],
[7,0,0,10,15,0,0],
[0,8,10,0,0,10,20],
[0,15,15,0,0,0,5],
[0,6,0,10,0,0,0],
[0,0,0,20,5,0,0]
]
\end{pro-dijkstra}

On obtient :

diljkstra.jpg


NB : le code source correspondant est enregistré dans le fichier :

nomfichier_dijkstra i.tex, la valeur i étant donnée en argument.

Exemple de graphe orienté


\begin{pro-graphedessin}{4}
["A","B","C","D","E"],
[
[1,1,0,1,0],
[0,1,1,1,1],
[0,1,1,0,0],
[1,1,0,1,1],
[1,0,0,1,1]
],
[
["titre-gauche","Graphe oriente"],
["type-graphe",["oriente"]]
]
\end{pro-graphedessin}

On obtient :

graphe5-2.jpg

Exemple de graphe orienté pondéré


\begin{pro-graphedessin}{5}
["A","B","C","D","E","F"],
[
[2,1,0,2,0,3],
[0,0,0,3,1,0],
[0,5,0,0,0,1],
[0,1,0,0,7,0],
[6,1,0,3,1,0],
[4,0,0,2,0,0]
],
[
["titre-gauche","Graphe oriente pondere"],
["type-graphe",["oriente","pondere"]]
]
\end{pro-graphedessin}

On obtient :

graphe6-2.jpg

Repositionnement des nœuds


Dans l’exemple suivant, les nœuds du graphe sont mal placés :

\begin{pro-graphedessin}{6}
["A","B","C","D","E","F"],
[
[0,0,0,0,4,0],
[2,0,0,0,0,3],
[0,9,0,2,0,6],
[9,0,2,0,0,3],
[0,0,0,4,0,0],
[6,3,6,0,0,0]
],
[
["titre-gauche","Graphe oriente pondere"],
["type-graphe",["oriente","pondere"]]
]
\end{pro-graphedessin}

On obtient :

graphe7.jpg

On peut alors rajouter l’option de positionnement pour améliorer le dessin :

\begin{pro-graphedessin}{7}
["A","B","C","D","E","F"],
[
[0,0,0,0,4,0],
[2,0,0,0,0,3],
[0,9,0,2,0,6],
[9,0,2,0,0,3],
[0,0,0,4,0,0],
[6,3,6,0,0,0]
],
[
["titre-gauche","Graphe oriente pondere"],
["type-graphe",["oriente","pondere"]],
["position-noeuds",[[-1,2],[4,3],[4,-2],[0,-3],[-3,-1],[2,0]]]
]
\end{pro-graphedessin}

On obtient :

graphe8.jpg

Echelle des graphes


On pourra modifier l’échelle d’un graphe en ajoutant l’option “echelle” comme dans l’exemple suivant :

["echelle",0.75]