2011-02-04 32 views
6

Có thư viện Python nào ở đó giải quyết cho trạng thái cân bằng Nash của trò chơi không có hai người không? Tôi biết giải pháp có thể được viết ra dưới dạng ràng buộc tuyến tính và, theo lý thuyết, scipy sẽ có thể tối ưu hóa nó. Tuy nhiên, đối với trò chơi không có hai người, giải pháp là chính xác và độc đáo, nhưng một số người giải quyết không hội tụ được với một số vấn đề nhất định.Cân bằng Nash trong Python

Thay vì liệt kê bất kỳ thư viện nào trên Linear programing trên trang web Python, tôi muốn biết thư viện nào sẽ hiệu quả nhất về mặt dễ sử dụng và tốc độ.

Trả lời

3

Raymond Hettinger đã viết a recipe for solving zero-sum payoff matrices. Nó sẽ phục vụ mục đích của bạn alright.

Đối với thư viện tổng quát hơn để giải quyết lý thuyết trò chơi, không có gì được thiết kế riêng cho điều đó. Nhưng, như bạn đã nói, scipy có thể giải quyết các vấn đề tối ưu hóa như thế này. Bạn có thể làm điều gì đó với GarlicSim, mà tuyên bố là cho "bất kỳ loại mô phỏng: Vật lý, lý thuyết trò chơi ..." nhưng tôi chưa bao giờ sử dụng nó trước vì vậy tôi không thể khuyên bạn nên nó.

+1

Đoạn mã có vẻ hoạt động tốt, tuy nhiên đoạn mã sử dụng kỹ thuật lặp lại, giải pháp chính xác sẽ tuyệt vời vì nó tồn tại và là duy nhất. – Hooked

+0

@Hãy đổ lỗi cho Raymond, không phải tôi;) Bạn có thể thử GarlicSim, nhưng không hứa hẹn –

+0

Nhà phát triển GarlicSim tại đây. Nếu bạn đang tìm kiếm một giải pháp phân tích, GarlicSim không tốt cho bạn. Nếu bạn muốn chạy mô phỏng của người chơi chơi trò chơi của bạn, bạn có thể làm điều đó với GarlicSim, và bạn có thể thử sử dụng nó để có được một giải pháp số, nhưng tôi nghĩ bạn tốt hơn với giải pháp phân tích, tức là không sử dụng GarlicSim . Giả sử tôi hiểu câu hỏi của bạn một cách chính xác. –

0

Tôi vừa mới bắt đầu đặt lại với nhau một số trò chơi đang thuyết python: http://drvinceknight.github.com/Gamepy/

Có là mã đó:

  • phá được trò chơi phù hợp với,
  • tính toán giá trị Shapley trong các trò chơi hợp tác,
  • chạy mô phỏng dựa trên tác nhân để xác định hành vi khẩn cấp trong các trò chơi dạng thông thường,
  • (vụng về - foo python của tôi vẫn đang phát triển) sử dụng lrs thư viện (viết bằng C: http://cgm.cs.mcgill.ca/~avis/C/lrs.html) để tính toán các giải pháp cho các trò chơi hình thức bình thường (điều này là tôi tin những gì bạn muốn).

Mã có sẵn trên github và trang web đó (liên kết đầu tiên ở đầu câu trả lời này) giải thích cách mã hoạt động và cung cấp ví dụ cho người dùng.

Bạn cũng có thể muốn xem 'Gambit' mà tôi chưa từng sử dụng.

+1

Liên kết http://drvinceknight.github.com/Gamepy/ đã chết, vui lòng cập nhật hoặc xóa nó – Somum

Các vấn đề liên quan