SlideShare una empresa de Scribd logo
Detecci´on de comunidades
B´uqueda del Clique con la mayor Interconectividad en un Grafo
utilizando Optimizaci´on basado en Colonia de Hormigas
Rodrigo L´opez Far´ıas1
Juan J. Flores 2
14 de octubre de 2016
Universidad Michoacana de San Nicol´as de Hidalgo
1
Centro de Informaci´on y C´omputo
rdglpz@gmail.com
2
Posgrado de Ingenier´ıa El´ectrica
juanfie@umich.mx
Tabla de Contenidos
1. Introducci´on
2. Los Cliques en los Grafos
3. Algoritmo para la detecci´on de un clique
4. Optimizaci´on por colonia de Hormigas
5. Experimentos y Resultados
1/23
Introducci´on
Introducci´on
• El problema de b´usqueda del clique tiene muchas aplicaciones como
por ejemplo: bioinform´atica, b´usqueda de estructuras y redes en
qu´ımica computacional, y detecci´on de comunidades redes sociales.
Figura 1: Ejemplo de una red compleja
2/23
Introducci´on
• Los algoritmos tradicionales enfrentan el obst´aculo del alto costo
computacional, y no escalabilidad para la b´usqueda de ciertas
estructuras en grafos [5].
• El uso de heur´ısticas como Optimizaci´on basada en Colonia de
Hormigas (OCH) son adecuados para resolver de manera aproximada
este problema.
• OCH Ha demostrado en la pr´actica su capacidad para resolver
problemas NP-Completos y NP-Duros presentes en grafos como la
b´usqueda del camino m´as corto, el problema del viajero y b´usqueda
de comunidades.
3/23
Introducci´on
Que es OCH?
• Es una metaheuristica que aproxima la soluci´on.
• Es bio-inspirada, propuesta por Dorigo et al 1991.
• Se basa en la imitaci´on del comportamiento de las hormigas.
• Las hormigas sirven a su comunidad llevando comida.
• El uso de las feromonas como transmisi´on de conocimiento son de
gran utilidad para su sobrevivencia.
• Estas feromonas son depositadas a lo largo del camino de la hormiga.
• Sirven a la hormiga para seleccionar aquel que fu´e recorrido
recientemente.
4/23
Puntos clave
• Que es un clique?.
• C´omo se detecta un clique.
• C´omo se mide la optimalidad o calidad de un clique.
• Principio de Optimizaci´on con Colonia de Hormigas.
• Feromonas como componente de aprendizaje.
5/23
Los Cliques en los Grafos
Grafos y Clique
Los cliques ”viven”dentro de los grafos los cuales son definidos como:.
Definition
Grafo: Es un par ordenado G = (V , E) donde:
• V es un conjunto de v´ertices
• Eij ∈ E Son el conjunto de aristas que relacionan el nodo i con el
nodo j.
• En caso de los grafos con pesos: cij es el costo o peso de traslado de
un v´ertice i a un vertice j.
Definition
Clique
Es un sub-grafo completo no dirigido G con un conjunto de V v´ertices
los cuales todos est´an conectados entre s´ı.
6/23
Ejemplo: Soluci´on del Clique Ck mas grande de un grafo no
dirigido
Ck es el clique k que contiene |Ck | elementos, En este caso el clique con
los v´ertices de color rojo es definido por Ck = {v5, v1, v2} donde el
tama˜no de la comunidad es la cardinalidad |Ck | = 3
Figura 2: Clique
7/23
Soluci´on del Clique de tama˜no 3 con la suma de pesos m´axima
Ck es el clique k que ademas de contener el n´umero m´aximo de nodos,
tambi´en es el mayor interconectado de todos,
• c1 = {vg , vb, vg }, Suma de pesos 13
• c2 = {vb, ve, vf }, Suma de pesos 13
• c3 = {vf , ve, vd }, Suma de pesos 103
• c4 = {vc , ve, vd }, Suma de pesos 220
Suma de pesos (Mas
adelante se utiliza como la
funci´on de aptitud o
(Fitness))
(|Ck |−1)
j=1
|Ck |
j=i+1
cij vi vj
2010
100
100
4 3
2
c
eba
g
8/23
El problema se va haciendo intratable
El problema se vuelve mas complicado con solo 10 nodos si se trata de
un grafo completo.
9/23
Algoritmo para la detecci´on de
un clique
Algoritmo para la detecci´on de un clique
10/23
Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
11/23
Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
11/23
Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
11/23
Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
• Se selecciona un v´ertice de candidatos al azar,
en este caso v5 y se guarda en Ck = {v1, v5}.
11/23
Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
• Se selecciona un v´ertice de candidatos al azar,
en este caso v5 y se guarda en Ck = {v1, v5}.
• Se guardan los nodos adyacentes del nodo
candidato seleccionado v5. ({v1, v2})
11/23
Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
• Se selecciona un v´ertice de candidatos al azar,
en este caso v5 y se guarda en Ck = {v1, v5}.
• Se guardan los nodos adyacentes del nodo
candidato seleccionado v5. ({v1, v2})
• Se actualiza
Candidatos = (v2) = Candidatos ∩ {v1, v2}
11/23
Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
• Se selecciona un v´ertice de candidatos al azar,
en este caso v5 y se guarda en Ck = {v1, v5}.
• Se guardan los nodos adyacentes del nodo
candidato seleccionado v5. ({v1, v2})
• Se actualiza
Candidatos = (v2) = Candidatos ∩ {v1, v2}
• Se repite la operaci´on hasta que
Candidatos = {}
11/23
Optimizaci´on por colonia de
Hormigas
Soluci´on: Optimizaci´on por colonia de Hormigas
Comportamiento natural de la colonia de hormigas.
Gracias a la feromona y su volatilidad, las hormigas tienden a encontrar
caminos eficientes.
12/23
Comportamiento Natural de las hormigas
Este comportamiento es ´util para encontrar soluciones en grafos para
diversos problemas cl´asicos como el camino mas corto entre dos puntos
donde la funci´on objetivo es la suma de los pesos de los aristas recorridos.
Las feromonas se distribuyen a lo largo del grafo seg´un la calidad de la
soluci´on.
13/23
Algoritmo B´asico OCH
1. Inicializa el grafo asignando cero feromona en todos los aristas.
2. Repetir
3. Situar cada hormiga en un v´ertice de manera aleatoria.
4. Para cada hormiga, generar una soluci´on tomando caminos con
probabilidad seg´un la cantidad de feromona.
5. Evaluar cada soluci´on acorde a la funci´on objetivo.
6. Depositar feromona en los nodos/aristas seg´un a la calidad de la
soluci´on.
7. Evaporizar feromona y actualizar.
8. Actualizar BestFitness con la mejor soluci´on hasta el momento.
9. Fin Repetir
14/23
Feromona como componente de aprendizaje
Si la hormiga se encuentra en un v´ertice vj , la probabilidad de seleccionar
la ruta a vi es:
p(vi ) =
τα
i
vj ∈Candidatos τα
j
donde τ es la feromona depositada en v´ertice i, α es un par´ametro que
pondera exponencialmente los factores de la feromona,
15/23
Actualizaci´on de las feromonas
Los rastros de feromona se actualizan en dos pasos:
(a): La feromona se refuerza inversamente proporcional a la diferencia de
la mejor soluci´on y la soluci´on encontrada.
τi = τi +
1
1 + (BestFitness − Fitness(Ck ))K
(b): La persistencia/evaporaci´on de la feromona est´a dada por
τi = τi ∗ ρ
D´onde 0 < ρ < 1
16/23
Actualizaci´on de las feromonas (a)
Con la constante K > 1 se regula la penalizaci´on a las malas soluciones.
Figura 5: Efecto constante K
17/23
Funci´on objetivo
Sea Ck = (V , E ) un sub-grafo completo el cual la suma de sus aristas
esta dada por
Fitness(Ck ) =
(|Ck |−1)
j=1
|Ck |
j=i+1
cij vi vj
donde Ck es un clique o sub-grafo completo de tama˜no q = |Ck |, y cij
son los pesos que existen en las conexiones de vi a vj .
18/23
19/23
Experimentos y Resultados
Resultados
Experimentos.
La instancia para probar el algoritmo es un grafo completo G=(V,E) con
100 vertices, donde la suma de los v´ertices M´aximo Clique
Ck,optimo = {21, 22, 30, 40, 50, 60, 70, 80, 90, 99}, todos los dem´as aristas
no contenidas en Coptimo son asignados valores con una distribuci´on
aleatoria uniforme [0,29]. Los par´ametros de OCH son:
• Iteraciones = 500
• K = 20
• Q = 10
• α = 1
Se program´o en Python utilizando librer´ıas networkx (manejo de grafos) y
numpy (paquete n´umerico)
20/23
Resultados
Figura 6: Desempe˜no del algoritmo con diferentes valores en los par´ametros
21/23
Resultados
Figura 7: Gr´afico de convergencia para k = 20
22/23
Resultados
Figura 8: Gr´afico de convergencia para k = 30
23/23
Preguntas?
Interesados en las diapositivas o c´odigo.
Mandar email a rdglpz@gmail.com
23/23
References I
• C. Solnon and S. Fenet, A study of ACO capabilities for solving the
maximum clique problem, Journal of Heuristics, pp. 1 31, 2006.
• Solnon and D. Bridge, Chapter I An Ant Colony Optimization
Meta-Heuristic for Subset Selection Problems, pp. 1 23
• W. Dai, S. Liu, and S. Liang, An improved ant colony optimization
cluster algorithm based on swarm intelligence, Journal of Software,
vol.6 4, no. 4, pp. 299 306, 2009.
• M. Hinne and E. Marchiori, Cutting graphs using competing ant
colonies and an edge clustering heuristic, Evolutionary Computation
in Combinatorial Optimization 2011.
• S. Sadi, . Etaner-Uyar, and . G. U, COMMUNITY DE- TECTION
USING ANT COLONY OPTIMIZATION TECHNIQUES, Proc. Int.
Conf. Soft Computing, 2009.
References II
• B. Alidaee, F. Glover, G. Kochenberger, and H. Wang, Solving the
maximum edge weight clique problem via unconstrained quadratic
pro- gramming, European Journal of Operational Research, vol. 181,
no. 2, pp. 592 597, Sep. 2007.
• R. Battiti and M. Protasi. Reactive local search for the maximum
clique problem. Algorithmica, 29(4):610 637, 2001.
• A. Grosso, M. Locatelli, and F. Della Croce. Combining swaps and
node weights in an adaptive greedy approach for the maximum
clique problem. Journal of Heuristics, 10(2):135 152, 2004
• E. Marchiori. Genetic, iterated andmultistart local search for the
maxi- mum clique problem. In S. Cagnoni, J. Gottlieb, E. Hart, M.
Middendorf, and G.R. Raidl, editors, Applications of Evolutionary
Computing, Pro- ceedings of EvoWorkshops 2002: EvoCOP,
EvoIASP, EvoSTim, volume 2279 of lncs, pages 112 121.
Springer-Verlag, 2002

Más contenido relacionado

La actualidad más candente

20 programas
20 programas20 programas
20 programas
Karen Minns
 
Ejercicios propuestos
Ejercicios propuestosEjercicios propuestos
Ejercicios propuestos
Nery Davila
 
Zoom de una imagen
Zoom de una imagenZoom de una imagen
Zoom de una imagen
lmarchenac01
 
Lab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSLab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECS
Ing. Electrónica xD
 
clases y objetos
clases y objetosclases y objetos
clases y objetos
Iván Timekool
 
Electrónica digital: Ruta de datos multiplexores y demultiplexores
Electrónica digital: Ruta de datos multiplexores y demultiplexores Electrónica digital: Ruta de datos multiplexores y demultiplexores
Electrónica digital: Ruta de datos multiplexores y demultiplexores
SANTIAGO PABLO ALBERTO
 
Matriz Vector
Matriz VectorMatriz Vector
Matriz Vector
guest69d7a4
 
Ec360 tema04
Ec360 tema04Ec360 tema04
Leyes de los exponentes
Leyes de los exponentesLeyes de los exponentes
Leyes de los exponentes
tamazunchale2012
 
variables aleatorias (1)
 variables aleatorias (1) variables aleatorias (1)
variables aleatorias (1)
yulyedelmira
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
diegocastro1234
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Kiim Kerrigan
 
C sharp intro0
C sharp intro0C sharp intro0
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++
JoseGCordero
 
Manual.es
Manual.esManual.es
Problemas propuestos clase 0-1
Problemas propuestos  clase 0-1Problemas propuestos  clase 0-1
Problemas propuestos clase 0-1
Jefferson Prieto
 

La actualidad más candente (16)

20 programas
20 programas20 programas
20 programas
 
Ejercicios propuestos
Ejercicios propuestosEjercicios propuestos
Ejercicios propuestos
 
Zoom de una imagen
Zoom de una imagenZoom de una imagen
Zoom de una imagen
 
Lab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSLab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECS
 
clases y objetos
clases y objetosclases y objetos
clases y objetos
 
Electrónica digital: Ruta de datos multiplexores y demultiplexores
Electrónica digital: Ruta de datos multiplexores y demultiplexores Electrónica digital: Ruta de datos multiplexores y demultiplexores
Electrónica digital: Ruta de datos multiplexores y demultiplexores
 
Matriz Vector
Matriz VectorMatriz Vector
Matriz Vector
 
Ec360 tema04
Ec360 tema04Ec360 tema04
Ec360 tema04
 
Leyes de los exponentes
Leyes de los exponentesLeyes de los exponentes
Leyes de los exponentes
 
variables aleatorias (1)
 variables aleatorias (1) variables aleatorias (1)
variables aleatorias (1)
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++
 
Manual.es
Manual.esManual.es
Manual.es
 
Problemas propuestos clase 0-1
Problemas propuestos  clase 0-1Problemas propuestos  clase 0-1
Problemas propuestos clase 0-1
 

Destacado

New pop.pptx.pptx.pptx.pptx
New pop.pptx.pptx.pptx.pptxNew pop.pptx.pptx.pptx.pptx
New pop.pptx.pptx.pptx.pptx
Katherine Cortés
 
The Goal and The Journey - Turning back on one year of C++14 Migration
The Goal and The Journey - Turning back on one year of C++14 MigrationThe Goal and The Journey - Turning back on one year of C++14 Migration
The Goal and The Journey - Turning back on one year of C++14 Migration
Joel Falcou
 
Sports in the world
Sports in the world Sports in the world
Sports in the world
Imagininganeworld1
 
Designing C++ portable SIMD support
Designing C++ portable SIMD supportDesigning C++ portable SIMD support
Designing C++ portable SIMD support
Joel Falcou
 
Tesis de-albahaca-2016-2017
Tesis de-albahaca-2016-2017Tesis de-albahaca-2016-2017
Tesis de-albahaca-2016-2017
Gustavo Patricio Pazmiño Barcia
 
Reto3 - Creación de insignias
Reto3 - Creación de insigniasReto3 - Creación de insignias
Reto3 - Creación de insignias
Sabka RJ
 
ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)
ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)
ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)
Jose Gallegos
 
Elements of C++11
Elements of C++11Elements of C++11
Elements of C++11
Uilian Ries
 
DuPage County Presentation: Maya Angelou and Speech Writing
DuPage County Presentation: Maya Angelou and Speech WritingDuPage County Presentation: Maya Angelou and Speech Writing
DuPage County Presentation: Maya Angelou and Speech Writing
Amy Vujaklija
 
Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!
Atlassian
 

Destacado (10)

New pop.pptx.pptx.pptx.pptx
New pop.pptx.pptx.pptx.pptxNew pop.pptx.pptx.pptx.pptx
New pop.pptx.pptx.pptx.pptx
 
The Goal and The Journey - Turning back on one year of C++14 Migration
The Goal and The Journey - Turning back on one year of C++14 MigrationThe Goal and The Journey - Turning back on one year of C++14 Migration
The Goal and The Journey - Turning back on one year of C++14 Migration
 
Sports in the world
Sports in the world Sports in the world
Sports in the world
 
Designing C++ portable SIMD support
Designing C++ portable SIMD supportDesigning C++ portable SIMD support
Designing C++ portable SIMD support
 
Tesis de-albahaca-2016-2017
Tesis de-albahaca-2016-2017Tesis de-albahaca-2016-2017
Tesis de-albahaca-2016-2017
 
Reto3 - Creación de insignias
Reto3 - Creación de insigniasReto3 - Creación de insignias
Reto3 - Creación de insignias
 
ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)
ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)
ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)
 
Elements of C++11
Elements of C++11Elements of C++11
Elements of C++11
 
DuPage County Presentation: Maya Angelou and Speech Writing
DuPage County Presentation: Maya Angelou and Speech WritingDuPage County Presentation: Maya Angelou and Speech Writing
DuPage County Presentation: Maya Angelou and Speech Writing
 
Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!
 

Similar a Cecti rodrigo lopez - buqueda del clique

Mas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdfMas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdf
margothingrithllanca
 
Mas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdfMas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdf
margothingrithllanca
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
hack3 Org
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
Jose Luis Crespo
 
Solución de un problema eliptico elementos finitos matlab
Solución de un problema eliptico elementos finitos matlabSolución de un problema eliptico elementos finitos matlab
Solución de un problema eliptico elementos finitos matlab
Wilder Ramirez
 
Algoritmo de Gradiente Conjugado CGBP
Algoritmo de Gradiente Conjugado CGBPAlgoritmo de Gradiente Conjugado CGBP
Algoritmo de Gradiente Conjugado CGBP
ESCOM
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitos
jfrchicanog
 
Metodo de biseccion en matlab
Metodo de biseccion  en matlabMetodo de biseccion  en matlab
Metodo de biseccion en matlab
Raul Cabanillas Corso
 
Metodo de biseccion en matlab
Metodo de biseccion  en matlabMetodo de biseccion  en matlab
Metodo de biseccion en matlab
Raul Cabanillas Corso
 
