Почему это свойство VC (a)<VC (b) ==> a-> b векторных часов всегда выполняется?
Согласно странице Википедии Vector Clocks:
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)) не находятся в случайном порядке!
Может кто-нибудь сказать мне, что здесь не так, я что-то упустил?
1 ответ
Не уверен, что вы подразумеваете под событием здесь!
Если у актера x есть векторные часы VC(x) = VC(1, 0, 1), а у актера y есть векторные часы VC(y) = VC(0, 2, 2).
- Существует событие, о котором актер x знает, о чем y не знает (или зависит от причинности). Это событие произошло, когда первое значение часов изменилось с 0 на 1.
- Кроме того, есть три события, которые вы знаете, а x не знает (или зависит от причинности). Эти события происходили, когда второе и третье значения увеличивались на векторных часах. Так:
VC (х) не <= VC(у) VC (х) не <= VC(х)
Эти часы не имеют причинной зависимости и не могут сравниваться напрямую.