21
Comparação de métodos heurísticos para o problema de modularização de software Rodrigo de Carvalho

Rodrigo de Carvalho. Introdução ◦ Descrição do Problema Algoritmos ◦ GRASP ◦ S.A ◦ AG Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Embed Size (px)

Citation preview

Page 1: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Comparação de métodos heurísticos para o problema

de modularização de software

Rodrigo de Carvalho

Page 2: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Introdução◦ Descrição do Problema

Algoritmos◦ GRASP◦ S.A◦ AG

Planejamento Experimental ◦ Objetivo◦ Instância e métricas◦ Design experimental◦ Teste estatístico

Análise Experimental Conclusões

Sumário

Page 3: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Introdução

MANUTENÇÂO:Sistemas legadosFalta de documentação

Page 4: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Clusterização de grafos direcionados e não ponderados.

Introdução

Page 5: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Particionar um grafo em subgrafos, de forma que o número de arestas entre pares de vértices em subgrafos distintos seja minimizado, bem como, o número de arestas internas a cada subgrafo seja maximizado.

Introdução

Page 6: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

N = 10 115.975 N = 15 1.382.958.545

Introdução

Page 7: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Algoritmos GRASP

proc grasp (MAX_ITER, α, s*)enquanto critério de parada não satisfeito

S = constrói_Solução (α)S = buscaLocal ()se (f(s*) < f(S)) entao s* <- S

fim enquantoretorna (Melhor_Solução)fim grasp

Page 8: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Simulated Annealing

Algoritmos

proc Simulated Annealing Enquanto T > Tmin s = gerar um vizinho qualquer s’ se(f(s) > f(s’)) então s’ s senão s’ s com probabilidade e^-delta/T

T Atualiza Temperatura fim para

retorna (Melhor_Solução)fim grasp

Page 9: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

AG

Algoritmos

proc AG Criar população Avaliar população enquanto critério de parada não satisfeito Selecionar indivíduos Cruzamento e Mutação Avaliar população

fim enquantoretorna (Melhor_Solução)fim grasp

Page 10: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Verificar a existência de diferença significativa no desempenho dos algoritmos quando aplicados ao problema de clusterização em grafos (modularização de software).

Objetivo do Experimento

Page 11: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

12 instâncias ◦ 10 a 100 nós◦ 30 a 1200 arestas

Instâncias

Page 12: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

MQ - Qualidade de Modularização (Dovall et al.,1999)◦ Esta medida leva em consideração a quantidade de arcos

internos interligando vértices em um mesmo cluster, denominada intraconectividade, e a quantidade de arcos interligando vértices entre clusters diferentes, denominada interconectividade (Bi j).

Métrica

Page 13: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Design Experimental

Page 14: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

◦ Hipótese: H0: os algoritmos não apresentam diferença no desempenho quando aplicados

ao problema estudado;

◦ Fator: Algoritmo Níveis: GRASP,Simulated Annealing, AG.

◦ Blocos: por instância;

◦ Replicações: 10.

◦ Região de rejeição: Consiste em todos os valores da estatística do teste utilizado ,tais que sua probabilidade de ocorrência , sob H0, não supere α = 0,05 (nível de significância) .

Planejamento Experimental

Page 15: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Teste de Friedman◦ Planejamento em blocos com único fator;

◦ Uma alternativa robusta onde não é possível afirmar/justificar sobre a normalidade dos dados; (Teste não paramétrico);

◦ Para aplicar o teste calcula-se o valor de uma estatística χ02;

◦ Quando se tem uma amostra relativamente grande é possível mostrar que χ0

2 tem uma distribuição aproximadamente qui-quadrada com k-1 gl.

Teste estatístico

Page 16: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Algoritmos implementados na linguagem C++;

Testes realizados em um computador com:◦ Intel Core i3 2.3 GHz;◦ 4 Gb RAM;◦ Windows 7.

Para cada replicação foi dado um tempo aproximado de 40 segundos de processamento.

Ambiente Experimental

Page 17: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Algoritmo x instância x replicação ◦ 3 x 12 x 10 = 360 valores◦ 60 valores ignorados

Amostras Obtidas

Page 18: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Para teste de hipótese realizado foi considerado um nível de confiança de 95% ( α = 0,05);

O valor crítico: 5,991

Análise estatística

Page 19: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

Análise estatísticaprocedimento de comparação múltipla

Page 20: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

O teste realizado indica a existência de diferença estatisticamente significativa quanto ao desempenho dos algoritmos avaliados;

Baseado na média dos ranks e no intervalo de confiança pode ser perceber que o método GRASP é promissor para resolver esse problema.

Conclusão

Page 21: Rodrigo de Carvalho.  Introdução ◦ Descrição do Problema  Algoritmos ◦ GRASP ◦ S.A ◦ AG  Planejamento Experimental ◦ Objetivo ◦ Instância e métricas

DOVAL, D., MANCORIDIS, S. E MITCHELL, B. S., “Automatic Clustering of Software System using a Genetic Algorithm”. Proc. Of the Int. Conf. On Software Tool and Enginnering Practice, pp 73-81,1999.

DIAS, C.R. Desenvolvimento e Análise Experimental de Algoritmos Evolutivos para o Problema de Clusterização Automática em Grafos Orientados , Univ. UFF,2004, Dissertação de Mestrado.

D. C. Montgomery e G. C. Runger. Applied statistics and probability for engineers. John Wiley, 3 edição, 2003.