Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diskretka.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.91 Mб
Скачать

2.5. Алгебраические системы. Алгебра множеств и булева алгебра.

В современных информационных системах существует большое разнообразие типов данных и различных действий, которые необходимо с ними производить. При этом каждый раз необходимо быть уверенным, что, выполняя какие-то действия на множестве данных определенного типа, мы не зайдем в тупик и не получим абсурдный результат. Но если свойства наших данных и операций (отношений) над ними укладываются в некую известную структуру, мы можем заранее определить, какие действия можно выполнять в рамках такой структуры, чтобы не попасть в подобную ситуацию. Вот для этого и используется такое понятие как алгебраическая система или просто алгебра. Такая абстрактная система состоит из двух множеств: множества данных, которое называют носителем алгебры, и множества отношений на этих данных. Обозначают ее так: A=M,.

Любую бинарную операцию a o b, где a,bA, можно рассматривать как однородное бинарное отношение. Более того, такое отношение является функцией. Если  a,bA результат некоторой операции c=a o b , сA, то говорят, что A замкнуто относительно этой операции, что обозначается как AAA. В дискретных алгебраических системах обычно подразумевается замкнутость носителя M относительно операций из множества . Если в системе A=M, все отношения из  являются операциями (функциями), то такую систему, называют просто алгеброй, если нет, то моделью или реляционной алгеброй.

Рассмотрим уже известное нам множество всех подмножеств множества A (включая само множество и пустое множество ), то есть булеан B(A). Мы уже знаем, что результаты всех основных операций над множествами (объединение, пересечение и образование дополнения) будут принадлежать B(A). То есть можно сказать, что B(A) замкнуто относительно этих операций. Поэтому система А,B(A),,,\ называется алгеброй множеств.

Разновидности алгебр определяются частично характеристиками их носителей, но в большей степени свойствами операций.

Наиболее часто встречающиеся свойства операций мы уже рассматривали, когда говорили о логических законах. Будем обозначать абстрактную операцию белым кружком о. Поскольку же для рассмотрения свойств нам понадобятся две операции, ведем еще значок  для второй операции.

Итак, пусть a,b,c – элементы множества-носителя, то есть a,b,cM. Операции {о, } , MMM. В алгебраических системах чаще всего рассматриваются следующие свойства операций.

  1. Ассоциативность: (a o b) o c = a o (b o c).

  2. Коммутативность: a o b = b o a.

  3. Дистрибутивность слева: a  ( b o c) = (a  b) o (a  c).

  4. Дистрибутивность справа: (a o b )  c = (a  c) o (b  c).

  5. Поглощение: (a o b )  a = a.

  6. Идемпотентность: a o a = a.

Самым простым видом алгебры является полугруппа – алгебра с одной ассоциативной бинарной операцией. Полугруппами являются формальные (машинные) языки. Носителем полугруппы является допустимое множество символов A (алфавит языка), а бинарной операцией – операция конкатенации (сцепления) символов.

Если в полугруппе существует единица, то есть такой элемент e, что aA ea=ae=a, то это моноид. Чтобы получить моноид из такой полугруппы, как формальный язык, достаточно добавить в алфавит этого языка пустой символ.

Моноид с обратным элементом, то есть при выполнении условия aA  a-1 | aa-1=e, называется группой. В группе можно однозначно решить уравнение вида ax=b: решение имеет вид x=ba-1.

В группе имеют место следующие свойства операций.

1. (a o b)-1 = b-1 o a-1.

2. a o b = a o c  b=c.

3. b o a = c o a  b=c.

4. (a-1)-1= a.

Коммутативная группа, то есть группа, в которой операция a o b коммутативна, называется абелевой. В абелевых группах операция обозначается  или просто +, элемент, обратный к a, обозначается –a, а единица называется нулем.

Заметим, что операция + не обязательно арифметическое сложение. Хотя, например, множество всех целых чисел образует группу относительно сложения. Но, с другой стороны, множество положительных рациональных чисел образует группу относительно умножения.

Алгебраические системы с двумя операциями это уже так называемые линейные системы. Две операции – это умножение и сложение в обобщенном смысле. Что такое «в обобщенном смысле»? Для каждой из этих операций можно ввести свой единичный элемент, так, как мы его определили раньше. Один из этих единичных элементов будет называться нулем, другой – единицей. К линейным системам относятся кольцо и поле.

Кольцо – это алгебраическая система, которая является абелевой группой хотя бы по одной операции. Как уже говорилось, эту операцию условно определяют как «сложение» - . Для второй операции требуется только ассоциативность. То есть кольцо – это полугруппа по умножению . Умножение в кольце обладает свойством дистрибутивности слева и справа относительно сложения.

Если умножение обладает еще и свойством коммутативности, то это уже коммутативное кольцо. А если это коммутативное кольцо еще и с единицей (то есть моноид по умножению), то его прямо так и называют – кольцо с единицей.

Примером коммутативного кольца с единицей является машинная арифметика целых чисел (тип integer).

Если алгебраическая система является абелевой группой относительно обеих операций , , и умножение дистрибутивно относительно сложения, то мы получаем поле. Наиболее известный пример – поле действительных чисел: R,+,. Заметим, что множество рациональных чисел с теми же операциями тоже является полем и, следовательно, подалгеброй для R,+,. Можете проверить, что двоичная арифметика с одноразрядным сложением по модулю два и конъюнкцией в качестве операции умножения тоже является полем.

Более подробно про кольца и поля можно почитать, например, в [1].

Для многих компьютерных приложений наиболее важной алгеброй с двумя операциями является булева алгебра. Носителем такой алгебры является множество, которое называют решеткой. Решетка – это множество с двумя операциями: сложением и умножением. Сложение здесь обозначают , умножение . Единичный элемент для операции сложения - нуль, единичный элемент для операции умножения - единица.

Свойства операций сложения и умножения в решетке: идемпотентность, коммутативность, ассоциативность, поглощение. Решетка является абелевой группой.

Если для пары операций в решетке выполняется дистрибутивность, то решетка называется дистрибутивной. Ограниченная решетка имеет верхнюю и нижнюю грани, причем нижняя грань - это нуль, а верхняя – единица. Далее, если в ограниченной решетке a существует элемент a/ | , aa/=1 & aa/=0, который называется дополнением, то такая решетка называется ограниченной решеткой с дополнением.

Из самого определения решетки через свойства операций мы имеем первые четыре свойства булевой алгебры. Из дистрибутивности решетки следует пятое свойство булевой алгебры – дистрибутивность. Из свойства ограниченности и свойства дополнения следуют законы нуля и единицы. То есть получается, что булева алгебра – это дистрибутивная ограниченная решетка с дополнением.

Из взаимосвязи законов логики и свойств операций над множествами нетрудно понять, что ранее введенная алгебра множеств – это тоже булева алгебра. Единице здесь соответствует множество A, нулю – пустое множество. Другие интересные примеры булевых алгебр можно посмотреть в [1].

Упражнения.

1. Приведите примеры ассоциативных и неассоциативных операций над множествами.

2. Какие из логических операций обладают свойством коммутативности?

3. Обладает ли свойством коммутативности композиция отношений? Объясните.

4. Показать, что множество невырожденных квадратных матриц порядка n образует группу относительно операции умножения матриц.

5. Показать, что булеан B(A) на множестве A образует абелеву группу относительно операции симметрической разности .

6. Показать, что на элементах решетки можно ввести отношение нестрогого частичного порядка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]