I need to come up with an algorithm that generates all Unordered combinations of a set of Datapoints.
Let me give an example of say [0 1 2]
All the following are possible:
[(0,1,2)]
[(0,1) (2)] [(0,2) (1)] [(1,2) (0)]
[(0), (1), (2)]
For say [0 1 2 3] it gets alot more complicated
[(0,1,2,3)]
[(0,3) (1,2)] [(0,1) (3,2)] [(0,2) (3,1)]
[(0,3,1) (2)] [(0,1,3) (2)] [(0,2,3) (1)]
[(0,3) (1) (2)] [(0,1) (3) (2)] [(0,2) (3) (1)]
[(1,2) (0) (3)] [(3,2) (1) (0)] [(3,1) (2) (0)]
[(0) (1) (2) (3)]
Something like this. I need a general solution to this problem for any size. I know it blows up to a larger number, but I need to generate this. How would I approach this problem?