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

Вопросы и задачи

2.1. Сколько будет четырехзначных чисел из цифр 0, 1, 2, 3?

2.2. Из цифр 1, 2, 3, 4, 5 составить трехзначные числа так, что в каждом числе не было одинаковых цифр.Сколько четных чисел?

2.3. В соревновании участвуют 8 спортсменов. Сколькими способами можно распределить между ними золотую, серебряную и бронзовую медали?

2.4. Каково число матриц из n строк и m столбцов с элементами из множества {0, 1}.

2.5. Сколькими способами из 28 костей домино можно выбрать две кости так, чтобы их можно было приложить друг к другу (т.е. некоторое число очков встретилось на обеих костях)?

2.6. Бросают три игральные кости (с шестью гранями каждая). Сколькими способами они могут упасть так, что все оказавшиеся вверху грани имели одинаковое число очков?

2.7. Дано m предметов одного сорта и n –другого. Найти число выборок, составленных из r предметов одного сорта и s –другого.

2.8. Из 30 сотрудников отдела английский язык знают 19

человек, немецкий - 17, французский -11, английский и немецкий - 12, английский и французский - 7, немецкий и французский -5, все три языка - 2 человека. Сколько сотрудников не владеют иностранным языком?

Глава 3. Основы теории графов

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

Первая работа по теории графов была опубликована математиком Л. Эйлером в 1736г. в Трудах Академии наук Санкт-Петербурга в виде задачи о Кенигсбергских мостах.

Суть задачи сводилась к следующему: мог ли житель Кенигсберга, выйдя из дома, находящегося на части суши (например, A, B, С или D), пройти по семи мостам города через реку Прегель в точности по одному разу и вернуться домой? Ответ на этот вопрос был отрицательным.

Для пояснения задачи представлена модель части города, прилегающей к реке Прегель (см. рис. 3.1), где каждый участок суши замещен точкой на плоскости, а мосты – линиями, связывающими участки суши.

3.1. Граф и его характеристики

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

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

Граф может быть задан в двух формах:

а) G=<X, r>,

где r={ri=(xi, xj)| xi, xjX}(XX) есть отношения между вершинами графа,

б) G=<X; h>,

где h(xi)={xj| xjX} есть множество вершин графа, смежных вершине xi.

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

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

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

Граф называют неориентированным, если (xi, xj)=(xj, xi). Отрезок линии (xi; xj), соединяющий две вершины неориентированного графа, называют ребром.

Граф G=<X; r> называют ориентированным, если

(xi, xj)(xj, xi), а направленный отрезок линии (xi; xj), соединяющий две вершины, называют дугой.

На рис. 3.2. приведены неориентированный и ориентированный графы.

Любая программа или алгоритм вычислительного процесса, электронная схема или последовательность операций производственного процесса могут быть представлены ориентированным графом, а любая схема транспортной или электрической сети - неориентированным.Поскольку при описании графа используют элементы множеств вершин и отрезков линий, то для определения отношения принадлежности вершины графа отрезку линии и, наоборот, отрезка линии - вершине вводится понятие “инциденция”. Говорят, что вершина xi инцидентна ребру или дуге (xi, xj), если она является концевой вершиной данного отрезка линии, а ребро или дуга (xi, xj) инцидентна вершине xi , если отрезок линии ограничен концевой вершиной xi. Число вершин, инцидентных ребру или дуге, всегда равно 2, т.к. они являются концевыми вершинами отрезка линии, а число рёбер или дуг, инцидентных вершине xi, может быть произвольным. Число ребер, инцидентных вершине xi, называют степенью или валентностью вершины и обозначают

i= .

Число дуг, исходящих из вершины xi, называют полустепенью вершины графа и обозначают i+= .

Вершину xi, инцидентную исходящей дуге (xi, xj), называют истоком (символ ”+” отмечает вершину-исток).

Число дуг, заходящих в вершину xi, также называют полустепенью вершины графа и обозначают i= .

