NAME: Power Set Project
\Power Set
- --- \PowerSetProject (source)
- --- \Bin (compiled executable)
- --- \Data (output data file)
- --- \Documentation (implementation documentation)
- --- \Obj (discardable binary intermediaries)
DESCRIPTION:         see below
DATE WRITTEN:        January 26, 2017
Assignment CSCE 5370 Theory of Computation:
Write a computer program in the language of your choice which reads in a single non-negative integer N as input and produces as output the power set of {I, 2, 3, ... , N}, written one subset per output line.
I think we can agree that there are C( N, K ) number of K-subsets of an N-element set,
Where:
 a K-subset of a set (containing N elements) is a subset of consisting 
 of K number of elements; and,
 C( N, K ) = N! / ( ( N - K )! * K!)
Suppose N is a positive integer and S is the set of integers { 1, 2, ..., N }
I assert that the Power Set of S is actually the set of all of the k-subsets of S for k = 0 to N;
Consider that N = 5, then the Power Set of S is:
 P( S ) = { { 0-subsets }, 
            { 1-subsets }, 
            { 2-subsets }, 
            { 3-subsets }, 
            { 4-subsets }, 
            { 5-subsets } };
Where:
   0-subsets = { O } (the empty set)
   1-subsets = { { 1 }, { 2 }, { 3 }, { 4 }, { 5 } }
   2-subsets = { { 1, 2 }, { 1, 3 }, { 1, 4 }, { 1, 5 }, { 2, 3 }, { 2, 4 },
                 { 2, 5 }, { 3, 4 }, { 3, 5 }, { 4, 5 } }
   3-subsets = { { 1, 2, 3 }, { 1, 2, 4 }, { 1, 2, 5 }, { 1, 3, 4 }, { 1, 3, 5 },
                 { 1, 4, 5 }, { 2, 3, 4 }, { 2, 3, 5 }, { 2, 4, 5 }, { 3, 4, 5 } }
   4-subsets = { { 1, 2, 3, 4 }, { 1, 2, 3, 5 }, { 1, 2, 4,  5 }, { 2, 3, 4, 5 } }
   5-subsets = { { 1, 2, 3, 4, 5 } }
- 
Power Set (via wikipedia) 
- 
Combinations (via wikipedia)