Вы находитесь на странице: 1из 6

Способы задания графа.

Изоморфные графы
Графы могут задаваться следующими способами:
1. Геометрическим способом - рисунки, схемы, диаграммы,
2. Алгебраическим способом - перечислением вершин и ребер,
3. Табличным способом.
4. Матричным способом.
Человеку удобно работать с графом-рисунком, так как он может легко установить связь между
вершинами в наглядном виде с помощью ребер, изображаемых непрерывными линиями. Такое
геометрическое представление плоского графа называется его реализацией.
Для машинной обработки удобнее задать граф в алгебраической форме - перечислением (списком)
вершин или ребер.
При переходе от алгебраического способа к геометрическому одному и тому же графу могут
соответствовать различные изображения - изоморфные графы, при этом от правильного изображения
зависит, например, свойство плоской реализуемости. Для этого нужно правильно задать сам граф.
Основным способом задания графа является перечисление всех его вершин и ребер. Но такое
представление, во-первых, несимметрично (с ним трудно работать, особенно ЭВМ), во-вторых, для
указания каждого ребра нужно еще раз выписывать соответствующие вершины, что плохо с точки
зрения сжатия и хранения информации.
При задании графа таблицей составляется таблица, состоящей из п строк (вершины) и т столбцов
(ребра). На пересечении строк и столбцов пишутся соответствующие знаки, которые показывают
отношение (инцидентность) вершины и ребра. Это может быть знаки "+" и "-", числа 0,1,-1 и др.
Главным во всех способах задания графа (диаграммой, матрицей, таблицей) является указание
соответствия между множествами п вершин Vt к т ребер X-t.

Пусть дан граф G(V, X), где V= {V1, V2 …Vn} - вершины, а Х= {Х1, Х2 .,., Хm} – ребра, среди
которых могут и кратные ребра (есть вершины, которые соединяет несколько ребер).
Матрицей инцидентности данного графа будет таблица, состоящая из n строк (вершины) и т
столбцов (ребра).
При рассмотрении неориентированного графа на пересечении строк и столбцов ставится число 1,
если соответствующие вершина и ребро инцидентны и ставится число 0, они не инцидентны.
При рассмотрении ориентированного графа на пересечении строк и столбцов ставится число 1,
если из вершины выходит соответствующее ее ребро. Если в вершину входит ребро, то ставят число
-1. Если вершина не инцидентна ребру и, то ставится число 0
Очевидно, что в каждом столбце матрицы инцидентности должно быть только два ненулевых
числа, так как ребро инцидентно двум вершинам. Число ненулевых элементов каждой строки - степень
соответствующей вершины.
Матрицы инцидентности прямоугольные, если число строк и столбцов различно. Если число
вершин и ребер в графе одинаковое, то получается квадратная матрица.
Матрицу можно сделать квадратной для любого графа без кратных ребер. В таких случаях строки
и столбцы изображают вершины. На пересечении строк и столбцов ставится число 1, если
соответствующие вершины соединены ребром и ставится число 0, если вершины не соединены.
Для неориентированного графа ребра одновременно принадлежат или не принадлежат графу, так
как символизируют одно и то же ребро. Матрица смежности неориентированного графа является
симметрической и не меняется при транспонировании.
Хотя формально каждая вершина всегда смежная сама с собой, в матрице смежности мы будем
ставить 0, если у нее нет петли, и 1, если есть одна петля.
Если граф имеет матрицу смежности и не имеет петель, на главной диагонали у него всегда стоят
нули.

Рассмотрим различные способы задания для одного и того же графа.

1. <{a,b,c,d},{u,v,w,x}; {(u,a),(u,b),(v,b),(v,c),(w,c),(w,a),(x,c), (x,d)}>. Так как мы


