ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2017 Управление, вычислительная техника и информатика № 39
ОБРАБОТКА ИНФОРМАЦИИ
УДК 519.8
Б01: 10.17223/19988605/39/3
Д.П. Бураков, М.И. Гарина
АЛГОРИТМИЧЕСКИЕ АСПЕКТЫ ИССЛЕДОВАНИЯ СТРУКТУРЫ ПРЕДПОЧТЕНИЙ ЛПР С ИСПОЛЬЗОВАНИЕМ ТИПОВЫХ ОБОБЩАЮЩИХ ФУНКЦИЙ
Предлагается алгоритм сокращенного перебора точек, соответствующих объектам, характеризующимся несколькими признаками, для построения линейной выпуклой оболочки и Парето-оболочки множества этих объектов. Данный алгоритм используется при исследовании структуры предпочтений ЛПР с использованием типовых обобщающих функций.
Ключевые слова: линейная выпуклая оболочка; многомерное пространство; Парето-доминирование.
В задаче определения условий оптимальности некоторой альтернативы из дискретного множества, рассмотренной в предыдущем докладе авторов, решаются две нетривиальные подзадачи. Первая подзадача решается для определения потенциальной оптимальности альтернативы и заключается в определении её принадлежности сопуР(У) - Парето-оболочке множества У, получаемой объединением 2" множеств Парето УР для всех возможных сочетаний направлений оптимизации п критериев. Здесь У -множество векторных оценок множества альтернатив X: у(х) = (/¡(х),/2(х), ...,/„(х)), х е X, у(х) е У, | У | = | X | = N. Тогда векторная оценка представляет собой точку в „-мерном пространстве (если все /(х) -числовые, то У с В"). Точки, входящие в сопуР(У), принадлежат поверхности тела (необязательно выпуклого) минимального объема, заключающего в себе множество У целиком. В простейшем случае это тело представляет собой невыпуклый многогранник, вершинами которого являются точки сопуР(У).
Вторая подзадача решается для определения типа обобщающей функции —о^; у) и вектора весовых коэффициентов w, применение которых делает альтернативу у оптимальной, и заключается в определении принадлежности альтернативы сопуДУ) - линейной выпуклой оболочке У, которая представляет собой выпуклый многогранник минимального объема, обрамляющий У. При этом в обе оболочки как минимум входят все точки уех, имеющие экстремальное значение хотя бы одной координаты: Уех е сопуДУ) п сопур(Т) ^ 3] = 1, ..., п: /(х) = таххех /(х)) V /(х) = тШхех /(х))), кроме того, сопуДУ) с сопуР(У).
Тогда возникает вопрос, как выбрать вершины и определить геометрические параметры этих многогранников и можно ли использовать их и методы аналитической геометрии для определения потенциальной оптимальности альтернативы, типа обобщающей функции и вектора весовых коэффициентов. Рассмотрению данных вопросов и уделяется внимание в данной статье.
1. Формирование Парето-оболочки
Авторы считают, что построение Парето-оболочки не может быть осуществлено алгоритмом меньшей сложности, чем сокращенный.
1. Для каждого из 2" вариантов направлений оптимизации п критериев нужно рассчитать множество УР Парето-точек путем их попарного сравнения. Вычислительная сложность определения множества Парето в худшем случае, при необходимости полного попарного сравнения, составляет п • N• ^ - 1)/2 ~ п • где N = | У |. Это предполагает несравнимость всех имеющихся точек по Парето, и в результирующее множество
YP при этом войдут все N точек. Однако в общем случае возможно сокращение перебора: если одна точка доминирует над другой, то доминируемую точку имеет смысл исключить из дальнейшего перебора и не использовать для сравнения с остальными. Таким образом, в лучшем случае вычислительная сложность составит n • (N-1) ~ n • N. При этом только одна доминирующая альтернатива будет сравниваться с остальными. Для максимального сокращения рекомендуется начинать перебор с точек, вошедших в множество {yex}, т.е. имеющих экстремальные значения хотя бы по одной координате.
2. Объединить множества YP. Вычислительной сложностью (N-1) • n ~ n • N можно пренебречь.
Таким образом, вычислительная сложность предлагаемого алгоритма построения convP(Y) составляет в худшем случае 2n • n • N2, а в лучшем - 2n • n • N.
2. Определение потенциальной оптимальности альтернативы
Чтобы некоторая альтернатива обладала потенциальной оптимальностью, она должна принадлежать Парето-оболочке convP(Y), т.е. находиться либо в одной из вершин, либо лежать на одной из её граней. В первом случае определение оптимальности тривиально и заключается в последовательном сравнении точки с вершинами, формирующими оболочку. Во втором случае следует определить уравнение каждой грани (гиперплоскости) и, подставляя координаты точки, выяснить, удовлетворяют ли они одному из них. Задача осложняется тем, что не каждые n точек convP(Y) формируют её грань и не каждая грань лежит только с одной стороны многогранника, так как он невыпуклый. Поэтому алгоритмически проще во время формирования многогранника Парето не исключать из множества вершин точки, лежащие точно на гранях. В этом случае оба варианта определения потенциальной оптимальности сводятся к однократному перебору вершин convP(Y).
3. Формирование линейной выпуклой оболочки
Для построения выпуклой линейной оболочки convL(Y) в двумерном пространстве используют алгоритм Грэхема, Чана и Джарвиса (алгоритм «заворачивания подарка») и их модификации [1, 2], но в пространствах более высокой размерности они неприменимы. В литературе отсутствуют описания обобщения алгоритмов поиска выпуклых оболочек для случая Rn при n > 2.
Если бы заранее не была построена оболочка Парето convP(Y), то, поскольку convL(Y) является минимальным выпуклым многогранником, содержащим Y, для его поиска следовало бы перебрать все гиперплоскости, проходящие через n точек из Y, т. е. сочетания по n точек из Y. После выбора очередной n-ки точек из Y необходимо проверить каждую из оставшихся N - n точек на то, с какой стороны от выбранной гиперплоскости она находится. Если для текущей гиперплоскости все точки Y находятся с одной стороны, то образующая её n-ка точек входит в convL(Y). Взаимное положение гиперплоскости, проходящей через n точек, и n + 1-й определяется знаком определителя n-го порядка, построенного из разностей этих n + 1 точек. Если все проверяемые N - n точек расположены с одной стороны от рассматриваемой гиперплоскости, то эти определители имеют одинаковый знак. Если же для n + 1-й точки этот определитель равен 0, то это означает, что она лежит в этой же гиперплоскости. При этом в самом худшем случае для построения convL( Y) необходимо вычислить C"N ■ (N - n) определителей порядка n, а сложность вычисления каждого определителя ~ n3.
Поэтому для построения convL(Y) предлагается алгоритм сокращенного перебора вершин многогранника convP(Y), использующий тот факт, что convL(Y) с convP(Y).
1. Для каждого из 2n вариантов направлений оптимизации fj(x) ^ {min, max}, j = 1, ..., n:
a. Выбирается n точек из convP(Y), имеющих экстремальные значения хотя бы по одному критерию, и строится гиперплоскость L, проходящая через них. Сложность - n • (N + n2) ~ n3. Кубическая компонента появляется в связи с необходимостью вычисления определителя для построения гиперплоскости.
b. Выбирается (или формируется искусственно) «предельная» точка yextr, имеющая экстремальные значения по всемfj(x), и определяется её ориентированное расстояние d до гиперплоскости L [3]. Сложность - n • (N + 1) ~ N • n.
c. Путем перебора формируется множество точек У* с сопур(У), ориентированное расстояние от которых до гиперплоскости имеет тот же знак, что с1, а остальные отбрасываются. Сложность - N• п.
d. МножествоУ* с Сформируется путем повторения пунктов а-с для всех наборов по п точек из У*. Если | У* | < п + 1, то У1 = У*. Сложность в худшем случае составляет CnN • (п + N• п), а в лучшем — 0.
2. Для получения сопуДУ) множества объединяются. Вычислительной сложностью можно пренебречь.
Получается, что вычислительная сложность предлагаемого алгоритма построения сопуДУ) в худшем случае составляет 2п • CN • п • (п2+К), а в лучшем — 2п • п • (п2+N).
4. Поиск вектора весовых коэффициентов, обеспечивающих оптимальность альтернативы
Для аддитивной и мультипликативной обобщающих функций, как показано в предыдущей работе, задача определения вектора весовых коэффициентов включает в себя поиск вектора, перпендикулярного гиперплоскости, являющейся гранью сопуДУ) или сопу^(1п(7)).
Известно, что всякая гиперплоскость в Яп проходит через п точек [3]. Уравнение гиперплоскости определяется как С1-у1 + ... + Сп-уп + Б = 0, где С1, ..., Сп — координаты нормали данной гиперплоскости.
С другой стороны, гиперплоскость также описывается уравнением (у-а1 ••• ап_1 -а1)
= 0, где аь . ап
— точки, входящие в гиперплоскость, а у — произвольная точка пространства, тоже находящаяся на гиперплоскости. Разрешив это уравнение относительно у, найдем С1, ..., Сп. Для этого необходимо разложить указанный определитель по первой строке:
У _ а1
ап-1 _а1
У1 _ а1,1
гп-1,1 _ а1,1
Уп _ а1,;
ап—1, п а1,;
= (У1 _ а1,1) • А1,1 + - + (Уп _ а1,п ) • А1,п =
= У1 • А1,1 + - + Уп • А1,п _ (а1,1 • А1,1 + - + а1,п • А1,п) = 0 Следовательно, алгебраические дополнения первой строки и есть компоненты нормального вектора. При этом они вычисляются через координаты точек а^ ..., ап_ь Далее обратим внимание, что у всякой гиперплоскости существует не один нормальный вектор, а целое семейство векторов, задаваемое выражением а-п, где а Ф 0, а п — любой из векторов, перпендикулярный гиперплоскости (например, вектор с координатами (А^, ..., А1,п), как показано выше). Однако для правильного определения направления, важного для определения направлений оптимизации, нас интересует не всякий вектор, нормальный к указанной грани, а только такой, который выходил бы изнутри многогранника наружу перпендикулярно к указанной плоскости.
Таким образом, встают две задачи: 1) найти точку у0, принадлежащую внутренности многогранника; 2) найти точку уЁ, принадлежащую указанной грани, такую, что вектор (уЁ — у0) был бы перпендикулярен грани. Первую часть задачи можно решить двумя способами: если множество У \ сопуДУ) не пусто, в качестве у0 можно взять любую точку из него. В противном случае в качестве у0 можно взять точку, являющуюся арифметическим средним всех точек из сопу^(У): в силу выпуклости многогранника она будет всегда принадлежать его внутренности. Для нахождения точки уЁ нужно решить систему уравнений (поиск точки пересечения прямой и гиперплоскости, при условии что прямая задана в параметрической форме, а ее направляющий вектор является нормальным вектором гиперплоскости):
' У81 = У01 + А1,1 • *,
У§п У0п + А1,п *,
А + • + Кп ) • * _ (А1,1 • а1,1 + • + А1,п • а1,п ) = 0.
Здесь УЯ1, ., Угп — координаты искомой точки уЁ; У0Ь ., У0п — координаты внутренней точки у0; ац, ., а!,п — координаты точки а^ являющейся вершиной грани. Числа А^, ..., А1,п — координаты нормального
вектора гиперплоскости, найденные выше. Найдя число t, найдем и координаты искомой точки yg, а вычитанием (yg - y0) найдем искомый вектор.
Однако всякая вершина многогранника принадлежит одновременно k > 1 гиперплоскостям. Поэтому если нас интересует такой вектор w, который доставляет этой точке наибольшее значение, то этот вектор должен находиться во внутренности конуса, образованного нормальными векторами этих гиперплоскостей. Но тогда w должен представляться как их выпуклая комбинация. В простейшем случае будем брать средний вектор, т.е. для k граней w = (wigr1 + ... + wlgrk) / k. Тем самым мы можем перейти от систем неравенств к уравнениям, ищущим для каждой гиперплоскости нормальный вектор, а зная для точки, в какие грани она входит, образовать из них конус и взять «средний» внутренний вектор-луч этого конуса.
Заключение
В работе показано, что задача поиска вектора весовых коэффициентов w, оптимизирующего указанную альтернативу по значению аддитивной или мультипликативной обобщающей функции (при условии ее принадлежности паретовской или линейной оболочке множества), алгоритмически разрешима. Кроме того, приведены алгоритмы, позволяющие построить эти оболочки для произвольного конечного множества в Rn эффективнее, чем полным перебором.
ЛИТЕРАТУРА
1. Микони С.В. Теория принятия управленческих решений. СПб. : Лань, 2015. 448 с.
2. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы. Построение и анализ. 3-е изд. СПб. : Вильямс, 2015. 1328 с.
3. Ильин В.А., Позняк Э.Г. Аналитическая геометрия. М. : ФИЗМАТЛИТ, 2002. 240 с.
Бураков Дмитрий Петрович, канд. техн. наук. E-mail: [email protected] Гарина Марина Игоревна, канд. техн. наук. E-mail: [email protected] Петербургский государственный университет путей сообщения Императора Александра I
Поступила в редакцию 14 марта 2016 г.
Burakov Dmitry P., Garina Marina I. (Saint-Petersburg State Transport University, Russian Federation). Algorithmic aspects to analysis of decision maker's preferences structure with standard aggregative functions. Keywords: linear convex envelope; multidimensional space; Pareto dominance.
DOI: 10.17223/19988605/39/3
There are two non-trivial tasks in the considered in the previous paper algorithm of checking if some object is optimal. First task is about potential ability for an object to be optimal. It solves by checking if an object belongs to convP(Y) - Pareto-envelope of Y set, obtained as a union of 2n Pareto-sets YP for all combinations of directions for n criteria. Second task is about to determine the type of aggregative function and weight vector which make an object optimal. It contains the checking if an object belongs convL(Y) - linear convex envelope Y. Here Y is a set of vectors which characterizes the set of objects X: y(x) = f(x), f2(x), ..., fn(x)), x e X, y(x) e Y. Any vector is a point in n-dimensional space Rn, and envelopes convP(Y) and convL(Y) are the general form polytope and the convex polytope, framing Y. Both of polytopes contains at least all points yex having extreme value of at least one of coordinates: yex e convL(Y) n convP(Y) < 3j = 1, n:(f(x) = max xeX (f(x)) vf(x) = min xeX (f(x))). And also convL(Y) с convP(Y). We declare then the Pareto envelope cannot be found with an algorithm less complex then reduced search:
1. Calculating the Pareto set for any of 2n combinations of directions of n criteria using the pairwise comparisons. The computational complexity of calculating the Pareto set is n • N • (N-1)/2 ~ n • N2 at worse case, N = | Y |. That worse case is if all objects are Pareto incomparable. In that case, all N objects will be in Pareto set YP. However, in general, there is a possibility of reducing the calculating: if one object is dominated by another, we must exclude that dominated object from the further search. Therefore, in the best case the computational complexity will be n • (N-1) ~ n • N. In this case, we have one best object, which we will compare with others. We recommend to start with objects from the set {yex} in order to provide the maximal reducing.
2. Unioning of YP. Computational complexity (N-1) • n ~ n • N is less then above and it can be neglected.
So approximately computational complexity of convP(Y) construction algorithm is 2n • n • N2 at worse case and 2n • n • N at best case. For linear convex envelope convL(Y) construction in two-dimension space we can use the Graham scan and its modifications, but with quantity of dimensions n>2 it is not applicable. Instead of Graham scan we consider the following reducing search algorithm using the fact that convL(Y) с convP(Y).
1. For all of 2n combination of directionsf(x) ^ {min, max}, j = 1, ., n:
a. Choose one object from convP(Y), having extreme value at least of one criteria and construct the hyperplane L passing through them. The complexity is n • (N + n2) ~ n3. The cubical component is from need to calculate the determinant for hyperplane construction.
b. Choose or form the new "limited" point yextr, having extreme values of allf(x) with given combination of directions and calculate the oriented distance d between it and the hyperplane. The complexity is n • (N + 1) ~ N• n.
c. Form the Y*c convP(Y) from objects for which the oriented distance to hyperplane has the same sign that d, another neglected. The complexity is N • n.
d. The set Yt c Y forming by iterative repeating a-c for all sets of n points from Y . If | Y | < n + 1, then Yt = Y . The complexity at the worse case is C"N • (n3+N• n), and at the best - 0.
2. The envelope convL(Y) is union of all Yt. The complexity is less then above and can be neglected.
So approximately computational complexity of convL(Y) constructing algorithm is 2n • C"N • n •(n2 + N) at the worse case and 2n • n • (n2+N) at the best.
REFERENCES
1. Mikoni, S.V. (2015) Teoriyaprinyatiya upravlencheskikh resheniy [Theory of Managerial Decision-Making]. Saint-Petersburg: Lan.
2. Kormen, T., Leisserson, C., Rivest, R. & Stein, K. (2015) Algoritmy. Postroenie i analiz [Introduction to Algorithms, CLRS]. Trans-
lated from English by I.V. Krasikov. St. Petersburg: Williams.
3. Ilyin, V.A. & Poznyak, E.G. (2002) Analiticheskaya geometriya [Analitical Geometry]. Moscow: PhisMathLit.