Tại sao Học tăng cường lại hiếm khi được sử dụng trong tìm đường?


12

Thuật toán lý thuyết đồ thị đường đi ngắn nhất đáng kính A * và các cải tiến tiếp theo (ví dụ: Phân cấp chú thích A *) rõ ràng là kỹ thuật được lựa chọn để tìm đường trong phát triển trò chơi.

Thay vào đó, dường như đối với tôi, RL là một mô hình tự nhiên hơn để di chuyển một nhân vật xung quanh một không gian trò chơi.

Nhưng tôi không biết về một nhà phát triển trò chơi duy nhất đã triển khai công cụ tìm đường dựa trên Học tập Củng cố. (Tôi không suy luận rằng ứng dụng của RL trong tìm đường là 0, chỉ là nó rất nhỏ so với A * và bạn bè.)

Dù lý do là gì đi nữa, đó không phải là vì những nhà phát triển này không biết về RL, bằng chứng là RL thường được sử dụng ở những nơi khác trong công cụ trò chơi.

Câu hỏi này không phải là một cái cớ để đưa ra ý kiến ​​về RL trong việc tìm đường; thực tế, tôi cho rằng sở thích ngầm của A * et al. trên RL là chính xác - nhưng sở thích đó rõ ràng không phải với tôi và tôi rất tò mò về lý do của nó, đặc biệt là từ bất kỳ ai đã cố gắng sử dụng RL để tìm đường.


1
"Không phải vì những nhà phát triển này không biết về RL" Bạn có chắc không? Đó dường như là một giả định lớn.
Tetrad

Muốn chia sẻ một số liên kết hoặc giấy tờ về RL trong tìm đường?
falstro

3
Đưa ra các bằng chứng tối ưu / giới hạn khác nhau cho A * (và các thuật toán có liên quan), bạn nghĩ RL mang đến cái gì cho bảng tìm đường?

1
Liên quan (tìm thấy điều này trong một Câu hỏi khác): ai-blog.net/archives/000178.html
Tetrad

Câu trả lời:


14

Tôi sẽ tưởng tượng điều đó bởi vì, vì bạn sẽ không nhận được bất kỳ sự khái quát hóa hữu ích nào về chính sách ngoài vấn đề đồ chơi và chức năng phần thưởng sẽ trông giống như một heuristic A *, triển vọng sử dụng RL có xu hướng trông giống như thật xây dựng quá mức, cách không hiệu quả để có kết quả giống hệt với A *, nhưng có lẽ sẽ không tốt như vậy.

Điều này có thể không công bằng với RL, và nếu vậy tôi rất muốn nghe lý do tại sao, nhưng tôi không thực sự thấy bất cứ điều gì để chỉ ra điều đó.

Nhiều người trong chúng ta cũng nhớ việc tìm đường giống như thế nào trong các trò chơi trước khi áp dụng rộng rãi A *, và không muốn gây ra bất cứ điều gì giống như những ngày đó đối với người chơi, hoặc chịu hậu quả thị trường khi làm như vậy.


1
+1 cho tuyên bố của bạn về chức năng phần thưởng. Và, không, tôi tin rằng đó là một đặc tính công bằng. RL có thể tuyệt vời với những gì nó làm, nhưng tôi không mong đợi việc tìm đường nghiêm ngặt sẽ nằm trong tập hợp đó. (Lưu ý rằng tôi cố tình loại trừ lập kế hoạch chuyển động khỏi cuộc thảo luận này. RL đã được áp dụng thành công cho loại vấn đề đó).
throwback1986

5

Không biết nhiều về RL, tôi sẽ cố gắng trả lời câu hỏi của bạn bằng các câu hỏi khác:

Sử dụng RL, bạn có thể xác định liệu có thể đến điểm A từ điểm B không?

RL có thể đảm bảo hành vi điều hướng có thể lặp lại / nhất quán / kiểm tra được không?

Làm thế nào để bộ nhớ và CPU yêu cầu thời gian chạy so với A *? Tương tự như vậy, bạn có thể tính toán trước bao nhiêu so với, nói, điều hướng lưới?

Làm thế nào để RL công bằng trong một môi trường với sự va chạm năng động?

Làm thế nào khó khăn hơn nhiều để hiểu và thực hiện RL chính xác so với, nói, hành vi chỉ đạo?

Có nhà cung cấp phần mềm trung gian nào tốt cho RL không?

Có lẽ những câu hỏi có thể giúp bạn với câu trả lời của bạn.


