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

Электронное пособие по дискретной математике

.pdf
Скачиваний:
58
Добавлен:
20.03.2016
Размер:
3.37 Mб
Скачать

81

3.4.4. Дано множество пунктов А={1,2,3,4,5,6,7,8}. Построить граф самой экономичной сети дорог, если прокладка дорог (1,2), (1,3), (1,4),

(1,5), (1,6), (1,7), (1,8), (2,3), (2,4), (2,5), (2,6), (2,7), (2,8), (3,4), (3,5), (3,6),

(3,7), (3,8), (4,5), (4,6), (4,7), (4,8), (5,6), (5,7), (5,8), (6,7), (6,8), (7,8) имеет соответственно стоимости, заданные множеством:

0)А={10,11,9,8,9,15,5,12,7,14,8,10,2,6,7,18,3,21,12,14,3,6,23,3,4,8,6,9}

1)А={12,10,9,8,9,13,5,19,7,12,8,10,2,6,7,18,3,21,12,14,3,6,23,5,4,7,5,7}

2)А={14,11,7,8,6,15,5,12,7,17,8,11,2,6,9,12,3,21,12,14,3,8,23,3,4,8,3,7}

3)А={15,11,9,7,9,11,5,12,9,14,8,10,2,4,7,14,3,20,11,16,3,6,22,3,5,8,4,9}

4)А={10,11,9,8,9,15,5,12,7,14,8,10,2,6,7,18,3,21,12,14,3,6,23,3,4,8,6,9}

5)А={10,12,4,9,9,12,6,12,7,14,8,10,2,6,7,18,3,21,12,14,3,6,23,3,4,8,3,8}

6)А={14,14,6,8,5,11,7,13,7,17,8,12,2,6,7,18,3,21,12,14,3,6,23,3,4,8,6,9}

7)А={10,11,9,8,9,15,5,12,7,14,8,10,3,6,5,17,2,20,12,16,3,7,24,4,6,8,7,4}

8)А={16,11,4,8,7,16,8,10,4,12,8,13,3,8,7,14,5,23,10,13,5,6,27,4,5,9,6,3}

9)А={11,15,9,8,5,15,3,11,7,16,5,10,6,8,7,17,3,25,10,13,3,4,21,3,6,7,6,9}

3.5. Эйлеровы и гамильтоновы графы

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

Эйлеровым циклом в графе называется цикл, содержащий все ребра графа. Связный граф G называется эйлеровым (см. рис. 7), если существует замкнутая цепь, проходящая через каждое его ребро только один раз. Такая цепь называется эйлеровой цепью. Если снять ограничение на замкнутость цепи, то граф называется полуэйлеровым (см. рис. 8). На рис.9 приведен

пример не эйлерова графа.

Рис.7. Эйлеров граф

Рис.8. Полуэйлеров граф

Рис.9. Не эйлеров

граф

 

 

Критерий эйлеровости графа

82

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

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

Формула Эйлера: Для всякого плоского представления связного плоского графа без перегородок число вершин (V), число ребер (E) и число граней2 с учетом бесконечной (R) связаны соотношением V – E + R = 2.

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

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

Теорема Дирака: если в простом графе с n 3 вершинами степень каждой вершины не меньше n/2, то такой граф обязательно будет гамильтоновым

(см. рис. 10).

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

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

2 Гранью в плоском представлении графа называется часть плоскости,

ограниченная простым циклом и не содержащая внутри других циклов.

 

 

83

 

 

Рис.10. Гамильтонов

Рис.11. Полугамильтонов

Рис.12. Не

гамильтонов

граф

 

граф

граф

Рассмотрим

несколько

достаточных

условий

существования

гамильтоновых циклов в графе.

1)всякий полный граф является гамильтоновым. Действительно, он содержит такой простой цикл, которому принадлежат все вершины данного графа.

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

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

Не является гамильтоновым и граф, представляющий собой простой цикл с "перекладиной", на которой расположены одна или несколько вершин

Примеры выполнения заданий

1. Каждое ребро полного графа с 11 вершинами покрашено в один из двух цветов: красный или синий. Докажите, что либо "красный", либо "синий" граф не является плоским.

Решение:

Пусть оба эти графа - плоские. Тогда у них вместе не более, чем (3 · 11 - 6) + (3 · 11 - 6) = 54 ребра. Однако в полном графе с 11 вершинами 55 ребер. Противоречие.

2.Докажите, что граф, имеющий 10 вершин, степень каждой из которых равна 5, - не плоский.

Решение:

Не выполняется неравенство 3V - 6 ≥ E.

3.Семиугольник разбит на выпуклые пяти- и шестиугольники, причем так, что каждая его вершина является вершиной по крайней мере двух

84

многоугольников разбиения. Докажите, что число пятиугольников разбиения не меньше 13.

Решение:

Докажите сначала неравенство E 3V - 6, используя то, что из каждой вершины выходит по крайней мере 3 ребра. Обозначим количество пятиугольников через a, количество шестиугольников через b.

Заметим, что 5a + 6b + 7 = 2E 6F – 12 = 6(a + b + 1) – 12. Отсюда a 13.

4. Граф задан геометрически. А) Определите, содержит ли данный граф гамильтонов цикл? Б) Выпишите гамильтонов цикл у данного графа, если он есть:

Решение:

А) да, содержит, т.к. граф – полный и не содержит перекладин и висячих вершин.

Б) гамильтонов цикл выделен сплошной линией: (1,2), (2,3), (3,4), (4,5),

(5,1) .

Задания для самостоятельного выполнения

3.5.1. Можно ли нарисовать картинки, не отрывая карандаша от бумаги и проводя каждую линию ровно один раз? Какие из них являются эйлеровыми графами?

0)

1)

2)

85

3)

4)

5)

6)

7)

8)

9)

3.5.2. Задайте граф геометрически и решите задачу:

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

0)не с него начал и не на нем закончил?

1)с него начал, но не на нем закончил?

2)с него начал и на нем закончил?

3)Дан кусок проволоки длиной 120 см. Можно ли, не ломая проволоки, изготовить каркас куба с ребром 10 см?

4)В стране Озерная 7 озер, соединенных между собой 10 непересекающимися каналами, причем от любого озера можно доплыть до любого другого. Сколько в этой стране островов?

5)Можно ли построить 3 дома, вырыть 3 колодца и соединить тропинками каждый дом с каждым колодцем так, чтобы тропинки не пересекались?

86

6)Можно ли составить решетку размером 4 4 (длина стороны клетки = 1): а) из 5 ломаных длины 8? б) из 8 ломаных длины 5?

7)В квадрате отметили 20 точек и соединили их непересекающимися отрезками друг с другом и с вершинами квадрата так, что квадрат разбился на треугольники. Сколько получилось треугольников?

8)В стране несколько городов, некоторые пары городов соединены беспосадочными рейсами одной из N авиакомпаний, причем из каждого города есть ровно по одному рейсу каждой из авиакомпаний. Известно, что из любого города можно долететь до любого другого (возможно, с пересадками). Из-за финансового кризиса был закрыт N-1 рейс, но ни в одной из авиакомпаний не закрыли более одного рейса. Докажите, что попрежнему из любого города можно долететь до любого другого.

9)В Совершенном городе шесть площадей. Каждая площадь соединена прямыми улицами ровно с тремя другими площадями. Никакие две улицы в городе не пересекаются. Из трёх улиц, отходящих от каждой площади, одна проходит внутри угла, образованного двумя другими. Начертите возможный план такого города.

3.5.3. Граф задан геометрически. Выпишите гамильтонов цикл у данного графа, если он есть:

0)

Решение: 1)

Решение:

2)

Решение: 3)

Решение:

 

 

 

87

 

 

 

 

4)

Решение:

5)

Решение:

 

 

 

 

6)

Решение:

7)

Решение:

 

 

 

 

8)

Решение:

9)

Решение:

 

 

 

 

Глава 4. Автоматы

Система A=(X;Q;Y; ; ) называется конечным автоматом,

где

 

X = {a1,…,am}

- входной алфавит с входными сигналами,

Q = {q1,…,qn}

- множество состояний,

Y = {b1,…,bp}

- выходной алфавит с выходными сигналами,

: X Q Q

- функция переходов, т.е. (x, q) Q x X; q Q,

: X Q Y

- функция выходов, т.е. (x, q) Y x X; q Q.

Существуют следующие способы задания автоматов:

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

88

(aj, qi), в которое переходит автомат из состояния qi под воздействием

входного символа aj, и значение ( aj, qi), которое при этом появляется на выходе;

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

-совокупностью четверок вида: qiaj qlap,. Если на вход автомата,

находящегося в состоянии qi, в момент времени t подается символ aj, то на выходе автомата в этот же момент времени появляется символ ap, и в следующий момент времени t+1 автомат будет находиться в состоянии ql.

-в виде системы булевых функций. Каждому qj Q взаимно-однозначно ставится в соответствие двоичная последовательность длины r -

