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

1.3. Решение уравнений с неизвестным множеством

Пусть U– произвольное множество, «универсум». Мы будем рассматриватьтеоретико-множественные выражения, которые получаются из символов с помощью операций над множествами, например .

Определение.Теоретико-множественное выражениеH=H(X1, …, Xm), полученное из подмножеств (X1, …, Xm)U, определяется по индукции:

  1. X1, …,Xm,U,– теоретико-множественные выражения.

  2. Если H– теоретико-множественное выражение, то – теоретико-множественное выражение.

  3. Если H1иH2– теоретико-множественные выражения, то (H1H2), (H1H2), (H1\H2), (H1H2) – теоретико-множественные выражения.

Наша цель – научиться решать уравнения H(X, A1, …, An)= , гдеH(X, A1, …, An)– теоретико-множественное выражение, полученное из подмножествX, A1, …, AnU.

Предложение. Для всякого теоретико-множественного выраженияH(X, A1, …, An)существуют такие теоретико-множественные выраженияR(A1, …, An), S(A1, …, An),

T(A1, …, An), что для любогоXUследующие условия равносильны

  1. H(X, A1, …, An)= .

  2. R(A1, …, An)(S(A1, …, An)X)(T(A1, …, An) ) = .

Доказательство. ПосколькуP\Q=P иPQ = (P Q)\(P Q), то можно считать, чтоHпостроена с помощью операцийP Q,P Qи . Далее применяется индукция по количеству операций вH(X, A1, …, An).

Следствие. В условиях предыдущего предложения, уравнениеH(X, A1, …, An)= будет иметь решения тогда и только тогда, когда будут выполнены соотношения:

  1. S(A1, …, An)X = ,

  2. T(A1, …, An) = ,

  3. R(A1, …, An) = .

Метод решения уравнения H1(X, A1, …, An)= H2(X, B1, …, Bm).

Здесь A1, …, AnиB1, …, Bm- некоторые заданные множества. Обозначим символом 0 пустое множество.

Это уравнение сначала приводят к уравнению H(X, A1, …, An)= 0,где

H(X,A1,…, An)= (H1(X, A1, …, An)\ H2(X, B1, …, Bm)) ( H2(X, B1, …, Bm)\ H1(X, A1, …, An)).

Потом для полученного уравнения находим формулы для R, S, Tиз предыдущего предложения. И наконец, применим предыдущее следствие. Разберем этот метод решение на следующем примере.

Пример. Рассмотрим, например, уравнение

AX = B.

Оно равносильно уравнению вида

= 0.

Следующим шагом решения будет преобразование левой части к объединению пересечений множеств. Это достигается с помощью формул P\Q=P де Моргана. После применения формул получим

= 0.

А после применения формул де Моргана приходим к уравнению

= 0.

С помощью закона дистрибутивности получаем уравнение

= 0.

Поскольку и , то это уравнение примет вид

=0.

Последнее равенство выполнено тогда и только тогда, когда Xудовлетворяет системе уравнений

Первое уравнение равносильно включению , а второе -. Отсюда вытекает следующий ответ

.

1.4. Перечисление подмножеств

Пусть M– произвольное множество. Его мощность обозначается |M|. Если множествоMсостоит из конечного числа элементов, то |M|число его элементов. Обозначим через 2M = { A : A M } – множество всех подмножеств множестваM.

Теорема.Если множество М имеет конечное число элементов, то | 2M | = 2| M |.

Доказательство. Пусть M = {a0, a1, , an-1 } . Каждому подмножеству можно поставить в соответствие битовую строку, состоящую из n разрядов, равных 0 или 1. Эта битовая строка представляет собой двоичную запись некоторого неотрицательного целого числа. Ее i-й разряд равен 1, если ai A, и равен 0, в других случаях. Хорошо известно, что количество двоичных n-разрядных чисел равно 2n . Следовательно, количество подмножеств будет равно 2| M |.

Упражнение. Докажите предыдущую теорему с помощью индукции по числу элементов множестваM.

Замечание. Получаем алгоритм перебора подмножеств. Каждому подмножеству соответствует неотрицательное целое число, двоичная запись которого содержит единичные разряды, соответствующие элементам этого подмножества. Прибавляя по 1, получаем все подмножества. Например, для M = {a, b, c} этот алгоритм можно проиллюстрировать с помощью таблицы 1.1.

Таблица 1.1.

Перебор подмножеств множества {a,b,c}

Номер

Двоичная

запись

Подмножество

0

000

1

001

{c}

2

010

{b}

3

011

{b, c}

4

100

{a}

5

101

{a, c}

6

110

{a, b}