Математическое моделирование и оптимальное управление Вестник Нижегородского университета им. Н.И. Лобаиевского, 2008, № 1, с. 118-123
УДК 511.843
О ВЕРШИНАХ НЕЯВНО ЗАДАННЫХ ЦЕЛЫХ ПОЛИЭДРОВ © 2008 г. С.И. Веселов, А.Ю. Чирков
Нижегородский госуниверситет им. Н.И. Лобачевского [email protected]
Поступила в редакцию 24.01.2008
Приведен обзор результатов о вершинах выпуклой оболочки всех целых точек, содержащихся в полиэдре. Большинство результатов сопровождается краткими доказательствами.
Ключевые слова: полиэдры, вершина выпуклой оболочки, целые точки.
Введение
Целым называется полиэдр, у которого все вершины имеют целые координаты. Множество вершин полиэдра P обозначаем через V(P). Рассматриваются целые полиэдры Pj = conv х х (P о Zd) заданные неявно, т.е. известны матрица A и вектор b такие, что P = = {x : Ax < b}, но неизвестна система линейных ограничений для полиэдра Pj. Число вершин в PI может быть как угодно большим даже в случае, когда P - треугольник. В [1] приведена геометрическая интерпретация подходящих
дробей к числу (l + V5 > , из которой следует, что выпуклая оболочка целых решений системы неравенств - (l + V5)xl + 2x2 < 0, xl < f2s_l, x2 > 0, имеет s + 2 вершины p0 = (l,0),
Pk = pk-l + (f2k-2, f2k-l) = (f2k-l, f2k) (l < k < s), Ps+l = (f s-l,0). Числа fk являются элементами последовательности Фибоначчи: f-l = l,
f = 0, fk = fk-l + fk-2 (k > l) . В [2] этот
пример немного изменен: полиэдр {x : f2sxl +
+ f2s+lx2 < f22s+l - l, xl > 0 x2 > 0}j имеет вершины P0 = (0, f2s+l -l), Pk = Pk-l + (f2k-l,- f2k-2 ) = = (f2k, f2s+l - f2k-l ) (l < k < S + 0 , Ps+2 = (0,0) . Обозначим Pd (A,b) = {x : Ax < b}j, где
A e zdxd, rank A = d, b e Zd. В [3] (см. также [4]) изучался вопрос о числе вершин в P2(A,b). Найдены последовательности
Pl = l, Р2 = 2, Pk = 2Pk-l + Pk-2 (k > 3), Yl = 0, Y2 = l, Yk =Yk-2 +pk-l + 2Pk-2 (k > 3), ^l = ^
Ч2 = 1 , % = Чк-2 + 2Рк-1 - Рк-2 (к > 3) что каждый из полиэдров {х : Р*х1 + Рк-1х2 <
< Ук, Х2 < 0}/ и {х : Р*Х1 - Р*-1Х2 < Чк, Х2 < 0}/ имеет к вершин. Доказано, что если |ёе! А| < Рк, то число вершин в полиэдре Р2(А,Ь) меньше к .
В следующем разделе излагается способ нахождения коллекции полиэдров Р2(А,Ь) с заданным числом вершин. Он основан на соображениях первого алгоритма нахождения двумерного полиэдра Р/ , опубликованного в [5] (см. также [4]). Идею алгоритма поясним на примере полиэдра {-ах1 + Рх2 < у, х2 > 0} с положительными целыми а, Р. Назовем весом произвольного вектора и = (м1, и2) величину м(и) = —а и1 +Р и2. Направляющие векторы ребер принадлежат последовательности
h = (-1, 0), h2 = (0, 1):
hk+1 =
w(hk-1) w(hk)
hk -
- hk-1 (k = 2,...,n), заканчивающейся вектором с нулевым весом. Вершины вычисляются в порядке обхода полиэдра по часовой стрелке, начиная с T1 = (|_y/aj , 0). Похожие алгоритмы получены в работах [6, 7]. Верхняя оценка временной сложности всех алгоритмов равна O(m log a), где m - число неравенств в системе, задающей P, a - наибольший по модулю коэффициент.
Точка с целыми координатами, принадлежащая полиэдру, называется неприводимой, если она не представима полусуммой двух других целых точек этого полиэдра. Всякая вершина целого полиэдра неприводима, но не всякая неприводимая точка - вершина. Например, не-
приводимая точка (1,0) не является вершиной в полиэдре сопу((0,0),(0,1),(3,— 1)) . Известные верхние оценки числа вершин в целых полиэдрах получены в результате оценки числа именно неприводимых точек. В работе [8] введено следующее понятие: М с 2+ обла-
дает свойством разделенности, если из условий х, у е М, 2х > у следует, что х = у . Число точек разделенного множества, удовлетворяющих неравенствам уг- < xi < юг- х
а—1
х (1 < 1 < й — 1), не превышает ^ 1 + (^2(юг- +
1=1
+ 2) /(уг- +1)). Этот факт применялся для оценки числа вершин различных целых полиэдров [10, 13]. Впоследствии этот же подход получил развитие в [14, 15]. В разделах 3-5 мы приводим обзор результатов о вершинах.
В разделе 6 приведено описание семейства полиэдров Р из работы [14], заданных системами с иррациональными коэффициентами, с известной нижней оценкой для | V (Р/) |. При й > 2 пока неизвестны последовательности полиэдров Ра (А,Ь), для которых нижняя оценка числа вершин совпадала бы по порядку с верхней.
Некоторые результаты, не упомянутые в этой статье, можно найти в [21].
2. Построение полиэдров Р2( А, Ь) с заданным числом вершин
Цепочку векторов Н1,...,Нп = {Р, а} назовем
правильной, если первые к — 1 векторов являются последовательными ребрами полиэдра {х : —ах1 + Рх2 < у, х2 > 0} с целыми положительными а,Р .
Очевидны следующие свойства правильной цепочки.
1. Любая часть правильной цепочки является правильной.
2. Для всякого к > 3 найдутся такие
^к > 0 ^ > 0, что К = А—1— Мк—2.
3. Для всякого к > 3 справедливо неравенство
кк > к1 +.... + кк—1 . (1)
Цепочку векторов И1,...,Ип назовем
регулярной, если кк = Xккк—1 — кк—2, Xк > 0,
Хк е 2 (к > 3), и примитивной, если
det( к1, к2) = —1.
Нетрудно показать, что регулярная примитивная цепочка, удовлетворяющая неравенству (1), является правильной.
Для построения полиэдра с к вершинами надо сначала выбрать векторы К1, к2 с неотрицательными целыми координатами такие, что к1 < к2 и det( к1, к2) = —1. Предположим, что уже найдены к1,...,к6.(5 < к). Выберем целое X5+1 такое, что X+к5 — к5—1 > К1 +... + к5 и положим к2+1 = X 5+к — к5—1. Пусть найден вектор
кк = (к,1,кка). Тогда точки Т = (0, 0), Т2 = Т1 + к[,...,
Тк = Тк—1 + кк—1 = (^, ^) являются вершинами полиэдра {х : —кк,2х1 + кк,1х2 < —ккЛ + кк,1^2 ,
х2 > 0} / .
Сформулируем несколько предложений о свойствах коэффициентов в правильных цепочках.
Предложение 1. Для всякого к выполняется неравенство Xk > 2 .
Предложение 2. Если к1,...,кп - правильная примитивная цепочка и кп+1 = Xкn — кп1, то к1,...,кп,кп+1 будет правильной цепочкой при X> 3.
Доказательство. Xп+1 > 3Xп — Xп—1 > Xп +
+ 2^п—1 + ... + X1) -Xп—1 >Xп + ... + ^'1.
Если выбрать к1 = (0,1), к2 = (1, 2), то регулярная цепочка с коэффициентами Xi = 3 (3 < 1 < 5) образует последовательность ребер многоугольника Клейна (см. пример выше).
Предложение 3. Пусть Xт = X5 = 2 . Тогда найдется I такое, что т <I <5 и Xl > 4.
Доказательство. Из соотношений X 5 = = 2X5—1 — X5—2, X5 > X5—1 +... + X1 следует, что
X5—1 > 2X5—2 +... + X1, поэтому X5—1 > 3 . Если X5—1 > 4, то предложение доказано. Если
X 5—1 = 3 , то ^ 5—2 — X 5—3 > ^ 5—1 + ... + ^ ,
Xs-2 > 2 X5—3 +... + X1. Таким образом, тройке должен предшествовать коэффициент не меньший 3, а поскольку X т = 2, то между X т и X 5 должна встретиться 4.
Следующее предложение означает, что правильная нерегулярная цепочка с рациональными коэффициентами может быть вложена в регулярную цепочку.
Предложение 4. Если целые векторы и , V и w связаны равенством йи = Xv , где X, ц
- несократимые целые числа, то существуют целое число й и регулярная цепочка, начинающаяся в w и заканчивающаяся в йи .
Доказательство. Применим к числам X и ц процедуру подобную алгоритму Евклида.
X = й1ц - г1, 0 < г1 < ц,
Ц = й2Г1 - Г2 , 0 < г2 < ^
Г = ^+2^+1 — ^ Г+2 = 1.
Искомую цепочку образуют векторы м,
Р1 = — м , Р2 = й2Р1 — V , Р3 = й3Р2 — р^ ...,
Р*+2 = й+2Р5+1 — Р5 , ёи = Г+Л+2 — Р^+1 .
Предложение 5. Если в регулярной цепочке к1,...,кп для некоторых 5 и т выполняются равенства \ =... = Ат = 2, то к;- = (1—5+2)к5-1 —
— (1 — 5 + 1)к5—2 (5 < 1 < т).
3. Оценка числа вершин в задаче групповой минимизации
Пусть А е ХЛхй - невырожденная матрица. Полиэдр Т = -^> 0: t = Ь — Ах) называется
полиэдром задачи групповой минимизации. Формула t = Ь — Ах устанавливает взаимнооднозначное соответствие как между вершинами Рй (А,Ь) и Т , так и между их неприводимыми точками. В [8] показано, что число неприводимых точек в Т не превышает (log2 Л + 1)й 1,
где Л = det А.
В [12] оценивается снизу среднее число неприводимых точек и вершин в целых полиэдров из класса Оа, образованного полиэдрами Р = {х: а1х1 + а2х2 +.... + ай—1хй—1 + ахй < Ь,
xi > 0 (1 = 1,...,й —1)}/, где 0 < Ь < а, 0 < а1 < а , при 1 е{1,...,й — 1}. Средним числом вершин в
Оа называется величина стк(а)= -т^т £ V(Р )
р^Реоа *
Аналогично определяется среднее число стп (а)
неприводимых точек в Оа . Справедливы неравенства сп (а) > (4(й -1) і)-1 1пй 1 а(4йй) 1 и ак (а )>(і(й - 1)ійй ^Іп й-1 а(4йй )-1. Таким образом, при фиксированной размерности й нельзя понизить степени полиномов в правых частях неравенств (10) и (11) в [12].
4. Число вершин в целочисленной задаче
о рюкзаке
В работе [8] показано, что число неприводимых точек в полиэдре задачи о рюкзаке
Р = {г : ах <р, х > 0} , где а є 2Л , а > 0, не
й
превышает П(1+іо§2 (1+Р/а)).
і=1
Этот результат получен также в [13]: полиэдр покрывается ящиками, т.е. множествами вида I (и)= {х : и < х < 2и}, где компоненты вектора и выбираются из множества {, 1, 2, 4,..., 2х,...]. Поскольку каждый ящик содержит не более одной вершины, то справедливо неравенство V(р )|<(^2(4а)У, где
а = тах
{*/а
В [14] сделана попытка усилить эту оценку и опубликовано неравенство
V Р )< й к£2 (2й)(к£2 (4а))й 1.
(2)
Однако, доказательство этого неравенства неверно, поскольку автор предполагал, что вершины Р содержатся лишь в ящиках, пересекающих гиперплоскость, проходящую через вершины, расположенные на координатных осях. Контрпримером является полиэдр Р = {(х,у): 4х + 7у < 30,х > 0,у > 0},. Ящик /(4, 2) содержит вершину (4,2) и не пересекает прямую, проходящую через точки
(7,0), (0,4).
Приведем строгое доказательство неравенства (2). Рассмотрим множество Р' =
= ^хй+1): аТх + хй+1 =p, х > 0, хй+1 > °) . Нетрудно видеть, что V(Р )| = V(р ) . Рассмотрим также множества Т^ = еV(Р') : х1 > [р1а1]/й) 7 е [1, й]. Так как множество V(Рг) обладает свойством разделенности, то \Т]\ < log2 (2й)х
П=*і (1 + [І0&(2 + [Р/аі])])< І0^2 й' І0^2 1 (4а). заменяется на Ь\-25” ф9і < а\х < Ьі - 0г-, где
Если для точки р є Р справедливы неравенства рі < [Р/аі ]/й при і є [1,й], то она принадлежит симплексу, образованному началом координат и вершинами полиэдра Р на координатных осях. Следовательно, для всякого р є V (Р ) найдется і такое, что р^ > [Р/а^ ]/й . Отсюда
вытекает, что V (р )<Ей=1N <
< й (2й)(log2 (4а)) 1.
В [12] получены нижние оценки среднего числа неприводимых и крайних точек в одном классе полиэдров. Пусть Ка - класс полиэдров вида Р = {х > 0: а1х1 +.... + ай-1хй-1 + ахй < Ь}1, где аі < а, (1 < і < й -1), а(а -1) < Ь . Через Ка (А) обозначим подкласс, образованный полиэдрами, у которых Ь < А . Средним числом вершин в Ка (А) назовем величину
1
:(a, А) =
Е V(Р )•
средним чис-
\Ка (А)| РеКа( А) '
лом вершин в Ка - величину юк (а ) =
= Нш юк(а, А). Пусть Р' = {х : а1х1 +... +
+ аЛ—1 хЛ—1 + ахЛ < (Ь), хг > 0 (1 = 1,...,й — 1)}/ .
Известно (см. например, [11]),
IV(Р1 ) | < IV(Р ) |. Следовательно,
что
1 А - а(а -1)
Е Vр )■
Р'єОа
Ка (А) а
Отсюда получается неравенство юк (а )>
Е VР )=ск(а). Неравенство
\Оа\Р'єО„
для
среднего числа неприводимых точек выводится аналогично.
5. Верхняя оценка для произвольного полиэдра
Хотя доказательство верхней оценки в работе [14] неверно, идея этого доказательства оказалась продуктивной и была развита в работе [15].
Пусть А е гтхй , ^ А = й , Ь е 2т ,
Ф = Е=1 (^2 (1 + \Ьг 0+ Хй=1 log2 ( + |ау |) и
Р = {х : Ах < Ь). Для описания множества V (Р1) = ^^...^^} используется измененная система неравенств. Каждое неравенство а1х < Ь{
а\ = 2а1, Ь\ = 2ЬІ +1 и 0 < 0; < 1 подбираются
так, чтобы плоскости Ь\ —21 = а\ х (1 = 1,...,т;
7 = 1,...,5й2ф) находились в «общем положении». Полиэдр Р' решений измененной системы разбивается на ячейки К (/1,..., /т ) =
= {х : Ь\ —2101 < а\ х < Ь\ —21 -10, (1 = 1,...,т; / = 1,...,5й2ф)} . Каждая ячейка содержит не более одной точки из V(Р,). Пусть и - множество вершин всех ячеек, и - множество точек и, принадлежащих границе Р'. Следующая процедура строит инъективное отображение Г множества V(Р/) в множество и .
1. Точки множества и \ Р, нумеруются так, чтобы точка и/ была вершиной полиэдра сотр,и^...,и/). Таким образом, для любых
1 < / справедливо соотношение и/ £ сот(Р,, и1,., и1) .
2. Для всякого 1 е{1,..., 5} ячейка, содержащая целую вершину vi, получает метку. Помеченные ячейки не содержатся в Р и каждая из них имеет непустое пересечение с Р1. Каждая метка может принадлежать лишь одной ячейке, следовательно, если одна ячейка получит метку, то ячейка, у которой была эта метка, становится непомеченной. Полагаем / = 0 .
3. Увеличиваем / на единицу. Если найдется помеченная ячейка Кч , что Кч с сот(Р',, и1,...,и/-) и Кч с сот(Р,и1,...,и/—1), то продолжаем, иначе возвращаемся к началу пункта 3. Пусть иР - вершина Кч , для которой верны условия иР е сот^',,и1,...,и/ ) и иР £ £ сот(Р',,и1,...,и/—1). Тогда / — 1 < р < / , следовательно, и/ - вершина Кч . Отсюда следует, что ячейка Кч определяется единственным образом. Действительно, если и/ е Кч о К1, то найдется отрезок I е Кч о К1, содержащий и/, следовательно, вопреки построению, и/ не будет вершиной в сот(Р,и1,...,и/). Возможны два случая.
(а) и і є и . Полагаем р V )=
х
(Ь) и/ £ и . Пусть К' - ячейка, в которой содержатся точки 2и/ — х, где х е К, и х очень близко к и/ . Поскольку все помеченные ячейки имеют общие точки с множеством сот(Р,и1,...,и/-), то К' не помечена. Теперь
К' получает метку д . Повторяется пункт 3. Отсюда получается оценка
V(Р/ )< и < 2тст-1 (й 2Ф +1)-1.
6. Примеры полиэдров с известной нижней оценкой числа вершин
В работе [14] описан класс полиэдров в Я3, с известной нижней оценкой числа вершин. При построении примеров используется поле разложения Г = Q (а1, а2, а3) многочлена / (t) = t3 + +12 — 2t — 1. Корнями / (t) являются числа
ак = 2cos^^ (к = 1, 2, 3), рассмотренные в
[16] в связи с изучением экстремальных свойств тернарных форм.
Теорема 1. Пусть Р — множество решений системы
а1х1 + а2х2 + а3х3 > 0 ,
(3)
а3х1 + а1х2 + а2х3 > 0 , удовлетворяющих неравенству х1 + х2 + х3 > > —Ь, тогда число вершин в Р1 не меньше 0(^2 Ь)
Доказательство основано на следующих предложениях.
Предложение 6. Для любого х е Р, выполняется неравенство
(а1х1 +а2 х2 +а3 х3 )(а2 х1 +а2 х2 +а1х3 )х
х (а3х1 + а1х2 + а2х3)> 1.
Предложение 7. Любая точка, принадлежащая границе множества {х е Яй : х > 0,
х1 • • • хй > 1}, является крайней.
Предложение 8. Любую единицу поля Г можно представить в виде ± а1 1 а2 2.
Предложение 9. Решение системы
а 1 х1 + а 2 x 2 + а 3 x 3 = а ^ а 2 s2 > 0
а2x1 + а3х2 + а1х3 > 0 ,
а 2 x 1 + а x + а x = а
^3 А2
1 А3
1 а.
>0
(4)
а 3 х1 + а 1 х 2 + а 2 х 3 = а 3 1 а1 2 > 0
^1 S2 , s, s 2 , s, s 9^-7-
а 1 1 а 2 2 + а 2 1 а 3 2 + а 3 1 а 1 2 < L является крайней точкой для Pj, следовательно, число вершин в Pj не меньше числа неотрицательных пар (s1; s2), удовлетворяющих неравенству 3а2^+s2 )< L , т.е. не меньше o(log2 L).
Полное описание выпуклой оболочки множества целых решений системы (3) получено в [17]. Много интересных результатов о выпуклой оболочке множества целых решений специальных систем неравенств с иррациональными коэффициентами можно найти в работах [17-20].
Работа выполнена при поддержке Российского фонда фундаментальных исследований (код проекта 05-0100552).
Список литературы
1. Клейн Ф. Элементарная математика с точки зрения высшей: В 2-х томах. Т. 1. Арифметика. Алгебра. Анализ. М.: Наука, 1987.
2. Rubin D.S. On the unlimited number of faces in integer hulls of linear programs with a single constraint. // Operations Research. 1970. V.18, № 5. P. 940-945.
3. Веселов С.И., Шевченко В.Н. О числе экстремальных точек квадратной системы линейных неравенств. 10 с. Рук. деп. в ВИНИТИ, № 450-79.
4. Веселов С.И., Чирков А.Ю. Оценки числа вершин целых полиэдров // Дискрет. анализ и ис-след. операций. 2007. Серия 2. Т. 14, № 2. С. 14-31.
5. Веселов С.И. Нахождение выпуклой оболочки
целых точек полиэдра на плоскости. Г орький: Г орьк. ун-т., 1988. 12 с. Деп. в ВИНИТИ 07.12.88,
№ 8624-В88.
6. Harvey W. Computing two-dimensional integer hulls // SIAM J. Comput. 1999. V. 28, № 6. P. 22852299.
7. Balza-Gomez H., Moreau J-M., Michelucci D. Convex Hull of Grid Points below a Line or a Convex Curve // Source Lecture Notes In Computer Science. Archive Proc. of the 8th International Conference on Discrete Geometry for Computer Imagery. 1999. V. 1568. P. 361-374.
8. Шевченко В.Н. О числе крайних точек в целочисленном программировании // Кибернетика. 1981. № 2. С. 133-134.
9. Шевченко В.Н. Алгебраический подход в целочисленном программировании // Кибернетика. 1984. № 4. С. 36-41.
10. Шевченко В.Н. Верхние оценки числа крайних точек в целочисленном программировании //
s
s
2
2
Математические вопросы кибернетики. 1992. Вып. 4. С. 65-72.
11. Шевченко В.Н. Качественные вопросы целочисленного программирования. М.: Физматлит,
1995. 92 с.
12. Веселов С.И. Нижняя оценка среднего числа неприводимых и крайних точек в двух задачах дискретного программирования. Горький: Горьк. ун-т, 1984. 8 с. Деп. в ВИНИТИ 3.06.84, № 619-В84.
13. Hayes A.S., Larman D.C. The vertices of the knapsack polytope // Discrete Applied Mathematics. 1983. N. 6. P. 135-138.
14. Morgan D.A. Upper and lower bound results on the convex hull of integer points in polyhedra // Mathe-matika. 1991. V. 38. P. 321-328.
15. Cook W., Hartmann M., Kannan R., and McDiarmid C. On integer points in polyhedra // Combi-natorica. 1992. 12(1). Р. 27-37.
16. Davenport H. On the product of three homogeneous linear forms // Proc. London Math. Soc. 1938. V. 44. P. 412-431.
17. Брюно А.Д., Парусников В.И. Многогранники Клейна для двух кубических форм Давенпорта // Ма-тем. заметки. 1994. 56:4. С. 9-27.
18. Korkina E.I. The simplest 2-dimensional continued fraction // Journal of Mathematical Sciences.
1996. V. 82, N. 5. Р. 3680-3685.
19. Karpenkov O.N. On constructing multidimensional periodic continued fractions // arXiv:math/ 0411031v1 1 Nov 2004.
20. Barany I.,Howe R., Lovasz L. On integer points in polyhedra: a lower bound // Combinatorica. 1992. V. 12, N. 2. Р. 135-142.
21. Золотых Н.Ю. On the number of vertices in inte-
ON VERTICES OF IMPLICITLY GIVEN INTEGER POLYHEDRA
S.I. Veselov, A. Yu. Chirkov
A review is given of results of convex hull vertices of all polyhedron integral points. Most of the results are followed by brief proofs.
ger Нпеаг ргс^гашши^ proЬleшs // http://www.uic.nnov. га/~ту/.