рассматриваем только простые графы, граф нам проще определять как модель,
носителем которой является множество вершин, а отношение – бинарное отношение
смежности вершин. Тогда данный граф запишется как <{a,b,c,d}; {(a,b), (b,a),(b,c),
(c,b),(a,c),(c,a),(c,d),(d,c)}>. В таком представлении ребру соответствуют две пары
вершин (v1,v2) и (v2,v1), инцидентных данному ребру. Чтобы задать такое
представление, достаточно для каждого ребра указать двухэлементное множество
вершин – его мы и будем отождествлять с ребром. Для данного графа рёбра задаются
множеством {{a,b},{b,c},{a,c},{c,d}} и граф мы будем записывать как пару (V,E),
где V – множество вершин, а E – множество рёбер.

В дальнейшем мы будем опираться именно на второе определение графа.

2. Геометрический

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

abcd
a0110
b10 10
c1101
d00 10

4. Матрица инцидентности

uvwx
a100 0
b1 11 0
c010 1
d0 01 1

Понятие изоморфизма для графов имеет наглядное толкование. Представим рёбра


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

Пример 1 (изоморфизм). Покажем, что следующие два графа изоморфны.


Действительно, отображение a  e, b  f, c  g, d  h, являющееся изоморфизмом
легко представить как модификацию первого графа, передвигающую вершину d в центр
рисунка

Задание Составить таблицу и матрицу инцидентности для орграфа,


изображенного на рисунке, который имеет 3вершины и 4 ребра.
Ответ.
Таблица инцидентности орграфа
Вершин Ребра Матрица инцидентности
ы s t г и  1 0 1 9 
 
V1 -1 0 1 0  0 1 1 1 
 1 1 0  1
V2 0 1 -1 1  
V3 1 -1 0 -1

Задание Для графа, изображенного на рисунке записать A B


таблицу и матрицу смежности
Ответ C
Таблица смежности D
Вершин A B C D Матрица смежности
ы 0 1 0 1
A 0 1 0 1 1 0 1 0
B 1 0 1 1 0 1 1 0
C 0 1 0 0 1 1 1 0
D 1 1 0 0

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

Сетевые модели представления информации и сети.


Граф называется взвешенным или сетью, если каждому его ребру поставлено в соответствие
некоторое число (вес). Взвешенными графами могут быть схемы в электронике, электрические схемы,
карты автомобильных и железных дорог и др. Например, на картах автодорог вершины являются
населенными пунктами, ребра - дорогами, а весом - числа, равные расстоянию между населенными
пунктами.
В строительстве сетевые графы применяются для наглядного изображения некоторого комплекса
работ или производственных процессов. Ребрам графа могут соответствовать числа, означающие длину,
уклон, запланированное время и другие характеристики.
Например, последовательность работ для монтажа каркаса здания изображена в виде графа,
изображенного на рисунке
Числами обозначены технологические операции:
1 - рытье котлована;
2 - монтаж фундамента;
3 - завоз металлоконструкций;
4 - монтаж подъемного крана;
5 - монтаж каркаса здания.

На следующем рисунке изображен сетевой граф


