Список заданий по ТИгр 2022 весна — различия между версиями
Строка 55: | Строка 55: | ||
# Какое минимальное и максимальное число вершин может быть у множества допустимых решений задачи линейного программирования $x \ge 0$, $Ax \le b$? | # Какое минимальное и максимальное число вершин может быть у множества допустимых решений задачи линейного программирования $x \ge 0$, $Ax \le b$? | ||
# Рассмотрим модификацию задачи линейного программирования, где нет ограничения $x \ge 0$. То есть есть лишь система линейных неравенств $Ax \le b$. Как может выглядеть множество решений такой системы? В чем отличие от решения задачи в канонической постановке? | # Рассмотрим модификацию задачи линейного программирования, где нет ограничения $x \ge 0$. То есть есть лишь система линейных неравенств $Ax \le b$. Как может выглядеть множество решений такой системы? В чем отличие от решения задачи в канонической постановке? | ||
− | # Сведите задачу проверки пустоты множества решений системы неравенств $Ax \le b$ к задаче линейного программирования. | + | # Сведите задачу проверки пустоты множества решений системы неравенств $Ax \le b$ к задаче линейного программирования с допустимым решением $\vec x = 0$, чтобы существование решения исходной задачи соответствовало какому-либо условию на значение функции максимизации. |
# Сведите задачу линейного программирования к задаче проверки пустоты пустоты множества решений системы неравенств $Ax \le b$. | # Сведите задачу линейного программирования к задаче проверки пустоты пустоты множества решений системы неравенств $Ax \le b$. | ||
# Приведите пример задачи линейного программирования с двумя переменными, у которой единственное решение. | # Приведите пример задачи линейного программирования с двумя переменными, у которой единственное решение. |
Версия 14:15, 22 марта 2022
- Для комбинаторной игры $A=\{L|R\}$ определим игру $-A$. $-0=0$, для других игр пусть $L=\{g^L_1, g^L_2, \ldots\}$, $R=\{g^R_1, g^R_2, \ldots\}$, определим $-L=\{-g^L_1, -g^L_2, \ldots\}$, $-R$ определяется аналогично, $-A = \{-R|-L\}$. Что можно сказать про игру $A+(-A)$? Далее будем обозначать игру $A + (-B)$ как $A-B$.
- На лекции было введено определение эквивалентности $A \approx B$ если для любой игры $C$ исход $A+C$ и $B+C$ одинаковый. Можно ввести альтернативное определение: скажем, что $A\approx B$, если $A-B$ проигрышная для текущего игрока (класс $P$). Докажите, что эти определения дают одно и то же отношение эквивалентности. Далее нам не очень интересно различать эквивалентные игры, поэтому мы будем для простоты называть их равными и использовать значок $=$.
- Докажите формально, что сумма игр ассоциативна и коммутативна.
- Профессор дал неправильное определение и определил противоположную игру для $A=\{L|R\}$ как $\mathbin{\scriptstyle\dot{\smash{\textstyle-}}} A = \{R|L\}$. Поясните, почему определение профессора плохо подходит для введения операции "минус" на играх.
- Профессор дал неправильное определение и определил противоположную игру для $A=\{L|R\}$ как $!A = \{!L|!R\}$. Поясните, почему определение профессора плохо подходит для введения операции "минус" на играх.
- Будем говорить, что игра $A$ является положительной, если в ней выигрывает игрок L и писать $A>0$. Докажите, что если $A > 0$ и $B > 0$, то $A+B>0$.
- Будем говорить, что $A > B$, если $A-B>0$. Докажите, что отношение $>$ является антирефлексивным, антисимметричным и транзитивным (строгий порядок).
- Определим неотрицательные целые числа по формуле $G_0 = \{|\}$, $G_n = \{G_{n-1}|\}$ (далее мы будем вместо $G_n$ писать просто $n$, но в этом задании без отдельного обозначения не обойтись). Докажите, что $G_n+G_m = G_{n+m}$.
- Определите отрицательные целые числа. Докажите, что все законы для целых чисел как для группы по сложению выполнены. Мы вернемся к числам в одной из ближайших лекций, а пока переключаемся на матричные игры.
- Приведите пример биматричной игры, в которой есть более одной различной точки равновесия по Нэшу, выигрыши игроков в которых различаются.
- Лемма о масштабе Пусть матрица $A$ имеет седловую точку. Рассмотрим матрицу $B$, определенную соотношением $b_{ij} = ka_{ij}+d$, $k > 0$. Докажите, что матрица $B$ имеет седловую точку, причем множества координат седловых точек этих матриц совпадают.
- Рассмотрим пример экономической игры с бесконечным множеством стратегий: дуополия Курно. На рынке есть две фирмы, стратегии которых заключаются в производстве $q_1$ и $q_2$ товара, соответственно. Цена за единицу товара равна $p-q_1-q_2$. Себестоимость единицы товара $c$. Соответственно, выигрыши игроков равны $u_1(q_1,q_2)=(p-q_1-q_2-c)q_1$ и $u_2(q_1,q_2)=(p-q_1-q_2-c)q_2$. Найдите равновесие по Нэшу для дуополии Курно.
- Дуополия Бертрана. На рынке есть две фирмы, которые производят различные товары $A$ и $B$, соответственно, а их стратегии заключаются в установлении цены на товары $c_1$ и $c_2$, соответственно. После этого фирмы продают $Q_1 = q-c_1+kc_2$ и $Q_2 = q-c_2+kc_1$ единиц товара, соответственно. Себестоимость единицы товара $c$. Запишите выигрыши игроков в дуополии Бертрана и найдите равновесие по Нэшу.
- Крестики и крестики. Два игрока играют на поле $1 \times n$ (\mbox{$n \ge 3$}), своим ходом игрок может поставить крестик в любую свободную клетку. Игрок, после хода которого на поле есть ряд из трех крестиков, побеждает. Предложите полиномиальный от $n$ алгоритм определения победителя в этой игре.
- Рассмотрим окружность, вдоль которой нанесены $n$ различных точек. За один ход разрешается провести хорду, которая не должна иметь общих точек с ранее проведенными хордами (в том числе они не должны иметь общих концов). Кто не может сделать ход, проигрывает. Предложите полиномиальный от $n$ алгоритм определения победителя в этой игре.
- Ним с разбиением. В кучках лежит $a_1, \ldots, a_n$ камней. За один ход можно или забрать из кучки некоторое количество камней, либо разбить кучку на две непустых. Проанализируйте игру ним с разбиением.
- Зеленый хакенбуш на графе с циклами. Предложите алгоритм анализа игры хакенбуш на графе, который не обязательно является деревом.
- Малыш и Карлсон. У Малыша и Карлсона есть торт, имеющий вид прямоугольного параллелепипеда, размером $a\times b\times c$ сантиметров, где $a$, $b$ и $c$~--- целые числа. Они играют в следующую игру: Малыш и Карлсон делают ходы по очереди. За один ход игрок может разрезать торт параллельно одной из его граней на две неравные части (длины ребер каждой из частей снова должны быть целыми), после чего съесть меньшую часть. Тот, кто не может сделать ход, поскольку торт имеет размер $1\times 1\times 1$, проигрывает. Определить, кто выигрывает в игре за $O(\max(a, b, c)^2)$.
- Шахматы Доусона. Рассмотрим доску $3 \times n$, на первом ряду которой стоят белые пешки, а на последнем --- черные пешки. За один ход можно либо подвинуть свою пешку на одну клетку вперед (клетка, на которую перемещается пешка, должна быть свободна), либо побить пешку соперника на одну клетку вперед по диагонали. Если есть возможность побить пешку, то бить обязательно. Кто не может сделать ход, проигрывает. Предложите алгоритм определения победителя в шахматах Доусона за полином от $n$.
- Посчитайте функцию Гранди для игры ним, в которой кучки упорядочены некоторым фиксированным образом, и количество камней в кучках не убывает. Это же свойство должно сохраниться после каждого хода (порядок кучек при этом остается прежним). Например, из позиции $\langle 2, 3, 3, 5\rangle$ возможен ход в позицию $\langle 2, 3, 3, 3\rangle$ или $\langle 0, 3, 3, 5\rangle$, а в позицию $\langle 2, 3, 3, 2\rangle$~--- нет.
- Сумму игр на одном и том же графе можно интерпретировать как игру, в которой по графу перемещается не одна фишка, а несколько. За ход игрок должен переместить одну их фишек, при этом несколько фишек могут одновременно находиться в вершине графа. Введем понятие игр с аннигиляцией. Игра протекает таким же образом, но если две фишки оказываются в одной вершине графа, они <<аннигилируют>>~--- обе фишки удаляются из графа. Покажите, что в игре с аннигиляцией на ациклическом графе выигрывает тот же игрок, что и в игре без аннигиляции (обычной прямой сумме игр). Почему это рассуждение не проходит в случае, если в графе есть циклы?
- В этой и следующих четырех задачах в качестве носителя рассматривается $\mathbb{Z}^+$. Докажите, что $a \otimes b \le ab$.
- Докажите, что $a \otimes 1 = a$.
- Докажите, что $(a\oplus b)\otimes c = a\otimes c \oplus b \otimes c$.
- Вычислите $2^k\otimes 2^n$. Пользуясь этим и предыдущим заданием, предложите способ вычислить $a\otimes b$ для любых $a$ и $b$.
- Докажите, что для любого $a$ существует единственное $a^{-1}$, что $a\otimes a^{-1}=1$. Тем самым завершим доказательство, что получается поле.
- Докажите, что для любого $n$ множество чисел от $0$ до $2^{2^n}-1$ с операциями $\oplus$ и $\otimes$ образует поле.
- Чему равно $\omega \otimes k$ для неотрицательного целого $k$?
- Чему равно $\omega \otimes \omega$?
- Чему равно $\omega \otimes \omega \otimes \omega$ (спойлер: 2)?
- Игра в поддавки: кто не может сделать ход, тот выигрывает. Предъявите пример суммы двух проигрышных игр в поддавки, которая является выигрышной.
- Ним в поддавки. Докажите, что за исключением случая, когда все кучки имеют размер $1$, позиция в ниме в поддавки является выигрышной тогда и только тогда, когда она является выигрышной в обычном ниме.
- В этой серии только четкие игры. Немного арифметики. Постройте красно-синий бамбук Хакенбуш для игры со значением $3/4$. Докажите, что $3/4+3/4+3/4+3/4=3$.
- Постройте красно-синий бамбук Хакенбуш для игры со значением $1/3$. Докажите, что $1/3+1/3+1/3=1$.
- Постройте красно-синий бамбук Хакенбуш для игры со значением $1/4$. Докажите, что $1/4+3/4=1$.
- Одноцветный Хакенбуш. Докажите, что если компонента в Хакенбуше имеет только синие ребра, то значение этой игры равно количеству ребер вне зависимости от структуры графа.
- Докажите, что если $A=\{L|R\}$, где для всех $a_L \in L$, $a_R \in R$ выполнено $a_L < a_R$, то для всех $a_L \in L$, $a_R \in R$ выполнено $a_L < A < a_R$.
- Разрезание пирога. Есть прямоугольный клетчатый пирог, высота $m$, ширина $n$. Своим ходом L может разрезать пирог горизонтальным разрезом по границам квадратиков, а R - вертикальным разрезом по границам квадратиков. Игра продолжается на нескольких пирогах. Кто не может ходить, проигрывает. Чему равно значение игры на пироге $1\times n$? $m\times 1$?
- Чему равно значение игры в разрезание пирога для пирога $m \times n$?
- Разрезание пирога 2.0. Теперь L разрезает пирог горизонтальным разрезом по границам квадратиков на любое число равных частей. Аналогично поступает R, но вертикальным разрезом. Проанализируйте эту игру.
- Для определения произведения игр с лекции докажите ассоциативность и коммутативность.
- Докажите, что $a\cdot 1=a$.
- Докажите, что $a\cdot 0=0$.
- Докажите, что $a\cdot (-b)=-(a\cdot b)$.
- Докажите, что для целых чисел $a\cdot b = (ab)$.
- Докажите, что для целого положительного $k$ выполнено $a\cdot k = a+a+\ldots+a$ (сумма $k$ слагаемых)
- Докажите распределительный закон $(a+b)\cdot c=a\cdot c + b\cdot c$.
- Докажите, что для любого $a$ существует игра $a^{-1}$. Тем самым класс $No$ наделен структурой поля.
- Чему равно $\omega\cdot k$ для целого $k$?
- Постройте игру $1/\omega$.
- Постройте игру $\sqrt{\omega}$.
- Рассмотрим множество допустимых решений системы неравенств $x \ge 0$, $Ax \le b$. Докажите, что множество допустимых решений выпукло.
- Рассмотрим множество оптимальных решений задачи линейного программирования $x \ge 0$, $Ax \le b$, $c^Tx \to \mathrm{max}$. Докажите, что множество оптимальных решений выпукло.
- Рассмотрим множество оптимальных решений задачи линейного программирования $x \ge 0$, $Ax \le b$, $c^Tx \to \mathrm{max}$. Пусть количество переменных $n$, количество неравенств $m$, пусть $rank(A)=n$. Будем называть вершиной точку $\tilde x$, для которой существует $n$ строк матрицы $A$, которые являются линейно независимыми, такую что если составить их них матрицу $\tilde A$ и соответственно вектор $\tilde b$, то выполнено $\tilde A\tilde x=\tilde b$. Докажите, что оптимальное решение, если оно существует, является вершиной.
- Какое минимальное и максимальное число вершин может быть у множества допустимых решений задачи линейного программирования $x \ge 0$, $Ax \le b$?
- Рассмотрим модификацию задачи линейного программирования, где нет ограничения $x \ge 0$. То есть есть лишь система линейных неравенств $Ax \le b$. Как может выглядеть множество решений такой системы? В чем отличие от решения задачи в канонической постановке?
- Сведите задачу проверки пустоты множества решений системы неравенств $Ax \le b$ к задаче линейного программирования с допустимым решением $\vec x = 0$, чтобы существование решения исходной задачи соответствовало какому-либо условию на значение функции максимизации.
- Сведите задачу линейного программирования к задаче проверки пустоты пустоты множества решений системы неравенств $Ax \le b$.
- Приведите пример задачи линейного программирования с двумя переменными, у которой единственное решение.
- Приведите пример задачи линейного программирования с двумя переменными, у которой конечное количество решений, но решение не единственное.
- Приведите пример задачи линейного программирования с двумя переменными, у которой бесконечное количество решений.
- Приведите пример задачи линейного программирования с двумя переменными, у которой нет допустимого решения.
- Приведите пример задачи линейного программирования с двумя переменными, у которой нет оптимального решения.
- Приведите пример системы линейных неравенств с двумя переменными, у задачи линейного программирования для которой существует оптимальное решение для любой целевой функции.
- Приведите пример системы линейных неравенств с двумя переменными, у задачи линейного программирования для которой существует единственное оптимальное решение для любой целевой функции.