1
$\begingroup$

Let:

$IP=\left \{ \left \langle A,b \right \rangle \right \}:$ $A$ is a $m\times l$ matrix over the integers, $b$ is a vector of $m$ integers and there exists a vector $x$ of $l$ integers s.t $Ax\geq b$.

Note that $Ax$ and $b$ are both m-dimensional vectors.

When writing $Ax\geq b$ the meaning is the inequality holds in each coordinate.

$SET-COVER=\left \{ \left \langle U,S_1,\ldots,S_m,k \right \rangle \right \}:$ $U$ is a set of integers, $S_1,\ldots,S_m\subseteq U$ and there exists a subset $A\subseteq \left \{ 1,\ldots,m \right \}$ s.t $\left | A \right |=k \; \wedge \; \bigcup_{i\in A}S_i=U$.

The question asked to show $SET-COVER\leq_pIP$

I'm stuck mainly on the part of $x$ in $IP$ - all my attempts converged to failure because I was able to increase $x$ as much as I wanted in order to get $Ax\geq b$.

$\endgroup$

1 Answer 1

2
$\begingroup$

Given $(U, S_1, …, S_m, k)$ an input of Set-Cover, with $U = \{1, …, n\}$, consider an $n\times m$ matrix with $0$-$1$ coefficients, such that $A_{ij}$ represents $i\in S_j$.

Consider $b$ an $n$-vector with only $1$'s.

Can you see the link between the two problems?

Note that this is not the complete solution, since you have to modify those matrices to add a condition on $k$.

First, you want coefficients of $x$ to be either $0$'s or $1$'s. That means that for all $i$, $x_i \geqslant 0$ and $-x_i\geqslant -1$.

You just need to add $2m$ lines in the matrix $A$, each containing either $1$ or $-1$ at the right position, and $2m$ lines to the vector $b$, with either $0$ or $1$.

For the condition that the subset of $[\![1,m]\!]$ must be of size $\leqslant k$, that means that $\sum x_i\leqslant k$.

How to do it? Add a line of $-1$ in the matrix $A$, and a line $-k$ in the matrix $b$. Indeed, $\sum\limits_{i=1}^m(-1)\times x_i \geqslant -k\Leftrightarrow \sum\limits_{i=1}^mx_i \leqslant k$.

$\endgroup$
6
  • $\begingroup$ Thank you for basically the answer! I just don't understand the following one thing. There are some constrains on the $x$ vector on $IP$. Say $$x=\begin{pmatrix} x_1\\ \vdots \\ x_m \end{pmatrix}$$As I understood: $$\underset{1\leq j\leq m}{\forall j} x_j\in\left \{ 0,1 \right \} \wedge \sum_{j=1}^{m}x_j \leq k$$How I tell the computable function that I defined to take into consideration those constrains ? $\endgroup$
    – Daniel
    Commented Nov 29 at 15:17
  • $\begingroup$ That's up to you to find out! Note that what I gave is not the answer, since you must modify the matrix to verify the constraints you described. You should add a line to $A$ and to $b$. $\endgroup$
    – Nathaniel
    Commented Nov 29 at 17:58
  • $\begingroup$ The furthest I've been able to go is: The last row in $A$ will be of 1's. The added row in $b$ will be with the value of $k$. From matrix multiplication, the last row in $Ax$ will be with value $k$ if we choose exactly $k$ rows in the $x$ vector (i.e., set their values to 1 and the rest to 0). $\endgroup$
    – Daniel
    Commented Nov 30 at 17:26
  • $\begingroup$ The one thing I can't figure out is how I tell the function $$\underset{1\leq j\leq m}{\forall j} x_j\in\left \{ 0,1 \right \} \wedge \sum_{j=1}^{m}x_j \leq k$$I tried using modulo 2 for telling the function to puts $0,1$ in $A$ and $x$, but the multiplication of the two is where I got stuck - If I will continue using modulo 2, I won't be able to get the last row of $Ax$ to $k$ $\endgroup$
    – Daniel
    Commented Nov 30 at 17:27
  • $\begingroup$ @Daniel I edited my answer with the whole solution. $\endgroup$
    – Nathaniel
    Commented Nov 30 at 17:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.