двоичный код (q) = z1z2…zr. Аналогично каждому ai X и каждому bk Y ставим взаимно-однозначно в соответствие двоичные последовательности ( ) = x1x2…xk; (b) = y1y2…ys.В результате автомат будет задан системой булевых функций { 1, 2,…, r, 1, 2,…, s};

- в виде канонических уравнений. Если в момент времени t=1,2,… на вход автомата A=(X; Q; Y; ; ) последовательно подаются входные символы x(t) X и при этом автомат находится в состоянии q(t) Q, то под воздействием символа x(t) автомат перейдет в новое состояние q(t+1) Q и выдаст выходной сигнал y(t). Величины x(t), y(t), q(t), q(t+1)

связаны между собой следующими каноническими уравнениями:

q( t 1 ) ( x( t );q( t )),

t 1,2,...,n

 

y( t ) ( x( t );q( t )),

 

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

4.1. Задачи анализа автоматов

Задача анализа состоит в том, чтобы по заданному описанию автомата (или по неполным данным об автомате и его функционированию) задать его поведение и установить те или иные его свойства.

Примеры выполнения заданий

89

1. Работа автомата задана таблично и выдает на выходе символ “*”, всякий раз, когда во входном алфавите встречается цепочка из комбинаций символов 0, 1, 2. Опишите работу автомата с помощью совокупности четверок. X = {0, 1, 2}, Y = {0, 1, 2} и Q = {q0, q1, q2, q3}.

Определите, что распознает автомат.

Символы

 

С о с т о я н и я

 

алфавита

q0

q1

q2

q3

0

q1,1

q2,1

q0,0

q0,0

1

q0,1

q0,1

q0,1

q0,1

2

q0,2

q0,2

q3,1

q0,*

Решение: q00 q11

q10 q21

q20 q00

q30 q00

q01 q01

q11 q01

q21 q01

q31 q01

q02 q02

q12 q02

q22 q31

q32 q0*

Автомат распознает цепочку вида: 1111*

2. Описание автомата - двоичного сумматора последовательного действия, задано с помощью совокупности четверок. X= {00, 01, 10, 11}, Y = {0, 1}, Q = {q0, q1}. Опишите работу автомата с помощью диаграммы.

q0<0,0> → q00

q1<0,0> → q01

q0<0,1> → q01

q1<0,1> → q10

q0<1,0> → q01

q1<1,0> → q10

q0<1,1> → q10

q1<1,1> → q11

Решение. (00,0) (01,1) (10,1)

(01,0) (10,0) (11,1)

 

 

(11,0)

q

 

q

 

 

q

(00,1)

Задания для самостоятельного выполнения

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

90

последовательности алфавита {a, b} встречается цепочка символов. Определите, что распознает автомат. Опишите работу автомата

таблично.

 

 

 

0)

 

 

 

q0b → q0b

q1b → q2b

q2b → q3b

q3b → q0b

q0a → q1a

q1a → q0b

q2a → q0b

q3a → *

1)

 

 

 

q0b → q1b

q1b → q0b

q2b → q3b

q3b → q0b

q0a → q0b

q1a → q2a

q2a → q0b

q3a → *

2)

 

 

 

q0a → q1a

q1a → q2a

q2a → q0a

q3a → q0a

q0b → q0a

q1b → q0a

q2b → q3b

q3b → *

3)

 

 

 

q0b → q1b

q1b → q2b

q2b → q0b

q3b → q0b

q0a → q0b

q1a → q0b

q2a → q3a

q3a → *

4)

 

 

 

q0a → q1a

q1a → q2a

q2a → q3a

q3a → q0a

q0b → q0a

q1b → q0a

q2b → q0a

q3b → *

5)

 

 

 

q0b → q1b

q1b → q2b

q2b → q3b

q3b → q0b

q0a → q0b

q1a → q0b

q2a → q0b

q3a → *

6)

 

 

 

q0a → q0a

q1a → q0a

q2a → q0a

q3a → q0a

q0b → q1b

q1b → q2b

q2b → q3b

q3b → *

7)

 

 

 

q0b → q0b

q1b → q0b

q2b → q0b

q3b → q0b

q0a → q1a

q1a → q2b

q2a → q3b

q3a → *

8)

 

 

 

q0a → q1a

q1a → q0a

q2a → q3a

q3a → q0a

q0b → q0b

q1b → q2b

q2b → q0b

q3b → *

9)

 

 

 

q0a → q0a

q1a → q2a

q2a → q3b

q3a → q0a

q0b → q1b

q1b → q0a

q2b → q0a

q3b → *

Решение:

Символы

 

 

С о с т о я н и я

алфавита

q0

q1

 

q2

q3

a

 

 

 

 

 

b