关系的定义与性质
1. 关系的基本定义
在离散数学中,关系是集合之间的关联。可以通过以下几种方式来描述关系:
-
集合间的关系:设有两个集合 A A A 和 B B B,关系 R R R 可以定义为集合 A A A 和集合 B B B 之间的某种关系。通常,关系 R R R 是 A × B A \times B A×B 的子集,即 R ⊆ A × B R \subseteq A \times B R⊆A×B,其中 A × B A \times B A×B 表示 A A A 和 B B B 的笛卡尔积。
-
二元关系:二元关系是一种包含两个元素的关系。例如,关系 R R R 是集合 A A A 到集合 B B B 的二元关系,记作 R : A → B R: A \to B R:A→B,如果 ( a , b ) ∈ R (a, b) \in R (a,b)∈R,则 a a a 和 b b b 有某种关系。
-
关系矩阵:关系也可以用矩阵来表示。如果集合 A = { a 1 , a 2 , . . . , a n } A = \{a_1, a_2, ..., a_n\} A={a1,a2,...,an},集合 B = { b 1 , b 2 , . . . , b m } B = \{b_1, b_2, ..., b_m\} B={b1,b2,...,bm},则关系 R R R 可以表示为一个 n × m n \times m n×m 的矩阵。矩阵中的元素为 1 表示有关系,0 表示没有关系。
-
关系图:关系也可以用图来表示,图的顶点代表集合中的元素,边表示元素之间的关系。
2. 关系的性质
关系有几种常见的性质,分别为:
-
自反性:一个关系 R R R 是自反的,当且仅当对于集合中的每个元素 a a a,都有 ( a , a ) ∈ R (a, a) \in R (a,a)∈R。
例子:设 A = { 1 , 2 , 3 } A = \{1, 2, 3\} A={1,2,3},关系 R = { ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) } R = \{(1,1), (2,2), (3,3)\} R={(1,1),(2,2),(3,3)} 是自反的。
-
对称性:一个关系 R R R 是对称的,当且仅当如果 ( a , b ) ∈ R (a, b) \in R (a,b)∈R,则 ( b , a ) ∈ R (b, a) \in R (b,a)∈R。
例子:设 A = { 1 , 2 , 3 } A = \{1, 2, 3\} A={1,2,3},关系 R = { ( 1 , 2 ) , ( 2 , 1 ) } R = \{(1,2), (2,1)\} R={(1,2),(2,1)} 是对称的。
-
反对称性:一个关系 R R R 是反对称的,当且仅当如果 ( a , b ) ∈ R (a, b) \in R (a,b)∈R 且 ( b , a ) ∈ R (b, a) \in R (b,a)∈R,则 a = b a = b a=b。
例子:设 A = { 1 , 2 , 3 } A = \{1, 2, 3\} A={1,2,3},关系 R = { ( 1 , 2 ) , ( 2 , 1 ) , ( 3 , 3 ) } R = \{(1,2), (2,1), (3,3)\} R={(1,2),(2,1),(3,3)} 是反对称的。
-
传递性:一个关系 R R R 是传递的,当且仅当如果 ( a , b ) ∈ R (a, b) \in R (a,b)∈R 且 ( b , c ) ∈ R (b, c) \in R (b,c)∈R,则 ( a , c ) ∈ R (a, c) \in R (a,c)∈R。
例子:设 A = { 1 , 2 , 3 } A = \{1, 2, 3\} A={1,2,3},关系 R = { ( 1 , 2 ) , ( 2 , 3 ) , ( 1 , 3 ) } R = \{(1,2), (2,3), (1,3)\} R={(1,2),(2,3),(1,3)} 是传递的。
3. 等价关系与划分
-
等价关系:如果关系 R R R 满足自反性、对称性和传递性,那么 R R R 是一个等价关系。
例子:设 A = { 1 , 2 , 3 } A = \{1, 2, 3\} A={1,2,3},关系 R = { ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 1 , 2 ) , ( 2 , 1 ) } R = \{(1,1), (2,2), (3,3), (1,2), (2,1)\} R={(1,1),(2,2),(3,3),(1,2),(2,1)} 是等价关系,因为它满足自反性、对称性和传递性。
-
等价类:等价类是通过等价关系对集合进行划分的结果。集合中的每个元素与等价关系下的其他元素组成一个等价类。
例子:对于关系 R = { ( 1 , 1 ) , ( 2 , 2 ) , ( 1 , 2 ) , ( 2 , 1 ) } R = \{(1, 1), (2, 2), (1, 2), (2, 1)\} R={(1,1),(2,2),(1,2),(2,1)},集合 A = { 1 , 2 , 3 } A = \{1, 2, 3\} A={1,2,3} 被划分为两类: { 1 , 2 } \{1, 2\} {1,2} 和 { 3 } \{3\} {3}。
-
划分的定义与应用:划分是将一个集合分解为不交的子集,这些子集的并集等于原集合。等价关系与划分有着密切的关系。
4. 课堂活动设计
活动案例 1:讨论关系的不同性质。
- 给定集合 A = { 1 , 2 , 3 , 4 } A = \{1, 2, 3, 4\} A={1,2,3,4},和关系 R = { ( 1 , 2 ) , ( 2 , 3 ) , ( 1 , 3 ) , ( 3 , 4 ) } R = \{(1, 2), (2, 3), (1, 3), (3, 4)\} R={(1,2),(2,3),(1,3),(3,4)},请学生讨论该关系是否具有自反性、对称性、反对称性和传递性。
计算过程:
-
自反性:检查是否包含所有形式的 ( a , a ) (a, a) (a,a) 元素。显然, R R R 中没有 ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) (1,1), (2,2), (3,3), (4,4) (1,1),(2,2),(3,3),(4,4),因此该关系 不自反。
-
对称性:检查是否对于每一个 ( a , b ) ∈ R (a, b) \in R (a,b)∈R,有 ( b , a ) ∈ R (b, a) \in R (b,a)∈R。 ( 1 , 2 ) ∈ R (1, 2) \in R (1,2)∈R,但 ( 2 , 1 ) ∉ R (2, 1) \notin R (2,1)∈/R,因此该关系 不对称。
-
反对称性:检查是否对于每一个 ( a , b ) ∈ R (a, b) \in R (a,b)∈R 和 ( b , a ) ∈ R (b, a) \in R (b,a)∈R,都有 a = b a = b a=b。该关系中没有同时出现 ( a , b ) (a, b) (a,b) 和 ( b , a ) (b, a) (b,a),因此它是 反对称的。
-
传递性:检查是否对于每个 ( a , b ) ∈ R (a, b) \in R (a,b)∈R 和 ( b , c ) ∈ R (b, c) \in R (b,c)∈R,有 ( a , c ) ∈ R (a, c) \in R (a,c)∈R。 ( 1 , 2 ) (1, 2) (1,2) 和 ( 2 , 3 ) (2, 3) (2,3) 存在,但 ( 1 , 3 ) (1, 3) (1,3) 也在 R R R 中,符合传递性,依此类推,该关系是 传递的。
活动案例 2:应用等价关系进行分类。
- 给定集合 B = { 1 , 2 , 3 , 4 , 5 } B = \{1, 2, 3, 4, 5\} B={1,2,3,4,5},以及关系 R = { ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) , ( 4 , 4 ) , ( 5 , 5 ) , ( 1 , 2 ) , ( 2 , 1 ) , ( 3 , 4 ) , ( 4 , 3 ) } R = \{(1,1), (2,2), (3,3), (4,4), (5,5), (1,2), (2,1), (3,4), (4,3)\} R={(1,1),(2,2),(3,3),(4,4),(5,5),(1,2),(2,1),(3,4),(4,3)},请学生通过等价关系划分集合。
答案:
根据等价关系,集合
B
B
B 被划分为两个等价类:
{
1
,
2
}
\{1, 2\}
{1,2} 和
{
3
,
4
}
\{3, 4\}
{3,4},
5
5
5 是独立的单个等价类。最终划分结果为:
- { 1 , 2 } \{1, 2\} {1,2}
- { 3 , 4 } \{3, 4\} {3,4}
- { 5 } \{5\} {5}
5. Python 实现示例
下面是一个 Python 实现,演示如何检测关系的传递性。
def is_transitive(rel, A):
for a in A:
for b in A:
for c in A:
if (a, b) in rel and (b, c) in rel and (a, c) not in rel:
return False
return True
# 示例
A = {1, 2, 3, 4}
R = {(1, 2), (2, 3), (1, 3), (3, 4)}
# 检测传递性
result = is_transitive(R, A)
print("该关系是传递的:" , result)
该代码检查集合 A A A 上的关系 R R R 是否具有传递性。如果存在违反传递性的情况,返回 False。
通过以上设计的讲课内容和课堂活动,可以帮助更好地理解离散数学中关系的定义与性质,掌握如何利用等价关系进行分类,并通过实际计算练习提高对数学概念的理解。