- •2.Высказывания.Операции над высказываниями.
- •3. Тождественно истинные и тождественно ложные высказывания. Равносильные высказывания.
- •4.Суперпозиция функций. Бинарные отношения. Свойства бинарных отношений
- •5.Отношение порядка. Отношение эквивалентн. Бинарные опер.
- •6. Алгебры. Алгебра Кантора и булева алгебра. Изоморфизм. Операции над двоичными числами.
- •7. Булевы функции. Мощность множества булевых функций от переменных.
- •8. Элементарные булевы функции.
- •9. Формулы. Основные эквивалентности формул.
- •Порядок действий в формулах алгебры логики
- •10. Принцип двойственности. Двойственные булевы функции.
- •11.Теорема о разложении
- •12. Совершенные дизъюнктивные нормальные формы.
- •25. Перестановки с повторениями
- •26. Полиномиальная теорема. Принцип Дирихле.
- •27.Рекуррентные соотношения и производящие функции.
- •28. Принцип включения и исключения:
- •30. Схемы правильных рассуждений. Аксиоматические теории
- •32. Минимальные , кратчайшие и тупиковые днф.
- •33. Сокращённые днф. Построение сокращённых днф булевых функций методом Блейка.Пример.
- •34. Построение сокращённых днф булевых функций методом Квайна.Пример.
- •35.Построение Сокращенных днф геометрическим методом. Пример.
- •36. Построение минимальных днф с помощью карт Карно.
- •37. Метод Нельсона. (Построение сокращенной днф с помощью кнф).
- •38.Построение всех тупиковых днф. Алгоритм минимизации функций в классе нормальных форм.
- •39. Понятие о функциях k-значной логики. Их особенности.
- •40.Графы. Изоморфизм графов.
- •41.Способы задания графов.
- •42. Действия над графами.
- •43. Ориентированные и неориентированные графы.
- •44.Маршруты. Пути. Цепи. Связные графы.
- •45. Геометрическая реализации графа. Теорема о реализации конечного графа в трёхмерном пространстве.
- •46.Эйлеровы циклы. Задача о кенигсбергских мостах. Теорема Эйлера.
- •47.Обобщенная теорема об эйлеровых цепях.
- •48. Гамильтоновы графы. Задача о коммивояжере.
- •49. Взвешенный граф. Граф-дерево.
- •50. Цикломатическое число. Остов графа. Базис циклов.
- •51. Двудольные графы.
- •52. Планарные графы. Критерий планарности.
- •53. Теорема Куратовского-Понтрягина. Граф Петерсена.
- •54.Двухполюсные сети. Параллельно-последовательные сети. Поток в сети.
- •55.Теорема Форда-Фалкерсона о максимальном потоке. Расчет максимального потока в сети.
- •56.Общие принципы помехоустойчивого кодирования. Примеры.
- •57.Типы ошибок. Сжатие информации.
- •58.Код Хэмминга.
- •59.Троичный код Хэмминга. Пример.
- •60.Алфавитное кодирование.
- •61. Алгоритм Фано.Пример
- •62. Алгоритм кодирования Хаффмена.Пример
- •63. Формальные грамматики. Основные понятия.
- •64. Классификация языков по Хомскому
- •65. Типы языков. Вывод цепочек. Дерево вывода
- •66.Конечные автоматы. Автоматы Мили и Мура. Канонические уравнения
- •67.Таблица состояний, диаграмма состояний автомата.
- •68.Дешифратор.
- •69.Реализация автоматов схемами.
- •70. Ограниченно детерминированные функции. Информационные деревья.
- •71. Понятие алгоритма. Основные свойства алгоритмов. Вычислимость.
- •72. Рекурсивные функции. Операторы суперпозиции и примитивной рекурсии.
- •73. Примитивно рекурсивные предикаты. Свойства.
- •74. Классы рекурсивных функций. (п.Р., о.Р., ч.Р.). Тезис Черча.
- •75. Машины Тьюринга. Принципы работы. Протокол работы.
- •76.Машины Тьюринга. Примеры. Функции, вычислимые по Тьюрингу.
63. Формальные грамматики. Основные понятия.
Опр: алфавит - это конечное множество символов. Опр: цепочкой символов в алфавите V называется любая конечная последовательность символов этого алфавита. Опр: цепочка, которая не содержит ни одного символа, называется пустой цепочкой. Для ее обозначения будем использовать символ ε.
Более формально цепочка символов в алфавите V определяется следующим образом:
(1) ε - цепочка в алфавите V; (2) если α - цепочка в алфавите V и a - символ этого алфавита, то αa – цепочка в алфавите V; (3) β - цепочка в алфавите V тогда и только тогда, когда она является таковой в силу (1) и (2).
Опр: если α и β - цепочки, то цепочка αβ называется конкатенацией (или сцеплением) цепочек α и β. Например, если α = ab и β = cd, то αβ = abcd. Для любой цепочки α всегда αε = εα = α.
Опр: обращением (или реверсом) цепочки α называется цепочка, символы которой записаны в обратном порядке. Обращение цепочки α будем обозначать αR. Например, если α = abcdef, то αR= fedcba. Для пустой цепочки: ε = εR. Опр: n-ой степенью цепочки α (будем обозначать αn) называется конкатенация n цепочек α. α0 = ε; αn = ααn-1 = αn-1α. Опр: длина цепочки - это число составляющих ее символов. Длину цепочки α будем обозначать | α |. Длина ε равна 0.Опр: язык в алфавите V - это подмножество цепочек конечной длины в этом алфавите. Опр: обозначим через V* множество, содержащее все цепочки конечной длины в алфавите V, включая пустую цепочку ε. Например, если V={0,1}, то V* = {ε, 0, 1, 00, 11, 01, 10, 000, 001, 011, ...}. Опр: обозначим через V+ множество, содержащее все цепочки конечной длины в алфавите V, исключая пустую цепочку ε. Следовательно, V* = V+∪ {ε}. Ясно, что каждый язык в алфавите V является подмножеством множества V*.
Опр: порождающая грамматика G - это четверка (VT, VN, P, S), Где VT - алфавит терминальных символов ( терминалов ),VN - алфавит нетерминальных символов (нетерминалов), не пересекающийся с VT,P - конечное подмножество множества (VT ∪ VN)+× (VT ∪ VN)*; элемент(α, β) множества P называется правилом вывода и записывается в виде α → β,S - начальный символ (цель) грамматики, S ∈ VN. Для записи правил вывода с одинаковыми левыми частями α → β1 α → β2 ... α → βn будем пользоваться сокращенной записью α → β1 | β2 |...| βn. Каждое βi , i = 1, 2, ... ,n , будем называть альтернативой правила вывода из цепочки α.
Опр: цепочка β ∈ (VT ∪ VN)* непосредственно выводима из цепочки α ∈ (VT ∪ VN)+ в грамматике G = (VT, VN, P, S) (обозначим α → β), если α = ξ1γξ2, β = ξ1δξ2, где ξ1, ξ2, δ ∈ (VT ∪ VN)*, γ ∈ (VT ∪ VN)+ и правило вывода γ → δ содержится в P. Например, цепочка 00A11 непосредственно выводима из 0A1 в грамматике G1.
Опр: цепочка β ∈ (VT ∪ VN)* выводима из цепочки α ∈ (VT ∪ VN)+ в грамматике G = (VT, VN, P, S) (обозначим α β), если существуют цепочки γ0, γ1, ... , γn (n>=0), такие, что α = γ0 → γ1 → ... → γn= β.
Опр: последовательность γ0, γ1, ... , γn называется выводом длины n. Например, S 000A111 в грамматике G1 (см. пример выше), т.к. существует вывод S → 0A1 → 00A11 → 000A111. Длина вывода равна 3.
Опр: языком, порождаемым грамматикой G = (VT, VN, P, S),называется множество L(G) = {α ∈ VT* | S α}.Другими словами, L(G) - это все цепочки в алфавите VT, которые выводимы из S с помощью P. Например, L(G1) = {0n1n | n>0}.
Опр: цепочка α ∈ (VT ∪ VN)*, для которой S α, называется сентенциальной формой в грамматике G = (VT, VN, P, S). Таким образом, язык, порождаемый грамматикой, можно определить как множество терминальных сентенциальных форм.
Опр: грамматики G1 и G2 называются эквивалентными, если L(G1) = L(G2). Например, G1 = ({0,1}, {A,S}, P1, S) и G2 = ({0,1}, {S}, P2, S) P1: S → 0A1 P2: S → 0S1 | 01 0A → 00A1 A → ε эквивалентны, т.к. обе порождают язык L(G1) = L(G2) = {0n1n | n>0}.
Опр: грамматики G1 и G2 почти эквивалентны, если L(G1) ∪ {ε} = L(G2) ∪ {ε}. Другими словами, грамматики почти эквивалентны, если языки, ими порождаемые, отличаются не более, чем на ε.