je cherche à manipuler des graphs (au sens mathematiques, avec nŠud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conserver non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
Avez vous une idée ?
je cherche à manipuler des graphs (au sens mathematiques, avec nŠud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conserver non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
Avez vous une idée ?
je cherche à manipuler des graphs (au sens mathematiques, avec nŠud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conserver non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
Avez vous une idée ?
Maïeul writes:je cherche à manipuler des graphs (au sens mathematiques, avec nœud et
relations).
On dit aussi sommets et arcs/arêtes (les arcs ont des flêches, donc sont
orientés).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
Jamais essayé.J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conserver non orientés.
Il faut faire attention aux mélanges. La plupart des algorithmes
traitent l'un ou l'autre, mais pas les deux. Cela dit, on peut souvent
représenter une arête {a,b} (non orientée) par deux arcs (a,b) et (b,a).
- qualifier les relations (par exemple en terme de degré)
Pas compris. Tu veux des relations non-binaires (donc des hypergraphes)
ou bien tu veux des "labels" sur les arcs ?
- exporter en TikZ
(Au passage il me semblait que dot/graphivz est maintenant capable
d'exporter en TikZ -- après rapide vérification cela ne semble pas être
le cas mais il y a toujours dot2tex. Je mentionne cela parce que si le
but est dessiner des graphes, graphviz est quasiment imbattable).
Avez vous une idée ?
J'ai fait cela plusieurs fois, mais la structure précise dépend de ce
que tu vas faire avec. Voici quelques variantes :
- une simple liste de couples (sachant que les sommets sont identifiés
par les N premiers entiers) [ (sommet,sommet) ]
- un dictionnaire { sommet : [sommet] }
- un dictionnaire { (sommet,sommet) : label }
- une classe de sommets contenant une liste de successeurs
Sommet([sommet]), et/ou de prédecesseurs (des dict si il y a des
labels)
- ...
Théoriquement, il y a des contraintes de complexité (par exemple avec
{ sommet : [sommet] } chaque accès aux successeurs coûte quelque chose).
Dans la pratique il faut vraiment avoir des gros graphes (ou faire de
gros traitements) pour que ce soit sensible.
-- Alain.
Maïeul <maieul@maieul.net> writes:
je cherche à manipuler des graphs (au sens mathematiques, avec nœud et
relations).
On dit aussi sommets et arcs/arêtes (les arcs ont des flêches, donc sont
orientés).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
Jamais essayé.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conserver non orientés.
Il faut faire attention aux mélanges. La plupart des algorithmes
traitent l'un ou l'autre, mais pas les deux. Cela dit, on peut souvent
représenter une arête {a,b} (non orientée) par deux arcs (a,b) et (b,a).
- qualifier les relations (par exemple en terme de degré)
Pas compris. Tu veux des relations non-binaires (donc des hypergraphes)
ou bien tu veux des "labels" sur les arcs ?
- exporter en TikZ
(Au passage il me semblait que dot/graphivz est maintenant capable
d'exporter en TikZ -- après rapide vérification cela ne semble pas être
le cas mais il y a toujours dot2tex. Je mentionne cela parce que si le
but est dessiner des graphes, graphviz est quasiment imbattable).
Avez vous une idée ?
J'ai fait cela plusieurs fois, mais la structure précise dépend de ce
que tu vas faire avec. Voici quelques variantes :
- une simple liste de couples (sachant que les sommets sont identifiés
par les N premiers entiers) [ (sommet,sommet) ]
- un dictionnaire { sommet : [sommet] }
- un dictionnaire { (sommet,sommet) : label }
- une classe de sommets contenant une liste de successeurs
Sommet([sommet]), et/ou de prédecesseurs (des dict si il y a des
labels)
- ...
Théoriquement, il y a des contraintes de complexité (par exemple avec
{ sommet : [sommet] } chaque accès aux successeurs coûte quelque chose).
Dans la pratique il faut vraiment avoir des gros graphes (ou faire de
gros traitements) pour que ce soit sensible.
-- Alain.
Maïeul writes:je cherche à manipuler des graphs (au sens mathematiques, avec nœud et
relations).
On dit aussi sommets et arcs/arêtes (les arcs ont des flêches, donc sont
orientés).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
Jamais essayé.J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conserver non orientés.
Il faut faire attention aux mélanges. La plupart des algorithmes
traitent l'un ou l'autre, mais pas les deux. Cela dit, on peut souvent
représenter une arête {a,b} (non orientée) par deux arcs (a,b) et (b,a).
- qualifier les relations (par exemple en terme de degré)
Pas compris. Tu veux des relations non-binaires (donc des hypergraphes)
ou bien tu veux des "labels" sur les arcs ?
- exporter en TikZ
(Au passage il me semblait que dot/graphivz est maintenant capable
d'exporter en TikZ -- après rapide vérification cela ne semble pas être
le cas mais il y a toujours dot2tex. Je mentionne cela parce que si le
but est dessiner des graphes, graphviz est quasiment imbattable).
Avez vous une idée ?
J'ai fait cela plusieurs fois, mais la structure précise dépend de ce
que tu vas faire avec. Voici quelques variantes :
- une simple liste de couples (sachant que les sommets sont identifiés
par les N premiers entiers) [ (sommet,sommet) ]
- un dictionnaire { sommet : [sommet] }
- un dictionnaire { (sommet,sommet) : label }
- une classe de sommets contenant une liste de successeurs
Sommet([sommet]), et/ou de prédecesseurs (des dict si il y a des
labels)
- ...
Théoriquement, il y a des contraintes de complexité (par exemple avec
{ sommet : [sommet] } chaque accès aux successeurs coûte quelque chose).
Dans la pratique il faut vraiment avoir des gros graphes (ou faire de
gros traitements) pour que ce soit sensible.
-- Alain.
[...] approximations
En fait je travaillerais d'abord avec des arêtes non orientés, puis je
les orienterais.
Des labels. Je souhaiterais par exemple dire que des relations soit
"primaire" et d'autres "secondaires".
effectivement graphivz est un outils très puissant. Le but est de
dessiner le graph à la fin et de l'intégrer dans ma thèse, qui est
écrit en LaTeX. D'ou Tikz.
a priori j'aurais moins d'une centaine de sommet.
[...] approximations
En fait je travaillerais d'abord avec des arêtes non orientés, puis je
les orienterais.
Des labels. Je souhaiterais par exemple dire que des relations soit
"primaire" et d'autres "secondaires".
effectivement graphivz est un outils très puissant. Le but est de
dessiner le graph à la fin et de l'intégrer dans ma thèse, qui est
écrit en LaTeX. D'ou Tikz.
a priori j'aurais moins d'une centaine de sommet.
[...] approximations
En fait je travaillerais d'abord avec des arêtes non orientés, puis je
les orienterais.
Des labels. Je souhaiterais par exemple dire que des relations soit
"primaire" et d'autres "secondaires".
effectivement graphivz est un outils très puissant. Le but est de
dessiner le graph à la fin et de l'intégrer dans ma thèse, qui est
écrit en LaTeX. D'ou Tikz.
a priori j'aurais moins d'une centaine de sommet.
Maïeul writes:[...] approximations
Aucun problème.
[...]En fait je travaillerais d'abord avec des arêtes non orientés, puis je
les orienterais.
Je te conseille de faire une structure spécifique, avec deux ensembles,
un d'arcs et un d'arêtes. Ensuite tu peux écrire tes traitements.
Cela dit, as-tu vraiment besoin de python ? (Pour autre chose que la
génération de TikZ, j'entends.)
[...]Des labels. Je souhaiterais par exemple dire que des relations soit
"primaire" et d'autres "secondaires".
OK.
[...]effectivement graphivz est un outils très puissant. Le but est de
dessiner le graph à la fin et de l'intégrer dans ma thèse, qui est
écrit en LaTeX. D'ou Tikz.
La difficulté de ce genre d'exercice, c'est le placement des sommets. Si
tu as une structure très régulière, alors cela vaut peut-être le coup de
placer "à la main". Sinon, graphviz est vraiment très bien.
Je me souviens même avoir un jour utilisé un script awk pour transformer
le format "plain" de graphviz en PSTricks. Ca marchait bien, et c'est
aussi simple que possible.
[...]a priori j'aurais moins d'une centaine de sommet.
Alors, mon conseil est d'utiliser la structure qui te semble la plus
simple.
-- Alain.
Maïeul <maieul@maieul.net> writes:
[...] approximations
Aucun problème.
[...]
En fait je travaillerais d'abord avec des arêtes non orientés, puis je
les orienterais.
Je te conseille de faire une structure spécifique, avec deux ensembles,
un d'arcs et un d'arêtes. Ensuite tu peux écrire tes traitements.
Cela dit, as-tu vraiment besoin de python ? (Pour autre chose que la
génération de TikZ, j'entends.)
[...]
Des labels. Je souhaiterais par exemple dire que des relations soit
"primaire" et d'autres "secondaires".
OK.
[...]
effectivement graphivz est un outils très puissant. Le but est de
dessiner le graph à la fin et de l'intégrer dans ma thèse, qui est
écrit en LaTeX. D'ou Tikz.
La difficulté de ce genre d'exercice, c'est le placement des sommets. Si
tu as une structure très régulière, alors cela vaut peut-être le coup de
placer "à la main". Sinon, graphviz est vraiment très bien.
Je me souviens même avoir un jour utilisé un script awk pour transformer
le format "plain" de graphviz en PSTricks. Ca marchait bien, et c'est
aussi simple que possible.
[...]
a priori j'aurais moins d'une centaine de sommet.
Alors, mon conseil est d'utiliser la structure qui te semble la plus
simple.
-- Alain.
Maïeul writes:[...] approximations
Aucun problème.
[...]En fait je travaillerais d'abord avec des arêtes non orientés, puis je
les orienterais.
Je te conseille de faire une structure spécifique, avec deux ensembles,
un d'arcs et un d'arêtes. Ensuite tu peux écrire tes traitements.
Cela dit, as-tu vraiment besoin de python ? (Pour autre chose que la
génération de TikZ, j'entends.)
[...]Des labels. Je souhaiterais par exemple dire que des relations soit
"primaire" et d'autres "secondaires".
OK.
[...]effectivement graphivz est un outils très puissant. Le but est de
dessiner le graph à la fin et de l'intégrer dans ma thèse, qui est
écrit en LaTeX. D'ou Tikz.
La difficulté de ce genre d'exercice, c'est le placement des sommets. Si
tu as une structure très régulière, alors cela vaut peut-être le coup de
placer "à la main". Sinon, graphviz est vraiment très bien.
Je me souviens même avoir un jour utilisé un script awk pour transformer
le format "plain" de graphviz en PSTricks. Ca marchait bien, et c'est
aussi simple que possible.
[...]a priori j'aurais moins d'une centaine de sommet.
Alors, mon conseil est d'utiliser la structure qui te semble la plus
simple.
-- Alain.
je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
Bonsoir,
* Maïeul in fr.comp.lang.python:je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
Alain a déjà donné quelques éléments, je vais essayer de compléter
puisque j'ai quelques connaissances en théorie des graphes, en Python et
en (La)TeX et outils connexes (dont TikZ). Je vais tenter de ne pas trop
m'étendre, et on pourra approfondir des points précis par la suite si
besoin...
Bonsoir,
* Maïeul <maieul@maieul.net> in fr.comp.lang.python:
je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).
Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.
J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
Alain a déjà donné quelques éléments, je vais essayer de compléter
puisque j'ai quelques connaissances en théorie des graphes, en Python et
en (La)TeX et outils connexes (dont TikZ). Je vais tenter de ne pas trop
m'étendre, et on pourra approfondir des points précis par la suite si
besoin...
Bonsoir,
* Maïeul in fr.comp.lang.python:je cherche à manipuler des graphs (au sens mathematiques, avec n½ud et
relations).Sur http://wiki.python.org/moin/PythonGraphApi il y a bcp de chose, et
j'hésite. Y-t-il des gens qui ont utiliés l'un ou l'autre pour me
conseiller.J'ai besoin de :
- orienter les relations (A->B n'est pas B->A), mais en pouvant les
conservé non orientés.
- qualifier les relations (par exemple en terme de degré)
- exporter en TikZ
Alain a déjà donné quelques éléments, je vais essayer de compléter
puisque j'ai quelques connaissances en théorie des graphes, en Python et
en (La)TeX et outils connexes (dont TikZ). Je vais tenter de ne pas trop
m'étendre, et on pourra approfondir des points précis par la suite si
besoin...