🗊Презентация Методы решения комбинаторно-оптимизационных задач. (Тема 4)

Нажмите для полного просмотра!
Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №1Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №2Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №3Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №4Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №5Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №6Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №7Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №8Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №9Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №10Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №11Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №12Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №13Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №14Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №15Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №16Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №17Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №18Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №19Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №20Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №21Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №22Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №23Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №24Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №25Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №26Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №27Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №28Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №29Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №30Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №31Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №32Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №33Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №34Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №35Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №36Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №37Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №38Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №39Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №40Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №41Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №42Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №43Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №44Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №45Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №46Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №47Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №48Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №49Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №50Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №51Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №52Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №53Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №54Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №55Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №56Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №57Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №58Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №59Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №60Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №61Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №62Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №63Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №64Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №65Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №66Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №67Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №68Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №69Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №70Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №71Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №72Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №73Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №74Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №75Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №76Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №77Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №78Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №79Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №80Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №81Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №82Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №83Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №84Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №85Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №86Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №87Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №88Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №89Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №90Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №91Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №92Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №93Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №94Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №95Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №96Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №97Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №98Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №99Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №100Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №101Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №102Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №103Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №104

Содержание

Вы можете ознакомиться и скачать презентацию на тему Методы решения комбинаторно-оптимизационных задач. (Тема 4). Доклад-сообщение содержит 104 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





4 Методы решения комбинаторно-оптимизационных задач
4.1 Стратегии декомпозиции пространства решений и дерево поиска
Можно выделить два основных подхода к поиску решения комбинаторно-оптимизационных задач.
Первая из них основана на двух идеях: 
декомпозиция пространства решений;
исследование множества возможных решений, т. е. поиск оптимального на основе некоторой оценки в процессе декомпозиции.
Вторая стратегия реализует следующие три идеи:
разбиение задачи на подзадачи;
определение оптимального варианта подзадач;
получение решения композицией (объединением) этих подзадач.
Описание слайда:
4 Методы решения комбинаторно-оптимизационных задач 4.1 Стратегии декомпозиции пространства решений и дерево поиска Можно выделить два основных подхода к поиску решения комбинаторно-оптимизационных задач. Первая из них основана на двух идеях: декомпозиция пространства решений; исследование множества возможных решений, т. е. поиск оптимального на основе некоторой оценки в процессе декомпозиции. Вторая стратегия реализует следующие три идеи: разбиение задачи на подзадачи; определение оптимального варианта подзадач; получение решения композицией (объединением) этих подзадач.

Слайд 2





Декомпозиция пространства решений
Множество возможных вариантов решения М разбивается в соответствии с принципом формирования результата  на подмножества Mi такие, что Mi = M. Далее, используя тот же принцип, полученные подмножества вновь разбиваются на подмножества Mj , включающие в себя меньшее количество вариантов. После некоторого шага k разбиения каждое подмножество содержит по одному варианту решения.
Сопоставим каждому подмножеству вершину графа. Соединив ребром вершины, соответствующие подмножествам Mi и Mj, если подмножество Mj получено непосредственным разбиением подмножества Mi, придем к так называемому дереву решений.
Описание слайда:
Декомпозиция пространства решений Множество возможных вариантов решения М разбивается в соответствии с принципом формирования результата на подмножества Mi такие, что Mi = M. Далее, используя тот же принцип, полученные подмножества вновь разбиваются на подмножества Mj , включающие в себя меньшее количество вариантов. После некоторого шага k разбиения каждое подмножество содержит по одному варианту решения. Сопоставим каждому подмножеству вершину графа. Соединив ребром вершины, соответствующие подмножествам Mi и Mj, если подмножество Mj получено непосредственным разбиением подмножества Mi, придем к так называемому дереву решений.

Слайд 3





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

Слайд 4





Декомпозиция в ширину
Все множество возможных вариантов решения M разбивается на подмножества первого уровня Mi1 такие, что  Mi1 = M. Затем каждое подмножество первого уровня Mi1 разбивается на подмножества второго уровня Mj1 такие, что  Mj1= Mi1 . Процесс продолжается до тех пор пока каждое подмножество не будет соответствовать одному варианту решения.
Описание слайда:
Декомпозиция в ширину Все множество возможных вариантов решения M разбивается на подмножества первого уровня Mi1 такие, что  Mi1 = M. Затем каждое подмножество первого уровня Mi1 разбивается на подмножества второго уровня Mj1 такие, что  Mj1= Mi1 . Процесс продолжается до тех пор пока каждое подмножество не будет соответствовать одному варианту решения.

Слайд 5





Декомпозиция в ширину
Рассмотрим задачу поиска всех простых цепей (маршрутов) из вершины х1 в вершину x4 в графе G(X,U).
Принцип формирования маршрутов: начиная с вершины х1, будем включать в маршруты ребра в порядке возрастания их номеров.
Описание слайда:
Декомпозиция в ширину Рассмотрим задачу поиска всех простых цепей (маршрутов) из вершины х1 в вершину x4 в графе G(X,U). Принцип формирования маршрутов: начиная с вершины х1, будем включать в маршруты ребра в порядке возрастания их номеров.

Слайд 6





Декомпозиция в ширину 
Таким образом на первом шаге (на 2-ом уровне дерева решений) множество М разбивается на три непересекающихся подмножества вариантов, одно из которых М1, соответствующее вершине 1 дерева решений, порождает следующие три варианта простых цепей графа G:
{u1, u2, u5}, 
{u1, u4, u7}, 
{u1, u8, u9}.
Описание слайда:
Декомпозиция в ширину Таким образом на первом шаге (на 2-ом уровне дерева решений) множество М разбивается на три непересекающихся подмножества вариантов, одно из которых М1, соответствующее вершине 1 дерева решений, порождает следующие три варианта простых цепей графа G: {u1, u2, u5}, {u1, u4, u7}, {u1, u8, u9}.

Слайд 7





Декомпозиция в глубину с возвращением
Все множество возможных вариантов решения M разбивается на подмножества М1 и М \ M1. Затем подмножество М1 разбивается на подмножества M2 и М1 \ M2. Продвигаемся по этой ветви пока не получим подмножество, соответствующее одному варианту решения. Возвращаемся по ветви вверх, пока не придем в вершину, из множества вариантов которой можно выделить некоторое подмножество в соответствии с принятым принципом. Начиная с этого подмножества строим следующую ветвь, пока не получим подмножество, соответствующее одному варианту решения. Процесс повторяется, пока не будут получены все варианты.
Описание слайда:
Декомпозиция в глубину с возвращением Все множество возможных вариантов решения M разбивается на подмножества М1 и М \ M1. Затем подмножество М1 разбивается на подмножества M2 и М1 \ M2. Продвигаемся по этой ветви пока не получим подмножество, соответствующее одному варианту решения. Возвращаемся по ветви вверх, пока не придем в вершину, из множества вариантов которой можно выделить некоторое подмножество в соответствии с принятым принципом. Начиная с этого подмножества строим следующую ветвь, пока не получим подмножество, соответствующее одному варианту решения. Процесс повторяется, пока не будут получены все варианты.

Слайд 8





Декомпозиция в глубину с возвращением
Выделим на 1-ом шаге из множества М подмножество М1, включив в маршрут ребро u1 из возможных {u1, u3, u6} в соответствии с минимальным индексом.
Описание слайда:
Декомпозиция в глубину с возвращением Выделим на 1-ом шаге из множества М подмножество М1, включив в маршрут ребро u1 из возможных {u1, u3, u6} в соответствии с минимальным индексом.

Слайд 9





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

Слайд 10





Стратегии декомпозиции пространства решений
Рассмотренные стратегии лежат в основе решения многих задач дискретной математики. Укажем некоторые из них.           
Построение глубинного или d-дерева (просмотра в глубину). Является частным случаем построения дерева декомпозиции в глубину с возвращением, а именно – дерева просмотра вершин графа. Вершины и ребра графа включаются в дерево (просматриваются) один раз. Глубинное или d-дерево строится с заданной начальной вершины – корня, затем среди смежных ей, а в дальнейшем смежных последней включенной в дерево, берется первая еще не просмотренная вершина и включается в строящуюся ветвь. Процесс продолжается в соответствии с описанной выше стратегией декомпозиции в глубину с возвращением.
Описание слайда:
Стратегии декомпозиции пространства решений Рассмотренные стратегии лежат в основе решения многих задач дискретной математики. Укажем некоторые из них. Построение глубинного или d-дерева (просмотра в глубину). Является частным случаем построения дерева декомпозиции в глубину с возвращением, а именно – дерева просмотра вершин графа. Вершины и ребра графа включаются в дерево (просматриваются) один раз. Глубинное или d-дерево строится с заданной начальной вершины – корня, затем среди смежных ей, а в дальнейшем смежных последней включенной в дерево, берется первая еще не просмотренная вершина и включается в строящуюся ветвь. Процесс продолжается в соответствии с описанной выше стратегией декомпозиции в глубину с возвращением.

Слайд 11





Глубинное или d-дерево
Вершина xj  F1xi называется потомком вершины xi, сама вершина xi – отцом (предком) вершины xj, а ребро u(xi, xj) – древесным. Вид глубинного дерева зависит от начальной вершины и порядка их перечисления в образах относительно предиката смежности F1X = {F1xi / xi  X}. Для одной компоненты связности в виде неориентированного графа G(X, U) глубинное дерево является остовным.
Количество потомков корневой вершины xr равно F1xr , а всех остальных вершин xi  – F1xi\ Xd , где Xd – множество вершин, уже включенных в строящееся дерево.
Описание слайда:
Глубинное или d-дерево Вершина xj  F1xi называется потомком вершины xi, сама вершина xi – отцом (предком) вершины xj, а ребро u(xi, xj) – древесным. Вид глубинного дерева зависит от начальной вершины и порядка их перечисления в образах относительно предиката смежности F1X = {F1xi / xi  X}. Для одной компоненты связности в виде неориентированного графа G(X, U) глубинное дерево является остовным. Количество потомков корневой вершины xr равно F1xr , а всех остальных вершин xi – F1xi\ Xd , где Xd – множество вершин, уже включенных в строящееся дерево.

Слайд 12





Глубинное или d-дерево
На рисунке (б) показано глубинное дерево неориентированного графа G(X, U) (а) для случая, когда вершины в образах, т. е. в подмножествах Xi = F1xi, перечислены в порядке возрастания номеров (их индексов в записи множества X). Сплошными линиями изображены древесные ребра – UT, а пунктирными – обратные UD = U \ UT.
Описание слайда:
Глубинное или d-дерево На рисунке (б) показано глубинное дерево неориентированного графа G(X, U) (а) для случая, когда вершины в образах, т. е. в подмножествах Xi = F1xi, перечислены в порядке возрастания номеров (их индексов в записи множества X). Сплошными линиями изображены древесные ребра – UT, а пунктирными – обратные UD = U \ UT.

Слайд 13





Глубинное или d-дерево ориентированного графа
Глубинное дерево может строиться и в ориентированном графе. На рис. а и б изображен ориентированный граф G(X, U) и его глубинное (ориентированное корневое) дерево. Построение этого дерева вводит на множестве вершин ориентированного графа отношение частичного порядка: xi  xj, если xi является предком вершины xj.
Описание слайда:
Глубинное или d-дерево ориентированного графа Глубинное дерево может строиться и в ориентированном графе. На рис. а и б изображен ориентированный граф G(X, U) и его глубинное (ориентированное корневое) дерево. Построение этого дерева вводит на множестве вершин ориентированного графа отношение частичного порядка: xi  xj, если xi является предком вершины xj.

Слайд 14





