Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Элементы дискретной математики. Учебно-методическое пособие к выполнению расчетно-графической работы

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Рассмотрим графический метод минимизации булевой функ-
, , f x y z
3
E
, , f x y z
3
1 2 3 1 2 3
, , | , , 1M E f
0, 0, 0 , 0, 0, 1

xyz xyz xy z z xy
3
E
ции
Двоичным набором из трех элементов (см. рис. 1) можно вза-
имно однозначно сопоставить вершины трехмерного единичного куба жеством Mвершин куба, на которых еѐ значение равно 1:
юнкции. Например, элементарная конъюнкция xyсоответствует ребру
Дано подмножество M вершин куба бер, чтобы они охватывали (покрывали) все вершины M и число таких ребер минимально.
. При этом булева функция
Ребрам куба соответствуют двучленные элементарные конъ-
    .
в классе ДНФ.
задается подмно-
.
, поскольку
.
. Найти такой набор ре-
31
3.2. Элементы теории графов
12
, ,...,
n
A a a a
, G A R
1 1 2 2 1
, , , ,..., , ,
k k k
V r V r V r V
1 2 1
, ,... , ,
kk
V V V V A
12
, ,...,
k
r r r R
1
V
1kV
1
,
i i i
r V V
1, 2, ..., ik
3.2.1. Графы. Определения
Пусть задано некоторое конечное множество
, элементы которого называются вершинами.
Образуем из него множество R, состоящее из неупорядоченных пар

. Пара 
шины ai и aj, которые называются концами этого ребра.
Система 󰇛󰇜 называется конечным графом. Число
вершин графа G называется его порядком. Граф порядка n, име­ющий m ребер, называется (n, m)-графом. Ребро с совпадающи­ми концами называется петлей. Граф без петель называется про-
стым. Подграфом графа 󰇛󰇜 называется граф  󰇛
где  – подмножество множества A; – подмножество множества R. Если при этом графа G. Две вершины называются смежными, если они являются концами какого-нибудь ребра графа. Два ребра называются смежными, если они имеют общий конец.
называется ребром, соединяющим вер-
, то
называется остовным подграфом
3.2.2. Маршруты