Вершину xi, инцидентную заходящей дуге (xj, xi)-, называют стоком (символ ”” отмечает вершину-сток).

Две вершины графа называются смежными, если они различны и между ними существует ребро или дуга.

Вершина xi, несмежная ни с одной вершиной графа, называется изолированной. На рис. 3.2. такой вершиной является x2 .

Два ребра называются смежными, если они различны и имеют общую вершину.

Граф называют полным, если любые две его вершины смежны между собой (см. рис. 3.3a) и пустым, если любые две его вершины не смежны (см. рис.3.3b).

Полный подграф некоторого графа называют кликой этого графа. В матрице смежности этого графа клика формирует единичный блок.

Граф называют дополнительным для графа G=<X; r>, если он опирается на множество вершин исходного графа и дополнение отношения r, т. е. G=<X;r> (см. рис. 3.4).

Граф называют связным, если любые две его вершины можно соединить цепью. Для ориентированного графа выделяют сильную связность, когда любые две его вершины взаимодостижимы при наличии дуг, и слабую связность, когда любые две его вершины достижимы только при замене дуг на рёбра.

Граф называют деревом, если он связный, но без циклов, петель и кратных рёбер или дуг.

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

В графе типа дерево (см. рис. 3.5) всегда выделяют корневую вершину - J, узлы - прописные буквы латини- цы {A, B, C,..} и крону - строчные буквы латиницы {a, b, c,..}. Число дуг дерева всегда равно (n-1), где n - число вершин графа.

Вершинной связностью. графа G=<X; r> называют наи- меньшее число вершин, удаление которых приводит к несвязному графу. Например, если на рис. 3.5 удалить вершину J, то будет сформировано три дерева. Множество несвязных деревьев называют “лес”.

Реберной связностью графа G=<X; r> называют наимень- шее число ребер, удаление которых приводит к несвязному графу.

Если множество вершин графа G=<X; r> разбить на два подмножества X’ и X\X’ при условии, что X’(X\X’)=X и X’(X\X’)=, то множество рёбер или дуг, одни из концевых вершин которых принадлежат множеству X’, а другие - множеству (X\X’), называют разрезом. Поиск разрезов сводится выделению множества рёбер, соединяющих эти подмножества.

Пусть на рис. 3.6 дан граф G=<X; r>, где X={x1, x2, ..x8}, а

r={r1, r2,..r11}. По условиям задачи выделено подмножество

X’={x1, x2, x6, x8}. Тогда X\X’={x3, x4, x5, x7}.

Разрезом является множество ребер {r2, r11, r7 }, которые выделены на рисунке полужирными линиями. Удаление разреза преобразует связный граф в несвязный. Так на рис. 3.7 изображены два связных подграфа графа, представленного на рис. 3.6, в результате удаления ребер разреза.

Последовательность смежных рёбер или дуг, соединяющих вершины xi и xj , называют маршрутом и обозначают (i, j)=((xi, xk);…. . . (xl, xj)). Например, для неориентированного графа (см. рис. 3.2) между вершинами x0 и x5 существует шесть маршрутов, т.е. 05={(r04, r45); (r01, r14, r45); (r01, r1,5); (r04, r41, r15); (r04, r41, r13, r35); (r01, r13, r35)}.

Последовательность смежных вершин, соединяющая вершины xi и xj , называют переходом и обозначают (i, j)=(xi,..xj). Например, для неориентированного графа (см. рис. 3.2) между вершинами x0 и x5 существует шесть переходов, т.е. (0, 5)={(x0, x4, x5); (x0, x1, x4, x5); (x0, x1, x5); (x0, x4, x1, x5); (x0, x4, x1, x3, x5); (x0, x1, x3, x5)}.

Маршрут неориентированного графа, связывающий вершины xi и xj, называют цепью, а ориентированного - путём.

Маршрут называют открытым, если его концевые вершины различны, и замкнутым, если его концевые вершины совпадают.

Замкнутый маршрут неориентированного графа называют циклом, а ориентированного - контуром.

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

