Открытые теоретические задачи

Материал из DISCOPAL
Версия от 06:53, 4 мая 2023; StasFomin (обсуждение | вклад) (Новая страница: «<templatedpagelist> showtotal=yes namespace=Main limit=500 order=creation desc output=template template=IncludeCard redirect=no category=Теоретически…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Всего страниц найдено: 57.

----

Eupce-6-20 2023-05-19 12-27-59 image0.png



Eupce-6-19 2023-05-19 12-22-45 image0.png Eupce-6-19 2023-05-19 12-23-03 image0.png



Eupce-6-17 2023-05-18 19-57-47 image0.png



Eupce-6-15 2023-05-18 19-51-41 image0.png



Eupce-6-14 2023-05-18 19-44-29 image0.png



Eupce-6-13 2023-05-18 19-43-15 image0.png



Eupce-6-11 2023-05-18 19-41-29 image0.png



Eupce-6-10 2023-05-18 19-38-29 image0.png Eupce-6-10 2023-05-18 19-38-53 image0.png



Eupce-6-9 2023-05-18 19-35-59 image0.png


Eupce-6-8 2023-05-18 19-34-01 image0.png



Eupce-6-7 2023-05-18 19-27-32 image0.png



Eupce-6-4 2023-05-18 19-16-39 image0.png



  • Дан n-вершинный неориентированный граф G=(V, E)

Рассмотрим следующий метод генерации независимого множества.

Для заданной перестановки вершин σ, определим подмножество S(σ) вершин следующим образом: для каждой вершины i, i ∈ S(σ) тогда и только тогда, когда никакой ни один сосед j вершины i не предшествует i в перестановке σ.

Предложите вероятностный алгоритм для поиска σ

для которого можно показать, что ожидаемый размер

S(\sigma) = \sum_{i=1}^{n} \frac{1}{d_i + 1}

где d_i означает степень вершины i.

Докажите, что в G существует независимое множество размера как минимум

S(\sigma) = \sum_{i=1}^{n} \frac{1}{d_i + 1}



  • Дан n-вершинный неориентированный граф G=(V, E)

Рассмотрим следующий метод генерации независимого множества.

Для заданной перестановки вершин σ, определим подмножество S(σ) вершин следующим образом: для каждой вершины i, i ∈ S(σ) тогда и только тогда, когда никакой ни один сосед j вершины i не предшествует i в перестановке σ.

Покажите, что каждый S(σ) будет независимым множеством в G.



Предложите алгоритм дерандомизации методом условных вероятностей для алгоритма из MAX-SAT: вероятностное округление/Задачи/eupce-6-1-a‎.



Рассмотрим K-ESAT, SAT, когда в каждой скобке ровно k литералов.

Предложите Лас-Вегас алгоритм выполняющий минимум

m(1-2^{-k}) скобок, и проанализируйте матожидание его времени выполнения.



Решите обобщенную версию задачи [[../eupce-2-13]]:

  • kn различных купонов, организованных в n непересекающихся наборов из k купонов.
  • нужен один купон из каждого набора.


  • Каждая коробка хлопьев содержит один из 2n различных купонов (купон в каждой коробке выбирается независимо и равномерно случайным образом из 2n).
  • Купоны организованы в n пар, так что купоны 1 и 2 составляют пару, купоны 3 и 4 составляют пару и так далее.
  • Получив по одному купону из каждой пары, вы можете получить приз.

Какое ожидаемое количество коробок, надо для этого купить?



Дважды бросают честный k-гранный кубик с числами от 1 от k до k на гранях кубика, получая значения X1 и X2.

  • E[max(X1, X2)] = ?
  • E[min(X1, X2)] = ?

Покажите, что E[max(X1 , X2)] + E[min(X1 , X2)] = E[X1] + E[X2].



Алиса и Боб решили заводить детей до тех пор, пока у них не родится девочка или пока у них не будет k ≥ 1 детей.

Предположим, что каждый ребенок будет мальчиком или девочкой независимо с вероятностью 1/2 и что многоплодных родов не бывает.

  • Каково ожидаемое число детей женского пола?
  • Каково ожидаемое число детей мужского пола?


X и Y — независимые случайные величины с геометрическим распределением, с параметрами P и Q соответственно.

P(min(X, Y) = k) = ?



X и Y — независимые случайные величины с геометрическим распределением, с параметрами P и Q соответственно.

P(X = Y) = ?



Предположим, что независимо бросают два стандартных шестисторонних кости, X1 — то, что выпадает на первой, X2 — на второй, а X — сумма обоих значений.

  • 2 ≤ k ≤ 12
  • E[X1 - X2 | X = k] = ?


Предположим, что независимо бросают два стандартных шестисторонних кости, X1 — то, что выпадает на первой, X2 — на второй, а X — сумма обоих значений.

E[X1 | X = 9] = ?



Предположим, что независимо бросают два стандартных шестисторонних кости, X1 — то, что выпадает на первой, X2 — на второй, а X — сумма обоих значений.

E[X | X1 = X2] = ?



Предположим, что независимо бросают два стандартных шестисторонних кости, X1 — то, что выпадает на первой, X2 — на второй, а X — сумма обоих значений.

E[X | X1 — четное] = ?



Если X — случайная величина с биномиальным распределением B(n, 1/2) для n ≥ 1, покажите, что вероятность того,

что X — четное будет 1/2.



Обычные крестики-нолики скучные, при оптимальной стратегии в них выигрывают крестики.

Рассмотрим вероятную модификацию этой игры.

  • Как обычно, крестики и нолики ходят по очереди и нолик идет первым. Как обычно, выигрывает тот, кто первый добъется «три в ряд», или ничья, если никто.
  • Но на каждом ходе позиция и у крестиков и у ноликов выбирается независимо и равномерно среди свободных квадратов.

Найдите вероятность, выигрыша для «крестиков» и для «ноликов».



Обычные крестики-нолики скучные, при оптимальной стратегии в них выигрывают крестики.

Рассмотрим вероятную модификацию этой игры.

  • Изначально, бросая честную монетку, разметим каждый из девяти квадратов либо X, либо O.
  • Если только один из игроков имеет «три в ряд» → он победил.
  • Если оба или никто → ничья.

Определите вероятность, что «X» выиграет.



  • Есть функция F: \{0, … , n−1\} → \{0, … , m−1\}
  • и известно что 0 ≤ x, y ≤ n − 1, F ((x + y) \mod n) = (F (x) + F (y)) \mod m.

Единственный способ вычисления F — использовать таблицу поиска, в которой хранится значения F. К сожалению, злой противник изменил значение 1/5 записей в этой таблице.

Опишите простой рандомизированный алгоритм, который, учитывая входной Z, выводит значение, которое равняется f(z) с вероятностью не менее 1/2.

Ваш алгоритм должен работать для каждого значения Z, независимо от того, какие записи изменил противник.

Дополнительно, предположим, вам разрешено повторить этот ваш начальный алгоритм три раза.

Как этим воспрользоваться, чтобы максимально увеличить вероятность правильного ответа, и какова эта вероятность?



Рассмотрим игру, основанную на бросках трех стандартных шестисторонних костей.

Цель → получить одинаковое число на всех трех костях, кто первый этого добьется, тот выиграл.

  • Игрок начинает с броска всех трех кубиков.
  • После первого броска игрок может выбрать одну, две или три кости и бросить их снова.
  • После второго броска игрок один из трех кубиков и перебросить его.

Предположим, что игрок использует следующую оптимальную стратегию:

  • если все три кости одинаковые → останавливаемся и выигрываем;
  • если два кубика совпадают, игрок перебрасывает тот, который «выбивается из коллектива».
  • если все не совпадают — перебрасываем их всех.

Рассматривая все возможные возможные выпадения костей, найдите вероятность того, что игрок выиграет.



Рассмотрим игру, основанную на бросках трех стандартных шестисторонних костей.

Цель → получить одинаковое число на всех трех костях, кто первый этого добьется, тот выиграл.

  • Игрок начинает с броска всех трех кубиков.
  • После первого броска игрок может выбрать одну, две или три кости и бросить их снова.
  • После второго броска игрок один из трех кубиков и перебросить его.

Предположим, что игрок использует следующую оптимальную стратегию:

  • если все три кости одинаковые → останавливаемся и выигрываем;
  • если два кубика совпадают, игрок перебрасывает тот, который «выбивается из коллектива».
  • если все не совпадают — перебрасываем их всех.

Найдите вероятность того, что игрок выиграет, если на первом шаге он уже выбросил две одинаковые кости.



Рассмотрим игру, основанную на бросках трех стандартных шестисторонних костей.

Цель → получить одинаковое число на всех трех костях, кто первый этого добьется, тот выиграл.

  • Игрок начинает с броска всех трех кубиков.
  • После первого броска игрок может выбрать одну, две или три кости и бросить их снова.
  • После второго броска игрок один из трех кубиков и перебросить его.

Предположим, что игрок использует следующую оптимальную стратегию:

  • если все три кости одинаковые → останавливаемся и выигрываем;
  • если два кубика совпадают, игрок перебрасывает тот, который «выбивается из коллектива».
  • если все не совпадают — перебрасываем их всех.

Найдите вероятность того, что ровно два из трех кубиков показывают одинаковое число в первом броске.



Рассмотрим игру, основанную на бросках трех стандартных шестисторонних костей.

Цель → получить одинаковое число на всех трех костях, кто первый этого добьется, тот выиграл.

  • Игрок начинает с броска всех трех кубиков.
  • После первого броска игрок может выбрать одну, две или три кости и бросить их снова.
  • После второго броска игрок один из трех кубиков и перебросить его.

Предположим, что игрок использует следующую оптимальную стратегию:

  • если все три кости одинаковые → останавливаемся и выигрываем;
  • если два кубика совпадают, игрок перебрасывает тот, который «выбивается из коллектива».
  • если все не совпадают — перебрасываем их всех.

Найдите вероятность того, что все три кубика показывают одинаковое число в первом броске.



Я играю в турнире ракетбола против игрока, против которого раньше не играл, но видел его в игре.

Априори рассматриваю три равновероятные возможности:

  • мы одинаково талантливы, каждый из нас в равной степени может выиграть каждую игру;
  • Я немного лучше, и поэтому я выигрываю каждую игру независимо с вероятностью 0.6;
  • Он немного лучше, и поэтому он выигрывает каждую игру независимо с вероятностью 0.6.

В рокетбол играют, пока один игрок не выиграет три сета. В нашей игре, я выиграл только второй сет, а противник выиграл первый, третий и четвертый.

В апостеорной модели, с какой вероятностью я должен верить, что мой оппонент немного лучше, чем я?



  • Пытаемся передать один бит (0 или 1) через промежуточные узлы, каждый из которых независимо может инвертировать бит с вероятностью «p».
  • Скажем, узел имеет смещение «q», если это p = \frac{1 − q}{2}, «смещение» будет вещественным числом на отрезке [−1, 1].

Докажите, что прохождение бита через узлы со смещениями «q1» и «q2» эквивалентно прохождению бита через один узел со смещением «q1×q2».



Пытаемся передать один бит (0 или 1) через «n» промежуточных узлов, каждый из которых независимо

может инвертировать бит с вероятностью «p».

Докажите, что вероятность получения корректного бита:

   \frac{1+(1-2p)^n}{2}


  • Честную монету бросили «n» раз.
  • Для k>0, найдите верхнюю границу вероятности, что будет последовательность из \log_2 n + k последовательных орлов.


Язык L состоит из пар (M, t), где

M
одноленточная машина Тьюринга над бинарным алфавитом.
t
число t единичной системе (t единиц).
  • Существует вход x, M(x) останавливается и возвращает 1, после t шагов.

Покажите, что это NP-полная задача.



Проверить принадлежность классу NPc следующей задачи: по заданному конечному множеству натуральных чисел, представленных в своей бинарной записи, определить возможность разделения этого множества на два подмножества с одинаковыми суммами.



Докажите, что если каждый унарный язык из NP также лежит в P, то то для любого языка из TIME(2^{kn}) для какого-либо k, он тажке лежит в TIME(2^{cn}) для любого c.



  • Класс сложности С замкнут относительно какой-то сводимости, если L→L' и L' \in C, то L \in C.

Рассмотрим класс DTIME(n^2).

Замкнут ли он относительно полиномиальной сводимости по Карпу?



Покажите, что язык L лежит в co-NP тогда и только тогда, если существует недетерминированная машина M, и полином p, такой, что M останавливается за время p(n) для всех входов x длины n, и L состоит точно только из таких строк x, у которых все пути вычисления M(x) приводят к ответу «1».



Пусть

  • SHAM_{3} — задача поиска гамильтонового цикла в графе G=(V,E), где V — делиться на 3.
  • DHAM_{3} — задача подтверждения наличия гамильтонового цикла в таком графе.

Докажите, что SHAM_{3} и DHAM_{3} — NP-трудны.




Разработайте PTAS-алгоритм для Планирование Задач на Одинаковых Машинах используя этот подход.




Придумайте алгоритм динамического программирования, находящий оптимальное решение задачи Maximum Integer k-choice Knapsack.



Рассмотрим задачу разрешения для оптимизационной задачи Планирование Задач на Одинаковых Машинах («если ли планировка с максимальным временем меньше k»).

Покажите, что эта задача, даже в случае p=2, NP-полна.



Вспомним задачу булев-рюкзак выполнимость, и потребуем, чтобы все веса и размер рюкзака задавались в унарной системе (t \leftarrow 1^{t}).

Покажите, что тогда язык L_{1SUBSETSUM} таких выполнимых рюкзаков, лежит в классе P.



Покажите NP-полноту языка совместимых систем квадратичных уравнений в булевых переменных. Т.е. разрешимых систем вида

\begin{eqnarray*} \sum_{ij} a_{ij}u_i u_j & = & b_i \\ \foral\ j \ u_j & \in & \{0, 1\} \\ \foral\ i,j \ a_{ij} & \in & \{0, 1\} \end{eqnarray*}

и где сложение по модулю 2.



Покажите, что для любого языка L \in NTIME(T(n)), можно построить полиномиальную Карп-сводимость, от слов длины n, к 3SAT-формулам длины O(T(n)\log T(n)).



\text{Доказать, что если существует} i \colon \Sigma_i = \Sigma_{i+1}, \ \text{то} \ \Sigma_i = \mathrm{PH}.



Какой класс будет P^{BPP} = ?



Докажите \Sigma^p_k=NP^{\Sigma^p_{k-1}}



Докажите P^{\Sigma^p_{k}}=P^{\Pi^p_{k}}



Представим распределенный сервис стриминга видеофильмов. Центральный сервер с полной БД фильмов получает от периферийных кеширующих узлов запросы на требуемые фильмы и ориентировочные сроки, когда люди собираются их посмотреть.

Однако пропускная способность от сервера с дисками к внешнему миру ограничена, и требуется составить работающее расписание отгрузки фильмов.

Конкретно, узел контроля планирования получает n-заданий вида:

  • «начать_не_раньше, закончить_не_позже, размер_фильма»i, 1<=i<=n
  • максимальная пропускная способность не больше МаксКанал

И говорит «OK» (или «Паника-Паника!» в противном случае), если существует такое расписание из n команд отгрузки, соответствующих заданию (1<=i<=n ):

  • «время_начала, время_окончания, ширина_канала»i,
  • время_началаi >= начать_не_раньшеi
  • время окончанияi <= закончить_не_позжеi
  • ширина_каналаi <= МаксКанал
  • ширина_канала*(время_окончания — время_начала)i >= размер_фильмаi

Докажите NP-полноту задачи.

Hint: Можно через «Рюкзак-выполнимость» или «SUBSET-SUM»



Рассмотрим жадный алгоритм для вершинного покрытия («брать вершину максимальной степени, ребра удалять»), на случайных графах, у которых

  • n-вершин
  • ребра между любой парой вершин возникают с вероятностью p.

Какова точность алгоритма для почти всех исходных данных?

(упрощенный вариант — для фиксированного p=½).



Покажите, что следующая задача является NP-полной: дан набор из не более чем $n$ типов квадратиков $1\times1$, на сторонах которых написаны какие-то буквы; дан список допустимых пар букв и список граничных букв; спрашивается, можно ли корректно сложить из квадратиков набора большой квадрат размера $n\times n$ (так, чтобы на примыкающих сторонах квадратиков были только допустимые пары букв, а на границе квадрата~--- только граничные буквы).


[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.