Требования к представлению графов

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

Представление выбирается, исходя из потребностей конкрет­ной задачи. Далее приведены два из наиболее часто используемых представле­ния.

Указанные представления пригодны для графов и орграфов, а после некоторой модифи­кации также и для псевдографов, мультиграфов.

Представления иллюстрируются на конкретных примерах графа G и орграфа D, диаграммы которых представлены на рис. 7.10.

Требования к представлению графов - student2.ru

Рис. 3.9. Диаграммы графа (слева) и орграфа (справа), используемых в качестве примеров

Матрица смежности

Представление графа с помощью квадратной булевской матрицы

Требования к представлению графов - student2.ru

отражающей смежность вершин, называется матрицей смежности, где

Требования к представлению графов - student2.ru

Пример

Требования к представлению графов - student2.ru

Матрица инциденций

Представление графа с помощью матрицы Н: array [l..p, l..q] of 0..1 (для оргра­фов Н: array [l..p, l..q] of -1..1), отражающей инцидентность вершин и ребер, называется матрицей инциденций, где для неориентированного графа:

Требования к представлению графов - student2.ru

а для ориентированного графа

Требования к представлению графов - student2.ru

Пример

Требования к представлению графов - student2.ru

2.3.Геометрическая реализация графов

Фигура F называется геометрической реализацией графа G(V,E), если существует взаимно однозначное соответствие между точками фигуры F и вершинами графа, между кривыми фигуры и ребрами, такое, что соответствующие кривые и ребра соединяют соответствующие точки и вершины.

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

Теорема: каждый конечный граф допускает правильную укладку в трехмерном пространстве.

Граф называет планарным, если он допускает правильную укладку на плоскости.

Теорема (доказано в топологии): граф планарен, если он не имеет подграфов, изоморфных графам K5 и K3,3.

2.4.Маршруты, цепи, циклы

Определения

Маршрутом в графе G(V,E) называется чередующаяся последовательность вершин и ребер v1, e1, v2, e2, ... ,vk,ek,vk+1, в которой любые два соседних элемента инцидентны.

Это определение подходит также для псевдо-, мульти- и орграфов. Для «обычного» графа достаточно указать только последовательность вершин или только последовательность ребер.

Если v1=vk+1, то маршрут замкнут, иначе открыт.

Если все ребра различны, то маршрут называется цепью. Если все вершины цепи различны, то цепь называетсяпростой.

Замкнутая цепь называется циклом; замкнутая простая цепь называется простым циклом.

Число циклов в графе G обозначается z(G) (является инвариантом). Граф без циклов называется ациклическим.

Для орграфов цепь называется путем, а цикл - контуром.

Пример

В графе, диаграмма которого приведена на рис. 3.10:

1. v1,v3,v1,v4 - маршрут, но не цепь;

2. v1, v3, v5, v2, v3, v4 - цепь, но не простая цепь;

3. v1, v4, v3, v2, v5 - простая цепь;

4. v1, v3, v5, v2, v3, v4, v1- цикл, но не простой цикл;

5. v1,v3,v4 - простой цикл.

Требования к представлению графов - student2.ru

Рис. 3.10. Маршруты, цепи, циклы

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

Граф называется деревом, если он связен и не содержит циклов.

Эйлеровы графы

Вернемся к историческому примеру о Кенигсбергских мостах. В каком случае в графе можно найти цикл, в котором каждое ребро участвует ровно один раз?

Цикл, содержащий каждое ребро ровно один раз, называется эйлеровым. Граф, содержащий эйлеровый цикл, называется эйлеровым графом.

Теорема (критерий эйлеровости графа): конечный граф G(V,E) является эйлеровым, тогда и только тогда, когда он связен и степени всех его вершин – четны.

Цепь, содержащая каждое ребро ровно один раз, называется эйлеровой. Граф, содержащий эйлерову цепь, называется полуэйлеровым графом.

Теорема (критерий полуйлеровости графа): конечный граф G(V,E) является полуэйлеровым, тогда и только тогда, когда он связен и точно две го вершины имеют нечетную степень.

Гамильтоновы графы

Кроме эйлеровых графов рассматриваются также гамильтоновы графы.

