![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Часть S. Алгоритмы на графах
Решения некоторых задач, поддающихся решению, никогда не были представлены в виде программ либо требуют для своего выполнения такое большое время, что вопрос об их практическом применении отпадает сам собой. Приводимый далее пример принадлежит к числу задач этого типа. Он также демонстрирует капризный характер математической реальности обработки графов. Четные циклы в орграфах. Имеются ли в заданном орграфе цикл четной длины? На первый взгляд кажется, что на этот вопрос нетрудно ответить, поскольку нетрудно ответить на этот вопрос в случае неориентированных графов (см. раздел 18.4), равно как и на вопрос, имеется ли в орграфе цикл нечетной длины. Тем не менее, в течение многих лет мы никак не можем изучить эту задачу настолько, чтобы хотя бы ответить на вопрос, существует или нет алгоритм ее решения (см. раздел ссылок). Теорема, устанавливающая существование эффективного алгоритма, была доказана в 1999 г., однако метод доказательства настолько сложен, что никакой математик или программист не возьмется за ее реализацию. Одна из основных тем, рассматриваемых в главе 22, заключается в том, что многие задачи на графах, поддающиеся решению, решаются наилучшим образом за счет применения алгоритмов, которые могут решать весь класс этих задач в общей постановке. Алгоритмы поиска кратчайшего маршрута (shortest path algorithm), рассматриваемые в главе 21, алгоритмы на транспортных сетях (network flow algorithm), исследуемые в главе 22, а также мощный сетевой симплексный алгоритм (network simplex algorithm), рассматриваемый в главе 22, способны решать многие задачи на графах, которые в противном случае превращаются в трудно преодолимые проблемы. В числе таких задач отметим следующие. Задача распределения. Эта задача, известная еще как задача двудольного взвешенного сочетания (bipartite weighed matching), заключается в том, чтобы найти в двудольном графе совершенное сочетание с минимальным весом. Она легко решается за счет применения алгоритмов, разработанных для транспортных сетей. Известны специальные методы, которые решают данную проблему непосредственно, но при ближайшем рассмотрении было обнаружено их большое сходство с решениями, обеспечиваемыми алгоритмами транспортных сетей. Общая связность. Какое минимальное число ребер нужно удалить из графа, чтобы он распался на две несвязных части (реберная связность)? Каково минимальное число вершин, удаление которых разобьет граф на две несвязных части? Как мы узнаем из главы 22, эти две задачи, будучи трудно разрешимыми непосредственно, достаточно просто решаются при помощи алгоритмов транспортных сетей.
|