Compte tenu:Trouver des sous-graphes égaux
- un graphe orienté
- nœuds ont des étiquettes
- la même étiquette peuvent apparaître plus d'une fois
- bords ne sont pas des étiquettes
I vouloir trouver l'ensemble des sous-graphes les plus importants (connectés) qui prennent en compte les étiquettes des nœuds.
Le graphique pourrait être énorme (des millions de nœuds) quelqu'un connaît-il une solution efficace pour cela?
Je cherche un algorithme et idéalement une implémentation Java.
Mise à jour: Puisque ce problème est très probablement NP-complet. Je serais également intéressé par un algorithme qui produit une solution approchée.
Cela semble être proche au moins: Frequent Subgraphs
Peut-être que c'est juste moi, mais je n'ai pas compris le problème. Que voulez-vous dire par "égal"? Il existe une fonction bijective f: Node_subgraph_A -> Node_subgraph_B de sorte que, pour chaque nœud a dans A: f (a) = b ssi label_a == label_b^(pour chaque x dans out_degree (a), f (x) \ dans out_degree (b))? – akappa
Oui, je pense que c'est ça. Je veux trouver des sous-graphes "redondants". A la fin, le graphe serait divisé en ensembles de sous-graphes "égaux". – kohlerm