Название «гамильтонов цикл» произошло от задачи «Кругосветное путешествие», придуманной Гамильтоном в позапрошлом веке: нужно обойти все вершины графа, диаграмма которого показана на рис. 3.11 (в исходной формулировке это были названия столиц различных стран), по одному разу и вернуться в исходную точку.

Этот граф представляет собой укладку додекаэдра.

Требования к представлению графов - student2.ru

Рис. 3.11. Задача «Кругосветное путешествие»

Если граф имеет простой цикл, содержащий все вершины графа (по одному ра­зу), то такой цикл называетсягамильтоновым циклом, а граф называется гамильтоновым графом.

Гамильтонов цикл не обязательно содержит все ребра графа. Ясно, что гамиль­тоновым может быть только связный граф.

Теорема (Дирак). Если в графе G(V, E) для любой вершины v выполняется: Требования к представлению графов - student2.ru (v) Требования к представлению графов - student2.ru р/2, то граф G является гамильтоновым.

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

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

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

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

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

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

Уже давно Эйлером получено просто проверяемое необходимое и достаточное условие существования в графе эйлерова цикла. Что касается гамильтоновых графов, то для них не известно необходимых и достаточных условий. На основе необходимого и досточного условия существования эйлерова цикла можно построить эффективные алгорит­мы отыскания такого цикла.

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

Теорема: Эйлеровых графов почти нет (E(p) – число эйлеровых графов с p вершинами, G(p) – число всех графов с p вершинами):

Требования к представлению графов - student2.ru .

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

Теорема: (H(p) – число гамильтоновых графов с p вершинами, G(p) – число всех графов с p вершинами):

Требования к представлению графов - student2.ru .

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

2.5.Заключение

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

В информатике графы используются в следующих разделах:

- операционные системы;

- алгоритмизация;

- структуры данных;

- моделирование и др.

4.Логика высказываний

4.1.Введение

4.2.Основные понятия

4.3.Логические операции.

4.4.Составные высказывания

4.5.Формулы логики высказываний

4.6.Законы логики (свойства логических операций)

4.7.Логическое следствие

Логика высказываний

3.1.Введение

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

Алгебра логики возникла в середине 19 в. в трудах Дж. Буля и развивалась затем в работах Ч. Пирса, П. С.Порецкого, Б. Рассела, Д. Гильберта и др. Создание алгебры логики представляло собой попытку решать традиционные логические задачи алгебраическими методами.

С появлением теории множеств (70-е гг. 19 в.), поглотившей часть первоначального предмета алгебры логики, и дальнейшим развитием математической логики (последняя четверть 19 в. - 1-я половина 20 в.) предмет алгебры логики значительно изменился. Основным предметом алгебры логики стали высказывания.

3.2.Основные понятия

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

Определение: повествовательное предложение, о котором можно однозначно сказать, истинно оно или ложно, называется высказыванием.

Примеры высказываний: "кит - животное", "все углы - прямые" и т. п. Первое из этих высказываний является, очевидно, истинным, а второе - ложным. Предложение "реши задачу", также как и "2+2", не является высказываем.

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

Будем обозначать высказывания большими латинскими буквами: A, B, C,….

Элементарные, нерасчленяемые высказывания будем называть атомами.

3.3.Логические операции.

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

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

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

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

Каждому высказывания можно сопоставить его истинностное значение, обозначаемое соответственно через И (если высказывание истинно), Л (если высказывание ложно).

Истинно­стное значение сложных высказываний зависит от истинностных значений высказываний, составлявших слоеное высказывание.

Эта зависимость устанавливается в данных ниже определениях я стращается в таблицах истинности.

Пусть A, В - произвольные высказывания, относительно кото­рых не предполагается, что известно их истинностные значе­ния.

Связке "НЕ" соответствует логическая операция отрицания, обозначение операции – знак ù или Требования к представлению графов - student2.ru .

Определение. Отрицанием высказывания A называется высказывание Требования к представлению графов - student2.ru (ùA), которое истинно, если A – ложно, и ложно, если A – истинно.

Таблица истинности отрицания:

A Требования к представлению графов - student2.ru
И Л
Л И

