Цель лекции: Рассмотреть объектно-ориентированое моделирование матричных игр. Реализовать проверку смешанных стратегий с помощью вычислительных экспериментов.
На прошлой лекции мы рассматривали игру в "крестики-нолики", в которой принимали участие два различных агента. В настоящей лекции мы рассмотрим элементы теории игр. Теория игр - это прикладная математическая дисциплина, в которой изучаются методы нахождения оптимальных решений в условиях неопределенности и ситуациях противодействия со стороны других игроков. Современную математическую форму теория игр приобрела после известного труда Дж. фон Неймана и О. Моргенштерна "Теория игр и экономическое поведение", вышедшего в 1944 году. В настоящее время теория игр находит свое применение в экономических науках, в социальных науках, биологии, а также и в математических дисциплинах, таких как, математическая статистика, функциональный анализ и других.
В отличии от задач оптимизации, где необходимо найти оптимальное решение в заданных условиях, в теории игр необходимо найти оптимальное решение в условиях противодействия со стороны других игроков.
В теории игр рассматривается большое количество постановок различных игр. Мы рассмотрим подробно самую известную постановку в теории игр - антагонистичную игру двух лиц.
Обозначим через $$I$$ множество всех игроков. Мы будем рассматривать конечное число игроков. Мы будем различать игроков по номерам$$I=\{1,2,\dots,N\}.$$ Предположим, что каждый игрок $$i\in I$$ имеет в своем распоряжении определенное множество стратегий, которое мы обозначим через $$S_i$$.
Процедура игры происходит следующим образом: каждый игрок выбирает одну стратегию из своего множества стратегий $$s_i\in S_i$$. Вектор выбранных стратегий всех игроков обозначим через$$s=(s_1,s_2,\dots,s_N).$$ Вектор $$s$$ называется ситуацией в игре. Множество всех возможных ситуаций можно ввести по формуле$$S=\prod\limits_{i\in I}S_i.$$ В каждой сложившейся ситуации игроки получают определенные выигрыши. Договоримся считать, что выигрыш может быть и отрицательным, что означает проигрыш. Выигрыш игрока $$i$$ в ситуации $$s$$ обозначим через $$H_i(s)$$. Функция $$H_i$$, определенная на множестве всех ситуаций$$H_i:S\to\Bbb{R}$$ называется функцией выигрыша $$i$$ -го игрока. Мы будем измерять выигрыши действительными числами, хотя не всегда выигрыш может быть измерен числом.
Бескоалиционной игрой называется система$$\Gamma=\langle I,\{S\}_{i\in I},\{H_i\}_{i\in I}\rangle,$$ где $$I$$, $$S_i$$ являются множествами, а $$H_i$$ - функции на множестве $$S$$, принимающие вещественные значения.
Наиболее часто встречается ситуация, когда сумма выигрышей всех игроков во всех ситуациях является постоянной, что соответствует тому, что игроки по сути делят между собой фиксированную сумму. Игра называется игрой с постоянной суммой, если$$\sum\limits_{i\in I}H_i(s)=const$$ при всех ситуациях $$s\in S$$.
Мы будем рассматривать антагонистичные игры. Игра называется
антагонистичной, если число игроков равно двум, т.е. $$I=\{1,2\}$$,
а значения
Если в теории оптимизации основной задачей является нахождения
оптимальных решений, то в теории игр аналогом этого является
нахождения
Если множества стратегий конечны, то антагонистичные игры удобно записывать в матричном виде. Пусть множество стратегий первого игрока равно $$n>1$$, а второго - $$m>1$$, тогда запишем в виде матрицы значения функции выигрышей$$A=\left(% \begin{array}{cccc} a_{11} a_{12} \dots a_{1n} \\ a_{21} a_{22} \dots a_{2n} \\ \dots \dots \dots \dots \\ a_{m1} a_{m2} \dots a_{mn} \\ \end{array}% \right)$$ Игра в этом случае состоит в том, что первый игрок выбирает строку, а второй игрок (одновременно!) выбирает столбец. Число, стоящее на пересечении выбранных строки и столбца, означает выигрыш первого игрока и проигрыш второго игрока.
В матричной игре ситуация $$(i^*,j^*)$$ называется равновесной, если$$a_{ij^*}\le a_{i^*j^*}\le a_{i^*j}$$
для всех $$i=1,\dots,m$$ и $$j=1,\dots,n$$. В теории игр доказывается,
что для существования
При смешанном расширении понятия
Теорема 21.1. В матричной игре с матрицей выигрышей $$A$$ имеет место$$\max\limits_X\min\limits_j(XA_{.j})=\min\limits_Y\max\limits_i(A_{i.}Y.)$$ При чем внешние экстремумы достигаются на оптимальных смешанных стратегиях.
В этой теореме $$A_{i.}$$ обозначает $$i$$ -ую строку, а $$A_{j.}$$ - $$j$$ -ый столбец.
Несмотря на наличие этой теоремы вопрос конкретного определения оптимальных стратегий является очень сложным.
Мы в нашем курсе проведем моделирование
Теперь создадим два наследных класса, в которых мы реализуем две
Класс $$TGame1$$ - это самая простая нетривиальная игра. По сути это игра в "чет--нечет". В этой игре нет равновесных чистых стратегий, а в смешанных стратегиях эта игра имеет следующее решение$$X=\left(\frac{1}{2},\frac{1}{2}\right),$$ $$Y=\left(\frac{1}{2},\frac{1}{2}\right).$$ Вторая игра, реализованная в классе $$TGame2$$, представляет собой более сложную игру со следующей платежной матрицей$$A=\left(% \begin{array}{ccc} 0 1 -2 \\ -1 0 3 \\ 2 -3 0 \\ \end{array}% \right)$$ В этой игре также нет состояния равновесия, но есть решение в смешанных стратегиях одинаковое для обоих игроков:$$X=\left(\frac{1}{2},\frac{1}{3},\frac{1}{6}\right),$$ $$Y=\left(\frac{1}{2},\frac{1}{3},\frac{1}{6}\right).$$ Цена этой игры равна нулю.
Проверим эти решения с помощью наших классов.
$$\begin{verbatim} double[] X; double[] Y; TGame1 Game1 = new TGame1(); X = new double[3] {0, 0.5, 0.5 }; Y = new double[3] {0, 0.5, 0.5 }; Console.WriteLine("Game1: theory = {0}, Res = {1}", Game1.GetC(X, Y), Game1.Calc(X, Y, 1000000)); TGame2 Game2 = new TGame2(); X = new double[4] { 0, 0.5, 1.0 / 3.0, 1.0 / 6.0 }; Y = new double[4] { 0, 0.5, 1.0 / 3.0, 1.0 / 6.0 }; Console.WriteLine("Game2: theory = {0}, Res = {1}", Game2.GetC(X, Y), Game2.Calc(X, Y, 1000000)); \end{verbatim}$$После запуска мы получим примерно следующее:
$$\begin{verbatim} Game1: theory = 0.5, Res = 0.500092 Game2: theory = 0, Res = -0.00097 \end{verbatim}$$Ключевые термины
Антагонистичная игра - игра двух игроков с нулевой суммой.
Ситуация в игре - набор выбранных стратегий всех игроков.
Ситуация равновесия - такая ситуация, при которой ни один из игроков не заинтересован в изменении стратегии.
Смешанная стратегия - случайная величина, значениями
которой являются
Теория игр - прикладная математическая дисциплина, в которой изучаются методы нахождения оптимальных решений в условиях неопределенности и ситуациях противодействия со стороны других игроков.
Краткие итоги: Рассмотрены постановки игр. Для
Цель лекции: Рассмотреть объектно-ориентированое моделирование матричных игр. Реализовать проверку смешанных стратегий с помощью вычислительных экспериментов.
На прошлой лекции мы рассматривали игру в "крестики-нолики", в которой принимали участие два различных агента. В настоящей лекции мы рассмотрим элементы теории игр. Теория игр - это прикладная математическая дисциплина, в которой изучаются методы нахождения оптимальных решений в условиях неопределенности и ситуациях противодействия со стороны других игроков. Современную математическую форму теория игр приобрела после известного труда Дж. фон Неймана и О. Моргенштерна "Теория игр и экономическое поведение", вышедшего в 1944 году. В настоящее время теория игр находит свое применение в экономических науках, в социальных науках, биологии, а также и в математических дисциплинах, таких как, математическая статистика, функциональный анализ и других.
В отличии от задач оптимизации, где необходимо найти оптимальное решение в заданных условиях, в теории игр необходимо найти оптимальное решение в условиях противодействия со стороны других игроков.
В теории игр рассматривается большое количество постановок различных игр. Мы рассмотрим подробно самую известную постановку в теории игр - антагонистичную игру двух лиц.
Обозначим через $$I$$ множество всех игроков. Мы будем рассматривать конечное число игроков. Мы будем различать игроков по номерам$$I=\{1,2,\dots,N\}.$$ Предположим, что каждый игрок $$i\in I$$ имеет в своем распоряжении определенное множество стратегий, которое мы обозначим через $$S_i$$.
Процедура игры происходит следующим образом: каждый игрок выбирает одну стратегию из своего множества стратегий $$s_i\in S_i$$. Вектор выбранных стратегий всех игроков обозначим через$$s=(s_1,s_2,\dots,s_N).$$ Вектор $$s$$ называется ситуацией в игре. Множество всех возможных ситуаций можно ввести по формуле$$S=\prod\limits_{i\in I}S_i.$$ В каждой сложившейся ситуации игроки получают определенные выигрыши. Договоримся считать, что выигрыш может быть и отрицательным, что означает проигрыш. Выигрыш игрока $$i$$ в ситуации $$s$$ обозначим через $$H_i(s)$$. Функция $$H_i$$, определенная на множестве всех ситуаций$$H_i:S\to\Bbb{R}$$ называется функцией выигрыша $$i$$ -го игрока. Мы будем измерять выигрыши действительными числами, хотя не всегда выигрыш может быть измерен числом.
Бескоалиционной игрой называется система$$\Gamma=\langle I,\{S\}_{i\in I},\{H_i\}_{i\in I}\rangle,$$ где $$I$$, $$S_i$$ являются множествами, а $$H_i$$ - функции на множестве $$S$$, принимающие вещественные значения.
Наиболее часто встречается ситуация, когда сумма выигрышей всех игроков во всех ситуациях является постоянной, что соответствует тому, что игроки по сути делят между собой фиксированную сумму. Игра называется игрой с постоянной суммой, если$$\sum\limits_{i\in I}H_i(s)=const$$ при всех ситуациях $$s\in S$$.
Мы будем рассматривать антагонистичные игры. Игра называется
антагонистичной, если число игроков равно двум, т.е. $$I=\{1,2\}$$,
а значения
Если в теории оптимизации основной задачей является нахождения
оптимальных решений, то в теории игр аналогом этого является
нахождения
Если множества стратегий конечны, то антагонистичные игры удобно записывать в матричном виде. Пусть множество стратегий первого игрока равно $$n>1$$, а второго - $$m>1$$, тогда запишем в виде матрицы значения функции выигрышей$$A=\left(% \begin{array}{cccc} a_{11} a_{12} \dots a_{1n} \\ a_{21} a_{22} \dots a_{2n} \\ \dots \dots \dots \dots \\ a_{m1} a_{m2} \dots a_{mn} \\ \end{array}% \right)$$ Игра в этом случае состоит в том, что первый игрок выбирает строку, а второй игрок (одновременно!) выбирает столбец. Число, стоящее на пересечении выбранных строки и столбца, означает выигрыш первого игрока и проигрыш второго игрока.
В матричной игре ситуация $$(i^*,j^*)$$ называется равновесной, если$$a_{ij^*}\le a_{i^*j^*}\le a_{i^*j}$$
для всех $$i=1,\dots,m$$ и $$j=1,\dots,n$$. В теории игр доказывается,
что для существования
При смешанном расширении понятия
Теорема 21.1. В матричной игре с матрицей выигрышей $$A$$ имеет место$$\max\limits_X\min\limits_j(XA_{.j})=\min\limits_Y\max\limits_i(A_{i.}Y.)$$ При чем внешние экстремумы достигаются на оптимальных смешанных стратегиях.
В этой теореме $$A_{i.}$$ обозначает $$i$$ -ую строку, а $$A_{j.}$$ - $$j$$ -ый столбец.
Несмотря на наличие этой теоремы вопрос конкретного определения оптимальных стратегий является очень сложным.
Мы в нашем курсе проведем моделирование
Теперь создадим два наследных класса, в которых мы реализуем две
Класс $$TGame1$$ - это самая простая нетривиальная игра. По сути это игра в "чет--нечет". В этой игре нет равновесных чистых стратегий, а в смешанных стратегиях эта игра имеет следующее решение$$X=\left(\frac{1}{2},\frac{1}{2}\right),$$ $$Y=\left(\frac{1}{2},\frac{1}{2}\right).$$ Вторая игра, реализованная в классе $$TGame2$$, представляет собой более сложную игру со следующей платежной матрицей$$A=\left(% \begin{array}{ccc} 0 1 -2 \\ -1 0 3 \\ 2 -3 0 \\ \end{array}% \right)$$ В этой игре также нет состояния равновесия, но есть решение в смешанных стратегиях одинаковое для обоих игроков:$$X=\left(\frac{1}{2},\frac{1}{3},\frac{1}{6}\right),$$ $$Y=\left(\frac{1}{2},\frac{1}{3},\frac{1}{6}\right).$$ Цена этой игры равна нулю.
Проверим эти решения с помощью наших классов.
$$\begin{verbatim} double[] X; double[] Y; TGame1 Game1 = new TGame1(); X = new double[3] {0, 0.5, 0.5 }; Y = new double[3] {0, 0.5, 0.5 }; Console.WriteLine("Game1: theory = {0}, Res = {1}", Game1.GetC(X, Y), Game1.Calc(X, Y, 1000000)); TGame2 Game2 = new TGame2(); X = new double[4] { 0, 0.5, 1.0 / 3.0, 1.0 / 6.0 }; Y = new double[4] { 0, 0.5, 1.0 / 3.0, 1.0 / 6.0 }; Console.WriteLine("Game2: theory = {0}, Res = {1}", Game2.GetC(X, Y), Game2.Calc(X, Y, 1000000)); \end{verbatim}$$После запуска мы получим примерно следующее:
$$\begin{verbatim} Game1: theory = 0.5, Res = 0.500092 Game2: theory = 0, Res = -0.00097 \end{verbatim}$$Ключевые термины
Антагонистичная игра - игра двух игроков с нулевой суммой.
Ситуация в игре - набор выбранных стратегий всех игроков.
Ситуация равновесия - такая ситуация, при которой ни один из игроков не заинтересован в изменении стратегии.
Смешанная стратегия - случайная величина, значениями
которой являются
Теория игр - прикладная математическая дисциплина, в которой изучаются методы нахождения оптимальных решений в условиях неопределенности и ситуациях противодействия со стороны других игроков.
Краткие итоги: Рассмотрены постановки игр. Для
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.