Глубинное или d-дерево ориентированного графа
В этом дереве дуги графа разбиты на четыре класса:
Древесные дуги, идущие от отца к потомку (u2, u3, u5, u7, u8);
Обратные, идущие от потомка к предку (u1, u9);
Прямые, идущие от отца к потомку, но не являющиеся древесными (u10);
Поперечные, соединяющие вершины, ни одна из которых не является потомком другой (u4, u6).
Отношение частичного порядка на множестве вершин ориентированного графа позволяет на основе построения глубинного остовного дерева решать, например, такие задачи как:
распознавание сильной связности ориентированного графа, т. е. существования в нем пути из каждой вершины в любую другую [Асанов];
отыскание блоков, мостов и расщепляющих вершин [Кормен];
установления ацикличности ориентированного графа [Кормен ];
отыскание всех гамильтоновых циклов графа [Асанов].
Описание слайда:
Глубинное или d-дерево ориентированного графа В этом дереве дуги графа разбиты на четыре класса: Древесные дуги, идущие от отца к потомку (u2, u3, u5, u7, u8); Обратные, идущие от потомка к предку (u1, u9); Прямые, идущие от отца к потомку, но не являющиеся древесными (u10); Поперечные, соединяющие вершины, ни одна из которых не является потомком другой (u4, u6). Отношение частичного порядка на множестве вершин ориентированного графа позволяет на основе построения глубинного остовного дерева решать, например, такие задачи как: распознавание сильной связности ориентированного графа, т. е. существования в нем пути из каждой вершины в любую другую [Асанов]; отыскание блоков, мостов и расщепляющих вершин [Кормен]; установления ацикличности ориентированного графа [Кормен ]; отыскание всех гамильтоновых циклов графа [Асанов].

Слайд 15





Дерево поиска в ширину (b-дерево)
Является частным случаем построения дерева декомпозиции в ширину, а именно – дерева просмотра вершин графа. Вершины и ребра графа включаются в дерево (просматриваются) один раз. Это дерево строится в соответствии с рассмотренной выше стратегией декомпозиции в ширину. Назначается некоторая исходная вершин xr –  корень дерева. Первый уровень дерева просмотра составляют вершины, смежные корню, а все следующие – вершины-потомки вершин предыдущего уровня. Количество вершин-потомков определяется по тем же выражениям, что и для поиска в глубину.
Дерево может быть построено как для неориентированного, так и для ориентированного графа. Вид дерева зависит от назначения вершины-корня и порядка перечисления вершин  в образах вершин-предков. Дерево содержит все достижимые из корня вершины.
Описание слайда:
Дерево поиска в ширину (b-дерево) Является частным случаем построения дерева декомпозиции в ширину, а именно – дерева просмотра вершин графа. Вершины и ребра графа включаются в дерево (просматриваются) один раз. Это дерево строится в соответствии с рассмотренной выше стратегией декомпозиции в ширину. Назначается некоторая исходная вершин xr – корень дерева. Первый уровень дерева просмотра составляют вершины, смежные корню, а все следующие – вершины-потомки вершин предыдущего уровня. Количество вершин-потомков определяется по тем же выражениям, что и для поиска в глубину. Дерево может быть построено как для неориентированного, так и для ориентированного графа. Вид дерева зависит от назначения вершины-корня и порядка перечисления вершин в образах вершин-предков. Дерево содержит все достижимые из корня вершины.

Слайд 16





Дерево поиска в ширину (b-дерево)
Для каждой вершины путь до нее из корня является одним из кратчайших, в смысле числа включенных в него ребер, путей в графе. Для неориентированного графа b-дерево  – остовное. Выше были показаны b-деревья неориентированного и ориентированного графов соответственно.  
Просмотр графа в ширину составляет основу алгоритмов решения таких задач как, например:
определение длины кратчайшего пути (в указанном выше смысле) от некоторой вершины до каждой из достижимых [Кормен];
построение остовного дерева минимального веса [Хидет.] и др.
Описание слайда:
Дерево поиска в ширину (b-дерево) Для каждой вершины путь до нее из корня является одним из кратчайших, в смысле числа включенных в него ребер, путей в графе. Для неориентированного графа b-дерево – остовное. Выше были показаны b-деревья неориентированного и ориентированного графов соответственно. Просмотр графа в ширину составляет основу алгоритмов решения таких задач как, например: определение длины кратчайшего пути (в указанном выше смысле) от некоторой вершины до каждой из достижимых [Кормен]; построение остовного дерева минимального веса [Хидет.] и др.

Слайд 17





Особенности просмотра в глубину с возвращением и в ширину в ориентированном графе
В ориентированных графах d - и b-деревья не обязательно являются остовными. Вид дерева зависит от структуры графа и начальной вершины. Как видно из рисунка в зависимости от начальной вершины в данном графе могут быть получены как остовные деревья, так и тривиальные G(x, ).
Описание слайда:
Особенности просмотра в глубину с возвращением и в ширину в ориентированном графе В ориентированных графах d - и b-деревья не обязательно являются остовными. Вид дерева зависит от структуры графа и начальной вершины. Как видно из рисунка в зависимости от начальной вершины в данном графе могут быть получены как остовные деревья, так и тривиальные G(x, ).

Слайд 18





Вычислительная сложность просмотра в глубину с возвращением и в ширину 
Просмотр графа как в глубину с возвращением, так и ширину требует (n + m) операций, где n = X , m =U. Если локальная степень вершин неориентированного графа (или сумма полустепеней исхода и захода в ориентированном) ограничена константой, то асимптотическая оценка построения d - и b-деревьев будет равна О(n).
Описание слайда:
Вычислительная сложность просмотра в глубину с возвращением и в ширину Просмотр графа как в глубину с возвращением, так и ширину требует (n + m) операций, где n = X , m =U. Если локальная степень вершин неориентированного графа (или сумма полустепеней исхода и захода в ориентированном) ограничена константой, то асимптотическая оценка построения d - и b-деревьев будет равна О(n).

Слайд 19





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

Слайд 20





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

Слайд 21





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

Слайд 22





Особенности оценочных функций 
Различают два вида оценочной функции:
отсекающую оценку,  которая достоверно указывает, что исследу-емое подмножество не содержит оптимального решения – подмножество можно исключить из процесса разбиения (отсечь ветви и вершины дерева решений, ему сопоставленные); 
	отсекающей также является оценка выбора подмножества, гарантированно содержащего оптимальный вариант решения. В этом случае отсекаются все подмножества вариантов, которые порождаются остальными вершинами дерева решений. 
оценку перспективности, которая может служить для обоснования очередности разбиения подмножеств, т. е. выбора на каждом шаге построения дерева решений наиболее «перспективной» вершины, с большей вероятностью, чем другие, содержащей оптимальное решение.
Описание слайда:
Особенности оценочных функций Различают два вида оценочной функции: отсекающую оценку, которая достоверно указывает, что исследу-емое подмножество не содержит оптимального решения – подмножество можно исключить из процесса разбиения (отсечь ветви и вершины дерева решений, ему сопоставленные); отсекающей также является оценка выбора подмножества, гарантированно содержащего оптимальный вариант решения. В этом случае отсекаются все подмножества вариантов, которые порождаются остальными вершинами дерева решений. оценку перспективности, которая может служить для обоснования очередности разбиения подмножеств, т. е. выбора на каждом шаге построения дерева решений наиболее «перспективной» вершины, с большей вероятностью, чем другие, содержащей оптимальное решение.

Слайд 23





Выбор оценочных функций
Выбор оценочной функции – один из самых сложных и ответственных этапов подготовки задачи к решению. От него зависит возможность точного решения задачи.. В свою очередь возможности оценочной функции в значительной степени определяются спецификой задачи и математическими свойствами графов – объекта и результата проектирования. 
Оценочная функция в виде верхней или нижней границы целевой функции Fв(Mi) и Fн(Mi) (возможно ее текущего значения, например суммы длин ребер построенного участка маршрута) обычно является основанием для выбора более перспективного подмножества, но может служить и отсекающей оценкой. При этом Fв(Mi) может только убывать, а Fн(Mi) – только возрастать по мере разбиения Mi.
Описание слайда:
Выбор оценочных функций Выбор оценочной функции – один из самых сложных и ответственных этапов подготовки задачи к решению. От него зависит возможность точного решения задачи.. В свою очередь возможности оценочной функции в значительной степени определяются спецификой задачи и математическими свойствами графов – объекта и результата проектирования. Оценочная функция в виде верхней или нижней границы целевой функции Fв(Mi) и Fн(Mi) (возможно ее текущего значения, например суммы длин ребер построенного участка маршрута) обычно является основанием для выбора более перспективного подмножества, но может служить и отсекающей оценкой. При этом Fв(Mi) может только убывать, а Fн(Mi) – только возрастать по мере разбиения Mi.

Слайд 24





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

Слайд 25





Способы отсечения ветвей дерева решений
Можно выделить четыре основных способа отсечения ветвей. 
1. Для подножеств, соответствующих  вершинам дерева (графа) решений, существует оценка выбора, гарантирующая, что оптимальное решение порождается определенным подмножеством. Например, выбор на каждом шаге ребра минимального веса обеспечивает получение точного решения задачи построения минимального остовного дерева.
2. Указанная выше оценка справедлива только для части подмножеств, для остальных она является оценкой перспективности. Например, если два фрагмента простой цепи приходят в одну и ту же вершину, то при решении задачи на минимум целевой функции фрагмент с большим весом не содержит оптимального решения.
Описание слайда:
Способы отсечения ветвей дерева решений Можно выделить четыре основных способа отсечения ветвей. 1. Для подножеств, соответствующих вершинам дерева (графа) решений, существует оценка выбора, гарантирующая, что оптимальное решение порождается определенным подмножеством. Например, выбор на каждом шаге ребра минимального веса обеспечивает получение точного решения задачи построения минимального остовного дерева. 2. Указанная выше оценка справедлива только для части подмножеств, для остальных она является оценкой перспективности. Например, если два фрагмента простой цепи приходят в одну и ту же вершину, то при решении задачи на минимум целевой функции фрагмент с большим весом не содержит оптимального решения.

Слайд 26





Способы отсечения ветвей дерева решений
3. Сравнение оценки (нижней – Fн(Mi) или верхней – Fв(Mi)   границы) со значением целевой функции для уже найденного (опорного) решения Fоп. Действительно, если при решении задачи на минимум целевой функции Fн(Mi)>Fоп, то подмножество Mi не содержит оптимального варианта, и соответствующая вершина дерева решений отсекается. Опорное решение может быть получено заранее приближенным  алгоритмом, реализующим метод жадного выбора, либо в ходе решения задачи тем или иным методом.
4. По результатам сравнения двух оценок. Такое отсечение выполняется, если, например в задаче на минимум целевой функции, для подмножества вариантов соответствующей вершины можно найти оценку снизу Fн(Mi) и сверху Fв(Мi). Тогда, если для некоторого подмножества Mk окажется, что Fн(Mk)  Fв(Mi), то ветвление в вершине,  соответствующей Mk, прекращается.
Описание слайда:
Способы отсечения ветвей дерева решений 3. Сравнение оценки (нижней – Fн(Mi) или верхней – Fв(Mi) границы) со значением целевой функции для уже найденного (опорного) решения Fоп. Действительно, если при решении задачи на минимум целевой функции Fн(Mi)>Fоп, то подмножество Mi не содержит оптимального варианта, и соответствующая вершина дерева решений отсекается. Опорное решение может быть получено заранее приближенным алгоритмом, реализующим метод жадного выбора, либо в ходе решения задачи тем или иным методом. 4. По результатам сравнения двух оценок. Такое отсечение выполняется, если, например в задаче на минимум целевой функции, для подмножества вариантов соответствующей вершины можно найти оценку снизу Fн(Mi) и сверху Fв(Мi). Тогда, если для некоторого подмножества Mk окажется, что Fн(Mk)  Fв(Mi), то ветвление в вершине, соответствующей Mk, прекращается.

Слайд 27





Невычисляемая отсекающая оценка
Вырожденным случаем оценочной функции является невычисляемая отсекающая оценка, например, некоторое заранее сформулированное условие. 
Примером может служить задача о кодовом замке. Пусть кодовый замок имеет четыре разряда, и каждый разряд может принимать значения «0» или «1». Известно, что код не может содержать подряд трех нулей или единиц – условие отсечения. 
При генерации вариантов будем использовать декомпозицию по методу в глубину с возвращением или с отходом назад.
Примем направление обхода дерева решений слева направо. Принцип разбиения множества решений – присваивание соответствующему разряду значения «0» или «1» (количество сгенерированных разрядов равно номеру уровня дерева решений). Очевидно, что дерево будет бинарным. Тогда алгоритм можно сформулировать так: движемся вниз по дереву, придерживаясь левой ветви, пока не получим полной комбинации либо не выясним нецелесообразность этого.
Описание слайда:
Невычисляемая отсекающая оценка Вырожденным случаем оценочной функции является невычисляемая отсекающая оценка, например, некоторое заранее сформулированное условие. Примером может служить задача о кодовом замке. Пусть кодовый замок имеет четыре разряда, и каждый разряд может принимать значения «0» или «1». Известно, что код не может содержать подряд трех нулей или единиц – условие отсечения. При генерации вариантов будем использовать декомпозицию по методу в глубину с возвращением или с отходом назад. Примем направление обхода дерева решений слева направо. Принцип разбиения множества решений – присваивание соответствующему разряду значения «0» или «1» (количество сгенерированных разрядов равно номеру уровня дерева решений). Очевидно, что дерево будет бинарным. Тогда алгоритм можно сформулировать так: движемся вниз по дереву, придерживаясь левой ветви, пока не получим полной комбинации либо не выясним нецелесообразность этого.

Слайд 28





Задача о кодовом замке
Если комбинация 
не подходит, 
либо ее или некоторое множество комбинаций нет смысла набирать (отсечение по условию), 
то возвращаемся в ближайшую вершину и пробуем спускаться по другой ветви (левая ветвь – разряд ставим в положение «1», правая – в «0»).
Описание слайда:
Задача о кодовом замке Если комбинация не подходит, либо ее или некоторое множество комбинаций нет смысла набирать (отсечение по условию), то возвращаемся в ближайшую вершину и пробуем спускаться по другой ветви (левая ветвь – разряд ставим в положение «1», правая – в «0»).

Слайд 29





4.3 Жадный метод
Этот метод осуществляет поиск решения задачи в процессе декомпозиции по методу в ширину. Для реализации метода задача разбивается на подзадачи, имеющие альтернативные варианты решения. Решение задачи в целом получают последовательным решением подзадач.  Он заключается в том, что на каждом уровне дерева решений в соответствии с некоторой оценкой, определяемой спецификой задачи, выбирается одно подмно-жество, не формируя (отсекая) остальные, до тех пор, пока не будет получено решение. Отметим, что для этого метода часто используют термин «жадный алгоритм».Таким образом, здесь формируется только одна ветвь дерева решений.
Оценка метода: алгоритмы, основанные на этом методе, являются наиболее эффективными в смысле затрат времени и памяти ЭВМ;
Описание слайда:
4.3 Жадный метод Этот метод осуществляет поиск решения задачи в процессе декомпозиции по методу в ширину. Для реализации метода задача разбивается на подзадачи, имеющие альтернативные варианты решения. Решение задачи в целом получают последовательным решением подзадач. Он заключается в том, что на каждом уровне дерева решений в соответствии с некоторой оценкой, определяемой спецификой задачи, выбирается одно подмно-жество, не формируя (отсекая) остальные, до тех пор, пока не будет получено решение. Отметим, что для этого метода часто используют термин «жадный алгоритм».Таким образом, здесь формируется только одна ветвь дерева решений. Оценка метода: алгоритмы, основанные на этом методе, являются наиболее эффективными в смысле затрат времени и памяти ЭВМ;

Слайд 30





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

Слайд 31





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

Слайд 32





Пример. Алгоритм Прима построения остовного дерева минимального веса
Теоретически доказано, что выбор на каждом шаге ребра минимальной длины обеспечивает получение точного решения. 
Таким образом, минимальная длина очередного ребра является достоверной оценкой, а включение в строящееся дерево такого ребра отсекает все вершины дерева решений, которые соответствуют вариантам остовного дерева графа G, не содержащим этого ребра. Алгоритм относится к классу полиномиальных и имеет вычислительную сложность не хуже O(n2).
Описание слайда:
Пример. Алгоритм Прима построения остовного дерева минимального веса Теоретически доказано, что выбор на каждом шаге ребра минимальной длины обеспечивает получение точного решения. Таким образом, минимальная длина очередного ребра является достоверной оценкой, а включение в строящееся дерево такого ребра отсекает все вершины дерева решений, которые соответствуют вариантам остовного дерева графа G, не содержащим этого ребра. Алгоритм относится к классу полиномиальных и имеет вычислительную сложность не хуже O(n2).

Слайд 33





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

Слайд 34





4.4 Поиск в ширину и в глубину с возвращением
Последовательное получение решений при декомпозиции как  в ширину, так и в глубину с возвращением, позволяет реализовать поиск оптимального решения в процессе декомпозиции и, возможно, избежать полного перебора для NP-полных задач. Необходимым условием для этого является наличие некоторой оценки, которая является отсекающй для некоторого подмножества (подмножеств) вариантов, а для остальных она является оценкой перспективности.
Для многих комбинаторно-оптимизационных задач характерным является то, что в качестве отсекающей оценки может выступать только опорное решение, т.е. значение целевой функции уже полученного варианта решения. Например, если для задачи на минимум для какого-то подмножества  нижняя граница или текущее значение целевой функции больше или равно значению целевой функции некоторого решения Fоп, это подмножество не содержит оптимального варианта. Следовательно, значение целевой функции уже полученного  решения может быть использовано в качестве отсекающей оценки для следующих вершин дерева декомпозиции.
Описание слайда:
4.4 Поиск в ширину и в глубину с возвращением Последовательное получение решений при декомпозиции как в ширину, так и в глубину с возвращением, позволяет реализовать поиск оптимального решения в процессе декомпозиции и, возможно, избежать полного перебора для NP-полных задач. Необходимым условием для этого является наличие некоторой оценки, которая является отсекающй для некоторого подмножества (подмножеств) вариантов, а для остальных она является оценкой перспективности. Для многих комбинаторно-оптимизационных задач характерным является то, что в качестве отсекающей оценки может выступать только опорное решение, т.е. значение целевой функции уже полученного варианта решения. Например, если для задачи на минимум для какого-то подмножества нижняя граница или текущее значение целевой функции больше или равно значению целевой функции некоторого решения Fоп, это подмножество не содержит оптимального варианта. Следовательно, значение целевой функции уже полученного решения может быть использовано в качестве отсекающей оценки для следующих вершин дерева декомпозиции.

Слайд 35





Поиск в ширину и в глубину с возвращением
В ходе решения, если возможно, уточняется значение отсекающей оценки. Оптимальное решение будет найдено, когда в задаче на минимум целевой функции ее значение для некоторой конечной вершины меньше нижней границы  Fн для всех висячих вершин и меньше значения целевой функции для всех остальных конечных вершин (в задаче на поиск максимума целевой функции соответственно «больше»).
Нижняя  Fн  или верхняя Fв границы наиболее просто вычисляются в тех задачах, в которых необходимо найти оптимальное решение по минимуму или максимуму суммы весов ребер. Примером такой задачи является симметричная или несимметричная задача коммивояжера (поиск гамильтонова цикла). Как известно, для ее решения не существует алгоритма с полиномиальной оценкой вычислительной сложности. В связи с этим отсечение вариантов на основе использования опорного решения при поиске в ширину или глубину с возвращением может оказаться весьма полезным.
Описание слайда:
Поиск в ширину и в глубину с возвращением В ходе решения, если возможно, уточняется значение отсекающей оценки. Оптимальное решение будет найдено, когда в задаче на минимум целевой функции ее значение для некоторой конечной вершины меньше нижней границы Fн для всех висячих вершин и меньше значения целевой функции для всех остальных конечных вершин (в задаче на поиск максимума целевой функции соответственно «больше»). Нижняя Fн или верхняя Fв границы наиболее просто вычисляются в тех задачах, в которых необходимо найти оптимальное решение по минимуму или максимуму суммы весов ребер. Примером такой задачи является симметричная или несимметричная задача коммивояжера (поиск гамильтонова цикла). Как известно, для ее решения не существует алгоритма с полиномиальной оценкой вычислительной сложности. В связи с этим отсечение вариантов на основе использования опорного решения при поиске в ширину или глубину с возвращением может оказаться весьма полезным.

Слайд 36





4.4.1 Поиск в глубину с возвращением
Поиск в глубину с возвращением рассмотрим на примере задачи нахождения в ориентированном графе G(X,U) гамильтонова цикла минимального веса [Асанов, Сигал]. Формальная постановка этой задачи была рссмотрена ранее. Принцип разибения множества вариантов гамильтонова цикла на подмножества – включение в формируемый цикл некоторого ребра, инцидентного достигнутой вершине и не образующего частичного цикла. В качестве нижней границы Fн будем использовать сумму весов ребер построенного фрагмента. Используя полученные решения, будем отсекать вершины (ветви) дерева решений, если Fн  Fоп.
Описание слайда:
4.4.1 Поиск в глубину с возвращением Поиск в глубину с возвращением рассмотрим на примере задачи нахождения в ориентированном графе G(X,U) гамильтонова цикла минимального веса [Асанов, Сигал]. Формальная постановка этой задачи была рссмотрена ранее. Принцип разибения множества вариантов гамильтонова цикла на подмножества – включение в формируемый цикл некоторого ребра, инцидентного достигнутой вершине и не образующего частичного цикла. В качестве нижней границы Fн будем использовать сумму весов ребер построенного фрагмента. Используя полученные решения, будем отсекать вершины (ветви) дерева решений, если Fн  Fоп.

Слайд 37





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

Слайд 38





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

Слайд 39





4.4.2 Поиск в ширину
Задачу коммивояжера можно решать и методом поиска в ширину. На рисунке показано дерево поиска гамильтонова цикла минимального веса, начиная с вершны х1, методом поиска в ширину. Вид дерева поиска решения зависит от метода и выбора начальной вершины.
Описание слайда:
4.4.2 Поиск в ширину Задачу коммивояжера можно решать и методом поиска в ширину. На рисунке показано дерево поиска гамильтонова цикла минимального веса, начиная с вершны х1, методом поиска в ширину. Вид дерева поиска решения зависит от метода и выбора начальной вершины.

Слайд 40





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

Слайд 41





Метод параллельного поиска 
В зависимости от специфики задачи подмножества разных ветвей могут быть как пересекающимися, так и непересекающимися. 
Рассмотрим задачу компоновки схемы в n конструктивных модулей. Множество элементов схемы Э поставлено во взаимнооднозначное соответствие множеству вершин Х гиперграфа Э  Х. 
Указанная задача может быть решена алгоритмом, реализующим метод параллельного поиска. Результатом его работы будет разбиение множества Х вершин гиперграфа на n подмножеств Xi, i=1,n. Так как один и тот же элемент схемы не может входить в разные конструктивные модули и состав Xi определяется по методу поиска в глубину последовательным включением вершин x  X в Xji (Xji соответствует Mji), то Xji  X ip = для всех j, p  I ={1,n}. Таким образом, в данной задаче подмножества, принадлежащие разным ветвям дерева решений, должны быть непересекающимися.
Если подмножества вариантов 1-го уровня содержат все варианты решения, т.е. удовлетворяют условию M1i = M и оценка выбора подмножества в каждой ветви является отсекающей, то метод обеспечивает получение точного решения.
Описание слайда:
Метод параллельного поиска В зависимости от специфики задачи подмножества разных ветвей могут быть как пересекающимися, так и непересекающимися. Рассмотрим задачу компоновки схемы в n конструктивных модулей. Множество элементов схемы Э поставлено во взаимнооднозначное соответствие множеству вершин Х гиперграфа Э  Х. Указанная задача может быть решена алгоритмом, реализующим метод параллельного поиска. Результатом его работы будет разбиение множества Х вершин гиперграфа на n подмножеств Xi, i=1,n. Так как один и тот же элемент схемы не может входить в разные конструктивные модули и состав Xi определяется по методу поиска в глубину последовательным включением вершин x  X в Xji (Xji соответствует Mji), то Xji  X ip = для всех j, p  I ={1,n}. Таким образом, в данной задаче подмножества, принадлежащие разным ветвям дерева решений, должны быть непересекающимися. Если подмножества вариантов 1-го уровня содержат все варианты решения, т.е. удовлетворяют условию M1i = M и оценка выбора подмножества в каждой ветви является отсекающей, то метод обеспечивает получение точного решения.

Слайд 42





