УДК 519.81
Профессор Ю.В. Бугаев, доцент И.Е. Медведкова, доцент С.В. Чикунов, аспирант Ф.А. Музалевский
(Воронеж. гос. ун-т инж. технол.) кафедра информационных технологий, моделирования и управления, тел. (473) 255-25-50
Механизм выбора вариантов
при заданных отношениях для компонент
объектов сравнения
Рассмотрен синтез механизма выбора составных объектов на основе сравнения их компонент.
The synthesis of composite object selection mechanism based on a comparison of their components.
Ключевые слова: выбор вариантов, бинарные отношения.
В работе [1] предложено обобщение схемы динамического программирования (ДП), описанное в терминах языка функций выбора (ФВ) - наиболее универсального и удобного для анализа описания концепции выбора.
Напомним, что в [1] рассматривалась следующая задача. Имеем некоторый многошаговый процесс, на каждой стадии которого необходимо выбрать набор управлений, позволяющий построить множество «хороших» траекторий. Пусть Т - некоторое множество траекторий процесса. Рассматривая каждую траекторию реТ как допустимое альтернативное решение некоторой задачи выбора, а T -как некое предъявление, введем ФВ С(Т), позволяющую осуществлять выбор «хороших» траекторий.
Определение 1. Назовем
С-оптимальными все траектории предъявления, попавшие в выбор.
Предположим, что ФВ определена не только на целых траекториях, но и на каждой их части. Пусть все траектории некоторого множества Z имеют общий фрагмент р, т.е. имеем соотношение:
Z = Y & p, (1)
где символ «&» означает операцию стыковки частей траекторий.
Определение 2. Будем говорить, что ФВ обладает свойством слабой аддитивности, если для любого множества Y неполных траекторий, удовлетворяющего соотношению (1)
© Бугаев Ю.В., Медведкова И.Е. Чикунов С.В., Музалевский Ф.А., 2012
при некоторой совокупности траекторий Z и фиксированном фрагменте р, справедливо равенство
С(У & р) = С(У) & р.
В [1] дана формулировка обобщенного принципа оптимальности Беллмана (ОПОБ), который определяет метод отбора С-оптимальных траекторий, предложена численная схема поиска таких траекторий и доказана следующая теорема.
Теорема 1. Если ФВ С(«), определенная на множестве траекторий и их отдельных фрагментов, обладает свойствами наследования, отбрасывания и слабой аддитивности, то численная схема, основанная на ОПОБ, позволяет найти все С-оптимальные траектории процесса.
Этот результат позволил с единых позиций провести анализ ряда алгоритмов, вписывающихся в данную концепцию, однако проблема синтеза новых численных схем остаётся открытой. Рассмотрим, например, следующую задачу.
Пример 1. Пусть имеется некоторый граф, на котором требуется найти набор в определённом смысле нехудших путей. Для осуществления выбора необходимо сравнивать альтернативные варианты путей, например, посредством какого-то бинарного отношения. Очевидно, что в постановке задачи невозможно описать это отношение в явном виде на множестве всех путей, т.к. их количество, скорее всего, будет слишком велико. Намного реальнее ввести правило сравнения отдельных рёбер графа. В простейшем случае
это можно сделать посредством задания их критериальных весов на числовой шкале [2, 3]. В силу аддитивности критериев сложностей со сравнением путей здесь не возникает. Но при задании правила сравнения рёбер на более слабых шкалах, не допускающих применение обычных арифметических операций [4], возникает проблема корректного использования этого правила в вычислительном алгоритме, т.к. в методах, основанных на схеме ДП, придётся сравнивать как полные пути, так и их фрагменты, причём количество рёбер у сравниваемых фрагментов может различаться.
Подобные задачи возникают в сетевом планировании, при построении маршрутов в компьютерных сетях и в других приложениях.
Данная работа посвящена синтезу ФВ, основанной на механизме блокировки по бинарному отношению и построению на этой основе вычислительных алгоритмов.
1. Построение бинарного отношения для объектов. Пусть на множестве некоторых элементов Х = [х\, Х2,..., Хп} задано бинарное отношение (БО) Я*, определяющее предпочтение одного элемента перед другим. На базе Я* построим отношение Я, позволяющее сравнить два объекта А и В, представляющие собой произвольные наборы элементов множества X. При этом предполагается, что количество элементов в одном объекте может не совпадать с количеством элементов в другом, а один и тот же элемент может входить в оба объекта.
Пусть отношение Я* позволяет отсортировать элементы, составляющие объект, внутри самого набора, т.е. при А = [х\, Х2,..., Хк} положим А5 = {х^ , х^ ,..., х^ } - отсортированный объект А, где Vи, 1 < и < к — 1, (х- х- ) е Я *. Введём бинарное отношение
4 ги ' ги+1 у
Я для отсортированных объектов. Пусть два сравниваемых объекта А5 и В5 имеют одинаковое число элементов - т, т.е. А5 = (01, 02,..., ат), В5 = (61, 62,..., Ьт). Тогда А5Я В5 V г = 1, ..., т О, Ь)еЯ* (2)
Если два сравниваемых объекта А5 и В5 имеют разное число элементов, то более «короткий» из них дополним сначала «пустыми» объектами '0', для которых по определению будем считать
V х е Х ('0' , хг)еЯ*. (3)
Тогда для произвольных объектов А5 и В5 соотношение (2) будем строить с учётом (3).
2. Применимость механизма к динамическому программированию. Определим условия, которые необходимо наложить на бинарное отношение Я* для возможности применения схемы (2) в ДП. Перечень ограничений представляется логичным разбить на две части. Первая - связана с необходимостью сортировки элементов внутри объекта, вторая - с непосредственным применением предложенной схемы.
Для осуществления сортировки, очевидно, необходимо, чтобы Я* было антисимметрично, полно и транзитивно, т.е. являлось линейным порядком [5]. Далее будем полагать, что элементы внутри объектов сравнения отсортированы должным образом.
Определим вторую часть ограничений, которые следует наложить на Я*. Известно [5], что структуры, представленные асимметричными и транзитивными бинарными отношениями, порождают непустые функции выбора, обладающие свойствами наследования, согласия и отбрасывания (что необходимо для применения метода динамического программирования при поэтапном выборе).
Докажем транзитивность Я. Пусть имеем три отсортированных объекта А5 , В5 и С5, причём А5 Я В5 и В5 Я С . Тогда согласно (2) V г = 1, ..., т (аг, Ьг)еЯ*л (Ьг, ег)еЯ*, где т - максимум из длин наборов А, В и С. Поскольку ранее на Я* было наложено условие транзитивности, можно утверждать, что V г = 1, ..., т (аг, с)еЯ*, а это означает А5 Я С5, что и требовалось доказать.
Определим условия, при которых Я асимметрично.
Имеем А5 Я В5. Из формулы (2) видно, что одновременное выполнение В5 Я А5 возможно лишь при полном поэлементном равенстве оценок в А5 и В5. В случае, когда оценки А5 и В5 полностью поэлементно совпадают, следует использовать некоторый дополнительный критерий выбора, например, выбирать альтернативу с наименьшим порядковым номером. Таким образом достигается асимметричность.
Покажем, при каком условии функция выбора, порождаемая БО Я, будет обладать свойством слабой аддитивности. Для этого дадим следующее определение.
Определение 3. Пусть на множестве траекторий и их фрагментов некоторого многостадийного процесса определено БО Р. Будем говорить, что Р обладает свойством инвариантности относительно сдвига, если выполнено условие:
Ух, уеЛ, УЬ | х&Ь,у&Ье Л' (х,у)еР
(х&Ь, у&Ь)еР (4)
Теорема 2. Для того чтобы ФВ, основанная на механизме блокировки по некоторому бинарному отношению Р, обладала свойством слабой аддитивности, необходимо и достаточно, чтобы Р было инвариантно относительно сдвига.
Доказательство. Напомним, что механизм блокировки определяется следующим правилом:
СР(Х) = {хеХ| УуеХ (у, х)йР}.
Достаточность. Пусть для Р выполнено соотношение (4), и пусть У - некоторое множество неполных траекторий. Выберем произвольную пару альтернатив х и у, что хеСР(У). Тогда (у, х)йР, а следовательно, (у&Ь, х&Ь) йР. Значит, (х&Ь) еСР(У&Ь). Отсюда СР (У)& Ь <СР (У & Ь). Аналогично доказывается и обратное включение. Значит СР (У & Ь) = = СР (У)& Ь.
Необходимость. Пусть (х&Ь) еСР(У&Ь), а значит и хеСР(У). Тогда для любой траектории (у&Ь) будет (у&Ь, х&Ь)йР. Предположим, что отношение (у, х)йР не выполняется. Но тогда хйСР(У) - противоречие. Значит (у&Ь, х&Ь)йР ^ (у, х)йР. Аналогично доказывается и обратное следование. В итоге получим условие (4). Теорема доказана.
Следовательно, надо показать, что БО Я инвариантно относительно сдвига. Перепишем определение (4):
УА, ВеХ, Ух | Л&х, В&хе X' (А, В)еЯ (Л&х, В&х)еЯ. Пусть при сортировке вектора Л&х элемент х попал на порядковое место Iа е {1, .., т+1}, а при сортировке В&х - на ¡ъ. Рассмотрим следующие случаи.
1. ¡а = ¡ъ = к. Тогда для элементов А5 и В5 с индексами ] как меньше, так и больше к, сохранится условие а, Ь})еЯ*, а в силу полноты и (ак, Ьк) = (х, х) еЯ*. Следовательно, (Л&х)5 Я (В&х)5.
2. ¡а > ¡ъ. В таком случае для 1 < ¡ъ и 1 > ¡а сохранится отношение (а,, Ьг)еЯ*. Для остальных элементов Л5 и В5 в силу транзитивности
и полноты Я* выполняется следующая цепочка отношений:
аЯ * а. +1 Я *...Я * а. 1 Я * хЯ * хЯ * Ь. Я * Ь. +1 „.Я * Ь.
'ъ 'ъ + 1 'а -1 'ъ 'ъ +1 'а
_ _ (5)
Обозначим аI и Ь - элементы, стоящие на ¡-м месте в наборах (Л&х)5 и (В&х) 5. Очевидно, справедливы следующие соотношения:
а1 при I < 1а . х при г=га
at =
bi =
at-1 при i > ia bt при i < ib x при i = ib bt -i при i > ib
(6)
Тогда из (5) и (6) имеем следующий набор отношений:
aib = aibR *x=h;
aib +1 = aib +1 R * bib = bib +1; aib + 2 R * bib + 2;
x = ~aiaR * bi -1 = bia . (7)
a la 1 a
Иными словами, в этом случае (A&x) R (B&x).
3. ia < ib. Тогда для элементов AS и BS должны выполняться следующие отношения: xR * ai R * ...R * au -1 R * bu -1 R * x
la lb 1 lb 1
xR * a,- R * bi R *... R * b, i R * x.
'a 'a lb 1
Очевидно, в силу антисимметричности R*, это может иметь место только при
x = aia = bia = . = aib -1 = bib -1 = x .
Отсюда получим
Gia = xR * bia = bib ; aia +1 = aia R * bia R * ba +1 = bb +1; ^ aib = aib -1R * bib -1 = bib = x; Следовательно, (A&x) R (B&x). Теорема доказана
Таким образом, бинарное отношение R может быть положено в основу функции выбора, применяемой при динамическом программировании.
3. Пример практического применения. При построении оптимальных маршрутов в вычислительных сетях на уровне протоколов маршрутизации (RIP, OSPF) применяется некоторый скалярный критерий (метрика). Использование различных вариантов метрики невозможно в силу сложности интегрирования разнородных критериев [6]. Предлагаемый метод позволяет сравнивать маршруты, элементы которых оценены различными метриками (пропускной способностью канала, дли-
ной очереди на маршрутизаторе, процентом потерь при доставке пакетов и т.п.) при выполнении одного единственного условия -необходимо задать отношения предпочтения для всех неделимых элементов графа-сети.
Отдельно следует рассмотреть случай возникновения нескольких элементов в множестве недоминируемых альтернатив. В таком случае следует учесть схему построения сети. Если предполагается (хотя бы теоретически) возможность отправки пакета сразу по нескольким адресам, то сложностей при применении метода возникнуть не должно. Если же есть ограничение на количество отправляемых копий пакета, то необходимо ввести дополнительное ограничение.
Простейшим примером такого ограничения может служить выбор п первых элементов множества (где п - максимально допустимое число копий пакетов). Данное ограничение имеет существенный недостаток: при различных вариантах представления одних и тех же входных данных (например, различном порядке следования альтернатив), будут получены различные решения. Этот недостаток можно обойти, проводя предварительную сортировку предъявляемого множества альтернатив, на котором необходимо осуществить выбор. Данная сортировка может замедлить поиск решения, но она не является обязательной. Ведь в реально функционирующих информационных системах сбор данных осуществляется автоматизировано, следовательно, предоставляемый формат данных является константным, то есть искажения порядка следования входных данных не будет происходить.
На основании сказанного сформулируем задачу. Необходимо составить список нехудших маршрутов из вершины 5 в вершину t, по которым могут быть отправлены пакеты данных. Лучшим будем считать маршрут, у которого число звеньев минимально и из них максимальное количество звеньев обладает «хорошим качеством». Качество ребра определим некоторым бинарным отношением Я*, свойства которого были оговорены выше.
Отметим, что от порядка следования участков маршрута пакета качество связи не зависит, следовательно, сортировка элементов не внесёт искажения в полученный результат.
При обратном ходе от вершины t к вершине 5 воспользуемся ОПОБ для построения оптимальных траекторий.
Пусть оптимизируемый процесс содержит N стадий. Состояние процесса после завершения к-й стадии определяется значением некоторого параметра Ук, к = 1, ..., N, а уо определяет начальное состояние. Обозначим Бк(Ук-1) - множество С-оптимальных траекторий вида Ук-1 ^ VN . В этих обозначениях ^(уо) - множество решений задачи. Согласно [1] для ДкУч) существует рекуррентное соотношение
Ок V—1) = С
и [(ук—1 ^ Хк (ук—1,и)) & Ок+1 (хОк—1,и))]
иеи к
, к = N ... ,1 (8) при начальном условии DN +\(уы) = 0. Здесь Ук = Хк (Ук-1, ик), а Хк - некоторая функция, реализующая переход из состояния Ук-1 в Ук под действием управления ик.
Задачу о поиске маршрутов будем решать в предположении, что граф, моделирующий компьютерную сеть, не содержит контуров. В противном случае необходимо будет ввести цикл по возможным модификациям наборов О(х), как это сделано в скалярном [7] или векторном [3] вариантах алгоритма Фор-да-Беллмана поиска оптимальных путей на графе произвольного вида.
Рисунок. Граф, моделирующий компьютерную сеть
Перепишем соотношение (8) в более кратком
виде, предпочтительном для данной задачи:
( \
(9)
О( х) = С
и[( х, у)& О( у)]
,уеГ (х)
где Г (х) - множество конечных вершин дуг вида (х, у).
Рассмотрим задачу на графе, представленном на рисунке. В нём отношения между ребрами графа заданы в виде отношения «меньше» между указанными символьными оценками (в алфавитном порядке).
Построим множества нехудших путей от вершины 5 = 1 до t = 5, основываясь на рекуррентном соотношении (9) и начальном условии О 5 = 0.
1) х = 4. О4 = {4 - 5} с оценкой (а) -единственный путь из 4 в 5.
2) х = 3. Так как Г - (3) = {4, 5}, при нахождении Оз надо рассмотреть два варианта: путь (3, 4)& О4 с оценкой (а, а) и путь (3, 5) с оценкой ('0', с). Поскольку эти варианты конфликтуют, то в выбор помещаем обе альтернативы:
О3 = {3 - 4 - 5, 3 - 5} = {О32}.
3) х = 2. О2 = С [2& О4 | (а, Ь), 2 - 5 | ('0', Ь) ] = (2 - 5), т.к. по первой оценке доминирует альтернатива 2 - 5, её и включим в выбор.
4) х = 1. А= С [1& | (а, а, а), 1&о2
| ('0', а, с), 1& О2 | ('0', а, Ь)] ={ 1- 3 - 4 - 5, 1 - 2 -5}, т.к. третья альтернатива доминирует над второй.
Работа выполнена в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технического комплекса России на 2007-2013 гг.» по гос. контракту № 16.516.11.6040 от 21.04.11 г.
ЛИТЕРАТУРА
1. Бугаев, Ю. В. Обобщение схемы динамического программирования [Текст] / Ю. В. Бугаев, С. В. Чикунов // Автоматика и телемеханика. -2009. -№ 2. -С. 90 - 100.
2. Сысоев, В. В. Структурные и алгоритмические модели автоматизированного проектирования производства изделий электронной техники [Текст] / В. В. Сысоев. -Воронеж: ВТИ, 1993. - 207 с.
3. Бугаев, Ю. В. Применение прямого обобщения скалярных алгоритмов в векторной оптимизации на графах [Текст] / Ю. В. Бугаев // Дискр. матем. -2001. Т. 13. Вып. 3. - С. 110 - 124.
4. Орлов, А. И. Теория принятия решений [Текст]: учебное пособие / А. И. Орлов. - М.: Изд-во «Экзамен», 2005. - 656 с.
5. Юдин, Д. Б. Вычислительные методы теории принятия решений [Текст] / Д. Б. Юдин. - М.: Наука, 1989. - 316 с.
6. Семенов, Ю.А. Алгоритмы телекоммуникационных сетей. Часть 2. Протоколы и алгоритмы маршрутизации в Internet [Текст] / Ю.А. Семенов // Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2007. - С. 390-432.
7. Липский, В. Комбинаторика для программистов [Текст] / В. Липский., пер. с польск. - М.: Мир, 1988. - 213 с.