Участник:Konstantin 013

Материал из Алговики
Перейти к навигации Перейти к поиску

Основные авторы описания: К.В.Телегин

Свойства и структура алгоритмов

Общее описание алгоритма

Данный алгоритм находит равновесие Нэша в игре двух лиц с конечным числом стратегий

Математическое описание алгоритма

Определим игру двух лиц. Пусть первый игрок имеет в своём распоряжении стратегии [math]\displaystyle{ x }[/math] из множества стратегий [math]\displaystyle{ X }[/math], а второй игрок стратегии [math]\displaystyle{ y }[/math] из множества стратегий [math]\displaystyle{ Y }[/math]. Будем рассматривать игру в нормальной форме. Это означает, что каждый из игроков выбирает стратегию, не зная выбора партнёра. Пару стратегий [math]\displaystyle{ (x, y) }[/math] будем называть ситуацией. у первого игрока имеется функция выигрыша [math]\displaystyle{ F(x, y) }[/math], а у второго [math]\displaystyle{ G(x, y) }[/math]. определённые на на множестве всех ситуаций [math]\displaystyle{ X × Y }[/math]. каждый игрок стремится, по возможности, максимизировать свою функцию выигрыша. Таким образом, игра двух лиц в нормальной форме может быть задаётся набором [math]\displaystyle{ \Gamma \langle X, Y, F(x, y), G(x, y) \rangle }[/math] Определение. Ситуация [math]\displaystyle{ (x^0, y^0) }[/math] называется равновесием по Нэшу игры [math]\displaystyle{ \Gamma }[/math] если: [math]\displaystyle{ \max_{x \in X} F(x, y^0) = F(x^0, y^0) \quad , \quad \max_{y \in Y} F(x^0, y) = G(x^0, y^0) }[/math]

Иными словами, каждому из игроков невыгодно отколняться от ситуации равновесия.[1]

В данной статье мы рассмотрим нахождение ситуаций равновесий Нэша в случае, когда [math]\displaystyle{ X, Y }[/math] - конечные множества. тогда можно считать, что [math]\displaystyle{ X = [1, ..., n], Y = [1, ..., m] }[/math], а [math]\displaystyle{ F, G }[/math] - являются матрицами [math]\displaystyle{ R^{n × m} }[/math]

Вычислительное ядро алгоритма

Сначала будет естественно для каждого столбца матрицы [math]\displaystyle{ F }[/math] найти максимум в нём и для каждой строки матрицы [math]\displaystyle{ G }[/math] найти максимум в ней. Т.е. мы ищем для каждого из [math]\displaystyle{ m }[/math] векторов [math]\displaystyle{ R^n }[/math] мы ищем максимум и для каждого из [math]\displaystyle{ n }[/math] векторов [math]\displaystyle{ R^m }[/math] мы ищем максимум. После этого для каждой ситуации [math]\displaystyle{ (x^0, y^0) }[/math] несложно понять, является ли она равновесием Нэша: нужно просто проверить, что [math]\displaystyle{ F(x^0, y^0) }[/math] - максимальный элемент в [math]\displaystyle{ y^0 }[/math]-м столбце матрицы [math]\displaystyle{ F }[/math] и [math]\displaystyle{ G(x^0, y^0) }[/math] - максимальный элемент в [math]\displaystyle{ x^0 }[/math]-ой строке матрицы [math]\displaystyle{ G }[/math].

Программная реализация алгоритма

Литература

  1. ↑ Васин А.А., Морозов В.В. "Введение в теорию игр с приложениями в экономике"(учебное пособие). - М.: 2003. - 278 с. Pages 91-92