4.5 Метод ветвей и границ
Универсальный, хотя и достаточно сложный, метод точного решения широкого круга комбинаторно-оптимизационных задач посредством направленного перебора вариантов при условии, что их число – конечно. 
В худшем случае метод может вылиться в полный перебор. 
В общем случае выполняется частичный перебор. Сокращение количества просмотренных вариантов достигается за счет:
организации ветвления – разбиения множества вариантов на подмножества в наиболее перспективной вершине; 
отсечения подмножеств вариантов, не содержащих оптимального. 
Ветвление – по методу в ширину или в глубину с возвращением с заданным порядком построения ветвей. 
Принцип ветвления и вычисление условий отсечения существенно зависят от вида задачи, а степень сокращения перебора – от ее конкретных данных.
Описание слайда:
4.5 Метод ветвей и границ Универсальный, хотя и достаточно сложный, метод точного решения широкого круга комбинаторно-оптимизационных задач посредством направленного перебора вариантов при условии, что их число – конечно. В худшем случае метод может вылиться в полный перебор. В общем случае выполняется частичный перебор. Сокращение количества просмотренных вариантов достигается за счет: организации ветвления – разбиения множества вариантов на подмножества в наиболее перспективной вершине; отсечения подмножеств вариантов, не содержащих оптимального. Ветвление – по методу в ширину или в глубину с возвращением с заданным порядком построения ветвей. Принцип ветвления и вычисление условий отсечения существенно зависят от вида задачи, а степень сокращения перебора – от ее конкретных данных.

Слайд 43





Метод ветвей и границ
В качестве оценки перспективности ветви используется верхняя Fв(Mi) или нижняя Fн(Mi) границы целевой функции, вычисляемые для каждого подмножества вариантов Mi. В ряде случаев они могут использоваться и для отсечения ветвей.
Рассматриваемый метод по сравнению с другими методами точного решения NP полных задач (поиск в ширину и глубину с возвращением) в большей степени направлен на сокращение полного перебора.
Описание слайда:
Метод ветвей и границ В качестве оценки перспективности ветви используется верхняя Fв(Mi) или нижняя Fн(Mi) границы целевой функции, вычисляемые для каждого подмножества вариантов Mi. В ряде случаев они могут использоваться и для отсечения ветвей. Рассматриваемый метод по сравнению с другими методами точного решения NP полных задач (поиск в ширину и глубину с возвращением) в большей степени направлен на сокращение полного перебора.

Слайд 44





Способы отсечения
Можно выделить три основных способа отсечения ветвей: 
По результатам сравнения оценок сверху или снизу со значением целевой функции для уже найденного опорного решения Fоп, например, если в задаче на минимум целевой функции для некоторого подмножества Mj оказалось, что Fн(Mj)  Fоп, то ветвление в вершине соответствующей подмножеству Mj следует прекратить.
	Опорное решение может быть получено приближенным алгорит-мом заранее или в ходе решения задачи методом ветвей и границ. Причем при разбиении пространства решений при стратегии в глубину с возвращением опорное решение как правило получается на более ранних этапах построения дерева решений, чем при стратегии в ширину.
Описание слайда:
Способы отсечения Можно выделить три основных способа отсечения ветвей: По результатам сравнения оценок сверху или снизу со значением целевой функции для уже найденного опорного решения Fоп, например, если в задаче на минимум целевой функции для некоторого подмножества Mj оказалось, что Fн(Mj)  Fоп, то ветвление в вершине соответствующей подмножеству Mj следует прекратить. Опорное решение может быть получено приближенным алгорит-мом заранее или в ходе решения задачи методом ветвей и границ. Причем при разбиении пространства решений при стратегии в глубину с возвращением опорное решение как правило получается на более ранних этапах построения дерева решений, чем при стратегии в ширину.

Слайд 45





Способы отсечения 
2. По результатам сравнения оценок сверху и снизу, например, если в задаче на минимум целевой функции для некоторого подмножества Mj оказалось, что Fн(Mj)  Fв(Mi), то ветвление в вершине соответствующей подмножеству Mj  следует прекратить.
3. Прекращение ветвления в «особых точках», для которых откуда-либо известно, что полученное множество решений не содержит оптимального варианта. 
Чем точнее будет получена оценка, т. е. чем ближе она будет к значению целевой функции для оптимального варианта подмножества, тем больше вершин будет отсечено и, следовательно, меньше вершин дерева решений будет построено и исследовано.
Описание слайда:
Способы отсечения 2. По результатам сравнения оценок сверху и снизу, например, если в задаче на минимум целевой функции для некоторого подмножества Mj оказалось, что Fн(Mj)  Fв(Mi), то ветвление в вершине соответствующей подмножеству Mj следует прекратить. 3. Прекращение ветвления в «особых точках», для которых откуда-либо известно, что полученное множество решений не содержит оптимального варианта. Чем точнее будет получена оценка, т. е. чем ближе она будет к значению целевой функции для оптимального варианта подмножества, тем больше вершин будет отсечено и, следовательно, меньше вершин дерева решений будет построено и исследовано.

Слайд 46





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

Слайд 47





Способы ветвления
Разбиение множества вариантов на подмножества по методу в ширину и выбор вершины ветвления по минимуму (максимуму) оценочной функции. 
На первом уровне строятся все вершины потомки исходной их или часть. Затем на каждом шаге выбирается вершина ветвления по минимуму нижней границы (максимуму верхней для задачи на максимум целевой функции) и разбивается на соответствующее ей подмножество вариантов. В ходе ветвления используется, если это возможно, тот или иной способ отсечения ветвей и вершин. Процесс выбора вершин и ветвления повторяется для всех висячих вершин.
2. Разбиение множества вариантов по методу в глубину с возвращением – последовательное построение ветвей. 
Строим полностью одну ветвь дерева решений – находим опорный вариант. Полученное для этого варианта значение целевой функции может использоваться как отсекающая оценка. Далее ветвление выполняется последовательно от построенной ветви, начиная с вершины Mi, предшествовавшей конечной. При этом новая ветвь достраивается до конца, если не происходит отсечение. Процедура повторяется по отношению к вершинам новой ветви. 
При последовательном способе ветвления построение дерева решений может выполняться, начиная с левой ветви – слева направо, или с правой – справа налево. 
Количество построенных вершин дерева решений зависит от очередности развития ветвей.
Описание слайда:
Способы ветвления Разбиение множества вариантов на подмножества по методу в ширину и выбор вершины ветвления по минимуму (максимуму) оценочной функции. На первом уровне строятся все вершины потомки исходной их или часть. Затем на каждом шаге выбирается вершина ветвления по минимуму нижней границы (максимуму верхней для задачи на максимум целевой функции) и разбивается на соответствующее ей подмножество вариантов. В ходе ветвления используется, если это возможно, тот или иной способ отсечения ветвей и вершин. Процесс выбора вершин и ветвления повторяется для всех висячих вершин. 2. Разбиение множества вариантов по методу в глубину с возвращением – последовательное построение ветвей. Строим полностью одну ветвь дерева решений – находим опорный вариант. Полученное для этого варианта значение целевой функции может использоваться как отсекающая оценка. Далее ветвление выполняется последовательно от построенной ветви, начиная с вершины Mi, предшествовавшей конечной. При этом новая ветвь достраивается до конца, если не происходит отсечение. Процедура повторяется по отношению к вершинам новой ветви. При последовательном способе ветвления построение дерева решений может выполняться, начиная с левой ветви – слева направо, или с правой – справа налево. Количество построенных вершин дерева решений зависит от очередности развития ветвей.

Слайд 48





Способы ветвления 
3. Комбинация двух рассмотренных способов. 
	Например, строится одна ветвь. 
	Далее развитие дерева решений происходит по методу в ширину, полученное опорное решение используется для отсечения, выбор вершины ветвления выполняется по минимуму нижней границы в задачах на минимум целевой функции (по максимуму верхней в задачах на максимум).
	В ходе решения, если возможно, уточняется значение отсекающей оценки. 
	Оптимальное решение будет найдено, когда в задаче на минимум целевой функции значение для некоторой конечной вершины F(Mik) меньше нижней границы Fн(Mj) для всех висячих вершин и меньше значения целевой функции F(Mlk) для всех остальных конечных вершин (в задаче на поиск максимума целевой функции соответственно «больше»).
Описание слайда:
Способы ветвления 3. Комбинация двух рассмотренных способов. Например, строится одна ветвь. Далее развитие дерева решений происходит по методу в ширину, полученное опорное решение используется для отсечения, выбор вершины ветвления выполняется по минимуму нижней границы в задачах на минимум целевой функции (по максимуму верхней в задачах на максимум). В ходе решения, если возможно, уточняется значение отсекающей оценки. Оптимальное решение будет найдено, когда в задаче на минимум целевой функции значение для некоторой конечной вершины F(Mik) меньше нижней границы Fн(Mj) для всех висячих вершин и меньше значения целевой функции F(Mlk) для всех остальных конечных вершин (в задаче на поиск максимума целевой функции соответственно «больше»).

Слайд 49





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

Слайд 50





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

Слайд 51





Построение оценочной функции (2)
Конструирование оценочных функций должно базироваться на анализе сущности задачи (в данном случае процесса построения маршрута) и свойств функций, которые могут быть использованы в качестве верхних и нижних границ. 
Процесс построения маршрута – это последовательное включение ребер в него до тех пор пока не придем в конечную вершину.
Оценочная функция в конечной вершине должна быть равна значению целевой функции, т. е. сумме длин ребер, составляющих соответствующий маршрут. 
Следовательно, одной из составляющих оценочной функции должна быть сумма длин ребер, уже вошедших в формируемый маршрут от корня до рассматриваемой вершины. 
Нижняя граница для некоторой вершины дерева решений должна быть не больше, а верхняя не меньше, значения целевой функции для любой текущей и конечной вершины поддерева, начинающегося в ней. Очевидно, что вторая составляющая оценочной функции, которая должна приблизить нижнюю или верхнюю границу к значению целевой функции оптимального варианта, должна удовлетворять этому условию.
Описание слайда:
Построение оценочной функции (2) Конструирование оценочных функций должно базироваться на анализе сущности задачи (в данном случае процесса построения маршрута) и свойств функций, которые могут быть использованы в качестве верхних и нижних границ. Процесс построения маршрута – это последовательное включение ребер в него до тех пор пока не придем в конечную вершину. Оценочная функция в конечной вершине должна быть равна значению целевой функции, т. е. сумме длин ребер, составляющих соответствующий маршрут. Следовательно, одной из составляющих оценочной функции должна быть сумма длин ребер, уже вошедших в формируемый маршрут от корня до рассматриваемой вершины. Нижняя граница для некоторой вершины дерева решений должна быть не больше, а верхняя не меньше, значения целевой функции для любой текущей и конечной вершины поддерева, начинающегося в ней. Очевидно, что вторая составляющая оценочной функции, которая должна приблизить нижнюю или верхнюю границу к значению целевой функции оптимального варианта, должна удовлетворять этому условию.

Слайд 52





Построение оценки верхней границы
Сконструированная функция 
не возрастает;
ее значение в конечных вершинах равно значению целевой функции для соответствующего варианта маршрута.
Описание слайда:
Построение оценки верхней границы Сконструированная функция не возрастает; ее значение в конечных вершинах равно значению целевой функции для соответствующего варианта маршрута.

Слайд 53





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

Слайд 54





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

Слайд 55





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

Слайд 56





Поиск маршрута максимальной длины при последовательном ветвлении и порядке построения ветвей справа налево
В данном случае будут исследованы все вершины дерева решений как при полном переборе
Описание слайда:
Поиск маршрута максимальной длины при последовательном ветвлении и порядке построения ветвей справа налево В данном случае будут исследованы все вершины дерева решений как при полном переборе

Слайд 57





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

Слайд 58





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

Слайд 59





Поиск маршрута минимальной длины при последовательном ветвлении справа налево
В данном случае будут исследованы не все вершины дерева решений, но большее количество, чем по методу в глубину.
Описание слайда:
Поиск маршрута минимальной длины при последовательном ветвлении справа налево В данном случае будут исследованы не все вершины дерева решений, но большее количество, чем по методу в глубину.

Слайд 60





Поиск маршрута минимальной длины при последовательном ветвлении слева направо
Описание слайда:
Поиск маршрута минимальной длины при последовательном ветвлении слева направо

Слайд 61