некоторого комплекса работ в виде взвешенного графа с
указанием времени, затраченного на выполнение этой работы (в
минутах).
В основе процесса планирования лежит некоторый
сценарий, представляющий собой сеть, состоящую из вершин - пошагового описания действий и дуг -
отношений между ними. Такой граф дает возможность, сравнивая альтернативы, планировать действия
для достижения поставленной цели.
Сети широко используются в качестве моделей для представления знаний в интеллектуальных
системах. Сетевая модель представления информации основана на том, что любые знания можно
рассматривать как множества объектов (понятий) и связи между ними (отношения).
Понятия-объекты и другие элементы предметной области могут быть графически изображены в
виде вершин, а отношения между ними - в виде дуг, связывающих эти вершины. Такое графическое
представление информации (знаний) в интеллектуальных системах носит название семантических
сетей. Они являются универсальным средством для представления знаний в интеллектуальных
системах.
Понятия, входящие в сети, можно описать с помощью фрейма.
Фреймом называется минимально возможное описание сущности некоторого явления, объекта,
события или процесса. Состоит фрейм из набора стандартных единиц - слотов, содержащих
определенный минимум информации о его содержании и назначении.
Семантическая сеть в виде некоторой совокупности фреймов нуждается в указании отношения
между ее вершинами, что тоже возможно осуществить в виде слота.
Семантические сети широко применяются в информатике, например, для операций поиска по
образцу, где в виде сетей представляется база данных. Результат такого поиска можно изобразить
графом. Используются сети и для графической иллюстрации системы отношений базы данных.
Широко применяются сети для графического изображения
различных логических схем в теории автоматов, например схемы
с памятью, у которых каждый узел - функция алгебры логики
Для формального описания совокупности процессов,
протекающих одновременно, используют сети Петри. Они
представляют собой ориентированные графы, состоящие из
вершин двух видов: некоторых позиций и переходов, причем
позиции изображают кружочками, а переходы - «планками»
Сети Петри предназначены для описания действия
дискретных процессов во времени. Такие сети дают
возможность моделировать ситуации протекания параллельных
процессов, прослеживать возможные варианты их взаимодействия, выявлять нежелательные ситуации.
Также в виде сетей изображаются схемы устройств, например радиоприемника или телевизора.

6. Применение графов и сетей


Сети получили широкое практическое применение потому, что они являются естественным и
удобным способом изображения и дальнейшего анализа различных сложных систем.
Одним из первых применений сетевого изображения было создание американскими учеными
баллистических ракет "Поларис" для оснащения атомных подводных лодок военно-морского флота
США. В реализации этого грандиозного проекта участвовали 600 фирм из 48 штатов. Сам сетевой граф
содержал 10000 событий.
В основе системы планирования и управления лежат в США система "Перт", а в нашей стране –
"СПУ", широко и успешно применяющие графы, так как они позволяют обрабатывать на ЭВМ проекты
с большим количеством событий.
С помощью графов-деревьев решают задачи планирования (дерево целей, дерево переборов
вариантов).
Графы используют также для иллюстрации классификаций в различных областях знаний при
построении иерархических структур сложных систем. Такие графы часто называют блок-схемами.
Примеры блок схем
Так как иерархические структуры представляют собой подчиненные отношения (подмножества),
то графически их можно изобразить либо в виде графа-дерева, либо с помощью кругов Эйлера
Аналогично устроена любая административно-территориальная структура: республика, области,
районы, населенные пункты. По путям этих деревьев движутся информационные потоки: сверху вниз -
распоряжения, руководящие указания, снизу вверх - отчеты о работе, оперативная информация. Так как
путь от листа к корню единственный, то его можно использовать для опознания компонентов системы.
Например, почтовый адрес представляет собой «путь в дереве», аналогичный административно-
территориальному. В разделе "Кому" указывается страна, республика, область, район, населенный
пункт, улица, дом, квартира.
Аналогично классифицируют объекты в любой науке. Получаемая классификация служит
примером иерархической структуры. Например, в биологии: класс, отряд, семейство, род, вид.
Соответствующий граф содержит элементы разных уровней, корень - класс, а листья - отдельные
виды животных.
Иногда связи между объектами образуют не дерево, но все же их можно представить в виде графа.
Это бывает в тех случаях, когда, например, происходит подчинение не одному, а нескольким
независимым службам (соподчинение между собой).
В информатике иерархические структуры применяют при описании базы данных,
вычислительных сетей, сетей связи, организационных систем. С помощью графа можно графически
изображать родословные (генеалогическое дерево или древо).

Задание. Изобразить с помощью блок-схемы иерархическое представление видов


вычислительных машин. Вычислительные машины делятся на аналоговые, цифровые,
комбинированные. Цифровые машины делятся смешанные, оптоэлектрические, механические,
электронные

