Instance: a set of vectors $V=\{\mathbf{v}_1,\mathbf{v}_2,...,\mathbf{v}_n\}$ and $m$ vector sets $V_1,V_2,...,V_m$, each of which contains multiple vectors ($V_i$ may not be a subset of $V$). In our problem, the elements of each vector are integer numbers. The linear span space of $\bigcup\limits_{i=1}^mV_{i}$ contains each vector in $V$.
Question: find minimum number of sets from $\{V_1,V_2,...,V_m\}$, denoted as $\{V_{i_1},...V_{i_k}\}$, such that the linear span space of $\bigcup\limits_{j=1}^kV_{i_j}$ contains each vector in $V$.
There may exist a reduction to our problem from SET COVER, which is NP-complete.
I try to find an approximate algorithm to solve this problem with a provable approximation ratio.
One prossible algorithm is that at each step, we can remove one subset $V_i$ from $\{V_1,V_2,...,V_m\}$ under the condition that the span space of union of remainning subsets contains V. For this algorithm, the key issue is how to select a "good" $V_i$ at each step to make the final result is near to the optimal result. This approach may have no provable approximation ratio.
The worst case that can be used to verify the approximiation ratio of the approximation algorithm is shown as following:
$V_1=\{[1,0,\cdots,0]\}$, $V_2=\{[0,1,0,\cdots,0]\}$,...,$V_m=\{[0,0,\cdots,0,1]\}$, in which each set contains one row vector of a $m\times m$ identity matrix. $V={[0,0,\cdots,0,1,1]}$. Therefore, the optimal solution is $\{V_{m-1},V_{m}\}$ and the minimum number is 2.
If you have ideas and suggestions, it's pleasure if you can share with me.
Thanks very much!
The problem can clearly be solved by an extensive search, and, in fact, a much faster algorithm can hardly be expected. Indeed, taking $v_1,\ldots,v_n$ to be a basis of $\mathbb{R}^n$ and $V_i\subset V$ gives a reduction to our problem from SET COVER, which is NP-complete.
On the other hand, there is a fast way to construct an inclusion-minimal subset of $V'=\{V_1,\ldots,V_m\}$ whose vectors span those from $V$. In fact, we can check, for any $i$, whether $V'\setminus\{V_i\}$ span vectors from $V$. If this is not the case, then $V'$ is minimal; otherwise, we conclude that vectors from $V'\setminus\{V_j\}$ span $V$, and we proceed by recursion.