Список заданий по ДМ 2022 весна — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
(не показано 8 промежуточных версий 4 участников) | |||
Строка 149: | Строка 149: | ||
# Петя строит автомат для объединения языков $L_1$ и $L_2$ из автоматов для этих языков. Решив сэкономить, Петя просто объединил в одно начальные состояния автоматов для $L_1$ и $L_2$. Всегда ли у Пети получится то, что нужно? | # Петя строит автомат для объединения языков $L_1$ и $L_2$ из автоматов для этих языков. Решив сэкономить, Петя просто объединил в одно начальные состояния автоматов для $L_1$ и $L_2$. Всегда ли у Пети получится то, что нужно? | ||
# Петя строит автомат для замыкания Клини языка $L$. Решив сэкономить, Петя просто провёл $\varepsilon$-переход из каждого терминального состояния в начальное состояние, и сделал начальное состояние также терминальным. Всегда ли у Пети получится то, что нужно? | # Петя строит автомат для замыкания Клини языка $L$. Решив сэкономить, Петя просто провёл $\varepsilon$-переход из каждого терминального состояния в начальное состояние, и сделал начальное состояние также терминальным. Всегда ли у Пети получится то, что нужно? | ||
+ | # Докажите нерегулярность языка палиндромов, если алфавит содержит хотя бы два символа. Что если алфавит унарный? | ||
+ | # Докажите нерегулярность языка тандемных повторов $L = \{ ww | w \in \Sigma^* \}$, если алфавит содержит хотя бы два символа. Что если алфавит унарный? | ||
+ | # Докажите нерегулярность языка $0^n1^m$, $n \le m$ | ||
+ | # Докажите нерегулярность языка $0^n1^m$, $n \ne m$ | ||
+ | # Докажите нерегулярность языка $0^{n^2}$ | ||
+ | # Докажите нерегулярность языка $0^p$, $p$ {{---}} простое | ||
+ | # Докажите нерегулярность языка двоичных записей простых чисел | ||
+ | # Докажите нерегулярность языка $0^n1^m$, $gcd(n, m) = 1$ | ||
+ | # Приведите пример нерегулярного языка, для которого выполнена лемма о разрастании | ||
+ | # Обозначим как $\min L$ множество слов $w \in L$, таких что никакой собственный префикс $w$ не является словом языка $L$. Докажите, что если $L$ регулярный, то и $\min L$ регулярный. | ||
+ | # Обозначим как $\max L$ множество слов $w \in L$, таких что $w$ не является собственным префиксом никакого словом языка $L$. Докажите, что если $L$ регулярный, то и $\max L$ регулярный. | ||
+ | # Обозначим как $\mbox{pref}\,L$ множество префиксов слов языка $L$. Докажите, что если $L$ регулярный, то и $\mbox{pref}\,L$ регулярный. | ||
+ | # Обозначим как $\mbox{suf}\,L$ множество суффиксов слов языка $L$. Докажите, что если $L$ регулярный, то и $\mbox{suf}\,L$ регулярный. | ||
+ | # Пусть $a$ и $b$ - слова равной длины $n$. Обозначим как $\mbox{alt}(a, b)$ слово $a_1b_1a_2b_2\ldots a_nb_n$. Для языков $R$ и $S$ обозначим как $\mbox{alt}(R, S)$ множество всех слов, которые получаются как $\mbox{alt}(a, b)$ где $a \in R$, $b \in S$. Докажите, что если $R$ и $S$ регулярные, то $\mbox{alt}(R, S)$ регулярный. | ||
+ | # Пусть $a$ и $b$ - слова. Обозначим как $\mbox{shuffle}(a, b)$ множество слов, которые можно составить, вставив в слово $a$ все буквы слова $b$ в том порядке, в котором они идут в $b$. Например, $\mbox{shuffle}(01, 23)=\{0123, 0213, 0231, 2013, 2031, 2301\}$. Для языков $R$ и $S$ обозначим как $\mbox{shuffle}(R, S)$ объединение всех множеств $\mbox{shuffle}(a, b)$ где $a \in R$, $b \in S$. Докажите, что если $R$ и $S$ регулярные, то $\mbox{shuffle}(R, S)$ регулярный. | ||
+ | # Обозначим как $\mbox{cycle}\,L$ множество циклических сдвигов слов языка $L$. Докажите, что если $L$ регулярный, то и $\mbox{cycle}\,L$ регулярный. | ||
+ | # Обозначим как $\mbox{half}\,L$ множество таких слов $a$, что существует слово $b$ такой же длины, как и $a$, что $ab \in L$. Докажите, что если $L$ регулярный, то и $\mbox{half}\,L$ регулярный. | ||
+ | # Рассмотрим язык $\{x_0 y_0 z_0 x_1 y_1 z_1 \dots x_{n-1} y_{n-1} z_{n-1} \mid x_i, y_i, z_i \in \{0, 1\}\}$, где $ X = x_{n-1}x_{n-2}\dots x_0$ и аналогично представляется $Y$ и $Z$, причем $ X + Y = Z $. Докажите, что этот язык регулярный. | ||
+ | # То же, что и предыдущее, только $\{x_{n-1} y_{n-1} z_{n-1} \dots x_1 y_1 z_1 x_0 y_0 z_0 \mid \dots \}$. | ||
+ | # Рассмотрим язык $\{x_0 y_0 z_0 x_1 y_1 z_1 \dots x_{n-1} y_{n-1} z_{n-1} \mid x_i, y_i, z_i \in \{0, 1\}\}$, где $X = x_{n-1}x_{n-2}\dots x_0$ и аналогично представляется $Y$ и $Z$, причем $X \times Y = Z$. Докажите, что этот язык не является регулярным. | ||
+ | # Петя хочет решить уравнение в регулярных выражениях $L=\alpha L\xi+\beta$, где $\alpha$, $\beta$ и $\xi$ — регулярные выражения, а $L$ — неизвестный язык. Всегда ли решение будет регулярным языком? | ||
+ | # В этом и последующих заданиях регулярный язык подается на вход вашему алгоритму как ДКА, распознающий этот язык. Предложите алгоритм проверки того, что регулярный язык бесконечен. | ||
+ | # Предложите алгоритм подсчёта числа слов в регулярном языке (если язык бесконечен, алгоритм должен выдать информацию, что он бесконечен). Алгоритм должен работать за полином от числа состояний в автомате. | ||
+ | # Предложите алгоритм проверки того, что регулярный язык является беспрефиксным. | ||
+ | # Предложите алгоритм проверки того, что один регулярный язык является подмножеством другого. | ||
+ | # Предложите алгоритм проверки того, что регулярные языки не пересекаются. | ||
+ | # Предложите алгоритм проверки того, что объединение двух заданных регулярных языков совпадет с некоторым третьим заданным. | ||
+ | # Приведите пример регулярного языка и двух неизоморфных недетерминированных автоматов для него, которые при этом имеют минимальное число состояний среди всех недетерминированных автоматов для этого языка. | ||
+ | # Из алгоритма построения множества различимых состояний следует, что если состояния $u$ и $v$ автомата различимы, то $u$ и $v$ различимы строкой длины $O(n^2)$. Докажите, что если состояния $u$ и $v$ автомата различимы, то $u$ и $v$ различимы строкой длины $O(n)$. | ||
+ | # Правые контексты. Правым контекстом слова $x$ в языке $A$ называется множество $R_A(x)$ таких слов $y$, что $xy \in A$. Рассмотрим правые контексты всех слов $x \in \Sigma^*$. Докажите, что если число различных правых контекстов конечно, то язык $A$ является регулярным. | ||
+ | # Докажите, что если число различных правых контекстов бесконечно, то язык $A$ является нерегулярным. | ||
+ | # Докажите, что для регулярного языка $A$ число различных правых контекстов равно числу состояний минимального ДКА для этого языка. | ||
+ | # Левые контексты. Левым контекстом слова $x$ в языке $A$ называется множество $L_A(x)$ таких слов $y$, что $yx \in A$. Докажите, что язык $A$ регулярный тогда и только тогда, когда его множество левых контектов конечно. | ||
+ | # Пусть язык $A$ регулярен и распознается ДКА с $n$ состояниями. Оцените сверху число различных левых контекстов в языке $A$. | ||
+ | # Рассмотрим отношение на словах $L$: $x \equiv y$, если для любых $u$, $v$ выполнено $uxv \in L \Leftrightarrow uyv \in L$. Классы эквивалентности этого отношения называются синтаксическим моноидом языка $L$. Докажите, что если $L$ регулярный и его ДКА содержит $n$ состояний, то синтаксический моноид $L$ конечен и содержит не более $n^n$ классов эквивалентности. | ||
+ | # Придумайте последовательность регулярных языков $L_i$, у которых ДКА для $L_i$ содержит $O(i)$ состояний, а синтаксический моноид $L_i$ имеет неполиномиальный размер. | ||
+ | # Вспомните/узнайте определение моноида. Почему конструкция из задания 186 названа моноидом? Опишите для нее группоидную операцию. | ||
+ | # Постройте КС грамматику для правильных скобочных последовательностей с двумя типами скобок. В этом и следующих заданиях, после разработки КС грамматики необходимо выбрать в качестве примера слово и продемонстрировать его левосторонний вывод и дерево разбора. | ||
+ | # Постройте КС грамматику для языка $0^k 1^n 2^{k+n}$. | ||
+ | # Постройте КС грамматику для языка $0^n 1^m 2^m 3^n$. | ||
+ | # Постройте КС грамматику для языка $0^n 1^n 2^m 3^m$. | ||
+ | # (кроме 35, 34, 31) Докажите, что КС языки замкнуты относительно регулярных операций (объединение, конкатенация, замыкание Клини) | ||
+ | # Пусть задана КС-грамматика для языка $L$. Обозначим как $L^R$ язык, составленный из слов, которые, если их прочитать от конца к началу, принадлежат языку $L$. Укажите, как построить КС грамматику для языка $L^R$. | ||
+ | # Обозначим как $\mbox{pref}\,L$ множество префиксов слов языка $L$. Докажите, что если $L$ контекстно-свободный, то и $\mbox{pref}\,L$ контекстно-свободный. | ||
+ | # Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, в которых число нулей равно числу единиц. Докажите, что ваша грамматика является правильной. | ||
+ | # Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, в которых число нулей равно удвоенному числу единиц. Докажите, что ваша грамматика является правильной. | ||
+ | # Постройте КС грамматику для языка $0^i1^j2^k$, $i \ne j$ или $j \ne k$. | ||
+ | # Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, которые не являются палиндромами. | ||
+ | # Постройте КС грамматику для языка слов над алфавитом $\{(, )\}$, которые не являются правильными скобочными последовательностями. | ||
+ | # Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, в которых число нулей не равно числу единиц. | ||
+ | # Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, которые не являются тандемными повторами (не имеют вид $xx$ для некоторого слова $x$). | ||
+ | # Постройте КС грамматику, описывающие академические регулярные выражения над алфавитом $\{0, 1\}$. | ||
+ | # КС грамматика называется линейной, если в правых частях правил встречается максимум один нетерминал. Праволинейные грамматики, в которых этот нетерминал находится на последнем месте, порождают регулярные языки. Приведите пример линейной грамматики, которая порождает нерегулярный язык. | ||
+ | # КС грамматика называется леволинейной, если в правых частях правил встречается максимум один нетерминал, причем если он есть, то находится на первом месте. Докажите, что язык можно породить леволинейной грамматикой тогда и только тогда, когда он регулярный. | ||
+ | # КС грамматика называется смешанной линейной, если в правых частях правил встречается максимум один нетерминал, причем если он есть, то находится либо на первом, либо на последнем месте. Докажите, что существует КС язык, не являющийся регулярным, который можно породить смешанной линейной грамматикой. | ||
+ | # Постройте МП-автомат для языка слов, где число нулей равно числу единиц. | ||
+ | # Постройте МП-автомат для языка $0^n1^{2n}$. | ||
+ | # Постройте МП-автомат для языка $0^n1^m2^{n+m}$. | ||
+ | # Постройте МП-автомат для языка $0^{2n}1^n$. | ||
+ | # Постройте МП-автомат для языка $0^n1^n\cup0^n1^{2n}$. | ||
+ | # Постройте МП-автомат для языка слов $0^n1^m$, где $n \le m \le 2n$. | ||
+ | # Постройте автомат с магазинной памятью для языка слов над алфавитом $\{0, 1, 2\}$, которые содержат равное число двоек и равное число единиц, или равное число двоек и равное число нулей. | ||
+ | # Верно ли, что любую КС-грамматику можно привести к форме, когда любое правило имеет вид $A\to BCD$ или $A\to a$? | ||
+ | # Предложите алгоритм проверки, что в грамматике выводится хотя бы одно слово. | ||
+ | # Предложите алгоритм нахождения слова минимальной длины, выводящегося в заданной грамматике. | ||
+ | # Грамматика называется леворекурсивной, если найдется такой нетерминал A, что за один или более шаг из A можно вывести строку, которая начинается с A ($A \Rightarrow^+ A\alpha$). Предложите алгоритм, который проверяет, является ли грамматика леворекурсивной. | ||
+ | # Предложите алгоритм проверки, что в заданная КС грамматика в НФХ порождает конечное число слов. | ||
+ | # Предложите алгоритм, который, получает на вход КС грамматику в НФХ, про которую с помощью алгоритма из предыдущего задания выяснили, что она порождает конечное число слов. На выход необходимо выдать самое длинное слово, которое порождается этой КСГ. | ||
+ | # Билл поменял местами шаги алгоритма приведения КСГ к НФХ: он сначала удаляет цепные правила, а затем eps-правила. Будет ли корректно работать алгоритм? | ||
+ | # Билл поменял местами шаги алгоритма приведения КСГ к НФХ: он сначала удаляет eps-правила, а затем длинные правые части. Можно ли поправить алгоритм удаления eps-правил, чтобы он работал с длинными правыми частями? Чем эта версия алгоритма хуже оригинальной? | ||
+ | # Алиса разработала свою нормальную форму грамматики, в которой каждое правило имеет вид $A \to BCD$, $A \to BC$ или $A \to c$. Как обобщить алгоритм КЯК на грамматики в такой форме? Сравните получившийся алгоритм с оригинальным. | ||
+ | # Алиса разработала свою нормальную форму грамматики, в которой каждое правило имеет вид $A \to BC$, $A \to B$ или $A \to c$. Как обобщить алгоритм КЯК на грамматики в такой форме? Сравните получившийся алгоритм с оригинальным. | ||
+ | # Рассмотрим дерево разбора некоторого слова в грамматике в НФХ. Как соотносятся количество нетерминалов и терминалов в дереве? | ||
+ | # Докажите, что язык не является КС: $0^i1^j2^k$, $i<j<k$. | ||
+ | # Докажите, что язык не является КС: $0^n1^n2^k$, $k<n$. | ||
+ | # Докажите, что язык не является КС: $0^p$, $p$ простое. | ||
+ | # Докажите, что язык двоичных записей простых чисел не является КС. | ||
+ | # Докажите, что язык не является КС: $0^i1^j$, $j=i^2$. | ||
+ | # Докажите, что язык не является КС: $0^n1^n2^k$, $n<k<2n$. | ||
+ | # Докажите, что язык не является КС: $ww^Rw$, $w$ - строка из 0 и 1, $w^R$ - развернутая строка $w$. | ||
+ | # Докажите, что язык $\{0^n1^m2^n3^m\}$ не является КС. | ||
+ | # Докажите, что язык $\{0^n1^m2^n| n \ne m\}$ не является КС. | ||
+ | # Верно ли, что любой КС-язык над односимвольным алфавитом является регулярным? | ||
+ | # Приведите пример КС-языка, не являющегося регулярным, дополнение к которому также является КС. | ||
+ | # Приведите пример двух КС-языков, не являющихся регулярными, пересечение которых также является КС, но не регулярным, причем отлично от обоих пересекаемых языков. | ||
+ | # Рассмотрим несколько неправильных модификаций леммы о разрастании для КС-языков. Для каждой модификации придумайте КС-язык, который не удовлетворяет этой лемме. Для КС-языка $L$ существует число $n$, что любое слово $w \in L$, $|w| \ge n$ можно разбить на четыре части $w = uvyz$, где $|vy| \le n$, $vy \neq \varepsilon$ что для любого $k \ge 0$, $uv^ky^kz \in L$. | ||
+ | # Для КС-языка $L$ существует число $n$, что любое слово $w \in L$, $|w| \ge n$ можно разбить на четыре части $w = vxyz$, где $|vxy| \le n$, $vy \neq \varepsilon$, что для любого $k \ge 0$, $v^kxy^kz \in L$. | ||
+ | # Докажите, что следующая модификация леммы о разрастании верна: Для КС-языка $L$ существует число $n$, что любое слово $w \in L$, $|w| \ge n$ можно разбить на пять частей $w = uvxyz$, где $|vxy| \le n$, $v \neq \varepsilon$, $y \neq \varepsilon$ что для любого $k \ge 0$, $uv^kxy^kz \in L$. | ||
+ | # Пусть $f : \Sigma \to \Sigma^*$ - функция, сопоставляющая каждому символу некоторую строку. Распространим $f$ на слова следующим образом: $f(c_1c_2\ldots c_k) = f(c_1)f(c_2)\ldots f(c_k)$. Обозначим как $f(L)$ множество слов $f(x)$ для всех $x \in L$. Докажите или опровергните, что если $L$ - КС, то $f(L)$ также КС. | ||
+ | # Пусть $f : \Sigma \to \Sigma^*$ - функция, сопоставляющая каждому символу некоторую строку. Распространим $f$ на слова следующим образом: $f(c_1c_2\ldots c_k) = f(c_1)f(c_2)\ldots f(c_k)$. Обозначим как $f^{-1}(L)$ множество таких слов $x$, для которых $f(x) \in L$. Докажите или опровергните, что если $L$ - КС, то $f^{-1}(L)$ также КС. |
Текущая версия на 19:43, 4 сентября 2022
- Чему равна вероятность, что две случайно вытянутые кости домино можно приложить друг к другу по правилам домино?
- Чему равна вероятность, что на двух брошенных честных игральных костях выпадут числа, одно из которых делит другое?
- Чему равна вероятность, что если вытянуть из 52-карточной колоды две случайные карты, одной из них можно побить другую (одна из мастей назначена козырем, картой можно побить другую, если они одинаковой масти или если одна из них козырь)?
- Чему равна вероятность, что на двадцати брошенных честных монетах выпадет поровну нулей и единиц?
- Петя и Вася бросают по десять честных монет. Какая вероятность, что они выбросят одинаковое количество единиц?
- Используя формулу Стирлинга $n!\approx \sqrt{2\pi n}\left(\frac{n}{e}\right)^n$ оцените, чему равна вероятность, что на $2n$ брошенных честных монетах выпадет поровну нулей и единиц. Найдите асимптотическое поведение при $n \to \infty$
- Петя и Вася три раза бросают по одной честной игровой кости. Вася два раза выкинул строго больше, чем Петя, а один раз строго меньше. При этом Петя в сумме выкинул строго больше, чем Вася. С какой вероятностью такое могло произойти?
- Приведите пример трех событий, для которых $P(A \cap B \cap C) = P(A)P(B)P(C)$, но которые не являются попарно независимыми, причем вероятности всех трех событий больше 0
- Доказать или опровергнуть, что для независимых событий $A$ и $B$ и события $C$, где $P(C) > 0$ выполнено $P(A \cap B|C) = P(A|C)P(B|C)$
- Доказать или опровергнуть, что для независимых событий $A$ и $B$ и события $C$, где $P(A) > 0$, $P(B) > 0$ выполнено $P(C|A \cap B) = P(C|A)P(C|B)$
- Доказать или опровергнуть, что если пары событий $A$, $C$ и $B$, $C$ независимы, а $A$ и $B$ не пересекаются, то $A\cup B$ и $C$ тоже независимы.
- Доказать или опровергнуть: если $P(A|B) = P(B|A)$, то $P(A) = P(B)$
- Доказать или опровергнуть: если $P(A|B) = P(B|A)$, то $A$ и $B$ независимы
- Доказать или опровергнуть: если $P(A|C) = P(B|C)$, то $P(C|A) = P(C|B)$
- Выразите $P(A|B \cap C)$ через $P(A|B)$, $P(A|C)$, $P(B)$ и $P(C)$, либо обоснуйте, что это невозможно сделать.
- Доказать или опровергнуть: если $A$ и $B$ независимы, то $\Omega \setminus A$ и $\Omega \setminus B$ независимы.
- Петя собирается смотреть серию матчей финала Флатландской хоккейной лиги. В финале две команды играют до 5 побед, ничьих не бывает, таким образом максимум в финале будет не более 9 матчей. Вася рассказал Пете, что всего в финале было 7 матчей. Петя считает матч интересным, если перед его просмотром он не знает, кто выиграет финал. Пусть все возможные последовательности исходов матчей, удовлетворяющих описанным условиями, равновероятны. Какова вероятность, что будет хотя бы 4 интересных матча?
- Петя собирается смотреть серию матчей финала Флатландской хоккейной лиги. В финале две команды играют до 5 побед, ничьих не бывает, таким образом максимум в финале будет не более 9 матчей. Вася рассказал Пете, что всего в финале было 7 матчей. Петя считает матч зрелищным, если перед его просмотром он не знает, кто его выиграет. Пусть все возможные последовательности исходов матчей, удовлетворяющих описанным условиями, равновероятны. Какова вероятность, что будет хотя бы 5 зрелищных матчей?
- Найдите распределение и математическое ожидание следующей случайной величины: число бросков нечестной монеты до первого выпадения 1.
- Найдите распределение и математическое ожидание следующей случайной величины: число бросков честной монеты до второго выпадения 1.
- Найдите математическое ожидание числа инверсий в перестановке чисел от 1 до $n$
- Найдите математическое ожидание числа подъемов (таких $i$, что $a[i] < a[i + 1]$) в перестановке чисел от 1 до $n$
- Найдите математическое ожидание числа троек $i$, $j$, $k$, где $i < j < k$ и $a[i] < a[j] < a[k]$ в перестановке чисел от 1 до $n$
- Верно ли, что если $\xi$ и $\eta$ - независимые случайные величины, то таким будут и $f(\xi)$ и $g(\eta)$ для любых функций $f$ и $g$? Достаточно доказать для конечных вероятностных пространств.
- Постройте случайную величину, имеющую конечное математическое ожидание и бесконечную дисперсию.
- Постройте случайную величину, имеющую бесконечное математическое ожидание и конечную дисперсию.
- Рассмотрим игру. Колода из 52 карт, 26 красных и 26 черных, тасуется, так что все порядки следования карт оказываются равновероятными. Затем карты извлекаются по одной и колоды в открытую до того момента, пока не игрок не скажет ""стоп"". После этого открывается еще одна карта, если она красная, то игрок выигрывает. Какая стратегия максимизирует вероятность выигрыша игрока?
- Из перемешанной стандартной колоды из 52 карт выкладываются карты по одной. Найдите матожидание числа карт, которое будет выложено до первого выложенного туза.
- Среди всех двоичных строк длины $n$ с $k$ единицами и $n-k$ нулями равновероятно выберем случайную. Найдите математическое ожидание числа вхождений подстроки ""11"".
- 10 шаров раскладываются по 5 корзинам. Для каждого шара равновероятно выбирается, в какую корзину он помещается. Какое математическое ожидание числа пустых корзин?
- 10 шаров раскладываются по 5 корзинам. Для каждого шара равновероятно выбирается, в какую корзину он помещается. Какое математическое ожидание числа корзин, содержащих ровно один шар?
- Докажите, что минимум $E(X-\alpha)^2$ достигается при $\alpha = EX$.
- Предложите метод генерации случайной перестановки порядка $n$ с равновероятным распределением всех перестановок, если мы умеем генерировать равномерно распределенное целое число от 1 до $k$ для любых небольших $k$ ($k = O(n)$).
- Дает ли следующий метод равномерную генерацию всех перестановок? ""p = [1, 2, ..., n]; for i from 1 to n: swap(p[i], p[random(1..n)] )""
- Дает ли следующий метод равномерную генерацию всех перестановок? ""p = [1, 2, ..., n]; for i from 1 to n: swap(p[random(1..n)], p[random(1..n)] )""
- Рассмотрим следующий метод генерации случайной перестановки. Применим алгоритм из задания 34, а затем к получившейся перестановке верный алгоритм из задания 33. Будет ли полученное распределение на перестановках равномерным?
- Рассмотрим следующий метод генерации случайной перестановки. Применим верный алгоритм из задания 33, а затем к получившейся перестановке алгоритм из задания 34. Будет ли полученное распределение на перестановках равномерным?
- Предложите метод генерации случайного сочетания из $n$ по $k$ с равновероятным распределением всех сочетаний, если мы умеем генерировать равномерно распределенное целое число от 1 до $t$ для любых небольших $t$ ($t = O(n)$)
- Предложите метод генерации случайного сочетания из $n$ по $k$ с равновероятным распределением всех сочетаний, если мы умеем генерировать равномерно распределенное целое число от 1 до $t$ для любых небольших $t$ ($t = O(n)$), использующий $O(k)$ времени и памяти.
- Улучшить неравенство Маркова в общем случае нельзя. Докажите, что для любого $c > 1$ найдется такая неотрицательная случайная величина $\xi$, что $P(\xi \ge cE\xi) = 1/c$.
- Можно ли подобрать такую неотрицательную случайную величину $\xi$, чтобы для двух различных $c_1 > 1$ и $c_2 > 1$ выполнялось $P(\xi \ge c_iE\xi) = 1/c_i$ ($i \in \{1, 2\}$)?
- Для какого максимального $\alpha$ можно подобрать такую неотрицательную случайную величину $\xi$, чтобы для двух различных $c_1 > 1$ и $c_2 > 1$ выполнялось $P(\xi \ge c_iE\xi) = \alpha/c_i$ ($i \in \{1, 2\}$)?
- Улучшить неравенство Чебышева в общем случае нельзя. Докажите, что для любого $c > 0$ найдется такая отличная от константы случайная величина $\xi$, что $P(|\xi - E\xi| \ge c) = D\xi/c^2$.
- Улучшить неравенство Чебышева нельзя даже для суммы. Докажите, что для любого $c > 0$ найдется такое семейство одинаково распределенных отличных от константы случайных величин $\xi_1, \xi_2, \ldots, \xi_n$, что $P(|\sum\xi_i - \sum E\xi_i| \ge c) = nD\xi/c^2$.
- Оцените вероятность, что значение на игральной кости отличается от матожидания больше чем на 2 с помощью неравенства Чебышева. Насколько точна эта оценка?
- Докажите, что вероятность того, что значения на двух одинаково распределенных нечестных игральных костях совпадает, не меньше $1/6$.
- Найдите дисперсию следующей случайной величины: число бросков честной монеты до $k$-го выпадения 1.
- Петя хочет пойти в кино с вероятностью ровно 1/3, а у него есть только честная монета. Может ли он осуществить свой замысел?
- Петя хочет пойти в кино с вероятностью ровно 1/13, а у него есть только честная монета. Может ли он осуществить свой замысел?
- Решите предудыщее задание для любой дроби $0 \le p/q \le 1$.
- Докажите, что не существует способа для Пети пойти в кино с вероятностью 1/3, используя честную монету, для которого существует конечное $k$, что при любых исходах Петя сделает не более $k$ бросков честной монеты.
- Постройте схему получения вероятности 1/3 с помощью честной монеты, имеющую математическое ожидание числа бросков монеты, равное $2$.
- Постройте схему получения вероятности 1/3 с помощью честной монеты, имеющую минимальное математическое ожидание числа бросков. Докажите оптимальность вашей схемы.
- Дана нечестная монета. Придумайте метод определения, какое значение выпадает с большей вероятностью. Вероятность того, что этот способ ошибся, должна быть не больше $0.01$. Оцените количество бросков, которое потребуется, в зависимости от того, насколько $p$ отличается от $1/2$.
- Петя и Вася играют в игру. Они бросают честную монету, и выписывают результаты бросков. У каждого из игроков есть критерий победы, выигрывает тот, чей критерий наступит раньше. Петя выигрывает в тот момент, когда результаты последних двух бросков равны 11. Вася выигрывает, когда результаты последних двух бросков равны 00. С какой вероятностью Петя выиграет?
- Петя и Вася играют в игру. Они бросают честную монету, и выписывают результаты бросков. У каждого из игроков есть критерий победы, выигрывает тот, чей критерий наступит раньше. Петя выигрывает в тот момент, когда результаты последних трех бросков равны 001. Вася выигрывает, когда результаты последних трех бросков равны 010. С какой вероятностью Петя выиграет?
- Можно ли сделать игру в предыдущем задании честной (чтобы вероятности выигрышей оказались равны $1/2$), используя нечестную монету?
- Сколько байт в бите? Можно ли ответить на этот вопрос с точки зрения теории информации? Какое определение нужно дать для байта в этом случае?
- Найдите в интернете распределение букв в английском тексте. Найдите энтропию этого распределения. Сравните с энтропией в случае, когда все буквы равновероятны.
- Найдите в интернете распределение букв в русском тексте. Найдите энтропию этого распределения. Сравните с энтропией в случае, когда все буквы равновероятны.
- Посмотрите комикс: https://xkcd.com/936/ Рассмотрим следующий подход к генерации пароля: выбираются 4 случайных английских слова и записываются через пробел. Найдите энтропию такого пароля.
- Докажите, что для монеты энтропия максимальна в случае честной монеты
- Докажите, что для $n$ исходов энтропия максимальна, если они все равновероятны
- Есть нечестная монета с неизвестной вероятностью $p \in (0, 1)$. Проэмулируйте с помощью этой нечестной монеты честную. Оцените матожидание числа бросков.
- Найдите энтропию геометрического распределения с $p = 1/2$ (счетное число исходов, $i$-й исход происходит с вероятностью $1/2^i$).
- Найдите энтропию геометрического распределения с произвольным $p$ (счетное число исходов, $i$-й исход происходит с вероятностью $(1-p)p^{i-1}$).
- Пусть заданы полные системы событий $A = \{a_1, ..., a_n\}$ и $B = \{b_1, ..., b_m\}$. Определим условную энтропию $H(A | B)$ как $-\sum\limits_{i = 1}^m P(b_i) \sum\limits_{j = 1}^n P(a_j | b_i) \log P(a_j | b_i))$. Докажите, что $H(A | B) + H(B) = H(B | A) + H(A)$
- Что можно сказать про $H(A | B)$ если $a_i$ и $b_j$ независимы для любых $i$ и $j$?
- Что можно сказать про $H(A | A)$?
- Энтропия кода Хемминга. Рассмотрим четырехбитный код Хемминга. По четырем информационным битам $X = (x_3, x_5, x_6, x_7)$ формируется три контрольных бита $y_1, y_2$ и $y_4$. Рассмотрим семерку битов $Y = (y_1, y_2, x_3, y_4, x_5, x_6, x_7)$. Пусть информационные биты выбираются случайно равновероятно. Чему равна энтропия $H(Y)$?
- Продолжение предыдущей задачи. Отправленное сообщение либо доставляется корректно, либо в нем изменяется ровно один бит. Пусть все восемь перечисленных вариантов равновероятны. Доставляется сообщение $Z$. Чему равна энтропия $H(Z | Y)$?
- Продолжение предыдущей задачи. Чему равна энтропия $H(Z)$?
- Зафиксируйте на свой выбор любой достаточно богатый язык программирования. Колмогоровской сложностью слова $x$ называется величина $K(x)$ - минимальная длина программы на зафиксированном языке программирования, которая на пустом входе выводит $x$. Обозначим длину слова $x$ как $|x|$. Докажите, что $K(x) \le |x| + c$ для некоторой константы $c$.
- Предложите семейство слов $x_1, x_2, \ldots, x_n, \ldots$, где $|x_i|$ строго возрастает и выполнено $K(x_i) = o(|x_i|)$.
- Предложите семейство слов $x_1, x_2, \ldots, x_n, \ldots$, где $|x_i|$ строго возрастает и выполнено $K(x_i) = o(\log_2 |x_i|)$.
- Колмогоровская сложность и энтропия Шеннона. Для слова $x$, в котором $i$-й символ алфавита встречается $f_i$ раз обозначим как $H(x)$ величину, равную энтропии случайного источника с распределением $p_i = f_i/|x|$. Докажите, что $K(x) \le nH(x) + O(\log n)$.
- Докажите, что для любого $c > 0$ найдется слово, для которого $K(x) < c n H(x)$
- Симуляция дискретного распределения непрерывным. Рассмотрим источник, который возвращает равномерно распределенное вещественное число от 0 до 1 (для решения этой задачи достаточно формального определения, что для любого отрезка вероятность попадания значения в этот отрезок пропорциональна его длине). Мы хотим просимулировать дискретное равновероятное распределение с $n$ исходами. Как это сделать за $O(1)$? Будем считать, что тип данных double имеет достаточно точности и что операции со значениями типа double выполняются за $O(1)$.
- Пусть теперь мы хотим просимулировать с помощью непрерывного равномерного распределения дискретное распределение с распределением вероятностей $[p_1, \ldots, p_n]$. Как это сделать за $O(\log n)$? Разрешается провести предподготовку за $O(n)$.
- Схема Уолкера. Требуется просимулировать с помощью непрерывного равномерного распределения дискретное распределение с распределением вероятностей $[p_1, \ldots, p_n]$. Как это сделать за $O(1)$? Разрешается провести предподготовку за $O(n)$.
- Будем генерировать бесконечную последовательность из 0 и 1 с помощью бросков честной монеты. Найдите матожидание числа бросков до выпадения трех нулей подряд. Проверьте свой результат численным моделированием.
- Будем генерировать бесконечную последовательность из 0 и 1 с помощью бросков честной монеты. Найдите матожидание числа бросков до первого вхождения 011. Проверьте свой результат численным моделированием.
- Будем генерировать бесконечную последовательность из 0 и 1 с помощью бросков честной монеты. Найдите матожидание числа бросков до первого вхождения 010. Проверьте свой результат численным моделированием.
- Рассмотрим случайное блуждание точки на прямой, пусть точка начинает в точке $p$ ($p$ - целое) и каждую секунду переходит равновероятно на 1 влево или вправо. Точка поглощается в точках 0 и $n$ ($n$ целое, больше $p$). Найдите вероятность поглощения в точке 0. Проверьте свой результат численным моделированием.
- Дана марковская цепь с двумя состояниями и вероятностью перехода из 1 в 2 равной $a$, вероятностью перехода из 2 в 1 равной $b$. Найдите в явном виде $n$-ю степень матрицы переходов.
- Для заданной рациональной дроби $p/q$ постройте марковскую цепь, все переходы которой имеют вероятность $1/2$ или $1$, которая имеет поглощающее состояние с вероятностью поглощения $p/q$.
- Для заданной рациональной дроби $p/q$ постройте марковскую цепь, все переходы которой имеют вероятность $1/3$ или $1$, которая имеет поглощающее состояние с вероятностью поглощения $p/q$.
- Для заданной рациональной дроби $p/q$ и целого $n$ постройте марковскую цепь, все переходы которой имеют вероятность $1/n$ или $1$, которая имеет поглощающее состояние с вероятностью поглощения $p/q$.
- Рассмотрим случайное блуждание точки на прямой, пусть точка начинает в точке 0 и каждую секунду переходит равновероятно на 1 влево или вправо. Чему равно математическое ожидание координаты точки после $n$ шагов? Проверьте свой результат численным моделированием.
- Рассмотрим случайное блуждание точки на прямой, пусть точка начинает в точке 0 и каждую секунду переходит равновероятно на 1 влево или вправо. Чему равно математическое ожидание квадрата координаты точки после $n$ шагов? Проверьте свой результат численным моделированием.
- Рассмотрим случайное блуждание точки на прямой, пусть точка начинает в точке 0 и каждую секунду переходит равновероятно на 1 влево или вправо. Докажите, что математическое ожидание модуля координаты точки за $n$ шагов есть $O(\sqrt{n})$.
- У Марии есть три зонта, некоторые хранятся дома, некоторые на работе. Если она идет из дома на работу (или наоборот), и видит, что идет дождь, она берет с собой зонт, если он есть в том месте, где она находится. Если зонта на месте нет, она не берет зонт и промокает под дождем. Считаем, что дождь во время каждого перемещения Марии идет с вероятностью 0.2. Постройте марковскую цепь, описывающую этот процесс. Найдите, к чему стремится отношение перемещений, когда Мария промокнет под дождем.
- Будем генерировать последовательность из 0 и 1 длины $n$ с помощью бросков честной монеты. Определите, с какой вероятностью некоторый префикс этой последовательности представляет собой запись двоичного числа, которое делится на 3. Проверьте свой результат численным моделированием.
- Будем генерировать последовательность из 0 и 1 длины $n$ с помощью бросков честной монеты. Предложите алгоритм определения, с какой вероятностью некоторый префикс этой последовательности представляет собой запись двоичного числа, которое делится на $p$ для заданного целого $p$. Проверьте свой результат численным моделированием.
- В Киндер-сюрпризах бывает $n$ различных игрушек. Вы покупаете по одному Киндер-сюрпризу со случайной игрушкой (может содержать игрушку, уже попадавшуюся ранее), пока не получите каждую из $n$ игрушек. Опишите процесс с помощью цепи Маркова. Посчитайте и оцените асимптотически матожидание количества купленных Киндер-сюрпризов. Проверьте свой результат численным моделированием.
- Посчитайте и оцените асимптотически дисперсию для предыдущего задания.
- Блуждания по булевому кубу. Дана строка из $n$ нулей. За один шаг выбирается равномерно случайное число $i$ от $1$ до $n$ и $i$-й элемент строки заменяется на противоположный (0 на 1, а 1 на 0). Требуется найти математическое ожидание числа шагов до первого момента, когда строка будет полностью состоять из единиц. Разработайте алгоритм, который находит искомое матожидание. Примените свой алгоритм, чтобы найти значения матожидания для $n$ от 1 до 20.
- Предложите алгоритм решения задач 55-56 для произвольных выигрышных строк Васи и Пети (работающий за полином от суммы длин этих строк).
- Петя и Вася играют в игру. Они бросают честную монету, и выписывают результаты бросков. У каждого из игроков есть критерий победы, выигрывает тот, чей критерий наступит раньше. Петя выигрывает в тот момент, когда результаты последних трех бросков равны 001. Какую строку длины 3 оптимально выбрать Васе, чтобы его вероятность выигрыша была максимальна?
- Предложите решение предыдущей задачи для произвольной выигрышной строки Пети (за полином от длины этой строки).
- Серия «парадоксы теории вероятности». Мы предлагаем попытаться решать задачи этой серии самостоятельно, а не с помощью интернета, потому что они, конечно, там подробно разобраны. Парадокс Монти Холла. Представьте, что вы стали участником игры, в которой вам нужно выбрать одну из трёх дверей. За одной из дверей находится автомобиль, за двумя другими дверями — козы. Вы выбираете одну из дверей, например, номер 1, после этого ведущий, который знает, где находится автомобиль, а где — козы, открывает одну из оставшихся дверей, например, номер 3, за которой находится коза. После этого он спрашивает вас — не желаете ли вы изменить свой выбор и выбрать дверь номер 2? Увеличатся ли ваши шансы выиграть автомобиль, если вы примете предложение ведущего и измените свой выбор?
- Парадокс трёх заключённых. Трое заключённых, A, B и С, заключены в одиночные камеры и приговорены к смертной казни. Губернатор случайным образом выбирает одного из них и милует его. Стражник, охраняющий заключённых, знает, кто помилован, но не имеет права сказать этого. Заключённый A просит стражника сказать ему имя того (другого) заключённого, кто точно будет казнён: «Если B помилован, скажи мне, что казнён будет C. Если помилован C, скажи мне, что казнён будет B. Если они оба будут казнены, а помилован я, подбрось монету, и скажи имя B или C». Стражник говорит заключённому A, что заключённый B будет казнён. Заключённый A рад это слышать, поскольку он считает, что теперь вероятность его выживания стала 1/2, а не 1/3, как была до этого. Заключённый A тайно говорит заключённому С, что B будет казнён. Заключённый С также рад это слышать, поскольку он всё ещё полагает, что вероятность выживания заключённого А — 1/3, а его вероятность выживания возросла до 2/3. Как такое может быть?
- Нетранзитивные кости. Набор игральных костей нетранзитивен, если он состоит из трёх игральных костей A, B и C, для которых результат бросания кости A с вероятностью свыше 50% больше результата бросания кости B, результат бросания кости B с вероятностью свыше 50% больше результата бросания кости C, однако утверждение о том, что результат бросания кости A с вероятностью свыше 50% больше результата бросания кости C, является ошибочным. Постройте набор нетранзитивных костей.
- Можно ли то же самое сделать для нечестных монет?
- Усиленные нетранзитивные кости. Постройте набор из $n$ костей, в котором для любой кости есть другая, для которой с вероятностью свыше 50% будет получено большее число.
- Циклические нетранзитивные кости. Постройте набор из $n$ костей, в котором $i$-я кость ""побеждает"" $i+1$-ю, а последняя ""побеждает"" первую.
- Парадокс Берксона. Два независимых события могут становиться зависимыми, если произошло некоторое событие. Придумайте три события $A$, $B$ и $C$, такие что $A$ и $B$ независимы, но $A \cap C$ и $B \cap C$ зависимы после замены вероятностного пространства на $C$ и новой дискретной плотности вероятности $p_C(x) = p(x) / P(C)$.
- Парадокс дружбы — феномен, состоящий в том, что, как правило, у большинства людей друзей меньше, чем в среднем у их друзей. Прокомментируйте парадокс дружбы.
- Парадокс коробок Бертрана. Есть три коробки: первая содержит две золотых монеты, вторая содержит две серебряные монеты, третья содержит одну золотую и одну серебряную монету. После выбора случайной коробки и случайной монеты из нее, выбранная монета оказалась золотой. Какова вероятность того, что вторая монета в выбранной коробке также золотая?
- Парадокс Симпсона. Придумайте 4 дроби: $m_1/n_1$, $m_2/n_2$, $m_3/n_3$, $m_4/n_4$, чтобы выполнялось $m_1/n_1 < m_2/n_2$, $m_3/n_3 < m_4/n_4$ но $(m_1+m_3)/(n_1+n_3)>(m_2+m_4)/(n_2+n_4)$.
- Санкт-Петербургский парадокс. Рассматривается следующая задача. Вступая в игру, игрок платит некоторую сумму $s$, а затем подбрасывает честную монету, пока не выпадет 1. При выпадении 1 игра заканчивается, а игрок получает выигрыш, рассчитанный по следующим правилам. Если 1 выпала на $i$-м броске, игрок получает $2^i$. Для какой максимальной суммы $c$ есть смысл играть в эту игру?
- Парадокс галустков. Двое мужчин дарят друг другу на Рождество галстуки, купленные их жёнами. За напитками они начинают спорить, у кого галстук дешевле. Они приходят к тому, чтобы заключить пари — они будут консультироваться со своими жёнами и выяснят, какой галстук дороже. Условия пари в том, что человек с более дорогим галстуком должен отдать его проигравшему как утешительный приз. Первый человек рассуждает следующим образом: «Победа и поражения одинаково вероятны. Если я выиграю, я потеряю стоимость моего галстука. Но если я выиграю, то я выиграю больше, чем стоимость моего галстука. Поэтому шансы в мою пользу». Второй человек считает условия пари точно такими же, и, как ни парадоксально, кажется, оба мужчины имеют преимущество в этом пари.
- Парадокс двух конвертов. Есть два неразличимых конверта с деньгами. В одном находится сумма в два раза большая, чем во втором. Величина этой суммы неизвестна. Конверты дают двум игрокам. Каждый из них может открыть свой конверт и пересчитать в нём деньги. После этого игроки должны решить: стоит ли обменять свой конверт на чужой? Оба игрока рассуждают следующим образом. Я вижу в своём конверте сумму $X$. В чужом конверте равновероятно может находиться $2X$ или $\frac{X}{2}$. Поэтому если я поменяю конверт, то у меня в среднем будет $\left(2X+\frac{X}{2}\right)/2 = \frac54X$, то есть больше, чем сейчас. Значит, обмен выгоден. Однако обмен не может быть выгоден обоим игрокам. Где в их рассуждениях кроется ошибка?
- Пусть в парадоксе двух конвертов в качестве распределения используется следующее: с вероятностью $\frac{2^n}{3^{n+1}}$ в конверты помещаются суммы $2^n$ и $2^{n+1}$. Покажите, что в этом случае при обмене матожидание суммы в конверте равно $2X$, если игрок видит сумму $X=1$ и $\frac{11}{10}X$ в случае $X > 1$. Таким образом обмен выгоден в любом случае. Как такое возможно?
- Пусть $L$ - формальный язык. Докажите, что $(L^*)^* = L^*$
- Пусть $R$ и $S$ - языки. Докажите или опровергните, что $(R \cup S)^* = R^* \cup S^*$.
- Пусть $R$ и $S$ - языки. Докажите или опровергните, что $(R \cap S)^* = R^* \cap S^*$.
- Пусть $R$ и $S$ - языки. Докажите или опровергните, что $(R \cup S)^* = (R^*S^*)^*$.
- Пусть $R$ и $S$ - языки. Обозначим как $RS$ язык слов, представимых в виде конкатенации слова из $R$ и слова из $S$ (в этом порядке). Докажите или опровергните, что $(R\cup S)T=RT \cup ST$, $(R\cap S)T=RT \cap ST$.
- Пусть $L$ - язык. Обозначим как $Lc$ язык, который получается из $L$ дописыванием в конец каждому слову символа $c$. Обозначим как $Lc^{-1}$ язык, который получается из $L$ откидыванием всех слов, которые не заканчиваются на $c$, а затем у оставшихся слов откидыванием конечного символа $c$. Докажите или опровергните, что $(Lc)c^{-1}=L$, $(Lc^{-1})c=L$.
- Докажите или опровергните, что для любых трех языков $R$, $S$, $T$, где $T$ непуст., из $RT = ST$ следует $R = S$
- Постройте конечный автомат для языка слов над бинарным алфавитом, в которых четность числа 0 равна четности числа 1
- Постройте конечный автомат для языка слов над бинарным алфавитом, в которых число единиц не кратно 3.
- Постройте конечный автомат для языка слов над бинарным алфавитом, в которых встречается подпоследовательность 001.
- Постройте конечный автомат для языка слов над бинарным алфавитом, в которых нет трех нулей подряд
- Постройте конечный автомат для языка слов над бинарным алфавитом, в которых есть три нуля подряд. Сделайте вывод из двух последних заданий.
- Постройте конечный автомат для языка слов над бинарным алфавитом, в которых есть три единицы подряд. Сделайте вывод из двух последних заданий.
- Постройте конечный автомат для языка слов над бинарным алфавитом, которые представляют собой двоичную запись чисел, кратных 5
- Постройте конечный автомат для языка слов над бинарным алфавитом, в которых число нулей кратно 3 и которые представляют собой двоичную запись чисел кратных 5.
- Постройте конечный автомат для языка слов над бинарным алфавитом, в которых число нулей кратно 3 или которые представляют собой двоичную запись чисел кратных 5. Сделайте вывод из последних двух заданий.
- Постройте детерминированный конечный автомат для языка слов над бинарным алфавитом, в которых третий символ с конца равен последнему символу.
- Запишите регулярное выражение для слов над бинарным алфавитом, содержащих два нуля подряд.
- Запишите регулярное выражение для слов над бинарным алфавитом, содержащих не более одного места, где встречаются два нуля подряд.
- Запишите регулярное выражение для слов над бинарным алфавитом, не содержащих два нуля подряд.
- Запишите регулярное выражение для слов над бинарным алфавитом, не содержащих три одинаковых символа подряд.
- Запишите регулярное выражение для слов над алфавитом $\{a, b, c\}$, содержащих нечетное число букв $a$.
- Запишите регулярное выражение для слов над бинарным алфавитом, задающих целое число в двоичной системе, не меньшее 51.
- Запишите регулярное выражение для слов над алфавитом $\{a, b, c\}$, содержащих хотя бы две буквы $a$ и хотя бы одну букву $b$.
- Запишите регулярное выражение для слов над бинарным алфавитом, которые представляют собой двоичную запись числа, кратного трем.
- Постройте детерминированный конечный автомат для языка слов над бинарным алфавитом, в которых пятый символ с конца - единица.
- Докажите, что любой детерминированный автомат для языка слов над бинарным алфавитом, в которых $k$-й символ с конца равен 0, содержит как минимум $2^k$ состояний.
- Можно ли обобщить два предыдущих задания для любого размера алфавита $c$ следующим образом: построить семейство языков, для которых будут существовать НКА, содержащий $k$ состояний, но любые ДКА будут содержать $\Omega(c^k)$ состояний?
- Постройте конечный автомат для языка слов над бинарным алфавитом, которые представляют собой развернутую двоичную запись чисел, кратных 5 (сначала на вход подаются младшие разряды).
- Постройте конечный автомат для языка слов над бинарным алфавитом, которые представляют собой развернутую двоичную запись чисел, кратных 6 (сначала на вход подаются младшие разряды).
- Предложите для заданного ДКА размера $n$ алгоритм подсчета количества слов длины $d$ которые он допускает, за $O(dn)$.
- Предложите для заданного ДКА размера $n$ алгоритм подсчета количества слов длины $d$ которые он допускает, за $O(\log{(d)} \cdot poly(n))$ для некоторого полинома $poly$.
- Предложите для заданного ДКА размера $n$ алгоритм подсчета количества слов длины не больше $d$ которые он допускает, за $O(\log{(d)} \cdot poly(n))$ для некоторого полинома $poly$.
- Петя строит автомат для конкатенации языков $L_1$ и $L_2$ из автоматов для этих языков. Оказалось, что автомат для $L_1$ содержит только одно терминальное состояние и Петя просто объединил в одно это состояние и начальное состояние автомата для $L_2$. Всегда ли у Пети получится то, что нужно?
- Петя строит автомат для объединения языков $L_1$ и $L_2$ из автоматов для этих языков. Решив сэкономить, Петя просто объединил в одно начальные состояния автоматов для $L_1$ и $L_2$. Всегда ли у Пети получится то, что нужно?
- Петя строит автомат для замыкания Клини языка $L$. Решив сэкономить, Петя просто провёл $\varepsilon$-переход из каждого терминального состояния в начальное состояние, и сделал начальное состояние также терминальным. Всегда ли у Пети получится то, что нужно?
- Докажите нерегулярность языка палиндромов, если алфавит содержит хотя бы два символа. Что если алфавит унарный?
- Докажите нерегулярность языка тандемных повторов $L = \{ ww | w \in \Sigma^* \}$, если алфавит содержит хотя бы два символа. Что если алфавит унарный?
- Докажите нерегулярность языка $0^n1^m$, $n \le m$
- Докажите нерегулярность языка $0^n1^m$, $n \ne m$
- Докажите нерегулярность языка $0^{n^2}$
- Докажите нерегулярность языка $0^p$, $p$ — простое
- Докажите нерегулярность языка двоичных записей простых чисел
- Докажите нерегулярность языка $0^n1^m$, $gcd(n, m) = 1$
- Приведите пример нерегулярного языка, для которого выполнена лемма о разрастании
- Обозначим как $\min L$ множество слов $w \in L$, таких что никакой собственный префикс $w$ не является словом языка $L$. Докажите, что если $L$ регулярный, то и $\min L$ регулярный.
- Обозначим как $\max L$ множество слов $w \in L$, таких что $w$ не является собственным префиксом никакого словом языка $L$. Докажите, что если $L$ регулярный, то и $\max L$ регулярный.
- Обозначим как $\mbox{pref}\,L$ множество префиксов слов языка $L$. Докажите, что если $L$ регулярный, то и $\mbox{pref}\,L$ регулярный.
- Обозначим как $\mbox{suf}\,L$ множество суффиксов слов языка $L$. Докажите, что если $L$ регулярный, то и $\mbox{suf}\,L$ регулярный.
- Пусть $a$ и $b$ - слова равной длины $n$. Обозначим как $\mbox{alt}(a, b)$ слово $a_1b_1a_2b_2\ldots a_nb_n$. Для языков $R$ и $S$ обозначим как $\mbox{alt}(R, S)$ множество всех слов, которые получаются как $\mbox{alt}(a, b)$ где $a \in R$, $b \in S$. Докажите, что если $R$ и $S$ регулярные, то $\mbox{alt}(R, S)$ регулярный.
- Пусть $a$ и $b$ - слова. Обозначим как $\mbox{shuffle}(a, b)$ множество слов, которые можно составить, вставив в слово $a$ все буквы слова $b$ в том порядке, в котором они идут в $b$. Например, $\mbox{shuffle}(01, 23)=\{0123, 0213, 0231, 2013, 2031, 2301\}$. Для языков $R$ и $S$ обозначим как $\mbox{shuffle}(R, S)$ объединение всех множеств $\mbox{shuffle}(a, b)$ где $a \in R$, $b \in S$. Докажите, что если $R$ и $S$ регулярные, то $\mbox{shuffle}(R, S)$ регулярный.
- Обозначим как $\mbox{cycle}\,L$ множество циклических сдвигов слов языка $L$. Докажите, что если $L$ регулярный, то и $\mbox{cycle}\,L$ регулярный.
- Обозначим как $\mbox{half}\,L$ множество таких слов $a$, что существует слово $b$ такой же длины, как и $a$, что $ab \in L$. Докажите, что если $L$ регулярный, то и $\mbox{half}\,L$ регулярный.
- Рассмотрим язык $\{x_0 y_0 z_0 x_1 y_1 z_1 \dots x_{n-1} y_{n-1} z_{n-1} \mid x_i, y_i, z_i \in \{0, 1\}\}$, где $ X = x_{n-1}x_{n-2}\dots x_0$ и аналогично представляется $Y$ и $Z$, причем $ X + Y = Z $. Докажите, что этот язык регулярный.
- То же, что и предыдущее, только $\{x_{n-1} y_{n-1} z_{n-1} \dots x_1 y_1 z_1 x_0 y_0 z_0 \mid \dots \}$.
- Рассмотрим язык $\{x_0 y_0 z_0 x_1 y_1 z_1 \dots x_{n-1} y_{n-1} z_{n-1} \mid x_i, y_i, z_i \in \{0, 1\}\}$, где $X = x_{n-1}x_{n-2}\dots x_0$ и аналогично представляется $Y$ и $Z$, причем $X \times Y = Z$. Докажите, что этот язык не является регулярным.
- Петя хочет решить уравнение в регулярных выражениях $L=\alpha L\xi+\beta$, где $\alpha$, $\beta$ и $\xi$ — регулярные выражения, а $L$ — неизвестный язык. Всегда ли решение будет регулярным языком?
- В этом и последующих заданиях регулярный язык подается на вход вашему алгоритму как ДКА, распознающий этот язык. Предложите алгоритм проверки того, что регулярный язык бесконечен.
- Предложите алгоритм подсчёта числа слов в регулярном языке (если язык бесконечен, алгоритм должен выдать информацию, что он бесконечен). Алгоритм должен работать за полином от числа состояний в автомате.
- Предложите алгоритм проверки того, что регулярный язык является беспрефиксным.
- Предложите алгоритм проверки того, что один регулярный язык является подмножеством другого.
- Предложите алгоритм проверки того, что регулярные языки не пересекаются.
- Предложите алгоритм проверки того, что объединение двух заданных регулярных языков совпадет с некоторым третьим заданным.
- Приведите пример регулярного языка и двух неизоморфных недетерминированных автоматов для него, которые при этом имеют минимальное число состояний среди всех недетерминированных автоматов для этого языка.
- Из алгоритма построения множества различимых состояний следует, что если состояния $u$ и $v$ автомата различимы, то $u$ и $v$ различимы строкой длины $O(n^2)$. Докажите, что если состояния $u$ и $v$ автомата различимы, то $u$ и $v$ различимы строкой длины $O(n)$.
- Правые контексты. Правым контекстом слова $x$ в языке $A$ называется множество $R_A(x)$ таких слов $y$, что $xy \in A$. Рассмотрим правые контексты всех слов $x \in \Sigma^*$. Докажите, что если число различных правых контекстов конечно, то язык $A$ является регулярным.
- Докажите, что если число различных правых контекстов бесконечно, то язык $A$ является нерегулярным.
- Докажите, что для регулярного языка $A$ число различных правых контекстов равно числу состояний минимального ДКА для этого языка.
- Левые контексты. Левым контекстом слова $x$ в языке $A$ называется множество $L_A(x)$ таких слов $y$, что $yx \in A$. Докажите, что язык $A$ регулярный тогда и только тогда, когда его множество левых контектов конечно.
- Пусть язык $A$ регулярен и распознается ДКА с $n$ состояниями. Оцените сверху число различных левых контекстов в языке $A$.
- Рассмотрим отношение на словах $L$: $x \equiv y$, если для любых $u$, $v$ выполнено $uxv \in L \Leftrightarrow uyv \in L$. Классы эквивалентности этого отношения называются синтаксическим моноидом языка $L$. Докажите, что если $L$ регулярный и его ДКА содержит $n$ состояний, то синтаксический моноид $L$ конечен и содержит не более $n^n$ классов эквивалентности.
- Придумайте последовательность регулярных языков $L_i$, у которых ДКА для $L_i$ содержит $O(i)$ состояний, а синтаксический моноид $L_i$ имеет неполиномиальный размер.
- Вспомните/узнайте определение моноида. Почему конструкция из задания 186 названа моноидом? Опишите для нее группоидную операцию.
- Постройте КС грамматику для правильных скобочных последовательностей с двумя типами скобок. В этом и следующих заданиях, после разработки КС грамматики необходимо выбрать в качестве примера слово и продемонстрировать его левосторонний вывод и дерево разбора.
- Постройте КС грамматику для языка $0^k 1^n 2^{k+n}$.
- Постройте КС грамматику для языка $0^n 1^m 2^m 3^n$.
- Постройте КС грамматику для языка $0^n 1^n 2^m 3^m$.
- (кроме 35, 34, 31) Докажите, что КС языки замкнуты относительно регулярных операций (объединение, конкатенация, замыкание Клини)
- Пусть задана КС-грамматика для языка $L$. Обозначим как $L^R$ язык, составленный из слов, которые, если их прочитать от конца к началу, принадлежат языку $L$. Укажите, как построить КС грамматику для языка $L^R$.
- Обозначим как $\mbox{pref}\,L$ множество префиксов слов языка $L$. Докажите, что если $L$ контекстно-свободный, то и $\mbox{pref}\,L$ контекстно-свободный.
- Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, в которых число нулей равно числу единиц. Докажите, что ваша грамматика является правильной.
- Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, в которых число нулей равно удвоенному числу единиц. Докажите, что ваша грамматика является правильной.
- Постройте КС грамматику для языка $0^i1^j2^k$, $i \ne j$ или $j \ne k$.
- Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, которые не являются палиндромами.
- Постройте КС грамматику для языка слов над алфавитом $\{(, )\}$, которые не являются правильными скобочными последовательностями.
- Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, в которых число нулей не равно числу единиц.
- Постройте КС грамматику для языка слов над алфавитом $\{0, 1\}$, которые не являются тандемными повторами (не имеют вид $xx$ для некоторого слова $x$).
- Постройте КС грамматику, описывающие академические регулярные выражения над алфавитом $\{0, 1\}$.
- КС грамматика называется линейной, если в правых частях правил встречается максимум один нетерминал. Праволинейные грамматики, в которых этот нетерминал находится на последнем месте, порождают регулярные языки. Приведите пример линейной грамматики, которая порождает нерегулярный язык.
- КС грамматика называется леволинейной, если в правых частях правил встречается максимум один нетерминал, причем если он есть, то находится на первом месте. Докажите, что язык можно породить леволинейной грамматикой тогда и только тогда, когда он регулярный.
- КС грамматика называется смешанной линейной, если в правых частях правил встречается максимум один нетерминал, причем если он есть, то находится либо на первом, либо на последнем месте. Докажите, что существует КС язык, не являющийся регулярным, который можно породить смешанной линейной грамматикой.
- Постройте МП-автомат для языка слов, где число нулей равно числу единиц.
- Постройте МП-автомат для языка $0^n1^{2n}$.
- Постройте МП-автомат для языка $0^n1^m2^{n+m}$.
- Постройте МП-автомат для языка $0^{2n}1^n$.
- Постройте МП-автомат для языка $0^n1^n\cup0^n1^{2n}$.
- Постройте МП-автомат для языка слов $0^n1^m$, где $n \le m \le 2n$.
- Постройте автомат с магазинной памятью для языка слов над алфавитом $\{0, 1, 2\}$, которые содержат равное число двоек и равное число единиц, или равное число двоек и равное число нулей.
- Верно ли, что любую КС-грамматику можно привести к форме, когда любое правило имеет вид $A\to BCD$ или $A\to a$?
- Предложите алгоритм проверки, что в грамматике выводится хотя бы одно слово.
- Предложите алгоритм нахождения слова минимальной длины, выводящегося в заданной грамматике.
- Грамматика называется леворекурсивной, если найдется такой нетерминал A, что за один или более шаг из A можно вывести строку, которая начинается с A ($A \Rightarrow^+ A\alpha$). Предложите алгоритм, который проверяет, является ли грамматика леворекурсивной.
- Предложите алгоритм проверки, что в заданная КС грамматика в НФХ порождает конечное число слов.
- Предложите алгоритм, который, получает на вход КС грамматику в НФХ, про которую с помощью алгоритма из предыдущего задания выяснили, что она порождает конечное число слов. На выход необходимо выдать самое длинное слово, которое порождается этой КСГ.
- Билл поменял местами шаги алгоритма приведения КСГ к НФХ: он сначала удаляет цепные правила, а затем eps-правила. Будет ли корректно работать алгоритм?
- Билл поменял местами шаги алгоритма приведения КСГ к НФХ: он сначала удаляет eps-правила, а затем длинные правые части. Можно ли поправить алгоритм удаления eps-правил, чтобы он работал с длинными правыми частями? Чем эта версия алгоритма хуже оригинальной?
- Алиса разработала свою нормальную форму грамматики, в которой каждое правило имеет вид $A \to BCD$, $A \to BC$ или $A \to c$. Как обобщить алгоритм КЯК на грамматики в такой форме? Сравните получившийся алгоритм с оригинальным.
- Алиса разработала свою нормальную форму грамматики, в которой каждое правило имеет вид $A \to BC$, $A \to B$ или $A \to c$. Как обобщить алгоритм КЯК на грамматики в такой форме? Сравните получившийся алгоритм с оригинальным.
- Рассмотрим дерево разбора некоторого слова в грамматике в НФХ. Как соотносятся количество нетерминалов и терминалов в дереве?
- Докажите, что язык не является КС: $0^i1^j2^k$, $i<j<k$.
- Докажите, что язык не является КС: $0^n1^n2^k$, $k<n$.
- Докажите, что язык не является КС: $0^p$, $p$ простое.
- Докажите, что язык двоичных записей простых чисел не является КС.
- Докажите, что язык не является КС: $0^i1^j$, $j=i^2$.
- Докажите, что язык не является КС: $0^n1^n2^k$, $n<k<2n$.
- Докажите, что язык не является КС: $ww^Rw$, $w$ - строка из 0 и 1, $w^R$ - развернутая строка $w$.
- Докажите, что язык $\{0^n1^m2^n3^m\}$ не является КС.
- Докажите, что язык $\{0^n1^m2^n| n \ne m\}$ не является КС.
- Верно ли, что любой КС-язык над односимвольным алфавитом является регулярным?
- Приведите пример КС-языка, не являющегося регулярным, дополнение к которому также является КС.
- Приведите пример двух КС-языков, не являющихся регулярными, пересечение которых также является КС, но не регулярным, причем отлично от обоих пересекаемых языков.
- Рассмотрим несколько неправильных модификаций леммы о разрастании для КС-языков. Для каждой модификации придумайте КС-язык, который не удовлетворяет этой лемме. Для КС-языка $L$ существует число $n$, что любое слово $w \in L$, $|w| \ge n$ можно разбить на четыре части $w = uvyz$, где $|vy| \le n$, $vy \neq \varepsilon$ что для любого $k \ge 0$, $uv^ky^kz \in L$.
- Для КС-языка $L$ существует число $n$, что любое слово $w \in L$, $|w| \ge n$ можно разбить на четыре части $w = vxyz$, где $|vxy| \le n$, $vy \neq \varepsilon$, что для любого $k \ge 0$, $v^kxy^kz \in L$.
- Докажите, что следующая модификация леммы о разрастании верна: Для КС-языка $L$ существует число $n$, что любое слово $w \in L$, $|w| \ge n$ можно разбить на пять частей $w = uvxyz$, где $|vxy| \le n$, $v \neq \varepsilon$, $y \neq \varepsilon$ что для любого $k \ge 0$, $uv^kxy^kz \in L$.
- Пусть $f : \Sigma \to \Sigma^*$ - функция, сопоставляющая каждому символу некоторую строку. Распространим $f$ на слова следующим образом: $f(c_1c_2\ldots c_k) = f(c_1)f(c_2)\ldots f(c_k)$. Обозначим как $f(L)$ множество слов $f(x)$ для всех $x \in L$. Докажите или опровергните, что если $L$ - КС, то $f(L)$ также КС.
- Пусть $f : \Sigma \to \Sigma^*$ - функция, сопоставляющая каждому символу некоторую строку. Распространим $f$ на слова следующим образом: $f(c_1c_2\ldots c_k) = f(c_1)f(c_2)\ldots f(c_k)$. Обозначим как $f^{-1}(L)$ множество таких слов $x$, для которых $f(x) \in L$. Докажите или опровергните, что если $L$ - КС, то $f^{-1}(L)$ также КС.