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

Вопросы для самопроверки и упражнения:

1. Доказать дистрибутивноть справа и слева операций пересечения и объединения относительно друг друга на системе множеств:

A(BC)=(AB)(AC) – дисрибутивность слева  относительно ;

A(BC)=(AB)(AC) – дисрибутивность слева  относительно ;

(AB)C=(AС)(AC) – дисрибутивность справа  относительно ;

(AB)C=(AС)(AC) – дисрибутивность справа  относительно ;

Проиллюстрировать на примере конкретных множеств, а также диаграммами Венна.

2. Пусть R1, R2 – бинарные отношения, определенные на множестве M={1, 2, 3, 4}. Показать на примере заданных ниже отношений R1,R2MM некоммутативность операции композиции отношений (составного отношения), т.е. R1R2R2R1, если:

а)R1 – “быть меньше”, R2 – “быть больше, по крайней мере на 2”;

б) R1 – “быть больше”, R2 – “иметь общий делитель, отличный от 1”;

3. Пусть операция  на множестве M={a, b, c} определена таблицей Кэли (рис. 3.4). Подтвердить ассоциативность и коммутативность операции .

4. Каковы свойства операций  и , заданные таблицами Кэли (рис. 3.5)?

3.4 Гомоморфизмы и изоморфизмы

Множество M вместе с заданным на нем операциями {1, 2, …,m} называется алгеброй. Обозначение алгебры:

A=(M; 1, 2, …,m),

где M называется основным множеством (несущим множеством, носителем), а ={1, 2, …,m} – сигнатурой алгебры A .

Примером алгебры является полугруппа – множество M с заданной на нем одной бинарной ассоциативной операцией (обозначается: ), т.е. A={M; , например множество натуральных чисел N с операцией сложения + на нем, т.е. A={N; +} является полугруппой.

Типом алгебры A называется вектор арностей операций сигнатуры. Например, в алгебре A=где– множество действительных чисел, + и – соответственно операции сложения и умножения (такая алгебра называется полем действительных чисел), сигнатура ={+, } включает две бинарные операции – сложение и умножение. Поэтому тип данной алгебры (2, 2).

Множество M вместе с заданными на нем отношениями {R1, R2, …, Rn} называется моделью. Обозначим модели:

M =(M; R1, R2, …, Rn),

где M – несущее множество (универсум), ={R1, R2, …,Rn} – сигнатура модели M . Например, моделью M1 является множество M1 чисел с отношениями: “быть больше” (>) и “быть равным” (=), т.е. M1=(M1; >, =), или некоторое множество M2 людей с отношением R – “быть руководителем”, т.е. M 2=(M2; R), и т.д.

Множество M вместе с заданными на нем операциями {1, 2, …,m} и отношениями {R1, R2, …, Rn} называется алгебраической системой, или алгебраической структурой. Обозначение алгебраической структуры:

M=(M; 1, 2, …, m, R1, R2, …, Rn).

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

Пусть между множествами A и B установлено соответствие Г – отображение A в B, т.е. Г: AB. Это означает, что каждому элементу а из A поставлен в соответствие Г единственный элемент  из B, т.е. Г(а)=. Пусть также на множестве A задана операция , на множестве B – операция , обе одинаковой арности, например обе бинарные, так что ab=c, a,b,cA, и   =, ,,B. Таким образом, имеем две алгебры (A; ) и (B; y).

Тогда отображение Г: AB называется гомоморфизмом алгебры (A; ) в алгебру (B; y), если выполняется условие:

Г(ab)=Г(а) y Г(b). (3.1)

Если при этом отображение Г: AB является взаимно однозначным соответствием, оно называется изоморфизмом алгебры (A; ) на алгеб-ру (B; y). В этом случае существует обратное отображение Г1: BA, также взаимно однозначное:

Г1(  )=Г1()  Г1().

Отображение Г1 – это, в свою очередь, изоморфизм B на A. Итак, если существует изоморфизм A на B, то существует изоморфизм B на A. При этом алгебры (A; ) и (B; y) называются изоморфными.

В более общем случае, если на множествах A и B заданы несколько операций соответственно (A; 1, 2, …, m) и (B; 1, 2, …, m), отображение Г: AB является гомоморфизмом алгебры (A; 1, 2, …, m) в алгебру (B; 1, 2, …, m), если условия, аналогичные (3.1), выполняется для каждой пары операций 1 и 1, …, m и m.

В силу взаимной однозначности соответствия Г: AB при изо-морфизме мощности основных множеств изоморфных алгебр равны. Поэтому проверка алгебр на изоморфизм сводится к проверке условия гомоморфизма для каждой пары операций и установления взаимной однозначности соответствия Г (равной мощности множеств A и B).

Аналогично определяется гомоморфизм (изоморфизм) множеств с отношениями – моделей (A; R1, R2, …, Rn) и (B; R1, R2, …, Rn).

Пусть, например, на множестве A задано бинарное отношение R(a, b), a,bA, и на множестве B – бинарное отношение R(, ), ,B. Тогда отображение Г: AB является гомоморфизмом модели (A; R) в модель (B; R), если для любой пары элементов a, b из А такой, что a и b находятся в отношении R, следует, что их отображения Г(а)= и Г(b)= находятся в отношении R (см. рис 3.6), т.е.

a R b влечет Г(а) R Г(b) для любых a,bA. (3.2)

Если при этом отображение Г: AB является взаимно однозначным соответствием, оно называется изоморфизмом модели (A; R) на модель (B; R). В этом случае существует и обратное отображение Г1: BA, также являющееся изоморфизмом:

R  влечет Г1() R Г1() для любых ,B.

При этом модели (A; R) и (B; R) называются изоморфными.

Важным примером изоморфных алгебр являются так называемые булевы алгебры, в том числе:

1) ((U); , , –) – булева алгебра множеств;

