Главная » Все файлы » Просмотр файлов из архивов » Документы » Лабораторная работа 4 ОТКДС

Лабораторная работа 4 ОТКДС (Методичка для 4 лабы по ОТКДС), страница 2

2015-11-20СтудИзба

Описание файла

Файл "Лабораторная работа 4 ОТКДС" внутри архива находится в папке "Методичка для 4 лабы по ОТКДС". Документ из архива "Методичка для 4 лабы по ОТКДС", который расположен в категории "". Всё это находится в предмете "основы теории конечных дискретных систем (откдс)" из 4 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "откдс" в общих файлах.

Онлайн просмотр документа "Лабораторная работа 4 ОТКДС"

Текст 2 страницы из документа "Лабораторная работа 4 ОТКДС"



4. N=0+1=1.

5. Рассмотрим матрицу R.

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

Это свойство выражается наличием единиц во всем столбце A4 и нулей во всей строке A4 (за исключением их пересечения).

6. Вычеркиваем столбец и строку A4. Получаем матрицу R ' .

7. Произведем умножение матриц R ' R ' = R2 .

В качестве примера рассмотрим получение элемента r21,3 матрицы R2 , т.е. элемента, расположенного в первой строчке и в третьем столбце матрицы R2 r21,3 = 1 0  1 1  0  1  0  0  1  0 = 1 (см. рис. 4.2).



Рис. 4.2

Каждый член этой суммы означает следующее. Пусть мы хотим попасть из A1 в A3. Тогда:

1  0 = 0 - существует прямой путь из A1 в A1, но нет из A1 в A3;

1  1 = 1 - существуют прямые пути из A1 в A2 и из A2 в A3; следовательно, имеется путь длины 2 из A1 в A3;

0  1 = 0 - не существует прямого пути из A1 в A3, но есть из A3 в A3;

0  0 = 0 - нет прямого пути из A1 в A5 и из A5 в A3;

1  0 = 0 - существует прямой путь из A1 в A6, но нет из A6 в A3.

Таким образом, мы получили все пути из A1 в A3 длиной меньшей или равной 2.

Проделав это для всех элементов, мы получим матрицу R2 , все единицы которой обозначают существование путей длиной меньшей или равной 2, а 0 - их отсутствие.

8. Проверяем условие равенства R2 и R ' . Так как они не равны, переходим к п. 9.

9. Проверяем условие равенства всех элементов матрицы единицы; так как оно не выполняется, то снова возвращаемся к п.4.

4. N=2.

5. Рассматриваем матрицу R2 .

Вершина A3 , является конечной вершиной гамильтонова пути на данном цикле вычислений.

6. Вычеркиваем столбец и строку A3. Оставшаяся матрица имеет вид

(R2 ) ' = .

7. Производим умножение (R2 ) ' R ' = R3.

R 3 = .

8. R3  (R2 ) '

9. Все элементы R3, равны единице. Очевидно, что и R4 и R5 и т.д. также будут равны, т.е. будут иметь все элементы, равные единице).

Переходим к п.10.

10. Матрицу R b получаем возвращением строк и столбцов, вычеркнутых в п. 6.



11. Матрицу R c получаем группировкой строк и столбцов матрицы R b (п.10), чтобы все нули были расположены под главной диагональю, а единицы - над ней:





Таким образом, мы получили три класса эквивалентности:

- в первый класс входят вершины A1 A2 A5 A6;

- во второй - вершина A3;

- в третий - вершина A4.

Определение гамильтонова пути становится совсем простым делом. С учетом необходимости выполнения условий (4.4) для вершин, входящих в один класс эквивалентности, он может быть таким: A1,A6,A5,A2,A3,A4.

Алгоритм Фаулкса в общем случае не решает однозначно задачу определения Гамильтонова пути, он только частично упорядочивает множество вершин, снижая тем самым размерность решаемой задачи. В данном примере видно, что в Гамильтоновом пути вершина A3 обязательно должна быть после вершин, входящих в первый класс эквивалентности, а вершина A4 - после вершин, входящих в первый и второй классы эквивалентности.

В случае, когда в каждый класс эквивалентности входит одна вершина, алгоритм Фаулкса определяет Гамильтонов путь однозначно.

Определение связности графа

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

Пусть дана матрица смежности некоторого графа G , имеющего n вершин. Необходимо определить, является ли этот граф связным. В случае, если граф несвязный, он распадается на определенное число т связных графов G1, G2,…, Gm таких, что, например, из любой вершины графа G1 можно найти путь к любой другой вершине этого же графа G1 по его ребрам, но нельзя найти путь ни к одной вершине, не принадлежащей графу G1.

