(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ịnhận được từ Pk sau khi vượt qua các nút trong danh sách, ở một mức độ thấp hơn ở đệ quy. Nếu nó nhận được không có giá trị trong vòng này, nó sẽ sử dụng giá trị mặc định. Quá trình tôi sau đó sử dụng giá trị majorityk•∈List, k• = i (vj, vk) là Hiệp địnhgiá trị và trở về cấp độ cao hơn tiếp theo trong invocation đệ quy.Oral_Msg(0):(1) [đệ quy unfolding:] quá trình hoạt động như một nguồn và gửi giá trị của nó cho mỗi quá trình khác.(2) [đệ quy gấp:] mỗi quá trình sử dụng giá trị nó nhận được từ các nguồn khác, và sử dụng giá trị đó là giá trị thỏa thuận. Nếu không có giá trị nhận được, một giá trị mặc định giả định.
đang được dịch, vui lòng đợi..