Здесь ((U) – множество всех подмножеств (булеан) множества U;

{, , –} – соответственно операции пересечения, объединения, дополнения над множествами;

2) (Bn; , , –) – булева алгебра двоичных векторов длины n.

Здесь Bn – множество всех двоичных векторов длины n, т.е.

Bn=BB…B=Bn, где B={0, 1};

{, , –} – операции логического (покомпонентного) умножения, сложения и дополнения соответственно, определенные следующим образом:

для любых векторов =(1, 2, …, n) и =(1, 2, …, n):

а) =(11, 22, …, nn), при этом =1, если==1, и=0 – в любом другом случае, т.е.

б) =(11, 22, …, nn), при этом =0, если==0, и=1 – в любом другом случае, т.е.

в)

где

Изоморфизм булевых алгебр широко используется в компьютерных вычислениях, например, при необходимости выполнения операций над множествами с применением соответствующих и легко реализуемых на компьютере поразрядных операций над соответствующими двоич-ными векторами.

Пример 1. Пусть M1 – множество сотрудников организации и R1 – заданное на нем отношение “быть старше” ();M2 – конечное множество натуральных чисел (ограниченное, например, числом 100) и R2 – заданное на нем отношение “быть больше” (>). Гомоморфны (изоморфны) ли модели:

A=(M1; ) иB=(M2; >)?

1. Определим отображение Г: M1M2 следующим образом: каждому сотруднику организации из M1 поставим в соответствие Г число из M2, соответствующим его возрасту (в годах). Установленное таким образом отображение Г: M1M2 является гомоморфизмом моделей A=(M1; ) иB=(M2; >), так как очевидно выполняется условие (3.2). Действительно, если ‘Иванов’, 37 лет, старше ‘Петрова’, 26 лет, т.е.

ИвановПетрова’ и Г(‘Иванов’)=37,

Г(‘Петров’)=26, то и 37>26.

2. Однако установленное отображение Г: M1M2 не является изоморфизмом моделей A=(M1; ) иB=(M2; >), так как не является в общем случае взаимно однозначным (если в организации имеются сотрудники одного возраста, например ‘Петров’ 26 лет и ‘Сидоров’ 26 лет. В этом случае обратное соответствие Г1 не является отображением, поскольку не функционально (отсутствует единственность образа 26 на множество сотрудников организации).

Таким образом, заданные модели A=(M1; ) иB=(M2; >) гомоморфны, но не изоморфны.

Пример 2. Пусть Zn – множество всех целых чисел, Z2n – множество всех четных целых чисел. Изоморфны ли следующие алгебры:

а) A=(Zn;+) и B=(Z2n; +) при отображении Г: n2n,

б) A=(Zn;+) и B=(Zn; +) при отображении Г: n(–n),

в) A=(Zn; ) и B=(Zn; ) при отображении Г: n(–n),

г) A=(Zn; ) и B=(Z2n; ) при отображении Г: n2n,

д) A=(Zn; +, ) и B=(Z2n; +, ) при отображении Г: n2n,

