นี่คือคำสั่ง 2nash ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
แนช - ค้นหาสมดุลของแนชของเกมที่ไม่ร่วมมือกันสองคน
เรื่องย่อ
ตั้งค่าแนช อินพุต game1.ine game2.ine
เซ็ตอัพแนช2 อินพุต game1.ine game2.ine
แนช game1.ine game2.ine
2แนช game1.ine game2.ine
DESCRIPTION
สมดุลของแนชทั้งหมด (NE) สำหรับเกมสองคนที่ไม่ร่วมมือคำนวณโดยใช้สอง
ขั้นตอนการแจงนับจุดยอดการค้นหาแบบย้อนกลับแบบอินเตอร์ลีฟ อินพุตสำหรับปัญหาคือสอง m
โดย n เมทริกซ์ A,B ของจำนวนเต็มหรือตรรกยะ ผู้เล่นคนแรกคือผู้เล่นแถว คนที่สอง
เป็นผู้เล่นคอลัมน์ หากเล่นแถวที่ i และคอลัมน์ j ผู้เล่นที่ 1 จะได้รับ Ai,j และผู้เล่น
2 รับ Bi,j. หากคุณมีซีพียูสองตัวขึ้นไปให้รัน 2nash แทน nash เป็น
ลำดับของเกมอินพุตไม่มีสาระสำคัญ มันทำงานควบคู่ไปกับเกมในแต่ละลำดับ
(ถ้าคุณใช้ nash โปรแกรมมักจะทำงานเร็วกว่าถ้า m คือ <= n ดูด้านล่าง) วิธีที่ง่ายที่สุด
วิธีการใช้โปรแกรม nash หรือ 2nash คือการเรียกใช้ setupnash ก่อนหรือ ( setupnash2 ดูด้านล่าง )
ในไฟล์ที่มี:
m
เมทริกซ์ A
เมทริกซ์ B
เช่น. เกมไฟล์สำหรับเกมที่มี m=3 n=2:
3 2
0 6
2 5
3 3
1 0
0 2
4 3
% เกมเซ็ตอัพ game1 เกม2
สร้างตัวแทน H สองรายการ game1 และ game2 หนึ่งรายการสำหรับผู้เล่นแต่ละคน ที่จะได้รับ
สมดุล วิ่ง
% แนช เกม1 เกม2
or
% 2nash เกม1 เกม2
แต่ละแถวที่เริ่มต้น 1 เป็นกลยุทธ์สำหรับผู้เล่นแถวที่ให้ค่า NE กับแต่ละแถว
จุดเริ่มต้น 2 ที่ระบุไว้ข้างต้นทันที ผลตอบแทนสำหรับผู้เล่น 2 เป็นตัวเลขสุดท้ายใน
บรรทัดที่ 1 และในทางกลับกัน เช่น: เอาต์พุตสองบรรทัดแรก: ผู้เล่น 1 ใช้ row
ความน่าจะเป็น 2/3 2/3 0 ส่งผลให้มีการจ่ายเงิน 2/3 ให้กับผู้เล่น 2. ผู้เล่น 2 ใช้คอลัมน์
ความน่าจะเป็น 1/3 2/3 ให้ผลตอบแทน 4 แก่ผู้เล่น 1 หากเมทริกซ์ทั้งสองไม่เป็นลบ
และไม่มีคอลัมน์ศูนย์ คุณสามารถใช้ setupnash2 แทน:
% setupnash2 เกม เกม1 เกม2
ตอนนี้รูปทรงหลายเหลี่ยมที่ผลิตขึ้นนั้นเป็นโพลิโทป ผลลัพธ์ของแนชในกรณีนี้คือรายการของ
เวกเตอร์ความน่าจะเป็นที่ไม่ได้มาตราส่วน x และ y ในการทำให้เป็นมาตรฐาน ให้หารเวกเตอร์แต่ละตัวด้วย v = 1^T x และ
u=1^T yu และ v คือผลตอบแทนของผู้เล่นที่ 1 และ 2 ตามลำดับ ในกรณีนี้ ให้ต่ำกว่า
อาจรวมขอบเขตของฟังก์ชันการจ่ายเงินให้กับผู้เล่นคนใดคนหนึ่งหรือทั้งสองคน ให้ต่ำลง
ขอบเขตของ r ในการจ่ายเงินสำหรับผู้เล่น 1 เพิ่มตัวเลือกในไฟล์ game2 (ใช่นั่นคือ
ถูกต้อง!) เพื่อให้ขอบล่างของ r ของผลตอบแทนสำหรับผู้เล่น 2 ให้เพิ่มตัวเลือกลงในไฟล์
game1
ลด
0 1 1 ... 1 (n รายการที่จะเริ่มต้น)
ถูกผูกไว้ 1/r; (หมายเหตุ: ส่วนกลับของ r)
หากคุณไม่ต้องการใช้โปรแกรม 2-cpu 2nash โปรดอ่านสิ่งต่อไปนี้ ถ้า m คือ
มากกว่า n แล้ว nash มักจะวิ่งเร็วกว่าโดยการย้ายผู้เล่น สำเร็จแล้ว
โดยวิ่ง:
% แนช เกม2 เกม1
หากคุณต้องการสร้างไฟล์ game1 และ game2 ด้วยมือ โปรดดูที่ lslib ผู้ใช้งาน คู่มือ[1]
ใช้ 2nash ออนไลน์โดยใช้บริการ onworks.net