se o número de coeficientes diferentes de zero em for linear em , existe um algoritmo que resolve esse problema em menos de tempo.n 2 nAn2n
Aqui está como isso funciona. Usamos a conexão padrão entre um problema de otimização e seu problema de decisão correspondente. Para testar se existe uma solução de em que e , que irá formar um problema de decisão: vamos contíguo a restrição para a matriz , e teste se existe qualquer tal que e . Em particular, formaremos uma nova matriz pegando e adicionando uma linha extra contendo , e formaremos pegandoA x ≤ b c T x ≥ α c T x ≥ α A x A x ≤ b - c T x ≤ - α A ′ A - c T b ′ b - α x ∈ { 0 , 1 } n A ′ x ≤ b ′ α 2 n A ′ n A nxAx≤bcTx≥αcTx≥αAxAx≤b−cTx≤−αA′A−cTb′be ao lado de uma linha extra com . Obtemos um problema de decisão: existe tal que ? A resposta para esse problema de decisão nos diz se existe uma solução para o problema de otimização original de valor ou superior. Além disso, conforme explicado na resposta à sua pergunta anterior , esse problema de decisão pode ser resolvido em menos de , se o número de coeficientes diferentes de zero em for linear em (e, portanto, se o número de coeficientes zero em é linear em ). Agora podemos usar a pesquisa binária em−αx∈{0,1}nA′x≤b′α2nA′nAn2 nαpara resolver seu problema de otimização em menos de tempo.2n
Meus agradecimentos a AustinBuchanan e Stefan Schneider por ajudarem a depurar uma versão anterior desta resposta.
Você pode dar uma resposta mais forte: como "existe um algoritmo " ou "um algoritmo mais rápido que O ( 2 n ) refutaria ..."? O(2n/2)O(2n)
Austin Buchanan
@AustinBuchanan, se o número de dimensões de for pequeno o suficiente, existe um algoritmo O ∗ ( 2 n / 2 ) , conforme documentado na minha resposta à outra pergunta . É o melhor que sei fazer; Não sei fazer nada melhor do que isso. Talvez outros possam fornecer uma resposta mais forte! bO∗(2n/2)
DW
mantém o tempo sempre que o número de restrições é O ( 1 ) ? O∗(2n/2)O(1)
Austin Buchanan
4
Se considerarmos o problema de minimização , a seguinte redução mostra que um algoritmo em execução no tempo O ( 2 δ n / 2 ) para δ < 1 seria refutar a SETH. Uma reformulação prova o mesmo resultado para o problema pretendido (a versão de maximização).miny{ cTy: A y≥ b , y∈ { 0 , 1 }n}O ( 2δn / 2)δ< 1
Dado um exemplo de CNF-SAT com variáveis { x j } n j = 1 , formular um IP 0-1 com duas variáveis y j , ¯ y j para cada variável x j no SAT instância. Como é habitual, a cláusula ( x 1 ∨ ¯ x 2 ∨ x 3 ) seria representado como y 1 + ¯ y 2 +Φ = ∧mi=1Ci{xj}nj=1yj,y¯¯¯jxj(x1∨x¯¯¯2∨x3) . Em seguida, para cada variável x j na instância SAT, adicione uma restrição y j + ¯ y j ≥ 1 . O objetivo é minimizar ∑ n j = 1 ( y j + ¯ y j ) . O objetivo do IP será n se a instância SAT for satisfatória.y1+y¯¯¯2+y3≥1xjyj+y¯¯¯j≥1∑nj=1(yj+y¯¯¯j)n
Obrigado a Stefan Schneider pela correção.
Atualização: em Em problemas difíceis como CNF-Sat, os autores conjeturam que SET COVER não pode ser resolvido no tempo , δ < 1 , em que n se refere ao número de conjuntos. Se verdadeiro, isso mostraria que meu problema não pode ser resolvido no tempo O ( 2 δ n ) também.O(2δn)δ<1nO(2δn)
Atualização 2. Até onde sei, supondo SETH, meu problema não pode ser resolvido no tempo , pois foi demonstrado que o Conjunto de Acertos (com um conjunto básico de tamanho n ) não pode ser resolvido no tempo O ( 2 δ n ) .O(2δn)nO(2δn)
Como você duplica o número de variáveis, acho que isso mostra apenas que um algoritmo para esse problema com o tempo de execução contradiz SETH. O(2δn/2)
Stefan Schneider
Espere ... os autores de Em problemas tão difíceis quanto CNF-SAT afirmam que "para cada , um algoritmo O ( 2 ϵ n ) para Hitting Set ... violaria SETH". Isso não funciona? ϵ<1O(2ϵn)…
Se considerarmos o problema de minimização , a seguinte redução mostra que um algoritmo em execução no tempo O ( 2 δ n / 2 ) para δ < 1 seria refutar a SETH. Uma reformulação prova o mesmo resultado para o problema pretendido (a versão de maximização).miny{ cTy: A y≥ b , y∈ { 0 , 1 }n} O ( 2δn / 2) δ< 1
Dado um exemplo de CNF-SAT com variáveis { x j } n j = 1 , formular um IP 0-1 com duas variáveis y j , ¯ y j para cada variável x j no SAT instância. Como é habitual, a cláusula ( x 1 ∨ ¯ x 2 ∨ x 3 ) seria representado como y 1 + ¯ y 2 +Φ = ∧mi=1Ci {xj}nj=1 yj,y¯¯¯j xj (x1∨x¯¯¯2∨x3) . Em seguida, para cada variável x j na instância SAT, adicione uma restrição y j + ¯ y j ≥ 1 . O objetivo é minimizar ∑ n j = 1 ( y j + ¯ y j ) . O objetivo do IP será n se a instância SAT for satisfatória.y1+y¯¯¯2+y3≥1 xj yj+y¯¯¯j≥1 ∑nj=1(yj+y¯¯¯j) n
Obrigado a Stefan Schneider pela correção.
Atualização: em Em problemas difíceis como CNF-Sat, os autores conjeturam que SET COVER não pode ser resolvido no tempo , δ < 1 , em que n se refere ao número de conjuntos. Se verdadeiro, isso mostraria que meu problema não pode ser resolvido no tempo O ( 2 δ n ) também.O(2δn) δ<1 n O(2δn)
Atualização 2. Até onde sei, supondo SETH, meu problema não pode ser resolvido no tempo , pois foi demonstrado que o Conjunto de Acertos (com um conjunto básico de tamanho n ) não pode ser resolvido no tempo O ( 2 δ n ) .O(2δn) n O(2δn)
fonte