![](/user_photo/2706_HbeT2.jpg)
- •Оглавление
- •Глава 1. Алгебраические системы 17
- •Глава 2. Элементы комбинаторики 88
- •Глава 3. Основы теории графов 101
- •Глава 4. Основы математической логики 169
- •4.1.1.4. Эквивалентные преобразования формул 179
- •4.1.4. Выполнить подстановку: 247
- •Глава 5. Основы теории алгоритмов 252
- •Глава 6. Конечные автоматы 289
- •Введение
- •Глава 1. Алгебраические системы
- •1.1 Множества
- •1.1.1. Четкие множества
- •1.1.2. Нечеткие множества
- •1.2. Соответствия, отображения и функции
- •1.2.1. Четкие отображения и функции
- •1.2.2. Нечеткие отображения
- •1.3. Отношение
- •1.3.1. Четкие отношения
- •1.3.2. Нечеткое отношение
- •1.4. Элементы общей алгебры
- •1.5. Булева алгебра
- •1.5.1. Булевы операции
- •1.5.2. Законы булевой алгебры
- •1.5.3. Формула булевой функции
- •1.5.4. Описание булевой функции
- •1.5.5. Суперпозиция булевых функций
- •1.5.6. Свойства булевых функций
- •1.5.6.1. Самодвойственные булевы функции
- •1.5.6.2. Монотонные булевы функции
- •1.5.6.3. Линейные булевы функции
- •1.5.6.4. Функции, сохраняющие “0”
- •1.5.6.5. Функции, сохраняющие “1”
- •1.5.6.6. Функционально полные системы
- •1.5.7. Разложение булевых функции
- •1.5.7.1. Днф булевой функции
- •1.5.7.2. Кнф булевой функции
- •Алгоритм преобразования формулы к скнф:
- •1.5.8. Минимизация булевых функций.
- •1.5.8.1.Минимизация днф булевой функции
- •1.5.8.2. Минимизация кнф булевой функции
- •1.6. Алгебра четких множеств
- •1.6.1. Операции над множествами
- •1.6.2. Законы алгебры множеств
- •1.6.3. Эквивалентные преобразования формул
- •1.6.4. Композиция отображений и отношений
- •1.6.5. Поиск неизвестного множества
- •1.7. Алгебра нечетких множеств
- •1.7.1. Операции над нечеткими множествами
- •1.7.2. Композиция нечетких отображений
- •1.7.3. Композиция нечетких отношений
- •1.7.4. Свойства нечетких отношений
- •Вопросы и задачи
- •Глава 2. Элементы комбинаторики
- •2.1. Размещение из n элементов по k
- •2.2. Перестановка элементов
- •2.3 Сочетание из n элементов по k
- •2.4. Разбиение множества
- •2. 5 Правила комбинаторики
- •Вопросы и задачи
- •Глава 3. Основы теории графов
- •3.1. Граф и его характеристики
- •3.2. Описание графа
- •3. 3. Числа графа
- •3.4. Операции над графами
- •3.4.1. Унарные операции
- •3.4.1.1 Поиск дополнительного графа
- •3.4.1.2. Введение и удаление вершин графа
- •3.4.1.3. Стягивание вершин графа
- •3.4.1.4. Введение и удаление ребер графа
- •3.4.1.5. Поиск плотности и неплотности графа
- •3.4.1.6. Поиск числа компонент связности графа
- •3.4.1.7. Поиск устойчивости графа
- •3.4.1.8. Поиск цикломатического числа графа
- •3.4.1.9. Поиск хроматического числа графа
- •3.4.2. Бинарные операции
- •3.4.2.1. Объединение графов
- •3.4.2.2. Пересечение графов
- •3.4.2.3. Композиция графов
- •3.4.2.4. Соединение графов
- •3.4.2.5. Прямое произведение графов
- •3.4.2.6. Изоморфизм графов
- •3.5. Некоторые алгоритмы на графах
- •3.5.1. Построение покрывающего остова
- •3.5.2. Построение остова минимального веса
- •3.5.3. Поиск кратчайших путей в сети.
- •3.5.4. Поиск максимального потока в сети
- •3.5.5. Метод критического пути в управлении
- •3.6. Нечеткие графы
- •Вопросы и задачи
- •Глава 4. Основы математической логики
- •4.1. Логика высказываний
- •4.1.1. Алгебра высказываний
- •4.1.1.1. Логические операции
- •4.1.1.2. Правила записи сложных формул.
- •4.1.1.3. Законы алгебры высказываний
- •4.1.1.4. Эквивалентные преобразования формул
- •4.1.1.5. Нормальные формы формул
- •4.1.2. Исчисление высказываний
- •4.1.2.1. Интерпретация формул
- •4.1.2.2. Аксиомы и правила введения и удаления логических связок
- •4.1.2.3. Метод дедуктивного вывода
- •4.1.2.4. Принцип резолюции
- •4. 2. Логика предикатов
- •4.2.1. Алгебра предикатов
- •4.2.1.1. Законы алгебры предикатов
- •4.2.1.2. Предваренная нормальная форма формулы
- •4.2.1.3 Сколемовская стандартная форма формулы
- •4. 2. 2. Исчисление предикатов
- •4.2.2.1. Правила подстановки
- •4.2.2.2. Правила введения и удаления кванторов
- •4.2.2.3. Правила заключения
- •4.2.2.4. Метод дедуктивного вывода
- •4.2.2.5. Принцип резолюции
- •4.2.2.6. Логическое программирование
- •4.3. Логика реляционная
- •4.3.1 Реляционная алгебра
- •4.3.1.1. Унарные операции
- •4.3.1.2. Бинарные операции
- •4.3.1.3. Правила реляционной алгебры
- •4.3.2. Реляционное исчисление
- •4.3.3. Языки реляционной логики
- •4.4. Нечеткая логика
- •4.4.1. Нечеткое исчисление
- •4.4.2. Экспертные системы
- •Вопросы и задачи
- •Глава 5. Основы теории алгоритмов
- •5.1. Рекурсивные функции
- •5.1.1. Базовые функции
- •5.1.2. Элементарные операции
- •5.2. Машина Тьюринга
- •5.2.1. Описание машины Тьюринга
- •5.2.2. Примеры машин Тьюринга
- •5.2.3. Композиция машин Тьюринга
- •5.3. Нормальные алгоритмы Маркова
- •5.4 Сложность вычислений
- •Вопросы и задачи
- •Глава 6. Конечные автоматы
- •6.1. Абстрактный автомат
- •6.1.1. Типы конечных автоматов
- •6.1.2. Описание автоматов
- •6.1.3. Автоматное моделирование алгоритмов
- •6.1.3.1. Автомат Мили - модель управляющего автомата
- •6.1.3.2. Автомат Мура - модель управляющего автомата
- •6.1.3.3. Микропрограммный автомат
- •6.1.4. Эквивалентность автоматов
- •6.1.5. Эквивалентность внутренних состояний автомата
- •6.1.5.1. Детерминированный автомат
- •6.1.5.2. Недетерминированный автомат
- •6.2. Структурный автомат
- •6.2.1. Произведение автоматов
- •6.2.1.1. Последовательное соединение автоматов
- •6.2.1.2. Параллельное соединение автоматов
- •Обратная связь автоматов
- •6.2.3. Сумма автоматов
- •6.2.4. Структурный автомат и кодирование
- •6.3. Логическое проектирование автоматов
- •6.3.1. Кодирование алфавитов автомата
- •6.3.2. Автоматы без “памяти”.
- •6.3.2.1. Формирование оператора
- •6.3.2.2. Формирование системы операторов
- •Логическая схема комбинационного автомата
- •6.3.3. Автоматы с “памятью”
- •6.3.3.1. Формирование оператора
- •6.3.3.2. Формирование оператора
- •.3.3.3. Логическая схема автомата с “памятью”
- •Вопросы и задачи
- •Литература
- •Предметный указатель
4.3. Логика реляционная
Двухмерная таблица есть наиболее удобная форма представления, поиска и обработки информации. Если именами столбцов таблицы являются имена каких-либо признаков, чаще всего называемых атрибутами, а строками - цепочки значений заданных атрибутов, чаще всего называемых кортежами, то множество таких цепочек таблицы называют отношением. Все кортежи отношения должно быть совместимыми, т. е. иметь одно и то же число атрибутов, а значения одного атрибута в каждом кортеже отношения должны выбираться из одной области определения, называемой доменом. Число столбцов таблицы или атрибутов отношения определяют его арность, а число кортежей – мощность отношения.
Реляционная модель – это конечный набор конечных отношений, опирающихся на различные, но конечные наборы атрибутов. Над отношениями реляционной модели можно осуществлять различные алгебраические и логические операции для исследования характеристик объектов или связей между объектами. Тем самым реляционная модель стала областью приложения дискретной математики и математической логики.
Отношение можно рассматривать как файл определенного типа. Такой файл состоит из последовательности записей, по одной на каждый кортеж, причем не должно быть одинаковых записей. Все записи должны иметь одинаковое число полей для представления атрибутов. В одноименных полях различных записей должна храниться информация одного и того же типа соответствующего заданному типу атрибута.
Между таблицей, отношением и файлом есть соответствие:
ТАБЛИЦА ОТНОШЕНИЕ ФАЙЛ
строка кортеж запись
имя столбца имя атрибута имя поля
тип атрибута тип домена тип поля
Верхняя строка таблицы формирует “шапку”, а остальные строки – “тело” таблицы. Ниже, как пример таблицы, дан фрагмент учебного плана.
-
дисциплина
лекции
(ч)
лаб.зан-я
(ч)
практ.зан-я
(ч)
отчетность (зач., экз.)
физика
34
34
17
экз
информа-тика
51
34
0
зач.
... ... ... ... ...
Эта таблица (отношение) отражает связи между наименованием учебной дисциплины, видом и числом часов аудиторных занятий и формой отчетности. Именами атрибутов отношения являются: ”дисциплина”, “лекции_(ч)”, “лаб.занятия_(ч)”, “практ.занятия_(ч)”, “отчетность_(зач., экз.)”. Значением атрибута “дисциплина” являются слова {физика, информатика, ..}, “отчетность” – {зач., экз.}. Тип этих атрибутов - <слово>, а тип домена – CHAR (строковое). Значением атрибутов “лекции_(ч)”, “лабораторные занятия_(ч)” и “практические занятия_(ч)” являются целые числа {17, 34, 51, 68}. Тип этих атрибутов - <целое_число>, а тип домена –INTEGER (целое). Кортежами этого отношения являются: (физика, 34, 34, 17, экз.), (информатика 51, 34, 0, зач.).
Таким образом, если дано множество атрибутов A={A1, A2, ...An} и множество доменов D={D1, D2,...Dm}, то кортеж отношения есть t=(d1, d2,...dn) где diD.
Так как отношение есть множество совместимых кортежей, то
r={t| t=(d1, d2,...dn), diD}.
Отношение, заданное на множестве упорядоченных кортежей, есть подмножество n-арного прямого произведения доменов, т.е.
r={t| t=(d1, d2,...dn), diD} 1nD.
Отношение на множестве упорядоченных кортежей задают схемой отношения с указанием имени отношения, числа и порядка следования атрибутов в кортеже и обозначают так:
rel(r)=(A1, A2,, An).
Например,
rel(уч_план_1)=(дисциплина, лекции_(ч), лаб_занятия_(ч),
практ_занятия_(ч), отчетность_(зач.,экз.)).
Множество схем отношений, используемых в реляционной базе данных, называют схемой реляционной базы данных и обозначают так:
REL(R)={rel(r)}.
Схемы отношений в реляционной базе имеют различную длину и различные наборы атрибутов. Поэтому чаще всего в каждом поле записи указывают имя атрибута и его значение. Наличие в поле записи имени атрибута снимает ограничение на упорядоченность полей записи. При этом оказываются совместимыми записи, заданные одинаковым набором имен полей, но имеющих различный порядок следования атрибутов.
Например, запись файла “уч_план_1” может быть (дисциплина=физика, лекции_(ч)=34, лаб.занятия_(ч)=34, практ.занятия_(ч)=17, отчетность_зач., экз.=экз.) или такой (практ.занятия_(ч)=17, дисциплина=физика, отчетность_ (зач., экз.)=экз., лаб.занятия_(ч)=34, лекции_(ч)=34).
Для каждого отношения должен быть задан ключ.
Ключ – это один или несколько атрибутов, выделяющих единственную кортеж (запись) отношения (файла). Так, например, ключом учебного плана может быть атрибут “дисциплина”.
При изложении основ реляционной алгебры и реляционного исчисления будем придерживаться следующих ограничений:
1) все атрибуты кортежа должны быть элементарными (или каждое поле записи должно иметь один тип: INTEGER (целые), REAL (вещественные), CHARACTER (строковые) или BOOLEAN (булевские)) и не должны быть функционально связаны между собой;
2) все кортежи должны быть упорядоченными и иметь одинаковое число компонент в одном отношении (или все записи в файле должны иметь одинаковое число полей);
3) каждое отношение должно иметь ключ, в роли которого выступают один или несколько атрибутов и каждое отношение не должно содержать по одному ключу двух или более одинаковых кортежей (или файл не должен содержать двух или более одинаковых записей);
4) никакие два столбца таблицы не должны иметь совпадающие имена атрибутов, но их значения могут принадлежать одному домену.