(biến)
thực sự: v ← - giá trị đầu vào; // giá trị ban đầu
MultiSet của V sản;
số nguyên r ← - 0; // Số vòng để thực hiện
(1) Thực hiện tại quá trình Pi, 1 ≤ i ≤ n:
(1a) V ← - Asynchronous_Exchange (v, 0); (1b) v ← - bất kì thành phần (reduce2f
(V));. (1c) r ← - Jlogc (diff (V)) / <⇔, trong đó c = c (n - 3f, 2f)
(1d) cho vòng từ 1 đến r làm
(1e) V ← - Asynchronous_Exchange (v, tròn); (1f) v ← - new2f, f (V);
(1g) phát sóng ((v, dừng lại), r + 1);. (1h) đầu ra v là giá trị quyết định (2) Asynchronous_Exchange (v, h) trả về V: (2a) phát sóng (v, h) cho tất cả các quy trình; (2b) đang chờ đợi n - phản ứng f thuộc vòng h và thêm vào V; (2c) cho mỗi quá trình Pk đó gửi (x, dừng lại) là giá trị, sử dụng x như của đầu vào từ đó trở đi; (2d) trả lại MultiSet V. Algorithm 14,6 Asynchronous thuật toán thỏa thuận xấp xỉ [7]. Ở đây, n ≥ 5f + 1. Hãy xem xét bất kỳ bộ sưu tập được sắp xếp U. Các ước tính mới của một quá trình được lựa chọn bởi tính newk, f (U), mà là tham số của k và f, và xác định là trung bình (selectk (reducef (U))): • reducef (U) loại bỏ các f lớn nhất và f thành viên nhỏ nhất của U. • selectk (U) chọn tất cả các thành viên thứ k của U, bắt đầu với sự đầu tiên. Nếu U có thành viên m, selectk (U) có c (m, k) = ⇐ (m - 1) / k⇒ + 1 thành viên. Đây c hằng số đại diện cho một yếu tố hội tụ về phía giá trị thỏa thuận cuối cùng, tức là, nếu x là một loạt các giá trị có thể được tổ chức bởi các quá trình chính xác trước khi một vòng, sau đó x / c là phạm vi có thể của giá trị dự toán được tổ chức bởi những quy trình sau vòng đó. Tác giả của các định nghĩa Hình 14.8 cho thấy selectk (reducef (U)) hoạt động, với k = 5 và f = 4.. Giá trị trung bình của các thành viên được lựa chọn là ước new5,4 mới (U) Các thuật toán sử dụng m = n - 3f và k = 2f. Vì vậy, c (n - 3f, 2f) sẽ đại diện cho các yếu tố hội tụ tới việc đạt được thỏa thuận gần đúng và new2f, f là các ước tính mới sau mỗi vòng. Sự lựa chọn của các thông số này sẽ được biện minh.
đang được dịch, vui lòng đợi..
