Simple Science

Ciência de ponta explicada de forma simples

# Informática# Lógica na Informática# Inteligência Artificial# Aprendizagem de máquinas

Melhorando Solucionadores SAT com Políticas de Reset

Este artigo fala sobre como estratégias de reset melhoram o desempenho do solucionador SAT usando aprendizado por reforço.

― 7 min ler


Aumentando a EficiênciaAumentando a Eficiênciado Solucionador SATsolucionadores SAT.capacidades e a eficácia dosNovas políticas de reinício aumentam as
Índice

Os solucionadores de SAT são ferramentas usadas para resolver problemas que podem ser expressos em um formato lógico específico. Esses solucionadores pegam um conjunto de variáveis e cláusulas e tentam descobrir como atribuir valores de verdade às variáveis para que todas as cláusulas sejam satisfeitas. Um método comum usado nesses solucionadores é chamado de Aprendizado de Cláusulas por Conflito (CDCL). No CDCL, um processo chamado reinícios é frequentemente utilizado. Isso significa que em certos pontos, parte do estado do solucionador é apagada, e a busca por uma solução começa de novo. A ideia é evitar ficar preso em certas áreas do espaço de busca.

No entanto, os reinícios tradicionais têm uma desvantagem. Eles não mudam como as variáveis são tratadas após um reinício. Como resultado, o solucionador muitas vezes explora as mesmas áreas do espaço de busca que estava olhando antes do reinício. Para resolver esse problema, introduzimos um método chamado reset. O reset vai um passo além ao aleatorizar as pontuações de atividade das variáveis após um reinício. Essa mudança permite que o solucionador explore novas áreas do espaço de busca em vez de apenas revisitar as anteriores.

Neste artigo, vamos discutir a importância das políticas de reset nos solucionadores de SAT, particularmente como o Aprendizado por Reforço pode ajudar a melhorar esses processos. Também vamos cobrir alguns resultados experimentais que mostram a eficácia dessas políticas de reset.

Os Fundamentos dos Solucionadores de SAT

Problemas de SAT (satisfatibilidade) são problemas de decisão onde o objetivo é determinar se existe uma maneira de atribuir valores de verdade a um conjunto de variáveis de modo que um determinado conjunto de cláusulas lógicas seja satisfeito. Os solucionadores de SAT podem enfrentar uma ampla gama de problemas, incluindo aqueles em engenharia de software, verificação e inteligência artificial.

Os solucionadores CDCL estão entre os métodos mais eficazes para resolver problemas de SAT. Eles funcionam aprendendo com os conflitos encontrados durante o processo de solução. Quando o solucionador chega a um ponto onde não consegue satisfazer uma cláusula, ele analisa o conflito, aprende com ele e ajusta sua estratégia.

Por Que Usar Políticas de Reinício?

Nos solucionadores de SAT, momentos em que o solucionador parece estar preso podem ser disruptivos. Uma política de reinício ajuda a redefinir o estado do solucionador periodicamente. Ao fazer isso, o solucionador tem a chance de escapar de mínimos locais onde pode estar preso e explorar outras partes do espaço de busca.

A maioria das políticas de reinício existentes mantém as pontuações de atividade das variáveis intactas durante os reinícios. Isso significa que após um reinício, o solucionador frequentemente retoma de um estado semelhante ao que tinha antes. O problema com essa abordagem é que pode levar a buscas repetitivas nas mesmas áreas, em vez de incentivar uma exploração mais ampla.

Para resolver isso, a estratégia de reset apaga completamente a trilha de atribuições e aleatoriza as atividades das variáveis após um reset. Isso incentiva o solucionador a considerar novos caminhos no espaço de busca que ele pode não ter explorado antes.

Explorando Políticas de Reset

As políticas de reset vão além dos reinícios tradicionais ao permitir que o solucionador ajuste sua abordagem às atividades das variáveis. A pergunta chave é: com que frequência os resets devem acontecer durante o processo de solução?

A resposta pode variar dependendo do problema de SAT específico que está sendo tratado. Neste artigo, propomos usar o aprendizado por reforço (RL) para determinar quando e com que frequência invocar resets. Ao fazer isso, o solucionador pode adaptar sua estratégia às características de cada problema.

Modelando o Problema do Reset com Aprendizado por Reforço

Vemos a decisão de Reiniciar ou não como um problema de bandido multi-braço, que é uma estrutura comum em aprendizado por reforço. Nesse contexto, cada "braço" representa uma ação diferente que o solucionador pode tomar-ou realizar um reset ou continuar com a estratégia atual.

Por meio dessa abordagem, o solucionador pode aprender com experiências passadas com resets, equilibrando a exploração de novas áreas contra a exploração de estratégias conhecidas. Dois métodos de RL bem conhecidos podem ser utilizados para esse fim: Upper Confidence Bound (UCB) e Thompson Sampling.

Upper Confidence Bound (UCB)

UCB é um algoritmo que ajuda os tomadores de decisão a explorar diferentes opções enquanto consideram a incerteza de seus potenciais resultados. Ele funciona selecionando ações que têm uma recompensa estimada alta, enquanto também leva em conta o nível de incerteza. Essa abordagem permite que o solucionador tome decisões informadas sobre quando reiniciar com base no desempenho passado.

