Lamport同步算法讨论中的"partial ordering"和"total ordering"是什么意思?
What does it mean by "partial ordering" and "total ordering" in the discussion of Lamport's synchronization Algorithm?
我的理解是,偏序和全序是两套规则。
部分排序有三个规则:
(1) 如果a和b是同一个进程中的两个事件,a在b之前,则a->b.
(2) ...
(3) ...
那什么是总排序?
为什么会这样命名?
这些名称源于这样一个事实,即在部分顺序中并非所有元素都是可比较的,而在全序中所有元素都是可比较的:
集合元素的偏序由 three properties 定义,它必须适用于所有元素 a
、b
和 c
:
- Reflexivity:
a ≤ a
- Antisymmetry:如果
a ≤ b
和b ≤ a
,则a = b
- Transitivity:如果
a ≤ b
和 b ≤ c
,则 a ≤ c
这个定义抓住了对事物排序意味着什么的共同直觉的本质:每个事物都和它自己一样 "size",它可以比另一个 "smaller" 但又比另一个不是 "smaller" 本身。最后,如果一件事比另一件事 "smaller",即比第三件事 "smaller",那么它也比第三件事 "smaller"。
总订单是部分订单加上额外的 属性:
- Connexity:
a ≤ b
或 b ≤ a
这个定义说在全序中任何两个事物都是可比较的。在部分顺序中,一个事物既不需要比另一个 "smaller" 也不需要相反,在总顺序中,每个事物要么比另一个 "smaller" 或相反。
我的理解是,偏序和全序是两套规则。
部分排序有三个规则:
(1) 如果a和b是同一个进程中的两个事件,a在b之前,则a->b.
(2) ...
(3) ...
那什么是总排序?
为什么会这样命名?
这些名称源于这样一个事实,即在部分顺序中并非所有元素都是可比较的,而在全序中所有元素都是可比较的:
集合元素的偏序由 three properties 定义,它必须适用于所有元素 a
、b
和 c
:
- Reflexivity:
a ≤ a
- Antisymmetry:如果
a ≤ b
和b ≤ a
,则a = b
- Transitivity:如果
a ≤ b
和b ≤ c
,则a ≤ c
这个定义抓住了对事物排序意味着什么的共同直觉的本质:每个事物都和它自己一样 "size",它可以比另一个 "smaller" 但又比另一个不是 "smaller" 本身。最后,如果一件事比另一件事 "smaller",即比第三件事 "smaller",那么它也比第三件事 "smaller"。
总订单是部分订单加上额外的 属性:
- Connexity:
a ≤ b
或b ≤ a
这个定义说在全序中任何两个事物都是可比较的。在部分顺序中,一个事物既不需要比另一个 "smaller" 也不需要相反,在总顺序中,每个事物要么比另一个 "smaller" 或相反。