为什么矢量时钟的VC(a)<VC(b)==>a->b的这个属性总是成立?



根据矢量时钟的维基百科页面:

If VC(a) < VC(b) then a -> b
    VC - Vecor Clock
    -> - casually related

但是如果我们有以下模式:点击这里查看图片

现在我们可以看到 VC(1,0,1( 和 VC(0,2,2( 的事件,它们满足条件:

sqrt(1+0+1) < sqrt(0+4+4) =>  sqrt(2) < sqrt(8)    //TRUE

但是这两个事件(VC(1,0,1(和VC(0,2,2((不在偶然顺序关系中!

有人可以告诉我这里出了什么问题,我错过了什么吗?

不确定你在这里的事件是什么意思!

如果参与者 x 有一个矢量时钟 VC(x( = VC(1, 0,

1(,并且参与者 y 有一个矢量时钟 VC(y( = VC(0, 2, 2(,那么。- 有一个事件,参与者 x 知道 y 不知道(或依赖于因果关系(。当时钟的第一个值从 0 更改为 1 时,会发生此事件。
- 此外,有三个事件是y知道的,x不知道的(或因果关系依赖于(。当矢量时钟上的第二个和第三个值递增时,就会发生这些事件。 所以:

VC(x( 不是 <= VC(y(VC(y( 不是 <= VC(x(

这些时钟没有因果依赖关系,不能直接比较。

相关内容

  • 没有找到相关文章

最新更新