Лекции по "Развитию операционных систем"

Автор работы: Пользователь скрыл имя, 12 Марта 2014 в 15:16, курс лекций

Краткое описание

Эйлеров цикл содержит не только все ребра (по одному разу), но и все вершины графа (возможно, по несколько раз). Ясно, что эйлеровым может быть только связный граф. С эйлеровым циклом как раз связана задача о кенигсбергских мостах, приведшей к исторически первой попытке развития теории графов как самостоятельного предмета. Чтобы решить данную задачу потребуется сначала сформулировать и доказать теорему. Эта теорема справедлива также и для мультиграфов, и для псевдографов, исключая тот случай, когда псевдограф имеет только одну вершину.

Прикрепленные файлы: 21 файл

Лекция 10.doc

— 228.00 Кб (Просмотреть файл, Скачать документ)

Лекция 11.doc

— 575.00 Кб (Просмотреть файл, Скачать документ)

Лекция 12.doc

— 518.50 Кб (Просмотреть файл, Скачать документ)

Лекция 13.doc

— 335.50 Кб (Просмотреть файл, Скачать документ)

Лекция 14.doc

— 291.50 Кб (Просмотреть файл, Скачать документ)

Лекция 15.doc

— 184.00 Кб (Просмотреть файл, Скачать документ)

Лекция 16.doc

— 147.00 Кб (Просмотреть файл, Скачать документ)

Лекция 17.doc

— 815.50 Кб (Просмотреть файл, Скачать документ)

Лекция 19.doc

— 281.00 Кб (Просмотреть файл, Скачать документ)

Лекция 2.doc

— 167.00 Кб (Скачать документ)

Лекция 2.

 

п.2.  Декартово произведение. Мощность множества.

 

2.1.  Декартово произведение множеств.

 

Упорядоченная пара интуитивно определяется как совокупность, состоящая из двух элементов x и y, расположенных в определенном порядке. Две пары и считаются равными тогда и только тогда, когда x=u и y=v.

Определение 2.1.  Пусть A и B – два множества. Прямым (декартовым) произведением двух множеств A и B называется множество всех упорядоченных пар, в котором первый элемент каждой пары принадлежит A, а второй принадлежит B:

.

Пример 2.1.  Пусть и . Тогда

.

.

,

Пример 2.2.  На координатной плоскости построить следующее множество:

(-1; 3]×[1; 3)

Решение.  Первое множество помещаем на оси OX, второе на оси OY. Множество всех пар, т.е. декартово произведение, изображается точками заштрихованного прямоугольника, но без левой и нижней стороны.


 

 

 

 

 

 

 

 

 

,

Как вы знаете, точка на плоскости может быть задана упорядоченной парой координат, то есть двумя точками на координатных осях. Поэтому координатную плоскость можно задать в виде . Метод координат ввел в употребление Рене Декарт (1596-1650), отсюда и название «декартово произведение».

В частности, если A пусто или B пусто, то, по определению, A´B пусто.

 

Понятие прямого произведения допускает обобщение.

Прямое произведение множеств A1, A2, …, An – это множество наборов (кортежей):

.

Множества Ai не обязательно различны.

Степенью множества A называется его прямое произведение самого на себя. Обозначение:

.

Соответственно, и вообще .

 

Пример 2.3.  Пусть B={0, 1}. Описать множество Bn.

Решение.  Множество Bn состоит из последовательностей нулей и единиц длины n. Они называются строкой бит или битовой строкой длины n.

,

 

 

2.2. Мощность множества.

 

Альберт Эйнштейн как-то говорил: «Не все, что можно сосчитать, сосчитано, и не все, что сосчитано, можно сосчитать». Хотя это высказывание не очень воодушевляет, попытаемся заняться подсчетами.

Говорят, что между множествами A и B установлено взаимно однозначное соответствие, если каждому элементу множества A соответствует один и только один элемент множества B и каждому элементу множества B соответствует некоторый элемент множества A. В этом случае говорят также, что множества A и B изоморфны и используют обозначение A~B.

Определение 2.2.  Два множества A и B называются эквивалентными, или равномощными, если между этими множествами может быть установлено взаимно однозначное соответствие. В этом случае пишут: A~B, или |A|=|B|, и говорят, что множества A и B имеют равные мощности.

Пример 2.4.  1)  Множество десятичных цифр равномощно множеству пальцев на руках человека.

2)  Множество четных  натуральных чисел (2N) равномощно множеству всех натуральных чисел (N).

,

Определение 2.3.  Множество A называется конечным, если оно эквивалентно Jn при некотором n, где Jn={1, 2, …, n} – множество n первых натуральных чисел.

Определение 2.4.  Мощностью конечного множества A, которое содержит k элементов, называется число его элементов. Она обозначается |A|=k. Пустое множество считается конечным с числом элементов равным нулю, т.е. |Æ|=0.

 

Таким образом, если множество A конечно, т.е. |A|=k, то элементы A всегда можно перенумеровать, то есть поставить в соответствие элементам номера из отрезка натурального ряда 1..k с помощью некоторой процедуры. Наличие такое процедуры подразумевается, когда употребляется запись A={a1, a2, …, ak}.

Пример 2.5.  В компьютере все множества реальных объектов конечны: множество адресуемых ячеек памяти, множество исполнимых программ, множество тактов работы процессора.

,

Множества, которые не являются конечными, называются бесконечными. Если некоторое множество A равномощно множеству N, т.е. A~N, то множество A называется счетным (в зарубежной литературе: множество называются счетным, если оно конечно или счетно бесконечно). Счетное множество A – это такое множество, все элементы которого могут быть занумерованы в бесконечную последовательность a1, a2, …, an, …, так, чтобы при этом каждый элемент получил лишь один номер n и каждое натуральное число n было бы номером лишь одного элемента множества A. Мощность счетного множества принято обозначать через ( – первая буква древнееврейского алфавита, называемая «алеф», символ читается: «алеф-нуль»). В частности |N|= .

Пример 2.6.  Множество Z – множество целых чисел счетно.

Решение.  Рассмотрим множество целых чисел Z:

…, -n, …, -3, -2, -1, 0, 1, 2, 3, …, n, … .

На первый взгляд, кажется, что это множество невозможно перенумеровать. Однако эту нумерацию можно осуществить, применив следующую хитрость: двигаясь не в одном направлении, а все время менять его. Иными словами, будем нумеровать так: числу 0 дадим номер 1, числу 1 – номер 2, числу -1 – номер 3, числу 2 – номер 4, числу -2 – номер 5, и т.д. Таким образом, получаем взаимно однозначное соответствие между множеством Z и N. А значит, множество Z счетно.

,

Множество A называется несчетным, если его мощность больше мощности множества N. В таком случае множество A называется континуальным или континуумом. Мощность континуума обозначается . Следующую теорему примем без доказательства.

Теорема 2.1.  Множество всех действительных чисел имеет мощность континуума, т.е. |R|=C.

 

 

 

2.3.  Теоремы сложения и умножения.

Формула включений и исключений.

 

В машиностроении рассматриваются конечные множества. Чтобы подсчитать число элементов конечного множества, образованного в результате объединения или пересечения некоторых конечных множеств, используется комбинаторный анализ. Мы рассмотрим теоремы сложения и умножения, а так же формулу включений и исключений.

 

Теорема 2.2.  (Теорема сложения)

Пусть – конечные попарно непересекающиеся множества, т.е. . Тогда

                           (2.3.1.)

Доказательство.  Докажем теорему методом математической индукции.

Базис индукции.  Пусть n=2. Пусть множества X1=A и X2=B, мощности которых соответственно равны k1 и k2, т.е. |A|=k1, |B|=k2. Так как AÇB=Æ, то

.

Индуктивный переход.  Пусть теорема верна для n. Покажем, что для n+1 будет тоже справедливо. Тогда

Теорема 2.3.  (Теорема умножения)

Пусть заданы конечные множества . Тогда

                                     (2.3.2.)

т.е. число элементов декартова произведения множеств равно произведению количеств элементов сомножителей.

Доказательство.  Докажем теорему методом математической индукции.

Базис индукции.  Пусть n=2. Пусть множества X1=A и X2=B, мощности которых соответственно равны k1 и k2, т.е. |A|=k1, |B|=k2. Первый компонент упорядоченной пары можно выбрать k1 способами, второй – k2 способами. Таким образом, всего имеется k1×k2 различных упорядоченных пар. Значит,

.

Индуктивный переход.  Предположим справедливость утверждения теоремы для n. Покажем, что для n+1 оно будет тоже справедливо. В самом деле, добавляя еще одно множество в декартово произведение, видим, что

Пример 2.7.  Сколько существует целых чисел между 0 и 1000, содержащих ровно одну цифру 6?

Решение.  Пусть S – множество целых чисел между 0 и 1000, содержащих ровно одну цифру 6. Рассмотрим три подмножества S1, S2 и S3 множества S.

S1 – множество, которое содержит число, состоящее из одной цифры, и эта цифра 6;

S2 – множество, содержащее двузначные числа ровно с одной цифрой, равной 6;

