Bản năng tốt đến đây. Cảnh báo công bằng, tôi không biết trò chơi này là gì, nhưng. Hãy để người chơi sống tại $(p_x, p_y)$ và AI sống ở $(a_x, a_y)$. Và chúng tôi giả sử một lưới 10 x 10 ô.
Do đó, có 100 vị trí có thể có cho mỗi người chơi và do đó có 10.000 kết hợp có thể có của hai người chơi.Tôi cho rằng AI có thể đứng đầu trình phát, nếu không, bạn sẽ có 10.000 - 100 kết hợp khả thi nếu chúng không thể chia sẻ một ô.
Đối với tất cả các trò chơi, tính toán trước $H(p_x||p_y||a_x||a_y)$, và cả khoảng cách Manhattan $D$ ở giữa $(p_x, p_y)$ và $(a_x, a_y)$. $H$ là một hàm băm mật mã. Tôi đề xuất SHA-1 vì các giá trị thập lục phân 40 ký tự không quá dài để tìm kiếm thủ công. Loại $H$ theo thứ tự số để dễ dàng tìm kiếm hơn. Sau đó xuất bản $(H, Đ)$ cặp trong một cuốn sách dày. Với 50 giá trị băm trên mỗi trang, đó là ~ 200 trang.
Khi AI hoặc người chơi di chuyển, 'trò chơi' xuất ra $H$ mà có thể được tra cứu trong cuốn sách dày để có được $D$. Bạn không muốn lưu trữ kỹ thuật số, nếu không thì trò chơi chỉ có thể tính toán và xuất ra $D$ trực tiếp. Người chơi sẽ biết khoảng cách, nhưng không thể đảo ngược về mặt tính toán $H$ để có được vị trí của AI mà không bị ép buộc/gian lận. Kỹ thuật này cũng cho phép tính toán lại một phía của $(H, Đ)$ cặp nếu cần thiết để kiểm tra quá trình và ngăn chặn gian lận.
Điều này có thể thực hiện được đối với bảng 10 nhân 10, nhưng rõ ràng trở nên vô lý đối với bảng lớn hơn nhiều.
Lưu ý1: Hãy lưu ý mức độ chi tiết của bảng 10 x 10. Vì bạn biết vị trí của chính mình, bất kỳ $D$ tạo ra một vòng tròn các vị trí tiềm năng của AI xung quanh người chơi. Nếu phép tính khoảng cách dựa trên tâm ô, thì chỉ một số ô sẽ khớp chính xác $D$. Vì vậy, có một số rò rỉ thông tin vị trí. Điểm yếu này không phải là một tính năng dành riêng cho giải pháp của tôi, mà là toán học và lưới nhỏ.
Lưu ý2: Nhận xét đảo ngược. Có, bạn có thể tự tạo một cuốn sách mã gian lận và tìm tất cả $H$ tiền hình ảnh. Đó là gian lận mặc dù. Nếu có một trọng tài độc lập không thiên vị cho trò chơi, một chủ ngục tối (???), nếu bạn muốn, bạn có thể điều chỉnh hàm băm như $H = \text{SHA-1}(p_x||p_y||a_x||a_y||pepper)$ nơi hạt tiêu chỉ được biết đến với trọng tài. Điều đó vẫn sẽ tạo điều kiện thuận lợi cho việc kiểm toán trong quá trình tranh chấp.AI có thể giữ hạt tiêu nếu bạn tin tưởng nó sẽ chơi một trò chơi công bằng không?
Lưu ý3: Có thể cắt ngắn theo thống kê $|H|$ từ 40 ký tự thập lục phân đến ít hơn nhiều. 10.000 tổ hợp chỉ chiếm 14 bit. Nếu chúng tôi chọn mức bảo mật vị trí trò chơi là 10.000 khác, chúng tôi có thể sử dụng 28 bit cho các giá trị băm đã xuất bản. Điều đó sẽ xuất bản dưới dạng bảy ký tự thập lục phân; tám nếu bạn muốn cặp. Và do đó ít trang hơn.