PUC-Rio Departamento de Informática
Projeto e Análise de Algoritmos 2001.1
Prof. Marcus Vinicius Poggi
3 de julho de 2001

2o Trabalho Prático

Dados n objetos e a matriz de dissimilaridades Dn × n entre eles pede-se obter a partição destes n objetos em K conjuntos de modo que o maior diâmetro destes conjuntos seja minimizado.

O diâmetro de um conjunto Cj é dado pela expressão:
D( Cj )    =   
 
max
op, oq Î Cj
d[ op , oq]

O diâmetro de uma K-partição , PK={ C1, C2, ..., CK } é dado por:
PD (PK)    =   
 
max
j Î {1,2,...,K }
D(j)

Deseja-se PK* tal que PS( PK* )  =  minPK PD(PK).

O problema de obtenção de uma 2-partição (K=2) ótima tem complexidade polinomial, e dois algoritmos com este fim são apresentados abaixo. Entretanto, para K ³ 3 o problema se torna NP-difícil.

Os algoritmos para obter a 2-partição ótima são: Objetivos: Se possível encontrar a solução ótima do problema e provar que esta solução é ótima. Caso contrário, encontrar a melhor solução possível e estabelecer sua garantia de qualidade (distância percentual da solução ótima). Você precisa:
  1. Propor e implementar uma relaxação do problema que será modificada dentro do seu esquema de enumeração;
  2. Propor e implementar um algoritmo para encontrar (construir e melhorar) uma boa solução inicial para o problema;
  3. Implementar um esquema de enumeração implícita (branch and bound).
As instâncias estão disponíveis na página web. Estas instâncias são coordenadas de pontos no plano e a dissimilaridade entre os pontos (objetos) é dada pela distância Euclidiana. Encontre os clusterings ótimos para estas instâncias para K=3 e K=5.


This document was translated from LATEX by HEVEA.