Замкнутый маршрут, который содержит только одно ребро или дугу, называют петлёй. На рис. 3.2 петля указана для x4.

Маршрут называют эйлеровым, если он замкнут и проходит через каждое ребро графа только по одному разу. На рис. 3.8a) эйлеровым маршрутом является (0, 0)=(r04, r14, r15, r35, r13, r01)}.

Граф G=<X; r> является эйлеровым тогда и только тогда, когда он связан и степень каждой вершины i есть четное число.

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

Таким на рис. 3.8b) является маршрут (0, 0)=(r04, r45, r35, r13, r01)}.

Длина маршрута равна числу смежных рёбер, соединяющих вершины xi и xj , т.е. l(i, j)=rk,l, где kl и ik,lj.

Длину минимального маршрута, соединяющего вершины xi и xj называют расстоянием. Например, расстояние между вершинами x0 и x5 графа на рис.3.8b) равно 2.

Если ребро или дуга обладают дополнительной характеристикой – протяжённостью – l(k, t), то длина маршрута равна сумме длин рёбер или дуг, его составляющих, т.е. l(i, j)=l(k, t), где kt и ik,tj.

Если ребро или дуга обладают дополнительной характеристикой - пропускной способностью – C(k, t), то пропускная способность маршрута равна минимальной пропускной способности ребра или дуги маршрута.

Существует несколько типов графов, сформированных на подмножествах вершин или ребер заданного графа.

Граф G’=<X’; r’> называют подграфом графа G=<X; r>, если он опирается на подмножество вершин исходного графа, т.е. X’X, и инцидентных им рёбер.

На рис. 3.9 приведен граф а) и его подграф b). Подграф задан подмножеством вершин X={x1, x2, x3, x5}X вместе с инцидентными им ребрами r’= {r1, r2, r3, r4, r7, r8}.r.

Граф G’=<X’; r’> называют частичным для графа G=<X; r>, если он использует подмножество рёбер исходного графа, т.е. r’r, и инцидентные им вершины.

На рис. 3.9. приведен граф а) и частичный граф с). Частичный граф задан подмножеством рёбер r’={r1, r7, r8}r вместе инцидентными им вершинами X’={x1, x2, x3, x5}X.

Граф G’=<X; r’> называют суграфом для графа G=<X; r>, если он использует подмножество рёбер исходного графа, т.е. r’ r, и все вершины исходного графа.

На рис. 3.9. приведен граф а) и его суграф d). Суграф задан подмножеством рёбер графа r’={r1, r7, r8, r9}r и множеством вершин исходного графа X={x1, x2, x3, x4, x5}X.

Суграф G’=<X’; r’>, формируемый без циклов, петель и кратных рёбер, называют остовом графа G=<X; r>.

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

На рис. 3.10 приведены для сравнения планарный и непланарный графы. У непланарного графа ребро (x1, x3) при любой трассировке будет пересекать ребро (x2, x4) или (x0, x2), а ребро (x2, x4) – пересекать ребро (x1, x3) или (x0, x3).

Граф G=<X;r> называют двудольным, если его множество вершин может быть разбито на два непересекающихся подмножества X’ и X\X’ так, что каждое ребро графа G соединяет две вершины из разных подмножеств. Граф является двудольным тогда и только тогда, когда все его циклы имеют четную длину.

Граф G=<X;r> называют взвешенным, если его рёбра или вершины имеют дополнительные характеристики.

На рис. 3.11а). приведен реберно-взвешенный граф. Дополнительными характеристиками каждого ребра могут быть объем передаваемой информации или стоимость ее передачи, протяжённость или пропускная способность ребра. Каждому ребру графа приписана условная характеристика – вес.

На рис. 3.11b). приведен вершинно-взвешенный граф. Дополнительными характеристиками каждой вершины могут быть время исполнения команды или оператора программы, вероятность наступления события или надёжность эксплуатации узла и т.п. Каждой вершине графа приписана условная характеристика – вес.

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