2_LenguajeMATLAB
2_LenguajeMATLAB2_LenguajeMATLAB
2_LenguajeMATLAB
Juan Manzanero Torrico
 
Paralela4
Paralela4Paralela4
Paralela4
Abraham Zamudio
 
Matlabreyes
MatlabreyesMatlabreyes
Matlabreyes
jlccarvajal
 
Metodos numericos ss13
Metodos numericos ss13Metodos numericos ss13
Metodos numericos ss13
Maestros Online
 
Metodos numericos ss13
Metodos numericos ss13Metodos numericos ss13
Metodos numericos ss13
Maestros Online Mexico
 
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
Videoconferencias UTPL
 
Soluc libro mate 2009
Soluc libro mate 2009Soluc libro mate 2009
Soluc libro mate 2009
Carlos Sepulveda Abaitua
 
Soluc libro mt 2009
Soluc libro mt 2009Soluc libro mt 2009
Soluc libro mt 2009
Carlos Sepulveda Abaitua
 
Matices ortogonales
Matices ortogonalesMatices ortogonales
Matices ortogonales
Alejandro Castañeda
 
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
Clase 9  grafos parte iii (cam min - arbol min)-ay_ed-2014Clase 9  grafos parte iii (cam min - arbol min)-ay_ed-2014
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
Nicolas Mattone
 
Matlab graficos
Matlab graficosMatlab graficos
Matlab graficos
Jhony Tacuri
 

Similar a Cecti rodrigo lopez - buqueda del clique (20)

Mas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdfMas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdf
 
Mas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdfMas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdf
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
 
Solución de un problema eliptico elementos finitos matlab
Solución de un problema eliptico elementos finitos matlabSolución de un problema eliptico elementos finitos matlab
Solución de un problema eliptico elementos finitos matlab
 
Algoritmo de Gradiente Conjugado CGBP
Algoritmo de Gradiente Conjugado CGBPAlgoritmo de Gradiente Conjugado CGBP
Algoritmo de Gradiente Conjugado CGBP
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitos
 
Metodo de biseccion en matlab
Metodo de biseccion  en matlabMetodo de biseccion  en matlab
Metodo de biseccion en matlab
 
Metodo de biseccion en matlab
Metodo de biseccion  en matlabMetodo de biseccion  en matlab
Metodo de biseccion en matlab
 
2_LenguajeMATLAB
2_LenguajeMATLAB2_LenguajeMATLAB
2_LenguajeMATLAB
 
Paralela4
Paralela4Paralela4
Paralela4
 
Matlabreyes
MatlabreyesMatlabreyes
Matlabreyes
 
Metodos numericos ss13
Metodos numericos ss13Metodos numericos ss13
Metodos numericos ss13
 
Metodos numericos ss13
Metodos numericos ss13Metodos numericos ss13
Metodos numericos ss13
 
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
UTPL-LÓGICA DE LA PROGRAMACIÓN-I BIMESTRE-(abril agosto 2012)
 
Soluc libro mate 2009
Soluc libro mate 2009Soluc libro mate 2009
Soluc libro mate 2009
 
Soluc libro mt 2009
Soluc libro mt 2009Soluc libro mt 2009
Soluc libro mt 2009
 
Matices ortogonales
Matices ortogonalesMatices ortogonales
Matices ortogonales
 
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
Clase 9  grafos parte iii (cam min - arbol min)-ay_ed-2014Clase 9  grafos parte iii (cam min - arbol min)-ay_ed-2014
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
 
Matlab graficos
Matlab graficosMatlab graficos
Matlab graficos
 

Último

Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
jeffersoncolina427
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
andressalas92
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
TIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdfTIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdf
ArmandoSarco
 
Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
MONICADELROCIOMUNZON1
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
jemifermelgarejoaran1
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 
DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
taniarivera1015tvr
 
Presentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdfPresentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdf
jdcumarem02
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
MaraManuelaUrribarri
 
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
luliolivera62
 
Presentación Aislante térmico.pdf Transferencia de calor
Presentación Aislante térmico.pdf Transferencia de calorPresentación Aislante térmico.pdf Transferencia de calor
Presentación Aislante térmico.pdf Transferencia de calor
GerardoBracho3
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
shirllyleytonm
 
Propiedades Electricas de los Materiales
Propiedades Electricas de los MaterialesPropiedades Electricas de los Materiales
Propiedades Electricas de los Materiales
rogeliorodriguezt
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
azulsarase
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
LuisAngelGuarnizoBet
 
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptxGRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
JhonathanBaptista2
 
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdfEstilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
ElisaLen4
 

Último (20)

Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
TIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdfTIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdf
 
Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 
DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
 
Presentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdfPresentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdf
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
 
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
 
Presentación Aislante térmico.pdf Transferencia de calor
Presentación Aislante térmico.pdf Transferencia de calorPresentación Aislante térmico.pdf Transferencia de calor
Presentación Aislante térmico.pdf Transferencia de calor
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
 
Propiedades Electricas de los Materiales
Propiedades Electricas de los MaterialesPropiedades Electricas de los Materiales
Propiedades Electricas de los Materiales
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
 
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptxGRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
GRAFICA POR ATRIBUTOS EN CONTROL DE LA CALIDAD.pptx
 
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdfEstilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
 

Cecti rodrigo lopez - buqueda del clique

  • 1. Detecci´on de comunidades B´uqueda del Clique con la mayor Interconectividad en un Grafo utilizando Optimizaci´on basado en Colonia de Hormigas Rodrigo L´opez Far´ıas1 Juan J. Flores 2 14 de octubre de 2016 Universidad Michoacana de San Nicol´as de Hidalgo 1 Centro de Informaci´on y C´omputo rdglpz@gmail.com 2 Posgrado de Ingenier´ıa El´ectrica juanfie@umich.mx
  • 2. Tabla de Contenidos 1. Introducci´on 2. Los Cliques en los Grafos 3. Algoritmo para la detecci´on de un clique 4. Optimizaci´on por colonia de Hormigas 5. Experimentos y Resultados 1/23
  • 4. Introducci´on • El problema de b´usqueda del clique tiene muchas aplicaciones como por ejemplo: bioinform´atica, b´usqueda de estructuras y redes en qu´ımica computacional, y detecci´on de comunidades redes sociales. Figura 1: Ejemplo de una red compleja 2/23
  • 5. Introducci´on • Los algoritmos tradicionales enfrentan el obst´aculo del alto costo computacional, y no escalabilidad para la b´usqueda de ciertas estructuras en grafos [5]. • El uso de heur´ısticas como Optimizaci´on basada en Colonia de Hormigas (OCH) son adecuados para resolver de manera aproximada este problema. • OCH Ha demostrado en la pr´actica su capacidad para resolver problemas NP-Completos y NP-Duros presentes en grafos como la b´usqueda del camino m´as corto, el problema del viajero y b´usqueda de comunidades. 3/23
  • 6. Introducci´on Que es OCH? • Es una metaheuristica que aproxima la soluci´on. • Es bio-inspirada, propuesta por Dorigo et al 1991. • Se basa en la imitaci´on del comportamiento de las hormigas. • Las hormigas sirven a su comunidad llevando comida. • El uso de las feromonas como transmisi´on de conocimiento son de gran utilidad para su sobrevivencia. • Estas feromonas son depositadas a lo largo del camino de la hormiga. • Sirven a la hormiga para seleccionar aquel que fu´e recorrido recientemente. 4/23
  • 7. Puntos clave • Que es un clique?. • C´omo se detecta un clique. • C´omo se mide la optimalidad o calidad de un clique. • Principio de Optimizaci´on con Colonia de Hormigas. • Feromonas como componente de aprendizaje. 5/23
  • 8. Los Cliques en los Grafos
  • 9. Grafos y Clique Los cliques ”viven”dentro de los grafos los cuales son definidos como:. Definition Grafo: Es un par ordenado G = (V , E) donde: • V es un conjunto de v´ertices • Eij ∈ E Son el conjunto de aristas que relacionan el nodo i con el nodo j. • En caso de los grafos con pesos: cij es el costo o peso de traslado de un v´ertice i a un vertice j. Definition Clique Es un sub-grafo completo no dirigido G con un conjunto de V v´ertices los cuales todos est´an conectados entre s´ı. 6/23
  • 10. Ejemplo: Soluci´on del Clique Ck mas grande de un grafo no dirigido Ck es el clique k que contiene |Ck | elementos, En este caso el clique con los v´ertices de color rojo es definido por Ck = {v5, v1, v2} donde el tama˜no de la comunidad es la cardinalidad |Ck | = 3 Figura 2: Clique 7/23
  • 11. Soluci´on del Clique de tama˜no 3 con la suma de pesos m´axima Ck es el clique k que ademas de contener el n´umero m´aximo de nodos, tambi´en es el mayor interconectado de todos, • c1 = {vg , vb, vg }, Suma de pesos 13 • c2 = {vb, ve, vf }, Suma de pesos 13 • c3 = {vf , ve, vd }, Suma de pesos 103 • c4 = {vc , ve, vd }, Suma de pesos 220 Suma de pesos (Mas adelante se utiliza como la funci´on de aptitud o (Fitness)) (|Ck |−1) j=1 |Ck | j=i+1 cij vi vj 2010 100 100 4 3 2 c eba g 8/23
  • 12. El problema se va haciendo intratable El problema se vuelve mas complicado con solo 10 nodos si se trata de un grafo completo. 9/23
  • 13. Algoritmo para la detecci´on de un clique
  • 14. Algoritmo para la detecci´on de un clique 10/23
  • 15. Construcci´on del clique • Se inicializa el clique como vac´ıo. Ck = {} 11/23
  • 16. Construcci´on del clique • Se inicializa el clique como vac´ıo. Ck = {} • Se selecciona al azar un v´ertice vi de grafo G (en este caso v1), y se agrega a Ck = {v1} 11/23
  • 17. Construcci´on del clique • Se inicializa el clique como vac´ıo. Ck = {} • Se selecciona al azar un v´ertice vi de grafo G (en este caso v1), y se agrega a Ck = {v1} • Se seleccionan los v´ertices adyacentes y se marcan como candidatos. Candidatos = {v5, v2} 11/23
  • 18. Construcci´on del clique • Se inicializa el clique como vac´ıo. Ck = {} • Se selecciona al azar un v´ertice vi de grafo G (en este caso v1), y se agrega a Ck = {v1} • Se seleccionan los v´ertices adyacentes y se marcan como candidatos. Candidatos = {v5, v2} • Se selecciona un v´ertice de candidatos al azar, en este caso v5 y se guarda en Ck = {v1, v5}. 11/23
  • 19. Construcci´on del clique • Se inicializa el clique como vac´ıo. Ck = {} • Se selecciona al azar un v´ertice vi de grafo G (en este caso v1), y se agrega a Ck = {v1} • Se seleccionan los v´ertices adyacentes y se marcan como candidatos. Candidatos = {v5, v2} • Se selecciona un v´ertice de candidatos al azar, en este caso v5 y se guarda en Ck = {v1, v5}. • Se guardan los nodos adyacentes del nodo candidato seleccionado v5. ({v1, v2}) 11/23
  • 20. Construcci´on del clique • Se inicializa el clique como vac´ıo. Ck = {} • Se selecciona al azar un v´ertice vi de grafo G (en este caso v1), y se agrega a Ck = {v1} • Se seleccionan los v´ertices adyacentes y se marcan como candidatos. Candidatos = {v5, v2} • Se selecciona un v´ertice de candidatos al azar, en este caso v5 y se guarda en Ck = {v1, v5}. • Se guardan los nodos adyacentes del nodo candidato seleccionado v5. ({v1, v2}) • Se actualiza Candidatos = (v2) = Candidatos ∩ {v1, v2} 11/23
  • 21. Construcci´on del clique • Se inicializa el clique como vac´ıo. Ck = {} • Se selecciona al azar un v´ertice vi de grafo G (en este caso v1), y se agrega a Ck = {v1} • Se seleccionan los v´ertices adyacentes y se marcan como candidatos. Candidatos = {v5, v2} • Se selecciona un v´ertice de candidatos al azar, en este caso v5 y se guarda en Ck = {v1, v5}. • Se guardan los nodos adyacentes del nodo candidato seleccionado v5. ({v1, v2}) • Se actualiza Candidatos = (v2) = Candidatos ∩ {v1, v2} • Se repite la operaci´on hasta que Candidatos = {} 11/23
  • 23. Soluci´on: Optimizaci´on por colonia de Hormigas Comportamiento natural de la colonia de hormigas. Gracias a la feromona y su volatilidad, las hormigas tienden a encontrar caminos eficientes. 12/23
  • 24. Comportamiento Natural de las hormigas Este comportamiento es ´util para encontrar soluciones en grafos para diversos problemas cl´asicos como el camino mas corto entre dos puntos donde la funci´on objetivo es la suma de los pesos de los aristas recorridos. Las feromonas se distribuyen a lo largo del grafo seg´un la calidad de la soluci´on. 13/23
  • 25. Algoritmo B´asico OCH 1. Inicializa el grafo asignando cero feromona en todos los aristas. 2. Repetir 3. Situar cada hormiga en un v´ertice de manera aleatoria. 4. Para cada hormiga, generar una soluci´on tomando caminos con probabilidad seg´un la cantidad de feromona. 5. Evaluar cada soluci´on acorde a la funci´on objetivo. 6. Depositar feromona en los nodos/aristas seg´un a la calidad de la soluci´on. 7. Evaporizar feromona y actualizar. 8. Actualizar BestFitness con la mejor soluci´on hasta el momento. 9. Fin Repetir 14/23
  • 26. Feromona como componente de aprendizaje Si la hormiga se encuentra en un v´ertice vj , la probabilidad de seleccionar la ruta a vi es: p(vi ) = τα i vj ∈Candidatos τα j donde τ es la feromona depositada en v´ertice i, α es un par´ametro que pondera exponencialmente los factores de la feromona, 15/23
  • 27. Actualizaci´on de las feromonas Los rastros de feromona se actualizan en dos pasos: (a): La feromona se refuerza inversamente proporcional a la diferencia de la mejor soluci´on y la soluci´on encontrada. τi = τi + 1 1 + (BestFitness − Fitness(Ck ))K (b): La persistencia/evaporaci´on de la feromona est´a dada por τi = τi ∗ ρ D´onde 0 < ρ < 1 16/23
  • 28. Actualizaci´on de las feromonas (a) Con la constante K > 1 se regula la penalizaci´on a las malas soluciones. Figura 5: Efecto constante K 17/23
  • 29. Funci´on objetivo Sea Ck = (V , E ) un sub-grafo completo el cual la suma de sus aristas esta dada por Fitness(Ck ) = (|Ck |−1) j=1 |Ck | j=i+1 cij vi vj donde Ck es un clique o sub-grafo completo de tama˜no q = |Ck |, y cij son los pesos que existen en las conexiones de vi a vj . 18/23
  • 30. 19/23
  • 32. Resultados Experimentos. La instancia para probar el algoritmo es un grafo completo G=(V,E) con 100 vertices, donde la suma de los v´ertices M´aximo Clique Ck,optimo = {21, 22, 30, 40, 50, 60, 70, 80, 90, 99}, todos los dem´as aristas no contenidas en Coptimo son asignados valores con una distribuci´on aleatoria uniforme [0,29]. Los par´ametros de OCH son: • Iteraciones = 500 • K = 20 • Q = 10 • α = 1 Se program´o en Python utilizando librer´ıas networkx (manejo de grafos) y numpy (paquete n´umerico) 20/23
  • 33. Resultados Figura 6: Desempe˜no del algoritmo con diferentes valores en los par´ametros 21/23
  • 34. Resultados Figura 7: Gr´afico de convergencia para k = 20 22/23
  • 35. Resultados Figura 8: Gr´afico de convergencia para k = 30 23/23
  • 36. Preguntas? Interesados en las diapositivas o c´odigo. Mandar email a rdglpz@gmail.com 23/23
  • 37. References I • C. Solnon and S. Fenet, A study of ACO capabilities for solving the maximum clique problem, Journal of Heuristics, pp. 1 31, 2006. • Solnon and D. Bridge, Chapter I An Ant Colony Optimization Meta-Heuristic for Subset Selection Problems, pp. 1 23 • W. Dai, S. Liu, and S. Liang, An improved ant colony optimization cluster algorithm based on swarm intelligence, Journal of Software, vol.6 4, no. 4, pp. 299 306, 2009. • M. Hinne and E. Marchiori, Cutting graphs using competing ant colonies and an edge clustering heuristic, Evolutionary Computation in Combinatorial Optimization 2011. • S. Sadi, . Etaner-Uyar, and . G. U, COMMUNITY DE- TECTION USING ANT COLONY OPTIMIZATION TECHNIQUES, Proc. Int. Conf. Soft Computing, 2009.
  • 38. References II • B. Alidaee, F. Glover, G. Kochenberger, and H. Wang, Solving the maximum edge weight clique problem via unconstrained quadratic pro- gramming, European Journal of Operational Research, vol. 181, no. 2, pp. 592 597, Sep. 2007. • R. Battiti and M. Protasi. Reactive local search for the maximum clique problem. Algorithmica, 29(4):610 637, 2001. • A. Grosso, M. Locatelli, and F. Della Croce. Combining swaps and node weights in an adaptive greedy approach for the maximum clique problem. Journal of Heuristics, 10(2):135 152, 2004 • E. Marchiori. Genetic, iterated andmultistart local search for the maxi- mum clique problem. In S. Cagnoni, J. Gottlieb, E. Hart, M. Middendorf, and G.R. Raidl, editors, Applications of Evolutionary Computing, Pro- ceedings of EvoWorkshops 2002: EvoCOP, EvoIASP, EvoSTim, volume 2279 of lncs, pages 112 121. Springer-Verlag, 2002