
- •5.3 Задачи к главе 5 56
- •6.4 Задачи к главе 6 67
- •7.5 Задачи к главе 7 85
- •1 Элементы теории множеств и отношений
- •1.1 Условные обозначения, принятые в тексте
- •1.2 Множества. Способы задания множеств
- •1.3 Операции над множествами
- •1.4 Действия с цепочками
- •1.5 Число элементов множества
- •Решение
- •1.6 Отношения
- •Решение
- •1.7 Свойства бинарных отношений
- •1.8 Операции с бинарными отношениями
- •1.9 Упражнения и задачи к главе 1
- •2 Элементы алгебры логики
- •2.1 Простые высказывания; логические связки
- •2.2 Составные высказывания. Таблицы истинности
- •2.3 Логические законы
- •2.4 Построение заданных составных высказываний
- •2.5 Отношения между высказываниями
- •2.6 Аргументы
- •2.7 Задачи на построение таблиц истинности
- •3 Элементы теории графов
- •3.1 Общие понятия и определения
- •3.2 Способы задания графов
- •3.3 Элементы графов
- •3.4 Операции с частями графа
- •3.5 Диаметр, радиус и центр графа
- •3.6 Диаметр протяженности, радиус протяженности и центр протяженности графа
- •3.7 Задачи к главе 3
- •4 Теория конечных автоматов
- •4.1 Конечные автоматы – распознаватели
- •4.2 Эквивалентные состояния ка
- •4.3 Недостижимые состояния ка
- •4.4 Недетерминированный конечный автомат
- •4.5 Задачи к главе 4
- •5 Автоматы с магазинной памятью
- •5.1 Автоматы-распознаватели с магазинной памятью
- •5.2 Автоматы–трансляторы с магазинной памятью
- •Параметры мп-транслятора:
- •5.3 Задачи к главе 5
- •6 Грамматики
- •6.1 Общие сведения
- •6.2 Классификация грамматик
- •6.3 Эквивалентные преобразования грамматик
- •6.3 1 Удаление или добавление бесполезных (непродуктивных и недостижимых) нетерминалов
- •Решение
- •6.3.2 Добавление нетерминала
- •6.3.3 Подстановка правил
- •6.3.4 Изменение направления рекурсии
- •6.4 Задачи к главе 6
- •7 Распознаватели для грамматик
- •7.1 Построение ка–распознавателей для автоматных
- •Решение
- •7.2 Построение ка–распознавателей для праволинейных грамматик
- •7.3 Построение мп–распознавателей для s – грамматик
- •7.4 Построение мп–распознавателей для q – грамматик
- •7.5 Задачи к главе 7
1.4 Действия с цепочками
Для цепочек допустимы следующие действия:
конкатенация (сцепление) цепочек:
x = aba , y = cab; xy = abacab;
возведение цепочек в степень:
x = ab; x1 = ab; x2 = abab ; x3 = ( ab)3 = ababab;
любая цепочка в нулевой степени равна : x0 =
Нельзя отождествлять пустое множество C = { } и множество, содержащее один элемент - пустую цепочку В = { }.
Все множество цепочек, которые могут быть созданы в заданном алфавите, можно представить таким понятием как, итерация алфавита.
Итерация – множество, полученное в результате объединения всех степеней алфавита, включая и нулевую:
V* = Vi.
(i N0)
Усеченная итерация (обозначается V+) не включает нулевую степень алфавита т.е. пустую цепочку:
V+ = Vi .
(i N)
Итерацию и усеченную итерацию связывает следующая формула:
V+=V V* = V* V .
1.5 Число элементов множества
Для любого конечного множества М число элементов (мощность множества) будем обозначать n (M).
Пусть задано несколько множеств (подмножеств одного универсального множества W): А,В,С,... с числом элементов в каждом соответственно: n (A), n (B), n (C),.... Решим задачу о количестве элементов в множестве, записанном в виде формулы, т.е. состоящем из нескольких множеств, связанных операциями пересечения, объединения и дополнения.
Дано: A, B, n (A), n (B).
Определить: число элементов в объединении n (A B).
Решение
Для непересекающихся множеств число элементов объединения равно сумме элементов в каждом из объединяемых множеств:
n (A B) = n (A) + n (B).
Общий случай (два множества имеют общие элементы):
n (A B) = n (A) + n (B) – n (A B) .
Общий случай (три множества имеют общую область):
n (A B C) = n (A) + n (B) + n (C) – n (A B) –
– n (A C) – n (C B) + n (A B C).
1.6 Отношения
Подмножество R Mn называется n-местным (n-арным) отношением на несущем множестве M. Множество M является несущим для отношений любой арности, которые на нем построены. Говорят, что элементы вектора (a1,a2,a3,…an) находятся в отношении R, если этот вектор принадлежит множеству R. Для n = 1 отношение называют унарным (по сути, такое отношение выделяет из множества M подмножество R по признаку); для n=2 – бинарным (т.е. отношением между двумя элементами множества M) и т.д. Отношение – то же множество, элементами которого являются векторы размерности n или, при другой записи, цепочки длины n, составленные в алфавите M и отобранные в соответствии с отношением R.
Пример. Построить бинарное отношение R, которое определяется словами так: "в латинском алфавите символ встречается раньше" на несущем множестве M={a, b, c, d}.
Решение
Примерами элементов отношения R могут быть векторы (a,c), (c,d)... или цепочки ac, cd, bd..., такие, в которых на первом месте стоит буква, встречающаяся в латинском алфавите раньше по сравнению с буквой, стоящей на втором месте.
Отношение R является подмножеством множества M2:
M2 = {aa, ab, ac,...,dd}, из которого элементы отбираются в соответствии со следующей процедурой R = {xy | x "меньше" y}.
R = {ab, ac, ad, bc, bd, cd}.
Отношения любой арности можно задать одним из способов задания множеств (перечисление элементов, порождающая процедура, характеристические признаки). Кроме того, бинарные отношения можно задавать:
с помощью матрицы смежности – квадратной матрицы, столбцы и строки которой обозначены элементами несущего множества, а элементы имеют следующие значения:
;
с помощью ориентированного графа – элементы несущего множества M изображаются на плоскости в виде вершин графа (точки с обозначением рядом элементов несущего множества), а затем вершины, пары которых входят в множество R, соединяются с помощью стрелок(дуг) (начинается стрелка в первом элементе пары, заканчивается – во втором); число таких стрелок равно числу элементов в множестве R.
Для каждого бинарного отношения R можно построить обратное отношение R-1 (читается: R в степени минус один), поменяв местами в каждом элементе R проекции векторов.
Отношение Q обратно отношению R тогда и только тогда, когда для каждой пары из R выполняется условие:
x R y следует y Q x