- •1. Основные понятия теории графов, удаленность вершины, центр, радиус и диаметр графа.
- •2. Способы задания графов, свойства матриц смежности и инциденций, теорема о рукопожатиях.
- •3. Основные операции над графами, неравенства для числа вершин, ребер и компонент связности графа.
- •4. Типы графов, дополнительные графы, двудольные графы, критерий двудольности.
- •5. Обходы графов: эйлеровы цепи и циклы, необходимые и достаточные условия их существования, алгоритм Флери.
- •6. Обходы графов: гамильтоновы цепи и циклы, достаточные условия их существования.
- •7. Деревья, их свойства, кодирование деревьев, остовные деревья.
- •8. Экстремальные задачи теории графов: минимальное остовное дерево, алгоритмы Прима и Краскала.
- •9. Экстремальные задачи теории графов: задача коммивояжера, «жадный» алгоритм
- •10. Экстремальные задачи теории графов: задача о кратчайшем пути, алгоритм Дейкстры.
- •11. Изоморфизм и гомеоморфизм графов, методы доказательства изоморфности и неизоморфности графов.
- •12. Плоские укладки графов, планарные графы, критерий Понтрягина-Куратовского.
- •13. Необходимые условия планарности, формула Эйлера для планарных графов.
- •14. Правильные вершинные раскраски графов, хроматическое число, неравенства для хроматического числа.
- •15. Теорема о пяти красках, гипотеза четырех красок, «жадный» алгоритм.
- •16. Хроматический многочлен, его нахождение и свойства.
- •17. Задача о поиске выхода из лабиринта, реберная раскраска графа.
- •18. Ориентированные графы, источники и стоки, топологическая сортировка, алгоритм Демукрона.
- •19. Составление расписания выполнения комплекса работ в кратчайшие сроки методами теории графов.
- •20. Элементарные булевы функции и способы их задания (табличный, векторный, формульный, графический, карта Карно).
- •21. Существенные и фиктивные переменные булевых функций, основные тождества, эквивалентные преобразования формул.
- •22. Линейные и нелинейные полиномы Жегалкина, разложение булевых функций в полином Жегалкина методом неопределенных коэффициентов.
- •23. Линейные и нелинейные полиномы Жегалкина, разложение булевых функций в полином Жегалкина методом эквивалентных преобразований.
- •24. Разложение булевых функций в сднф и скнф.
- •25. Минимизация днф и кнф методом эквивалентных преобразований.
- •26. Минимизация днф и кнф с помощью карт Карно.
- •27. Замкнутые классы булевых функций т0, т1, l, лемма о нелинейной функции.
- •28. Замкнутые классы булевых функций s и м, леммы о несамодвойственной и немонотонной функции.
- •29. Полная система функций, теорема о двух системах булевых функций.
- •30. Теорема Поста о полноте системы булевых функций, алгоритм проверки системы на полноту, базис.
- •31. Схемы из функциональных элементов, правила построения и функционирования, метод синтеза сфэ, основанный на сднф и скнф.
- •32. Метод синтеза сфэ, основанный на компактной реализации всех конъюнкций с помощью универсального многополюсника, сложность получаемых схем.
- •33. Основные комбинаторные операции, сочетания и размещения (с возвращением и без возвращения элементов).
- •34. Комбинаторные принципы сложения, умножения, дополнения, включения-исключения.
- •35. Биномиальные коэффициенты, их свойства, бином Ньютона.
- •36. Треугольник Паскаля, полиномиальная формула.
- •37. Алфавитное кодирование: необходимое и достаточные условия однозначности декодирования.
- •38. Алфавитное кодирование: теорема Маркова, алгоритм Маркова.
- •39. Коды с минимальной избыточностью (коды Хаффмана), метод построения.
- •40. Линейные коды, порождающая матрица, двойственный код.
- •41. Самокорректирующиеся коды (коды Хэмминга), метод построения.
- •42. Определение, схема и функционирование абстрактного автомата, способы задания автоматов.
- •43. Типы конечных автоматов, автоматы Мили и Мура, автоматы-генераторы.
- •44. Слова и языки, операции над ними, их свойства.
- •45. Регулярные выражения и регулярные языки, теорема Клини.
- •46. Задача анализа автоматов-распознавателей.
- •47. Задача синтеза автоматов-распознавателей.
- •48. Эквивалентные состояния автомата-распознавателя, эквивалентные автоматы-распознаватели, минимизация автоматов-распознавателей, алгоритм Мили.
- •49. Эквивалентные состояния автомата-преобразователя, эквивалентные автоматы- преобразователи, минимизация автоматов- преобразователей, алгоритм Мили.
- •50. Детерминированные и недетерминированные функции, примеры, способы задания.
- •51. Ограниченно-детерминированные (автоматные) функции, способы их задания.
- •52. Логические автоматы, способы их задания, синтез двоичного сумматора.
- •53. Операции над логическими автоматами: суперпозиция и введение обратной связи.
3. Основные операции над графами, неравенства для числа вершин, ребер и компонент связности графа.
Графом Gназывается пара (V,E), где– непустое множество вершин графа, а– множество ребер графа, причем каждое ребро – это неупорядоченная пара различных вершин.
Утверждение. Если в графе количество вершинn≥ 2, то в нем найдутся хотя бы две вершины с одинаковой степенью.
Утверждение. Для любого графаG= (V,E) сnвершинами иmребрами справедливо равенство т.е. сумма степеней всех вершин графа равна удвоенному количеству ребер.
К графам или отдельным его элементам могут применяться следующие операции:
добавление ребра, соединяющего две несмежные вершины;
удаление ребра (концы ребра сохраняются);
добавление вершины;
удаление вершины (вместе с инцидентными ей ребрами);
отождествление двух несмежных вершин (все ребра, инцидентные отождествляемым вершинам, сохраняются и становятся инцидентными полученной вершине; если при этом возникают кратные ребра, они заменяются одним ребром);
подразбиение ребра [u,v] (сначала добавляются новая вершина w и новые ребра [u,w], [w,v], затем удаляется ребро [u,v]);
стягивание ребра [u,v] (сначала удаляется ребро [u,v], а затем вершины u и v отождествляются);
объединение графов и(в результате получается графU, вершинами и ребрами которого являются вершины и ребра графови).
Определение. Граф называется связным, если в нем любые две вершины соединены цепью.
Определение. Говорят, что граф состоит изkкомпонент связности, если его можно представить как объединениеkсвязных графов, не имеющих общих вершин.
Определение. Мостом в графе называется ребро, при удалении которого увеличивается количество компонент связности этого графа.
Утверждение 1. Количество реберmв любом связномn-вершинном графе удовлетворяет неравенствам.
Утверждение 2. Еслиn-вершинный граф состоит изkкомпонент связности, то количество его реберmудовлетворяет неравенствам.
4. Типы графов, дополнительные графы, двудольные графы, критерий двудольности.
Графом G называется пара (V, E), где – непустое множество вершин графа, а– множество ребер графа, причем каждое ребро – это неупорядоченная пара различных вершин.
Определение. Полный n-вершинный граф (клика) – это граф, в котором любые две вершины соединены ребром (обозначается );
Определение. Нулевой n-вершинный граф – это граф без ребер (обозначается );
Определение. Граф называется связным, если в нем любые две вершины соединены цепью.
Определение. Двудольный граф – это граф, множество вершин которого можно так разбить на два непересекающихся подмножества (доли) и, что никакие две вершины из одной доли не смежны;
Утверждение. Критерий двудольности графа - необходимо и достаточно, чтобы в этом графе все циклы имели четную длину.
Определение. Полный двудольный граф – это двудольный граф, в котором каждая вершина из доли смежна каждой вершине из доли(обозначается, гдеn, m – количество вершин в и).
Определение. Дополнительным графом к n-вершинному графу называется графс тем же множеством вершин, не имеющий с графомобщих ребер, и такой, чтоU.
5. Обходы графов: эйлеровы цепи и циклы, необходимые и достаточные условия их существования, алгоритм Флери.
Графом G называется пара (V, E), где – непустое множество вершин графа, а– множество ребер графа, причем каждое ребро – это неупорядоченная пара различных вершин.
Определение. Эйлерова цепь – цепь, подразумевающая обход всех вершин через единичное прохождение каждого ребра, но не подразумевающая возврат в изначальную точку.
Определение. Эйлеров цикл – цикл, при котором происходит обход всех вершин через единичное прохождение каждого ребра.
Утверждение. Критерий существования эйлерова цикла - только тогда, когда в графе все вершины имеют четную степень; связность.
Утверждение. Критерии существования эйлеровой цепи - существует тогда и только тогда, когда в графе ровно две вершины имеют четную степень; связность.
Граф, в котором существует эйлеров цикл, называется эйлеровым графом. Существует алгоритм Флери для построения эйлерового цикла в эйлеровом графе. Этот алгоритм нумерует ребра графа в порядке их прохождения, а сам порядок определяется следующей схемой:
Из произвольной начальной вершины по любому инцидентному ей ребру переходим в следующую вершину, нумеруем это ребро цифрой 1 и удаляем его.
Если очередной вершине инцидентно только одно ребро, то переходим по нему в следующую вершину, нумеруем это ребро очередным числом и удаляем его. Если же очередной вершине инцидентны несколько ребер, то среди них обязательно найдется ребро, которое не является мостом в оставшемся графе. По этому ребру переходим в следующую вершину, нумеруем это ребро очередным числом и удаляем его. Этот этап повторяется до тех пор, пока не удалим все ребра графа.
Алгоритм заканчивает работу за конечное число шагов, равное количеству ребер в исходном графе. При этом номера ребер указывают, в каком порядке следуют ребра в эйлеровом цикле.