Đưa ra một mê cung 2 chiều nơi bạn có thể đưa ra 4 lệnh "di chuyển lên / xuống / phải / trái". Biết mê cung nhưng không biết người đó ở đâu, làm thế nào để tìm ra chuỗi lệnh tối thiểu đảm bảo thoát khỏi mê cung? Tôi đang tìm kiếm một chuỗi lệnh sẽ hoạt động bất kể bạn bắt đầu từ đâu trong mê cung.
Giả sử rằng nếu đối tác của chúng tôi được đưa ra lệnh "di chuyển đúng" khi có một bức tường bên phải, anh ta sẽ chỉ đơn giản là giữ nguyên vị trí của mình.
Nói cách khác, chúng ta được cung cấp một mê cung và chúng ta phải chọn một chuỗi các lệnh. Sau đó, đối tác của chúng tôi sẽ được đặt ở đâu đó trong mê cung và sẽ tuân theo chuỗi các lệnh chúng tôi đã chọn trước. Chúng tôi muốn trình tự này để đảm bảo đối tác của chúng tôi sẽ trốn thoát, bất kể đối tác của chúng tôi ban đầu được đặt ở đâu. Lưu ý rằng các lệnh được phép không có bất kỳ câu lệnh điều kiện nào, vì vậy chúng không thể theo một trình tự khác tùy thuộc vào đối tác của bạn.
Có một thuật toán đa thức thời gian để xây dựng một chuỗi như vậy, đưa ra một mô tả về mê cung?
Yuval Filmus đề cập đây là trường hợp đặc biệt của một vấn đề từ đồng bộ hóa và có thể liên quan đến các chuỗi truyền tải phổ quát. Tôi cũng tìm thấy một bài báo có vẻ phù hợp:
Mê cung đồng thời giải quyết vấn đề . Stefan Funke, André Nusser, Sabine Storandt. Ái Nhĩ Lan 2017.
Thật không may cho các đồ thị chung điều này dường như là một vấn đề chưa được giải quyết, nhưng tôi tự hỏi liệu có thể có một thuật toán tốt cho trường hợp cụ thể này không. Tôi đã đưa ra một cách tiếp cận ứng viên: Dán nhãn cho mọi vị trí với số bước tối thiểu cần thiết để thoát và theo dõi mọi tác nhân trong mê cung. Có thể thực hiện tìm kiếm A * theo cách này.