Simple Science

Ciência de ponta explicada de forma simples

# Informática# Computação Neural e Evolutiva

Melhorando Problemas de Correspondência com Matrizes Duplamente Estocásticas

Esse artigo fala sobre como usar DSMs pra melhorar algoritmos em problemas de atribuição.

― 9 min ler


Matrizes DublamenteMatrizes DublamenteEstocásticas emOtimizaçãoalgoritmos em desafios de atribuição.Usar DSMs melhora o desempenho dos
Índice

Problemas de permutação são comuns em otimização combinatória. Eles envolvem encontrar a melhor forma de arranjar ou atribuir um conjunto de itens. Ao longo dos anos, vários algoritmos foram criados para resolver essas questões, especialmente algoritmos evolucionários. Esses algoritmos usam estratégias baseadas em probabilidades para encontrar soluções. A maior parte do trabalho nessa área se concentrou em problemas que envolvem ordenação ou classificação de itens. No entanto, menos atenção foi dada a problemas de atribuição, onde o objetivo é combinar itens de dois grupos diferentes.

Este artigo discute o uso de Matrizes Dupamente Estocásticas (DSMs) para melhorar algoritmos projetados para problemas de correspondência e atribuição. Vamos ver como essas matrizes podem ser integradas em algoritmos evolucionários, especificamente Algoritmos de Estimação de Distribuição (EDAs).

O que são Problemas de Permutação?

Problemas de permutação exigem encontrar o melhor arranjo de um conjunto de itens. Exemplos incluem agendar tarefas, roteirizar entregas e atribuir recursos. Esses problemas fazem parte de um campo maior conhecido como otimização combinatória, que busca a melhor solução a partir de um conjunto finito de possibilidades.

Existem vários tipos de problemas de permutação. Eles podem ser agrupados em duas classes principais:

  1. Problemas de Ordenação: Nesses casos, o objetivo é encontrar a melhor ordem para um conjunto de itens. Por exemplo, organizar tarefas de uma forma que minimize o tempo total gasto.

  2. Problemas de Correspondência: Aqui, o objetivo é emparelhar itens de dois conjuntos do mesmo tamanho da melhor forma possível. Um exemplo pode ser atribuir trabalhadores a empregos com base nas habilidades deles e nas exigências do trabalho.

Ambos os tipos de problemas exigem abordagens diferentes para encontrar soluções eficazmente.

Algoritmos Evolucionários

Algoritmos evolucionários são um conjunto de técnicas de otimização inspiradas na seleção natural. Eles funcionam evoluindo uma população de soluções candidatas ao longo do tempo, selecionando as melhores soluções e combinando-as para criar novas candidatas.

Os algoritmos evolucionários geralmente seguem estes passos:

  1. Inicialização: Comece com uma população aleatória de soluções.
  2. Seleção: Avalie as soluções com base em uma função de adequação para determinar quais são as melhores.
  3. Crossover: Combine pares de soluções selecionadas para criar novas.
  4. Mutação: Introduza pequenas mudanças em algumas soluções para explorar novas áreas.
  5. Substituição: Substitua algumas das soluções antigas pelas novas, mantendo as melhores.

Esses passos são repetidos até que uma solução satisfatória seja encontrada ou um número especificado de iterações seja alcançado.

O Papel da Probabilidade em Algoritmos Evolucionários

A probabilidade desempenha um papel crucial em muitos algoritmos evolucionários. Ao construir modelos que descrevem a probabilidade de certos itens aparecerem em posições específicas, esses algoritmos podem explorar o espaço de busca de forma mais eficaz. No entanto, muitos modelos existentes focam principalmente em problemas de ordenação, deixando problemas de correspondência menos modelados.

Modelos de Probabilidade

Modelos de probabilidade fornecem uma forma de representar a incerteza nos arranjos potenciais de itens. Eles podem ajudar a guiar o processo de busca em um algoritmo evolucionário, mostrando quais arranjos são mais promissores com base em iterações anteriores.

