Wyobraźmy sobie, że mamy trzy miejscowości i musimy wybrać lokalizację gazowni, która dostarczy do każdej z nich gaz. Jak to zrobić aby musieć zużyć jak najmniej rur na wybudowanie gazociągów do tych miejscowości?
Problemy takiego typu jak ten sformułowany we wstępie pojawiają się dosyć powszechnie. To znaczy gdzie ulokować np. magazyn aby móc jak najtaniej przewozić towary do miejsc docelowych. Owe najtaniej jest bardzo często silnie związane z jak najmniejszymi odległościami. Dlatego umiejętność rozwiązywania tego typu problemów ma niezwykłe znaczenie praktyczne. W tym wpisie przedstawimy bardzo prosty w sformułowania, acz nie tak łatwy, wbrew pozorom, do rozwiązania problem.
Sformułowany przez nas problem jest dosyć prosty i daje nam dowolność w wyborze lokalizacji. W rzeczywistości na ogół nie mamy pełnej dowolności w wyborze lecz spotykamy się z pewnymi, mniejszymi lub większymi, ograniczeniami. Jednak aby móc rozwiązywać problemy bardziej skomplikowane, warto zająć się wpierw tymi prostszymi. Tym bardziej, że nawet i takie problemy jak najbardziej mogą pojawić się i pojawiają się w rzeczywistości. Przykładowo jeżeli na terenie firmy znajdują się budynki, które musimy połączyć jakimiś kablami czy dużo droższymi rurociągami lub podziemnymi tunelami, to może się zdarzyć, że nie będzie nas praktycznie nic ograniczało co do ich umiejscowienia. Każda oszczędność na długości potrzebnego rurociągu, kanału czy kabla może prowadzić do znacznego ograniczenia kosztów. A w przypadku rurociągów czy tuneli również i do czasu przesyłu tego co ma być nimi transportowane lub przez nie pobierane. A jak wiadomo czas to pieniądz, więc optymalne ułożenie i połączenie takich rurociągów może się przekładać na dalsze oszczędności w przyszłości. Np. krótsza długość rurociągów oznacza zapewne również mniejsze koszty serwisowania jak i mniej awarii.
Sformułujmy teraz nasz problem matematycznie. We wstępie powiedzieliśmy o trzech lokalizacjach. Oczywiście, możemy trójkę zastąpić dowolną inną liczbą lokacji. Jednakże większa liczba punktów prowadzi do większego skomplikowania problemu, dlatego w tym wpisie zajmiemy się problemem z trzema punktami. Ale do rzeczy.
Matematycznie mamy trzy punkty na płaszczyźnie \(A, B, C\) i szukamy takiego punktu \(D\), aby suma \(|AD|+|BD|+|CD|\) była jak najmniejsza. Spójrzmy na rysunek.
Problem ten został sformułowany w XVII wieku przez Fermata. Pierwsze, częściowe rozwiązanie przedstawił Evangelista Torricelli. Dlatego szukany punkt \(D\) bywa zwany punktem Fermata. Można też spotkać się z nazwa punkt Fermata-Torricellego, i ta nazwa wydaje się poprawniejsza. No ale już wróćmy do postawionego problemu.
W sytuacji, gdy wszystkie trzy punkty leżą na jednej prostej, to szukanym punktem, minimalizującym sumę odległości, jest ten środkowy, przyjmijmy, że to \(B\). Suma odległości jest równa wtedy długości odcinka \(AC\). Natomiast gdy punkty nie leżą na jednej prostej, to tworzą trójkąt \(\triangle ABC\). Nietrudno się przekonać, że punkt Fermata-Torricellego \(D\) nie może leżeć na zewnątrz trójkąta.
Przedłużenia wszystkich boków trójkąta \(\triangle ABC\) dzielą płaszczyznę na obszary. Jeżeli szukany punkt znajduje się w jednym z żółtych obszarów, to łączymy go ze znajdującym się naprzeciwko wierzchołkiem trójkąta. Łatwo zauważyć, że przy poniższych oznaczeniach zachodzi: \[|AD|+|BD|+|CD|\gt |AE|+|BE|+|CE|.\]
Jeżeli natomiast szukany punkt \(D\) znajduje się w jednym z zielonych obszarów,
to nietrudno zauważyć, że przy poniższych założeniach, mamy \[|AD|+|BD|\gt |AC|+|BC|,\] a więc tym bardziej \[|AD|+|BD|+|CD|\gt |AC|+|BC|.\] Wobec tego dla punktu \(C\) suma jego odległości od wierzchołków jest mniejsza niż dla punktu \(D\). Zatem szukany punkt \(D\), minimalizujący sumę odległości od wierzchołków, leży na którymś boku trójkąta \(\triangle ABC\) lub w jego wnętrzu. Najpierw przyjrzyjmy się tej drugiej opcji.
Rozważmy trójkąt równoboczny \(\triangle ADD’\) taki jak na rysunku poniżej. Dodatkowo wykreślmy kolejny trójkąt równoboczny \(\triangle ACB’\).
Oczywiście \(|AD|=|AD’|\) oraz \(|AC|=|AB’|\). Do tego \[\sphericalangle DAC+\sphericalangle CAD’ = \sphericalangle CAD’+\sphericalangle D’AB’ = 60^{\circ}.\] Wobec tego \[\sphericalangle DAC = \sphericalangle D’AB’,\] a stąd wynika, na mocy cechy BKB, że trójkąty \(\triangle ACD\) oraz \(\triangle AB’D’\) są przystające. Z tego dostajemy, że \[|AD|+|BD|+|CD| = |DD’|+|BD|+|D’B’|.\] Innymi słowy, suma odległości punktu \(D\) od wierzchołków trójkąta \(\triangle ABC\) jest równa długości łamanej \(BDD’B’\).
Teraz wystarczy zauważyć, że łamana ta ma najmniejszą długość, gdy jest po prostu odcinkiem łączącym punty \(B\) oraz \(B^{‘}\). Jeżeli teraz powtórzymy konstrukcję przy innym boku niż \(AC\), to dostajemy prosty przepis pozwalający (na ogół) konstrukcyjnie odnaleźć punkt \(D\). Wystarczy na bokach trójkąta wykreślić trójkąty równoboczne i połączyć wierzchołki jak poniżej.
Dodatkowo zauważmy, że w sytuacji, gdy łamana \(BDD’B’\) jest odcinkiem, to \(\sphericalangle ADB’ = 60^{\circ}\), a więc \(\sphericalangle ADB= 120^{\circ}\). Co za tym idzie również \(\sphericalangle ADC = \sphericalangle BDC = 120^{\circ}.\) Z tego również wynika, że w trójkącie \(\triangle ADB\) suma kątów przy boku \(AB\) jest równa \(60^{\circ}\). Analogicznie w przypadku trójkątów \(\triangle ADC\) oraz \(\triangle BDC\). Wbrew pozorom ta prosta obserwacja jest bardzo ważna. Z niej wynika, że nasza konstrukcja przestaje działać gdy, któryś z kątów trójkąta \(\triangle ABC\) ma miarę większą niż \(120^{\circ}\).
Jeżeli kąt przy którymś wierzchołku (np. \(A\)) ma miarę \(120^{\circ}\), to punkt \(D\) pokrywa się z tym punktem. O czym nietrudno się przekonać, gdyż wtedy punkty \(A, B\) oraz \(B’\) są współliniowe.
Zaś w sytuacji, gdy kąt przy którymś wierzchołku (np. \(A\)) jest większy niż \(120^{\circ}\), to punktem Fermata-Torricellego jest właśnie wierzchołek przy tym kącie oraz \[|AD|+|BD|+|CD| = |AB|+|AC|\] Udowodnimy to pokazując coś ogólniejszego. Mianowicie, pokażemy że w takim przypadku, dla dowolnego punktu na płaszczyźnie \(X\neq A\) suma odległości od wierzchołków trójkąta \(\triangle ABC\) jest większa niż \(|AB|+|AC|\). A co za tym idzie to właśnie wierzchołek \(A\) jest punktem Fermata-Torricellego. Spójrzmy na rysunek. Co prawda ilustruje on sytuację, gdy punkt \(X\) jest na zewnątrz trójkąta, ale rozumowanie działa bez przeszkód również gdy jest na lub wewnątrz trójkąta \(\triangle ABC\).
Niech \(\sphericalangle BAC\gt 120^{\circ}\). Obróćmy trójkąt \(\triangle ABX\) wokół punktu \(A\) zgodnie z ruchem wskazówek zegara o kąt \(\beta = 180^{\circ}-\sphericalangle BAC\). Otrzymamy wtedy nowy trójkąt \(\triangle AB’X’\). Zauważmy, że:
- trójkąty \(\triangle ABX\) oraz \(\triangle AB’X’\) są przystające, więc w szczególności \[|AX|=|AX’|, \ |BX| = |B’X’| \textrm{ oraz } |AB|=|AB’|,\]
- punkty \(B’, A\) oraz \(C\) są współliniowe, bo \[\sphericalangle BAC + \sphericalangle BAB’ = \sphericalangle BAC + \beta = 180^{\circ},\]
- kąt \(\beta = \sphericalangle XAX’\) ma, z założenia, miarę mniejszą niż \(60^{\circ}\),
- ponieważ \(|AX| = |AX’|\), to trójkąt \(\triangle XAX’\) jest równoramienny,
- a ponieważ \(\beta = \sphericalangle XAX’\lt 60^{\circ}\), to \(\sphericalangle AXX’\gt 60^{\circ}\),
- z tego zaś wynika, że \(|XX’|\lt |AX|=|AX’|’\).
Teraz wystarczy zauważyć, że \[\begin{array}{llll}& |BX|+|AX|+|CX| & = &\\ = & |B’X| + |X’A| + |CX| & \gt &\\ \gt & |B’X|+|XX’|+|CX| & \gt & |B’C| = \\ = & |AB’|+|AC| & = & |AB|+|AC|\end{array}.\] Ponieważ powyższe zachodzi dla każdego, różnego od \(A\), punktu płaszczyzny, to pokazaliśmy, że jeżeli jeden z kątów trójkąta \(\triangle ABC\) ma miarę większą niż \(120^{\circ}\), to punktem Fermata-Torricellego jest wierzchołek przy największym kącie. Dla porównania poniżej rysunek obrazujący sytuację, gdy punkt jest wewnątrz lub na którymś z boków trójkąta.
Ostatecznie udało nam się udowodnić, że:
- jeżeli wszystkie kąty w trójkącie \(\triangle ABC\) mają miarę mniejszą niż \(120^{\circ}\), to punkt Fermata-Torricellego leży wewnątrz trójkąta i jest punktem przecięcia odcinków \(XX’\). Przy czym \(X\in \{A,B,C\}\), a \(X’\) powstaje tak, że na przeciwległym do \(X\) boku \(x\) trójkąta \(\triangle ABC\) kreślimy trójkąt równoboczny, którego jednym z boków jest \(x\), a jego trzeci wierzchołek \(X’\) jest jak na rysunku poniżej.
- Jeżeli jeden z kątów trójkąta \(\triangle ABC\) ma miarę większą lub równą \(120^{\circ}\), to punktem Fermata-Torricellego jest wierzchołek przy największym kącie.
W szczególności, punkt Fermata-Torricellego jest jedyny. Interesującą ciekawostką jest to, że można go również znaleźć wykorzystując prostą fizykę. Jeżeli powiesimy jednakowe masy tak jak poniżej (np. umieszczając w wierzchołkach krążki linowe) i połączymy sznurki, na których owe masy wiszą, to ich punkt wspólny, w teorii znajdzie się właśnie w punkcie Fermata. Biorąc pod uwagę np. tarcie i inne fizyczne efekty oraz niedoskonałość i niedokładność użytych materiałów, w praktyce znajdzie się w jego bliskim pobliżu.
Do tego, że z punktu Fermata, o ile nie jest wierzchołkiem, widać poszczególne boki trójkąta pod kątem \(120^{\circ}\) można dojść również w inny sposób. Za Courantem i Robinsem podamy, z grubsza, inny dowód tego faktu, gdyż jest on na tyle ciekawy, że zasługuje na przytoczenie. Najpierw jednak przypomnimy pewną szkolną konstrukcję.
Jednym z prostych zadań, z którym chyba każdy spotkał się w szkole (choć może nie każdy pamięta), jest znalezienie takiego punktu \(C\) na prostej, aby dla punktów \(A, B\) suma odległości \(|AC|+|BC|\) była jak najmniejsza.
Często się do tego zadania dodaje historyjkę w stylu, że np. prosta to rzeka i musimy przykładowo punkty \(A\) oraz \(B\) połączyć z rzeką jak najkrótszą drogą. Swoją drogą prawda, że jest to nieco podobne do naszego problemu? Znalezienie szukanego punktu jest bardzo proste. Odbijamy jeden z punktów (np. \(A\)) symetrycznie względem prostej otrzymując punkt \(A^{‘}\). Punkt przecięcia odcinka \(A^{‘}B\) z prostą jest szukanym punktem. Do tego wszystkie cztery zaznaczone kąty są naturalnie sobie równe. Konstrukcja ta pochodzi, zdaje się, od Herona.
Ale wróćmy do problemu Fermata. Z wierzchołka, przyjmijmy \(A\) poprowadźmy okrąg \(K\) o promieniu \(|BD|\), gdzie \(D\) jest punktem Fermata. Przyjmijmy, póki co, że dwa pozostałe punkty \(B\) oraz \(C\) leżą na zewnątrz \(K\).
Dla każdego punktu \(E\) okręgu odcinek \(AE\) ma tę samą długość równą promieniowi, więc punkt \(D\) musi być tym punktem okręgu \(K\), dla którego suma \(|BD|+|CD|\) jest najmniejsza. Jeżeli poprowadzimy styczną do okręgu przez punkt \(D\), to wobec konstrukcji Herona, zaznaczone na czerwono kąty są sobie równe. A co za tym idzie również \[\sphericalangle ADC = \sphericalangle ADB.\] Jeżeli przeprowadzimy takie samo rozumowanie, ale kreśląc okrąg o środku w punkcie \(B\) zamiast \(A\), to otrzymamy, że \[\sphericalangle ADB = \sphericalangle ADC = \sphericalangle BDC = 120^{\circ}. \] Innymi słowy \(D\) jest takim punktem, z którego końce każdego boku trójkąta \(\triangle ABC\) widać pod kątem \(120^{\circ}\).
Nasze rozumowanie przeprowadziliśmy przy założeniu, że punkty \(B\) oraz \(C\) leżą na zewnątrz okręgu. Nietrudno jednak zauważyć, że nie mogą leżeć na lub wewnątrz niego. Załóżmy, że np. \(B\) leży na lub wewnątrz okręgu. Wówczas \(|AB|\leqslant |AD|\) oraz z nierówności trójkąta \[|BD|+|DC|\geqslant |BC|.\] Zatem \[|AB|+|BC|\leqslant |AD|+|BD|+|CD|\] wbrew założeniu, że to punkt \(D\) jest jedynym, który minimalizuje sumę odległości do wierzchołków.
Postawiony przez Fermata problem to tylko wierzchołek góry lodowej. Nietrudno o uogólnienia prowadzące do ciekawszych problemów. Można rozważać analogiczny problem dla większej ilości punktów i to znajdujących się niekoniecznie w jednej płaszczyźnie, ale w wyżej wymiarowej przestrzeni. Jako, że mówimy o odległościach, to możemy również pomyśleć o analogicznym problemie w różnych przestrzeniach metrycznych. Albo możemy rozważać jak mając ileś punktów na płaszczyźnie połączyć je liniami o najmniejszej sumie długości? W przypadku trzech punktów będzie to sieć utworzona z odcinków łączących owe trzy punkty z ich punktem Fermata-Torricellego. Jednakże już w przypadku czterech punktów sytuacja wygląda inaczej. Przykładowo, jeżeli weźmiemy wierzchołki kwadratu o boku 1, to najmniejsza sieć łącząca wszystkie te wierzchołki jest narysowana poniżej na czerwono. Mamy tutaj nie jeden, lecz dwa nowe punkty. Dodatkowo zaznaczone na czerwone kąty mają miary po \(120^{\circ}\). Nieprzypadkowe podobieństwo z problemem Fermata! Proste obliczenia pokazują, że długość tej czerwonej sieci jest równa \(1+\sqrt{3}\). Zagadnienie znalezienia takiej sieci minimalnej długości łączącej ileś punktów płaszczyzny to tzw. problem minimalnego drzewa Steinera. No ale to już inna historia.
Literatura
R. Courant, H. Robbins, What is mathematics? An Elementary Approach to Ideas and Methods., Oxford Univ. Press (1996).
A. Flores, J. Park, Fermat’s point from five perspectives, Internat. J. Math. Ed. Sci. Tech. 46 (2015), s. 1-16.
J. Krarup, On Torricelli’s geometrical solution to a problem of Fermat, Int. J. Math. Appl. Bus. Ind. 8 (1997), s. 215-224.
J. Krarup, K. Roos, On the Fermat point of a triangle, Nieuw Arch. Wiskd. 5 (2017), s. 280-286
D. Sokolowsky, A note on the Fermat problem, Amer. Math. Monthly 83(4) (1976), s. 276