где +,  – операции арифметического сложения и умножения соответственно.

а) Условие гомоморфизма для алгебр A=(Zn;+) и B=(Z2n; +) проиллюстрировано на рис. 3.7, где изображены два множества Zn, Z2n и в Zn выделены произвольные два элемента a, b.

В соответствии с ле-вой частью условия (3.1) гомоморфизма для бинар-ных операций выполним над a и b операцию сложения + алгебры A и отобразим результат с=a+b в множестве Z2n алгебры B. При задан-ном отображении Г: n2n элементу с мно-жества Zn соответствует элемент 2с множества Z2n, т.е. левая часть условия (3.1) примет вид:

Г(a+b)=2(a+b).

Правая часть условия (3.1) требует сначала отображения элементов a, b в множество Z2n (получаем Г(а)=2а, Г(b)=2b), а затем осуществления над их отображениями операции сложения (+) алгебры B , т.е. правая часть условия (3.1) примет вид:

Г(а)+Г(b)=2a+2b.

Таким образом, условие гомоморфизма (3.1) для алгебр A=(Zn;+) и B=(Z2n; +) при отображении Г: n2n имеет вид:

Г(a+b)=Г(а)+Г(b), т.е.

2(a+b)=2a+2b.

Так как данное условие выполняется, алгебры A и B гомо- морфны, а в силу взаимной однозначности отображения Г: n2n они и изоморфны.

б) Отображение Г: n(–n) для алгебр A=(Zn;+) и B=(Zn; +) является изоморфизмом. Действительно, условие (3.1) имеет вид:

–(a+b)=(–a)+(–b)

и, кроме того, отображение Г: n(–n) (каждому целому числу n в алгебре A соответствует то же целое число, но с противоположным знаком (–n) в алгебре B ) – взаимно однозначно.

в) Отображение Г: n(–n) для алгебр A=(Zn; ) и B=(Zn; ) не является ни изоморфизмом, ни гомоморфизмом, так как не выполняется условие (3.1) гомоморфизма:

– (ab)(–a) (–b).

г) Алгебры A=(Zn; ) и B=(Z2n; ) не являются гомоморфными, а значит, и изоморфными при отображении Г: n2n, поскольку для них не выполняется условие гомоморфизма (3.1):

2(ab) 2a2b.

д) Для алгебр A=(Zn; +, ) и B=(Z2n; +, ) при отображении Г: n2n условие гомоморфизма выполняется для операций сложения и не выполняется для операций умножения [см. а) и г)], поэтому алгебры A и B не являются гомоморфными.

Пример 3. Гомоморфны (изоморфны) ли алгебры ипри отображении Г:aloga множества действительных и положительных чисел соответственно)?

Алгебры иизоморфны при заданном отображении Г:alog a, так как выполняется условие (3.1):

log (ab)=log a + log b

и отображение Г: aloga взаимно однозначно. В частности, этот принцип (изоморфизм указанных алгебр при данном отображении) используется при вычислениях с помощью логарифмической линейки.

Пример 4. Изоморфны ли булевы алгебры множеств ((U); , , –) и ((U); , , –), образованные двумя различными множествами U и U одинаковой мощности?

Алгебры ((U); , , –) и ((U); , , –), где |U|=|U|, изоморфны, так как операции у них просто одинаковы, а отображением Г может служить любое взаимно однозначное соответствие между U и U. Например, множества U={1, 2, 3} и U={a, b, c} одинаковой мощности, |U|=|U|=3. Тогда отображение Г: {1a, 2b, 3c} задает изоморфизм алгебр ((U); , , –) и ((U); , , –).

Пример 5. Пусть алгебры A=(N; +) и B=(N3; ), где  – сложение по модулю 3 и N3={0, 1, 2}, и отображение Г: NN3 определено следующим образом: Г(n) равно остатку от деления n на 3. Иначе говоря,

Если n=3a+b, где b<3, то Г(n)=b.

Например, 21=0, 22=1 и т.д.

Гомоморфны (изоморфны) ли алгебры A=(N; +) и B=(N3; )?

Пусть n1=3a1+b1 и n2=3a2+b2 – два произвольных натуральных числа из N; b1, b2<3. Проверим условие (3.1):

Г(n1+n2)=Г(n1)  Г(n2),

Г(3a1+b1+3a2+b2)=Г(3a1+b1)  Г(3a2+b2),

Г(b1+b2)=Г(b1)  Г(b2),