Thompson Sampling

Thompson Sampling é outro método de RL que combina exploração e exploração. A ideia é usar modelos estatísticos para estimar as possíveis recompensas de cada ação, e então amostrar esses modelos para decidir qual ação tomar em seguida. Essa abordagem é eficaz em ambientes que mudam dinamicamente, como a resolução de SAT, onde as características do problema podem mudar conforme o solucionador avança.

Implementando Políticas de Reset em Solucionadores de SAT

Implementamos políticas de reset em vários solucionadores de SAT de ponta, incluindo CaDiCaL, SBVACadical, Kissat e MapleSAT. Ao comparar esses solucionadores modificados com suas versões básicas em vários problemas de benchmark, podemos avaliar o impacto da aplicação de aprendizado por reforço para resets.

Tipos de Resets

  1. Reset Completo: Esse tipo aleatoriza completamente as pontuações de atividade de todas as variáveis e apaga a trilha de atribuições.

  2. Reset Parcial: Esse método mantém a ordem das variáveis ativas mais relevantes para preservar algumas informações locais, enquanto aleatoriza o restante. Isso pode ajudar o solucionador a manter algum contexto enquanto ainda permite uma exploração mais abrangente.

Avaliação Experimental

Realizamos experimentos extensivos para avaliar a eficácia das diferentes políticas de reset implementadas nos solucionadores. Os experimentos focaram em dois tipos de problemas de benchmark: instâncias de Satcoin e instâncias da Main Track das Competições de SAT.

Resultados nas Instâncias de Satcoin

As instâncias de Satcoin são derivadas de desafios de mineração de Bitcoin e representam problemas de otimização que podem ser particularmente difíceis para os solucionadores de SAT. Em nossos testes, os solucionadores que empregaram políticas de reset superaram significativamente os solucionadores básicos. Por exemplo, ao usar uma alta probabilidade de reset, os solucionadores modificados conseguiram resolver todas as instâncias, mostrando a eficiência do mecanismo de reset em explorar novas áreas do espaço de busca.

Resultados nas Instâncias da Main Track

Por outro lado, quando testamos as políticas de reset nas instâncias da Main Track das competições de SAT, observamos uma tendência diferente. Embora algumas políticas de reset tenham se saído bem com baixas probabilidades de reset, aumentar a frequência de resets levou a uma queda no desempenho. Esse desequilíbrio sugeriu a necessidade de uma abordagem mais adaptável, que é o que o aprendizado por reforço visa proporcionar.

Conclusão

Este estudo destaca a importância das políticas de reset em melhorar o desempenho dos solucionadores de SAT. Ao integrar técnicas de aprendizado por reforço, podemos decidir adaptativamente quando reiniciar durante o processo de solução. Os resultados experimentais indicam que essas políticas de reset baseadas em RL podem superar abordagens tradicionais, particularmente em espaços de problemas difíceis.

Trabalhos futuros envolverão aprimorar ainda mais essas políticas e explorar sua aplicabilidade em outros tipos de problemas lógicos. A integração do aprendizado por reforço nos processos de resolução de SAT parece promissora, oferecendo um caminho para melhorar a eficiência e a eficácia dos solucionadores.

Fonte original

Título: A Reinforcement Learning based Reset Policy for CDCL SAT Solvers

Resumo: Restart policy is an important technique used in modern Conflict-Driven Clause Learning (CDCL) solvers, wherein some parts of the solver state are erased at certain intervals during the run of the solver. In most solvers, variable activities are preserved across restart boundaries, resulting in solvers continuing to search parts of the assignment tree that are not far from the one immediately prior to a restart. To enable the solver to search possibly "distant" parts of the assignment tree, we study the effect of resets, a variant of restarts which not only erases the assignment trail, but also randomizes the activity scores of the variables of the input formula after reset, thus potentially enabling a better global exploration of the search space. In this paper, we model the problem of whether to trigger reset as a multi-armed bandit (MAB) problem, and propose two reinforcement learning (RL) based adaptive reset policies using the Upper Confidence Bound (UCB) and Thompson sampling algorithms. These two algorithms balance the exploration-exploitation tradeoff by adaptively choosing arms (reset vs. no reset) based on their estimated rewards during the solver's run. We implement our reset policies in four baseline SOTA CDCL solvers and compare the baselines against the reset versions on Satcoin benchmarks and SAT Competition instances. Our results show that RL-based reset versions outperform the corresponding baseline solvers on both Satcoin and the SAT competition instances, suggesting that our RL policy helps to dynamically and profitably adapt the reset frequency for any given input instance. We also introduce the concept of a partial reset, where at least a constant number of variable activities are retained across reset boundaries. Building on previous results, we show that there is an exponential separation between O(1) vs. $\Omega(n)$-length partial resets.

Autores: Chunxiao Li, Charlie Liu, Jonathan Chung, Zhengyang Lu, Piyush Jha, Vijay Ganesh

Última atualização: 2024-04-19 00:00:00

Idioma: English

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

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

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