Từ cái nhìn nhanh, A * dường như rẻ hơn để thực hiện, xử lý nhanh hơn, chiếm ít bộ nhớ hơn, dễ dự đoán hơn, v.v. so với RL. RL có thể, tuy nhiên, tạo ra kết quả thực tế hơn.
Jari Komppa

4
Ngược lại, các tác nhân RL có xu hướng tạo ra kết quả cực kỳ vui nhộn trong giai đoạn học tập ban đầu của họ. A * với một số hành vi lái nhỏ trông tự nhiên hơn rất nhiều.

Được rồi, kết quả thực tế hơn cuối cùng =)
Jari Komppa

RL về cơ bản tiền xử lý hành vi tìm đường hoàn hảo. Nó nhanh hơn và đơn giản hơn A *, nhưng chiếm nhiều bộ nhớ hơn. Đó là khi bạn cố gắng đưa các yêu cầu bộ nhớ xuống, nó trở nên phức tạp và / hoặc không nhất quán.
Don Reba

5

Tôi bối rối trước gợi ý rằng RL là "một mô hình tự nhiên hơn". Tôi không thấy cách củng cố bản đồ học tập cho miền vấn đề ở bất cứ đâu gần như sạch sẽ hoặc chính xác như tìm kiếm biểu đồ. Thông thường, bạn không muốn có một đại lý để tìm hiểu - bạn đã cho rằng họ đã biết lộ trình. Thay vào đó, bạn muốn họ chọn và sử dụng tuyến đường trực tiếp nhất có sẵn và tìm kiếm biểu đồ tạo điều kiện cho điều đó theo cách gần tối ưu. Nếu bạn sử dụng RL ngoại tuyến để tính toán hướng tốt nhất để thực hiện tại bất kỳ nút cụ thể nào cho bất kỳ đích cụ thể nào, thì điều đó sẽ mang lại tương đương rộng rãi với A *, ngoại trừ yêu cầu nhiều bộ nhớ hơn * và cũng yêu cầu các nhà phát triển phải rất cẩn thận đảm bảo rằng tất cả các nút đã được khám phá đầy đủ trong quá trình đào tạo. Và việc đào tạo đó sẽ mang lại một giá trị mà chúng ta có thể ước chừng rất tốt với phương trình Pythagoras, do biết trước rằng đồ thị tuân theo quy tắc khoảng cách Euclide. (Tất nhiên, đây không phải là trường hợp cho tất cả các tình huống trong đó tìm kiếm đồ thị và / hoặc học tăng cường có thể được sử dụng.)

(Về vấn đề bộ nhớ: Nếu bạn có 1000 vị trí được lượng tử hóa có thể có trên bản đồ, thì 1000 nút đó cộng với 1000 * M cạnh (trong đó M là số nút trung bình có thể tiếp cận từ bất kỳ nút nào khác.) Điều đó, cộng với heuristic, là đủ cho A * để vận hành. Để tăng cường học tập để làm việc, ít nhất là theo cách tôi dự tính, bạn cũng cần 1000 mục nhập cho mỗi cạnh 1000 * M đó, để ghi giá trị phần thưởng theo cạnh đó cho bất kỳ 1000 nào điểm đến có thể. Đó là rất nhiều dữ liệu - và mỗi bit của nó phải chính xác một cách hợp lý để tránh các vòng lặp, đường vòng hoặc ngõ cụt.


3

Tìm đường là một vấn đề tương đối "được giải quyết", RL thì không.

Với A *, các nhà phát triển có thể tạo ra heuristic một cách nhanh chóng và cải thiện chúng theo thời gian. RL (Tôi đang nói về Q-Learning, khi đề cập đến RL ở đây), cần có thời gian để tính toán tỷ lệ học tập tốt nhất và các yếu tố giảm giá (thời gian đáng để chi tiêu cho các khía cạnh khác của trò chơi).


1

Nó thực sự phụ thuộc vào các loại trò chơi. Nếu mọi thứ trong trò chơi là tĩnh, sử dụng tìm kiếm A * sẽ hiệu quả hơn. Tuy nhiên, nếu có những người chơi khác di chuyển trong cùng khu vực, tìm kiếm A * được đảm bảo thất bại. Tìm kiếm * không có ý tưởng về nơi người chơi khác đang hướng tới. Mặt khác, RL có thể mô hình hóa hành vi của người chơi khác và tìm ra con đường tốt hơn để xem xét chuyển động của người chơi khác.

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.