Przeskocz do treści

Delta mi!

Podróże w |Rd

Wojciech Czerwiński

o artykule ...

  • Publikacja w Delcie: lipiec 2020
  • Publikacja elektroniczna: 1 lipca 2020
  • Autor: Wojciech Czerwiński
    Afiliacja: adiunkt, Instytut Informatyki, Uniwersytet Warszawski
  • Wersja do druku [application/pdf]: (488 KB)

... Uważam, że jednostronnicowy dowód Sergeya Sevastianova jest wyjątkowy. Pál Erdős często odwoływał się do Księgi, w której Bóg trzyma wszystkie najelegantsze dowody. Zainspirowani tym matematycy, Aigner i Ziegler, wydali znakomitą książkę Dowody z Księgi, którą wszystkim szczerze polecam. Dowód Sevastianova mógłby również trafić do tej Księgi. Mimo że ja i moi koledzy rozumiemy każdy krok tego dowodu z osobna, to nie wiemy, skąd bierze się taki sposób rozumowania, niespotykany nigdzie indziej w naszej dziedzinie. Wierzę, że zrozumienie idei ukrytych w tym dowodzie może przyczynić się do kolejnych ciekawych wyników. Kto wie, może ktoś z Czytelników pomoże?

Rozważmy następujący problem. Mamy danych wiele d -wymiarowych wektorów:  d |u1,...,un ∈ R , takich że sumują się one do wektora zerowego, czyli |Pni 1ui = ⃗0. Podkreślmy, że liczba wektorów n może być dużo większa niż |d. Załóżmy dodatkowo, że długości wszystkich wektorów |ui są nie większe niż 1. Dla danego ciągu wektorów u1,...,un rozważmy podróż tym ciągiem w przestrzeni Rd, w której startujemy z zera |⃗0, a potem kolejno przesuwamy się o |u1, o u2, o u3 itd., a na końcu o u . n Oczywiście na koniec całej podróży wrócimy do zera, ale w międzyczasie możemy od tego zera odsunąć się bardzo daleko. Pytanie brzmi, czy dla dowolnych wektorów u1,...,un istnieje takie ich poprzestawianie, inaczej permutacja u′1,...,u′n, żeby podróż tym ciągiem wektorów nigdy nie oddalała się znacząco od zera. Mówiąc bardziej precyzyjnie, czy dla dowolnego wymiaru d istnieje taka stała Cd, że dla dowolnego ciągu wektorów u1,...,un ∈Rd nie dłuższych niż 1 i sumujących się do |⃗0 istnieje ich permutacja u1′,...,u′n taka, że dla dowolnego k ∈{1,...,n} zachodzi | Pk u′ ⩽C . i 1 i d Nim przejdziemy do rozwiązania, zachęcam Ambitnego Czytelnika do samodzielnej próby odpowiedzenia na to pytanie albo przynajmniej postawienia hipotezy i obstawienia ewentualnej wartości |Cd.

Dla wymiaru d = 1 stosunkowo łatwo jest wykazać, że Cd = 1 wystarczy. Konstruujemy ciąg wektorów u′i tak, żeby wartość bezwzględna |Pk u′ i 1 i nigdy nie przekroczyła 1. Postępujemy w następujący sposób. Zaczynamy od ciągu pustego. Powiedzmy, że skonstruowaliśmy już ciąg |u′1,...,u′k, który spełnia nasze warunki dla początkowych wyrazów. Załóżmy bez straty ogólności, że |Pki 1u′⩾ 0. i Skoro suma wszystkich wektorów u i wynosi 0, a suma wektorów już wybranych do ciągu jest nieujemna, to suma wektorów niewybranych jest niedodatnia. A więc istnieje tam jakiś wektor niedodatni, tego właśnie wybieramy jako |u′k+1. Postępując w ten sposób do końca, otrzymamy ciąg o wymaganych własnościach. Łatwo też zauważyć, że |C 1 jest wybrana optymalnie, ciąg |u = 1,u = −1 1 2 nie da się ułożyć lepiej.

Dla wyższych wymiarów sprawa nie jest tak oczywista i mimo bardzo prostego sformułowania ma za sobą długą historię badań. Już w roku 1914 niemiecki matematyk Ernst Steinitz (znany m.in. z twierdzenia o dopełnianiu zbioru liniowo niezależnych wektorów do bazy) udowodnił, że dla dowolnego |d∈ N stała |Cd = 2d spełnia zadane warunki. Dlatego wspomniany fakt zwany jest lematem Steinitza. Sytuacja staje się jednak ciekawsza, gdy rozważymy inne, nieco dziwniejsze sposoby mierzenia wielkości wektora. Takie funkcje, przyporządkowujące wektorowi z  d R liczbę mierzącą w pewien rozsądny sposób jego wielkość, zwane są normami. Popularne przykłady norm to: długość wektora (zwana normą euklidesową), suma wartości bezwzględnych jego współrzędnych czy też maksymalna wartość bezwzględna jego współrzędnych (zwana normą maksimum), ale istnieją też inne, bardziej wymyślne normy. W ogólności norma to funkcja przyporządkowująca wektorowi u ∈Rd wartość | u ∈R, spełniająca trzy proste warunki:

1)
 u = 0 wtedy i tylko wtedy, gdy |u to wektor zerowy,
2)
norma skaluje się liniowo, czyli  au = a ⋅ u dla dowolnego a ∈ R oraz  d u ∈ R ,
3)
 u + v ⩽ u + v dla dowolnych u,v ∈ Rd.

Z faktu, że dla normy euklidesowej |C = 2d d wystarcza, wynika łatwo, że dla dowolnej normy taka stała Cd istnieje, nie wynika jednak w żaden sposób, jak duża jest ta stała. W roku 1931 Borgström wykazał, że dla dowolnej normy optymalna stała Cd jest nie większa niż √ ---------- | (4d − 1)/3 . Aż do roku 1978 najlepsza znana stała C d wciąż była wykładnicza względem |d. Dopiero wtedy, w 1978 roku, Sergey Sevastianov opublikował w rosyjskim czasopiśmie w Nowosybirsku dowód uzasadniający, że dla dowolnej normy Cd = d wystarczy. Praca miała dwie strony, przy czym dowód głównego wyniku zajmował w zasadzie jedną stronę, co jest oczywiście nadzwyczajne w wypadku rozwiązania znanego problemu tak długo otwartego. Przetłumaczoną na angielski wersję można znaleźć, wpisując w wyszukiwarce Google frazę "Value of the Steinitz constant". Mniej więcej rok lub dwa lata temu artykuł ten wpadł mi w ręce, ponieważ wynik jest związany z moimi zainteresowaniami naukowymi. Uważam, że dowód jest wyjątkowy. Pál Erdős, jeden z najwybitniejszych matematyków XX wieku często odwoływał się do Księgi, w której Bóg trzyma wszystkie najelegantsze dowody twierdzeń matematycznych. Zainspirowani tym powiedzeniem dwaj matematycy, Eigner i Ziegler, wydali znakomitą książkę "Dowody z Księgi", którą szczerze polecam każdemu Czytelnikowi. Dowód, o którym mówię, być może również mógłby trafić do takiej Księgi. Mimo że ja i moi koledzy rozumiemy każdy krok tego dowodu z osobna, to nie wiemy, skąd bierze się taki sposób rozumowania, niespotykany nigdzie indziej w naszej dziedzinie. Wydaje się, że za tym rozumowaniem stoi pewna intuicja geometryczna, ale nie wiemy, jaka to jest intuicja. Wierzę, że dogłębne zrozumienie idei ukrytych w tym dowodzie może przyczynić się do kolejnych ciekawych wyników. Kto wie, może ktoś z Czytelników pomoże?

Przedstawiam dowód z oryginalnej pracy Sevastianova nieco przeze mnie zmodyfikowany. Poniżej ustalamy dowolnie wybraną normę wektora |u∈ Rd, którą oznaczamy | u . Przypomnijmy, że naszym celem jest udowodnienie następującego twierdzenia.

Twierdzenie 1. Jeśli |u1,...,un ∈ Rd, dla każdego |i∈{1,...,n} zachodzi  ui ⩽ 1 oraz Pni 1ui = ⃗0, to istnieje permutacja |u′,...,u′ 1 n ciągu u ,...,u 1 n taka, że dla każdego |k ∈{1,...,n} mamy  k ′ | P i 1ui ⩽d.

Załóżmy, że d ⩽ n, inaczej wniosek jest trywialny. Udowodnimy następujący lemat.

