Nash-egyensúly

Innen: testwiki
Ugrás a navigációhoz Ugrás a kereséshez

Sablon:Hunfn

  1. Sablon:Lbl

Nash-egyensúly

Definíció

A **Nash-egyensúly** a játékelmélet egyik alapvető fogalma, amely John Nash munkásságából származik. Egy Nash-egyensúlyban minden szereplő stratégiája optimális, figyelembe véve a többiek stratégiáját. Más szavakkal:

  • Egy játékos sem tudja javítani a saját eredményét azáltal, hogy egyoldalúan megváltoztatja a stratégiáját.

Formális Meghatározás

Egy n-szereplős játékban, ahol a játékosok stratégiái S1,S2,,Sn, és a játékosok kifizetési függvényei u1,u2,,un: Egy (s1*,s2*,,sn*) stratégiahalmaz Nash-egyensúly, ha minden i-re teljesül: ui(s1*,s2*,,si*,,sn*)ui(s1*,s2*,,si,,sn*) ahol si a játékos i-edik alternatív stratégiája.

Példa: Fogolydilemma

Játék Mátrix

Két játékos (A és B) a következő mátrix szerint dönti el a stratégiáját:

B: Együttműködik B: Megtagad
A: Együttműködik (1,1) (3,0)
A: Megtagad (0,3) (2,2)

Elemzés:

  • Ha A és B is megtagadja, az (2,2) egy Nash-egyensúly, mert egyikük sem javíthat a kifizetésén egyoldalú stratégiaváltással.

Nash-egyensúly Pythonban

Kétszereplős Mátrixjáték Nash-egyensúlya

Használjuk a nashpy könyvtárat, amely hatékony eszközt biztosít kétszereplős mátrixjátékok Nash-egyensúlyának számításához.

Telepítés
pip install nashpy
Implementáció
import nashpy as nash
import numpy as np

# Játék mátrixok
A = np.array([[-1, -3], [0, -2]])  # Játékos A kifizetési mátrixa
B = np.array([[-1, 0], [-3, -2]])  # Játékos B kifizetési mátrixa

# Játék definiálása
game = nash.Game(A, B)

# Nash-egyensúlyok keresése
equilibria = game.support_enumeration()

print("Nash-egyensúlyok:")
for eq in equilibria:
    print(eq)
Kimenet
Nash-egyensúlyok:
(array([0., 1.]), array([0., 1.]))

Ez azt jelenti, hogy mindkét játékos 0%-ban együttműködik és 100%-ban megtagadja, ami megfelel az (2,2) Nash-egyensúlynak.

Általános Nash-egyensúly

Független Stratégiák (Tiszta Stratégiák)

Egy stratégia tiszta, ha a játékos mindig egy adott stratégiát választ (pl. 100%-ban együttműködik).

Vegyes Stratégiák

Vegyes stratégiában a játékos valószínűségi eloszlás szerint választ a stratégiák között. Például:

  • A: p-val együttműködik és 1p-val megtagad.

Python Implementáció Vegyes Stratégiákhoz

# Példa: 3x3 mátrixjáték
A = np.array([[3, 1, 0], [0, 2, 1], [1, 0, 2]])
B = np.array([[3, 0, 1], [1, 2, 0], [0, 1, 2]])

game = nash.Game(A, B)

# Nash-egyensúly keresése
equilibria = game.support_enumeration()

print("Nash-egyensúlyok:")
for eq in equilibria:
    print(eq)
Kimenet

A kimenet tartalmazza a vegyes stratégiákat, például:

(array([0.5, 0.5, 0. ]), array([0.5, 0. , 0.5]))

Ez azt jelenti, hogy az A játékos 50%-ban az első és második stratégiát, míg B 50%-ban az első és harmadik stratégiát választja.

Jelentőség és Alkalmazások

  1. Gazdaság: Piaci stratégiák optimalizálása.
  2. Politika: Konfliktuskezelési stratégiák modellezése.
  3. Hálózati forgalom: Adatátvitel optimalizálása.
  4. Gépi tanulás: Adversariális modellek, például Generative Adversarial Networks (GANs).

Összegzés

A Nash-egyensúly fontos koncepció az optimalizációban és a stratégiai döntéshozatalban. Pythonban a nashpy könyvtár segítségével könnyedén számíthatunk Nash-egyensúlyokat mátrixjátékokra, legyenek azok tiszta vagy vegyes stratégiájú egyensúlyok. Az alkalmazási lehetőségek széleskörűek, a játékelmélettől a mesterséges intelligenciáig.


Sablon:-ford-

Sablon:Hunl