Création d'une matrice d'adjacence à partir d'un graphe
Fermé
medfiras01
Messages postés
3
Date d'inscription
mardi 15 août 2017
Statut
Membre
Dernière intervention
15 août 2017
-
Modifié le 15 août 2017 à 16:44
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 15 août 2017 à 23:04
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 15 août 2017 à 23:04
A voir également:
- Création d'une matrice d'adjacence à partir d'un graphe
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Creation compte gmail - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
15 août 2017 à 18:56
15 août 2017 à 18:56
Bonjour,
Ci-dessous un exemple de fichier GraphML
Pour représenter un tel graphe il te faut une matrice de taille 2 (car il y a 2 noeuds : n0 et n1), toutes les valeurs de la matrice sont 0, sauf pour représenter l'arrête e1 (entre n0 et n1) où l'on place une valeur 1.
Remarque : la définition
Et des cas particuliers il y en a un certain nombre à gérer avec le format GraphML qui autorise par exemple des sous-graphe, des hypergraphes, etc.
Cela rend le fichier XML plus difficile à analyser de manière exhaustive, mais tu peux aussi te limiter aux usages les plus basiques selon le besoin.
Ci-dessous un exemple de fichier GraphML
<?xml version="1.0" encoding="UTF-8"?> <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> <graph id="G" edgedefault="undirected"> <node id="n0"/> <node id="n1"/> <edge id="e1" source="n0" target="n1"/> </graph> </graphml>
Pour représenter un tel graphe il te faut une matrice de taille 2 (car il y a 2 noeuds : n0 et n1), toutes les valeurs de la matrice sont 0, sauf pour représenter l'arrête e1 (entre n0 et n1) où l'on place une valeur 1.
Remarque : la définition
<graph id="G" edgedefault="undirected">indique que l'on est dans le cas particulier d'un graphe non-orienté, donc par symétrie il faudra aussi mettre une valeur 1 entre n1 et n0.
Et des cas particuliers il y en a un certain nombre à gérer avec le format GraphML qui autorise par exemple des sous-graphe, des hypergraphes, etc.
Cela rend le fichier XML plus difficile à analyser de manière exhaustive, mais tu peux aussi te limiter aux usages les plus basiques selon le besoin.
15 août 2017 à 21:54
Modifié le 15 août 2017 à 22:56
15 août 2017 à 23:04
pour savoir que c'est un graphe orienté (mais si c'est toujours le cas dans gephi on pourrait même s'en passer)
qui permet de connaître la taille de ta matrice, dans l'exemple tu as 24 nœuds, donc une matrice 24 lignes et 24 colonnes.
qui permet de savoir où tu dois mettre les 1 dans ta matrice (ici ligne 0, colonne 1).
Donc tu n'as qu'à lire le fichier ligne par ligne, créer ta matrice dès que tu connais sa taille et la remplir au fur et à mesure...