4.6 Метод Дейкстры
В настоящее время в специальной литературе с разной степенью детализации описан алгоритм Дейкстры поиска маршрута минимальной длины и как метод не трактуется. Поскольку идеи этого алгоритма могут быть использованы для решения довольно широкого круга задач дискретной оптимизации по мнению автора его общую схему  следует трактовать как метод.
Метод Дейкстры использует схему  метода ветвей и границ и позволяет найти за полиномиальное время точное решение таких задач, для которых характерны следующие особенности:
1. Решение задачи можно разбить на подзадачи (в задаче определения кратчайшего пути подзадачами являются части пути, приходящие в вершину);
Описание слайда:
4.6 Метод Дейкстры В настоящее время в специальной литературе с разной степенью детализации описан алгоритм Дейкстры поиска маршрута минимальной длины и как метод не трактуется. Поскольку идеи этого алгоритма могут быть использованы для решения довольно широкого круга задач дискретной оптимизации по мнению автора его общую схему следует трактовать как метод. Метод Дейкстры использует схему метода ветвей и границ и позволяет найти за полиномиальное время точное решение таких задач, для которых характерны следующие особенности: 1. Решение задачи можно разбить на подзадачи (в задаче определения кратчайшего пути подзадачами являются части пути, приходящие в вершину);

Слайд 62





Метод Дейкстры
2. Подзадачи не могут быть сформированы заранее, так как зависят от структуры исследуемого графа и порождаются в ходе реализации метода выбранным вариантом решения подзадачи предыдущего уровня;
3. Количество вариантов решения задачи экспоненциально зависит от размера входа, а количество подзадач, среди которых выполняется выбор перспективной, – полиномиально;
4. Задача обладает свойством оптимальности;
5. Существуют подзадачи как имеющие, так и не имеющие альтернативной реализации;
6. Для подзадач с альтернативной реализацией есть отсекающая оценка, однако она не распространяется на другие подзадачи.
Описание слайда:
Метод Дейкстры 2. Подзадачи не могут быть сформированы заранее, так как зависят от структуры исследуемого графа и порождаются в ходе реализации метода выбранным вариантом решения подзадачи предыдущего уровня; 3. Количество вариантов решения задачи экспоненциально зависит от размера входа, а количество подзадач, среди которых выполняется выбор перспективной, – полиномиально; 4. Задача обладает свойством оптимальности; 5. Существуют подзадачи как имеющие, так и не имеющие альтернативной реализации; 6. Для подзадач с альтернативной реализацией есть отсекающая оценка, однако она не распространяется на другие подзадачи.

Слайд 63





Метод Дейкстры 
Задача: поиск маршрута (простой цепи) минимальной длины из некоторой исходной точки в заданную конечную. 
Стратегия декомпозиции множества решений – по методу в ширину при получении вершин первого уровня графа решений, далее – ветвление в перспективной вершине.
Принцип разбиения – включение во фрагмент пути некоторого ребра.
Вершинами графа решений являются вершины графа – модели схемы соединения компонентов объекта. Будем представлять решение в виде последовательности вершин. Таким образом, подзадачей является включение вершины в строящийся фрагмент маршрута, а решением задачи – последовательность решенных подзадач.
Описание слайда:
Метод Дейкстры Задача: поиск маршрута (простой цепи) минимальной длины из некоторой исходной точки в заданную конечную. Стратегия декомпозиции множества решений – по методу в ширину при получении вершин первого уровня графа решений, далее – ветвление в перспективной вершине. Принцип разбиения – включение во фрагмент пути некоторого ребра. Вершинами графа решений являются вершины графа – модели схемы соединения компонентов объекта. Будем представлять решение в виде последовательности вершин. Таким образом, подзадачей является включение вершины в строящийся фрагмент маршрута, а решением задачи – последовательность решенных подзадач.

Слайд 64





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

Слайд 65





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

Слайд 66





Метод Дейкстры
Обозначим начальную вершину маршрута xН, а конечную xК. Количество только тех маршрутов, которые проходят через каждую из вершин X \ { xН, xК}, определяется количеством перестановок элементов этого множества, т. е. (n–2) Однако выбор перспективной может происходить не более чем из (n–1) подзадач. Этот факт основывается на свойстве графа – результата решения, а именно: маршруты, как простые цепи, могут проходить через одну и ту же вершину графа и иметь разную длину до этой вершины. Таким образом, в данной задаче локальный критерий оптимальности является отсекающей оценкой для альтернативных подзадач – двух и более различных фрагментов маршрутов, заканчивающихся в одной и той же вершине. Поскольку количество вершин маршрута без xН и xК не более  (n–2) вычислительная сложность алгоритма, реализующего данный метод, не более О(n2).
Описание слайда:
Метод Дейкстры Обозначим начальную вершину маршрута xН, а конечную xК. Количество только тех маршрутов, которые проходят через каждую из вершин X \ { xН, xК}, определяется количеством перестановок элементов этого множества, т. е. (n–2) Однако выбор перспективной может происходить не более чем из (n–1) подзадач. Этот факт основывается на свойстве графа – результата решения, а именно: маршруты, как простые цепи, могут проходить через одну и ту же вершину графа и иметь разную длину до этой вершины. Таким образом, в данной задаче локальный критерий оптимальности является отсекающей оценкой для альтернативных подзадач – двух и более различных фрагментов маршрутов, заканчивающихся в одной и той же вершине. Поскольку количество вершин маршрута без xН и xК не более (n–2) вычислительная сложность алгоритма, реализующего данный метод, не более О(n2).

Слайд 67





Идея алгоритма Дейкстры 
Тогда, если xi – начальная вершина, xj – конечная вершина, xk –промежуточная вершина, и  Mi’(Xi’) и Mi’’(Xi’’) , 
 такие что L(Mi’) > L(Mi’’), где Xi’={xi, …xr ,xk},Xi’’ ={xi, …xt ,xk} и Xi’ Xi’’,
то все варианты маршрутов, порождаемые множеством Mi’ можно отбросить.
Описание слайда:
Идея алгоритма Дейкстры Тогда, если xi – начальная вершина, xj – конечная вершина, xk –промежуточная вершина, и  Mi’(Xi’) и Mi’’(Xi’’) , такие что L(Mi’) > L(Mi’’), где Xi’={xi, …xr ,xk},Xi’’ ={xi, …xt ,xk} и Xi’ Xi’’, то все варианты маршрутов, порождаемые множеством Mi’ можно отбросить.

Слайд 68





4.7 Метод Форда-Фалкерсона
Этот метод является обобщением широко известного алгоритма того же названия. Метод является основой алгоритмов решения задач о максимальном потоке в сети, о максимальном паросочетании в двудольном графе и др. 
Определение сети, содержательная и формальная постановки задачи отыскания максимального потока в ней были приведены в разделе????. Там же были указаны условия выполнения ограничений по пропускной способности, сохранения потока в сети и в ее вершинах.
Метод Форда-Фалкерсона гарантирует нахождение максимального потока только в сетях с целочисленными и рациональными пропускными способностями (последние могут быть приведены к целочисленным). Для случая иррациональных пропускных способностей итерационный процесс поиска решения может не сходиться
Описание слайда:
4.7 Метод Форда-Фалкерсона Этот метод является обобщением широко известного алгоритма того же названия. Метод является основой алгоритмов решения задач о максимальном потоке в сети, о максимальном паросочетании в двудольном графе и др. Определение сети, содержательная и формальная постановки задачи отыскания максимального потока в ней были приведены в разделе????. Там же были указаны условия выполнения ограничений по пропускной способности, сохранения потока в сети и в ее вершинах. Метод Форда-Фалкерсона гарантирует нахождение максимального потока только в сетях с целочисленными и рациональными пропускными способностями (последние могут быть приведены к целочисленным). Для случая иррациональных пропускных способностей итерационный процесс поиска решения может не сходиться

Слайд 69





Метод Форда-Фалкерсона
Моделью сети является ориентированный граф  G(X, <U, f, c>), где f функция, значение которой показывает количество сообщений по каналам в данном состоянии системы; c – функция, задающая пропускную способность каналов. Основой метода является определение дополняющего пути в графе остаточной сети Gf(X, <Uf, f, c>). 
Дополняющий путь – это простая цепь из истока s в сток t в остаточной сети. Моделью остаточной сети является граф Gf(X, <Uf, f, c>),  множество ребер которого определяется следующим образом:
если c(uj) > f(uj), где Г1uj={xi} и Г2uj={xk}, то ребру uj(xi, xk) присваивается вес cf(uj) = c(uj) – f(uj) и добавляется ребро ur  U & ur  Uf  c весом f(uj) такое, что Г1ur={xk} и Г2ur={xi} или ur(xk, xi);
Описание слайда:
Метод Форда-Фалкерсона Моделью сети является ориентированный граф G(X, <U, f, c>), где f функция, значение которой показывает количество сообщений по каналам в данном состоянии системы; c – функция, задающая пропускную способность каналов. Основой метода является определение дополняющего пути в графе остаточной сети Gf(X, <Uf, f, c>). Дополняющий путь – это простая цепь из истока s в сток t в остаточной сети. Моделью остаточной сети является граф Gf(X, <Uf, f, c>), множество ребер которого определяется следующим образом: если c(uj) > f(uj), где Г1uj={xi} и Г2uj={xk}, то ребру uj(xi, xk) присваивается вес cf(uj) = c(uj) – f(uj) и добавляется ребро ur  U & ur  Uf c весом f(uj) такое, что Г1ur={xk} и Г2ur={xi} или ur(xk, xi);

Слайд 70





Метод Форда-Фалкерсона
если c(uj) = f(uj), то удаляется ребро uj, соединяющее вершину xi с вершиной xk, и добавляется ребро ur  U & ur  Uf c весом c(uj), соединяющее вершину xk с вершиной xi.
Веса ребер ur  Uf  показывают на сколько можно уменьшить поток от вершины xi к вершине xk, если появится необходимость перераспределения потоков в сети. Отметим, что  Uf   U  , Uf   U и Uf   2U. В классическом изложении метода [2. Форд Л.Р., Фалкерсон Д.Р. Потоки в сетях. – М.: Мир, 1966] способ определения дополняющего пути не декларируется.
Ребра множества U будем называть прямыми, а множества Uf \ U - обратными.
Описание слайда:
Метод Форда-Фалкерсона если c(uj) = f(uj), то удаляется ребро uj, соединяющее вершину xi с вершиной xk, и добавляется ребро ur  U & ur  Uf c весом c(uj), соединяющее вершину xk с вершиной xi. Веса ребер ur  Uf показывают на сколько можно уменьшить поток от вершины xi к вершине xk, если появится необходимость перераспределения потоков в сети. Отметим, что Uf  U  , Uf  U и Uf   2U. В классическом изложении метода [2. Форд Л.Р., Фалкерсон Д.Р. Потоки в сетях. – М.: Мир, 1966] способ определения дополняющего пути не декларируется. Ребра множества U будем называть прямыми, а множества Uf \ U - обратными.

Слайд 71





Метод Форда-Фалкерсона
Метод в целом заключается в следующем:
1. Задается начальное состояние сети: в графе  сети G(X,<U, f, c>) значение передаваемого потока f(uj) для всех ребер устанавливается равным нулю. В соответствии с правилами определения ребер графа остаточной сети полученный граф G(X,<U, 0, c>) является иходным графом остаточной сети, в котором Uf  = U.
2. Методом поиска в ширину (возможно в глубину с возвращением) в графе Gf ищется дополняющий путь, пропускная способность которого ∆f, равная минимуму пропускных способностей составляющих его ребер, максимальна.
Описание слайда:
Метод Форда-Фалкерсона Метод в целом заключается в следующем: 1. Задается начальное состояние сети: в графе сети G(X,<U, f, c>) значение передаваемого потока f(uj) для всех ребер устанавливается равным нулю. В соответствии с правилами определения ребер графа остаточной сети полученный граф G(X,<U, 0, c>) является иходным графом остаточной сети, в котором Uf = U. 2. Методом поиска в ширину (возможно в глубину с возвращением) в графе Gf ищется дополняющий путь, пропускная способность которого ∆f, равная минимуму пропускных способностей составляющих его ребер, максимальна.

Слайд 72





