อัลกอริทึมสำหรับการคำนวณสมดุลของ Nash


10

ฉันค้นหาฟอรัมเพื่อดูว่ามีการถามก่อนหน้านี้หรือไม่และในขณะที่มีการพูดถึงทฤษฎีเกมอัลกอริทึมฉันก็ไม่พบปัญหานี้ ฉันพยายามคิดว่าอัลกอริทึมที่รู้จักกันดีที่สุดสำหรับการคำนวณโดยประมาณ (กลยุทธ์แบบผสม) Nash equilibria ในเกม n-person จำกัด แน่นอนอัลกอริทึมนี้จะเป็น PPAD ฉันสนใจความเร็ว / ประสิทธิภาพมากกว่าความแม่นยำที่สมบูรณ์แบบของอัลกอริทึม

ขอบคุณฟิลิป


เราสามารถช่วยคุณได้ดีขึ้นหากคุณให้รายละเอียดเพิ่มเติม ยกตัวอย่างเช่นคุณมีค่าอะไรในใจ ? คุณมีโครงสร้างพิเศษของฟังก์ชั่นการจ่ายผลตอบแทนในใจหรือไม่? คุณต้องการสมดุลของแนชจริง ๆ หรือจะมีความสมดุลพอเพียงหรือไม่? คุณกำลังมองหาบางสิ่งที่มีขอบเขตที่พิสูจน์ได้ดีหรือบางสิ่งบางอย่างที่มีการใช้งานได้จริง? n
Warren Schudy

คำตอบ:


7

คำตอบสั้น ๆ คือแม้ว่าจะมีอัลกอริธึมเวลาพหุนามสำหรับการหาสมดุลของแนชโดยประมาณพวกเขาพบว่าการประมาณค่อนข้างแย่ - อาจไม่ดีพอถ้าคุณพยายามหาอัลกอริทึมในการเล่นเกม เป็นที่รู้จักกันดีสำหรับเกมผู้เล่น 2 คนมากกว่าเกมผู้เล่น n คน

หากสิ่งที่คุณพยายามจะทำคือการหาสมดุลของแนช (โดยประมาณ) สิ่งหนึ่งที่ง่ายต่อการเขียนโค้ดที่คุณอาจลองคือการจำลองการเล่นเกมโดยผู้เล่นแต่ละคนใช้อัลกอริธึมส่วนใหญ่ถ่วงน้ำหนักแบบสุ่ม (http://en.wikipedia.org/ วิกิพีเดีย / Randomized_weighted_majority_algorithm) สิ่งนี้ไม่ได้รับประกันว่าจะใช้งานได้ แต่ในหลาย ๆ กรณีจะ (และรับประกันได้ในบางคลาสของเกมเช่นเกมที่ไม่มีผลรวม) โดยเฉพาะอย่างยิ่งถ้ากระบวนการนี้มาบรรจบกันทุกอย่างมันรับประกันว่าจะมาบรรจบกันที่สมดุลของแนช อันตรายคือมันจะไม่มาบรรจบกันและหมุนเวียนตลอดไป - แต่ในกรณีนี้ประวัติศาสตร์เชิงประจักษ์ของการเล่นเกมจะมาบรรจบกันกับชุดของความสมดุลที่มีความสัมพันธ์หยาบ


ฉันเริ่มดูกระดาษที่กล่าวถึงในคำตอบข้างต้น ฉันไม่เข้าใจทั้งหมด (หรือเมื่อมองแวบแรก) คุณสามารถอธิบายได้หรือไม่ว่าทำไมการประมาณนั้นค่อนข้าง "แย่" นอกจากนี้คุณสามารถอธิบายสั้น ๆ ว่า "สมดุลที่สัมพันธ์กันหยาบ" คืออะไร? ฉันรู้ว่าสมดุลคืออะไร แต่มันหมายถึงอะไรสำหรับสมการดังกล่าว ที่จะหยาบ ในที่สุดคุณหมายถึงอะไรโดย "ประวัติศาสตร์เชิงประจักษ์ของการเล่นเกมจะมาบรรจบกัน ... [ฯลฯ ]"? สิ่งที่ไม่เคยบรรจบกันมาบรรจบกับชุดของ CCE ได้อย่างไร? ขอบคุณสำหรับคำตอบของคุณฉันกำลังค้นหาบทความ Wikipedia ตอนนี้
ฟิลิปไวท์

สำหรับพื้นหลังบางอย่างเกี่ยวกับอัลกอริทึมที่สร้างการแจกแจงที่มาบรรจบกันในภาวะที่มีความสัมพันธ์หยาบหรือดุลยภาพที่มีความสัมพันธ์ฉันจะเริ่มต้นที่นี่: cs.cmu.edu/~avrim/Papers/regret-chapter.pdf
Aaron Roth

หากคุณต้องการความสมดุลที่มีความสัมพันธ์มากกว่าที่จะเป็นความสมดุลที่มีความสัมพันธ์หยาบคุณสามารถใช้ผู้เรียนที่ไม่มีความเสียใจภายใน ยกตัวอย่างเช่น (ไร้ยางอายปลั๊ก) cs.brown.edu/~ws/papers/regret.pdf นอกจากนี้ยังมีอัลกอริทึมสำหรับการคำนวณภาวะสมดุลสัมพันธ์โดยตรงในเวลาพหุนาม
Warren Schudy


4

หากคุณมีความสนใจในอัลกอริทึมที่ใช้งานจริงในซอฟต์แวร์มีหลายอย่างที่ฉันรู้:

  1. แพคเกจ GAMBIT (http://www.gambit-project.org/doc/index.html) ใช้อัลกอริธึมสมดุลของ Nash หลายแบบสำหรับรูปแบบปกติของผู้เล่น 2 คน & n- ผู้เล่นและในบางกรณีเกมรูปแบบที่กว้างขวาง

  2. GameTracer (http://dags.stanford.edu/Games/gametracer.html) ใช้ Govindan & Wilson's GNM และ IPA อัลกอริทึมสำหรับ n-player รูปแบบเกมปกติ

  3. สำหรับเกมที่มีขนาดใหญ่รูปแบบปกติจะเป็นปัญหาเมื่อขนาดเพิ่มขึ้นอย่างทวีคูณในจำนวนผู้เล่น หากฟังก์ชันยูทิลิตี้ของเกมมีโครงสร้างบางประเภทคุณสามารถใช้ "การแทนแบบย่อ" (เช่นเกมกราฟิกเกมสมมาตรเกมแอ็คชั่นกราฟ) เพื่อแสดงโดยใช้พื้นที่น้อยกว่ามาก และนอกจากนี้โครงสร้างยังสามารถนำไปใช้ประโยชน์ในการคำนวณความเร็วได้อีกด้วย ในแง่ของซอฟแวร์ AGG Solver (http://agg.cs.ubc.ca) จะปรับอัลกอริทึม GNM ของ GameTracer และอัลกอริทึม simpdiv ของ GAMBIT ให้เป็นตัวแทนเกม action-graph (AGG) (ข้อจำกัดความรับผิดชอบ: ฉันมีส่วนร่วมในการพัฒนาซอฟต์แวร์นี้ pacakge)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.