Пятница, 01 Авг 2025, 06:17
Uchi.ucoz.ru
Меню сайта
Форма входа
Категории раздела
Авиация и космонавтика [0]
Административное право [0]
Арбитражный процесс [0]
Архитектура [0]
Астрология [0]
Астрономия [0]
Банковское дело [0]
Безопасность жизнедеятельности [1930]
Биографии [0]
Биология [2350]
Биология и химия [0]
Биржевое дело [78]
Ботаника и сельское хоз-во [0]
Бухгалтерский учет и аудит [4894]
Валютные отношения [0]
Ветеринария [0]
Военная кафедра [0]
География [2269]
Геодезия [0]
Геология [0]
Геополитика [46]
Государство и право [13375]
Гражданское право и процесс [0]
Делопроизводство [0]
Деньги и кредит [0]
Естествознание [0]
Журналистика [660]
Зоология [0]
Издательское дело и полиграфия [0]
Инвестиции [0]
Иностранный язык [0]
Информатика [0]
Информатика, программирование [0]
Исторические личности [0]
История [6878]
История техники [0]
Кибернетика [0]
Коммуникации и связь [0]
Компьютерные науки [0]
Косметология [0]
Краеведение и этнография [540]
Краткое содержание произведений [0]
Криминалистика [0]
Криминология [0]
Криптология [0]
Кулинария [923]
Культура и искусство [0]
Культурология [0]
Литература : зарубежная [2115]
Литература и русский язык [0]
Логика [0]
Логистика [0]
Маркетинг [0]
Математика [2893]
Медицина, здоровье [9194]
Медицинские науки [100]
Международное публичное право [0]
Международное частное право [0]
Международные отношения [0]
Менеджмент [0]
Металлургия [0]
Москвоведение [0]
Музыка [1196]
Муниципальное право [0]
Налоги, налогообложение [0]
Наука и техника [0]
Начертательная геометрия [0]
Оккультизм и уфология [0]
Остальные рефераты [0]
Педагогика [6116]
Политология [2684]
Право [0]
Право, юриспруденция [0]
Предпринимательство [0]
Промышленность, производство [0]
Психология [6212]
психология, педагогика [3888]
Радиоэлектроника [0]
Реклама [910]
Религия и мифология [0]
Риторика [27]
Сексология [0]
Социология [0]
Статистика [0]
Страхование [117]
Строительные науки [0]
Строительство [0]
Схемотехника [0]
Таможенная система [0]
Теория государства и права [0]
Теория организации [0]
Теплотехника [0]
Технология [0]
Товароведение [21]
Транспорт [0]
Трудовое право [0]
Туризм [0]
Уголовное право и процесс [0]
Управление [0]
Управленческие науки [0]
Физика [2737]
Физкультура и спорт [3226]
Философия [0]
Финансовые науки [0]
Финансы [0]
Фотография [0]
Химия [1714]
Хозяйственное право [0]
Цифровые устройства [34]
Экологическое право [0]
Экология [1778]
Экономика [0]
Экономико-математическое моделирование [0]
Экономическая география [0]
Экономическая теория [0]
Этика [0]
Юриспруденция [0]
Языковедение [0]
Языкознание, филология [1017]
Новости
Чего не хватает сайту?
500
Статистика
Зарегистрировано на сайте:
Всего: 51667


Онлайн всего: 4
Гостей: 4
Пользователей: 0
Яндекс.Метрика
Рейтинг@Mail.ru

База рефератов


Главная » Файлы » База рефератов » Математика

Поиск оптимального пути в ненагруженном орграфе


Гость, для того чтобы скачать БЕСПЛАТНО ПОЛНУЮ ВЕРСИЮ РЕФЕРАТА, Вам нужно кликнуть по любой ссылке после слова оплачиваемая реклама.
07 Апр 2013, 10:00

Содержание

1. Введение

2. Теоретическая часть

а) Основные понятия теории графов

б) Понятия смежности, инцидентности, степени

в) Маршруты и пути

г) Матрицы смежности и инцедентности