󰇜,
Пусть Последовательность
где том, соединяющим вершины
.
– граф.
, (3.2.2.1)
,
32
, называется маршру-
и
, если
,
Маршрут (3.2.2.1) кратко называют (V1, V
1 2 1
, ,... , ,
kk
V V V V
12
, ,...,
k
r r r
1 2 2 3 1
, , , ,..., ,
kk
V V V V V V
11k
VV
12
, ,...,
n
A a a a
, 1,
ij
P p i j n
,
ij i j
p p a a
)-маршрутом.
k+1
Граф называется связным, если любые две его несовпадающие вершины соединены маршрутом.
Маршрут (3.2.2.1) можно задать последовательностью вер-
шин
или последовательностью ребер
Число ребер в маршруте называется его длиной.
Маршрут (3.2.2.1) называется цепью, если все его ребра
различны, и простой цепью, если
все его вершины, кроме, возможно, первой и последней, различны.
Маршрут называется циклическим, если
. Цикличе-
ская цепь называется циклом.
3.2.3. Расстояние в графах
Пусть 󰇛󰇜 – связный граф, U и V – две его несовпада-
ющие вершины.
Длина кратчайшей цепи, соединяющей вершины U и V графа,
называется расстоянием между вершинами U и V и обозначается
p(U, V). Расстояние от вершины U до U считается равным нулю.
.
Если
симметричная.
, то матрица
, в которой
, называется матрицей расстояний. Матрица P
33
3.2.4. Взвешенные графы
ij
w
, 1,
ij
W w i j n
12
, ,...,
n
A a a a
1 1 2 2 1
, , , ,..., , ,
k k k
V d V d V d V
1 2 1
, ,... , ,
kk
V V V V A
12
, ,...,
k
d d d D
1
V
1kV
1
,
i i i
d V V
1, 2, ..., ik
Для многих практических задач удобным является понятие
взвешенного графа. Граф () называется взвешенным, ес-
ли каждому его ребру  ственное число
, называемое весом этого ребра.
Для взвешенного графа определяется матрица весов
. В зависимости от тех или иных приложе-
ний, веса несуществующих ребер считаются равными нулю или бесконечности.
3.2.5. Ориентированные графы
Пусть задано некоторое конечное множество
, элементы которого называются вершинами.
Образуем из него множество D, состоящее из упорядоченных пар (ai, aj). Пара (ai, aj) называется дугой, вершина ai считается нача-
лом, а вершина aj – концом дуги.
Система () называется конечным ориентированным
графом или орграфом.
Последовательность
поставлено в соответствие веще-
, (3.2.5.1)
где том, соединяющим вершины
,
и
, называется маршру-
, если
,
.
34
Маршрут (3.2.5.1) называется путем, если все его дуги различ-
11k
VV
ij
w
, 1,
ij
W w i j n
1, 2, ..., in
, 1,
ij
W w i j n
ны. Путь называется контуром, если
. Путь называется
связным, если соответствующий ему неорграф является связным.
Вершина V называется достижимой из вершины U, если су-
ществует (U, V)-путь.
3.2.6. Расстояние в орграфах
Орграф () называется взвешенным, если каждой его
дуге (ai, aj) поставлено в соответствие действительное число называемое весом этой дуги.
Для взвешенного орграфа () определяется матрица
,
весов
, в которой веса несуществующих дуг
считаются равными бесконечности. Матрица W квадратная поряд­ка n, где n – порядок орграфа. Заметим, что w
= 0,
ii
поскольку рассматриваем орграфы без петель.
Весом (или длиной) маршрута (3.2.5.1) во взвешенном ор-
графе G называется сумма весов дуг, входящих в этот маршрут.
Взвешенным расстоянием между вершинами U и V называет­ся наименьший из весов маршрутов, связывающих U и V. (U, V) – маршрут, вес которого совпадает со взвешенным расстоянием между U и V, называется кратчайшим.
3.2.7. Нахождение кратчайших маршрутов
Пусть () – взвешенный орграф, имеющий n вершин
и матрицу весов
. Причем веса несуществу-
ющих дуг считаем сколь угодно большими и обозначаем симво­лом . Для любых двух выделенных вершин требуется найти
35
,
взвешенное расстояние между ними и найти кратчайший марш-
0
1, 2, ..., Tn
p
a
(1) (1) (1) (1)
12
, ,....,
n
L l l l
(1)
, 1, 2, ...,
j pj
l w j n
 
10
\T T p
( ) ( ) ( ) ( )
12
, ,....,
k k k k
n
L l l l
k
T
2k 
( ) ( )
min |
kk
s j k
l l j T
s
a
 
1\kk
T T s
12
, , ...,
s s sn
w w w
s
a
()
1
,
k
sj s k
w l j T

()k
L
( 1) ( 1) ( 1) ( 1)
12
, ,....,
k k k k
n
L l l l
рут.
Перенумеруем вершины графа и образуем множество номе­ров вершин
. Для решения сформулированной
задачи рассмотрим алгоритм Дейкстры.
Шаг 1. Фиксируем вершину
ных расстояний
где
и множество
, образуем строку взвешен-
,
.
Шаг k+1. Пусть на шаге k определена строка взвешенных расстояний
1) Находим
образуем множество
и множество
, выбираем вершину
.
,
2) Выписываем из матрицы весов W строку
соответствующую вершине
3) Вычисляем суммы
ветствующими элементами строки
.
, сравниваем их с соот-
и берем наименьший эле-
мент в каждой такой паре.
4) Определяем строку взвешенных расстояний
.
и
,
󰇛
󰇜

где
Получили рекуррентное соотношение.
󰇛󰇜
󰇱
󰇡
если 
󰇛󰇜
 
,


󰇛󰇜
󰇢если
36

На шаге n образуется строка
( ) ( ) ( ) ( )
12
, ,....,
n n n n
n
L l l l
p
a
взве-
шенных расстояний от фиксированной вершины
до всех
остальных вершин графа.
Алгоритм Дейкстры позволяет найти кратчайший маршрут от вершины U до любой вершины V.
3.2.8. Задача о минимальном остовном
дереве взвешенного графа
Абстрактная постановка многих задач, встречающихся на практике, таких, например, как построение сетей связи, газопро­водов, линий электропередачи с минимальной стоимостью, при­водит к задаче о минимальном остовном дереве взвешенного графа.
Пусть () – взвешенный граф. Дерево – это связный
граф, не содержащий циклов. Подграф
 (

) графа  
 () называется остовным подграфом графа, если 
(остов графа G).
Если G связный граф, то остов  графа G является деревом, которое называется остовным деревом графа G.
Остовное дерево взвешенного графа с минимальной суммой весов принадлежащих ему ребер называется минимальным остовным деревом этого графа.
Рассмотрим один из способов построения минимального остовного дерева – так называемый  
Шаг 1. Выбираем в графе G произвольную вершину x1 и сравниваем веса всех ребер, инцидентных этой вершине. Ребро
󰇟
1
󰇠
с минимальным весом включаем в искомое дерево. В ре-
2
зультате этого в дерево добавляется вершина x2.
37
Шаг 2. Рассматриваем теперь две вершины x1 и x2. Просмат­риваем все ребра, инцидентные вершинам x1 и x2, кроме ребра, включено в дерево на шаге 1. Выбираем из них ребро с мини­мальным весом и включаем его в будущее дерево. Пусть x3 – дру­гая вершина выбранного ребра. В результате в дерево добавляет­ся вершина x3.
Шаг 3. Рассматриваем три вершины x1, x2, x3. Просматриваем все ребра, инцидентные вершинам x1, x2, x3 кроме ребер, вклю­ченных в дерево на шаге 1 и шаге 2. Выбираем из них ребро с минимальным весом и включаем его в частично построенное де­рево. В дерево добавляется вершина x4.
Дальнейшая процедуры такова: алгоритм прекращает работу после того, как будут пройдены все вершины графа.
Доказано, что алгоритм ближайшего соседа приводит к ми­нимальному остовному дереву.
38
3.3. Машина Тьюринга
01
, ,...,
n
A a a a
0
a
...
...
r
a
jap
a
YY
Г
лента
головка
управляющее
устройство
3.3.1. Описание машины Тьюринга
Машина Тьюринга является строгим уточнением понятия ал­горитма. Переход от интуитивного понятия алгоритма к точному понятию машины Тьюринга позволяет решить вопрос алгорит­мической (машинной) разрешимости той или иной проблемы.
Содержательно машина Тьюринга представляется как неко­торое устройство, состоящее из трех основных узлов (см. рис. 2).
Рис. 2
1. Лента бесконечная в обе стороны и разделенная на клетки
(ячейки). Бесконечность понимается в том смысле, что в каждый момент времени она имеет конечную длину, и вместе с тем к ней всегда как слева, так и справа могут быть добавлены новые клет­ки. Все клетки ленты заполнены буквами (по одной в клетке) из
алфавита
,
играет роль пустого символа (ес-
ли в клетке записано a0, то в этой клетке ничего не записано). Предполагается, что вся лента всегда заполнена буквами a0, за исключением тех клеток, где записаны какие-либо другие буквы из A.
2. Считывающая – записывающая головка в каждой данный
момент времени находится на одной из клеток ленты.
39
3. Управляющее устройство в каждый момент времени нахо-
0 1 2
, , ,...,
m
Q q q q q
дится в одном из состояний, образующих конечное множество
– множество состояний машины, состояние
q1 – начальное состояние, q0 – заключительное состояние. В конце работы машина Тьюринга всегда переходит в состояние q0. Маши­на работает в дискретные моменты времени (такты работы).
4. Функционирование машины Тьюринга происходит следу-
ющим образом:
– головка считывает букву aj, находящуюся в клетке, на ко­торой в этот момент она находится;
– в соответствии со считанной буквой aj и состоянием qi ма­шины головка записывает в эту клетку букву ak;
– головка сдвигается на одну клетку вправо (П) или влево (Λ) либо остается на месте (Н);
– управляющее устройство переходит в состояние qp (воз­можно совпадающее с предыдущим);
– функционирование машины прекращается, если очередное сочетание машины заключительное q0;
– перед началом работы (t = 0) машина находится в началь­ном состоянии q1.
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]