si le nombre de coefficients non nuls dans UNE est linéaire dans n , il existe un algorithme qui résout ce problème en moins de 2n temps.
Voici comment ça fonctionne. Nous utilisons la connexion standard entre un problème d'optimisation et son problème de décision correspondant. Pour tester s'il existe une solution où et , on va former un problème de décision: on va attacher la contrainte à la matrice , et tester s'il existe un tel que et . En particulier, nous formerons une nouvelle matrice en prenant et en ajoutant une ligne supplémentaire contenant , et nous formerons en prenantA 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 nXA x ≤ bcTx ≥ αcTx ≥ αUNEXA x ≤ b- cTx ≤ - αUNE′UNE−cTb′bet à côté d'une ligne supplémentaire avec . On obtient un problème de décision: existe-t-il tel que ? La réponse à ce problème de décision nous indique s'il existe une solution au problème d'optimisation d'origine de valeur ou supérieure. De plus, comme expliqué dans la réponse à votre question précédente , ce problème de décision peut être résolu en moins de temps, si le nombre de coefficients non nuls dans est linéaire dans (et donc si le nombre de non les coefficients nuls dans sont linéaires dans ). Maintenant, nous pouvons utiliser la recherche binaire sur- αx ∈ { 0 , 1 }nUNE′x ≤ b′α2nA′nAn2 nαpour résoudre votre problème d'optimisation en moins de temps.2n
Mes remerciements à AustinBuchanan et Stefan Schneider pour avoir aidé à déboguer une version antérieure de cette réponse.
Pouvez-vous donner une réponse plus forte: comme «il y a un algorithme de temps » ou «un algorithme plus rapide que réfuterait ...»? O ( 2 n )O(2n/2)O(2n)
Austin Buchanan
@AustinBuchanan, si le nombre de dimensions de est suffisamment petit, il existe un algorithme , comme indiqué dans ma réponse à l'autre question . C'est le mieux que je sache faire; Je ne sais pas faire mieux que ça. Peut-être que d'autres pourront apporter une réponse plus forte! O ∗ ( 2 n / 2 )bO∗(2n/2)
DW
O ( 1 )O∗(2n/2) temps tient chaque fois que le nombre de contraintes est ? O(1)
Austin Buchanan
4
Si nous considérons le problème de minimisation , alors la réduction suivante montre qu'un algorithme fonctionnant dans le temps pour réfuterait le SETH. Une reformulation prouve le même résultat pour le problème visé (la version de maximisation).O ( 2 δ n / 2 ) δ < 1miny{cTy:Ay≥b,y∈{0,1}n}O(2δn/2)δ<1
Étant donné une instance de CNF-SAT avec des variables , une IP 0-1 avec deux variables pour chaque variable dans l'instance SAT. Comme d'habitude, la clause serait représentée comme . Ensuite, pour chaque variable dans l'instance SAT, ajoutez une contrainte . L'objectif est de minimiser . L'objectif de la IP sera ssi l'instance SAT est satisfaisable. { x j } n j = 1 y j , ¯ y j x j ( x 1 ∨ ¯ x 2 ∨ x 3 ) y 1 + ¯ y 2 + yΦ=∧mi=1Ci{xj}nj=1yj,y¯¯¯jxj(x1∨x¯¯¯2∨x3)x j y j + ¯ y j ≥ 1 ∑ n j =y1+y¯¯¯2+y3≥1xjyj+y¯¯¯j≥1n∑nj=1(yj+y¯¯¯j)n
Merci à Stefan Schneider pour la correction.
Mise à jour: dans On Problems as Hard as CNF-Sat, les auteurs supposent que SET COVER ne peut pas être résolu dans le temps , , où fait référence au nombre d'ensembles. Si vrai, cela montrerait que mon problème ne peut pas être résolu dans le temps également.δ < 1 n O ( 2 δ n )O(2δn)δ<1nO(2δn)
Mise à jour 2. Pour autant que je sache, en supposant que SETH, mon problème ne peut pas être résolu dans le temps , car il a été démontré que Hitting Set (avec un ensemble de base de taille ) ne peut pas être résolu. résolu dans le temps .n O ( 2 δ n )O(2δn)nO(2δn)
Puisque vous doublez le nombre de variables, je pense que cela montre seulement qu'un algorithme pour ce problème avec le runtime contredirait SETH. O(2δn/2)
Stefan Schneider
Attendez ... les auteurs de On Problems as Hard as CNF-SAT déclarent que "pour chaque , un algorithme pour frapper Set violerait SETH." Ça ne marche pas? O ( 2 ϵ n ) …ϵ<1O(2ϵn)…
Si nous considérons le problème de minimisation , alors la réduction suivante montre qu'un algorithme fonctionnant dans le temps pour réfuterait le SETH. Une reformulation prouve le même résultat pour le problème visé (la version de maximisation).O ( 2 δ n / 2 ) δ < 1miny{cTy:Ay≥b,y∈{0,1}n} O(2δn/2) δ<1
Étant donné une instance de CNF-SAT avec des variables , une IP 0-1 avec deux variables pour chaque variable dans l'instance SAT. Comme d'habitude, la clause serait représentée comme . Ensuite, pour chaque variable dans l'instance SAT, ajoutez une contrainte . L'objectif est de minimiser . L'objectif de la IP sera ssi l'instance SAT est satisfaisable. { x j } n j = 1 y j , ¯ y j x j ( x 1 ∨ ¯ x 2 ∨ x 3 ) y 1 + ¯ y 2 + yΦ=∧mi=1Ci {xj}nj=1 yj,y¯¯¯j xj (x1∨x¯¯¯2∨x3) x j y j + ¯ y j ≥ 1 ∑ n j =y1+y¯¯¯2+y3≥1 xj yj+y¯¯¯j≥1 n∑nj=1(yj+y¯¯¯j) n
Merci à Stefan Schneider pour la correction.
Mise à jour: dans On Problems as Hard as CNF-Sat, les auteurs supposent que SET COVER ne peut pas être résolu dans le temps , , où fait référence au nombre d'ensembles. Si vrai, cela montrerait que mon problème ne peut pas être résolu dans le temps également.δ < 1 n O ( 2 δ n )O(2δn) δ<1 n O(2δn)
Mise à jour 2. Pour autant que je sache, en supposant que SETH, mon problème ne peut pas être résolu dans le temps , car il a été démontré que Hitting Set (avec un ensemble de base de taille ) ne peut pas être résolu. résolu dans le temps .n O ( 2 δ n )O(2δn) n O(2δn)
la source