- •2. Операции над множествами. Круги Эйлера. Покрытия и разбиения. Классы разбиения.
- •3. Законы алгебры множеств. Формула включений и исключений.
- •5. Соответствия. Способы задания соответствий.
- •6. Инволюция (обращение) соответствий. Объединение, пересечение, дополнение, произведение соответствий.
- •7. Функциональные соответствия, их связь с графиками функций.
- •8. Соответствие Галуа и его роль в проективном распознавании образов. Замкнутое подмножество.
- •9. Отношение. Бинарное отношение. Рефлексивное, симметричное, антисимметричное, асимметричное, транзитивное отношения.
- •Унарные:
- •Бинарные:
- •Соответствия a, b, r
- •10. Отношение эквивалентности. Фактор-множество множества по отношению.
- •11. Отношение предпорядка, упорядоченности, строгой упорядоченности. Отношение частичного порядка.
- •12. Замыкание отношений. Рефлексивное, симметричное, транзитивное замыкание отношений.
- •13. Понятие нечеткого множества. Функция принадлежности. Способы формализации нечетких множеств. Наиболее распространенные параметрические функции принадлежности.
- •14. Основные логические операции над нечеткими множествами и их свойства.
- •15. Диаграмма Хассе как способ задания отношения частичного порядка на множестве.
- •16. Отображения. Изоморфизм. Автоморфизм. Гомоморфизм. Эпиморфизм. Эндоморфизм. Мономорфизм. Биморфизм.
- •17. Бинарная операция и ее основное множество. Способы задания бинарной операции. Таблица Кэли. Операционный квадрат таблицы Кэли.
- •18. Группоид. Квазигруппа. Латинский квадрат. Лупа. Полугруппа. Моноид. Группа. Абелева группа.
- •19. Группа симметрий фигуры.
- •20. Группа подстановок.
- •21. Иерархия систем с двумя бинарными операциями. Кольцо. Тело. Поле (коммутативное тело). Поле Галуа.
- •22. Решетка (структура). Решетка как частично упорядоченное множество.
- •23. Решетка как универсальная алгебра.
- •Графы и ориентированные графы
- •27. Виды графов: двудольные графы, регулярные графы, полные графы, деревья, планарные графы
- •28. Изоморфизм графов.
- •29. Способы задания графов.
- •32. Эйлеров путь в графе. Задача о кенигсбергских мостах. Эйлеров цикл. Теорема о существовании эйлерова цикла.
- •33. Алгоритм нахождения эйлерова цикла и его вычислительная сложность.
- •34. Гамильтонов цикл в графе. Алгоритм с возвратом для поиска гамильтонова пути. Оценки вычислительной сложности алгоритма.
- •35. Задача коммивояжера. Алгоритм поиска субоптимального решения.
- •36. Задача построения минимального остовного дерева. Алгоритм Краскала. Алгоритм Прима. Оценка вычислительной сложности этих алгоритмов.
- •37. Перенумерация вершин графа. Алгоритм топологической сортировки.
- •39. Принцип оптимальности Беллмана. Алгоритм нахождения кратчайшего пути в ориентированном графе и его вычислительная сложность.
- •1 Begin
- •40. Алгоритм вычисления расстояний между всеми парами вершин графа. Общий случай.
- •41. Алгоритм нахождения расстояния от источника до всех остальных вершин в графе с неотрицательными весами дуг — метод Дейкстры. Оценка вычислительной сложности.
- •1 Begin
- •5 Begin
- •42. Алгоритм топологической сортировки. Алгоритм нахождения расстояния от источника до всех остальных вершин в графе в случае бесконтурного графа. Оценка вычислительной сложности
- •43. Знаковые графы и их практическое применение. Задачи из области социологии малых групп, экономики и политики.
- •44. Теорема о структуре (теорема Харари о балансе).
- •45. Знаковые орграфы как модель когнитивных карт. Контуры положительной и отрицательной обратной связи и устойчивость/изменчивость моделей на орграфах.
- •46. Двудольные графы. Необходимое и достаточное условие двудольности графа.
- •47. Сети Петри. Функционирование сети Петри. Конечные разметки сети.
- •Иллюстрация к правилу срабатывания перехода
- •48. Сети Петри. Ограниченность, безопасность, сохраняемость, достижимость, живость. Моделирование на сетях Петри.
- •50. Конечный автомат как математическая модель устройства с конечной памятью и как управляющая система. Способы описания конечных автоматов: перечислительный; диаграмма состояний; таблица состояний.
- •51. Алгебра логики. Функции алгебры логики. Существенные и несущественные переменные. Бинарные логические операции. Формула. Суперпозиция функций. Таблицы истинности и таблицы Кэли.
- •52. Формы записи операций (функций) — инфиксная, префиксная, постфиксная. Эквивалентные формулы.
- •53. Основные схемы логически правильных рассуждений.
- •54. Функционально полные системы (базисы). Булева алгебра логики. Функциональная полнота системы булевых функций. Примеры других алгебр логики.
- •55. Основные эквивалентные соотношения в булевой алгебре. Выражение через дизъюнкцию, конъюнкцию и отрицание других логических бинарных операций. Двойственность.
- •56. Булева алгебра логики. Сднф и днф. Карта Карно. Функциональные схемы как приложение булевых функций.
- •57. Функции k-значной логики и их задание с помощью таблицы истинности и с помощью таблицы Кэли. Примеры k-значных логик.
- •59. Квантор всеобщности и квантор существования.
- •61. Истинные формулы и эквивалентные соотношения логики предикатов.
- •62. Префиксная нормальная форма. Процедура получения пнф.
- •63. Формальные теории. Принципы построения формальной теории.
- •64. Исчисление высказываний.
35. Задача коммивояжера. Алгоритм поиска субоптимального решения.
Коммивояжер должен совершить поездку по городам и вернуться обратно, побывав в каждом городе ровно один раз, сведя при этом затраты на передвижение к минимуму.
Для решения задачи нам необходимо найти гамильтонов цикл минимального общего веса.
Эффективный алгоритм пока не известен. Для сложных сетей число гамильтоновых циклов непомерно велико. Рассмотрим алгоритм поиска субоптимального решения.
Алгоритм ближайшего соседа
Дан нагруженный граф с множеством вершин V. Цикл, полученный в результате работы, будет совпадать с конечным значением переменной маршрут, а его длина — конечное значение переменной w.
Begin Выбрать v Î V; Маршрут := v; w:= 0; v¢:=v; Отметить v¢; while останутся неотмеченные вершины do begin Выбрать неотмеченную вершину u, ближайшую к v¢; Маршрут := маршрут и; w:= w + вес ребра v¢ u; v¢ := u; Отметить v¢ еnd Маршрут := маршрут v; w:= w + вес ребра v¢ v end |
|
u |
Маршрут |
w |
|
Исходные значения |
— |
D |
0 |
D |
|
C |
DC |
3 |
C |
|
A |
DCA |
9 |
A |
|
B |
DCAB |
14 |
B |
Последний проход |
B |
DCABD |
24 |
B |
!!! В полном графе с 20-ю вершинами существует приблизительно 6,1*1016 гамильтононовых циклов
36. Задача построения минимального остовного дерева. Алгоритм Краскала. Алгоритм Прима. Оценка вычислительной сложности этих алгоритмов.
Деревья
Граф G = <V, E> называется деревом, если он связен и ацикличен.
Пусть G = <V, E> — граф с n вершинами и m ребрами.
Необходимые и достаточные условия того, что G — дерево:
Любая пара вершин в G соединена единственным путем
G связен и m = n – 1
G связен и удаление хотя бы одного его ребра нарушает связность графа
G ацикличен, но если добавить хотя бы одно ребро, то в G появится цикл.
Остовной граф
В любом связном графе найдется подграф, являющийся деревом.
Подграф в G, являющийся деревом и включающий в себя все вершины G, называется остовным деревом.
Построение остовного дерева: Выбираем произвольное ребро и последовательно добавляем другие ребра, не создавая при этом циклов, до тех пор, пока нельзя будет добавить никакого ребра, не получив при этом цикла.
Всего n -1 ребро!!!
Алгоритм построения минимального остовного дерева (задача поиска кратчайшего соединения)
Задача построения минимального остовного дерева — это одна из немногих задач теории графов, которую можно считать полностью решенной.
Задача о проведении дорог. Для каждой пары городов А и В известна стоимость С(А,В) строительства городов между ними. Нужно построить самую дешевую из все возможных сеть дорог. Искомый граф должен быть деревом, которое называют экономическим. Таким образом, задача состоит в нахождении алгоритма, определяющего среди nn–2 возможных деревьев, которые соединяют вершины, дерева наименьшей длины, определяемой как сумма его ребер.
Алгоритм Краскала
Пусть есть связный граф, имеющий n вершин.
Шаг 1. Упорядочим ребра графа в порядке их неубывания их весов.
Шаг 2. Начиная с первого ребра в этом списке, добавлять ребра в графе, соблюдая условие: такое добавление не должно приводить к появлению цикла.
Шаг 3. Повторять Шаг 2 до тех пор, пока число ребер в графе не станет равно n – 1. Получившееся дерево является минимальным остовным деревом графа.
Больше всего времени необходимо для выполнения сортировки — при m ребрах это m log2m операций. Но нужны только n – 1 ребро!
Для полных графов более эффективный алгоритм был предложен Примом и Дейкстрой.
Алгоритм Прима
Шаг 1. Выбрать произвольную вершину и ребро, соединяющее ее с ближайшим по весу соседом.
Шаг 2. Найдите не присоединенную (еще) вершину, ближе всего лежащую к одной из присоединенных, и соедините с ней.
Шаг 3. Повторять Шаг 2 до тех пор, пока все вершины не будут присоединены.