3. Алгоритм http://hghltd.yandex.com/yandbtm?url=http%3A//www.fos.ru/matemat/9228.html&text=%CF%EE%E8%F1%EA+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE+%EF%F3%F2%E8+%E2+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC+%E3%F0%E0%F4%E5+%2C+%F0%E5%F4%E5%F0%E0%F2&reqtext=%28%CF%EE%E8%F1%EA%3A%3A783+%26+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE%3A%3A22975+%26%26/%28-3+3%29+%EF%F3%F2%E8%3A%3A5309+%26+%E2%3A%3A0+%26+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC%3A%3A42191+%26+%E3%F0%E0%F4%E5%3A%3A31618+%26%26/%28-3+3%29+%F0%E5%F4%E5%F0%E0%F2%3A%3A6724%29//6&dsn=530&d=2003257 - YANDEX_28поиска минимального пути из  в  в http://hghltd.yandex.com/yandbtm?url=http%3A//www.fos.ru/matemat/9228.html&text=%CF%EE%E8%F1%EA+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE+%EF%F3%F2%E8+%E2+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC+%E3%F0%E0%F4%E5+%2C+%F0%E5%F4%E5%F0%E0%F2&reqtext=%28%CF%EE%E8%F1%EA%3A%3A783+%26+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE%3A%3A22975+%26%26/%28-3+3%29+%EF%F3%F2%E8%3A%3A5309+%26+%E2%3A%3A0+%26+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC%3A%3A42191+%26+%E3%F0%E0%F4%E5%3A%3A31618+%26%26/%28-3+3%29+%F0%E5%F4%E5%F0%E0%F2%3A%3A6724%29//6&dsn=530&d=2003257 - YANDEX_31ориентированном орграфе (алгоритм фронта волны)

4. Листинг программы

5. Примеры выполнения программы

6. Использованная литература


Введение

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

Графы нашли применение практически во всех отраслях научных знаний: физике, биологии, химии, математике, истории, лингвистике, социальных науках, технике и т.п. Наибольшей популярностью теоретико-графовые модели используются при исследовании коммуникационных сетей, систем информатики, химических и генетических структур, электрических цепей и других систем сетевой структуры.

Благодаря своему широкому применению, теория о нахождении кратчайших путей в последнее время интенсивно развивается.

Нахождение кратчайшего пути - жизненно необходимо и используется практически везде, начиная от нахождения оптимального маршрута между двумя объектами на местности (напр. кратчайший путь от дома до академии),также используется в системах автопилота, используется для нахождения оптимального маршрута при перевозках коммутации информационного пакета Internet и мн. др.

Кратчайший путь рассматривается при помощи графов.

Цель курсовой работы:

Разработать программу поиска оптимального пути в ненагруженном ориентированном графе на любом языке программирования.


Теоретическая часть:

а) Основные понятия теории графов

Теория графов как теоретическая дисциплина может рассматриваться как раздел дискретной математики, исследующий свойства конечных множеств с заданными отношениями между их элементами. Как прикладная дисциплина теория графов позволяет описывать и исследовать многие физические, технические, экономические, биологические, социальные и другие системы. Например, графом, изображенным на рис. 1, в котором точки − вершины графа − города, линии, соединяющие вершины − ребра − дороги, соединяющие города, описывается так называемая транспортная задача (задача нахождения кратчайшего пути из одного города- пункта в другой).

Рис. 1.

Формальное определение графа таково. Пусть задано конечное множество V, состоящее из n элементов, называемых вершинами графа, и подмножество X декартова произведения V×V, то есть , называемое множеством дуг, тогда ориентированным графом D называется совокупность (V,X). Неориентированным графом G называется совокупность множества V и множества ребер − неупорядоченных пар элементов, каждый из которых принадлежит множеству V.

Одинаковые пары - параллельные или кратные ребра;

Кратностью ребер называют количество одинаковых пар.

Рис.2.

Например, кратность ребра {v1,v2} в графе, изображенном на рис. 2, равна двум, кратность ребра {v3,v4} − трем.

Псевдограф − граф, в котором есть петли и/или кратные ребра.

Мультиграф − псевдограф без петель.

Граф − мультиграф, в котором ни одна пара не встречается более одного раза.

Граф называется ориентированным, если пары (v,w) являются упорядоченными.

Ребра ориентированного графа называются дугами.

Итак, используемые далее обозначения:

V – множество вершин;

X – множество ребер или дуг;

v (или vi)– вершина или номер вершины;

G, G0 - неориентированный граф;

D, D0 – ориентированный;

{v,w} − ребра неориентированного графа;

{v,v} – обозначение петли;

(v,w) − дуги в ориентированном графе;

v,w - вершины, x,y,z – дуги и ребра;

n(G), n(D) количество вершин графа;

m(G) - количество ребер, m(D) - количество дуг.

Примеры

1) Ориентированный граф D=(V, X), V={v1, v2, v3, v4},

X={x1=(v1,v2), x2=(v1,v2), x3=(v2,v2), x4=(v2,v3)}.

$IMAGE6$

Рис. 3.

2) Неориентированный граф G=(V, X), V={v1, v2, v3, v4, v5},

X={x1={v1,v2}, x2={v2,v3}, x3={v2,v4}, x4={v3,v4}}.

$IMAGE7$

Рис. 4.

б) Понятия смежности, инцидентности, степени

Если x={v,w} - ребро, то v и w − концы ребер.

Если x=(v,w) - дуга ориентированного графа, то v − начало, w – конец дуги.

Вершина v и ребро x неориентированного графа (дуга x ориентированного графа) называются инцидентными, если v является концом ребра x (началом или концом дуги x ).

Вершины v, w называются смежными, если {v,w}ÎX.

Степенью вершины v графа G называется число d (v) ребер графа G, инцидентных вершине v.

Вершина графа, имеющая степень 0 называется изолированной, а степень 1 – висячей.

Полустепенью исхода (захода) вершины v ориентированного графа D называется число d+(v) (d-(v)) дуг ориентированного графа D, исходящих из v (заходящих в v).

Следует заметить, что в случае ориентированного псевдографа вклад каждой петли инцидентной вершине v равен 1 как в d+(v), так и в d-(v).

в) Маршруты и пути

Последовательность v1x1v2x2v3...xkvk+1, (где k³1, viÎV, i=1,...,k+1, xiÎX, j=1,...,k), в которой чередуются вершины и ребра (дуги) и для каждого j=1,...,k ребро (дуга) xj имеет вид {vj,vj+1} (для ориентированного графа (vj,vj+1)), называется маршрутом, соединяющим вершины v1 и vk+1 (путем из v1 в vk+1).

Длина маршрута (пути) − число ребер в маршруте (дуг в пути).

г) Матрицы смежности и инцидентности

Пусть D=(V,X) ориентированный граф, V={v1,...,vn}, X={x1,...,xm}.

Матрица смежности ориентированного графа D − квадратная матрица

A(D)=[aij] порядка n, где

$IMAGE8$

Матрица инцидентности − матрица B(D)=[bij] порядка n´m, где

$IMAGE9$


Матрицей смежности неориентированного графа G=(V,X) называется квадратная симметричная матрица A(G)=[aij] порядка n, где

$IMAGE10$.

Матрица инцидентности графа G называется матрица B(G)=[bij] порядка n´m, где

$IMAGE11$

Алгоритм http://hghltd.yandex.com/yandbtm?url=http%3A//www.fos.ru/matemat/9228.html&text=%CF%EE%E8%F1%EA+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE+%EF%F3%F2%E8+%E2+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC+%E3%F0%E0%F4%E5+%2C+%F0%E5%F4%E5%F0%E0%F2&reqtext=%28%CF%EE%E8%F1%EA%3A%3A783+%26+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE%3A%3A22975+%26%26/%28-3+3%29+%EF%F3%F2%E8%3A%3A5309+%26+%E2%3A%3A0+%26+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC%3A%3A42191+%26+%E3%F0%E0%F4%E5%3A%3A31618+%26%26/%28-3+3%29+%F0%E5%F4%E5%F0%E0%F2%3A%3A6724%29//6&dsn=530&d=2003257 - YANDEX_28поиска минимального пути из $IMAGE12$ в $IMAGE13$http://hghltd.yandex.com/yandbtm?url=http%3A//www.fos.ru/matemat/9228.html&text=%CF%EE%E8%F1%EA+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE+%EF%F3%F2%E8+%E2+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC+%E3%F0%E0%F4%E5+%2C+%F0%E5%F4%E5%F0%E0%F2&reqtext=%28%CF%EE%E8%F1%EA%3A%3A783+%26+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE%3A%3A22975+%26%26/%28-3+3%29+%EF%F3%F2%E8%3A%3A5309+%26+%E2%3A%3A0+%26+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC%3A%3A42191+%26+%E3%F0%E0%F4%E5%3A%3A31618+%26%26/%28-3+3%29+%F0%E5%F4%E5%F0%E0%F2%3A%3A6724%29//6&dsn=530&d=2003257 - YANDEX_31ориентированном орграфе (алгоритм фронта волны)

1) Помечаем вершину $IMAGE14$ индексом 0, затем помечаем вершины Î образу вершины $IMAGE12$ индексом 1. Обозначаем их FW1 (v). Полагаем k=1.

2) Если $IMAGE16$ или k=n-1, и одновременно $IMAGE17$ то вершина $IMAGE18$ не достижима из $IMAGE12$. Работа алгоритма заканчивается.

В противном случае продолжаем:

3) Если $IMAGE20$, то переходим к шагу 4.

В противном случае мы нашли минимальный путь из $IMAGE12$ в $IMAGE18$ и его длина равна k. Последовательность вершин

теория орграф матрица алгоритм

$IMAGE23$

есть этот минимальный путь. Работа завершается.

