Skip to main content

Cryptography 结合性 vs 交换性

结合性(Associativity)和交换性(Commutativity)是两个不同的概念,它们描述了二元运算的不同性质。下面是对这两个性质的详细解释:

结合性(Associativity)

结合性是指在进行多次运算时,运算的次序不影响结果。具体来说,对于一个集合中的任意三个元素 aabbcc,如果运算满足结合性,那么有:

(ab)c=a(bc)(a \cdot b) \cdot c = a \cdot (b \cdot c)

这里的运算符号 \cdot 可以是加法、乘法或其他二元运算。

例子

  • 整数加法:对于任意整数 aabbcc,有 (a+b)+c=a+(b+c)(a + b) + c = a + (b + c)
  • 矩阵乘法:对于任意 n×nn \times n 矩阵 AABBCC,有 (AB)C=A(BC)(A \cdot B) \cdot C = A \cdot (B \cdot C)

交换性(Commutativity)

交换性是指运算的顺序不影响结果。具体来说,对于一个集合中的任意两个元素 aabb,如果运算满足交换性,那么有:

ab=baa \cdot b = b \cdot a

例子

  • 整数加法:对于任意整数 aabb,有 a+b=b+aa + b = b + a
  • 整数乘法:对于任意整数 aabb,有 ab=baa \cdot b = b \cdot a

两者的区别

  • 结合性:涉及三个元素,关心的是运算的结合次序。例如,(ab)c(a \cdot b) \cdot ca(bc)a \cdot (b \cdot c) 是否相等。
  • 交换性:涉及两个元素,关心的是运算的顺序。例如,aba \cdot bbab \cdot a 是否相等。

非结合性和非交换性的例子

  • 非结合性:在某些运算中,结合性不成立。例如,向量的叉乘运算不满足结合性,即 (a×b)×ca×(b×c)(\mathbf{a} \times \mathbf{b}) \times \mathbf{c} \neq \mathbf{a} \times (\mathbf{b} \times \mathbf{c})
  • 非交换性在某些运算中,交换性不成立。例如,矩阵乘法不满足交换性,即一般情况下 ABBAA \cdot B \neq B \cdot A

总结

结合性和交换性是描述二元运算的不同性质。结合性关心的是运算的结合次序,而交换性关心的是运算的顺序。它们是独立的性质,一个运算可以满足其中一个、两个都满足或者两个都不满足。希望这个解释能帮助你理解结合性和交换性的区别。如果有更多问题,欢迎继续提问!