- •2. Простое и необычное множество. Парадоксы и Антиномии. Парадокс Рассела и его роль в математике. Способы избежать Парадокса Рассела. Логические антиномии.
- •3. Операции над множествами и законы алгебры множеств. Диаграммы Эйлера. Формула включений и исключений. Покрытия и разбиения. Классы разбиения.
- •6. Операции над соответствиями. Объединение, пересечение, дополнение, инволюция (обратное) соответствия, композиция соответствий.
- •7. Прямое и обратное соответствие Галуа и его роль в проективном распознавании образов. Свойства соответствий Галуа. Замкнутое подмножество.
- •8. Бинарное отношение. Способы задания. Рефлексивное, симметричное, антисимметричное, асимметричное, транзитивное отношения.
- •10. Диаграмма Хассе как способ задания отношения частичного порядка на множестве. Непосредственно предшествующие элементы. Линейно упорядоченные подмножества.
- •11. Замыкание отношений. Рефлексивное, симметричное, транзитивное замыкание отношений.
- •12. Понятие нечеткого множества. Функция принадлежности и ее интерпретация. Способы формализации нечетких множеств. Наиболее распространенные параметрические функции принадлежности.
- •15. Бинарная операция и ее основное множество. Способы задания бинарной операции. Таблица Кэли. Операционный квадрат таблицы Кэли.
- •16. Свойства бинарных операций: ассоциативность, коммутативность, дистрибутивность, существование нейтрального и обратного элементов, разрешимость уравнений.
- •18. Группоид. Квазигруппа. Латинский квадрат. Лупа. Полугруппа. Моноид. Группа. Абелева группа.
- •19. Подстановки. Композиция подстановок, нейтральная, обратная подстановка. Группа подстановок и ее таблица Кэли. Подгруппы группы подстановок.
- •20. Группа симметрий фигуры.
- •21. Иерархия систем с двумя бинарными операциями: Кольцо. Виды колец. Тело. Поле.
- •4) Аддитивная и мультипликативная операции коммутативны
- •23. Отображения. Изоморфизм. Автоморфизм. Гомоморфизм. Эпиморфизм. Эндоморфизм. Мономорфизм. Биморфизм.
- •25. Способы задания графов: матрица смежности, матрица инциденций и список смежности.
- •28. Алгоритм определения компонент связности в неориентированном графе.
- •29. Эйлеров путь в графе. Эйлеров цикл. Теорема о существовании эйлерова цикла. Алгоритм нахождения эйлерова цикла и его вычислительная сложность.
- •33. Необхдимое и Достаточное условия для определения дерева. Задача построения минимального остовного дерева. Алгоритм Краскала. Алгоритм Прима. Оценка вычислительной сложности.
- •35. Алгоритм нахождения кратчайшего расстояния от источника до всех верши в общем случае – алгоритм Форда-Беллмана. Сложность алгоритма
- •36. Алгоритм Дейкстры — алгоритм нахождения кратчайшего расстояния от источника до всех верши в случае неотрицательных весов. Сложность алгоритма.
- •37. Лемма о перенумерации вершин. Алгоритм перенумерации вершин графа.
- •38. Алгоритм нахождения кратчайшего расстояния от источника до всех верши в случае бесконтурных графов. Сложность алгоритма.
- •39. Система pert. Алгоритм топологической сортировки. Критический путь и способ его нахождения.
- •41. Потоки в сетях. Классификация вершин по воздействию на поток. Величина потока. Разрез и поток через разрез. Теорема о максимальном потоке. Метод увеличивающих цепей.
- •42. Знаковые орграфы и задачи социологии. Теорема Харари о балансе. Недостатки математической модели о балансе.
- •45. Эквивалентность и включение сетей Петри. Построение дерева достижимости сети Петри.
- •46. Виды сетей Петри: временная, стохастическая, функциональная, цветная, ингибиторная. Использование сети Петри для проверки абстрактного сценария. Сеть Петри для задачи об обедающих философах.
- •48. Основные схемы логически правильных рассуждений.
- •51. Формы записи формул (функций) — инфиксная, префиксная, постфиксная. Преобразования формул: инфиксная в префиксную и постфиксную, префиксная в инфиксную, постфиксная в инфиксную.
- •52. Элементарная конъюнкция, элементарная дизъюнкция. Днф, сднф, кнф, скнф. Построение сднф и скнф по таблице истинности. Преобразования днф в сднф. Преобразование кнф в скнф.
- •53. Полиномы Жигалкина. Построение полиномов Жигалкина.
- •54. Классы логических функций: сохраняющие 0, сохраняющие 1, монотонные, линейные, двойственные, самодвойственные. Критерий поста.
- •55. Упрощение сднф при помощи Карты Карно. Булева алгебра и коммутационные схемы. Анализ и синтез коммутационных схем. Проектирование полубитного сумматора.
- •56. Функции k-значной логики и их задание с помощью таблицы истинности и таблицы Кэли. Примеры k-значных логик: алгебра Вебба, алгебра Поста, алгебра Россера-Тьюкетта.
- •59. Квантор всеобщности и квантор существования. Область действия квантора. Связанное и свободное вхождение переменной в формулу.
- •61. Эквивалентные соотношения логики предикатов. Префиксная нормальная форма. Процедура получения пнф.
- •62. Конечный автомат. Способы задания: таблицей, диаграммой.
- •64. Виды автоматов: Мили, сильносвязанный, автономный, Мура. Изоморфизм и эквивалентность автоматов. Изоморфизм графов и автоматов. Неотличимые автоматы. Минимальный автомат.
- •65. Подстановочные, перестановочные криптограммы, Шифр Тритемиуса.
- •66. Равномерные коды, неравномерные однозначно декодируемы (префиксные) коды: код и дерево Фано, кодирование и дерево по Хафменну.
- •67. Условие однозначной декодируемости для неравномерных кодов.
- •69. Кодирование и декодирование по Хеммингу.
28. Алгоритм определения компонент связности в неориентированном графе.
Любой максимальный связный подграф (не содерж. в других связных подграфах) графа G называется компонентой связности.
Обозначения:
u или v — вершины, (u,v) — ребро;
num — количество компонент связности
comp[v] — массив для каждой вершины хранит номера компонент связности, которым принадлежит данная вершина.
DFS(v) — процедура поиска в глубину.
Итог: массив comp[v] содержит число связности для каждой вершины.
1. begin
2. Задание графа // Ваш интерфейс
3. for (v ∊ V)
do comp[v]=0 // все вершины Ï КС
4.num=0 //начальное количество КС 0.
5 . for (v ∊ V) цикл по всем вершинам
6. {
7. if comp[v]=0 then Если v Ï КС
8. { num=num+1; DFS(v) }
9. }
10. Интерфейс для вывода числа КС и всех КС
11. end
12.Procedure DFS(v)
13. begin
14.comp[v]=num // вершина v Î КС num
15.for ( u: (v,u) ∊ E) // по смежным с v
16.{ if comp[u] = 0 then DFS(u) }
17. end
29. Эйлеров путь в графе. Эйлеров цикл. Теорема о существовании эйлерова цикла. Алгоритм нахождения эйлерова цикла и его вычислительная сложность.
___Эйлеровым путем в графе называется произвольный путь, проходящий через каждое ребро графа в точности один раз.
___Если v1 = vm+1, то такой путь называется эйлеровым циклом. Задача существования эйлерова пути в заданном графе была решена Эйлером в 1736 году, и представленное им необходимое и достаточное условие существования такого пути считается первой в истории теоремой теории графов.
___Теорема. Эйлеров путь в графе существует тогда и только тогда, когда граф связный и содержит не более чем две вершины нечетной степени.
___Эйлеров цикл в графе существует тогда и только тогда, когда степени всех вершин четны.
АЛГОРИТМ НАХ ЭЙЛЕРОВА ЦИКЛА::
__Исходные данные: связный граф G = <V, E> без вершин нечетной степени, представленный списками ЗАПИСЬ [v],
v Î V.
____Результаты: Эйлеров цикл, представленный последовательностью вершин в стеке СЕ.
ВЫЧИСЛ СЛОЖНОСТЬ:::
___каждая итерация главного цикла либо помещает вершину в стек CT и удаляет ребро из графа, либо переносит вершину из стека CT в стек CE. Таким образом, число итераций этого цикла — О(m). В свою очередь число шагов в каждой итерации ограничено константой.
__Т.о. общая сложность алгоритма есть О(m).
30. Гамильтонов цикл в графе. Достаточные условия существования цикла Гамильтона: Дирака, Оре, Поша. Алгоритм с возвратом для поиска гамильтонова пути. Оценки вычислительной сложности алгоритма.
___Гамильтоновым называется путь, проходящий в точности один раз через каждую вершину графа.
___В отличие от эйлеровых путей не известно ни одного простого необходимого и достаточного условия для существования гамильтоновых путей и это несмотря на то, что эта задача — одна из самых центральных в теории графов.
___Не известен также полиномиальный алгоритм, который проверял бы существование гамильтонова пути в произвольном графе (т.е. используя число шагов, ограниченное многочленом от числа n вершин в графе).
ДОСТ УСЛОВ ДИРАКА::::::
Условие Дирака: Пусть - число вершин в графе р ≥ 3; если степень каждой вершины d(x) ≥ р/2, то граф называется графом Дирака.
Каждый граф Дирака обязательно гамильтонов.
Граф Дирака – Гамильтонов
Гамильнов граф - но НЕ граф Дирака
p=6,
p/2=3
k=2
ДОСТ УССЛ ОРЕ::::::::::::
Условие Оре: Если для любой пары несмежных вершин x,y выполнено неравенство d(x)+d(y) > = p (сумма степеней любых двух несмежных вершин не меньше общего числа вершин в графе), то граф называется графом Оре.
Всякий граф Оре обязательно гамильтонов.
Граф Оре – Гамильтонов
Гамильнов граф - но НЕ граф Оре
p=6,
d(x)+d(y)=4<6
ДОСТ УСЛ ПОША ::::::: Введем функцию Поша f(x) целого неотрицательного аргумента x, такую что функция f(x) в каждом целом неотрицательном х принимает значение, равное количеству вершин графа, степень которых не превосходит х. Функция Поша следующего графа:
ТАБЛИЦА(л-6(8))
Графом Поша называется граф , удовлетворяющий условиям
1) для 1 £ х < (p – 1)/2 выполняется неравенство f(x) <x ;
2) если (p-1)/2 - целое число, то при x=(p-1)/2 имеет место f(x)<(p-1)/2
Каждый граф Дирака и граф Оре – граф Поше
___Каждый граф Поша обязательно гамильтонов. Простой цикл на большом числе вершин графом Поша не является, но, конечно, является гамильтоновым графом.
АЛГОРИТМ С ВОЗВРАТОМ:::::
___Данные: Граф G = <V, E>, представленный списками инцидентности ЗАПИСЬ[v], v Î V.
__Результаты: Список всех гамильтоновых циклов графа G.
___Массив Dop[v] – метка, показывающей включена ли вершина в рассматриваемый маршрут. Если Dop[v]=1, то вершина НЕ включена в маршрут.
__Массив X[n] –содержит последовательность вершин образующих маршрут.
___Dop[v], X[n] –глобальные массивы
__Рrocedure ГАМИЛЬТ(k) - генерация всех гамильтоновых циклов, являющихся расширением последовательности X[1], . . ., X[k – 1]
СЛОЖНОСТЬ АЛГОРИТМА::::::::
__для большинства приложений число шагов алгоритма с возвратом хотя и будет меньше, чем в случае полного перебора, однако же в наихудшем случае растет по экспоненте с возрастанием размерности задачи.
___Вопрос: если известно, что некоторая задача алгоритмически разрешима, то неудача в разработке для нее полиномиального алгоритма является следствием неумения конкретного разработчика или следствием каких-то свойств самой задачи?
31. Задача коммивояжера. Алгоритм поиска субоптимального решения.::::::::::::::::::::::::::
__Задача: Коммивояжер должен совершить поездку по городам и вернуться обратно, побывав в каждом городе ровно один раз, сведя при этом затраты на передвижение к минимуму.
__Для решения задачи нам необходимо найти гамильтонов цикл минимального общего веса.
__Для сложных сетей число гамильтоновых циклов непомерно велико. В полном графе с 20-ю вершинами существует приблизительно 6,1*1016 ЦГ
__Применяют алгоритм поиска субоптимального решения - Алгоритм ближайшего соседа
__Дан нагруженный граф с множеством вершин V. Цикл, полученный в результате работы, будет совпадать с конечным значением переменной маршрут, а его длина — конечное значение переменной w.
ПРИМЕР (Лекция 6(25))
32. Теория алгоритмов. Вычислительная сложность алгоритмов. Классификация алгоритмов по функции сложности (эффективность алгоритмов). Распознавательные задачи. Сложностные классы задач P, NP, NP- полные задачи. Соотношение классов P, NP и NP-полные.
__Теория алгоритмов - классифицирует задачи по сложности. При этом классифицируются лишь распознавательные задачи.
ВЫЧИСЛ СЛОЖНОСТЬ АЛГОР(оценка сложности алгоритм):::::
__Предположим, что функции f(n) и g(n) измеряют эффективность двух алгоритмов, их обычно называют функциями временной сложности. Будем говорить, что порядок роста функции f(n) не больше, чем у g(n), если найдется такая положительная константы С, что | f(n) | <= С | g(n) |. Этот факт обозначают как f(n) = O(g(n))
Например: сложность алгоритма О(n3)
ЭФФЕКТИВНОСТЬ АЛГОРИТМОВ:::
РИСУНОК(Лекция 5 12 слайд)
РАССПОЗНАВАТЕЛЬНые ЗАДАЧи:::
___Распознавательная задача – это задача отвечающая на вопрос: обладают ли входные данные некоторым свойством. В нашем случае: входные данные – граф, свойство – является ли граф Гамильтоновым?
СЛОЖНОСТНЫЕ КЛАССЫ:
__Сложностный класс P: существует алгоритм A, решающий задачу за полиномиальное время.
__Сложностный класс NP — существует алгоритм А проверяющий предложенное решение, за полиномиальное время.
__Задача о гамильтоновом цикле состоит в выяснении, имеет ли заданный граф G гамильтонов цикл относится к NP-классу.
NP-gлные задачи :::::
__Наиболее серьезная причина полагать, что P ≠ NP — существование NP полных задач.
__Неформально!!!, задача Q сводится к задаче Q′, если задачу Q можно решить за полиномиальное время для любого входа, считая известным решение задачи Q′ для какого-то другого входа. Например, задача решения линейного уравнения сводится к задаче решения квадратного уравнения.
__NP-полная задача — это такая задача из класса NP, к которой можно свести любую другую задачу из класса NP.
__NP-полные задачи образуют подмножество «самых сложных» задач в классе NP. Если для любой NP-полной задачи будет найден полиномиальный алгоритм решения, то и любая другая задача из класса NP может быть решена за полиномиальное время.
__Все перечисленные NP-задачи являются NP-полными. В том числе задача о цикле Гамильтона.
СООТНОШЕНИЕ P и NP :::::
__Всякая задача из P принадлежит NP.
__Таким образом, класс NP включает в себя класс P. В данное время, неизвестно совпадают ли классы P и NP, но большинство специалистов полагает, что нет.
__Если окажется, что Р= NP
1) NP задачи окажутся решаемы за разумное время.
2) Существует ряд задач, которые намеренно используют задачи экспоненциальной сложности (т.е. предполагая, что задачу решить не возможно). Например, В криптографии существует раздел о шифровании с открытым ключом, расшифровать которые практически не возможно. Если вдруг P = NP, то многие секреты перестанут быть таковыми.