Problemas em DLS, são todos NP-Hard ? Pela definição anterior, a resposta é `Não´. Vejamos alguns: O TSP é um problema DLS. Seja n o número de arestas de um grafo completo G, então F contém exatamente os conjuntos de inteiros (isto é, inteiros que representam arestas) correspondentes a tours em G. O vetor de custos w é então uma representação vetorial da matriz de distâncias entre cidades. O Minimum Spanning Tree, é um problema polinomial que pertence a DLS. Os problemas Shortest-Path, Min-cost flow, Maximum weight set in a matroid, Weighted matroid intersection, e weighted 3-matroid intersection também pertencem a DLS.
Representação e Ótimos Locais Analise o problema e a representação: max f(x) = (x-14) 2, s.a. x [0,31] e inteiro representação binária, cada inteiro como um cromossomo de 5 bits. O vetor (0,0,0,0,0) representa 0 e (1,1,1,1,1) -> representa 31. população inicial aleatória tamanho da população e tipo 5, fixa, sem estrutura. função de fitness f(x)
Exemplo População inicial gerada: xf(x)=(x-14) 2 A 1 A 2 A 3 A 4 A 5 Escolha dos pais com maior fitness A 3, A 2 geração de 1 filho, que substituirá o indivíduo com menor fitness A 5 Pai 1 Pai 2
Exemplo xf(x)=(x-14) 2 Pai 1 = A 2 Pai 2 = A 3 Filho mutação xf(x) A 1 A 2 A 3 A 4 A 5 Pai 1 Pai 2
Exemplo xf(x) Pai 1 = A 5 Pai 2 = A 3 Filho mutação xf(x) A 1 A 2 A 3 A 4 A 5 Pai 1 Pai 2
Exemplo xf(x) Pai 1 = A 1 Pai 2 = A 5 Filho mutação xf(x) A 1 A 2 A 3 A 4 A 5 e assim continua...
Representação binária e código de Gray xf(x)=(x-7) 2 binariaGray
Representação, código de Gray e “fitness landscape” f(x)=(x-7) 2 |delta_f| bináriadiff 4915= = =
Representação, código de Gray e “fitness landscape” |delta_f| * diff 15 * 4= 60soma total 13 * 1= 13representação binária 11 * 2= 22 9 * 1= = * 3= 21 5 * 1= 5suma total 3 * 2= 6representação de Gray 1 * 1= 1 1 * 4= = * 1= 3 5 * 2= 10 7 * 1= 7240/128 = * 3= 27(métrica de comparação ?) 11 * 1= * 2= * 1= 15
Representação - Hipercubo binário
Representação - Código de Gray
Representação, código de Gray e “fitness landscape” Problema: como avaliar uma métrica dada ? 1) Análise estatística 2) Análise assintótica... (?) 3) Análise do pior caso... pode ser feito, mas é pouco relevante para entender a dinâmica do algoritmo evolutivo. Existe alguma métrica geralmente aceita para poder analisar diferentes representações ? Não, mais geralmente se traduz em “princípios’’, e.g. “building block hypotheses”, baixa epistasis, etc. Idéia básica: configurações vizinhas (para a mutação) tem que ter valores semelhantes da função de fitness (correlação local).
Análise estatística e representações boas Moscato (‘89): “On evolution, search...”, discute a “correlação de ótimos locais” como essencial para os MAs. Dependência não só do problema mais da instância ! Radcliffe: “The Algebra of Genetic Algorithms’’, (preprint, ‘92) discute uma formalização dos GAs em termos de “formae”. Inspiração em Álgebra Linear. Hoffman: (Tese, TU Münich, ‘93) usa “formae theory” para analisar vários operadores de recombinação para o problema do caixeiro viajante. Moscato (‘93): paper em Annals of Operations Research, vol. 41. a) “representações com ótimos locais são às vezes ‘naturais’ para alguns problemas”. “Se não, o problema é como desenhá-las para MAs eficentes.
Análise estatística e representações boas Moscato (‘93): paper em Annals of Operations Research, vol. 41. b) “fitness distance analysis” para o problema do perceptron binário. c) Tabu Search: Muito bom para diversificação (sempre que não seja excessiva) da população. Radcliffe & Surry (‘94): dois trabalhos: “Formal Memetic Algorithms”, e “Fitness variance of formae and performance prediction”. a) MAs são muito melhores que GAs para alguns problemas (e.g. TSP) b) Como Hoffmann, análise estatística é possível com ajuda da simulação computacional.