Por que a necessidade de solucionadores TSP quando existem solucionadores SAT?

7

O Concorde TSP é um solucionador de TSP. Os solucionadores SAT são solucionadores de satisfação booleana. TSP e SAT são NP-completos.

Por isso, por que dedicar tempo ao desenvolvimento do Concorde TSP quando há uma abundância de solucionadores SAT no mercado naquela época?

Jessica Cage
fonte

Respostas:

11

TL; DR : a redução polinomial aumenta o tamanho de um problema; o uso de um solucionador específico permite explorar a estrutura de um problema.

Quando você reduz um problema de NP-completo para outro, o tamanho do problema geralmente aumenta polinomialmente. Por exemplo, quando você reduz um HAMPATH em um gráfico comn nós para SAT, a fórmula resultante tem tamanho de Θ(n3)(Não me lembro da constante que surge em uma redução direta de TSP-> SAT). Se você usar o teorema de Cook-Levin, o crescimento poderá ser ainda maior porque uma máquina de Turing pode ter uma sobrecarga (polinomial) realmente enorme. NP-completude é principalmente uma idéia teórica. O mesmo ocorre com uma redução no tempo polinomial. Muitos trabalhos teóricos afirmam apenas que uma redução, sem dizer nada sobre o quão prático é.

Vamos assumir informalmente que o TSP é tão difícil quanto o SAT. Isso significa que são necessários recursos computacionais semelhantes para resolver o TSP emn nós e SAT com ncláusulas se você usar solucionadores de ponta para cada problema. Agora é fácil ver que escrever um solucionador separado é mais prático do que reduzir o problema ao SAT e usar algum solucionador existente. É tudo sobre sobrecarga polinomial.

Há mais uma coisa a se notar: os problemas exatos são geralmente mais simples que os amplos. Quando você reduz o TSP para o SAT, o solucionador SAT não sabe nada sobre a estrutura subjacente da fórmula. E solucionadores especiais para TSP, é claro, lidam com o fato de que a entrada é um gráfico, o problema é encontrar um caminho hamiltoniano mais curto, etc.

Embora, para alguns problemas, a redução do SAT possa ser razoável, principalmente se o problema não for bem estudado (e não houver solucionadores interessantes) e quando a redução não aumentar muito o tamanho do problema. Os solucionadores de SAT ainda são muito fortes para muitos propósitos práticos.

Ivan Smirnov
fonte
11
Eu acho que essa é essencialmente a resposta certa. No entanto, é possível que haja uma redução de um problema para outro que apenas aumente um pouco o tamanho. Além disso, os solucionadores SAT podem ser inteligentes e detectar estruturas, especialmente se a codificação do problema for adequada. Portanto, provavelmente requer um pouco de trabalho para criar um solucionador específico de problemas que supere um solucionador SAT.
Juho