幂集的定义:
- 对于集合 A,其幂集 P(A) 是 A 的所有子集构成的集合
- 记 |A| = n,求 |P(A)| = ?
乘法原理
- 推导过程:
- 对于集合 A 中的每个元素,在构造子集时都有两种选择:
- 选入子集
- 不选入子集
- 每个元素的选择是独立的
- 根据乘法原理:
- 第1个元素:2种选择
- 第2个元素:2种选择
- …
- 第n个元素:2种选择
- 总的选择数 = 2 × 2 × … × 2 (n个2相乘)
- 即 |P(A)| = 2
- 对于集合 A 中的每个元素,在构造子集时都有两种选择:
二进制数构造
-
另一种理解:
- 可以用二进制数表示子集
- n个元素对应n个二进制位
- 每个位置:
- 1表示选入
- 0表示不选
- n位二进制数的个数为 2
-
举例:
- A = {a,b,c}, n = 3
- 000 → ∅
- 001 → {c}
- 010 → {b}
- 011 → {b,c}
- 100 → {a}
- 101 → {a,c}
- 110 → {a,b}
- 111 → {a,b,c}
- |P(A)| = 2^3 = 8
因此,对于任意有限集 A,若 |A| = n,则 |P(A)| = 2^n。
递归的方法
-
递归思路:
- 设集合 A = {a₁, a₂, …, aₙ}
- 将 A 分解为:
- 最后一个元素 aₙ
- 剩余元素集合 A’ = {a₁, a₂, …, aₙ₋₁}
- P(A) 可以由 P(A’) 递归构造:
- P(A) = P(A’) ∪ {X ∪ {aₙ} | X ∈ P(A’)}
-
基数递推关系:
- |P(A)| = |P(A’)| + |P(A’)|
- 因为:
- P(A’) 中的每个子集都在 P(A) 中
- P(A’) 中的每个子集加入 aₙ 也在 P(A) 中
- 即 |P(A)| = 2 × |P(A’)|
-
递归基:
- 当 |A| = 0 时(空集)
- P(∅) = {∅}
- |P(∅)| = 1 = 2⁰
-
递推过程:
- |P(∅)| = 2⁰ = 1
- |P({a₁})| = 2 × 2⁰ = 2¹
- |P({a₁,a₂})| = 2 × 2¹ = 2²
- |P({a₁,a₂,a₃})| = 2 × 2² = 2³
- …
- |P(A)| = 2 × 2ⁿ⁻¹ = 2ⁿ
-
举例说明 A = {1,2}:
- 从 A’ = {1} 开始:
- P({1}) = {∅, {1}}
- 构造 P({1,2}):
- 不含2的子集:{∅, {1}}
- 含2的子集:***
- P({1,2}) = {∅, {1}, {2}, {1,2}}
- 从 A’ = {1} 开始:
这种递归理解展示了幂集的层次构造过程,也说明了为什么基数是 2ⁿ。
其它方法:
- 从组合数角度推导
- 设集合含有个元素,对于集合的每一个子集,都可以看作是从个元素中选取若干个元素组成的。
- 从个元素中选取个元素组成的子集,就是空集,根据组合数公式,此时,,即空集是集合的个子集。
- 从个元素中选取个元素组成的子集个数,根据组合数公式,,,即有个只含个元素的子集。
- 从个元素中选取个元素组成的子集个数,,。
- 以此类推,从个元素中选取个元素组成的子集个数为。
- 从个元素中选取个元素组成的子集就是集合本身,,。
- 那么集合的子集个数就是从个元素中选取个、个、个、、个元素组成子集个数的总和,即。
- 根据二项式定理,当时,,而。所以集合的子集个数为。
- 通过分步计数原理推导
- 对于集合中的每一个元素,在构成子集时都有两种选择:要么这个元素在子集中,要么不在子集中。
- 因为集合有个元素,对于第一个元素有种选择(在子集中或不在子集中),对于第二个元素同样有种选择,对于第三个元素也有种选择,以此类推,对于第个元素也有种选择。
- 根据分步计数原理,完成一件事需要个步骤,做第步有种不同的方法,做第步有种不同的方法,,做第步有种不同的方法,那么完成这件事共有种不同的方法。
- 所以构造集合的子集,总共有种不同的方式,即集合的子集个数为。
综上,含有个元素的集合的子集个数为。
graph TB
A[幂集推导方法]
A --> B[直接计数法]
A --> C[递归构造法]
A --> D[二进制映射法]
B --> B1[每个元素两种选择]
B --> B2[乘法原理]
B --> B3[结果为2^n]
C --> C1[分解为最后一个元素]
C --> C2[和剩余元素集合]
C --> C3["P(A) = P(A') ∪ {X ∪ {an} | X ∈ P(A')}"]
C --> C4["|P(A)| = 2 × |P(A')|"]
D --> D1[n个元素对应n位]
D --> D2[0表示不选]
D --> D3[1表示选入]
D --> D4[共2^n种可能]
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#bbf,stroke:#333
style C fill:#bbf,stroke:#333
style D fill:#bbf,stroke:#333