Calcul De La “Kevin Bacon” Numéros

J'ai été jouer avec certaines choses et de la pensée, de l'idée d'essayer de comprendre Kevin Bacon numéros. J'ai des données pour un site qui pour cet effet, nous pouvons considérer un réseau social. Faisons semblant de croire que c'est Facebook (pour la simplification de la discussion). J'ai des gens et j'ai une liste de leurs amis, j'ai donc les connexions entre eux. Comment puis-je calculer la distance d'une personne à une autre (en gros, un Kevin Bacon nombre)?

Ma meilleure idée est un Bidirectionnel de recherche, avec une limite de profondeur (pour limiter la complexité de calcul et d'éviter le problème des personnes qui ne peuvent tout simplement pas être connecté sur le graphique), mais je me rends compte c'est plutôt la force brute.

Pourrait-il être mieux à faire peu de sous-graphes (dire quelque chose d'équivalent à des groupes sur Facebook), calculer les distances les plus courtes entre eux (à l'avance, peut-être) et puis essayez d'utiliser CELLES à trouver un lien? Tout cela nécessite des pré-calcul, il pourrait rendre possible la recherche de la diminution du nombre de nœuds (nœuds pourraient être des groupes plutôt que des individus, rendant le graphique beaucoup plus petit). Ce serait encore une bidirectionnel de recherche.

Je pourrais aussi pré-calculer le nombre de personnes d'un individu est connecté, la recherche de nœuds pour les "populaires" les gens d'abord, car ils pourraient avoir le plus de chance de se connecter à la destination de l'individu. Je me rends compte ce serait un compromis de vitesse pour le chemin le plus court possible. J'avais pense que je voudrais aussi souhaitez utiliser une profondeur d'abord de recherche au lieu de la largeur de la première recherche que j'avais l'intention d'utiliser dans les autres cas.

Quelqu'un peut penser à un système plus simple, plus rapide façon de faire cela? Je voudrais être en mesure de trouver la longueur la plus courte entre deux personnes, de sorte qu'il n'est pas aussi facile que d'avoir toujours le même point de fin (comme dans le Kevin Bacon problème).

Je me rends compte qu'il y a des problèmes comme j'ai pu obtenir des chaînes de 200 personnes et tels, mais qui peut être résolu mon avoir une limite à la profondeur, je suis prêt à rechercher.

BTW, puisque ce n'est pas à propos de films, il n'y a aucune raison de l'appeler un Kevin Bacon nombre plutôt que le plus familier (pour certains ;-)) Erdős nombre: en.wikipedia.org/wiki/Erdos_number
J'ai vu qu'à terme tout en faisant un peu de recherche, mais en l'appelant un Kevin Bacon nombre tout le monde sait instantanément de quoi je parle. J'ai pensé que se serait abattu sur l'expliquant.
"degrés de séparation" prennent un sens

OriginalL'auteur MBCook | 2009-03-23