(biến)boolean: v ←− giá trị ban đầu;số nguyên: f ←− tối đa số của quá trình độc hại, ≤ ⇐(n − 1)/3⇒;(tin nhắn) OM (v, Dests, danh sách, bị lỗi), nơi v là một boolean,Dests là một tập hợp các điểm đến quá trình i.d.s mà thư được gửi,Danh sách là một danh sách các quá trình i.d.s ngang qua tin nhắn này, đã ra lệnh từ đặt để sớm nhất,bị lỗi là một số nguyên chỉ số của quá trình độc hại để được dung thứ.Oral_Msg (f), nơi f > 0:(1) thuật toán được khởi xướng bởi người chỉ huy, người gửi của ông giá trị nguồnv để tất cả các quá trình khác bằng cách sử dụng một OM (v, N, (i), f) thông báo. Chỉ huytrả về giá trị của mình v và chấm dứt.(2) [đệ quy unfolding:] cho mỗi tin nhắn của hình thức OM (vj, Dests, danh sách, f r) nhận được trong vòng này từ một số j quá trình, quá trình tôi sử dụng giá trị vj nó nhận được từ nguồn j, và bằng cách sử dụng giá trị đó, hoạt động như một nguồn mới. (Nếu không có giá trị nhận được, một giá trị mặc định giả định.)Để hoạt động như một nguồn mới, quá trình tôi khởi Oral_Msg (f r − 1), trong đó nó sẽ gửiOM(VJ, Dests − {i}, concat((i), L), (f r − 1)) tới các điểm đến không có trong concat((i), L)trong vòng tiếp theo.(3) [đệ quy gấp:] cho mỗi tin nhắn của hình thức OM (vj, Dests, danh sách, f r) nhận được trong bước 2, mỗi quá trình tôi đã tính toán đồng ý-ment giá trị vk, cho mỗi k không có trong danh sách và k • = tôi, tương ứng với giá trịreceived from Pk after traversing the nodes in List, at one level lower in the recursion. If it receives no value in this round, it uses a default value. Process i then uses the value majorityk•∈List,k•=i(vj, vk) as the agreementvalue and returns it to the next higher level in the recursive invocation.Oral_Msg(0):(1) [Recursion unfolding:] Process acts as a source and sends its value to each other process.(2) [Recursion folding:] Each process uses the value it receives from the other sources, and uses that value as the agreement value. If no value is received, a default value is assumed.
đang được dịch, vui lòng đợi..