Пример: A: 2*2=4 – истинное высказывание; Требования к представлению графов - student2.ru : Требования к представлению графов - student2.ru или 2*2 Требования к представлению графов - student2.ru 4 - ложное высказывание.

Связке "И" соответствует операция конъюнкция, обозначение операции – знак Требования к представлению графов - student2.ru (или &).

Определение. Конъюнкцией высказываний A и B называется высказывание A Требования к представлению графов - student2.ru B (читается "A и B"), которое истинно тогда и только тогда, когда A, B – истинно.

Таблица истинности конъюнкции:

A B A Требования к представлению графов - student2.ru B
И И И
И Л Л
Л И Л
Л Л Л

Пример: A: 5 – нечетное число; B: Пушкин родился в 1799 г – истинные высказывания; поэтому высказываниеA Требования к представлению графов - student2.ru B: 5 – нечетное число Требования к представлению графов - student2.ru Пушкин родился в 1799 г. – истинное высказывание.

Связке "ИЛИ" соответствует операция дизъюнкция, обозначение операции – знак Требования к представлению графов - student2.ru .

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

Определение. Дизъюнкцией высказываний A и B называется высказывание A Требования к представлению графов - student2.ru B (читается "A или B"), которое ложно тогда и только тогда, когда A, B – ложны.

Таблица истинности дизъюнкции:

A B A Требования к представлению графов - student2.ru B
И И И
И Л И
Л И И
Л Л Л

Пример. A: 7<10, и.в. В: 3 - число четное, л.в. A Требования к представлению графов - student2.ru B: 7<10 Требования к представлению графов - student2.ru 3 - число четное, и.в.

Связке "ЕСЛИ....ТО" соответствует логическая операция импликация, обозначение операции знак →.

Определение. Импликацией высказываний A и B называется высказывание A→B (читается "если A, то B"), которое ложно тогда и только тогда, когда A – истинно, а B – ложно.

Таблица истинности импликации:

A B A→B
И И И
И Л Л
Л И И
Л Л И

Пример. A: 2*2=5, л. в. В: 2=2, и. в. A→B: 2*2=5→ 2=2. и. в.

Высказывание A называется условием или посылкой, высказывание В - заключением или следствием импликации.

Связке "ТОГДА И ТОЛЬКО ТОГДА, КОГДА" соответствует операция эквиваленция, обозначение операция – знак «.

Определение. Эквиваленцией высказываний A и В навивается высказывание, обозначаемое A«B (читается :"Aтогда и только тогда, когда В" или короче: "A эквивалентно В"), которое считается истинным только тогда, когда оба высказывания A и В имеют одинаковое истинностное значение.

Эквивалентность А«В читается также следующим образом: "Для того, чтобы A, необходимо и достаточно, чтобы В".

Таблица истинности эквиваленции:

A B A«B
И И И
И Л Л
Л И Л
Л Л И

Пример. A: 7 – число простое; и.в. В: в равнобедренном треугольнике при основании углы равны, и.в. A«В - и.в.

3.4.Составные высказывания

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

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

Пример. Требования к представлению графов - student2.ru .

A B C Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru
И И И И Л И
И И Л И Л Л
И Л И Л И И
И Л Л Л И И
Л И И Л И И
Л И Л Л И И
Л Л И Л И И
Л Л Л Л И И

3.5.Формулы логики высказываний

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

Понятие логической формы составного высказывания уточня­ется с помощью вводимого понятия формулы логики высказываний.

Понятие формул логики высказываний определяется следующим образом:

1. Элементарные формулы – атомы – являются формулами логики высказываний.

2. Если A, B – формулы, то Требования к представлению графов - student2.ru , (A Требования к представлению графов - student2.ru B), (A Требования к представлению графов - student2.ru B), (A→B), (A«В) также являются формулами логики высказываний.

3. только те выражения являются формулами логики высказываний, для которых это следует из 1, 2.

Согласно определения, всякая формула либо атом, ли­бо образуется из атомов в результате применения 2.

Число скобок в формулах можно уменьшить, если опустить внешнюю пару скобок и упорядочить знаки логических опера­ций по старшинству: «, →, Требования к представлению графов - student2.ru , Требования к представлению графов - student2.ru , Требования к представлению графов - student2.ru .

Знак « имеет самую большую область действия, знак Требования к представлению графов - student2.ru самую маленькую.

Определение. Формулы логики, принимающие значение "истина" при любых значениях атомов, входящих в формулу, называется тождественно истинными (или законами логики, или тавтологиями).

Например, формула Требования к представлению графов - student2.ru всегда тождественно истинна.

Определение. Формулы логики, принимающие всегда ложное значение, называются тождественно ложными(или противоречиями).

Например, формула Требования к представлению графов - student2.ru - противоречие.

Определение. Формулы алгебры логики, принимающие значение «ложь» хотя бы на одном наборе значений атомов, входящих в формулу называются опровержимыми.

Определение. Формулы алгебры логики, принимающие значение «истина» хотя бы на одном наборе значений атомов, входящих в формулу называются выполнимыми.

Определение. Формулы Р и Q называются равносильными, если их истинностные значения совпадают при любом выборе истинностных значений атомов, входящих в эти формулы.

Запись Р Требования к представлению графов - student2.ru Q означает, что формулы Р и Q равносильны.

3.6.Законы логики (свойства логических операций)

Следующие формулы являются законами логики.

1. Требования к представлению графов - student2.ru - закон двойного отрицания.

2. Требования к представлению графов - student2.ru - закон коммутативности конъюнкции.

3. Требования к представлению графов - student2.ru - закон коммутативности дизъюнкции.

4. Требования к представлению графов - student2.ru - закон ассоциативности конъюнкции.

5. Требования к представлению графов - student2.ru - закон ассоциативности дизъюнкции.

6. Требования к представлению графов - student2.ru - закон дистрибутивности конъюнкции относительно дизъюнкции.

7. Требования к представлению графов - student2.ru - закон дистрибутивности дизъюнкции относительно конъюнкции.

8. Требования к представлению графов - student2.ru - закон отрицания дизъюнкции.

9. Требования к представлению графов - student2.ru - закон отрицания конъюнкции.

10. Требования к представлению графов - student2.ru - закон отрицания импликации.

11. Требования к представлению графов - student2.ru - закон выражения эквивалентности через конъюнкцию и импликацию.

12. Требования к представлению графов - student2.ru - закон контрапозиции.

13. Требования к представлению графов - student2.ru - закон силлогизма.

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

1. Построить таблицы истинности для левых и правых частей эквивалентности и убедиться, что получены одинаковые значения для всех значений атомов.

2. Построить значение всей формулы и убедится, что формула является тавтологией.

Пример. Докажем закон отрицания конъюнкции ( Требования к представлению графов - student2.ru ) этими способами:

1. Найдем значения для Требования к представлению графов - student2.ru и Требования к представлению графов - student2.ru и сравним их.

A B Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru
И И И Л Л Л Л
И Л Л И Л И И
Л И Л И И Л И
Л Л Л И И И И

2. Найдем значение Требования к представлению графов - student2.ru и убедимся, что при всех значениях A и B - это истинное значение.

A B Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru
И И И Л Л Л Л И
И Л Л И Л И И И
Л И Л И И Л И И
Л Л Л И И И И И

3.7.Логическое следствие

Определение. Формула B есть логическое следствие формул A1, A2, .., An, если формула B принимает истинное значение при тех же значениях, при которых истинна каждая из формул A1, A2, .., An.

Запись (A1, A2, .., An)ÞB означает, что B – логическое следствие формул A1, A2, .., An.

Пример. (A®B, A® Требования к представлению графов - student2.ruТребования к представлению графов - student2.ru .

Докажем данное следствие.

A B A®B Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru Требования к представлению графов - student2.ru
И И И Л Л Л
И Л Л И И Л
Л И И Л И И
Л Л И И И И

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

Определение. Формулы F и G называются равносильными, если они являются логическими следствиями друг друга. Обозначение: Требования к представлению графов - student2.ru .

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

Следующие теоремы связывают логическое следствие и импликацию, равносильность и эквиваленцию.

Теорема1. Требования к представлению графов - student2.ru тогда и только тогда, когда A®B – тавтология.

Теорема2. Требования к представлению графов - student2.ru тогда и только тогда, когда A«B – тавтология.

Наши рекомендации