Метод Форда-Фалкерсона
3. В графе сети G суммарный поток F увеличивается на ∆f. Значения передаваемого потока f(uj) ребер графа сети изменяются следующим образом:
– если ребро uj(xi, xk) дополняющего пути принадлежит множеству U, то в графе сети поток через него увеличивается на ∆f;
– если ребро ur(xk, xi) дополняющего пути принадлежит множеству Uf \ U, то в графе сети поток через ребро uj(xi, xk) уменьшается на ∆f.
4. Определяется граф остаточной сети Gf.
Процесс повторяется с п. 2 до тех пор, пока существует дополняющий путь.
Описание слайда:
Метод Форда-Фалкерсона 3. В графе сети G суммарный поток F увеличивается на ∆f. Значения передаваемого потока f(uj) ребер графа сети изменяются следующим образом: – если ребро uj(xi, xk) дополняющего пути принадлежит множеству U, то в графе сети поток через него увеличивается на ∆f; – если ребро ur(xk, xi) дополняющего пути принадлежит множеству Uf \ U, то в графе сети поток через ребро uj(xi, xk) уменьшается на ∆f. 4. Определяется граф остаточной сети Gf. Процесс повторяется с п. 2 до тех пор, пока существует дополняющий путь.

Слайд 73





Метод Форда-Фалкерсона
Пример поиска максимального потока в сети. Рисунок иллюстрирует поиск максимального потока в сети, приведенной в  [Кормен]. Около ребер в круглых скобках через наклонную черту указаны поток через ребро f(uj) и его пропускная способность c(uj).
Описание слайда:
Метод Форда-Фалкерсона Пример поиска максимального потока в сети. Рисунок иллюстрирует поиск максимального потока в сети, приведенной в [Кормен]. Около ребер в круглых скобках через наклонную черту указаны поток через ребро f(uj) и его пропускная способность c(uj).

Слайд 74





Метод Форда-Фалкерсона
Описание слайда:
Метод Форда-Фалкерсона

Слайд 75





Метод Форда-Фалкерсона
Описание слайда:
Метод Форда-Фалкерсона

Слайд 76





4.8  Метод динамического программирования
Динамическое программирование решает задачу, объединяя решение подзадач и выбирая лучший  вариант из альтернативных. 
Метод применим, если:
Решение задачи можно разбить на подзадачи, у которых имеются общие подзадачи;
структура подзадач может быть определена заранее, а их количество полиноминально зависит от размера входа (эта особенность разбиения определяется свойствами задачи);
количество вариантов их объединения экспоненциально зависит от размера входа;
для каждой подзадачи существует оценка, позволяющая выбирать из её альтернативных решений то, которое оптимизирует целевую функцию, отсекая другие, - свойство оптимальности (например, любая часть кратчайшего пути сама есть кратчайший путь).
Описание слайда:
4.8 Метод динамического программирования Динамическое программирование решает задачу, объединяя решение подзадач и выбирая лучший вариант из альтернативных. Метод применим, если: Решение задачи можно разбить на подзадачи, у которых имеются общие подзадачи; структура подзадач может быть определена заранее, а их количество полиноминально зависит от размера входа (эта особенность разбиения определяется свойствами задачи); количество вариантов их объединения экспоненциально зависит от размера входа; для каждой подзадачи существует оценка, позволяющая выбирать из её альтернативных решений то, которое оптимизирует целевую функцию, отсекая другие, - свойство оптимальности (например, любая часть кратчайшего пути сама есть кратчайший путь).

Слайд 77





Метод динамического программирования
Идея метода:
решение идет от малых подзадач к большим;
возможные (допустимые) решения получаются объединением решений предыдущих шагов, которые могут входить в разные варианты допустимых;
оценки рассчитываются для всех допустимых решений (подзадач) один раз по полученным ранее оценкам решения объединяемых подзадач.
Метод обеспечивает получение точного решения за полиномиальное время. 
Если оценки для подзадач рассчитывать для каждого варианта их объединения, это потребует экспоненциального времени, так как количество вариантов объединения подзадач экспоненциально.
Описание слайда:
Метод динамического программирования Идея метода: решение идет от малых подзадач к большим; возможные (допустимые) решения получаются объединением решений предыдущих шагов, которые могут входить в разные варианты допустимых; оценки рассчитываются для всех допустимых решений (подзадач) один раз по полученным ранее оценкам решения объединяемых подзадач. Метод обеспечивает получение точного решения за полиномиальное время. Если оценки для подзадач рассчитывать для каждого варианта их объединения, это потребует экспоненциального времени, так как количество вариантов объединения подзадач экспоненциально.

Слайд 78





Пример. Вычисление произведения матриц
Рассмотрим вычисление произведения n матриц
M = М1  М2  …  Мn, 
где Мi – матрица с p строками и q столбцами. Порядок, в котором эти матрицы перемножаются, может существенно сказаться на общем количестве операций, требуемых для вычисления M, независимо от алгоритма, применяемого для умножения матриц.
Требуется определить порядок перемножения матриц, при котором количество операций будет минимальным.
В данной задаче допустимые решения определяются возможным порядком умножения матриц.
Ограничимся n = 4 и рассмотрим произведение:
 M = М1[10,20]  М2[20,50]  М3[50,1]  М4[1,100].
Умножение матриц Mi [p,q] на Mj [q,r] требует mi,j = pqr операций.
Если вычислять M в порядке 
М1  (М2  (М3  М4)),    то потребуется 125000 операций, 
тогда как вычисление M в порядке 
(М1  (М2  М3))  М4    осуществляется за 2200 операций.
Описание слайда:
Пример. Вычисление произведения матриц Рассмотрим вычисление произведения n матриц M = М1  М2  …  Мn, где Мi – матрица с p строками и q столбцами. Порядок, в котором эти матрицы перемножаются, может существенно сказаться на общем количестве операций, требуемых для вычисления M, независимо от алгоритма, применяемого для умножения матриц. Требуется определить порядок перемножения матриц, при котором количество операций будет минимальным. В данной задаче допустимые решения определяются возможным порядком умножения матриц. Ограничимся n = 4 и рассмотрим произведение: M = М1[10,20]  М2[20,50]  М3[50,1]  М4[1,100]. Умножение матриц Mi [p,q] на Mj [q,r] требует mi,j = pqr операций. Если вычислять M в порядке М1  (М2  (М3  М4)), то потребуется 125000 операций, тогда как вычисление M в порядке (М1  (М2  М3))  М4 осуществляется за 2200 операций.

Слайд 79





Пример. Вычисление произведения матриц 
Процесс перебора всех порядков, в которых можно вычислить произведения всех матриц с целью минимизировать число операций, имеет экспоненциальную сложность.
Построим дерево получения решений, руководствуясь изложенной выше идеей метода динамического программирования.
Исходными подзадачами будем считать «умножение» каждой матрицы Mi на саму себя. Примем, что количество операций, необходимых для этого mi = 0.
Возможные порядки умножения двух матриц с учетом их размеров (и число операций): M1M2 (m1,2= 10·20·50),  M2M3 (m2,3= 20·50·1),  M3M4 (m2,3= 50·1·100).
Описание слайда:
Пример. Вычисление произведения матриц Процесс перебора всех порядков, в которых можно вычислить произведения всех матриц с целью минимизировать число операций, имеет экспоненциальную сложность. Построим дерево получения решений, руководствуясь изложенной выше идеей метода динамического программирования. Исходными подзадачами будем считать «умножение» каждой матрицы Mi на саму себя. Примем, что количество операций, необходимых для этого mi = 0. Возможные порядки умножения двух матриц с учетом их размеров (и число операций): M1M2 (m1,2= 10·20·50), M2M3 (m2,3= 20·50·1), M3M4 (m2,3= 50·1·100).

Слайд 80





Пример. Вычисление произведения матриц 
Возможны следующие порядки умножения трех матриц:
1) M1, M2, M3:
	M1(M2  M3) = M1[10,20]  M2,3[20,1], m1,2,3 = m2,3+10·20·1 =1200;
	(M1M2)  M3 = M1,2[10,50]  M3[50,1], m1,2,3 = m1,2+10·50·1 =10500.
2) M2, M3, M4: 
	 (M2M3)  M4 с оценкой m2,3,4 = 3000;
	  M2 (M3  M4) с оценкой m2,3,4 = 105000.
Описание слайда:
Пример. Вычисление произведения матриц Возможны следующие порядки умножения трех матриц: 1) M1, M2, M3: M1(M2  M3) = M1[10,20]  M2,3[20,1], m1,2,3 = m2,3+10·20·1 =1200; (M1M2)  M3 = M1,2[10,50]  M3[50,1], m1,2,3 = m1,2+10·50·1 =10500. 2) M2, M3, M4: (M2M3)  M4 с оценкой m2,3,4 = 3000; M2 (M3  M4) с оценкой m2,3,4 = 105000.

Слайд 81





Пример. Вычисление произведения матриц 
Возможные порядки умножения четырех матриц: 
 (M1(M2M3))M4 с оценкой m1,2,3,4= 2200;
 M1((M2M3) M4) с оценкой m1,2,3,4= 23000;
 (M1M2)(M3 M4) с оценкой m1,2,3,4= 65000;
((M1M2)M3)M4 с оценкой m1,2,3,4=15500; 
M1(M2(M3M4)) с оценкой m1,2,3,4= 125000;
Каждому варианту порядка умножения матриц соответствует дерево свертки. На рисунке показаны деревья свертки для первых трех из указанных выше порядков умножения последовательности из четырех матриц.
Описание слайда:
Пример. Вычисление произведения матриц Возможные порядки умножения четырех матриц: (M1(M2M3))M4 с оценкой m1,2,3,4= 2200; M1((M2M3) M4) с оценкой m1,2,3,4= 23000; (M1M2)(M3 M4) с оценкой m1,2,3,4= 65000; ((M1M2)M3)M4 с оценкой m1,2,3,4=15500; M1(M2(M3M4)) с оценкой m1,2,3,4= 125000; Каждому варианту порядка умножения матриц соответствует дерево свертки. На рисунке показаны деревья свертки для первых трех из указанных выше порядков умножения последовательности из четырех матриц.

Слайд 82





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

Слайд 83





Пример. Вычисление произведения матриц
На последующих рисунках показаны  первый, второй и третий шаги процесса решения задачи. Красным цветом залиты отсекаемые вершины (варианты решения подзадачи), синим – оптимальное решение..
Описание слайда:
Пример. Вычисление произведения матриц На последующих рисунках показаны первый, второй и третий шаги процесса решения задачи. Красным цветом залиты отсекаемые вершины (варианты решения подзадачи), синим – оптимальное решение..

Слайд 84





Количество операций вычислений произведений Mi  Mi+1 …  Mj
Разбиение исходной задачи на подзадачи, количество которых полиноминально зависит от размера входа, наличие отсекающей оценки для формируемых на данном шаге допустимых вариантов решения, запоминание оценок и вычисление следующих на их основе приводят к получению алгоритмов с полиномиальной сложностью. Вычислительная сложность алгоритма определения оптимального порядка умножения матриц, реализующего метод динамического программирования, не хуже O(n3).
Описание слайда:
Количество операций вычислений произведений Mi  Mi+1 …  Mj Разбиение исходной задачи на подзадачи, количество которых полиноминально зависит от размера входа, наличие отсекающей оценки для формируемых на данном шаге допустимых вариантов решения, запоминание оценок и вычисление следующих на их основе приводят к получению алгоритмов с полиномиальной сложностью. Вычислительная сложность алгоритма определения оптимального порядка умножения матриц, реализующего метод динамического программирования, не хуже O(n3).

Слайд 85





4.9 Метод итерационного улучшения
Метод выполняет ограниченный и нередко упорядоченный перебор вариантов решения, генерируя их из исходного варианта в процессе своей работы. Метод относится к классу эвристических. 
Применяется, например для разбиения множества вершин графа на подмножества или определения некоторого варианта взаимнооднозначного соответствия элементов двух множеств, например, решения задачи компоновки – разрезания схемы на подсхемы или позиционирования – размещение микросхем на плате субблока. 
Если имеется исходное приближенное решение, то генерация других вариантов решения может быть выполнена путем допустимых по смыслу задачи перестановок элементов в парах взаимно однознач-ных соответствий (перестановка или обмен). Обмены осуществляют такие, которые приводят к улучшению значения целевой функции с учетом заданных ограничений. 
В общем случае обмены могут быть:
парными,
групповыми.
Описание слайда:
4.9 Метод итерационного улучшения Метод выполняет ограниченный и нередко упорядоченный перебор вариантов решения, генерируя их из исходного варианта в процессе своей работы. Метод относится к классу эвристических. Применяется, например для разбиения множества вершин графа на подмножества или определения некоторого варианта взаимнооднозначного соответствия элементов двух множеств, например, решения задачи компоновки – разрезания схемы на подсхемы или позиционирования – размещение микросхем на плате субблока. Если имеется исходное приближенное решение, то генерация других вариантов решения может быть выполнена путем допустимых по смыслу задачи перестановок элементов в парах взаимно однознач-ных соответствий (перестановка или обмен). Обмены осуществляют такие, которые приводят к улучшению значения целевой функции с учетом заданных ограничений. В общем случае обмены могут быть: парными, групповыми.

Слайд 86





Метод итерационного улучшения - парные обмены
Положим для определенности, что лучшему варианту решения задачи соответствует минимум целевой функции F. Пусть результатом решения задачи является разрезание графа G(X,U) на два куска G1(X1,U1) и G2(X2,U2), для множества вершин которых X1 и Х2 в соответствии с определением понятия «кусок графа» справедливо: Х = Х1  Х2 и Х1  Х2 = . Обозначим исходный вариант решения k0, а значение целевой функции – F0. Предположим, что выбрана пара элементов xiX1 и xjX2 таких, что их перестановка приводит к уменьшению значения целевой функции.
Описание слайда:
Метод итерационного улучшения - парные обмены Положим для определенности, что лучшему варианту решения задачи соответствует минимум целевой функции F. Пусть результатом решения задачи является разрезание графа G(X,U) на два куска G1(X1,U1) и G2(X2,U2), для множества вершин которых X1 и Х2 в соответствии с определением понятия «кусок графа» справедливо: Х = Х1  Х2 и Х1  Х2 = . Обозначим исходный вариант решения k0, а значение целевой функции – F0. Предположим, что выбрана пара элементов xiX1 и xjX2 таких, что их перестановка приводит к уменьшению значения целевой функции.

Слайд 87





Парные обмены
После перестановки элемента xi в Х2, а xj в Х1, получим вариант решений k1 и значение целевой функции F1, причем ∆F1=F0-F10. Процесс продолжают до тех пор, пока существуют перестановки, уменьшающие значение F. 
 Обычно для выбора переставляемых элементов используется приращение ∆F целевой функции. Из множества возможных перестановок выбирают ту, для которой этот показатель имеет экстремальное  значение. Следует иметь в виду, что оценка этого показателя, как правило, требует значительного количества операций преобразования данных, а сами его значения могут полностью или частично меняться после выполнения каждого обмена.
Описание слайда:
Парные обмены После перестановки элемента xi в Х2, а xj в Х1, получим вариант решений k1 и значение целевой функции F1, причем ∆F1=F0-F10. Процесс продолжают до тех пор, пока существуют перестановки, уменьшающие значение F. Обычно для выбора переставляемых элементов используется приращение ∆F целевой функции. Из множества возможных перестановок выбирают ту, для которой этот показатель имеет экстремальное значение. Следует иметь в виду, что оценка этого показателя, как правило, требует значительного количества операций преобразования данных, а сами его значения могут полностью или частично меняться после выполнения каждого обмена.

Слайд 88





Парные обмены
Такой итерационный процесс может привести к нахождению только локального оптимума (FL,kL).
Описание слайда:
Парные обмены Такой итерационный процесс может привести к нахождению только локального оптимума (FL,kL).

Слайд 89





Групповой обмен
Рассмотрим один из способов определения группы. 
Для всех пар вершин xiX1 и xjX2 определяют приращение ∆F.
Выбирают пару вершин с максимальным значением ∆F (оно может быть положительным, отрицательным или равным нулю), временно осуществляют перестановку этих вершин и включают их в множества Х1 и Х2.
Процесс повторяют до тех пор, пока все элементы подмножеств Х1 и Х2 не поменяются местами. Строят зависимость ∆F от шага обмена. По полученной кривой определяют шаг обмена t=k*, при котором значение 
                            t
Р =  ∆Fk  0 
                          k=1
Описание слайда:
Групповой обмен Рассмотрим один из способов определения группы. Для всех пар вершин xiX1 и xjX2 определяют приращение ∆F. Выбирают пару вершин с максимальным значением ∆F (оно может быть положительным, отрицательным или равным нулю), временно осуществляют перестановку этих вершин и включают их в множества Х1 и Х2. Процесс повторяют до тех пор, пока все элементы подмножеств Х1 и Х2 не поменяются местами. Строят зависимость ∆F от шага обмена. По полученной кривой определяют шаг обмена t=k*, при котором значение t Р =  ∆Fk  0 k=1

Слайд 90