Alguns modelos de probabilidade comuns usados em algoritmos evolucionários incluem:

  • Modelo Plackett-Luce: Útil para problemas de classificação em que a ordem dos itens é importante.
  • Modelo Mallows: Foca em gerar permutações com base em um arranjo central, o que também pode ajudar em problemas de classificação.

No entanto, esses modelos não abordam eficazmente os problemas de atribuição.

Introduzindo Matrizes Dupamente Estocásticas

Matrizes Dupamente Estocásticas (DSMs) são um tipo de matriz que pode fornecer uma nova abordagem para modelar problemas de atribuição. Uma DSM é uma matriz quadrada onde cada elemento é um número real não negativo, e a soma de cada linha e coluna é igual a um. Isso significa que a matriz pode representar probabilidades para atribuir itens de um conjunto a outro.

Como as DSMs Funcionam

Quando você pensa em uma DSM, imagine-a como uma tabela que mostra quão provável é atribuir um item a outro. Cada linha representa um item de um conjunto, e cada coluna representa um item de outro conjunto. Os valores na matriz indicam a probabilidade de emparelhar itens.

Por exemplo, se você tem instalações que precisam ser atribuídas a locais, uma DSM pode resumir todas as atribuições possíveis em uma única matriz. Usando DSMs, podemos codificar a natureza de correspondência dos problemas de forma mais eficaz.

Aprendendo com Permutações Usando DSMs

Para usar DSMs de forma eficaz em algoritmos evolucionários, precisamos aprender com permutações existentes, que são os arranjos de itens. Isso significa criar uma DSM com base nas atribuições ou correspondências passadas encontradas. Podemos fazer isso por meio de vários métodos.

Aprendizado Exato

No aprendizado exato, derivamos uma DSM diretamente de um conjunto de permutações conhecidas. A ideia é criar uma matriz que reflita essas correspondências anteriores com precisão. Isso permite que o algoritmo use essa matriz como um Modelo de Probabilidade em iterações futuras.

Aprendizado Suavizado

O aprendizado suavizado é uma abordagem mais flexível. Em vez de depender apenas das permutações conhecidas, introduzimos uma distribuição uniforme na mistura. Isso ajuda a evitar cenários em que certas atribuições têm uma probabilidade zero de serem selecionadas, incentivando o algoritmo a explorar novas possibilidades, mesmo que não fizessem parte do conjunto de treinamento.

Amostragem a partir de DSMs

Uma vez que aprendemos uma DSM, o próximo passo é amostrar permutações ou arranjos a partir dela. Esse processo pode seguir diferentes estratégias, incluindo amostragem probabilística, amostragem algébrica e amostragem geométrica.

Amostragem Probabilística

Na amostragem probabilística, selecionamos linhas ou colunas da DSM com base nas probabilidades definidas na matriz. Ao escolher e remover elementos iterativamente, geramos permutações válidas respeitando as probabilidades aprendidas.

Amostragem Algébrica

A amostragem algébrica envolve usar operações matemáticas para derivar permutações da DSM. Isso pode envolver geração de vetores aleatórios e manipulações matriciais que efetivamente produzem novas permutações consistentes com as probabilidades da matriz.

Amostragem Geométrica

A amostragem geométrica aproveita as propriedades do teorema de Birkhoff-von Neumann, que relaciona DSMs a matrizes de permutação. Esse método amostra permutações dos "cantos" do espaço de probabilidade definido por diferentes DSMs.

Algoritmo Evolucionário com DSMs

Agora podemos propor um algoritmo evolucionário que incorpora DSMs como um componente central. Esse algoritmo usará a DSM aprendida para guiar o processo de amostragem e melhorar as soluções progressivamente.

Passos do Algoritmo

  1. Inicializar: Comece com um conjunto aleatório de permutações.
  2. Selecionar: Avalie as permutações com base em sua adequação.
  3. Aprender DSM: Use as permutações selecionadas para criar ou atualizar a DSM usando aprendizado exato ou suavizado.
  4. Amostrar: Gere novas permutações com base na DSM aprendida usando um dos métodos de amostragem.
  5. Avaliar: Verifique as novas permutações quanto à sua adequação.
  6. Atualizar: Substitua algumas permutações antigas por novas, mantendo as melhores soluções.
  7. Repetir: Continue o processo até que um critério de parada seja atendido.

Esse ciclo permite que o algoritmo melhore seu desempenho continuamente, confiando na estrutura aprendida das probabilidades.

Estudo Experimental

Para avaliar a eficácia da nossa abordagem, realizamos experimentos focando em um tipo específico de problema de correspondência conhecido como Problema de Atribuição Quadrática (QAP). No QAP, dois conjuntos de itens precisam ser combinados de forma otimizada para minimizar custos.

Configuração Experimental

Selecionamos várias referências para testar nosso algoritmo. Cada algoritmo foi executado várias vezes em cada referência para reunir dados suficientes para comparação. O desempenho foi medido usando métricas como a Mediana da Desvios Relativos (MRD) em relação a soluções ótimas conhecidas.

Resultados

Os resultados revelaram que o algoritmo usando DSMs, especialmente com amostragem probabilística, teve desempenho significativamente melhor do que outros algoritmos existentes. O DSM-PS mostrou uma força notável em comparação com os concorrentes, indicando a eficácia de integrar DSMs em algoritmos evolucionários.

Eficiência Computacional

Enquanto o desempenho é crucial, também examinamos a eficiência computacional de nossos algoritmos em comparação com concorrentes tradicionais de EDA. Os algoritmos que usaram DSMs exigiram mais tempo computacional, principalmente devido à implementação em Python em vez de C++ para os concorrentes.

Escalabilidade

A escalabilidade dos algoritmos foi amplamente semelhante, sugerindo que há um potencial para otimizar algoritmos baseados em DSMs para se aproximar do desempenho dos EDAs mais rápidos.

Conclusão e Direções Futuras

A exploração de Matrizes Dupamente Estocásticas dentro do contexto de algoritmos evolucionários mostrou-se promissora, especialmente para problemas de correspondência. Nossa abordagem usando DSMs para modelar probabilidades de atribuições abre novas avenidas para melhorias em tarefas de otimização.

Ainda há muito espaço para refinamento, especialmente em termos de eficiência computacional e análise mais profunda dos processos de aprendizado e amostragem. Trabalhos futuros também podem considerar diferentes algoritmos, como Sinkhorn-Knopp, para aprimorar ainda mais nossa compreensão das técnicas de amostragem.

Em resumo, DSMs têm o potencial de contribuir significativamente para a resolução de problemas baseados em permutação, tornando-se uma ferramenta valiosa na otimização combinatória.

Fonte original

Título: Doubly Stochastic Matrix Models for Estimation of Distribution Algorithms

Resumo: Problems with solutions represented by permutations are very prominent in combinatorial optimization. Thus, in recent decades, a number of evolutionary algorithms have been proposed to solve them, and among them, those based on probability models have received much attention. In that sense, most efforts have focused on introducing algorithms that are suited for solving ordering/ranking nature problems. However, when it comes to proposing probability-based evolutionary algorithms for assignment problems, the works have not gone beyond proposing simple and in most cases univariate models. In this paper, we explore the use of Doubly Stochastic Matrices (DSM) for optimizing matching and assignment nature permutation problems. To that end, we explore some learning and sampling methods to efficiently incorporate DSMs within the picture of evolutionary algorithms. Specifically, we adopt the framework of estimation of distribution algorithms and compare DSMs to some existing proposals for permutation problems. Conducted preliminary experiments on instances of the quadratic assignment problem validate this line of research and show that DSMs may obtain very competitive results, while computational cost issues still need to be further investigated.

Autores: Valentino Santucci, Josu Ceberio

Última atualização: 2023-04-05 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2304.02458

Fonte PDF: https://arxiv.org/pdf/2304.02458

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes