Курсовая работа: Алгоритмынахождениякратчайшихпутейвграфе

Курсовая работа: Алгоритмынахождениякратчайшихпутейвграфе




👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Государственное образовательное учреждение
Высшее профессиональное образование
Донской государственный технический университет кафедра ПОВТ и АС
Отчет по курсовой работе по курсу «Алгоритмы, построение и анализ»
на темы«Алгоритмы нахождения кратчайших путей в графе.»
Введение……………………………………………………………….…………………………………………………………………….. 3
Постановка задачи…………….……………………………….……………………………………………………………………….. 5
Алгоритмизация………………….………….…………………………………………………………………………………………… 6
Выполнение поставленной задачи…………....………………………………………………………………………………. 9
Ручной просчёт………….…………………………………………………………………………………………………….. 9
Тест программы………………………..……………………………………………………………………………………. 11
Код программы…………………….…….…………………………………………………………………………………………….. 13
Приложение……………………………………..……………………………………………………………………………………….. 16
Список литературы……………………………………………………………………………………………………………………. 18 ВВЕДЕНИЕ.
Граф - исключительно популярный объект, минимально удаленный как от своего целостного пространственного образа, так и от описания по всем правилам теории множеств. Всякий раз, когда с задачей удается связать граф, обсуждение резко упрощается и большие фрагменты словесного описания заменяются манипуляциями с картинками.

Многосвязная структура характеризуется следующими свойствами: (1) каждый элемент структуры содержит произвольное число направленных связей с другими элементами (или ссылок на другие элементы); (2) с каждым элементом может связываться произвольное количество других элементов (каждый элемент может быть объектом ссылки произвольного количества других элементов); (3) каждая связь в структуре имеет не только направление, но и вес. Такую многосвязную структуру называют сетевой структурой или сетью. Заметим, что логически сеть эквивалентна взвешенному ориентированному графу общего вида, и поэтому вместо термина "сеть" часто употребляются термины "графовая структура", или даже просто "граф".
Особое значение сетевые структуры приобрели в системах искусственного интеллекта, в которых они адекватно отражают логику организации данных и сложные отношения, возникающие в таких системах между различными элементами данных. В этих системах сетевые структуры применяются для построения семантических сетей, фреймов и других логических конструкций, необходимых для представления знаний, образования понятий и осуществления логических выводов.
Кратчайшие пути в графе. Алгоритм Форда-Беллмана.
Мы взбираемся на вершину, откуда можем бросить гордый взгляд назад и оценить пройденный путь.

Существует большое количество практических задач, сводящихся к поиску кратчайших путей в графе. К их числу можно отнести: поиск кратчайшего расстояния между городами; поиск пути передачи информации, обеспечивающего минимальную стоимость или минимальное время передачи, или максимальную надежность при распространении информации в разветвленной сети.
Исходными данными для поиска кратчайшего пути в графе является матрица весов дуг заданного ориентированного графа. Это означает, что каждой дуге (u,v) E поставлено в соответствие некоторое вещественное число А(u,v), называемое весом данной дуги. Длину кратчайшего пути d(s,t) между вершинами s и t называют расстоянием от s до t (расстояние, определенное таким образом, может быть и отрицательным). Если не существует ни одного пути из s в t, то полагают d(s,t)=Ґ, где Ґ- некоторый символ.
Большинство алгоритмов поиска расстояний между двумя фиксированными вершинами s и t включают в себя следующие действия: по данной матрице весов дуг A*u,v] (u,v V) вычисляют некоторые верхние ограничения D*v+ на расстояние от s до всех вершин v. На каждом шаге, если D*v++A*u,v+c->j.
б) Если весовая величина пути i->c->j меньше уже установленного расстояния от вершины i до j, то выполняется пункт в, иначе к пункту г.
в) Предком вершины j становится промежуточная вершина c, а расстояние от i до j сумма весов дуг пути i->c->j.
г) Для рассмотрения берётся следующая после вершина после вершины j – j+1.
д) Если все вершины занесены в дерево, то производится вывод на экран выходных данных, если нет, то происходит переход к пункту а.
Даны 3 ориентированных графа G 1
(5,12), G 2
(4,7), G 3
(7,14), заданные матрицами смежности. Построить для этих графов деревья кратчайших путей.
Массив предков: ftr = (0, 3, 4, 1, 3).
Массив расстояний от 1-ой начальной вершины до остальных: l = (0, 3, 4, 7, 0).
Рис. 4: Дерево кратчайших путей для графа G 1
.
Массив предков: ftr = (0, 1, 2, 3).
начальной вершины до остальных: Рис. 5: Граф G 2
.
Рис. 6: Дерево кратчайших путей для графа G 2
.
Массив предков: ftr = (0, 3, 4, 5, 1, 7, 1).
Массив расстояний от 1-ой начальной вершины до остальных:
Рис. 8: Дерево кратчайших путей для графа G 3
.
Рис. 9: Выполнение программы для графа G 1
.
Рис. 10: Выполнение программы для графа G 2
.
Рис. 11: Выполнение программы для графа G 3
.
Рис. 12: Выполнение программы для графа G 2
.
В графе G 2
есть вершина, из которой нельзя построить дерево кратчайших путей – это 4 вершина, так как из неё не выходят дуги. Программа проводит проверку на заданную пользователем вершину, в нашем случае 4, и проводит проверку и обнаруживает, что 4 не подходит. Далее программа вновь предлагает ввести номер вершины и для введенной 2 успешно вычисляет выходные массивы. Правильность данных можно проверить, сверив их с деревом кратчайших путей для графа G 2
с начальной 2 вершиной на рисунке 13.
Рис. 13: Дерево кратчайших путей для графа G 2
с начальной вершиной №2.
program kurs; uses crt; const m=10;
type matrix= array [1..m, 1..m] of integer; massiv= array [1..m] of integer; var i,j,min,c,k,s,n: integer; v,l,ftr: massiv; smej: matrix; f: file of integer; label metka;
procedure vvod1(n: integer; var smej: matrix); begin
reset(f); for i:=1 to n do for j:=1 to n do begin read(f,c); smej[i,j]:=c; end; close(f); end;
procedure vvod2(n: integer; var smej: matrix); begin
reset(f); for i:=1 to n do for j:=1 to n do begin read(f,c); smej[i,j]:=c; end; close(f); end;
procedure vvod3(n: integer; var smej: matrix); begin
reset(f); for i:=1 to n do for j:=1 to n do begin read(f,c); smej[i,j]:=c; end; close(f); end; Begin clrscr;
write('Введите число вершин исследуемого графа (4,5,7) '); read(n); case n of 5: vvod1(n,smej);
4: vvod2(n,smej); 7: vvod3(n,smej); end;
metka: read(i); s:=0; for k:=1 to n do if not(smej[i,k]=0) then s:=1; if s=0 then begin writeln('Из этой вершины нет выходящих дуг.'); write('Bведите другую вершину '); goto metka end; writeln('Матрица смежности: '); for k:=1 to n do begin for s:=1 to n do if smej[k,s]<0 then write(' ',smej[k,s]) else write(' ',smej[k,s]); writeln;
for j:=1 to n do begin l[j]:=smej[i,j]; ftr[j]:=i;
l[i]:=0; for j:=1 to n do begin min:=l[j]; for k:=1 to n do if not(smej[k,j]=0) and not(k=i) then if smej[k,j]Курсовая работа: Алгоритмынахождениякратчайшихпутейвграфе
Дневник Производственной Практики На Скорой
Реферат: Развитие региональной составляющей антикризисного управления
Реферат: История развития Феминизма в России
Реферат: Культура России X-XIIвв.
Реферат: Безвихревая электродинамика - математическая модель. Скачать бесплатно и без регистрации
Клише Для Эссе По Истории Егэ 2022
Сочинение Описание По Картине Витязь На Распутье
Е Ю Караваева И Ее Поэзия Реферат
Курсовая работа: Анализ эффективности использования фонда заработной платы
Реферат: Історія забобонів на прикладі США. Причини виникнення
Реферат: Історія земної кори: проблеми, закономірності, роздуми
Дипломная работа по теме Преступления в сфере потребительского рынка
Реферат по теме Коллективные средства защиты
Существительные Общего Рода Реферат
Реферат по теме Современная танатология: проблемы клинической смерти или существует ли жизнь после жизни
Мини Сочинение Живое Слово
Курсовая работа по теме Анализ финансового состояния ОАО 'Красный октябрь'
Курсовая работа по теме Устройство фундаментов на естественном основании
Персонал Предприятий Реферат
Историческая Память И Забвение Сочинение
Реферат: Религиозный экстремизм и международный терроризм
Статья: Толстой Не могу молчать 1я редакция
Реферат: Обстоятельства, отягчающие наказание

Report Page