Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Элементы дискретной математики. Учебно-методическое пособие к выполнению расчетно-графической работы
.pdf
Рассмотрим графический метод минимизации булевой функ-
, , 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
