Дискретная математика

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

Рубрика Математика
Вид контрольная работа
Язык русский
Дата добавления 16.01.2016
Размер файла 29,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ

УПРАВЛЕНИЯ И ЭКОНОМИКИ

Институт экономики, менеджмента и информационных технологий

Кафедра информационных технологий и математики

КОНТРОЛЬНАЯ РАБОТА

«Дискретная математика»

Выполнил студент

2573/3-2 группы 3 курса

заочного отделения

Горбунов Алексей Дмитриевич

Проверил: Гармашов А.В.

Санкт-Петербург 2016

1. Задача коммивояжера

Возьмем в качестве произвольного маршрута:

X0 = (1,2);(2,3);(3,4);(4,5);(5,6);(6,1)

Тогда F(X0) = 30 + 26 + 29 + 27 + 19 + 21 = 152

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

di = min(j) dij

i j

1

2

3

4

5

6

di

1

M

30

25

27

39

18

18

2

31

M

26

25

30

45

25

3

28

27

M

29

21

43

21

4

41

19

21

M

27

25

19

5

29

23

25

31

M

19

19

6

21

40

35

16

19

M

16

Затем вычитаем di из элементов рассматриваемой строки. В связи с этим во вновь полученной матрице в каждой строке будет как минимум один ноль.

i j

1

2

3

4

5

6

1

M

12

7

9

21

0

2

6

M

1

0

5

20

3

7

6

M

8

0

22

4

22

0

2

M

8

6

5

10

4

6

12

M

0

6

5

24

19

0

3

M

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

dj = min(i) dij

i j

1

2

3

4

5

6

1

M

12

7

9

21

0

2

6

M

1

0

5

20

3

7

6

M

8

0

22

4

22

0

2

M

8

6

5

10

4

6

12

M

0

6

5

24

19

0

3

M

dj

5

0

1

0

0

0

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

i j

1

2

3

4

5

6

1

M

12

6

9

21

0

2

1

M

0

0

5

20

3

2

6

M

8

0

22

4

17

0

1

M

8

6

5

5

4

5

12

M

0

6

0

24

18

0

3

M

Сумма констант приведения определяет нижнюю границу H:

H = ?di + ?dj

H = 18+25+21+19+19+16+5+0+1+0+0+0 = 124

Элементы матрицы dij соответствуют расстоянию от пункта i до пункта j.

Поскольку в матрице n городов, то D является матрицей nxn с неотрицательными элементами dij ? 0

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

Длина маршрута определяется выражением:

F(Mk) = ?dij

Причем каждая строка и столбец входят в маршрут только один раз с элементом dij.

Шаг №1.

Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).

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

i j

1

2

3

4

5

6

1

M

12

6

9

21

0(6)

2

1

M

0(1)

0(0)

5

20

3

2

6

M

8

0(5)

22

4

17

0(5)

1

M

8

6

5

5

4

5

12

M

0(4)

6

0(1)

24

18

0(0)

3

M

d(1,6) = 6 + 0 = 6; d(2,3) = 0 + 1 = 1; d(2,4) = 0 + 0 = 0; d(3,5) = 2 + 3 = 5; d(4,2) = 1 + 4 = 5; d(5,6) = 4 + 0 = 4; d(6,1) = 0 + 1 = 1; d(6,4) = 0 + 0 = 0;

Наибольшая сумма констант приведения равна (6 + 0) = 6 для ребра (1,6), следовательно, множество разбивается на два подмножества (1,6) и (1*,6*).

Исключение ребра (1,6) проводим путем замены элемента d16 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (1*,6*), в результате получим редуцированную матрицу.

i j

1

2

3

4

5

6

1

M

12

6

9

21

M

2

1

M

0

0

5

20

3

2

6

M

8

0

22

4

17

0

1

M

8

6

5

5

4

5

12

M

0

6

0

24

18

0

3

M

Нижняя граница гамильтоновых циклов этого подмножества:

H(1*,6*) = 124 + 6 = 130

Включение ребра (1,6) проводится путем исключения всех элементов 1-ой строки и 6-го столбца, в которой элемент d61 заменяем на М, для исключения образования негамильтонова цикла.

В результате получим другую сокращенную матрицу (5 x 5), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

i j

1

2

3

4

5

di

2

1

M

0

0

5

0

3

2

6

M

8

0

0

4

17

0

1

M

8

0

5

5

4

5

12

M

4

6

M

24

18

0

3

0

dj

1

0

0

0

0

5

Сумма констант приведения сокращенной матрицы:

?di + ?dj = 5

Нижняя граница подмножества (1,6) равна:

H(1,6) = 124 + 5 = 129 ? 130

Поскольку нижняя граница этого подмножества (1,6) меньше, чем подмножества (1*,6*), то ребро (1,6) включаем в маршрут с новой границей H = 129

Шаг №2.

Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).

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

i j

1

2

3

4

5

di

2

0(0)

M

0(1)

0(0)

5

0

3

1

6

M

8

0(4)

1

4

16

0(1)

1

M

8

1

5

0(0)

0(0)

1

8

M

0

6

M

24

18

0(3)

3

3

dj

0

0

1

0

3

0

d(2,1) = 0 + 0 = 0; d(2,3) = 0 + 1 = 1; d(2,4) = 0 + 0 = 0; d(3,5) = 1 + 3 = 4; d(4,2) = 1 + 0 = 1; d(5,1) = 0 + 0 = 0; d(5,2) = 0 + 0 = 0; d(6,4) = 3 + 0 = 3;

Наибольшая сумма констант приведения равна (1 + 3) = 4 для ребра (3,5), следовательно, множество разбивается на два подмножества (3,5) и (3*,5*). Исключение ребра (3,5) проводим путем замены элемента d35 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (3*,5*), в результате получим редуцированную матрицу.

i j

1

2

3

4

5

di

2

0

M

0

0

5

0

3

1

6

M

8

M

1

4

16

0

1

M

8

0

5

0

0

1

8

M

0

6

M

24

18

0

3

0

dj

0

0

0

0

3

4

Нижняя граница гамильтоновых циклов этого подмножества:

H(3*,5*) = 129 + 4 = 133

Включение ребра (3,5) проводится путем исключения всех элементов 3-ой строки и 5-го столбца, в которой элемент d53 заменяем на М, для исключения образования негамильтонова цикла.

В результате получим другую сокращенную матрицу (4 x 4), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

i j

1

2

3

4

di

2

0

M

0

0

0

4

16

0

1

M

0

5

0

0

M

8

0

6

M

24

18

0

0

dj

0

0

0

0

0

Сумма констант приведения сокращенной матрицы: ?di + ?dj = 0

Нижняя граница подмножества (3,5) равна: H(3,5) = 129 + 0 = 129 ? 133

Поскольку нижняя граница этого подмножества (3,5) меньше, чем подмножества (3*,5*), то ребро (3,5) включаем в маршрут с новой границей H = 129 Шаг №3. Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).

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

i j

1

2

3

4

di

2

0(0)

M

0(1)

0(0)

0

4

16

0(1)

1

M

1

5

0(0)

0(0)

M

8

0

6

M

24

18

0(18)

18

dj

0

0

1

0

0

d(2,1) = 0 + 0 = 0; d(2,3) = 0 + 1 = 1; d(2,4) = 0 + 0 = 0; d(4,2) = 1 + 0 = 1; d(5,1) = 0 + 0 = 0; d(5,2) = 0 + 0 = 0; d(6,4) = 18 + 0 = 18;

Наибольшая сумма констант приведения равна (18 + 0) = 18 для ребра (6,4), следовательно, множество разбивается на два подмножества (6,4) и (6*,4*).

Исключение ребра (6,4) проводим путем замены элемента d64 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (6*,4*), в результате получим редуцированную матрицу.

i j

1

2

3

4

di

2

0

M

0

0

0

4

16

0

1

M

0

5

0

0

M

8

0

6

M

24

18

M

18

dj

0

0

0

0

18

Сумма констант приведения сокращенной матрицы:

?di + ?dj = 0

Нижняя граница подмножества (6,4) равна:

H(6,4) = 129 + 0 = 129 ? 147

Чтобы исключить подциклы, запретим следующие переходы: (4,1),

Поскольку нижняя граница этого подмножества (6,4) меньше, чем подмножества (6*,4*), то ребро (6,4) включаем в маршрут с новой границей H = 129

Шаг №4.

Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).

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

i j

1

2

3

di

2

0(0)

M

0(1)

0

4

M

0(1)

1

1

5

0(0)

0(0)

M

0

dj

0

0

1

0

d(2,1) = 0 + 0 = 0; d(2,3) = 0 + 1 = 1; d(4,2) = 1 + 0 = 1; d(5,1) = 0 + 0 = 0; d(5,2) = 0 + 0 = 0;

Наибольшая сумма констант приведения равна (0 + 1) = 1 для ребра (2,3), следовательно, множество разбивается на два подмножества (2,3) и (2*,3*). редукция матрица маршрут гамильтоновой

Исключение ребра (2,3) проводим путем замены элемента d23 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (2*,3*), в результате получим редуцированную матрицу.

i j

1

2

3

di

2

0

M

M

0

4

M

0

1

0

5

0

0

M

0

dj

0

0

1

1

Нижняя граница гамильтоновых циклов этого подмножества:

H(2*,3*) = 129 + 1 = 130

Включение ребра (2,3) проводится путем исключения всех элементов 2-ой строки и 3-го столбца, в которой элемент d32 заменяем на М, для исключения образования негамильтонова цикла.

В результате получим другую сокращенную матрицу (2 x 2), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

i j

1

2

di

4

M

0

0

5

0

0

0

dj

0

0

0

Сумма констант приведения сокращенной матрицы:

?di + ?dj = 0

Нижняя граница подмножества (2,3) равна:

H(2,3) = 129 + 0 = 129 ? 130

Поскольку нижняя граница этого подмножества (2,3) меньше, чем подмножества (2*,3*), то ребро (2,3) включаем в маршрут с новой границей H = 129

В соответствии с этой матрицей включаем в гамильтонов маршрут ребра (4,2) и (5,1).

В результате по дереву ветвлений гамильтонов цикл образуют ребра:

(1,6), (6,4), (4,2), (2,3), (3,5), (5,1), Длина маршрута равна F(Mk) = 129

Задача на нахождение кратчайшего пути

Вершина

Окончательная метка

Кратчайший путь

Кратчайшее расстояние L0i

X2

9;х1

х1---х2

9

X3

8;х4

х1---х4---х3

8

X4

5;х1

х1---х4

5

X5

14;х4

х1---х4---х5

14

X6

13;х2

х1---х4---х6

13

X7

11;х3

х1---х4---х3---х7

11

X8

20;х4

х1---х4---х8

20

X9

13;х7

х1---х4---х3---х7---х9

13

X10

17;х7

х1---х4---х3---х7---х10

17

Размещено на http://www.allbest.ru/

Размещено на Allbest.ru

...

Подобные документы

  • Основные понятия и свойства эйлеровых и гамильтоновых цепей и циклов в теории графов. Изучение алгоритма Дейкстры и Флойда для нахождения кратчайших путей в графе. Оценки для числа ребер с компонентами связанности. Головоломка "Кенигзберзьких мостов".

    курсовая работа [2,4 M], добавлен 08.10.2014

  • Доказательство тождества с помощью диаграмм Эйлера-Венна. Определение вида логической формулы с помощью таблицы истинности. Рисунок графа G (V, E) с множеством вершин V. Поиск матриц смежности и инцидентности. Определение множества вершин и ребер графа.

    контрольная работа [463,0 K], добавлен 17.05.2015

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

    курсовая работа [951,4 K], добавлен 22.01.2014

  • Алгоритм упорядочивания множества. Определение декартового произведения, его графическая интерпретация. Обратное декартово произведение множеств. Проецирование на оси координат и на координатные плоскости. Область определения и область значений.

    лекция [126,5 K], добавлен 18.12.2013

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

    контрольная работа [1,1 M], добавлен 04.05.2010

  • Задача о ханойской башне. Задача о разрезании пиццы. Задача Иосифа Флавия. Дискретная математика. Теория возвратных последовательностей - особая глава математики. Исчисление конечных разностей. Последовательности.

    дипломная работа [276,8 K], добавлен 08.08.2007

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

    контрольная работа [378,6 K], добавлен 10.02.2009

  • Решение системы линейных уравнений по правилу Крамера и с помощью обратной матрицы. Нахождение ранга матрицы. Вычисление определителя с помощью теоремы Лапласа. Исследование на совместимость системы уравнений, нахождение общего решения методом Гауса.

    контрольная работа [97,3 K], добавлен 24.05.2009

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

    методичка [29,4 M], добавлен 07.06.2009

  • Общая характеристика распространенных проблем поиска величины максимального потока в сети при помощи алгоритма Форда-Фалкерсона. Знакомство с задачами по дискретной математике. Рассмотрение особенностей и этапов постройки дерева кратчайших расстояний.

    контрольная работа [740,3 K], добавлен 09.03.2015

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

    презентация [36,1 K], добавлен 16.09.2013

  • Определение понятия множеств Г. Кантора, их примеры и обозначения. Способы задания, включение и равенство множеств, операции над ними: объединение, пересечения, разность, дополнение, их определение и наглядное представление на диаграмме Эйлера-Венна.

    реферат [70,9 K], добавлен 11.03.2009

  • Классификация способов нахождения обратной матрицы, полученной в системе MathCAD с помощью миноров и алгебраических дополнений: разбиения ее на клетки и на произведение 2-х треугольных матриц; с помощью модели Гаусса. Вычисление погрешности методов.

    лабораторная работа [380,9 K], добавлен 31.10.2012

  • Изучение понятий, действий (сумма, разность, произведение), свойств квадратной матрицы. Определение и признаки ранга матрицы. Анализ методов окаймляющих миноров и преобразований. Расчет системы линейных уравнений согласно методам Крамера и матричному.

    реферат [178,9 K], добавлен 01.02.2010

  • Определение матрицы, решение систем уравнений методом Гаусса и по формулам Крамера. Определение параметров треугольника, его графическое построение. Задача приведения уравнения кривой второго порядка к каноническому виду и ее построение.

    контрольная работа [126,8 K], добавлен 08.05.2009

  • Математика и информатика. Решение системы линейных алгебраических уравнений методом Крамера. Работа в текстовом редакторе MS WORD. Рисование с помощью графического редактора. Определение вероятности. Построение графика функции с помощью MS Excel.

    контрольная работа [443,3 K], добавлен 10.01.2009

  • Алгоритм решения задач по теме "Матрицы". Исследование на совместность системы линейных алгебраических уравнений, пример их решения по правилу Крамера. Определение величины угла при вершине в треугольнике, длины вектора. Исследование сходимости рядов.

    контрольная работа [241,6 K], добавлен 19.03.2011

  • Конспект лекций по дискретной математике

    курс лекций [73,1 K], добавлен 07.08.2007

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

    реферат [15,8 K], добавлен 03.02.2009

  • Вычисление и построение матрицы алгебраических дополнений. Решение системы линейных уравнений по формулам Крамера, с помощью обратной матрицы и методом Гаусса. Определение главной и проверка обратной матрицы. Аналитическая геометрия на плоскости.

    контрольная работа [126,9 K], добавлен 20.04.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.