S3 – множество, содержащее трехзначные числа ровно с одной цифрой, равной 6.

Множество S1 содержит только один элемент – число 6. Значит, | S1|=1.

В множестве S2 каждый элемент, содержащей 6, имеет ее либо первой, либо второй цифрой. Если 6 – вторая цифра, то существует 8 различных чисел, которые будут стаять на первом месте, поскольку первое число не может быть 0 или 6. Если 6 – первая цифра, то таких чисел 9, поскольку вторая цифра не может быть 6. Таким образом, S2 содержит 8+9=17 элементов, т.е. | S2|=17.

Элемент из S3 содержит 6 как первою, вторую или третью цифру. Если 6 – первая цифра, то существует 9 вариантов выбора второй цифры и 9 вариантов выбора третьей цифры. Согласно комбинаторному принципу умножения, S3 содержит 9 ´9=81 чисел с первой цифрой. Если 6 – вторая цифра, то имеются 9 вариантов выбора третьей цифры и 8 вариантов выбора первой цифры, поскольку первая цифра не может быть нулем. Следовательно, S3 содержит 9´8=72 числа, у которых 6 – вторая цифра. Аналогично, S3 содержит 72 числа, у которых 6 – третья цифра. Следовательно, всего S3 содержит 81+72+72=225 элементов, т.е. |S3|=225.

Поскольку и множества S1, S2 и S3 попарно непересекающиеся, то

.

,

Поставим задачу подсчитать число элементов в объединении

X=X1ÈX2È…ÈXm

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

Теорема 2.4.  (Формула включений и исключений).

Для конечных множеств , справедлива формула включений и исключений.

       (2.3.3.)

 

В частности для двух множеств эта формула примет вид:

.

Для трех множеств формула включений и исключений примет вид:

.

Название этой теоремы подчеркивает использование последовательных включений и исключений элементов подмножеств.

 

Пример 2.8.  Сколько положительных целых чисел, меньших 1001, делятся на 2, 3 или 5?

Решение.  Пусть X – множество положительных целых чисел, которые делятся на 2, 3 или 5. Рассмотри три подмножества X1, X2 и X3 множества X.

X1 – множество положительных целых чисел, которые делятся на 2. Число элементов или мощность этого множества равно .

X2 – множество положительных целых чисел, которые делятся на 3. Число элементов или мощность этого множества равно .

X3 – множество положительных целых чисел, которые делятся на 5. Число элементов или мощность этого множества равно .

Тогда множество X1ÇX2 – множество положительных целых чисел, которые делятся на 2 или 3. Число элементов или мощность этого множества равно . Множество X1ÇX3 – множество положительных целых чисел, которые делятся на 2 или 5. Число элементов или мощность этого множества равно . Множество X2ÇX3 – множество положительных целых чисел, которые делятся на 3 или 5. Число элементов или мощность этого множества равно .

Множество X1ÇX2ÇX3 – множество положительных целых чисел, которые делятся на 2, 3 или 5. Число элементов или мощность этого множества равно .

Воспользуемся формулой включения и исключения, чтобы найти число элементов множества X. Получаем

,

 

 

2.4.  Представление множеств в компьютере.

 

Термин «представление» применительно к программированию означает следующее. Задать представление какого-либо объекта (в данном случае множества) – значит, описать в терминах используемой системы программирования структуру данных, используемую для хранения информации о представляемом объекте, и алгоритмы над выбранными структурами данных, которые реализуют присущие данному объекту операции. Предполагается, что в используемой системе программирования доступны такие общеупотребительные структуры данных, как массивы, структуры (или записи) и указатели. Таким образом, применительно к множествам определение представления подразумевает описание способа хранения информации о принадлежности элементов множеству и описание алгоритмов для вычисления объединения, пересечения и других введенных операций.

Следует подчеркнуть, что, как правило, один и тот же объект может быть представлен многими разными способами, причем нельзя указать способ, который является наилучшим для всех возможных случаев. Выбор представления зависит от целого ряда факторов: особенностей представляемого объекта, состава и относительной частоты использования операций в конкретной задаче и т.д. Умение выбрать наиболее подходящее для данного случая представление является основой искусства практического программирования. Хороший программист отличается тем, что он знает много разных способов представления и умело выбирает наиболее подходящий.

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

Новиков Ф.А. Дискретная математика для программистов. Учебник для вузов. 2-е изд. – СПб.: Питер, 2006.

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

Лекция 20.doc

— 241.00 Кб (Просмотреть файл, Скачать документ)

Лекция 22.doc

— 673.50 Кб (Скачать документ)

Информация о работе Лекции по "Развитию операционных систем"