Г(b1+b2)=b1b2.

Очевидно это условие выполняется. Например, пусть n1=56, n2=37. Тогда 56=318+2, 37=312+1; подставив в полученное условие гомо-морфизма, убедимся в его выполнимости:

Г(2+1)=21,

0=0.

Таким образом, отображение Г – гомоморфизм. Но оно не является изоморфизмом, так как нет взаимной однозначности для Г: NN3.

Этот пример показывает, что возможен гомоморфизм бесконечной алгебры (т.е. алгебры с бесконечным основным множеством) в конеч-ную алгебру.

Пример 6. Изоморфны ли модели ((U); ) и (B3; ), где:

(U) – множество всех подмножеств (булеан) множества U={a, b, c};

B3 – множество всех двоичных векторов длины 3;

 – отношение нестрогого включения;

 – отношение нестрогого порядка над векторами такое, что для двух двоичных векторов =(1, 2, 3) и =(1, 2, 3);

, т.е. (1, 2, 3)(1, 2, 3);

если и только если 11, 22, 33.

Например, (100)(101), но (101) и (011) несравнимы.

(U)={, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}};

B3={(000), (001), (010), (011), (100), (101), (110), (111)} (для упроще-ния обозначений запятые между компонентами векторов опущены).

Мощности этих множеств равны: |(U)|=|B3|=8. Отображение Г: (U)B3 является взаимно однозначным (см. также пример 4 из параграфа 3.1):

Г: (000), {a}(100), {b}(010), …, {a, c}(101), …, {a, b, c}(111).

Остается показать, что условие гомоморфизма (3.2) выполняется для заданных отношений:

АB влечет Г(А)Г(B) для любых А,В(U); A,BU.

Смысл этого условия заключатся в следующем. Если два множества A, B из (U) сравнимы по отношению включения  , то соответст-вующие им векторы  и  из B3 такие, что Г(А)= и Г(В)=, сравнимы по отношению неравенства  и из того, что АВ, следует, что .

Очевидно, что данное условие выполняется. Например, из того, что {a}{a, c} следует (100)(101). А в силу взаимной однозначности отображения Г справедливо и обратное, например из того, что (010)(111), следует, что {b}{a, b, c}:

 влечет Г1() Г1() для любых ,B3.

Таким образом, установленное отображение Г: (U)B3 является изоморфизмом; модели ((U);  ) и (B3;  ) изоморфны. Отметим, что изоморфными будут и другие аналогичные модели ((U);  ) и (Bn;  ), если мощность несущего множества |U| и длина векторов n из Bn равны, т.е. |U|=n. В этом случае выполняется взаимно однозначное соответствие

Г: (U)Bn , |(U)|=|Bn|.

Пример 7. Используя установленное в предыдущем примере взаимно однозначное соответствие между множествами из (U), где U={a, b, c}, и двоичными векторами длины 3 и B3, проиллюстрировать на примере конкретных множеств А={a, c} и B={b, c}, A,BU, изоморфизм между булевыми алгебрами множеств ((U); , , –), |U|=3, и двоичных векторов длины 3 (B3; , , –).

Для U={a, b, c}:

(U)={, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}.

При n=3 |(U)|=|B3|=8:

B3={(000), (001), (010), (011), (100), (101), (110), (111)}.

Установленное в примере 6 взаимно однозначное соответствие Г: (U)B3 для заданных множеств А={a, c} и B={b, c} имеет вид:

1) Г(А)=Г({a, c})=(101)=, Г(В)=Г({b, c})=(011)= и наоборот

Г1()=Г1((101))={a, c}; Г1()=Г1((011))={b, c}.

2) Подтвердим теперь выполнение условия гомоморфизма для каждой пары операций булевых алгебр на примере множеств A,BU:

а) Г(АВ)=Г({a, c}{b, c})=Г({c})=(001)=(101)(011)=;

б) Г(АВ)=Г({a, c}{b, c})=Г({a, b, c})=(111)=(101)(011)=;

в)Г(U\A)=Г({a, b, c}\{a, c})=Г({b})=(010)=.

Таким образом, для трех пар булевых операций имеет место выполнение условия гомоморфизма:

а) Г(АВ)=;

б) Г(АВ)=;

в) .

Алгебры ((U); , , –) и (B3; , , –) гомоморфны, и отображение множеств Г: (U)B3 взаимно однозначно. Следовательно, данные алгебры также и изоморфны при данном отображении.