- •1. Основные понятия теории множеств.
- •2. Понятие вектора.
- •3. Понятие соответствия между множествами.
- •4. Понятие отображения множеств.
- •5. Классификация множеств по мощности. Понятие счетного множества. Понятие несчётного множества.
- •6. Понятие отношения. Свойства отношений. Отношение эквивалентности, отношение строгого порядка, отношение нестрогого порядка.
- •7. Понятие операции, ассоциативной операции, дистрибутивной операции. Понятие алгебры, алгебраической системы, модели. Понятие группоида, полугруппы, коммутативной полугруппы.
- •8. Понятие группы. Группа подстановок.
- •9.Понятие кольца. Кольцо вычетов.
- •10. Определение поля
- •11. Перестановки
- •12.Перестановки с повторениями
- •13. Понятие сочетания. Теорема о числе сочетаний из n элементов по k. Свойства сочетаний.
- •Свойства сочетаний
- •14. Понятие сочетания с повторениями. Теорема о числе сочетаний с повторениями.
- •15. Понятие размещения. Теорема о числе размещений.
- •16. Понятие композиции. Теорема о числе композиций n.
- •18. Понятие композиции. Теорема о числе композиций n из k частей при рi0.
- •19. Основные понятия и определения теории графов.
- •20. Способы хранения графов в памяти эвм.
- •21. Алгоритм поиска на графах (поиск в глубину).
- •22. Алгоритм поиска на графах (поиск в ширину).
- •23. Понятие сильной связности. Анализ сильной связности с помощью алгоритмов поиска на графах.
- •25. Сильная связность. Отношение на вершинах графа называется отношением сильной связности. Сильная связность — отношение эквивалентности. Рассмотрим транзитивность:
- •26. Понятие логической функции. Способы задания логических функций.
- •27. Булева алгебра. Основные свойства операций булевой алгебры. Понятие двойственной и самодвойственной логической функции.
- •28. Алгебра Жегалкина. Основные свойства операций алгебры Жегалкина.
- •29. Алгебра Жегалкина. Представление логических функций полиномом Жегалкина.
- •33. Минимизация логических функций методом Квайна.
- •34. Понятие функционально-полной системы логических функций
- •35. 36 Понятие замкнутого класса. Класс монотонных логических функций.Понятие замкнутого класса. Класс линейный логических функций..
- •37. Теорема о функциональной полноте в слабом смысле.
- •38. Понятие замкнутого класса. Класс функций сохраняющих 0. Класс функций сохраняющих 1.
- •39. Понятие замкнутого класса. Класс самодвойственных функций.
- •40. Теорема о функциональной полноте.
23. Понятие сильной связности. Анализ сильной связности с помощью алгоритмов поиска на графах.
Ориентированный граф G(V, X) называется сильно связным, если для любой пары вершин vi, vj существует путь из vi в vj и из vj в vi.
Компонентой сильной связности ориентированного графа G(V, X) называется максимальный сильно связный подграф, т.е. не являющийся подграфом любого другого сильно связного подграфа.
Матрица сильной связности - это квадратная матрица порядка n, где n - число вершин. Sn*n = 7sij7;
sij= |
|
1, если путь из vi в vj и из vj в vi 0, в противном случае |
]
Поиск в ширину (BFS, Breadth-first search) — метод обхода и разметки вершин графа.
Поиск в ширину выполняется в следующем порядке: началу обхода s приписывается метка 0, смежным с ней вершинам — метка 1. Затем поочередно рассматривается окружение всех вершин с метками 1, и каждой из входящих в эти окружения вершин приписываем метку 2 и т. д.
Если исходный граф связный, то поиск в ширину пометит все его вершины. Дуги вида (i, i+1) порождают остовный бесконтурный орграф, содержащий в качестве своей части остовное ордерево, называемое поисковым деревом.
Легко увидеть, что с помощью поиска в ширину можно также занумеровать вершины, нумеруя вначале вершины с меткой 1, затем с меткой 2 и т. д.
Поиск в глубину (англ. Depth-first search, DFS) — один из методов обхода графа. Алгоритм поиска описывается следующим образом: для каждой непройденной вершины необходимо найти все не пройденные смежные вершины и повторить поиск для них. Используется в качестве подпрограммы в алгоритмах поиска одно- и двусвязных компонент, топологической сортировки.
24. Транзитивное замыкание графа. Пусть G=(A,R) – ориентированнй граф. Транзитивный замыканием графа G называется граф G*=(A,R*), в котором из v в w из A идёт ребро тогда и только тогда, если существует путь (длины 0 или больше) из v в w. R =R и (b,c)Если (a,b)> R(a,b)*R, (b,c)*R, (a,c)* Алгоритм 1: (~n3) Взять произвольную вершину a. RR и всех вершины c дуги (a,c)Рассмотреть для всех вершин b: (b,a) Будем строить матрицу M* - смежности. M[i,k]=1 и M[k,j]=1 => M*[i,j]=1 Провести такие вычисления для всех вершин.
|
Начальные значения: R* = R; Для всех вершин Ak выполнить Для всех вершин Ai выполнить Для всех вершин Aj выполнить Если R(i,j)*Rи (k,j)*, то: R(i,j)* R*=R*{(i,j)} |
Алгоритм 2: (~n4) Для всех вершин построить транзитивное замыкание длины 2. Найти все вершины, до которых есть путь длины 2.
|
M[i,j]=1 и M[j,k]=1 => M[i,k]=1 И так n раз для каждых вершин строить транзитивное замыкание. |
25. Сильная связность. Отношение на вершинах графа называется отношением сильной связности. Сильная связность — отношение эквивалентности. Рассмотрим транзитивность:
Пусть — ориентированный граф. Компонентой сильной связности называется класс эквивалентности множества вершин этого графа относительно сильной связности.
Пример ориентированного графа с тремя компонентами сильной связности.
Ориентированный граф называется сильно связным, если он состоит из одной компоненты сильной связности.
Граф сильно связен, если для любых вершин х у существует путь, идущий из х в у.