В предлагаемой задаче требуется выделить из графа G связные графы G1, G2,…, Gm , указав при этом, какие вершины входят в каждый из графов.

В задаче рассматривается неориентированный граф, у которого в матрице смежности R элементы матрицы rij = rji , i, j = 1,…,n , то есть матрица симметрична относительно главной диагонали.

Порядок решения задачи:

1. Задаем матрицу смежности R графа.

2. Задаем номер цикла вычислений N = 0.

3. Увеличиваем на единицу номер цикла вычислений N = N +1.

4. Находим матрицу R N, полученную перемножением R N-1 R

5. Проверяем условие равенства матрицы R N и R N-1 (равенство каждого элемента rNij = rN-1ij , i, j = 1,…,n). Если это условие выполняется, переходим к п.6, если нет - к п. 3.

Матрица R N позволяет определить количество связных графов и номера вершин, входящих в каждый связный граф.

Для этого необходимо в каждой i - строке матрицы R N найти элементы rNij = 1, i, j = 1, …, n . Номера столбцов j , где rij = 1, и будут номерами вершин, входящих в связный граф. Вполне очевидно, что нет необходимости проверять строки с номерами вершин, образующих этот связный граф, так как полученные номера будут полностью совпадать с номерами вершин, входящих в него.

6. Задаемся номером строки, с которой необходимо начать проверку матрицы i=1.

7. В строке с номером i=1 выбираем элементы rNij = 1. Номера тех столбцов j, в которых rNij = 1, дают нам номера вершин, входящих в один из связных графов.

8. Увеличиваем на единицу номер просматриваемой строки i= i+1.

9. Если среди вершин уже выделенных связных графов есть вершина с номером i , то переходим к п. 10.

10. Если i < n (где n x n - размерность исходной матрицы смежности), то переходим к п. 7, если i = n , то к п. 11.

11. Конец.

Пример.

  1. Пусть задана матрица смежности R некоторого графа G , имеющего n = 8 вершин, и надо проверить этот граф на связность:

.

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

2. Задаем номер начала цикла вычислений: N = 0.

3. N= 0+1 =1.

4. Производим умножение R R = R2

.

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

В матрице R2 по сравнению с матрицей R, появилась, например, единица, показывающая связь между вершинами 1 и 7 (и, соответственно, между 7 и 1). Значит, есть путь длиной 2 из 7 в 1 через вершину 8.

5. Проверяем условие равенства R2 и R . Они не равны. Переходим к п. 3.

N = 1 + 1 = 2.

Умножение R2 R = R3

.

Проверяем условие равенства матриц R2 и R3. Так как они равны, то это означает, что путь длиной 2 - максимальный в данной графе, и дальнейшее перемножение матрицы не имеет смысла, так как мы будем получать одну и ту же матрицу.

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

6. i =1.

7. В строке 1 выбираем все элементы r31j , равные единице 1 (j=1,…,n).

r311 = r312 = r317 = r318 = 1.

Номера столбцов, в которых r3ij = 1 - это номера вершин первого связного подграфа, входящего в данный граф, т.е. вершины 1, 2, 7, 8 образуют связный подграф G1 .

8. Определяем номер очередной вершины i = 1 + 1 = 2.

9. Так как среди вершин связного графа G1 есть вершина j=2, то возвращаемся к п.8.

8. i = 2 + 1 = 3.

9. Среди вершин связного графа G1 нет вершины j=3.

10. Номер вершины j=3 меньше числа вершин графа (n=8). Возвращаемся к п. 7.

7. В строке 3 выбираем элементы, равные единице:

r333 = r336 = 1 .

Следовательно, во второй связный подграф G2 входят вершины 3, 6.

8. Определяем номер очередной вершины i = 3 + 1 = 4.

9. Среди вершин связных подграфов G1 и G2 нет вершины j = 4.

10. Так как i < 8 , переходим к п. 7.

7. В строке 4 выбираем элементы, равные единице.

r344 = r345 = 1 .

Следовательно, в третий связный подграф G3 входят вершины 4, 5.

8. i = 4 + 1 = 5.

9. Среди вершин связных графов G1, G2, G3 есть вершина j = 5. Переходим к 8. Аналогично проверяются вершины j = 6, 7, 8.

В результате работы алгоритма будут найдены три связных подграфа:

G1 = {1, 2, 7, 8}; G2 = {3, 6}; G3 = {4, 5}.

Определение Эйлеровой линии в графе

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

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

Ответ на вопрос о существовании Эйлеровой линии на графах дает теорема Эйлера.

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

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

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее