I have a set of positive integers S. I want to generate a set of positive integers T such that every member of S is the sum of some combination of members from T. I am looking for the smallest possible T.
I.e. Given $S = \{x|x \in \Bbb N\}$, generate the smallest possible $T = \{y|y \in \Bbb N\}$ such that for each $x$ in $S$ there exists a $K \subset T$ where $x = \sum_{y\in K} y$
This is for a real-world application. A solution that is close to optimal is good enough. The size of $S$ is ~$2^{30}$
Does this problem have a well-known name? I'm not getting anywhere with google. Can you point me in the right direction?
Generate $T$ by stages. Say $A=\{a_1<a_2<a_3<\dots\}$. In stage $1$, put $a_1\in T$. In stage $2$, put $a_2\in T$. At the beginning of stage $n$, we have an approximation to $T$. If $a_n$ is sum of distinct elements of this approximation, we are done with this stage, and go to the next one. Otherwise, add $a_n\in T$, and this concludes stage $n$. At each stage we are adding elements only if they are needed. The set we get at the end is the "smallest" $T$ you require. Note that smallness here is assuming $T\subset S$. Otherwise, there may not be a smallest set. For instance, if $S=\{1,3\}$ then $T_1=S$ and $T_2=\{1,2\}$ work and are $\subseteq$-incomparable.