我正在尝试解决Distributed Algorithms of Nancy A. Lynch中的练习6.5
考虑f失败的FloodSet算法。假设算法没有运行f + 1轮,而是仅运行f轮,并且具有相同的决策规则。描述违反正确性要求的特定执行。
FloodSet Properties:
1)Agreement
If any correct process believes that V is the consensus value, then all correct processes believe V is the consensus value.
2)Validity
If V is the consensus value, then some process proposed V.
3)Termination
Each process decides some value V.
决策规则:如果W包含一个值,则我们确定该值,否则确定预先约定的值v0。
我尝试了示例:
Let Wp_r denote the value of Wp at the beginning of round r. The initial value of process
p1 is 0 and the initial value of all other processes is 1.
In each round i, 1 ≤ i ≤ f, process pi sends Wpi_i and crashes. This message is
received only by process pi+1. Thus, at the end of round f, we have Wpf+1_f+1= {0,1}, while
for pf+2 we have Wpf+1_f+1= {1}.
Therefore, pf+1 decides v0, while pf+2 decides 1.
违反协议属性。如何更改示例以使其他两个属性(如果可能)受到侵犯?
你在数学上的构想