Đây là lệnh 2nash có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
nash - tìm điểm cân bằng nash trong trò chơi bất hợp tác của hai người
SYNOPSIS
thiết lập đầu vào game1.ine game2.ine
thiết lập2 đầu vào game1.ine game2.ine
nash game1.ine game2.ine
2 của bạn game1.ine game2.ine
MÔ TẢ
Tất cả các điểm cân bằng Nash (NE) cho một trò chơi không hợp tác hai người được tính bằng cách sử dụng hai
xen kẽ các bước liệt kê đỉnh tìm kiếm ngược. Đầu vào cho bài toán là hai m
bởi n ma trận A, B số nguyên hoặc số hữu tỉ. Người chơi đầu tiên là người chơi hàng, người chơi thứ hai
là người chơi cột. Nếu hàng i và cột j được chơi, người chơi 1 nhận được Ai, j và người chơi
2 nhận Bi, j. Nếu bạn có sẵn hai cpus trở lên, hãy chạy 2nash thay vì nash như
thứ tự của các trò chơi đầu vào là phi quan trọng. Nó chạy song song với các trò chơi theo từng thứ tự.
(Nếu bạn sử dụng nash, chương trình thường chạy nhanh hơn nếu m <= n, xem bên dưới.)
cách sử dụng chương trình nash hoặc 2nash là trước tiên chạy setupnash hoặc (setupnash2 xem bên dưới)
trên một tệp có chứa:
mn
ma trận A
ma trận B
ví dụ. trò chơi tập tin dành cho trò chơi có m = 3 n = 2:
3 2
0 6
2 5
3 3
1 0
0 2
4 3
% setupnash trò chơi game1 game2
tạo ra hai đại diện H, trò chơi1 và trò chơi2, một cho mỗi người chơi. Để có được
cân bằng, chạy
%nash game1 game2
or
% 2nash trò chơi1 trò chơi2
Mỗi hàng bắt đầu từ 1 là một chiến lược dành cho người chơi hàng mang lại điểm NE với mỗi hàng
đầu 2 được liệt kê ngay phía trên nó. Phần thưởng cho người chơi 2 là số cuối cùng trên
dòng bắt đầu từ 1 và ngược lại. Ví dụ: hai dòng đầu ra đầu tiên: trình phát 1 sử dụng hàng
xác suất 2/3 2/3 0 dẫn đến phần thưởng 2/3 cho người chơi 2. Người chơi 2 sử dụng cột
xác suất 1/3 2/3 mang lại phần thưởng là 4 cho người chơi 1. Nếu cả hai ma trận đều không âm
và không có cột nào, thay vào đó bạn có thể sử dụng setupnash2:
% setupnash2 trò chơi trò chơi1 trò chơi2
Bây giờ các khối đa diện được tạo ra là các khối đa diện. Đầu ra của nash trong trường hợp này là danh sách
vectơ xác suất không được chia tỷ lệ x và y. Để chuẩn hóa, hãy chia mỗi vectơ cho v = 1 ^ T x và
u = 1 ^ T yu và v lần lượt là phần thưởng cho người chơi 1 và 2. Trong trường hợp này, hãy thấp hơn
giới hạn về các chức năng trả thưởng cho một trong hai hoặc cả hai người chơi có thể được bao gồm. Để đưa ra một mức thấp hơn
ràng buộc của r về phần thưởng cho người chơi 1 thêm các tùy chọn vào tệp game2 (vâng, đó là
đúng!) Để cung cấp giới hạn r thấp hơn cho phần thưởng cho người chơi 2, hãy thêm các tùy chọn vào tệp
trò chơi1
giảm thiểu
0 1 1 ... 1 (n mục nhập được tha thứ)
ràng buộc 1 / r; (lưu ý: nghịch đảo của r)
Nếu bạn không muốn sử dụng chương trình 2-cpu 2nash, vui lòng đọc phần sau. Nếu m là
lớn hơn n thì nash thường chạy nhanh hơn bằng cách hoán vị các cầu thủ. Điều này đạt được
bằng cách chạy:
%nash game2 game1
Nếu bạn muốn tạo các tệp game1 và game2 bằng tay, hãy xem lrslib người sử dụng nhãn hiệu[1]
Sử dụng 2nash trực tuyến bằng các dịch vụ onworks.net