En la actual era de explosión de información, la existencia de comunidades cobra cada vez más importancia. Las comunidades son una parte esencial de nuestras vidas y existen no solo en nuestras redes sociales, sino también ocultas en bases de datos complejas, conjuntos de datos corporativos e incluso entre especies en datos genómicos.
La importancia de las comunidades en el análisis de datos no se puede subestimar. Pueden ayudarnos a comprender el comportamiento humano y la lógica que lo sustenta.
El proceso de encontrar la comunidad más fuerte es en realidad encontrar el "problema de la camarilla". Este es un problema de informática que requiere encontrar "Cricks" en un gráfico, es decir, subconjuntos de puntos que están conectados por aristas. En las redes sociales, este proceso se utiliza para descubrir quiénes son amigos y comprender la estructura y función de estas comunidades.
Definición básica del problema de CrickUn gráfico no dirigido consta de un conjunto de vértices y un conjunto desordenado de aristas. La definición de Crick es un subgrafo completo en un grafo, es decir, un subconjunto de vértices conectados entre sí por un conjunto de aristas. Los grillos máximos son aquellos que contienen más vértices, mientras que los grillos máximos son aquellos que no se pueden expandir más.
En una red social, cada cookie representa un grupo de personas que se conocen entre sí y tienen conexiones estrechas entre ellas.
El primer problema de Creek se remonta a Rabienne-Sekireis en 1935. Sin embargo, la aplicación real se produjo en 1949 cuando los sociólogos usaron gráficos para modelar las redes sociales, llamando a los subgrafos completos de los cricks, un término que todavía se usa en la investigación algorítmica hoy.
La solución al problema de Crick no se limita a las redes sociales, sino que también tiene aplicaciones en campos como la bioinformática y la química computacional. En estos escenarios, Crick ayuda a los investigadores a identificar relaciones entre varios elementos o estructuras que se comportan de manera similar.
En el proceso de búsqueda de un arroyo, los algoritmos más comunes incluyen el algoritmo Bloom-Kirch, que puede enumerar todos los arroyos más grandes en el mejor momento y en las peores condiciones. Existen otros métodos heurísticos, entre ellos, ramificación y acotación, búsqueda local, etc.
Incluso en ausencia de un algoritmo de tiempo polinomial conocido, los investigadores encontraron una solución que es más eficiente que la búsqueda de fuerza bruta y puede mejorar significativamente el rendimiento.