Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Модификация метода на примере задачи построения гамильтонова цикла с минимальной суммой весов ребер





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

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

Следовательно для увеличения точности необходимо увеличить глубину просмотра, т.е. выбирать, например, пару ребер с минимальным суммарным весом, одно из ребер которой инцидентно концевой вершине, а другое – смежно этому ребру. При увеличении глубины просмотра k до k = n, где n – количество вершин графа, получим дерево полного перебора.

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

Кроме этого, так как гамильтонов цикл проходит через все вершины:

• можно начинать построение тура с любого ребра;

• целесообразно обеспечить выбор среди ребер, инцидентных обеим концевым вершинам построенного фрагмента тура, (например, для предыдущего графа это обеспечит получение точного решения).

Точное решение S l = 10

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

• из всех пар смежных ребер выбираем ту, которая имеет минимальный вес;

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

Алгоритм, реализующий эту идею, является эвристическим, имеет вычислительную сложность O (n 3), для него характерна более высокая вероятность нахождения точного решения, чем по методу поиска в глубину.







Дата добавления: 2015-04-19; просмотров: 394. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


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


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

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

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

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия