- •4. Бинарные отношения: отношения эквивалентности, классы эквивалентности, теорема о разбиении на классы эквивалентности.
- •5. Бинарные отношения: отношения порядка, наибольший (наименьший) элемент, его единственность. Максимальный (минимальный) элемент, инфимум и супремум.
- •6. Равномощные множества. Счетные множества, их свойства. Пример бесконечного несчетного множества.
- •7. Теорема о мощности множества отображений из данного множества в двухэлементное.
- •8. Алгебраические системы: полугруппы, группы, подгруппы, группа перестановок, теорема Кэли.
- •9. Алгебраические системы: группы, подгруппы, циклическая группа, порядок элемента, теорема Лагранжа.
- •Обратный элемент:
- •13. Индуктивно упорядоченные множества. Теорема о наименьшей неподвижной точке непрерывного отображения.
- •11. Идемпотентные полукольца. Естественный порядок в идемпотентном полукольце. Супремум конечного множества и сумма его элементов.
- •12. Индуктивно упорядоченные множества. Монотонные отображения. Непрерывные отображения. Связь монотонности и непрерывности.
- •15. Булевы функции, способы задания, существенные и фиктивные переменные, отношение равенства, поиск существенных переменных.
- •16. Булевы функции, формулы над базисом функций, теорема о разложении, сднф.
- •17. Двойственная булева функция. Принцип двойственности ( теорема о суперпозиции), скнф.
- •18. Полиномы Жегалкина. Теорема о представлении булевой функции в виде полинома Жегалкина. Метод неопределенных коэффициентов
- •19. Задача о минимизации днф, сокращенные днф, алгоритм Блейка, карты Карно.
- •20. Задача о минимизации днф, тупиковые днф, их связь с минимальными днф, методы поиска тупиковых днф.
- •21. Замкнутые классы: классы функций, сохраняющих константу, класс самодвойственных функций, проверка их замкнутости, лемма о несамодвойственной функции.
- •22. Замкнутые классы: класс монотонных функций, класс линейных функций. Проверка замкнутости, лемма о немонотонной функции, лемма о нелинейной функции.
- •23. Теорема Поста о полноте
- •24. Графы, ориентированные графы, связность, слабая связность, сильная связность, компоненты связности.
- •25. Графы, изоморфизмы графов, группа автоморфизмов графа. Подграфы, пути, циклы, остовы, связный граф, количество остовных деревьев в связном графе.
- •26. Графы и матрицы: матрица смежности, её изменение при изменении нумерации вершин. Ранг графа. Проверка корректности определения ранга.
- •27. Деревья. Связь количества вершин и рёбер (неориентированного) дерева.
- •28. Взвешенный граф. Задача о минимальном остовном дереве в связном взвешенном графе. Алгоритм Краскала
- •29. Задача о достижимости в ориентированном графе. Связь матрицы достижимости и матрицы смежности.
- •30. Задача о кратчайшем пути в ориентированном взвешенном графе. Связь матрицы матрицы смежности (с весами) и матрицы стоимости кратчайших путей.
- •31. Алгоритм Дейкстры поиска кратчайшего пути во взвешенном ориентированном графе.
- •32. Алгоритм поиска в глубину в простом графе.
- •33. Алгоритм поиска в ширину в ориентированном графе.
- •34. Алфавит, слово, язык, множество языков над данным алфавитом, его мощность, операции над языками, полукольцо языков над данным алфавитом.
- •35. Регулярные операции и регулярные языки. Мощность множества регулярных языков. Образуют ли регулярные языки замкнутое полукольцо относительно регулярных операций?
- •36. Регулярные языки и автоматы распознаватели. Построение языка по автомату и автомата по языку. Теорема Клини.
- •37. Регулярные языки и автоматы—распознаватели. Поиск языка автомата распознавателя с помощью итерации матрицы смежности.
- •38. Лемма о разрастании для регулярных языков, пример нерегулярного языка.
- •39. Лемма о разрастании для регулярного языка, пример языка, не порождаемого автоматом—распознавателем.
- •40. Конечные детерминированные автоматы, способы задания, покрытия и морфизмы.
- •41. Конечные детерминированные автоматы, постановка задачи о минимизации, эквивалентные состояния, теорема о минимальном автомате.
- •43. Мощность множества языков, порожденных грамматиками. Существование языков, не порождаемых грамматиками.
- •44. Грамматики и автоматы-распознаватели. Место регулярных языков в Иерархии Хомского.
- •46. Задача распознавания в нк-грамматиках. Оценка высоты дерева вывода.
31. Алгоритм Дейкстры поиска кратчайшего пути во взвешенном ориентированном графе.
Алгоритм
Дейкстры позволяет
найти кратчайшие матрицы и их длину
между конкретной вершиной и всеми
остальными.
Дан
взвешенный орграф
.
Начало
:
,
постоянная.
,
временная,
.
Текущая вершина p:=s.
Итерация:
.
Просмотр
— временные. Если
,
то
,
иначе ничего не меняется и переходим к
следующей вершине. Правило появления
постоянных меток:
.
Ищется v*:
,
тогда
— постоянная.
Неформальное объяснение
1.Расстояние до источника 0-вершинаW, до всех остальных вершин (создаем метки).
2.В соответствии с весом всех вершин в которые есть пути из W объявляем метки. Значение метки-сумма меткиа меньше . W и длины пути из W в рассматриваемую вершину.(только если сумма меньше предыдущего значения метки)
3. Выбираем новое W в соответствии с минимальной меткой. Старое W помечено посещенным. Перейти на шаг 2, если все вершины посещены в шаг 4.
4. Метка элементов-кратчайшие расстояния из выбранной изначально вершины до всех остальных.
32. Алгоритм поиска в глубину в простом графе.
Просмотреть массив лидеров и сформировать множество
вершин графа. В нём хранятся ещё
необработанные вершины графа. Необходимо
помнить, какие вершины из её списка
смежности уже обработаны. Поэтому
формируется массив
с длиной
,
где хранятся номера первых ещё не
обработанных алгоритмом вершин списка
смежности
.
Положим стек вершин STACK,
список вершин фундаментального цикла
Cycle, множества древесных
рёбер Tree, обратных
рёбер Back пустыми.
Обнулить массив D-номеров.
Задать
.
Счётчик D-номеров count:=1.if
goto
2; else goto 8;if
goto
3; else выбрать из
любую вершину,
,
goto 3;Поместить v в STACK. Присвоить v D-номер
.
count++; goto
4;Проверить по элементу
,
не достигнут ли конец списка смежности
текущей вершины v.
Если в списке смежности есть ещё не
обработанные вершины, получить из него
очередную вершину w,
++;
goto 6; Если
полностью обработан, удалить v
из стека и goto 5;if
goto 1; else
;
goto 4;if
;
goto 3; else goto 7;if
поместить w в
Cycle. Читать содержимое
стека, начиная с его вершины, до появления
w и помещать в список
Cycle (включая w),
т.е. формировать фундаментальный цикл,
соответствующий обратному ребру
goto 4;Закончить работу.
Для
орграфа алгоритм выглядит чуть сложнее.
В классификацию дуг добавляются прямые
(от подлинного предка к подлинному
потомку;
)
и поперечные
дуги
(не древесные, не прямые, не обратные;
между ветвями деревьев;
).
33. Алгоритм поиска в ширину в ориентированном графе.
Вход. Граф G = (V, E), заданный списками смежности; v0 — начальная вершина (не обязательно первый элемент массива лидеров).
Выход. Массив М меток вершин, где каждая метка равна длине пути от v0 до v.
0. Очередь Q положить пустой (Q = Ø). Все вершины пометить как недостижимые из вершины v0, присваивая элементам массива М значение +∞ (М[vi] = +∞, i = 1, N). Стартовую вершину v0 пометить номером 0, т.е. длину пути от стартовой вершины v0 до самой себя положить равной 0 (M[v0] = 0). Поместить вершину v0 в очередь Q. Перейти на шаг 1.
1. Если очередь Q не пуста (Q = Ø), то из „головы" очереди извлечь (с удалением из очереди) вершину u и перейти на шаг 2. Если очередь пуста, перейти на шаг 3.
2. Если список смежности L(u) вершины u пуст, вернуться на шаг 1.
Если список смежности L(u) вершины u не пуст, для каждой вершины w из списка смежности, где М[w] = +∞, т.е. вершины, которую еще не посещали, положить длину пути из стартовой вершины v0 до вершины w равной длине пути от v0 до вершины
и плюс одна дуга (М[w] = М[u] +1), т.е. отметить вершину w и поместить ее в очередь Q. После просмотра всех вершин списка смежности L(u) вернуться на шаг 1.
3. Распечатать массив М. Закончить работу.
