Дискретная математика. Учебное пособие-2
.pdf11
Легко видеть, что f A B будет тогда и только определять функцию, когда для любого x A существует единственный y f, что (x,y) f. Этот y обозначим через f(x).
Функция |
f |
называется инъекцией, если для любых x x’ име- |
||
A B |
||||
ет место f(x) f(x’). Функция |
f |
называется сюръекцией, если для |
||
A B |
||||
каждого y B существует такой x A, что f(x)=y. Если функция является инъекцией и сюръекцией, то она называется биекцией.
Теорема 4. Для того чтобы функция |
f |
была биекцией, |
|
A B |
|||
необходимо и достаточно существования такой функции |
g |
||
B A , что |
|||
fg=IdB и gf=IdA.
Пусть - функция. Образом подмножества X A называется подмножество f(X) = {f(x): x X} B. Для Y B подмножество f-1(Y)={x A: f(x) Y} называется прообразом подмножества Y.
§1.5. Математическое моделирование баз данных
Первая нормальная форма файла. Записью называется конечная последовательность x= (x1, , xn) элементов xi Ai , 1 i n. Число n называется длиной записи. Для каждого i множество Ai называется доменом i-го атрибута, элемент xi называется i-м атрибутом или i-й компонентой за-
писи x.
Файлом мы будем называть конечную последовательность записей. База данных состоит из файлов, связанных между собой некоторыми условиями.
Определение 1. (1NF) Файл находится в первой нормальной форме,
если для него задано некоторое положительное целое число n и последовательность множеств (A1, , An) таких, что
файл состоит из записей (x1, , xn) A1 An
среди этих записей (x1, , xn) A1 An нет одинаковых
Пример 1. Записи файла расположим в таблице. В “шапке” таблицы будут выписаны имена, обозначающие домены атрибутов. Эти имена мы будем называть атрибутами.
Вуз |
Номер зачетки |
ФИО |
Год поступления |
АмГПГУ |
10802 |
Иванов Павел Сергеевич |
2010 |
КнАГТУ |
10802 |
Петрова Галина Сергеевна |
2010 |
12
Данная таблица содержит две записи. Эти записи отличаются значениями первого и третьего атрибутов. Стало быть, файл, состоящий из этих записей, находится в первой нормальной форме.
Замечание. Мы видим, что записи в файле являются в точности элементами декартового произведения доменов атрибутов. Если файл находится в первой нормальной форме, то он является упорядоченным набором различных записей. В то время как отношение является неупорядоченным набором этих записей.
Вторая нормальная форма. Рассмотрим файл, находящейся в первой нормальной форме. Его записи x=(x1, , xn) A1 A2 An будут составлять некоторое отношение R A1 A2 An . Файл будет состоять из всех элементов множества R.
Определение 2.
Атрибут Ak функционально зависит от множества атрибутов
{Ai |
, Ai , , Ai } , если для любых элементов x, y R A1 A2 An |
||||||||
1 |
2 |
|
p |
|
|
|
|
|
|
из равенства их компонент xi |
yi |
, xi |
|
yi , , xi |
yi |
следует равенст- |
|||
|
|
|
1 |
1 |
|
2 |
2 |
p |
p |
во xk yk . |
|
|
|
|
|
|
|
||
|
Если атрибут Ak функционально зависит от множества атрибу- |
||||||||
тов {Ai |
, Ai |
, , Ai } , но не зависит функционально ни от какого строго |
|||||||
|
1 |
2 |
p |
|
|
|
|
|
|
содержащегося в нем подмножества {B1, , Bp 1} {Ai1 , Ai2 , , Aip } , то Ak
называется функционально полно зависящим от множества атрибутов {Ai1 , Ai2 , , Aip } .
Множество атрибутов {Ai1 , Ai2 , , Aip } называется ключом запи-
си файла, если для всех k {1, 2, , n} атрибуты Ak функционально зависят от {Ai1 , Ai2 , , Aip } . Во множестве всех ключей можно отметить
некоторые ключи. Эти ключи называются выделенными. Остальные
– не выделенными.
Первичным ключом называется произвольный выделенный ключ. Ключ, не являющийся первичным, называется возможным.
13
Определение 3. (2NF) Файл с первичным ключом {Ai |
, Ai |
, , Ai } |
1 |
2 |
p |
находится во второй нормальной форме, если он находится в первой нормальной форме, и для любого k {i1 , ,ip } атрибут Ak функционально
полно зависит от атрибутов {Ai1 , Ai2 , , Aip } .
Поскольку множество записей для файла в первой нормальной форме совпадает с отношением, определенном этим файлом, то можно гово-
рить о второй нормальной форме отношения.
Пример 2. В приведенной выше таблице определим первичный ключ как множество атрибутов {Вуз, Номер зачетки}. Год поступления зависит от номера зачетки. Поэтому зависимость года поступления от первичного ключа не является функционально полной. Стало быть, файл не находится во второй нормальной форме. Разобьем этот файл на два файла, находящиеся во второй нормальной форме. Первый файл не будет содержать года поступления
Вуз |
|
|
Номер зачетки |
|
ФИО |
||
АмГПГУ |
|
|
10802 |
|
Иванов Павел Сергеевич |
||
КнАГТУ |
|
|
10802 |
|
Петрова Галина Сергеевна |
||
Второй содержит номер зачетки и год поступления. Он состоит из |
|||||||
одной записи |
|
|
|
|
|
|
|
|
|
|
|
Номер зачетки |
Год поступления |
|
|
|
|
|
|
10802 |
2010 |
|
|
Третья нормальная форма |
|
|
|
||||
Определение 4. Атрибут Ak транзитивно зависит от множества |
|||||||
атрибутов {Ai |
, Ai |
, , Ai } , если существует множество, состоящее из |
|||||
1 |
2 |
p |
|
|
|
||
атрибутов {Aj |
, Aj , , Aj |
} , каждый из которых функционально зависит от |
||||||||
|
|
1 |
2 |
q |
|
|
|
|
|
|
{Ai |
, Ai |
, , Ai } , такое, |
что Ak функционально зависит от {Aj |
, Aj |
, , Aj |
} . |
||||
1 |
2 |
p |
|
|
1 |
2 |
|
|
q |
|
|
Определение 5. |
(3NF) Файл с первичным ключом |
{Ai |
, Ai |
, , Ai } |
|||||
|
|
|
|
|
|
|
1 |
|
2 |
p |
находится в третьей |
нормальной форме, если он находится в первой |
|||||||||
нормальной форме, и для любого k {i1 , ,ip } функциональная зависимость атрибута Ak от атрибутов {Ai1 , Ai2 , , Aip } не является транзитивной.
Произвольный ключ отношения можно выделить как первичный. Если с помощью выделения любого ключа как первичного мы получаем отношение, находящееся в третьей нормальной форме, то заданное отношение называется находящимся в нормальной форме Бойса-Кодда. В частно-
14
сти, отношение будет находиться в нормальной форме Бойса-Кодда, если оно допускает единственный ключ.
§1.6. Упражнения
1.Задано подмножество A U. Найти все подмножества X U, для которых A X= .
2.Решить систему уравнений
A X
__
B X
__ __
Ответ: B X A, при условии B A .
3. Решить уравнения
__
(1) A X B X
__
(2) A X B X
__
(3) A X B X
(4)A X B X
4.Пусть AB - множество всех функций B A. Установить биекции между множествами
(1) A B и B A;
(2) (A B)С и AC BC;
(3) (AB)C и AB C;
(4) AB C и AB AC, если B C = .
5.Построить бинарное отношение
(1)рефлексивное, симметричное, не транзитивное
(2)рефлексивное, антисимметричное, не транзитивное
(3)рефлексивное, транзитивное, не симметричное;
(4)антисимметричное, транзитивное, не рефлексивное.
6.Доказать, что пересечение семейства отношений эквивалентности на заданном множестве является отношением эквивалентности.
7.Построить пример частично упорядоченного множества, имеющего ровно один минимальный элемент, но не имеющего наименьшего элемента.
15
8.Доказать, что если R – отношение порядка, то R-1 – отношение порядка.
9.Доказать, что пересечение отношений порядка является отношением порядка. Всегда ли объединение отношений порядка является отношением порядка?
10.Найти число рефлексивных отношений на множестве из n элементов.
11.Найти число симметричных отношений на множестве из n элементов.
12.Будет ли множество функций X R решеткой относительно отношения порядка
f g ( a X ) f(a) g(a) ?
13.Сколько подмножеств множества A={1,2,∙∙∙,300} содержат по крайней мере одно число кратное 5 и ни одного – кратного 10.
14.Сколько подмножеств множества A={1,2,∙∙∙,300} не содержат ни чисел, кратных 4, ни чисел, кратных 6?
15.Сколько подмножеств множества A={1,2,∙∙∙,300} состоят из чисел, кратных 4, но не содержат чисел, кратных 6?
16.Сколько подмножеств множества A={1,2,∙∙∙,300} состоят из чисел, кратных 4 и, сверх того, содержат по крайней мере одно число, кратное 6?
Глава 2. Комбинаторика
Комбинаторикой называется раздел дискретной математики, который занимается следующими вопросами:
1.Задача перечисления: найти количество элементов заданной математической модели.
2.Задача перебора: построить алгоритм перебора этих элементов. Основное внимание мы будем уделять задаче перечисления.
Конечная математическая модель в комбинаторике называется конфигурацией. Мы изучим следующие конфигурации: размещения, сочетания, разбиения и их обобщения. Для дальнейшего изучения рекомендуем
[9], [10], [14].
16
§2.1. Размещения
Дано n предметов и m ящиков, в которые размещаются предметы. Сколько существует размещений, удовлетворяющих некоторым заданным условиям?
Определение 1. Размещением с повторениями называется функция f: {x1, x2, , xm} { y1,y2, ,yn } .
Элементы xi называются предметами, а yj ящиками.
Число всех размещений с повторениями равно количеству последовательностей {a1,a2, , am} чисел 1 ai n и значит оно равно nm .
Определение 2. Рассмотрим некоторое конечное множество
равновероятных элементарных событий, которые мы будем иногда назвать исходами. Событием называется подмножество множества всех исходов. Его элементы называются благоприятными исходами. Вероятность события определяется как отношение количества благоприятных исходов к количеству всех исходов.
Например, если мы бросаем монету, то возможны два исхода. Число исходов выпадения «орла» равно 1. Значит, вероятность выпадения орла равно ½.
Упражнение 1. Бросают две кости. Найти вероятность выпадения 10 очков.
Решение. В данном случае число всех исходов равно 62. Благоприятные исходы: (4,6), (5,5), (6,4). Отсюда вероятность равна p=3/36=1/12.
Определение 3. Размещением называется произвольная инъекция f: {x1 , x2 , , xm} { y1,y2, ,yn } .
(В каждый ящик размещают не более одного предмета.)
Теорема 1. Число размещений равно Am |
n! |
|
. |
|
(n m)! |
||||
n |
|
|||
Доказательство. Первый предмет можно разместить n способами,
второй – n-1, , m-й – n-m+1. Получаем |
An |
n(n 1) (n m 1) (n m)! . |
|
|
m |
|
n! |
Упражнение 2. В группе m студентов. Найти вероятность того, что найдется два студента, родившиеся в один день.
Решение. Число всех вариантов 365m. Число неблагоприятных вари-
антов равно |
Am n(n 1) (n m 1), |
где n=365. Получаем |
|
n |
|
p 1 (1 1n )(1 n2 ) (1 mn 1) . Ниже приводится таблица значений вероятности при различных m:
17
Например, если число студентов равно 23, то вероятность равна примерно
0.5
Определение 3. Пусть заданы m ящиков. Упорядоченным размещением предметов a1, a2, , an называется указание последовательности предметов для каждого ящика, при котором каждый предмет участвует ровно один раз.
Пример 1. На рисунке 2.1 показаны упорядоченные размещения предметов a, b по трем ящикам.
|
|
|
|
|
|
|
|
|
|
|
ba |
|
|
|
|
|
ab |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ab |
|
|
|
|
|
a |
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
b |
|
|
|
b |
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
b |
|
|
|
b |
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
a |
|
|
|
|
|
ba |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ba |
|
|
|
|
|
ab |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
Рис. 2.1. Упорядоченные размещения |
|
|
|||||
Сначала размещается буква a в первый ящик и одним из четырех способов размещается b. Потом буква a размещается во второй ящик, в этом случае
18
снова b размещается одним из четырех способов. Затем буква a размещается в третий ящик, буква b размещается одним из четырех способов. Всего получаем 12 упорядоченных размещений.
Теорема 2. Число [m]n упорядоченных размещений n предметов в m ящиков равно m(m+1) ∙ ∙ ∙ (m+n 1).
Доказательство. После размещения первого предмета в таблицу одним из m способов
|
|
a1 |
∙ ∙ ∙ |
|
второй предмет может быть размещен одним из m+1 способов. Предположим, что уже размещено i 1 предметов, и пусть при k=1, 2, …, m в k-м ящике находится rk объектов. Тогда i-й объект может быть добавлен одним из (r1 +1) + (r2 +1) + ∙ ∙ ∙ + ( rm +1) = i 1+m способов. Отсюда число всех упорядоченных размещений будет равно m(m+1) ∙ ∙ ∙ (n 1+ m).
§2.2. Сочетания
Сочетанием элементов множества X называется подмножество конечного множества A X. Если |A|=k, |X|=n, то подмножество X называется сочетанием из n по k . Например, сочетания трех цветов семицветной радуги будут описываться подмножествами, состоящими из трех элементов.
Треугольник Паскаля и бином Ньютона.
Теорема 1. Число сочетаний удовлетворяет соотношениям:
C0 |
C n 1 |
; Ck C k |
C k 1 (при 0 < k < n). |
|||
n |
n |
n |
n 1 |
n 1 |
|
|
|
Доказательство. Число сочетаний, не содержащих n-й элемент, рав- |
|||||
но Ck |
, а содержащих – C k |
. |
||||
|
n 1 |
|
|
|
n 1 |
|
Следующая таблица строится на основе теоремы 1 и называется треугольником Паскаля:
n |
0 |
1 |
2 |
3 |
4 |
5 |
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
2 |
1 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
3 |
1 |
3 |
3 |
1 |
|
|
|
|
|
|
|
|
|
4 |
1 |
4 |
6 |
4 |
1 |
|
|
|
|
|
|
|
|
5 |
1 |
5 |
10 |
10 |
5 |
1 |
|
|
|
|
|
|
|
19
6 |
1 |
|
6 |
15 |
20 |
|
15 |
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Теорема 2. |
Число сочетаний из n по k равно C k |
n! |
|
C k Ak / k!. |
|||||||
k!(n k )! |
|||||||||||
|
|
|
|
|
|
n |
n |
n |
|||
Доказательство. По индукции по n. Или, сопоставляя каждой инъекции ее образ и учитывая, что число инъекций с одинаковым образом
равно k!, получаем Ak k!C k |
|
C k Ak / k!. |
|
n |
n |
|
n n |
|
n |
|
|
Теорема 3. (1 x)n Cnk x k |
(Бином Ньютона). |
||
k 0
Доказательство. По индукции по n. Можно предложить также другое доказательство: рассмотрим произведение n сомножителей (1+x) (1+x)
(1+x). Сомножители будем рассматривать как ящики. Произведение равно сумме степеней xk, причем при каждом k слагаемые xk получаются выбором из ящиков k элементов, равных x. Отсюда коэффициент при xk будет равен количеству содержащих k элементов подмножеств множества, состоящего из n элементов.
Применение сочетаний. Сочетание можно интерпретировать как размещение неразличимых предметов.
Пример 1. Найдем вероятность угадать 7 номеров из 49 (игра спортлото). Количество вариантов равно числу сочетаний из 49 элементов по 7. Существует единственный благоприятный вариант. Отсюда вероятность равна 1/ C497 10 8 .
Теорема 4. Число возрастающих функций {1,2, ,k} {1,2, ,n} равно Cnk .
Теорема 5. Число последовательностей натуральных чисел (x1 , x2 ,
, xk) , xi 1 , удовлетворяющих уравнению x1 + x2 + + xk = n ,
равно Cnk 11 .
Теорема 6. Число неубывающих сюръекций {0,1, , n –1} {0, 1,
, k–1 } равно Cnk 11 .
Доказательство. Каждая сюръекция задает разбиение множества
{0, 1, , k–1} на подмножества f ─1(0) , f ─1(1), , f ─1(n –1). Пусть m0 –
наибольший в f ─1(0), m1 – наибольший в f ─1(1) , , mn-2 – наибольший в f─1(n –2) . Тогда mn-1 = k – 1. Следовательно,
0 ≤ m0 < m1 < < mn-2 ≤ k-2 .
20
Число таких последовательностей равно |
C k 1 |
– количеству возрастаю- |
||
|
n 1 |
|
|
|
щих функций n–1 k–1. |
|
|
|
|
Пример 2. Число неубывающих сюръекций n 1 равно C 0 |
1. |
|||
|
|
|
n 1 |
|
Число неубывающих сюръекций 3 2 равно C21 |
2 . |
|
|
|
Сочетания с повторениями. Сочетанием с повторением из множе- |
||||
ства {e1 , e2 , , en} называется линейная комбинация |
x1e1 + x2e2 |
+ +xn |
||
en , состоящая из x1 элементов e1 , из x2 |
элементов e2 |
, , из xn элементов |
||
en , где xi ≥ 0 – неотрицательные целые числа. Если |
x1 + +xn = k , то |
|||
оно называется сочетанием с повторениями из n по k.
Пусть, например, имеется 3 цвета: красный, зеленый, синий. Интенсивности этих цветов равны. Сколько смесей суммарной интенсивности 10
можно получить, смешивая x1 красных, x2 зеленых и x3 синих цвета? |
|
Лемма 1. Пусть V k |
- число сочетаний с повторениями из n по k. |
n |
|
Тогда V k равно числу неубывающих функций {1,2, , n-1} {0,1,2, , n} |
||||||||||
n |
|
|
|
|
|
|
|
|
|
|
Доказательство. |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
x2 x3 |
|
|
|
xn |
|||
Рис. 2.2. Решение уравнения x1 + +xn = k |
||||||||||
Каждому решению x1 + +xn = k соответствует неубывающая по- |
||||||||||
следовательность y1 ≤y2 ≤ |
≤yn-1 , где y1=x1, y2 |
= y1+x2, , yn-1 = yn-2 + xn-1 . |
||||||||
Теорема 7. V k |
C k |
. |
|
|
|
|
||||
|
n |
|
n 1 k |
|
|
|
|
|
|
|
Доказательство. Рассмотрим график неубывающей функции
Рис. 2.3. График неубывающей функции График задается последовательностью из 0 и 1