Групповой обмен (2)
Обмен любой пары вершин не улучшает значение критерия.
Перенос вершин х1 и х2 в кусок графа G2, а вершин х5 и х6 в кусок G1, приведет к уменьшению значения целевой функции с 6 до 2.
Варианты окончания итерационного процесса:
не существует перестановки, улучшающей целевую функцию (∆Fk ;
достигнута требуемая точность итераций ∆Fk / Fk   , 
получено удовлетворительное значение целевой функции Fk Fдоп;
выполнено допустимое количество итераций.
Описание слайда:
Групповой обмен (2) Обмен любой пары вершин не улучшает значение критерия. Перенос вершин х1 и х2 в кусок графа G2, а вершин х5 и х6 в кусок G1, приведет к уменьшению значения целевой функции с 6 до 2. Варианты окончания итерационного процесса: не существует перестановки, улучшающей целевую функцию (∆Fk ; достигнута требуемая точность итераций ∆Fk / Fk   , получено удовлетворительное значение целевой функции Fk Fдоп; выполнено допустимое количество итераций.

Слайд 91





Характеристика метода итерационного улучшения
Алгоритмы, реализующие итерационный метод, требуют значительно больше машинного времени, чем алгоритмы по методу поиска в глубину. 
Сокращение затрат машинного времени возможно за счет уменьшения числа возможных перестановок. Существуют различные способы упорядочивания переборов, приводящие к снижению количества обменов. 
Один из таких способов заключается в следующем. Для всех xi  X1 и xj  X2 или xi  X подсчитывают величину вклада каждого элемента в значение целевой функции данного решения. Элементы множества Х1 и Х2 или множества Х упорядочивают по не возрастанию этой величины, если оптимум целевой функции соответствует ее минимальному значению. Обозначим после упорядочивания Х1 и Х2 как Y и Z, а Х как Хy. В качестве кандидатов на обмен на k-ом шаге рассматривают элементы, расположенные в соответствующих по порядку позициях упорядоченных множеств Х1 и Х2, т.е. пары (уk, zk), (уk+1, zk+1) и т. д. или для Х - пары, составленные хyk с элементами подмножества {xyk+1, xyk+2,…xyn}. После окончания итерационного процесса можно подсчитать новые значения вкладов элементов в целевую функцию и повторить процесс.
Описание слайда:
Характеристика метода итерационного улучшения Алгоритмы, реализующие итерационный метод, требуют значительно больше машинного времени, чем алгоритмы по методу поиска в глубину. Сокращение затрат машинного времени возможно за счет уменьшения числа возможных перестановок. Существуют различные способы упорядочивания переборов, приводящие к снижению количества обменов. Один из таких способов заключается в следующем. Для всех xi  X1 и xj  X2 или xi  X подсчитывают величину вклада каждого элемента в значение целевой функции данного решения. Элементы множества Х1 и Х2 или множества Х упорядочивают по не возрастанию этой величины, если оптимум целевой функции соответствует ее минимальному значению. Обозначим после упорядочивания Х1 и Х2 как Y и Z, а Х как Хy. В качестве кандидатов на обмен на k-ом шаге рассматривают элементы, расположенные в соответствующих по порядку позициях упорядоченных множеств Х1 и Х2, т.е. пары (уk, zk), (уk+1, zk+1) и т. д. или для Х - пары, составленные хyk с элементами подмножества {xyk+1, xyk+2,…xyn}. После окончания итерационного процесса можно подсчитать новые значения вкладов элементов в целевую функцию и повторить процесс.

Слайд 92





4.10 Генетический метод 
Все рассмотренные ранее методы основаны на детерминированном поиске решения. Если оценочная функция не является отсекающей, то гарантируется поиск локально оптимального решения. 
Генетический метод сочетает направленный поиск, основанный на эвристиках, с элементами случайности, цель которых – исключение «застревания» поиска в точках локального оптимума.
Терминология:
хромосома – любое решение задачи синтеза, т.е. определенным образом организованная совокупность выходных параметров, характеризующих решение задачи;
гены (аллели)– поля хромосом, содержащие значения проектных параметров; 
начальная популяция – исходное множество решений;
кроссинговер (кроссовер) – оператор, осуществляющий скрещивание хромосом, т. е. взаимный обмен генами между хромосомами предварительно выбранной пары родителей, порождающий пару новых решений;
мутация – случайное перестроение генов отдельных решений – порождает новые решения и служит для исключения «застревания» поиска в точках локального оптимума.
Описание слайда:
4.10 Генетический метод Все рассмотренные ранее методы основаны на детерминированном поиске решения. Если оценочная функция не является отсекающей, то гарантируется поиск локально оптимального решения. Генетический метод сочетает направленный поиск, основанный на эвристиках, с элементами случайности, цель которых – исключение «застревания» поиска в точках локального оптимума. Терминология: хромосома – любое решение задачи синтеза, т.е. определенным образом организованная совокупность выходных параметров, характеризующих решение задачи; гены (аллели)– поля хромосом, содержащие значения проектных параметров; начальная популяция – исходное множество решений; кроссинговер (кроссовер) – оператор, осуществляющий скрещивание хромосом, т. е. взаимный обмен генами между хромосомами предварительно выбранной пары родителей, порождающий пару новых решений; мутация – случайное перестроение генов отдельных решений – порождает новые решения и служит для исключения «застревания» поиска в точках локального оптимума.

Слайд 93





Сущность генетического метода
Задается начальная популяция и рассчитываются значения локальной целевой функции.
Выбирается лучшее решение и копируется на место худшего (селекция и репродукция).
Определяется пара родителей:
случайным образом, при этом вероятность выбора хромосом с лучшими значениями целевой функции должна быть выше;
по лучшему значению целевой функции (детерминированно).
Применяется кроссинговер и рассчитывается целевая функция для полученной пары решений. Гены, подлежащие обмену: 
могут выбираться случайно с учетом получения допустимых решений, при этом вероятность выбора может зависеть от значения целевой функции;
назначаться детерминированно. 
Выполняется замещение родительской пары полученной парой или исключение из нового множества решений пары с худшими значениями целевой функции.
Осуществляется мутация случайного или выбранного гена и оценка полученного решения.
Для завершения процесса могут использоваться те же условия, что и у итерационного метода.
Описание слайда:
Сущность генетического метода Задается начальная популяция и рассчитываются значения локальной целевой функции. Выбирается лучшее решение и копируется на место худшего (селекция и репродукция). Определяется пара родителей: случайным образом, при этом вероятность выбора хромосом с лучшими значениями целевой функции должна быть выше; по лучшему значению целевой функции (детерминированно). Применяется кроссинговер и рассчитывается целевая функция для полученной пары решений. Гены, подлежащие обмену: могут выбираться случайно с учетом получения допустимых решений, при этом вероятность выбора может зависеть от значения целевой функции; назначаться детерминированно. Выполняется замещение родительской пары полученной парой или исключение из нового множества решений пары с худшими значениями целевой функции. Осуществляется мутация случайного или выбранного гена и оценка полученного решения. Для завершения процесса могут использоваться те же условия, что и у итерационного метода.

Слайд 94





Пример генерационного цикла получения строки из 8 двоичных символов с максимальным количеством единиц
Популяция состоит из четырех хромосом, ее размер остается неизменным:
1
2
3
4
Описание слайда:
Пример генерационного цикла получения строки из 8 двоичных символов с максимальным количеством единиц Популяция состоит из четырех хромосом, ее размер остается неизменным: 1 2 3 4

Слайд 95





Характеристика генетического метода
Алгоритмы, реализующие генетический метод, гарантируют получение лишь приближенного решения. 
Обладая достоинствами детерминированных алгоритмов (большей эффективностью по сравнению с вероятностными), генетические алгоритмы за счет использования вероятностного подхода при селекции, выборе пары родителей, работы кроссинговера и мутации должны быть лишены таких недостатков, как попадание в локальные экстремумы и зацикливание.
Максимальное усиление любого из достоинств генетического метода способно свести остальные его преимущества на нет, превращая его в чисто вероятностный или полностью детерминированный метод. 
Простейшим примером вырожденного случая является итераци-онный алгоритм парных обменов, в котором репродуцируется одно начальное решение и выполняется парный обмен генов, т. е. скрещивание хромосом.
Описание слайда:
Характеристика генетического метода Алгоритмы, реализующие генетический метод, гарантируют получение лишь приближенного решения. Обладая достоинствами детерминированных алгоритмов (большей эффективностью по сравнению с вероятностными), генетические алгоритмы за счет использования вероятностного подхода при селекции, выборе пары родителей, работы кроссинговера и мутации должны быть лишены таких недостатков, как попадание в локальные экстремумы и зацикливание. Максимальное усиление любого из достоинств генетического метода способно свести остальные его преимущества на нет, превращая его в чисто вероятностный или полностью детерминированный метод. Простейшим примером вырожденного случая является итераци-онный алгоритм парных обменов, в котором репродуцируется одно начальное решение и выполняется парный обмен генов, т. е. скрещивание хромосом.

Слайд 96





4.11 Метод параллельно-последовательной 
n-арной свертки
Метод предназначен для объединения элементов множества X в некоторые подмножества. 
В графе в качестве свертываемых множеств могут рассматриваться как множество вершин Х, так и ребер U.
До начала свертки в качестве кандидатов на объединение рассматривают все элементы множества Х. На первом шаге объединяют удовлетворяющие заданному критерию подмножества множества Х. В общем случае подмножества могут состоять из одного, двух или более элементов. Сформированные подмножества рассматривают как элементы нового множества, по отношению к которому процедура может быть повторена. 
Включение в состав формируемого подмножества элементов или частей других подмножеств невозможно, поскольку если Х1 и Х2 – подмножества, сформированные к некоторому шагу свертки, то возможно получение нового подмножества Z = {X1, X2} и невозможно – Z = {X’1, X’2}, в котором Х’1 Х1 и Х’2  Х2 или Х’1  Х1 и Х’2 X2.
Следовательно формируются только непересекающиеся подмножества.
Описание слайда:
4.11 Метод параллельно-последовательной n-арной свертки Метод предназначен для объединения элементов множества X в некоторые подмножества. В графе в качестве свертываемых множеств могут рассматриваться как множество вершин Х, так и ребер U. До начала свертки в качестве кандидатов на объединение рассматривают все элементы множества Х. На первом шаге объединяют удовлетворяющие заданному критерию подмножества множества Х. В общем случае подмножества могут состоять из одного, двух или более элементов. Сформированные подмножества рассматривают как элементы нового множества, по отношению к которому процедура может быть повторена. Включение в состав формируемого подмножества элементов или частей других подмножеств невозможно, поскольку если Х1 и Х2 – подмножества, сформированные к некоторому шагу свертки, то возможно получение нового подмножества Z = {X1, X2} и невозможно – Z = {X’1, X’2}, в котором Х’1 Х1 и Х’2  Х2 или Х’1  Х1 и Х’2 X2. Следовательно формируются только непересекающиеся подмножества.

Слайд 97





Метод параллельно-последовательной 
свертки
При объединении подмножеств (элементов) происходит отсечение других вариантов состава подмножеств. Очевидно, что точность получаемого решения определяется тем, является ли оценка выбора кандидатов на объединение отсекающей, т. е. точной, или оценкой выбора перспективного решения. В случае, если это оценка выбора перспективного решения, то метод гарантирует лишь получение приближенного решения, так как он не предусматривает сохранение и рассмотрение других вариантов состава подмножеств.
Описание слайда:
Метод параллельно-последовательной свертки При объединении подмножеств (элементов) происходит отсечение других вариантов состава подмножеств. Очевидно, что точность получаемого решения определяется тем, является ли оценка выбора кандидатов на объединение отсекающей, т. е. точной, или оценкой выбора перспективного решения. В случае, если это оценка выбора перспективного решения, то метод гарантирует лишь получение приближенного решения, так как он не предусматривает сохранение и рассмотрение других вариантов состава подмножеств.

Слайд 98





Метод параллельно-последовательной 
свертки
Возможны два варианта окончания процесса свертки:
процесс заканчивается, когда все элементы множества свернуты в один; 
	С практической точки зрения это требуется, если такое событие означает установление того факта, что множество в целом обладает некоторым определяющим свойством, например, что все множество вершин гиперграфа некоторой схемы является минимальным массивом. 
в тех случаях, когда на подмножества наложены ограничения (например, количество подмножеств, их элементов, суммарный вес элементов), процесс свертки заканчивается при удовлетворении этих условий. 
По мере получения подмножеств, для которых выполняются заданные ограничения, эти подмножества исключаются из рассмотрения.
Описание слайда:
Метод параллельно-последовательной свертки Возможны два варианта окончания процесса свертки: процесс заканчивается, когда все элементы множества свернуты в один; С практической точки зрения это требуется, если такое событие означает установление того факта, что множество в целом обладает некоторым определяющим свойством, например, что все множество вершин гиперграфа некоторой схемы является минимальным массивом. в тех случаях, когда на подмножества наложены ограничения (например, количество подмножеств, их элементов, суммарный вес элементов), процесс свертки заканчивается при удовлетворении этих условий. По мере получения подмножеств, для которых выполняются заданные ограничения, эти подмножества исключаются из рассмотрения.

Слайд 99





Метод параллельно-последовательной 
свертки
Процесс свертки можно наглядно представить в виде дерева, в котором вершины j-го уровня сопоставлены подмножествам, являющимся кандидатами на объединение, а ребра указывают на вхождение двух или более подмножеств в новое подмножество. На нижнем уровне вершины соответствуют элементам исходного множества.
Описание слайда:
Метод параллельно-последовательной свертки Процесс свертки можно наглядно представить в виде дерева, в котором вершины j-го уровня сопоставлены подмножествам, являющимся кандидатами на объединение, а ребра указывают на вхождение двух или более подмножеств в новое подмножество. На нижнем уровне вершины соответствуют элементам исходного множества.

Слайд 100





Двоичная свертка
Различают уравновешенную и неурав-новешенную двоичную свертку. 
При уравновешенной или параллельной двоичной свертке вновь образован-ный (факторизованный) элемент пе-реходит на следующий уровень де-рева, т. е. сформированное подмно-жество становится элементом нового множества. Свертка на текущем уровне продолжается для оставших-ся элементов. Очевидно, что на каж-дом уровне свертки число элементов вдвое меньше, чем на предыдущем. 
Количество элементов на уровне j определяется по формуле: 
nj = n/2j -1, j = 1,q, где q = ln2 n.
При неуравновешенной двоичной сверт-ке элементы или подмножества,     вошедшие в новое подмножество,  исключаются из множества, а это новое подмножество включается в него и участвует в процессе свертки.
Описание слайда:
Двоичная свертка Различают уравновешенную и неурав-новешенную двоичную свертку. При уравновешенной или параллельной двоичной свертке вновь образован-ный (факторизованный) элемент пе-реходит на следующий уровень де-рева, т. е. сформированное подмно-жество становится элементом нового множества. Свертка на текущем уровне продолжается для оставших-ся элементов. Очевидно, что на каж-дом уровне свертки число элементов вдвое меньше, чем на предыдущем. Количество элементов на уровне j определяется по формуле: nj = n/2j -1, j = 1,q, где q = ln2 n. При неуравновешенной двоичной сверт-ке элементы или подмножества, вошедшие в новое подмножество, исключаются из множества, а это новое подмножество включается в него и участвует в процессе свертки.

Слайд 101





Характеристика метода двоичной свертки
Метод двоичной свертки не гарантирует нахождение точного решения. 
	Действительно, пусть на некотором шаге свертки имеется подмножество Хk  Х, ни одна из пар хi, хj элементов которого не может быть свернута, так как значения заданного критерия не удовлетворяет требованию к нему, и ни один из элементов xi  Xk не может быть объединен ни с каким из сформированных подмножеств. Если среди элементов подмножества Xk существуют подмножества, например, из 3-х элементов, которые удовлетворяют требованиям, предъявляемым к значению соответствующего критерия, то такие подмножества не будут найдены. 
Примером может служить задача выделения всех минимальных массивов гиперграфа. В гиперграфе может вообще не существовать минимальных массивов из 2-х вершин и существовать минимальные массивы из 3-х, 4-х и т.д. вершин.
Сказанное однако не означает, что на основе метода двоичной свертки нельзя построить точный алгоритм.
Описание слайда:
Характеристика метода двоичной свертки Метод двоичной свертки не гарантирует нахождение точного решения. Действительно, пусть на некотором шаге свертки имеется подмножество Хk  Х, ни одна из пар хi, хj элементов которого не может быть свернута, так как значения заданного критерия не удовлетворяет требованию к нему, и ни один из элементов xi  Xk не может быть объединен ни с каким из сформированных подмножеств. Если среди элементов подмножества Xk существуют подмножества, например, из 3-х элементов, которые удовлетворяют требованиям, предъявляемым к значению соответствующего критерия, то такие подмножества не будут найдены. Примером может служить задача выделения всех минимальных массивов гиперграфа. В гиперграфе может вообще не существовать минимальных массивов из 2-х вершин и существовать минимальные массивы из 3-х, 4-х и т.д. вершин. Сказанное однако не означает, что на основе метода двоичной свертки нельзя построить точный алгоритм.

Слайд 102





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

Слайд 103





Характерные особенности метода двоичной свертки при сортировке слияниями
критерий слияния подмножеств – их принадлежность к одному уровню свертки;
сортировка обеспечивается упорядочиваем элементов каждого подмножества; 
окончание процесса свертки означает реализацию на множестве чисел X отношения порядка.
Оценим количество операций сравнения Nc, необходимых для упорядочивания n элементов множества X алгоритмом слияния:
если n – степень двойки, то количество подмножеств (вершин) на уровне j – nj = n/2j-1, где j = 1,q, q = log2n;
число элементов в подмножестве уровня j – 2j -1;
количество сравнений элементов двух подмножеств уровня j -                     2·2j -1-1 =2j - 1.
Суммарное количество сравнений на уровне j – (2j -1)nj /2 = n(1 – 2-j).
Суммируя по j = 1,q , получим
                                                  q
                                       Nc = n (1-2-j.).
                                                 j =1
Очевидно, что Nc < n log2n, в то время как алгоритм сортировки выбором требует Nв = n(n-1)/2 -1 операций сравнения чисел.
Описание слайда:
Характерные особенности метода двоичной свертки при сортировке слияниями критерий слияния подмножеств – их принадлежность к одному уровню свертки; сортировка обеспечивается упорядочиваем элементов каждого подмножества; окончание процесса свертки означает реализацию на множестве чисел X отношения порядка. Оценим количество операций сравнения Nc, необходимых для упорядочивания n элементов множества X алгоритмом слияния: если n – степень двойки, то количество подмножеств (вершин) на уровне j – nj = n/2j-1, где j = 1,q, q = log2n; число элементов в подмножестве уровня j – 2j -1; количество сравнений элементов двух подмножеств уровня j - 2·2j -1-1 =2j - 1. Суммарное количество сравнений на уровне j – (2j -1)nj /2 = n(1 – 2-j). Суммируя по j = 1,q , получим q Nc = n (1-2-j.). j =1 Очевидно, что Nc < n log2n, в то время как алгоритм сортировки выбором требует Nв = n(n-1)/2 -1 операций сравнения чисел.

Слайд 104


Методы решения комбинаторно-оптимизационных задач. (Тема 4), слайд №104
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию