Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая по ДМ.docx
Скачиваний:
11
Добавлен:
02.05.2015
Размер:
893.91 Кб
Скачать

Министерство образования и науки рф

Сибирская государственная автомобильно-дорожная академия

(СибАДИ)

Факультет ИСУ

Кафедра КИАС

КУРСОВАЯ РАБОТА

по дисциплине «Дискретная математика»

на тему: «Алгоритмы дискретной математики»

Выполнила:

студентка группы ПИб-11И1

Окунев С.A.

Проверила: доцент

Палий И.А.

Омск-2012

Содержание

Глава 2. Логические исчисления 13

Построение таблиц истинности: 13

Метод от противного: 14

Глава 3. Задание по программированию 18

Листинг программы: 21

Задание 1. Алгоритм Дейкстры: Определить кратчайшие пути от вершины 1 до всех остальных вершин графа, используя алгоритм Дейкстры. Построить дерево кратчайших путей. Отрицательные длины в матрице заменить положительными (матрица 1).

Матрица 1

 

1

2

3

4

5

6

7

8

9

10

1

6

7

1

2

3

2

2

-1

10

3

5

3

2

3

4

7

7

-2

2

5

5

5

-2

2

6

7

5

3

7

3

5

2

3

8

2

10

9

9

5

10

7

3

7

10

7

3

6

1

8

Шаг 1: p = 1

d(1) = 0

Шаг 2: p = 10

d(2) = min(∞; 0 + 6) = 6

d(8) = min(∞; 0 + 7) = 7

d(10) = min(∞; 0 + 1) = 1

Шаг 3: p = 7

d(4) = min(∞; 1 + 7) = 8

d(5) = min(∞; 1 + 3) = 4

d(6) = min(∞; 1 + 6) = 7

d(7) = min(∞; 1 + 1) = 2

d(9) = min(∞; 1 + 8) = 9

Шаг 4: p = 5

d(5) = min(4; 2 + 3) = 4

d(8) = min(7; 2 + 5) = 7

d(9) = min(9; 2 + 2) = 4

Шаг 5: p = 9

d(2) = min(6; 5 + 4) = 6

d(4) = min(8; 4 + 2) = 6

d(4) = min(7; 4 + 2) = 6

d(9) = min(4; 4 + ∞) = 4

Шаг 6: p = 2

d(2) = min(6; 4 + 5) = 6

d(8) = min(7; 4 + 3) = 7

Шаг 7: p = 4

d(3) = min(∞; 6 + 2) = 8

d(4) = min(6; 6 + 2) = 6

Шаг 8: p = 6

d(3) = min(8; 6 + 7) = 8

d(8) = min(7; 6 + 2) = 7

d(6) = min(6; 6 + 2) = 6

Шаг 9: p = 8

d(8) = min(7; 6 + ∞) = 7

Шаг 10: p = 3

d(3) = min(8; 7 + ∞) = 8

1

2

3

4

5

6

7

8

9

10

P

1

0+

p=1

2

0+

6

7

1+

p=10

3

0+

6

8

4

7

2+

7

9

1+

p=7

4

0+

6

8

4+

7

2+

7

4

1+

p=5

5

0+

6

6

4+

6

2+

7

4+

1+

p=9

6

0+

6+

6

4+

6

2+

7

4+

1+

p=2

7

0+

6+

8

6+

4+

6

2+

7

4+

1+

p=4

8

0+

6+

8

6+

4+

6+

2+

7

4+

1+

p=6

9

0+

6+

8

6+

4+

6+

2+

7+

4+

1+

p=8

10

0+

6+

8+

6+

4+

6+

2+

7+

4+

1+

p=3

9

Дерево:

7

5

6

4

8

10

1 7

2 1 6

2

3

3

2

2 2

Задание 2. Алгоритм Беллмана: Определить кратчайшие пути от вершины 1 до всех остальных вершин графа, пользуясь алгоритмом Беллмана. Построить дерево кратчайших путей (матрица 1).

Матрица 1

 

1

2

3

4

5

6

7

8

9

10

1

6

7

1

2

3

2

2

-1

10

3

5

3

2

3

4

7

7

-2

2

5

5

5

-2

2

6

7

5

3

7

3

5

2

3

8

2

10

9

9

5

10

7

3

7

10

7

3

6

1

8