Lemat 1. Istnieją zbiory |Ad⊆ Ad+1⊆ ... ⊆An = {1,...,n} oraz wagi λi ∈[0,1] k dla k ∈ {d,...,n},i ∈{1,...,n} takie, że dla dowolnego |k mamy  i Ak = k,Pi> Akλk = d oraz  i |Pi> Akλkui = Pi> Akui.

Zobaczmy najpierw, jak z lematu wynika twierdzenie 1. Dla dowolnego |d⩽ i ⩽n − 1 zbiór A ∖ A i+1 i ma dokładnie jeden element, nazywamy go  ′ |ui+1. Pozostałych d elementów ciągu u1,...,un dowolnie przypisujemy na |u′1,...,u′d. Dla k ⩽ d nierówność z twierdzenia jest oczywista, załóżmy |k > d. Mamy

 k Q ui′ = Q ui = Q iλ ui ⩽ Q iλ ui ⩽ Q λi = d, i 1 i>Ak i>Ak k i>Ak k i>Ak k

gdzie druga i ostatnia równość wynikają wprost z lematu. Wystarczy więc udowodnić lemat.

Pokażemy istnienie zbiorów |A i oraz wag λi k spełniających warunki lematu przez indukcję po k. Zacznijmy od bazy indukcji dla k = n. Wówczas ustalamy An = {1,...,n} oraz λin = dn dla każdego i∈ {1,...,n}, które, jak łatwo sprawdzić, spełniają warunki. Aby wykonać krok indukcyjny z |k+ 1 do k, załóżmy, że mamy zdefiniowany zbiór A k+1 oraz wagi  i λ k+1, a chcemy zdefiniować zbiór |Ak oraz wagi  i |λk. Niech |Ak+1 = {v1,...,vk+1} ⊆ {u1,...,un}.

Rozważmy następujący układ równań i nierówności z k + 1 zmiennymi |µ1,...,µ k+1 ∈R : 0 ⩽ µi⩽ 1 dla dowolnego  k+1 i,P i 1µ i = d + 1 oraz |Pki+ 11µivi = Pk+i 1 1 vi. Zbiór rozwiązań |S tego układu jest niepusty, gdyż, jak nietrudno sprawdzić, rozwiązaniem jest µ = λi + (1− λi ) ⋅--1-. i k+1 k+1 k+1− d W ogólności dla każdego układu mr równań i mn nierówności liniowych w Rd zbiór rozwiązań jest wielościanem, o ile jest ograniczony. Co więcej, okazuje się, że w każdym wierzchołku tego wielościanu dokładnie d − m r nierówności staje się równościami. Nietrudno w to uwierzyć, bo skoro mamy do czynienia z wierzchołkiem, to liczba równości powinna być równa wymiarowi przestrzeni, a |mr równości mamy już gotowe z równań. Zachęcamy Czytelników do precyzyjnego wykazania tego faktu. Wybierzmy więc dowolny wierzchołek wielościanu |S zawierającego rozwiązania naszego układu równań. W układzie mamy |d + 1 równości (równość  k+1 k+1 P i 1µivi = P i 1 vi jest w istocie równością na każdej z d współrzędnych) oraz 2(k + 1) nierówności. A zatem w wierzchołku S spełnionych jest |k− d dodatkowych równości spośród nierówności |0⩽ µi ⩽1. Chcemy wykazać, że istnieje  j takie, że |µ j = 1. Jedyny przypadek, w którym nie jest to natychmiastowe, to gdy każda ze wspomnianych k − d równości jest postaci µ i = 0. Wiemy jednak, że wówczas suma pozostałych (k +1) −(k − d) = d + 1 zmiennych |µ i jest równa d +1, więc każda z nich musi być równa jeden. A więc tak czy inaczej istnieje  j takie, że µ j = 1. Definiujemy więc |Ak = Ak+1∖ v j oraz |λik = µi. Nietrudno sprawdzić, że istotnie wszystkie warunki są spełnione, co kończy dowód lematu.