Бинарный поиск.
Бинарные деревья применяются в информатике для одной из самых распространенных в
прикладных науках операций - поиску. К нему прибегают, когда необходимо найти в некотором
упорядоченном массиве (множестве) определенную информацию. Например, в телефонном
справочнике - номер какого-нибудь абонента, в словаре - определенное слово, в файле - сведения о
зарплате сотрудников некоторого предприятия, сведения о зарплате отдельного работника и т.д.
Последовательный, или линейный, поиск является наиболее общим и простым методом выявления
интересующей информации: каждый элемент множества проверяется на соответствие заданным
условиям. Если множество неупорядочено, то такой процесс будет носить случайный характер. Если
множество было предварительно упорядочено (распределение по алфавиту фамилий в телефонном
справочнике, слов в словаре, распределение служащих предприятия по табельным номерам в
информации о зарплате), то удобнее использовать другой, более эффективный метод - бинарный поиск.
Бинарный поиск основан на методе половинного деления. Поиск начинается с середины
множества. Если первый же элемент удовлетворяет условию, то процесс поиска завершен, если не
удовлетворяет, то процесс продолжается в любой из половин. Если искомый элемент так и не найден, то
анализируется вторая половина до тех пор, пока не обнаружится соответствие найденного элемента
заданным условиям. Бинарные деревья необходимы, когда делается выбор одной альтернативы из двух.
Пусть надо найти дубликаты всех чисел в некотором списке. Можно применить сравнение
каждого числа с предшествующим на предмет «был - не был». Но тогда необходимо большое число
сравнений. Использование бинарных деревьев (БД) укорачивает процедуру сравнения. Считывается
новое число и помещается в узел - будущий корень нового БД. Каждое последующее число из списка
сравнивается с числом в корне БД. Если эти значения совпадают, то дубликат найден, если число
меньше корня, то процесс продолжается в правом поддереве, если больше - в левом поддереве.
Различные виды графов и деревьев находят широкое применение в учебном процессе. Поэтому
первоначальные сведения о них необходимы для успешного обучения в различных областях, так как с
их помощью часто передается учебная информация. Например, основные классы ЭВМ можно
изобразить в виде графа.
На процедуре бинарного поиска с использованием графа-дерева основана работа ЭВМ с базой
данных. Информация о базе может быть представлена несколькими способами, в том числе матричным.
Так называемые реляционные базы хранят различную информацию в форме таблиц, причем порядок
строк и столбцов задается при вводе данных. В базах возможна длительная работа с информацией, ее
реорганизация и обновление. С помощью автоматического поиска данных происходит их отбор на
основании запроса по определенным характерным признакам.
Запросы в виде сложносоставных высказываний образуются из простейших с помощью
логических связок и ряда логических операций. Все методы работы с информацией - поиск, обработка и
накопление - основаны на широком применении законов математической логики, знание которой
необходимо для понимания принципов работы вычислительных машин, различных электронных
устройств.
Логикой называют науку о законах и формах правильного мышления.
А разве можно научиться мыслить правильно? Что значит правильное и неправильное мышление?
Возможно ли постичь секреты идеально точных рассуждений?
Познакомившись с первыми разделами дискретной математики, вы, конечно, обратили внимание
на множество новых понятий и их определений.
Так ли уж важно определять новые понятия и требовать точности формулировок?
На эти и другие неожиданные вопросы попытаемся ответить в следующей главе, которая
приоткроет дверь в хранилище человеческой мудрости - первоначальные представления об основах
логики как классической, так и математической. Причем связь между логикой и математикой не
случайна: на протяжении двух с половиной тысячелетий они не только параллельно развивались, но и
обогащали друг друга. Недаром над входом в философскую школу Платона - Академию - было
начертано: «Пусть сюда не входит тот, кто не знает геометрии». Построение математики, в первую
очередь геометрии, как точной науки, имеющей достоверные выводы, дает возможность учиться на ее
примерах логически мыслить. И это делали еще древнегреческие философы. Знание законов логики,
философских законов, например диалектики, помогает при изучении самой математики, так как
способствует установлению предельно обобщенного, системного взгляда на отношения в окружающем
мире как в природе, так и в обществе.