Tất cả các binh sĩ nên bắn cùng một lúc


15

Khi còn là sinh viên, tôi đã thấy một vấn đề trong sách giáo khoa thiết kế hệ thống / logic kỹ thuật số, về những người lính N đứng trong một hàng, và muốn bắn cùng một lúc. Một phiên bản khó khăn hơn của vấn đề là những người lính đứng trong một mạng lưới chung thay vì một hàng. Tôi chắc chắn đây là một vấn đề cổ điển, nhưng tôi không thể nhớ tên của nó. Bạn có thể nhắc tôi không

Câu trả lời:


21

Vấn đề được gọi là vấn đề đồng bộ hóa đội bắn . Vấn đề chính nó, liên quan chặt chẽ đến automata nhà nước hữu hạn. Ở đây, mỗi người lính là một máy tự động hữu hạn; bạn biết rằng trạng thái tiếp theo của mỗi người lính phụ thuộc vào trạng thái hiện tại của nó và trạng thái hiện tại của hai người hàng xóm của họ (ngoại trừ người lính đầu tiên và người lính cuối cùng). Người lính đầu tiên trong bối cảnh này có thể mặc dù là tướng quân, người chịu trách nhiệm bắt đầu cuộc tấn công. Người lính cuối cùng biết đó là người cuối cùng. Không có giao tiếp toàn cầu có sẵn; tuy nhiên, đồng hồ toàn cầu có thể được sử dụng để đồng bộ hóa quá trình chuyển trạng thái của binh lính. Vấn đề yêu cầu thiết kế một máy tự động của người lính với mục tiêu là cho tất cả các binh sĩ vào trạng thái "SHOOT" trên cùng một đồng hồ. Nhân tiện, vấn đề có thể được giải quyết trongΘ(n) thời gian cho n chiến sĩ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.