Czy oprócz ładnego dowodu i ciekawej historii oszacowanie na stałą w lemacie Steinitza przydaje się do czegoś? Tak, zdecydowanie, przykładem może być ta praca arxiv.org/abs/1707.00481 opublikowana na konferencji SODA w 2018 roku, jednej z najlepszych światowych konferencji informatycznych. Gwoli ścisłości należy przyznać, że użyta jest tam konkretna norma: norma maksimum oznaczana  u , ∞ przypomnijmy, że przypisuje ona wektorowi  d |u∈ R maksimum z wartości bezwzględnych jego współrzędnych. A więc do tego konkretnego zastosowania wystarczyłby już oryginalny wynik Steinitza z 1914 roku. Faktycznie, z tego, że dla u ∈ Rd zachodzi  -- | u ⩽ u ⩽√ d u ∞ ∞ ( | u oznacza długość euklidesową wektora |u ), oraz tego, że |Cd = 2d wystarcza dla normy euklidesowej, wynika, że  √ -- |Cd = 2d d wystarcza dla normy maksimum. Ja przedstawię pokrótce inne zastosowanie, które wydaje mi się również interesujące, a może być też bardzo użyteczne.

Tunelem pomiędzy punktem x ∈ Rd a y ∈Rd o promieniu |s∈ R+ nazwijmy zbiór, który zawiera odcinek pomiędzy |x a y oraz punkty, które są oddalone od tego odcinka o co najwyżej s, gdzie odległość mierzymy normą maksimum. Precyzyjnie rzecz biorąc, taki tunel to zbiór

 d T = {z ∈ R ∃0DαD1 z −α ⋅x − (1− α)⋅y ∞ ⩽ s}.

Po pierwsze zauważmy, że z twierdzenia 1 prosto wynika następujący wniosek.

Wniosek 1. Jeśli  d u1,...,un ∈R oraz dla każdego i ∈{1,...,n} zachodzi | ui ∞ ⩽N, to istnieje permutacja |u′1,...,u′n ciągu u1,...,un taka, że podróż z punktu x ∈ Rd do punktu y = x + Pn ui i 1 ciągiem u ′,...,u′ 1 n odbywa się wewnątrz tunelu pomiędzy |x a |y o promieniu 2dN.

Zachęcamy Czytelnika do samodzielnego wykazania wniosku, dowód jest nietrudny. Jesteśmy już gotowi do sformułowania twierdzenia.

Twierdzenie 2. Rozważmy układ n równań liniowych |Mx = y, gdzie M jest macierzą o współczynnikach całkowitych n ×d, a y wektorem z Zd. Niech N będzie maksimum z wartości bezwzględnych liczb występujących w macierzy M i wektorze |y. Wówczas jeśli istnieje pewne rozwiązanie tego układu w liczbach naturalnych, to istnieje również rozwiązanie x ∈Nn takie, że  x ∞ ⩽ (5dN + 1)d.

Zauważmy, że ograniczenie na normę rozwiązania nie zależy od liczby równań |n, a jedynie od liczby zmiennych d i wielkości liczb N, i to jest właśnie główna siła twierdzenia 2. Aby udowodnić twierdzenie 2, oznaczmy kolumny macierzy M jako wektory u1,...,ud oraz x = (x1,...,xd). Wówczas równanie |Mx = y przyjmuje postać |Pdi 1uixi = y. Rozważmy pewne rozwiązanie tego układu, które istnieje zgodnie z założeniem twierdzenia 2. Zawiera ono |x1 wektorów u1,x2 wektorów u2 itd., aż w końcu |xn wektorów |un. Zgodnie z wnioskiem istnieje taka permutacja |x′1,...,x′m tych m | = x1 + ...+ xn wektorów, że cała podróż z punktu 0 do punktu |y ciągiem x′,...,x′ 1 m odbywa się wewnątrz tunelu z 0 do |y o promieniu |2dN. Taki tunel zawiera się cały w |d -wymiarowej kostce o boku 4dN + N⩽ 5dN, na potrzeby dowodu twierdzenia 2 wystarczy nam takie zgrubne oszacowanie. Zauważmy, że jeśli w trakcie naszej podróży odwiedzimy dwa razy ten sam punkt, to możemy tę podróż skrócić, pomijając pętlę wychodzącą i wracającą do tego samego punktu, nie zmieni to oczywiście celu podróży. Postępując w ten sposób, możemy skrócić podróż ciągiem x′1,...,xm′ do takiej podróży, która każdy punkt w kostce o boku 5dN odwiedza co najwyżej jeden raz. Punktów o współczynnikach całkowitych w kostce jest nie więcej niż |(5dN + 1)d , a więc nasza podróż będzie miała co najwyżej tyle kroków. Nietrudno zauważyć, że dowolna taka podróż natychmiast daje rozwiązanie równania Pd u x = y, i 1 i i gdzie |Pn x ⩽ (5dN + 1)d, i 1 i co kończy dowód twierdzenia 2.