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"], // sommets
//----------------- debut matrice
[
["$@dfrac{1}{4}$","$@dfrac{3}{4}$"],
["$@dfrac{7}{9}$","$@dfrac{2}{9}$"]
],
//----------------- fin matrice
// -------------------------------- debut des options
[
["titre-gauche","Graphe probabiliste"]
]
// -------------------------------- fin des options
\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"], // nom
//----------------- debut matrice
[
[1,2,3],
[4,5,6],
[7,8,9]
]
//----------------- fin matrice
\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"], // nom
//----------------- debut matrice
[
[1,2,3],
[4,5,6],
[7,8,9]
],
//----------------- fin matrice
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"], // sommets
//----------------- debut matrice
[
[0,1,0,1],
[1,0,1,1],
[0,1,0,1],
[1,1,1,0]
],
//----------------- fin matrice
// -------------------------------- debut des options
[
["titre-gauche","Graphe par defaut (non oriente, non pondere)"]
]
// -------------------------------- fin des options
\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"], // sommets
//----------------- debut matrice
[
[0,1,0,1],
[1,0,1,1],
[0,1,0,1],
[1,1,1,0]
]
//----------------- fin matrice
\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"], // sommets
//----------------- debut matrice
[
[0,1,0,1],
[1,0,1,1],
[0,1,0,1],
[1,1,1,0]
],
//----------------- fin matrice
// -------------------------------- debut des options
[
["titre-gauche","Graphe colorie"],
["graphe-colorie",["rouge","jaune","rouge","bleu"]]
]
// -------------------------------- fin des options
\end{pro-graphedessin}

On obtient :

graphe3-2.jpg

Exemple de graphe pondéré


\begin{pro-graphedessin}{3}
["A","B","C","D","E","G","F"], // sommets
//----------------- debut matrice
[
[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]
],
//----------------- fin matrice
// -------------------------------- debut des options
[
["titre-gauche","Graphe pondere"],
["type-graphe",["pondere"]]
]
// -------------------------------- fin des options
\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"], // sommets
//----------------- debut matrice
[
[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]
]
//----------------- fin matrice
\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"], // sommets
//----------------- debut matrice
[
[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]
],
//----------------- fin matrice
// -------------------------------- debut des options
[
["titre-gauche","Graphe oriente"],
["type-graphe",["oriente"]]
]
// -------------------------------- fin des options
\end{pro-graphedessin}

On obtient :

graphe5-2.jpg

Exemple de graphe orienté pondéré


\begin{pro-graphedessin}{5}
["A","B","C","D","E","F"], // sommets
//----------------- debut matrice
[
[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]
],
//----------------- fin matrice
// -------------------------------- debut des options
[
["titre-gauche","Graphe oriente pondere"],
["type-graphe",["oriente","pondere"]]
]
// -------------------------------- fin des options
\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"], // sommets
//----------------- debut matrice
[
[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]
],//----------------- fin matrice
// -------------------------------- debut des options
[
["titre-gauche","Graphe oriente pondere"],
["type-graphe",["oriente","pondere"]]
]
// -------------------------------- fin des options
\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"], // sommets
//----------------- debut matrice
[
[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]
],
//----------------- fin matrice
// -------------------------------- debut des options
[
["titre-gauche","Graphe oriente pondere"],
["type-graphe",["oriente","pondere"]],
["position-noeuds",[[-1,2],[4,3],[4,-2],[0,-3],[-3,-1],[2,0]]]
]
// -------------------------------- fin des options
\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]


Niveau supérieur : Les paquets de Professor.sty