4) Помечаем индексом k+1 все непомеченные вершины, которые принадлежат образу множества вершин c индексом k. Множество вершин с индексом k+1 обозначаем $IMAGE24$. Присваиваем k:=k+1 и переходим к 2).

Замечания

Множество $IMAGE25$ называется фронтом волны kго уровня.

Вершины $IMAGE26$ могут быть выделены неоднозначно, что соответствует случаю, если $IMAGE27$ несколько минимальных путей из $IMAGE28$ в $IMAGE29$.

Чтобы найти расстояния в ориентированном графе, необходимо составить матрицу http://hghltd.yandex.com/yandbtm?url=http%3A//www.fos.ru/matemat/9228.html&text=%CF%EE%E8%F1%EA+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE+%EF%F3%F2%E8+%E2+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC+%E3%F0%E0%F4%E5+%2C+%F0%E5%F4%E5%F0%E0%F2&reqtext=%28%CF%EE%E8%F1%EA%3A%3A783+%26+%EC%E8%ED%E8%EC%E0%EB%FC%ED%EE%E3%EE%3A%3A22975+%26%26/%28-3+3%29+%EF%F3%F2%E8%3A%3A5309+%26+%E2%3A%3A0+%26+%EE%F0%E8%E5%ED%F2%E8%F0%EE%E2%E0%ED%ED%EE%EC%3A%3A42191+%26+%E3%F0%E0%F4%E5%3A%3A31618+%26%26/%28-3+3%29+%F0%E5%F4%E5%F0%E0%F2%3A%3A6724%29//6&dsn=530&d=2003257 - YANDEX_34минимальных расстояний R(D)между его вершинами. Это квадратная матрица размерности $IMAGE30$, элементы главной диагонали которой равны нулю ( $IMAGE31$, i=1,..,n).

Сначала составляем матрицу смежности. Затем переносим единицы из матрицы смежности в матрицу минимальных расстояний ( $IMAGE32$, если $IMAGE33$). Далее построчно заполняем матрицу следующим образом.

Рассматриваем первую строку, в которой есть единицы. Пусть это строка − i-тая и на пересечении с j-тым столбцом стоит единица (то есть $IMAGE34$). Это значит, что из вершины $IMAGE35$ можно попасть в вершину $IMAGE36$ за один шаг. Рассматриваем j-тую сроку (строку стоит вводить в рассмотрение, если она содержит хотя бы одну единицу). Пусть элемент $IMAGE37$. Тогда из вершины $IMAGE35$ в вершину $IMAGE39$ можно попасть за два шага. Таким образом, можно записать $IMAGE40$. Следует заметить, что если в рассматриваемых строках две или более единиц, то следует прорабатывать все возможные варианты попадания из одной вершины в другую, записывая в матрицу длину наикратчайшего из них.


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

#include<stdio.h>

#include<iostream>

using namespace std;

int main()

{

int N=0,n=0,c=0,i=0,k=0;

cout<<" ----------------------------------------------"<<endl;

cout<<" |Poisk optimalnogo puti v nenagrujennom orgrafe|"<<endl;

cout<<" ----------------------------------------------"<<endl;

case1:

cout<<"Vvedite chislo vershin v orgrafe: ";

cin>>N;

if(N<=1)

{

         cout<<"Kolichestvo vershin doljno bit'>1!!!"<<endl;

         goto case1;

}

///МАТРИЦА смежности::

cout<<"Zapolnite matricu smejnosti (esli puti net,vvedite 0; esli put' est',vvedite 1):";

float** A = new float*[N];

***** Скачайте бесплатно полную версию реферата !!! *****
Категория: Математика | Добавил: Lerka
Просмотров: 231 | Загрузок: 5 | Рейтинг: 0.0/0 | Жаловаться на материал
Всего комментариев: 0
html-cсылка на публикацию
BB-cсылка на публикацию
Прямая ссылка на публикацию
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Профиль
Пятница
01 Авг 2025
06:17


Вы из группы: Гости
Вы уже дней на сайте
У вас: непрочитанных сообщений
Добавить статью
Прочитать сообщения
Регистрация
Вход
Улучшенный поиск
Поиск по сайту Поиск по всему интернету
Наши партнеры
Интересное
Популярное статьи
Портфолио ученика начальной школы
УХОД ЗА ВОЛОСАМИ ОЧЕНЬ ПРОСТ — ХОЧУ Я ЭТИМ ПОДЕЛИТ...
Диктанты 2 класс
Детство Л.Н. Толстого
Библиографический обзор литературы о музыке
Авторская программа элективного курса "Практи...
Контрольная работа по теме «Углеводороды»
Поиск
Учительский портал
Используются технологии uCoz