PracaMagisterska

109
Spontaniczne rozplątywanie węzlów gordyjskich Grzegorz Ilnicki 28 maja 2007

description

Grzegorz Ilnicki:My master thesis on spontaneous "gordian knots" untangling, 3D C++ algorithms, classical physics, connections to DNA, unknots, knot theory, angular momentum conservation, innertial ellipsoids

Transcript of PracaMagisterska

Page 1: PracaMagisterska

Spontaniczne rozplątywanie węzłów gordyjskich

Grzegorz Ilnicki

28 maja 2007

Page 2: PracaMagisterska

Spis treści

Wstęp 1

1 Węzły fizyczne 6

1.1 Elementy klasycznej teorii węzłów . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1.1 Definicja węzła, projekcja węzła . . . . . . . . . . . . . . . . . . . . . . 6

1.1.2 Równoważność węzłów, ruchy Reidemeister’a . . . . . . . . . . . . . . 7

1.2 Definicja liny idealnej, przyjęty model . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Właściwości geometryczne liny idealnej . . . . . . . . . . . . . . . . . . . . . . 8

1.4 Właściwości fizyczne modelu liny idealnej . . . . . . . . . . . . . . . . . . . . 9

1.5 Węzły gordyjskie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Cel i metodologia badań 13

2.1 Cel pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Algorytm BONO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.1 Metoda crankshaft motions . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.2 Metody Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.3 Procesy stochastyczne, procesy Markowa . . . . . . . . . . . . . . . . . 17

2.2.4 Algorytm Metropolisa-Hastingsa . . . . . . . . . . . . . . . . . . . . . 17

2.3 Konformacja idealna węzła fizycznego - algorytm BASONO . . . . . . . . . . 21

3 Przekształcenia w fizyce węzłów - narzędzia matematyczne 25

3.1 Transformacje ortogonalne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2 Obroty wokół wybranej osi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Zasady zachowania pędu i momentu pędu w fizyce węzłów 35

4.1 Zasady zachowania podczas zmian konformacji liny . . . . . . . . . . . . . . . 35

4.2 Moment statyczny zbioru punktów . . . . . . . . . . . . . . . . . . . . . . . . 36

1

Page 3: PracaMagisterska

4.3 Zasada zachowania pędu - stałość pochodnej czasowej momentu statycznego . 37

4.4 Zasada zachowania momentu pędu zbioru punktów materialnych . . . . . . . 39

4.5 Obroty wokół środka masy - stałość środka masy i zmienność momentu pędu 41

4.6 Macierz bezwładności - usuwanie momentu pędu obrotem wokół środka masy 51

5 Program symulacyjny GordianKnotDisentangler 54

5.1 Kod źródłowy programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.2 Reprezentacja liny w programie i ograniczenia . . . . . . . . . . . . . . . . . . 55

5.3 Najważniejsze klasy i funkcje składowe . . . . . . . . . . . . . . . . . . . . . . 60

5.3.1 Klasa Knot3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.3.2 Klasa Losowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.3.3 Klasa Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.3.4 Klasa KnotPliker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.3.5 Klasa KnotSimulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.4 Wykrywanie przekryć . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.5 Implementacja algorytmu BONO . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.6 Implementacja algorytmu BASONO . . . . . . . . . . . . . . . . . . . . . . . 76

6 Spontaniczne rozplątywanie węzłów gordyjskich - wyniki 81

6.1 Węzły w konformacji 3113 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.1.1 Konformacja A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.1.2 Konformacja B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6.2 Węzły w konformacji 5115 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6.3 Węzły w konformacji 6116 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

7 Istotne wnioski płynące z pracy, podsumowanie 101

2

Page 4: PracaMagisterska

Podziękowania

Pragnę wyrazić swą głęboką wdzięczność Joannie Juszczęć za wsparcie materialne i ducho-

we w trakcie pisania pracy magisterskiej. Obdarzyła mnie ogromnym zaufaniem, użyczając

mi na ponad pół roku swój przenośny komputer osobisty, na którym ta praca powstała w

przeważającej części. To właśnie Tobie - Joasiu - dedykuję tę pracę.

Jestem też bardzo wdzięczny mojemu promotorowi Panu doktorowi Sylwestrowi Przyby-

łowi za cenne wskazówki dotyczące pisania pracy i programu komputerowego. Bardzo ceniłem

sobie też Jego spokój wewnętrzny i cierpliwość w stosunku do mojej osoby.

Chciałbym również podziękować Panu profesorowi dr hab. Piotrowi Pierańskiemu. Gdyby

nie Pan profesor, pomysłodawca tematu pracy, prawdopodobnie nigdy nie zainteresowałbym

się fascynującą tematyką węzłów. Jestem przekonany, że kryją one jeszcze wiele ciekawych

tajemnic i gotów jestem, w miarę możliwości, kontynuować moje z nimi przygody w dalszym

toku rozwoju naukowego.

Dziękuję też Wam, kochani rodzice, za wsparcie materialne w ciągu całego toku studiów.

3

Page 5: PracaMagisterska

Abstract

Dynamics of topologically complex geometrical objects - models of objects, which length is signifi-

cantly (over 100 times) larger than their width - were theoretically examined. An approach with use

of simple models was made, which made it possible to determine their specific properties. Such an

approach may be useful for describing a vast class of objects with length many times larger than

width, particularly, for describing the behavior of protein molecules and DNA inside nucleus of biolo-

gical cells. Herein, such objects were taken for conformations of ideal rope entangled in complicated

forms of so called Gordian unknots. Their ability to spontaneously morph into trivial conforma-

tions, due to their geometrical fluctuations, was examined with use of computer simulations. An

issue of simulations conformity with momentum and angular momentum preservation rules was also

detailed. In oreder to fulfill these rules (mainly for visualization purpose) appropriate conditions

were formulated. Based on Monte Carlo methods algorithms were developed, enabling simulations

of Gordian unknots disentanglment process, as well as boosting speed of knots tightening by a se-

cond order of magnitude. It was shown, that complex Gordian conformations will spontaneously

morph into trivial knot conformations due to their fluctuations (thermal f.e.), providing there is an

appropriate additional amount of rope length added (relatively to their most tight conformations).

Also, this result has an important meaning within a topological branch of mathematics. Obtained

results point, that an inconsiderable relative change of Gordian knot rope length (less than 1%)

may decide of its possibility to morph into a trivial conformation, in other words the probability

of this morphing process seems to be a step function of rope length. In case of ideal rope, such

a process is connected with freeing a significant amount of rope. This can prove to be important

for macromolecules and DNA functions in biological cells. A relation mentioned above, points at

possibility of existence of such macromolecules (also DNA), which parts, or whole molecules, pac-

ked into Gordian conformations, disentangle into more simple forms, due to temperature changes

and thus caused elongation. In these more simple forms, significant parts of atomic chains (forming

these macromolecules and previously packed into Gordian conformations), could be freed and thus

made accessible for biological processes, like RNA transcription, translation and other important

biomolecular processes.

4

Page 6: PracaMagisterska

Streszczenie

W pracy badano teoretycznie skomplikowany charakter dynamiki złożonych topologicznie

obiektów geometrycznych - modeli obiektów o dużym (przekraczającym 100:1) stosunku

długości do szerokości. Skorzystano z prostych modeli, które umożliwiły wyznaczenie spe-

cyficznych ich własności. Podejście to może być przydatne do opisu zachowania wszelkich

obiektów, których grubość znacznie przekracza szerokość a w szczególności do opisu zacho-

wania molekuł białek i DNA we wnętrzach jąder komórek biologicznych. W pracy niniejszej

traktowano obiekty takie jako konformacje liny idealnej zaplątanej w skomplikowane posta-

cie tzw. węzłów gordyjskich i z użyciem symulacji komputerowych badano ich zdolności do

spontanicznego przejścia w konformacje trywialne pod wpływem fluktuacji ich geometrii.

Omówiona została też kwestia zgodności symulacji procesu rozplątywania węzłów z zasadą

zachowania pędu i momentu pędu. Sformułowane zostały takie warunki, aby zasady te były

spełnione (zwłaszcza dla celów wizualizacji). Opracowane zostały algorytmy opierające się

na metodach Monte Carlo umożliwiające symulację rozplątywania węzłów gordyjskich a tak-

że zwiększające szybkość symulacji zaciskania węzłów o dwa rzędy wielkości. Pokazano, że

złożone konformacje gordyjskie mogą samoistnie pod wpływem fluktuacji (np. termicznych)

przejść do postaci węzła trywialnego, który to wynik ma też znaczenie w dziale matematyki

- tzw. topologii rozmaitości. Uzyskane wyniki wskazują, że niewielka względna (mniejsza niż

1%) zmiana długości liny węzła gordyjskiego może decydować o możliwości jego przejścia do

konformacji trywialnej lub nie, a więc że prawdopodobieństwo tego przejścia ma charakter

progowy. Proces ten w przypadku liny idealnej wiąże się z uwolnieniem dużej ilości liny, co

może mieć istotne znaczenie dla funkcjonowania makromolekuł białek i DNA w komórkach

biologicznych. Wspomniana zależność wskazuje na możliwość istnienia takich makromolekuł,

w tym DNA, których części lub całe molekuły upakowane w konformacjach gordyjskich pod

wpływem zmian temperatury i spowodowanego nimi wydłużenia, rozplątują się do prost-

szych postaci. W tych prostszych postaciach znaczna część łańcuchów atomowych z których

te makromolekuły są zbudowane, upakowanych wcześniej w postaciach węzłów gordyjskich,

mogłaby być uwalniana i udostępniana tym samym dla procesów biologicznych takich jak

transkrypcja RNA, translacja i innych istotnych procesów biomolekularnych.

Page 7: PracaMagisterska

Wstęp:

Tutuł pracy może być dla osoby nie znającej tematu nieco mylący, więc już na wstępie wy-

magane jest uściślenie: otóż węzeł gordyjski, z matematycznego punktu widzenia, jest węzłem

trywialnym, a więc inaczej tzw. niewęzłem (ang. unknot). Węzeł trywialny można go opisać

jako krzywą o końcach połączonych ułożoną w przestrzeni trójwymiarowej w najprostszy

możliwy sposób - w pojedynczą nieskrzyżowaną pętlę, jak na rysunku 1.

Występują jednak krzywe w takich konformacjach, zwanych gordyjskimi, które na pierw-

szy rzut oka wyglądają na węzły matematyczne ale w istocie są niewęzłami. Klasyczna

(dotycząca węzłow zawiązanych na linie nieskończenie cienkiej) teoria węzłów, przybliżo-

na skrótowo w rozdziale 1 w paragrafie 1.1, wykazuje, że przy pomocy nieskomplikowanych

podstawowych transformacji krzywej w trzech wymiarach, zwanych ruchami Reidemeister’a

(patrz paragraf 1.1.2), które nie zmieniają typu węzła (węzeł wynikowy jest równoważny),

można krzywe w konformacjach gordyjskich przeprowadzić do postaci trywialnych (nie da się

tego uczynić z węzłem nietrywialnym bez przecinania krzywej). Jeśli znamy przebieg krzy-

wej węzła, można też przy pomocy znanego algorytmu (używając wielomianów Jones’a),

rozpoznać, czy jest on węzłem trywialnym, czy nie.

A co jeśli krzywą zastąpimy liną o skończonej grubości? Przecież krzywa matematyczna

jest tworem wyidealizowanym nie istniejącym (albo jak dotąd niespotkanym) w przyrodzie.

Każdy obiekt trójwymiarowy posiada skończone wymiary, wśród których wyróżnić można

grubość (lub szerokość) i/lub długość (lub podobnie - na przykład kula ma średnicę, którą

możemy uznać zarówno za grubość, jak i za długość). W szczególności dotyczy to wszystkich

rzeczywistych obiektów, które można łatwo wyginać w przestrzeni 3D jak: nitki, sznury,

liny, kable, łańcuchy, łańcuchy atomowe, nicie RNA, DNA i wiele innych. Posiadają one

wymiar, który można wyróżnić jako średnią (lub lokalną) grubość d ≈ 2r (gdzie r jestśrednim promieniem przekroju w punkcie pomiaru grubości) oraz całkowitą długość l. 1 Dla

obiektów takich spełniona jest najważniejsza (obok łatwości deformowania ich kształtów)

1Zachowanie obiektów tego typu można efektywnie modelować przy pomocy idealizacji w postaci tzw. linyidealnej, którą zdefiniowano w paragrafie 1.2.

1

Page 8: PracaMagisterska

Rysunek 1: Kolejno: węzeł trywialny (niewęzeł), niewęzeł w nieco innej konformacji (skręcony), oraznajprostszy węzeł nietrywialny - trójlistny - w dwóch konformacjach. Na rysunku uwidoczniono typowąkonwencję rysowania węzła - widać, że na skrzyżowaniach krzywych jedne fragmenty poprowadzone są

„dołem”, drugie - „górą”

zależność grubości d i długości l:

l d. (1)

Otóż wprowadzenie do rozważań nad węzłami grubości liny przenosi nas do dziedziny

węzłów fizycznych, w której pojawiają się nowe interesujące i ważne zagadnienia, dotyczące

tak przecież szerokiej klasy rzeczywistych obiektów. Podstawowym z nich są tzw. konformacje

idealne o minimalnej długości, ponieważ długości węzła, z uwagi na skończoną grubość liny,

nie można dowolnie zmniejszać do zera (sytuację poglądowo przedstawia rysunek 2).

W wypadku, gdy część węzła fizycznego jest ukryta przed oczami badacza w skompli-

kowanej konformacji, a więc nie znamy dokładnie przebiegu krzywej, przechodzącej przez

środki przekrojów liny (rysunek 3), ważne staje się określenie, czy konformacja jest węzłem,

czy niewęzłem. Praca niniejsza porusza częściowo to zagadnienie.

Wreszcie sprawa konformacji gordyjskich liny idealnej, najważniejsza w tej pracy: w wy-

niku zaciskania niektórych konformacji węzłów trywialnych (skracania np. algorytmem BA-

SONO, opisanym w paragrafie 2.3) można dojść do takich konformacji, w których dalsze

zaciskanie nie jest możliwe, a jednak węzły nie przechodzą do konformacji trywialnej. W wy-

padku liny idealnej, której promień przekroju uznajemy za nieskończenie twardy, zaciskanie

zatrzymuje się przy osiągnięciu minimalnej długości dla danej konformacji (w przybliżeniu

oddaje to zachowanie lin i innych podobnych obiektów fizycznych). Uzyskuje się więc konfor-

mację idealną, która wygląda jak węzeł, ale krzywa poprowadzona przez środki przekrojów

liny jest niewęzłem (rys. 4).

Jeśli tak jest, to z uwagi na brak możliwości jakiegokolwiek ruchu, bez wydłużenia liny

2

Page 9: PracaMagisterska

Rysunek 2: Pierwszy obrazek to węzeł trójlistny zawiązany na linie idealnej w konformacji idealnej (ominimalnej długości liny). Próba zawiązania go na linie o długości mniejszej niż minimalna nie powiedzie

się (obrazek drugi).

Rysunek 3: Węzeł czy niewęzeł? Oto jest pytanie...

3

Page 10: PracaMagisterska

Rysunek 4: Węzeł gordyjski typu 6116. Choć sprawia pozór węzła nietrywialnego, jest to skomplikowanakonformacja niewęzła (węzła trywialnego).

nie da się jej przeprowadzić do konformacji trywialnej. Przede wszystkim takie właśnie kon-

formacje, nazywane węzłami gordyjskimi (pomimo, że krzywa poprowadzona przez środki

przekrojów liny takich konformacji jest niewęzłem), były w tej pracy rozważane i badane.2

Metodologią badania była symulacja komputerowa przy pomocy specjalnie w tym celu

napisanego programu. W szczególności chodziło o odpowiedź na pytanie, czy dany węzeł gor-

dyjski, zaplątany na kawałku liny o ustalonej długości, da się rozplątać w wyniku losowych

gięć liny typu crankshaft motions (paragraf 2.2.1). Gięcia takie są fluktuacjami położeń frag-

mentów liny, a powodem tych fluktuacji mogą być oddziaływania wewnętrzne węzła, których

intensywność zależy od temperatury. Jeśli odpowiedź na to pytanie w przypadku konkretne-

go węzła jest twierdząca, a więc gdy udało się węzeł rozplątać w wyniku ruchów tego typu,

następne pytanie brzmiało: jak musi być minimalnie zwiększony stosunek długosci liny do

jej grubości względem konformacji idealnej, żeby takie rozplątanie mogło zajść samoistnie?3 Ponadto badano zależność długości symulacji, mierzonej ilością gięć do momentu, który

uznany został za rozplątanie węzła, od długości liny w konformacji gordyjskiej.4

2Być może poprawniejszym, ale i mniej „chwytliwym” sformułowaniem tytułu byłoby „Spontanicznerozplątywanie konformacji gordyjskich liny idealnej”. Jednak ponieważ niewęzeł uznaje się w języku polskimrównież za węzeł, tyle że trywialny, pozostawiono obecny tytuł pracy.3Węzeł maksymalnie zaciśnięty nie da się rozplątać, gdyż w takiej konformacji lina o ustalonej grubości nie

ma żadnej możliwości ruchu. Ale okazuje się, że pewne konformacje, pomimo, że zostawi im się nieco miejscana ruch, prawdopodobnie nie rozplączą się lub nie nastąpi to w ograniczonym czasie trwania symulacji zuwagi na zbyt małą ilość swobodnej liny lub na znikomo małe prawdpodobieństwo takiego zajścia.4Można wizualnie i kontrolując wybrane parametry symulacji wyróżnić fazy rozplątywania węzła gordyj-

4

Page 11: PracaMagisterska

W części teoretycznej w rozdziale 3.1 przedstawione zostały narzędzia matematyczne

niezbędne do opisu zachowania się ciał doskonale sztywnych i sposób ich zastosowania do

modelowania fizyki liny idealnej. Rozważona została kwestia zgodności procesu symulacji z

zasadami zachowania pędu i momentu pędu (rozdział 4). Sformułowano takie warunki, dzięki

którym zasady te są spełnione (głównie dla celów wizualizacji). Ponadto w części teoretycznej

(rozdział 1) przedstawiono metody badawcze, wśród których kluczową rolę odgrywają metody

Monte Carlo (paragraf 2.2.2) w połączeniu z algorytmami BASONO (paragraf 2.3) i BONO

(paragraf 2.2). W przedostatnim rozdziale (5) opisano program symulacyjny, jego główne

klasy i funkcje składowe a także algorytmy autora pracy, mające na celu zwiększenie szybkości

obliczeń.5 W ostatnim rozdziale (6) zaprezentowano oraz omówiono wyniki badań procesu

rozplątywania kilku wybranych węzłów gordyjskich.

Na koniec wstępu, autor chciałby jeszcze przeprosić za niedoskonały styl, jakiego używał,

pisząc pracę. Na swoje usprawiedliwienie ma jedynie to, że starał się, aby wszystko było

ścisłe, jak tylko się dało. Zdaje on sobie sprawę, że, w związku z tym, pracy nie czyta się „jak

powieści kryminalnej” lecz czasem wyjątkowo ciężko. Pisanie prac i artykułów naukowych w

sposób lekki i przystępny, a zarazem wystarczająco ścisły, jest wielką sztuką i umiejętność

tę często zdobywa się latami. Pewną rekompensatą mogą być liczne ilustracje, które mówią

zazwyczaj więcej (i jaśniej) niż tysiące słów.

skiego oraz coś w rodzaju „przejścia fazowego”, po którym zachodzą gwałtowne zmiany w procesie rozpląty-wania.5Było to zadaniem należącym do dziedziny inżynierii programowania, nierozłącznie jednak związanym z

fizycznym rozumieniem problemu.

5

Page 12: PracaMagisterska

Rozdział 1

Węzły fizyczne

1.1 Elementy klasycznej teorii węzłów

Zadaniem tego paragrafu jest przedstawienie w możliwie największym skrócie podstaw ma-

tematycznej teorii węzłów, która nazywana tu jest klasyczną. Podane zostanie kilka ścisłych

definicji, ale nie będziemy się na nich zbytnio koncentrować. Ważne jest tu intuicyjne zrozu-

mienie kwestii, stąd każda definicja zostanie opatrzona krótkim komentarzem i/lub rysun-

kiem. Zainteresowanych bliżej tym tematem, autor odsyła do bibliografii podanej na końcu

pracy.

1.1.1 Definicja węzła, projekcja węzła

Teoria węzłów definiuje węzły jako podzbiory przestrzeni R3 homeomorficzne z okręgiem. Uj-mując to w prostych słowach - węzeł to jednowymiarowa nie krzyżująca się krzywa zamknięta

(o połączonych końcach) w przestrzeni trójwymiarowej. Za fizyczną reprezentację węzła ma-

tematycznego możemy więc uznać dowolnie zapętlony sznur o obu końcach połączonych. Na

rysunku 1 we wstępie do pracy pokazano dwuwymiarowe projekcje dwóch typów węzłów.

Aby nie tracić informacji o węźle podczas projekcji z 3D do 2D, należy ją tak przeprowadzić

(narysować), aby widać było w miejscu skrzyżowań fragmentów liny, który z nich idzie górą,

a który dołem. Dlatego też na projekcji nie powinno się krzyżować w jednym punkcie więcej

niż dwóch fragmentów liny.

6

Page 13: PracaMagisterska

Rysunek 1.1: Ruchy Reidemeister’a: pierwszy dodaje lub usuwa pętlę na projekcji węzła, drugi dodaje lubusuwa dwa skrzyżowania, trzeci przesuwa linę z jednej strony skrzyżowania na drugą.

1.1.2 Równoważność węzłów, ruchy Reidemeister’a

Mówimy, że dwa węzły W1 i W2 są równoważne, gdy istnieje homeomorfizm przestrzeni R3

na siebie, który przeprowadza W1 i W2. W prostych słowach: dwa węzły są równoważne (są

tego samego typu), gdy z ułożenia liny jednego z nich możemy przejść do ułożenia drugiego

przy pomocy typowych transformacji w R3 ale bez przecinania liny. Transformacje te toprzede wszystkim: wyginanie i prostowanie liny, przekładanie jej fragmentów przez inne jej

fragmenty (np. będące pętlami), zaciskanie, poluźnianie liny itp.

Ruchy Reidemeister’a to zbiór trzech najprostszych przekształceń projekcji węzła, które

nie zmieniają typu węzła poddanego projekcji i odpowiadają transformacjom w R3, wspo-mnianym w poprzednim akapicie. Sprawę najlepiej wyjaśnia rysunek 1.1. Mając dane dwie

projekcje tego samego węzła, możemy przy pomocy takich transformacji przejść z jednej

projekcji do drugiej.

1.2 Definicja liny idealnej, przyjęty model

Dla celów niniejszej pracy przyjmiemy następującą definicję liny o promieniu r i długości l

oraz oznaczeniu L(r, l) (patrz rysunek 1.2)1:

1Zaznacza się przy tym, że definicja ta dotyczy liny idealnej, a więc abstrakcyjnego matematycznegoobiektu. Reprezentacja tego modelu w programie symulacyjnym omówiona jest w paragrafie 5.2.

7

Page 14: PracaMagisterska

Rysunek 1.2: Model liny idealnej L(r, l). Na rysunku linią przerywaną zaznaczono także krzywą środkowąliny C oraz jeden z przekrojów.

1. jest to bryła 3D - ciągły w R3 zbiór kół o tej samej i niezmiennej średnicy d = 2r > 0,koła te nazywamy przekrojami liny ,

2. środki przekrojów liny leżą na jednej krzywej ciągłej (w tej samej przestrzeni), nazy-

wanej tutaj środkową liny C, o krzywiźnie k > 0 w dowolnym jej punkcie,

3. przekroje liny są prostopadłe do jej środkowej,

4. każde dwa (nietożsame) przekroje liny posiadają najwyżej 1 punkt wspólny,

5. środkowa ma stałą długość l.

1.3 Właściwości geometryczne liny idealnej

Przyjęta definicja liny narzuca pewne geometryczne właściwości tak zdefiniowanej bryle. Wy-

mienimy kilka najbardziej oczywistych. Z warunków 2 i 3 w punkcie 1.2 wynika, że każdy

punkt środkowej odpowiada tylko jednemu przekrojowi. W związku z tym przekroje liny moż-

na ponumerować liczbami rzeczywistymi z zakresu 〈0, l〉 i wszystkie punkty brzegu takiegoprzekroju uważać za równoważne. Z warunków 2, 3, 4 można wywnioskować, że minimalny

promień krzywizny dowolnego punktu krzywej środkowej liny idealnej wynosi r (w przeciw-

nym razie istnieją przekroje mające wspólne odcinki).

Różne realizacje liny L(r, l) zgodnie z przyjętą definicją i niezmiennicze względem trans-

formacji ortogonalnych (transformacje takie nie zmieniają kątów między wektorami i odległo-

ści pomiędzy punktami przestrzeni - mowa o nich w rozdziale 3.1 niniejszej pracy), nazywać

8

Page 15: PracaMagisterska

Rysunek 1.3: Lina idealna w konformacji otwartej oraz zamkniętej. Jeśli w konformacji zamkniętejwybierzemy jakiś przekrój jako początkowy, to staje się on zarazem przekrojem końcowym.

będziemy jej konformacjami. Wyróżnić można przede wszystkim dwa rodzaje konformacji:

konformacje zamknięte i otwarte (rysunek 1.3). W konformacji otwartej można wyróżnić

przekrój początkowy i końcowy jako nietożsame. W konformacji zamkniętej nie jest to moż-

liwe.

Z matematycznego punktu widzenia, środkowa każdej konformacji zamkniętej liny L(r, l)

jest węzłem, a więc w niniejszej pracy dla uproszczenia zamknięte konformacje nazywać

będziemy węzłami W (r, l) Godnym uwagi wnioskiem powyższych stwierdzeń jest, że węzłowi

trywialnemu W (r, 2πr) odpowiada tylko jedna (minimalna co do objętości, pola powierzchni

i długości liny) konformacja - torus.

Objętość liny jest sumą objętości, a powierzchnia - sumą powierzchni bocznych walców o

infinitezymalnych długościach i nieskończenie krótkich fragmentów torusów. Te ”infinitezy-

malne” bryły wydzielone są w linie przez dwa dowolne jej przekroje, między którymi długość

wycinka krzywej środkowej jest również infinitezymalna.

1.4 Właściwości fizyczne modelu liny idealnej

Dotychczas mówiliśmy o geometrycznych własnościach liny idealnej. Rozważania powyższe

były bardziej ścisłe od tych, które przedstawione zostały w niniejszym paragrafie. Symulacja

zachowania liny zgodnie z zasadami fizyki implikuje przyjęcie kilku dodatkowych założeń i

zmusza nas do odejścia od ścisłego formalizmu matematycznego. Odtąd pewne kwestie będą

dla ułatwienia rozważane fenomenologicznie, zgodnie z intuicją i tzw. zdrowym rozsądkiem2.

2Ocena poprawności tych rozważań pozostaje więc kwestią otwartą. W szczególności jeśli chodzi o algoryt-my dokonujące transformacji na węźle - BONO (2.2) oraz BASONO (2.3), nie podaje się ścisłych dowodówmatematycznych, a jedynie mocne przesłanki sugerujące, że efekt działania tych algorytmów jest taki, jakpodpowiada intuicja.

9

Page 16: PracaMagisterska

Z fizycznego punktu widzenia pierwszy warunek uwzględnia, że lina nie ulega deforma-

cjom przekroju, czyli jest nieskończenie twarda dla sił ściskających w poprzek przekroju.

Punkt czwarty definicji warunkuje minimalny promień krzywizny środkowej a także, obrazo-

wo mówiąc, zakazuje przekrywania się fragmentów liny, co w połączeniu z jej nieskończoną

twardością, ogranicza od dołu objętość przestrzeni zajmowanej przez linę. Ostatni warunek

traktujący o stałej długości liny idealnej można zinterpretować jako całkowitą niepodatność

na siły ściskające i rozciągające wzdłuż środkowej (wynika też z niego ograniczenie objętości

liny o stałej średnicy od góry). Przyjęta definicja, ogranicza od góry krzywiznę środkowej,

lecz nie narzuca ograniczeń na zmiany tej krzywizny i jej promienia, pod warunkiem, że

będzie on większy lub równy r. Oznacza to z fizycznego punktu widzenia, że lina jest podat-

na na gięcia, czyli, że moment gnący środkową nie spotyka nieskończenie dużej reakcji. W

szczególnym przypadku można przyjąć, że reakcja ta jest równa zeru, a więc, że wyginanie

liny nie wiąże się z powstawaniem żadnych sił i momentów sił.

Warto założyć również, że lina posiada masę, co nadaje jej bardziej fizyczny charakter.

Dla uproszczenia przyjmiemy w tej pracy, że jeśli lina ma masę, to jest ona rozłożona rów-

nomiernie wzdłuż długości liny, a więc, na przykład, że jej środkowa posiada gęstość liniową

ρ. W takiej sytuacji dowolną zmianę konformacji należałoby przeprowadzić tak, że spełnio-

ne zostają jednocześnie zasady zachowania pędu i momentu pędu. Warunki te zostały w

programie symulacyjnym uwzględnione. Szczegóły znajdują się w rozdziale 4.

1.5 Węzły gordyjskie

Przyjmiemy tu następującą i niezbyt ścisłą (ale intuicyjnie zrozumiałą) definicję zaplątanych

na linie idealnej węzłów gordyjskich3:

• są to zamknięte konformacje liny idealnej,

• których środkowe (i każda zamknięta krzywa, przechodząca wewnątrz liny tylko razprzez każdy jej przekrój) są w matematycznym sensie węzłami trywialnymi,

• ale które z fizycznego punktu widzenia wyglądają jak węzły nietrywialne

• i z konformacji idealnej nie da się ich (bez wydłużenia lub przecinania liny) doprowadzićżadną ciągłą w R3 transformacją do konformacji torusa.

O konformacji idealnej mowa jest w paragrafie 2.3 następnego rozdziału. Przez ciągłość

transformacji w ostatnim punkcie rozumie się, że dla każdych dwóch dowolnie bliskich kon-

formacji, między którymi istnieje taka ciągła w R3 transformacja i dla których spełniona jest3Przymiotnik gordyjski oznacza to, co w starożytności, a więc węzeł, którego, nie da się rozplątać.

10

Page 17: PracaMagisterska

Rysunek 1.4: Etapy tworzenia węzła gordyjskiego typu 3113: A - tworzenie dwóch „guzłów” (zgrubień) nakońach liny wskutek stworzenia pętli i poprowadzenia przez nie końców liny, B - wyciąganie liny z obustron, w celu utworzenia pętli, C - zarzucanie pętli na guzły. Czarną kreską zaznaczono linę, szare strzałki

pokazują kierunki przeciągania liny.

definicja liny idealnej, istnieje konformacja pośrednia, w której definicja liny idealnej jest dla

tej konformacji również spełniona.

Mówimy w tej pracy, że konformacje gordyjskie są zaplątane (w j. angielskim entangled),

w przeciwieństwie do węzłów nietrywialnych które są zawiązane (j.ang. knotted). Sposób

„plątania” zamkniętej konformacji liny w węzeł gordyjski typu 3113 pokazany jest na ry-

sunku 1.4. Rysunek 1.5 pokazuje dwa trójwymiarowe rzuty jednego z końców tego węzła w

programie symulacyjnym w stanie dużego poluźnienia. Dwa końcowe etapy zaciskania końca

tego węzła gordyjskiego pokazuje rys. 1.6. Z obu rysunków widać dobrze, że przy zaciskaniu,

zaznaczona czerwoną kreską pętla nie zsunie się. Doprowadzi natomiast do konformacji, w

której dalsze zaciskanie nie będzie możliwe.

W opisany na rysunku 1.4 sposób można zaplątać różne węzły, w zależności od tego, jak

mocno skomplikujemy „guzeł” tworzony w etapie A a następnie wybierając różne sposoby

nałożenia pętli (koniec liny, który tworzy pętlę można skręcić dowolną ilość razy).

11

Page 18: PracaMagisterska

Rysunek 1.5: Dwa widoki jednego z końców węzła 3113 w trójwymiarowym rzucie. Pętla którą zakłada sięw etapie C z rysunku 1.4 została zaznaczona czerwoną kreską.

Rysunek 1.6: Końcowe etapy zaciskania końca węzła 3113 z poprzedniego rysunku 1.5. Zaciskanie węzła,zaciska również pętlę (zaznaczona czerwoną kreską) na zaplątanym „guźle”, przez co nie może się ona

zsunąć, a dalsze zaciskanie nie jest możliwe.

12

Page 19: PracaMagisterska

Rozdział 2

Cel i metodologia badań

2.1 Cel pracy

Celem pracy było przebadanie kilku wybranych konformacji gordyjskich węzłów zapląta-

nych na linie idealnej pod kątem możliwości ich spontanicznego rozplątania do konformacji

trywialnej w wyniku fluktuacji geometrii liny oraz wyznaczenie minimalnych długości przy

których to rozplątanie może nastąpić. Badanie to wymagało działania na wybrane węzły

dwoma algorytmami - BONO i BASONO, których zasadnicze idee opisane są w następ-

nych paragrafach, natomiast istotne szczegóły implementacji numerycznej przedstawiono w

rozdziale 5 przybliżającym program komputerowy.

2.2 Algorytm BONO

Zasadnicza idea działania algorytmu BONO (ang. bend on no overlaps - wyginanie bez

przekryć) jest bardzo prosta:

1. Wybieramy (lub losujemy, używając wybranego rozkładu statystycznego) dwa punkty

przechodzące przez linę, determinując w ten sposób oś,

2. dokonujemy gięcia o pewien kąt (najczęściej losujemy jego wartość).

3. Jeśli w wyniku gięcia fragmenty liny przekrywają się, przywracamy stan poprzedni.

4. Wracamy do punktu 1.

Jeśli w punkcie 3 algorytmu nie nastąpiło przekrycie, można nałożyć na gięcie inne wa-

runki - na przykład przy zastosowaniu algorytmu Metropolisa-Hastingsa sprawdza się, jak

13

Page 20: PracaMagisterska

zmieniła się zdefiniowana wcześniej zmienna zależna od geometrii węzła (np. energia). W

zależności od tego przywraca się stan poprzedni, lub akceptuje efekt takiej transformacji. W

następnym kroku powtarza się opisane czynności (powrót do punktu 1) i tak aż do uzyskania

spodziewanego efektu działania opisanej metody.

Implementacja algorytmu BONO dla przyjętej reprezentacji liny w programie (paragraf

5.2) jest ułatwiona, ponieważ model ten jest jednoznacznie zidentyfikowany przez określony

zbiór punktów rozmieszczonych wzdłuż krzywej środkowej. Nie dokonuje się więc w sposób

bezpośredni złożonych matematycznie i fizycznie transformacji powierzchni liny. Zadowala-

jący efekt uzyskuje się poprzez transformacje ortogonalne (paragraf 3.1) podzbiorów zbioru

punktów liny, związanych z jej wybranymi fragmentami. W związku z charakterem tego typu

transformacji, długość liny (mierzona jako suma długości odcinków łamanej o wierzchołkach

leżących na środkowej węzła) w trakcie działania algorytmu nie zmienia się.1

Szczegóły zasad działania algorytmu BONO opierają się na kilku znanych metodach sto-

sowanych w obliczeniach numerycznych i omówione są w niniejszym rozdziale w następnych

paragrafach.

2.2.1 Metoda crankshaft motions

Metoda ruchów wału korbowego, przy pomocy której następują gięcia, bierze swoją nazwę z

podobieństwa między ruchem fragmentu liny względem jej pozostałej części a ruchem wału

korbowego, w którym każdy punkt wału obraca się o ten sam kąt względem tej samej osi (rys.

2.1). Dokładniej – w naszym wypadku jest to obrót fragmentu liny względem dowolnej osi

przechodzącej przez dwa centralne punkty dwóch wybranych przekrojów liny. Innymi słowy

jest to uproszczony model gięcia w dwóch punktach. Jeśli ruchy te nie są duże (małe kąty

gięcia), stanowią dobre przybliżenie niewielkich zmian konformacji liny.2 Z takich małych

zmian stosowanych sekwencyjnie oraz niewielkich przemieszczeń wybranych punktów liny

względem siebie uzyskać można dowolną konformację (np. węzeł gordyjski), która dozwolona

jest geometrią liny.

Jak już powiedziano, transformacje dotyczą jedynie wybranych punktów zbioru, definiu-

jącego reprezentację liny. W programie komputerowym dane są one w postaci współrzędnych

wektorów położeń tych punktów.

1Pomijając niedokładności numeryczne, których znikomy wpływ na długość liny i tak zmniejsza się, od-powiednio skalując węzeł. W razie potrzeby wyrównuje się też długości segmentów. Warto jednak zauważyć,że tak zdefiniowana długość liny jest mniejsza od długości jej środkowej. Jednak różnica ta szybko zbliża siędo zera wraz ze wzrostem ilości wierzchołków łamanej.2Model ten stosuje się też w innych badaniach. Na przykład w fizyce molekularnej do opisu zmian układu

atomów w cząsteczkach.

14

Page 21: PracaMagisterska

Rysunek 2.1: Ruch wybranego fragmentu liny przeprowadzamy na zasadzie analogii do ruchu wałukorbowego.

2.2.2 Metody Monte Carlo

Ponieważ wybór punktów oraz kątów gięcia liny odbywa się w sposób przypadkowy, dany

pewnym statystycznym rozkładem prawdopodobieństwa, BONO zalicza się do algorytmów

niedeterministycznych - probabilistycznych - typu Monte Carlo. Algorytmy tego typu stoso-

wane są najczęściej do rozwiązywania skomplikowanych problemów, gdzie metody determi-

nistyczne nie zdają egzaminu, ponieważ ich zastosowanie jest bardzo trudne, czasochłonne,

albo i jedno i drugie. Z sytuacjami takimi mamy do czynienia przede wszystkim w przypadku

zagadnień, w których badany układ, składa się z wielu elementów i stąd charakteryzuje go

duża liczba stopni swobody sprzężonych w pewien sposób przez określone właściwości ukła-

du. Zachowanie kilku obiektów oddziałujących ze sobą w nawet prosty sposób (np. zagad-

nienie ruchu trzech oddziałujących grawitacyjnie ciał) jest z reguły bardzo skomplikowane,

a rozwiązanie równań dla wszystkich przypadków - niemożliwe. Dodatkowo nawet bardzo

małe zmiany warunków początkowych (np. wynikające z niedokładności numerycznej) po

pewnej, dającej się z grubsza ustalić, liczbie kroków algorytmu prowadzą często do zupeł-

nie odmiennych stanów badanego układu.3 Numeryczne metody deterministyczne zakładają

użycie jedynie pętli warunkowych i w związku z tym ściśle określonego postępowania, tym-

czasem różnorakich warunków w rozległej przestrzeni stanów złożonych układów pojawia

się tak wiele, że napisanie algorytmu, który by się z nimi wszystkimi rozprawił, staje się

3Znanym ogólnie (modnym) określeniem tego zachowania, opisywanego przez teorie układów chaotycz-nych, jest tzw. efekt motyla. W ramach teorii chaosu wykazuje się, że trzepot motylich skrzydeł po jednejstronie planety może być po pewnym czasie powodem huraganu po drugiej stronie.

15

Page 22: PracaMagisterska

zadaniem karkołomnym lub po prostu niewykonalnym.

Metody Monte Carlo wykorzystują moc obliczeniową komputerów do badania ogromnej

przestrzeni stanów złożonych układów w sposób przypadkowy, dając układom możliwość

„błądzenia” po tej przestrzeni, zachowując przy tym prawa obowiązujące dla układu w każ-

dym ze stanów i zapewniając, że przejście pomiędzy stanami jest możliwe. Wiele różnych

stanów układu wykazuje podobieństwa i takie „przemiatanie” po ich przestrzeni daje moż-

liwość przyjrzenia się (zbadania, wykonania obliczeń) szerokiej gamie różnych możliwych

realizacji stanów tego układu. Wyniki można wykorzystać do obliczenia średnich wielkości

zmiennych systemu, ich momentów statystycznych, a także, poprzez zbadanie wielu możliwo-

ści i arbitralne ustalenie prawdopodobieństw zajść wybranych procesów w układzie, dotarcie

do stanów specjalnie dla badacza interesujących. W związku z tymi zaletami metody Monte

Carlo są bardzo szeroko stosowane w fizyce komputerowej, a także w informatyce w zagadnie-

niach optymalizacyjnych. Stosuje się je też do przybliżonego rozwiązywania złożonych ukła-

dów równań opisujących skomplikowane systemy, a zwłaszcza do całkowania, różniczkowania

itp. gdzie przewaga algorytmów Monte Carlo w porównianiu do innych metod numerycznych

staje się wyraźnie widoczna wraz ze wzrostem liczby wymiarów badanego systemu.

Naturalnie w programie komputerowym korzysta się z tzw. pseudolosowych rozkładów

liczb, co oznacza, że symuluje się numerycznie generowanie zmiennej losowej zgodnie okre-

ślonym rozkładem. Generator liczb pseudolosowych powinien być w odpowiedni sposób prze-

testowany dla wielu generowanych liczb, aby poza właściwościami rozkładu nie pojawiały się

w nim inne zależności.4 Źle dobrany generator może wpłynąć na zachowanie układu podczas

symulacji, gdyż możliwe jest pojawienie się korelacji pomiędzy jego ukrytymi zależnościa-

mi, a zachowaniem systemu, które w naturalnych warunkach (gdzie mamy do czynienia z

rzeczywistymi zmiennymi losowymi) by nie wystąpiło.

W pracy niniejszej wykorzystano metody Monte Carlo do sprawdzenia, czy tak losowo

„wędrujące” po swych przestrzeniach dozwolonych stanów węzły gordyjskie rozplątują się,

czy nie, a więc, czy przechodzą do konformacji trywialnych. Okazuje się, że tak, ale nie dla

każdego wydłużenia węzła gordyjskiego z konformacji idealnej nastąpiło to w czasie trwania

symulacji. Wszystko wskazuje na to, że poniżej pewnej długości węzła, prawdopodobieństwo

rozplątania w „rozsądnym” czasie jest albo zerowe albo tak małe, że nie warto na to czekać.

Więcej na ten temat w rodziale 6 przedstawiającym wyniki badań węzłów gordyjskich.

4Można je wychwycić, na przykład, badając momenty statystyczne, czyli odchylenia od średnich, jakodchylenie standardowe. Przykładowo - dla zmiennej losowej z rozkładem równomiernym średnie odchyleniedodatnie musi być równe ujemnemu.

16

Page 23: PracaMagisterska

2.2.3 Procesy stochastyczne, procesy Markowa

Proces stochastyczny to funkcja losowa, czyli funkcja matematyczna, której wartości le-

żą w przestrzeni zdarzeń losowych. Innymi słowy, pewnej wielkości (jakiemuś człowiekowi,

liczbie, chwili czasu, punktowi płaszczyzny) przypisane jest zdarzenie losowe (wzrost, losowo

wybrana liczba, wartość waluty wg notowań giełdowych, liczba rzeczywista). Matematycznie,

proces stochastyczny jest zazwyczaj definiowany jako rodzina zmiennych losowych:

(Xt, t ∈ T ) (2.1)

gdzie: Xt - zmienna losowa, zaś T to zbiór indeksów procesu stochastycznego. Zmienne

muszą być określone na tej samej przestrzeni probabilistycznej. Zbiór wartości zmiennych

losowych Xt nazywamy przestrzenią stanów procesu stochastycznego, zaś pojedyncza

wartość zmiennej losowej to stan procesu stochastycznego.

W naszym wypadku węzłowi przypisujemy zdarzenie losowe - gięcie o losowy kąt. A więc

proces jego wielokrotnego gięcia jest procesem stochastycznym. Przestrzenią stanów węzła

jest zbiór wszystkich możliwych konformacji liny, na którym węzeł tej jest zawiązany lub

zaplątany.

Proces Markowa to ciąg zdarzeń, w którym prawdopodobieństwo każdego zdarzenia

zależy jedynie od wyniku poprzedniego. Typowym przykładem w fizyce jest proces opisujący

ruchy Browna.

W naszym wypadku to, czy określone gięcie węzła uda się czy nie, co jest przejściem do

innego stanu (zdarzenia), zależy tylko od obecnego stanu węzła, ponieważ podyktowane jest

tylko jego geometrią oraz wartością zmiennych losowych (punkty gięcia, kąt gięcia). A więc

proces realizowany algorytmem BONO jest także procesem Markowa.

2.2.4 Algorytm Metropolisa-Hastingsa

Zasadniczo, aby węzeł gordyjski rozplątał się, konieczne jest ponowne przejście jednej z pętli

liny węzła z rysunków 1.5 oraz 1.6 z powrotem na drugą stronę „guzła”. Jeśli guzeł ten jest

mały w stosunku do ilości liny na pętli5, to jest to łatwo osiągalne podczas zupełnie spon-

tanicznego procesu, w którym stosuje się tylko cztery kroki algorytmu opisane w 2.2. Warto

zauważyć, że w skończonym czasie, nie każdy zbiór kolejnych stanów węzła jest jednakowo

prawdopodobny. Czyli nie każdy proces Markowa, rozumiany jako realizacja kolejnych gięć

algorytmem BONO jest jednakowo prawdopodobny w skończonym czasie.6

5Na pierwszy rzut oka oczywiste jest, że obwód pętli musi być co najmniej równy obwodowi „guzła” wnajszerszym miejscu. Zagadnienie jest jednak pod względem geometrycznym znacznie bardziej złożone.6Na przykład okazuje się, że gdy pętla okalająca „guzeł” węzła przejdzie z powrotem na drugą stronę i w

ten sposób uwolni się, to dalej węzeł poddany BONO bardzo szybko rozplątuje się do konformacji trywialnej.

17

Page 24: PracaMagisterska

Rysunek 2.2: Węzeł gordyjski 6116 o długości 257 przed- i po zastosowaniu algorytmuMetropolisa-Hastingsa (około 10 tysięcy udanych gięć), w którym uprzywilejowano gięcia oddalające odsiebie segmenty liny o maksymalnie odległych indeksach (dla indeksu k takim segmentem jest ten o indeksie

k + n/2, gdzie n jest ilością segmentów liny.

Uruchamiając symulację BONO, czyli badając pewien szczególny proces Markowa dla

wybranego węzła, pozwalamy mu „błądzić” po przestrzeni stanów, mając nadzieję, że po

wystarczająco długim czasie, nastąpi rozplątanie węzła z konformacji gordyjskiej. Jeśli jest

to możliwe, to na pewno nastąpi to po czasie nieskończonym, ale tak długo czekać nie chcemy

(i nie możemy). Jeśli przestrzeń możliwych stanów układu jest bardzo duża w porównaniu

do podzbioru tej przestrzeni, który nas szczególnie interesuje, przejście do tego podzbioru w

czasie symulacji może okazać się nieosiągalne. Algorytm Metropolisa-Hastingsa został zaim-

plementowany w programie w celu wymuszenia „podróży” węzła w pżybliżonym kierunku

stanu o określonej geometrii. Na przykład, jeśli chcemy rozsunąć od siebie dwa końce węzła

gordyjskiego w programie, to ręczne manipulacje (wyginanie wybranych fragmentów liny)

zajęłyby bardzo dużo czasu. Zastosowanie algorytmu Metropolisa-Hastingsa (opisanego po-

krótce w dalszych akapitach) na domowym komputerze pozwala to osiągnąć w czasie rzędu

kilku sekund (rys. 2.2).

W skrócie: algorytm Metropolisa-Hastingsa to algorytm „próbkujący” kolejne stany pro-

cesu Markowa i odrzucający je lub akceptujący na bazie określonego rozkładu gęstości praw-

dopodobieństwa stanów względem wybranej zmiennej, którą obliczamy dla stanu poprzed-

Ten sam proces, ale przebiegający w odwrotnym kierunku jest tak mało prawdopodobny, że gdyby nawetzaszedł, nikt rozsądny nie uwierzyłby, że wynik takiej symulacji nie został spreparowany. Czy szanownemuczytelnikowi zawiązały się kiedyś spontanicznie sznurowadła?

18

Page 25: PracaMagisterska

niego i następnego (próbkowanego). Rozkład prawdopodobieństwa można dowolnie wybrać,

ale aby algorytm dobrze oddawał procesy fizyczne, powinien być to jakiś charakterystyczny i

realny rozkład końcowy (np. w wypadku energii całowitej układu - rozkład Boltzmanna dla

układu cząsteczek, Fermiego dla elektronów itp). Nie będziemy tu wnikać w podstawy teore-

tyczne (dość złożone). Działanie algorytmu można przedstawić tak, by w kontekście badania

węzłów, było intuicyjnie zrozumiałe, omówione ono zostanie na poniższym przykładzie.

Aby uzyskać efekt rozsunięcia fragmentów liny wewnątrz węzła, przypisuje się mu para-

metr E analogiczny do potencjalnej energii odpychania kulombowskiego (i nazywany dalej

energią). Każdemu fragmentowi liny przyporządkowany jest nieruchomy „ładunek” bliżej

nieokreślonego rodzaju (ale mógłby to być ładunek elektrostatyczny), który z ładunkiem

każdego innego fragmentu liny oddziałuje odpychająco. Inaczej mówiąc, energia potencjalna

takiego oddziaływania jest dodatnia i maleje wraz z odległością. 7 Przyjmuje się, że energia

ta jest odwrotnie proporcjonalna do wybranej potęgi odległości a całkowita energia węzła

dana jest wzorem:

E =n∑i 6=j

Eij =n∑i 6=j

a

rwij, (2.2)

gdzie Eij jest energią pary punktów o indeksach i i j, rij jest odległością tej pary, a jest

jakimś współczynnikiem proporcjonalności, a w - dobieralnym wykładnikiem potęgi odległo-

ści. Poprzez wybór wykładnika tej potęgi, można regulować stosunek wkładu do sumarczynej

energii odpychania w węźle, pochodzący od sąsiednich fragmentów i od fragmentów oddalo-

nych. Prawdpodobieństwo P (E1, E2) przejścia z układu o energii E1 do układu o energii E2określa stosunek czynników boltzmanowskich

u =exp

(−E2kbT

)exp

(−E1kbT

) = exp(E1 − E2kbT

)(2.3)

układu przed i po zmianie (w ustalonej temperaturze), przy czym jeśli ten stosunek jest

większy lub równy 1, to przyjmuje się prawdpodobieństwo równe 1:

P (E1, E2) =

1, E2 6 E1

u,E2 > E1(2.4)

Losuje się następnie liczbę z rozkładem równomiernym na przedziale od 0 do 1 i jeśli licz-

ba ta jest mniejsza od P (E1, E2), przyjmuje się stan o energii E2. A więc jeśli energia układu

maleje lub nie zmienia się, akceptujemy taki ruch. Jeśli jest większa, wtedy akceptujemy z7Gradient tej energii wzdłuż prostej łączącej środki ładunków jest siłą oddziaływania skierowaną przeciw-

nie względem środka odcinka łączącego te ładunki. Stąd odpychający kierunek siły.

19

Page 26: PracaMagisterska

Rysunek 2.3: Węzeł gordyjski 6116 o długości 257 przed- i po zastosowaniu algorytmuMetropolisa-Hastingsa (około 100 tysięcy udanych gięć), w którym uprzywilejowano gięcia oddalające odsiebie bliskie segmenty liny, nadając każdej parze punktów energię odpychającą silnie malejącą wraz z

odległością (jak d−8, gdzie d to odległość pary punktów).

prawdopodobieństem u mniejszym od 1 lub odrzucamy z prawdopodobieństwem 1− u. Po-nieważ energia układu dwóch ładunków maleje, gdy oddalają się one od siebie, gięcia węzła,

które oddalają sąsiednie fragmenty liny od siebie, są uprzywilejowane. Minimum całkowitej

energii odpychania osiągane jest wówczas, gdy momenty sił odpychających, działające na

fragmenty węzła, są równe zeru. Wielokrotne zastosowanie takiej procedury sprawia, że wę-

zeł, „wędrując” zgodnie z tak ustalonymi regułami po przestrzeni stanów, przyjmuje postać

bardziej regularną. Efekt działania na wybranej konformacji węzła pokazuje rysunek 2.3.

Stosując wybrane rozkłady gęstości stanów oraz różne rodzaje energii (np. gdy jej znak

jest ujemny, mamy efekt przyciągania) możemy w dość wyrafinowany sposób kontrolować geo-

metrię węzła. Obserwując go i modyfikując odpowiednie parametry algorytmu Metropolisa-

Hastingsa, mamy większą kontrolę nad zachowaniem węzła i możemy zwiększyć prawdo-

podobieństwo jego rozplątania. Jesteśmy jednocześnie pewni, że działamy nadal w zakresie

algorytmu BONO (czyli dozwolonych transformacji liny idealnej).

20

Page 27: PracaMagisterska

Rysunek 2.4: Węzeł 3113 luźny i bardziej zaciśnięty (kilka sekund działania algorytmu SONO.SP)

2.3 Konformacja idealna węzła fizycznego - algorytm

BASONO

Konformacja idealna to realizacja węzła fizycznego zawiązana na linie o minimalnej długości,

a więc obrazowo - maksymalnie zaciśnięta. Jeśli lina w konformacji węzła jest maksymalnie

zaciśnięta, mówimy o węźle idealnym i rozumiemy to tak, że żaden jej pojedynczy fragment

liny nie może wykonać ruchu, jeśli nie zmieni położenia jakiś inny fragment. W tych samych

warunkach zaplątania, mówimy również o idealnej konformacji gordyjskiej.

Do zaciskania węzłów do konformacji idealnych służą różne wersje algorytmu SONO (skrót

z języka ang. „shrink on no overlaps” oznacza „kurczenie bez przekryć”) opracowanego pier-

wotnie przez profesora Piotra Pierańskiego. Algorytm był dalej rozwijany w Zakładzie Fizyki

Komputerowej i Półprzewodników Wydziału Fizyki Technicznej Politechniki Poznańskiej i

znacznie zmodyfikowany przez doktora Sylwestra Przybyła (wersja algorytmu SONO.SP).

Nowa wersja algorytmu BASONO („bend and shrink on no overlaps” - wyginanie i kurcze-

nie bez przekryć) opracowana została przez autora pracy i łączy zasady działania algortymów

SONO.SP oraz BONO. Poprzez wprowadzenie wraz z BONO czynnika losowego i algoryt-

mu Metropolisa-Hastingsa do szukania bardziej regularnych pośrednich konformacji węzła,

zwiększa szybkość zaciskania węzła, zwłaszcza w początkowym etapie, ale przede wszyst-

kim zmniejsza prawdopodobieństwo przejścia węzła do konformacji o długości minimalnej

lokalnie, lecz nie idealnej.

Efektem działania algorytmów z rodziny SONO na węźle jest doprowadzenie go do kon-

formacji, w której dalsze zaciskanie nie jest już możliwe, gdyż albo doprowadziłoby do prze-

krywania się liny, albo do znikania jej fragmentów, jak to pokazuje rysunek 2 ze wstępu. Al-

21

Page 28: PracaMagisterska

Rysunek 2.5: Węzeł 3113, w zupełnie przypadkowej konformacji, przed skalowaniem i przeskalowany ozaledwie 1% w dół. Pojawienie się ciemnoczerwonego koloru na fragmentach liny oznacza przekrycia.

gorytm, oczywiście, zmniejsza całkowitą długość węzła, zachowując w wystarczająco dobrej

dokładności stałe odległości między punktami definiującymi węzeł (punktami, przez które

przechodzi jego środkowa). W odpowiednich warunkach takie zaciskanie węzła prowadzi do

jego idealnej konformacji, bądź konformacji nieznacznie oddalonej od idealnej.8

Główna zasada działania algorytmu BASONO, podobnie jak wypadku jego poprzedni-

ka SONO.SP, polega na minimalizacji długości każdego fragmentu liny oraz wykorzystaniu

wolnej przestrzeni w węźle do jego zaciśnięcia w taki jednak sposób, aby fragmenty liny nie

przekrywały się (rys. 2.4).

Zwykłe przeskalowanie węzła (proporcjonalne zmniejszenie długości każdego infinitezy-

malnego jej odcinka) w ogólnym przypadku jest dobrym rozwiązaniem jedynie w początkowej

fazie zaciskania. W dalszych etapach zaciskanie musi zachodzić nierównomiernie - inaczej dla

różnych fragmentów liny, co wynika ze złożoności geometrii węzła w przypadku ogólnym (rys.

2.5).

Stosuje się więc procedurę zwaną ściąganiem węzła, która polega na sukcesywnym skra-

caniu liny, poprzez prostowanie jej łuków, jeśli jest to w ogóle możliwe bez powstawania

przekryć. Prostowanie to realizowane jest dla wybranego fragmentu liny poprzez przesuwa-

nie punktów krzywej środkowej liny z jej łuku na odcinek łączący punkty przecięcia środkowej

przekrojami wyznaczającymi przedział liny do prostowania, jak pokazuje rysunek 2.6.

Wybór wyznaczonego dwoma przekrojami przedziału liny do prostowania jest losowy.

Odległości między przekrojami liny na łuku skracają się i tak uzyskuje się pożądany efekt

działania algorytmu, to jest skrócenie całkowitej długości liny. Jednakże takie „prostowanie”

8Zwiększenie dokładności reprezentacji liny przez zwiększenie ilości punktów ją definiujących w ostat-nim etapie zaciskania zmniejsza fluktuacje długości wynikające z dyskretności modelu i nierównomiernej,segmentowej, powierzchni liny (patrz paragraf 5.2).

22

Page 29: PracaMagisterska

Rysunek 2.6: Zasada ściągania węzła polega na prostowaniu łuków liny. Oczywistym jest, że odległość d2dwóch punktów liny, które wcześniej były na łuku, po prostowaniu łuku i równomiernym rozmieszczeniu na

jego cięciwie, jest mniejsza niż początkowa d1.

łuków bez przesuwania innych fragmentów liny nie może trwać bez końca i gdyby nie inne

współpracujące mechanizmy algorytmów z rodziny SONO, skracanie liny skończyłoby się na

tym etapie.9 W algorytmie BASONO najważniejszym z takich mechanizmów jest „randomi-

zacja” konformacji liny, a więc losowe jej zniekształcenie wskutek gięć węzła wykonanych z

użyciem algorytmu BONO (jeśli zastosuje się algorytm Metropolisa-Hastingsa to te losowe

gięcia mogą prowadzić do zwiększenia regularności węzła - paragraf 2.2.4, rys. 2.3). Jeśli

węzeł nie jest jeszcze do tego momentu maksymalnie zaciśnięty, prowadzą one do rozsunięcia

bliskich przekrycia fragmentów, tak, że dalsze prostowanie łuków staje się znowu możliwe

(rysunek 2.7).

Jest to sposób bardziej wydajny niż skalowanie, w wyniku którego następuje niechciane

wydłużenie węzła, a jak wiadomo, BONO nie zmienia długości liny. Stosowane są więc na

zmianę tryby zaciskania i wyginania, skąd bierze się nazwa algorytmu.

Dodatkową istotną zasadą działania algorytmu BASONO jest takie zniekształcanie wę-

zła poprzez gięcia między fazami prostowania, że średnia odległość dwóch sąsiadujących

fragmentów liny jest maksymalizowana. Osiąga się to, uruchamiając procedurę algorytmu

Metropolisa-Hastingsa podczas działania fazy BONO (opisana w paragrafie 2.2.4). Uprzywi-

lejowane są te udane (bez przekryć) gięcia, w czasie których gięty fragment liny znajduje się

bliżej środka pomiędzy fragmentami sąsiednimi. Takie ruchy akceptowane są z prawdopodo-

bieństwem równym 1. Ruchy oddalające fragment liny od tak określonego środka przyjmo-

9W przypadku SONO.SP do mechanizmów tych należy wyrównywanie segmentów liny oraz rozsuwanieprzekryć po ściąganiu węzła. Oba z nich również działają w ramach algorytmu BASONO.

23

Page 30: PracaMagisterska

Rysunek 2.7: Ściąganie liny w algorytmach SONO i SONO.SP prowadzi często do szybkiego zablokowaniasię algorytmów wskutek wyprostowania wszystkich możliwych łuków (obrazek pierwszy). Zastosowanie potej fazie losowych gięć, powoduje rozsunięcie fragmentów liny (obrazek drugi) i umożliwia dalsze ściąganie

aż do ponownego zablokowania (obrazek trzeci).

wane są z prawdpodobieństwem mniejszym od 1. Mówiąc obrazowo, procedura ta wytwarza

więcej miejsca dla fazy prostującej (patrz też rys. 2.3). A więc lina ulega większemu skróceniu

aż do momentu ponownego „zablokowania się”.

24

Page 31: PracaMagisterska

Rozdział 3

Przekształcenia w fizyce węzłów

- narzędzia matematyczne

3.1 Transformacje ortogonalne

W paragrafie tym wprowadzone zostaną transformacje ortogonalne. Znajomość aparatu ma-

tematycznego, związanego z tymi przekształceniami, daje podstawy do pełnego zrozumienia

działania funkcji użytych w programie symulacyjnym (gięcie liny, usuwanie pędu i momentu

pędu) oraz dowodów wybranych twierdzeń, na których bazie funkcje te powstały.

Transformacje ortogonalne to takie liniowe przekształcenia przestrzeni metrycznych, w

których zachowane zostają odległości (metryki) pomiędzy dowolnymi punktami transfor-

mowanych części przestrzeni. Jest zrozumiałe, że przekształcenia te są podstawą mechaniki

klasycznej, z którą wiąże się część niniejszej pracy. Do liniowych transformacji ortogonalnych

zaliczają się bowiem zwykłe przesunięcia i obroty trójwymiarowych zbiorów punktów (ciał

doskonale sztywnych) oraz złożenia takich przesunięć i obrotów. Natomiast lina idealna jest

modelem liny rzeczywistej, składającym się z uporządkowanego (w ciąg, pierścień itp.) zbioru

punktów leżących na jej środkowej (środki sfer, tworzących powierzchnię liny w implemen-

tacji programu). Prawdą jest, że lina rzeczywista ze swej natury nie jest doskonale sztywna,

lecz wręcz przeciwnie – wiotka. Jednak dostatecznie małe zmiany konformacji liny idealnej,

z których składa się całe jej przekształcenie do innej postaci, można uznać za sekwencyjne

konfiguracje obrotów i przesunięć jej fragmentów, które to przybliżamy ideą ciała doskonale

sztywnego.

Paragraf ten został opracowany na podstawie pracy wymienionej w bibliografi (1). W

razie nieścisłości warto zajrzeć do tego dzieła.

25

Page 32: PracaMagisterska

Rysunek 3.1: Przykładowy układ kartezjańskich przestrzeni trójwymiarowych, pomiędzy którymiwprowadzamy transformację ortogonalną (szczegóły w tekście).

Niech dany będzie zbiór n punktów. Położenie i-tego punktu Ai o masie mi w kartezjań-

skim trójwymiarowym układzie współrzędnych Ox1x2x3 opisuje wektor, który oznaczymy

ri, a w drugim układzie Ωx′1x′2x′3 punkt ten wskazuje wektor oznaczony r′i.1 Położenie

początku układu współrzędnych Ωx′1x′2x′3 w układzie Ox1x2x3 dane jest wektorem rΩ, jak

pokazuje rysunek 3.1:

Z rysunku 3.1 oraz poprzednich założeń wynika równość

ri = rΩ + r′i. (3.1)

Równanie to można napisać w innej postaci, wyrażając poszczególne wektory za pomocą

sum iloczynów składowych i wersorów:

3∑j=1

xjiej =3∑j=1

xjΩej +3∑k=1

xki e′k (3.2)

1Umówmy się, że w tej pracy wektory i punkty zapisujemy czcionką pogrubioną a zmienne skalarnekursywą. Ponadto, z uwagi na wielość indeksów dla zmiennych, niech dolny indeks oznacza numer lub indekspunktu bądź wektora ale w przypadku wersorów niech będzie indeksem współrzędnej; natomiast indeksemwspółrzędnej w przypadku wektorów i punktów jest indeks górny. Dodatkowo niech ej stanowią wersoryukładu Ox1x2x3, a e′k są wersorami układu Ωx

′1x′2x′3. Składowe macierzy i tensorów indeksowane są udołu dla estetyki i przejrzystości (nieelegancko wyglądają 2 górne indeksy)

26

Page 33: PracaMagisterska

lub inaczej

xijej = x

jΩej + x

′ike′k, (3.3)

przy czym w drugim wypadku obowiązuje nas konwencja sumacyjna Einsteina. Zgodnie

z tą konwencją, która będzie dla zwięzłości zapisu stosowana w niniejszej pracy, sumowanie

przebiega po wymiarach przestrzeni, w której znajdują się punkty (czyli u nas od 1 do 3),

po wskaźnikach, które w danym wyrażeniu dwukrotnie się powtarzają.

W celu otrzymaniam-tej składowej xmi wektora ri w układzie Ox1x2x3, należy wyrażenie

(3.3) pomnożyć skalarnie przez wektor jednostkowy em. Otrzymujemy wówczas:

xji δmj = xΩjδmj + x′i

kPmk′ , (3.4)

gdzie δmj jest deltą Kroneckera (równą 1, gdy m = j, a w przeciwnym wypadku równą

0) i gdzie

Pmk′ = eme′k = cosα, (3.5)

jeśli α = ^(Oxm,Ωx′k

)jest kątem pomiędzy kierunkami osi: Oxm oraz Ωx′k. Prawo

transformacji współrzędnych można więc wyrazić następująco:

xim = xΩm + x′i

kPmk′ , (3.6)

gdzie Pmk′ są cosinusami kątów pomiędzy osiami układuOx1x2x3 oraz układuΩx′1x′2x′3.

Mnożąc zależność 3.3 przez e′m otrzymujemy podobnie

xijPm′j = x

jΩPm′j + x

′im, (3.7)

przy czym spełniona jest następująca zależność:

Pm′j = e′mej = cosβ, (3.8)

gdzie β = ^(Ωx′m,Oxk

)jest kątem pomiędzy kierunkami osi: Ωx′m oraz Oxk.

Jak widać, zależność (3.7) jest rozwiązaniem równania (3.6) względem składowych x′im

wektora r′i w układzie Ωx′1x′2x′3. Różniczkując kolejno równania (3.6) i (3.7), otrzymujemy:

∂x′m

∂xk= Pm′k, (3.9)

∂xm

∂x′i=∂x′k

∂x′iPmk′ = δikPmk′ = Pmi′ , (3.10)

27

Page 34: PracaMagisterska

Zwróćmy teraz uwagę, że składowe wektora r′i w układzie Ox1x2x3 stanowią różnice

xim−xΩm, a w układzieΩx′1x′2x′3 są współrzędnymi x′im. Gdyby wektor r′i nie był zaczepionyw punkcie Ω (ani dla odmiany w punkcie O), wówczas składowe xmi − xmΩ przeszłyby w∆xmi = xi2

m − xmi1 , a składowe x′im w ∆x′i

m = x′i2m − x′i1

m.

Na podstawie wzorów (3.7) i (3.6) oraz pamiętając o (3.9) i (3.10) stwierdzamy, że:

∆xim = ∆x′ikPmk′ , (3.11)

∆x′im = ∆xijPm′j . (3.12)

Spostrzec jeszcze można, że, z uwagi na własność funkcji trygonometrycznej cosinus i

na to, że kąty pomiędzy współrzędnymi w jednym i drugim układzie są takie same co do

wartości i orientacji, a różnią się jedynie znakiem:

cos^(Oxk,Ωx′m

)= cos^

(Ωx′m,Oxk

), (3.13)

prawdziwe jest również istotne twierdzenie

Pk′m = Pm′k (3.14)

W pracy tej przyjmę konwencję, że [Mij ] oznacza składowe Mij zebrane w macierz, gdzie

zmieniają się indeksy i (wiersz macierzy) oraz j (kolumna). Natomiast w przypadku wekto-

rów w = [wi], gdzie wi oznacza i-tą składową wektora w. Podobnie wiersz macierzy możemy

potraktować jak wektor, np. [M1j ] oznaczać będzie pierwszy wiersz macierzy M = [Mij ].

W związku z tym wzór (3.14) wiąże się z faktem, że macierz składowych transformacji

P = [Pmj′ ] z układu odniesienia do primowanego jest macierzą transponowaną do macie-

rzy transformacji odwrotnej (z układu primowanego do układu odniesienia) PT = [Pj′m]. W

wypadku omawianych macierzy składowych transformacji ortogonalnych spełniona jest więc

zależność następująca:

P−1 = PT (3.15a)

lub inaczej

[Pmj′ ]−1 = [Pj′m] , (3.15b)

a więc macierz odwrotna do danej jest równa swojej transpozycji (stąd w programie

komputerowym, zamiast szukać algebraicznie macierzy odwrotnej do danej macierzy prze-

28

Page 35: PracaMagisterska

kształcenia ortogonalnego, wystarczy zamienić jej indeksy). Macierze spełniające podaną

wyżej własność, nazywa się macierzami ortogonalnymi.

3.2 Obroty wokół wybranej osi

W ramach liniowych transformacji ortogonalnych, wyróżnić możemy obroty wokół wybranej

osi o dowolny kąt ψ, które niezbędne są do wizualizacji wybranego zbioru punktów. W naszym

wypadku jest to wybrany zbiór punktów liny. Chcielibyśmy bowiem mieć możliwość ogląda-

nia tego zbioru z każdej strony, pod wybranym kątem oraz obracania nim względem innych

punktów. Obroty są też niezbędne w procesie gięcia metodą crankshaft motions, ponieważ

wybieramy wtedy dwa podzbiory zbioru punktów i obracamy je względem siebie. Jak to wy-

nika z poprzednich rozważań (np. ze wzorów (3.3), (3.6), (3.11)), dowolne sekwencje obrotów

oraz przesunięć zbioru punktów wokół trzech prostopadłych osi, które są przekształcenia-

mi ortogonalnymi można złożyć w jedną transformację ortogonalną. Dlatego wprowadzone

zostanie dodatkowo narzędzie matematyczne – metoda dokonywania takich podstawowych

przekształceń geometrycznych w trójwymiarowej przestrzeni przy użyciu rachunku macie-

rzowo–wektorowego, który jest łatwy do zaimplementowania w programie komputerowym.

Niech dana będzie uporządkowana para AB punktów A i B (o współrzędnych danych w

przestrzeni odniesienia Ox1x2x3), przez które przechodzi oś obrotu, przy czym kierunek tej

osi wyznacza kolejność punktów (umówmy się, że zwrot osi wskazuje punkt B). Przyjmuje-

my, że oś obrotu pokrywa się z jedną z osi układu obracanego. Jeśli dokonamy przypisania:

Ω = A, to układem obracanym jestAx′1x′2x′3 i wtedy w celu znalezienia wartości współczyn-

ników transformacji Pmj′ z układu odniesienia do obracanego, należy znać kosinusy kątów

pomiędzy osiami. Jest to dziewięć wielkości, które zebrać można w macierz przekształcenia

P = [Pmj′ ]. Niezbędna jest również znajomość wektora przesunięcia do punktu A w układzie

odniesienia czyli rA. Wtedy dowolny wektor r′i wskazujący i-ty punkt w układzie obracanym

można określić (zgodnie ze wzorem (3.6)), wykonując rachunki wektorowo-macierzowe na

jego współrzędnych w układzie odniesienia. Te drugie określa poniższy wzór (3.16).

[r′ij]= [rim–rAm] · [Pmj′ ] = [Pj′m] · [rim–rAm] . (3.16)

We wzorze tym kropka między nawiasami kwadratowymi oznacza iloczyn wewnętrzny

macierzy przez wektor; iloczyn wewnętrzny związany jest z kontrakcją, czyli zawężeniem

ilości składowych do ilości równej w tym wypadku ilości składowych wektora. Współrzęd-

ne wersorów e′j układu obracanego (primowanego) w układzie odniesienia (nieprimowanym)

stanowią kosinusy pomiędzy tymi wersorami, a współrzędnymi układu odniesienia. Jest to

łatwe do zauważenia, jeśli pamiętamy, że wersor ma długość jednostkową i leży na osi ob-

29

Page 36: PracaMagisterska

racanego układu. Wtedy jego rzutowanie na wybraną oś drugiego układu (w tym wypadku

układu odniesienia), jest równe kosinusowi pomiędzy jedną a drugą osią, a zarazem, zgod-

nie z rozważaniami z poprzedniego paragrafu 3.1, jest to również jeden ze współczynników

transformacji pomiędzy układami.

Dla znalezienia pierwszej trójki kosinusów ustalamy najpierw, wokół której osi obracamy

układ Ax′1x′2x′3, a więc który wersor wyznaczać będzie oś obrotu. U nas niech będzie to

Ax′3 w układzie obracanym (zwyczajowo nazwalibyśmy go Az′). Wersorem tej osi jest e′3.

Jest to więc jednoznaczne z ustaleniem indeksu j′ = 3, czyli również wyborowi trzeciej ko-

lumny macierzy [Pmj′ ] lub trzeciego wiersza macierzy transponowanej do [Pmj′ ] czyli [Pj′m].

Następnie dzielimy po prostu współrzędne wektora rAB przez jego długość, dostając w ten

sposób składowe wektora jednostkowego, czyli wersora. Mamy więc już tym samym szukane

kosinusy, czyli trójkę składowych transformacji. Opisuje to poniższy wzór (3.17) 2.

Pm3′ =rmAB|rAB |

=rmAB√

rmAB · rmAB. (3.17)

Mając dane współrzędne wersora e′3 leżącego na osi wyznaczonej przez punkty A i B,

z iloczynu wektorowego tego wersora przez dowolny nierównoległy doń wektor wyznaczyć

można wersor prostopadły do wersora e′3, a w więc skierowany tak, jak oś prostopadła do

wybranej osi obrotu Ax′3. Jego składowe będą jednocześnie, podobnie jak poprzednio, skła-

dowymi macierzy transformacji ale o zmienionym indeksie j′ 6= 3. Aby uzyskać te składowe,wystarczy wektorowo pomnożyć wersor obrotu e′3 przez dowolny wektor rd, pod warunkiem,

że nie będzie to wektor zerowy lub równoległy do tego wersora. Następnie składowe tak uzy-

skanego wektora dzieli się przez jego długość. Formuła matematyczna realizująca opisany

powyżej algorytm wyraża się wzorem (3.18) poniżej 3.

e′j 6=3 =e′3 × rd|e′3 × rd|

. (3.18)

Mając ustalone dwa prostopadłe do siebie wektory jednostkowe (w tym jeden - e′3 - leżą-

cy na osi obrotu), z łatwością uzyskamy brakujący trzeci, mnożąc je przez siebie wektorowo.

2Pamiętajmy przy tym, że na mocy konwencji sumacyjnej w nawiasie pod pierwiastkiem mamy sumękwadratów (co wynika z twierdzenia Pitagorasa).3Wybór wektora rd, przez jaki przemnażamy wersor e′3 w układzie odniesienia jest, jak powiedziano, dowol-

ny. Innymi słowy - możemy wybrać nieskończoną ilość nieekwiwalentnych kartezjańskich układów związanychosią Ax′3 (ściślej: z dowolną wybraną osią) z obracanym zbiorem punktów. Tylko jeden wersor - u nas e′3 -jest z góry jednoznacznie zdefiniowany: zaczepiony w punkcie A i wskazujący punkt B. Ale - co jest ważne zpunktu widzenia programisty - w czasie pisania kodu, należy zachować ostrożność i upewnić się, że ten dowol-ny wektor nie jest równoległy do wersora e′3. W przeciwnym razie wynikiem mnożenia wektorowego będzieoczywiście wektor zerowy, a dzielenie składowej przez jego długość zaowocuje błędem niedozwolonej opera-cji matematycznej, co w najlepszym wypadku spowoduje wyjątek krytyczny, a prawdopodobnie spowodujezawieszenie się programu.

30

Page 37: PracaMagisterska

Aby wersory były względem siebie tak zorientowane, jak to się zwykle przyjmuje w mechanice

klasycznej, a więc by tworzyły układ prawoskrętny (jeśli kąt dodatni na płaszczyźnie wyzna-

czonej przez dwie osie odmierzany jest przeciwnie do ruchu wskazówek zegara, to dodatni

kierunek trzeciej osi jest w stronę obserwatora), przyjmę indeks drugiego z otrzymanych

wersorów e′j jako równy j′ = 2 i wtedy trzeci wersor e′1 otrzymujemy z iloczynu wektorowego

e′1 = e′2 × e′3. (3.19)

Współrzędne tego wersora w układzie odniesienia, czyli pierwszą kolumnę macierzy trans-

formacji [Pmj′ ] lub (na mocy wcześniejszych stwierdzeń) pierwszy wiersz macierzy transfor-

macji odwrotnej [Pj′m] uzyskamy wedle znanej formuły na iloczyn wektorowy, traktując

wiersze lub kolumny macierzy jako wektory:

[P1j′ ] = [P2j′ ]× [P3j′ ] =

=[P22′P33′ − P23′P32′ , P23′P31′ − P21′P33′ , P21′P32′ − P22′P31′

](3.20)

[Pj′1] = [Pj′2]× [Pj′3] =

=[P2′2P3′3 − P2′3P3′2, P2′3P3′1 − P2′1P3′3, P2′1P3′2 − P2′2P3′1

](3.21)

Oczywiście ekonomiczniej jest uzyskać w wyniku obliczeń albo wiersze jednej macierzy,

albo kolumny drugiej, a nie obliczać obie macierze oddzielnie. Jedną macierz uzyskamy z

drugiej szybciej w wyniku transpozycji, która jest jedynie zamianą indeksów.

Otrzymaliśmy w ten sposób w nieruchomym układzie odniesienia wersory układu (trzy

współrzędne dla każdego wersora), mającego podlegać obrotowi. Ich składowe są zarazem,

jak kilkukrotnie zaznaczono, współczynnikami przekształcenia z układu odniesieniaOx1x2x3

do obracanego Ax′1x′2x′3 lub odwrotnie, czyli składowymi macierzy przekształcenia wekto-

ra[r′ij]wskazującego i-ty punkt. W procesie przechodzenia z jednego układu do drugiego

i z powrotem niezbędne jest również przekształcenie odwrotne, które, jak wspomniano, z

uwagi na zależność (3.15a), przyjmuje postać macierzy transponowanej do danej macierzy

przekształcenia:

[Pmj′ ]−1 = [Pj′m] = [Pmj′ ]

T. (3.22)

Obrotu i-tego punktu wokół osi Ax′3 dokonuje się już na wektorze[r′ij]. Obliczony

31

Page 38: PracaMagisterska

on został przy pomocy równania (3.16). Równanie to wyraża w tym wypadku tymczasowe

(niejako wirtualne) przekształcenie ortogonalne: przesunięcie środka A obracanego układu

Ax′1x′2x′3, w którym znajdują się wybrane punkty o wektor −rA do środka O układu od-niesienia Ox1x2x3. Następnie dokonuje się obrotu wybranego zbioru wektorów wskazujących

punkty. Wykonuje się go przy pomocy jednej z macierzy [Pmj′ ] lub [Pj′m] (wybór zależy od

tego, czy mnożymy lewo- czy prawostronnie, a więc czy mnożymy macierz przez wektor, czy

wektor przez macierz).4 Dopiero wówczas w celu dokonania rotacji wokół jednej z wybra-

nych osi o kąt ψ - można zadziałać na wektor[r′ij](wskazujący wybrany punkt) właściwą

macierzą. Działanie oznacza tu iloczyn wewnętrzny macierzy przez wektor. Postać macierzy

rotacji uzależniona jest od tego, wokół której osi punkt ten obracamy. Poniżej podane są

macierze obrotu o kąt ψ dla kierunków, odpowiednio, Ax′1, Ax′2, Ax′3 5:

Rx (ψ) = [Rxjm (ψ)] =

1 0 0

0 cosψ − sinψ0 sinψ cosψ

, (3.23a)

Ry (ψ) = [Ryjm (ψ)] =

cosψ 0 − sinψ0 1 0

sinψ 0 cosψ

, (3.23b)

Rz (ψ) = [Rzjm (ψ)] =

cosψ − sinψ 0

sinψ cosψ 0

0 0 1

. (3.23c)

Powrotu do układu odniesienia dokonuje się poprzez przekształcenie odwrotne i przesu-

nięcie odwrotne (czyli o wektor rA) w podanej kolejności (a więc w kolejności odwrotnej do

uprzedniego wykonania tych działań w (3.16)). Ostatecznie cała formuła matematyczna na

wektor i-tego punktu ri (ψ) = [rim (ψ)] w układzie odniesienia po obrocie o kąt ψ względem

wybranej osi Ax′3 przyjmuje postać:

4Całe to przekształcenie to nazwane jest wirtualnym, ponieważ po obrocie dookoła wybranej osi przywra-camy stan poprzedni, a więc wykonujemy przekształcenia odwrotne. Pojawia się tu zagadnienie „dualizmu”wykonywanych przekształceń. Każde z nich jest wykonywane względem jakiegoś punktu odniesienia. Np.przesunięcie układu punktów o wektor możemy raz potraktować jako rzeczywiste przesunięcie, a innym ra-zem jedynie jako zmianę układu odniesienia. W tym wypadku chwilowo zmieniamy układ odniesienia tak,żeby na układ punktów zadziałać macierzą obrotu wokół jednej z trzech głównych osi układu. Po obrociewracamy z całym zbiorem punktów do współrzędnych w starym układzie.5Zwyczajowo w układzie odniesienia są to obroty wokół osi Ox, Oy ,Oz, stąd notacja macierzy w równa-

nach (3.23a), (3.23b) i (3.23c).

32

Page 39: PracaMagisterska

ri (ψ) = rA +PT ·Rz (ψ) · r′i (ψ) =

= rA +PT ·Rz (ψ) ·P · (ri–rA) ,(3.24a)

lub całość działań w zapisie uwzględniającym wskaźniki:

[rim (ψ)] = [rAm] + [Pmj′ ] · [Rzjk (ψ)] · [Pj′m] · [rim–rAm] , (3.24b)

przy czym mnożeń dokonuje się w kolejności od strony prawej do lewej.

W programie komputerowym, gdzie w ciągu każdej sekundy należy dokonać wielu tysięcy

albo milionów mnożeń macierzy przez wektory danych, istotne staje się zastąpienie sekwen-

cyjnych działań danych rówaniem (3.24b) przez jedno działanie. Gdybyśmy mieli do czynienia

tylko z mnożeniami, to można zastąpić kilka mnożeń przez macierz, tworząc najpierw jedną

macierz, będącą wynikiem mnożenia przez siebie innych macierzy w odpowiedniej kolejności,

jak to pokazują równania (3.25a) i (3.25c) Jeśli wektor v2 powstaje w wyniku mnożenia

wektora v1 przez zespół macierzy M1 ·M2 ·M3 . . . to możemy zdefiniować:

M =M1 ·M2 ·M3 . . . (3.25a)

i zastąpić

v2 = v1 ·M1 ·M2 ·M3 . . . (3.25b)

przez

v2 = v1 ·M (3.25c)

Tak więc kilka mnożeń przy pomocy kilku macierzy można zastąpić jednym mnożeniem w

tej samej przestrzeni. Jeśli jednak - tak jak jest w ogólnym przypadku obrotów wokół dowolnej

osi (patrz równanie (3.24b))- mamy, oprócz mnożeń, także dodawanie lub odejmowanie, to

sprawa się komplikuje. Zastąpienie kilku działań jednym należy poprzedzić zwiększeniem

ilości współrzędnych wektorów o jedną, i przeniesienie wektorów do układu współrzędnych

jednorodnych, a następnie zdefiniowaniu macierzy realizującej dodawanie lub odejmowanie

do współrzędnych z układu trójwymiarowego. Podamy przykładowo realizację dodawania

wektora w2 = [p, q, r, 0] do wektora w1 = [x, y, z, 1], mnożąc wektor w1 przez odpowiednią

macierz dodającą Md (p, q, r, 0). Czwarta współrzędna w1, przyjęta tutaj za równą 1, jest

dodatkową współrzędną, po przeniesieniu do układu jednorodnego.

33

Page 40: PracaMagisterska

w1 +w2 =

x

y

z

1

+p

q

r

0

=Md (p, q, r, 0) ·w1 =1 0 0 p

0 1 0 q

0 0 1 r

0 0 0 1

·w1 (3.26)

Jeśli mamy tak zdefiniowaną macierz dodającą wybrany wektor, możemy dodawanie wek-

tora zastąpić mnożeniem przez macierz w przestrzeni o zwiększonej liczbie wymiarów. Macie-

rze przekształceń ortogonalnych przenosimy do tej przestrzeni, dodając jeden (u nas czwarty)

wiersz i jedną (czwartą) kolumnę o wszystkich składnikach tej kolumny i wiersza równych

zeru, poza jednym, leżącym na przekątnej. I tak, na przykład, macierz obrotu Rz (ψ) po

zwiększeniu liczby wierszy i kolumn przyjmie postać:

Rz4 (ψ) = [Rz4jm (ψ)] =

cosψ − sinψ 0 0

sinψ cosψ 0 0

0 0 1 0

0 0 0 1

. (3.27)

Następnie zespół działań, na przykład takich, jak we wzorze (3.24a) możemy zastąpić

mnożeniem przez jedną tylko macierz powstałą z pomnożenia macierzy działań cząstkowych

wzoru (3.24a) przez siebie, jak pokazują równania (3.25a) oraz (3.25c). Oszczędność czasu wy-

nikająca z takiego postępowania w programie komputerowym w wypadku równania (3.24a)

jest znacząca, pomimo działań przeprowadzonych w większej liczbie wymiarów, ponieważ

zamiast trójkrotnego mnożenia macierzy o wymiarach 3×3, przez wektor trójwymiarowy, codaje razem 27 mnożeń zmiennoprzecinkowych, mamy jedno mnożenie macierzą o wymiarach

4× 4 przez wektor czterowymiarowy, co daje razem 16 mnożeń.

34

Page 41: PracaMagisterska

Rozdział 4

Zasady zachowania pędu i

momentu pędu w fizyce węzłów

Paragrafy 4.2, 4.3 oraz 4.4 zostały opracowany częściowo w oparciu o pracę 1 wymienioną w

bibliografii.

4.1 Zasady zachowania podczas zmian konformacji liny

Zagadnienie gięcia modelowej liny idealnej jest zagadnieniem w zasadzie geometrycznym i

matematycznym (należy do działu topologii przestrzeni zwanych rozmaitościami). Jeśli ma

ono wkroczyć w sferę fizyki, muszą zostać spełnione pewne twierdzenia fizyczne, które obo-

wiązują wszystkie materialne ciała. W tym wypadku chodzi mianowicie o spełnienie zasad

zachowania pędu i momentu pędu (krętu). Jest to istotne, jeśli każdemu i-temu punktowi

liny o wektorze ri, przypisujemy masę mi. Zakładamy, że na linę (zbiór punktów przechodzą-

cych, przez jej oś) nie działają żadne wypadkowe zewnętrze siły (wszystkie zewnętrzne siły

sumują się do zera), a wszelkie jej przekształcenia do nowej postaci są wynikiem działania

sił wewnętrznych, których genezy szczegółowo nie rozpatrujemy. Zasady zachowania pędu i

momentu pędu muszą zostać spełnione, czyli nie powstaje żaden wypadkowy pęd ani mo-

ment pędu. Chodzi więc o matematyczne sformułowanie takich warunków geometrycznych,

aby spełnione były zasady fizyczne przy infinitezymalnych (lub wystarczająco niewielkich z

punktu widzenia symulacji) przekształceniach, z których składamy całą zmianę konforma-

cji liny. Alternatywnym rozwiązaniem jest usunięcie („wyzerowanie”) powstałych wielkości

wektorowych innym przekształceniem geometrycznym, które daje wielkość przeciwną do po-

wstałej (przeciwny pęd lub moment pędu). W mechanice klasycznej musi istnieć tylko jedno

35

Page 42: PracaMagisterska

takie przekształcenie (brak degeneracji stanów, charakterytycznej dla mechaniki kwantowej).

To drugie przekształcenie nie może jednak polegać na przesunięciach jakichkolwiek punktów

liny względem siebie, na zmianie konformacji. Po dokonaniu wydłużenia fragmentu liny i/lub

gięcia, traktujemy linę chwilowo jak ciało doskonale sztywne. W grę wchodzą więc jedynie

transformacje ortogonalne całego zbioru punktów liny, czyli jego obrót o odpowiedni kąt

i/lub przesunięcie tego zbioru.

Na potrzeby niniejszej pracy podamy teraz kilka definicji i wyprowadzimy prawa zmien-

ności pędu oraz krętu dla zbioru punktów materialnych, który wraz z wartością promienia

przekroju r stanowi o modelu liny.

4.2 Moment statyczny zbioru punktów

Rozważmy obecnie układ złożony z n punktów materialnych o masach mi i położeniach ri.

Wektorem położenia środka masy rS tego układu nazywa się wektor określony równaniem:

.

rS =∑ni=1miri∑ni=1mi

(4.1)

Niech iloczyn

s =

(n∑i=1

mi

)rS (4.2)

będzie z definicji momentem statycznym układu (patrz praca 1 w bibliografii). Z uwagi

na fakt, że rS oraz ri można wyrazić za pomocą współrzędnych i ze względu na definicję

(4.1) (n∑i=1

mi

)(x1Se1 + x

2Se2 + x

3Se3)=n∑i=1

mi(x1i e1 + x

2i e2 + x

3i e3). (4.3)

Jest to równoznaczne z równaniami, które określają składowe środka masy x1S , x2S i x

3S ,

co jest treścią twierdzenia o momentach statycznych:

xjs =∑ni=1mix

ji∑n

i=1mi(4.4)

Moment statyczny układu n mas jest iloczynem współrzędnej środka ciężkości przez masę

całego układu. W jednorodnym polu ciężkości, którego przybliżenie dobrze charakteryzuje

otaczające nas warunki, środek masy pokrywa się ze środkiem ciężkości. Założenie o jedno-

rodnym polu grawitacyjnym dotyczy całej niniejszej pracy.

36

Page 43: PracaMagisterska

4.3 Zasada zachowania pędu - stałość pochodnej czaso-

wej momentu statycznego

Przejdźmy teraz do wyprowadzenia prawa zmienności pędu. Przez pęd p układu n punktów

materialnych rozumie się sumę iloczynów mas przez ich prędkości vi:

p =n∑i=1

mivi (4.5)

Jeśli masy mi nie ulegają zmianie w czasie, to pęd jest pochodną momentu statycznego

po czasie. Stąd

p =dsdt. (4.6)

To prowadzi do stwierdzenia, że

p = vSn∑i=1

mi =n∑i=1

mivi. (4.7)

Widać stąd, że pęd układu jest iloczynem prędkości vS środka masy układu przez jego ma-

sę całkowitą. Aby otrzymać jedno z najważniejszych twierdzeń mechaniki – prawo zmienności

pędu, zróżniczkujemy na początku równanie (4.7) względem czasu. Otrzymujemy wówczas

dpdt=n∑i=1

midvidt

(4.8)

Suma po prawej stronie równania (4.8) jest sumą sił działających na układ, co wynika z

trzeciej zasady dynamiki Newtona. Siły te można podzielić na na siły zewnętrzne Fzi oraz

siły wewnętrzne Fwi (siły wzajemnego oddziaływania punktów materialnych). Mamy więc

stąd:

dpdt=n∑i=1

(Fzi + Fwi) =n∑i=1

Fzi +n∑i=1

Fwi. (4.9)

Suma∑ni=1Fwi równa się zeru ze względu na trzecie prawo Newtona, co zostanie teraz

pokazane. Jeżeli punkt i-ty działa siłą Fij na j-ty punkt, to j-ty punkt oddziałuje na i-

ty przeciwnie skierowaną, ale równą co do wartości siłą Fji. Wszystkie siły wewnętrzne

działające na punkt o indeksie j można zsumować, dostając

37

Page 44: PracaMagisterska

Fwj =n∑i 6=j

Fij . (4.10)

Suma wszystkich sił wewnętrznych wyraża się więc następująco:

n∑i=1

Fwi =n∑i 6=j

Fij =n∑i 6=j

Fji =12

n∑i 6=j

(Fji + Fij) = 0. (4.11)

Suma jest wypadkową sił działających na układ z zewnątrz, a suma sił wewnętrznych,

jak widać, równa się zeru. Możemy więc równanie 4.7 zapisać ostatecznie jak poniżej:

dpdt= F, (4.12)

gdzie

F =n∑i=1

Fzi. (4.13)

Równanie (4.12) wyraża prawo zmienności pędu. Jeżeli suma sił zewnętrznych∑ni=1Fzi

działających na układ równa się zeru, to pęd p nie zmienia się, a gdy nie zmienia się masa to

i prędkość środka masy vS jest stała. Różniczkując równanie (4.7) po czasie t otrzymujemy(n∑i=1

mi

)aS =

dpdt= F. (4.14)

Z równań (4.7) oraz (4.14) można wywnioskować, że środek masy zachowuje się tak,

jak gdyby w nim była skupiona cała masa układu. Prawo ruchu środka masy wyraża więc

równanie (4.14).

Jeśli więc chodzi o zasadę zachowania pędu, ostatecznie można stwierdzić, zgodnie z rów-

naniem (4.14), że skoro prędkość początkowa środka masy zbioru punktów liny jest zerowa,

to przy założeniach, jakie przyjmujemy, że na linę nie działają siły zewnętrzne, zerową po-

zostanie przez cały czas, czyli nie może się też przesuwać środek masy układu. Stąd każda

zmiana konformacji, która przesuwa środek masy układu punktów liny o wektor drS powin-

na być następnie „cofnięta” przesunięciem o wektor drS całego zbioru punktów, co staje się

oczywiste, gdy zróżniczkujemy po czasie równanie (4.1).

38

Page 45: PracaMagisterska

4.4 Zasada zachowania momentu pędu zbioru punktów

materialnych

Rozważmy ponownie ten sam układ n punktów materialnych. Obieramy dowolny punkt prze-

strzeni. Zaczepiając w tym punkcie wektory położenia mas, możemy wyznaczyć momenty pę-

dów punktów. Momentem pędu (lub krętem)K układu punktów nazywamy sumę momentów

pędów wszystkich jego punktów. Jeśli więc prędkość i-tego punktu oznaczymy zwyczajowo

vi to:

K =n∑i=1

ri × pi =n∑i=1

ri ×mivi. (4.15)

Znajdując pochodne obu stron równania (4.15) po czasie, dostajemy

dKdt=n∑i=1

(vi ×mivi + ri ×mi

dvidt

). (4.16)

Jak wiadomo, iloczyn wektorowy jednego wektora przez drugi wektor równoległy do niego

daje zero, więc pierwszy składnik pod znakiem sumy znika, drugi zaś (w wypadku niezmien-

nych mas puktów) jest sumą momentów sił działających na punkty materialne, zatem:

dKdt=n∑i=1

ri × (Fzi + Fwi) . (4.17)

Sumę∑ni=1 ri × Fwi można przekształcić następująco:

n∑i=1

ri × Fwi =n∑i 6=j

ri × Fij =n∑i 6=j

rj × Fji =

=12

n∑i 6=j

(ri × Fji + ri × Fij) =12

n∑i 6=j

ri × (Fji + Fij) = 0. (4.18)

Wobec tego słuszna jest równość:

dKdt=n∑i=1

ri × (Fzi) . (4.19)

Równanie (4.19) wyraża prawo zmienności krętu, które mówi, że pochodna krętu po czasie

jest sumą momentów sił zewnętrznych działających na układ.

Przechodzimy teraz do bardziej złożonego zagadnienia - usunięcia powstającego podczas

39

Page 46: PracaMagisterska

infinitezymalnych zmian konformacji liny wektora krętu dK układu jej punktów. W pierwszej

chwili całkowity moment pędu

K = 0, (4.20)

ponieważ przyjmujemy, że układ punktów znajduje się w bezruchu. Ponieważ nie występu-

ją siły zewnętrzne Fzi i zgodnie z równaniem (4.19), nie ma momentów tych sił, zewnętrznych

względem układu punktów:

dKdt=n∑i=1

ri ×mid (vi)dt= 0. (4.21)

Równanie powyższe można pomnożyć obustronnie przez dt, dostając tym samym

dK =n∑i=1

ri ×midvi = 0, (4.22)

a więc kręt układu pozostaje stały i równy zero przez cały czas trwania zmian konformacji

liny.

Po dokonaniu zginania względem wybranej osi, punkty liny przechodzą z położeń ri(1) =

ri w nowe położenia

ri(2) = ri(1) + dri. (4.23)

Korzystając z definicji krętu układu (4.15) oraz z warunków początkowych K = 0 (4.20),

a także z faktu stałości K (4.21), możemy napisać, że podczas dowolnej zmiany układu

punktów liny, w dowolnej chwili, moment pędu jest stały, a więc suma iloczynów wektorowych

wektorów położeń punktów materialnych (o niezmiennych masach) przez ich pędy równa jest

zero, jak to pokazuje poniższe równanie (4.24):

K =n∑i=1

ri ×mivi =n∑i=1

mi

(ri ×

dridt

)= 0. (4.24)

W symulacji gięcia liny nie interesuje nas czas przechodzenia liny z jednej konformacji

do drugiej, a jedynie sama przestrzeń możliwych konformacji i ciągów transformacji, które

te konformacje łączą. Można przyjąć, że przy przejściu bezpośrednio z jednego ułożenia liny

do drugiego, układy te dzieli infinitezymalnie krótki czas dt, ale nic nie stoi na przeszkodzie,

by był on różny, w zależności od tego, w jakiej konformacji lina w danym momencie się

znajduje i do jakiej przechodzi. Liczy się tylko to, czy taka transformacja jst możliwa, czy

nie. Prędkość zmiany konformacji może być więc zmienna, lecz to nie ona ma tutaj znaczenie.

40

Page 47: PracaMagisterska

Przy tak zdefiniowanym problemie (sprawdzenie, czy węzeł się rozplątuje, czy nie, a jeśli tak,

to w jakich warunkach) i dla modelu określonego w paragrafach 1.3, 1.4 i 5.2, bezcelowe

może wydawać się używanie czasu i jego pochodnej. Jednak z uwagi na definicję momentu

pędu układu punktów, daną wzorem (4.15) w której występują prędkości punktów, będące

pochodnymi po czasie z wektorów ich położeń, zakładamy że dwie konformacje - przed i po

gięciu - dzieli czas dt, który uznajemy za infinitezymalny. Dzielenie przez ten infinitezymalny

czas możemy w równaniu (4.24) wyłączyć przed znak sumy. Dostajemy wówczas

K =1dt

n∑i=1

mi (ri × dri) = 0 (4.25)

i jeśli zadbamy o to, by suma∑ni=1mi (ri × dri) w równaniu (4.25) była zawsze równa

zeru, to tym samym spełniamy zasadę zachowania momentu pędu dla układu n punktów

materialnych, którego początkowy kręt wynosił zero. Jeśli dla dwóch układów tych samych

punktów, suma ta nie znika, oznacza to pojawienie się momentu pędu, jeśli różnica między

układami powstała w czasie dt.

4.5 Obroty wokół środka masy - stałość środka masy i

zmienność momentu pędu

Przypuśćmy teraz, że w wyniku gięcia liny metodą wału korbowego, suma w równaniu (4.25)

nie równa się zeru (nie będzie tak tylko w szczególnie symetrycznych przypadkach gięcia

liny). Oznacza to pojawienie się niezerowego krętu K 6= 0, co jest w sprzeczności z zasadązachowania momentu pędu, który ma pozostać równy zero od początku do końca trwania

symulacji.

Gdy pojawia się zmiana momentu statycznego ds = (∑ni=1mi) drS , a więc i położenia

środka ciężkości, usuwa się obie te (równoważne) zmiany, przesuwając cały układ punktów o

wektor −drS . W ten sposób spełniona jest zasada zachowania pędu, a jednocześnie odcinkipomiędzy punktami, zachowują swe długości oraz kąty, jak to ma miejsce w wypadku ciała

doskonale sztywnego.

Aby wyeliminować powstający moment pędu, należy zadbać, by suma w równaniu (4.25)

znikała między dowolnymi dwoma układami punktów, między którymi dokonano infinite-

zymalnych transformacji ich położeń, wyrażonych w (4.23). W związku z tym w kolejnym

kroku należy dokonać takiego nieskończenie małego przekształcenia, które da tę samą su-

mę wektorów ale ze znakiem przeciwnym. Nie można jednak dokonać przesunięcia środka

masy układu punktów, gdyż zaprzeczałoby to stałości pędu p = 0. Jak pokazano wcześniej

(paragraf 3.1), transformacja ortogonalna spełnia tę właściwość charakterystyczną dla ruchu

41

Page 48: PracaMagisterska

ciał doskonale sztywnych, że wzajemne względne położenia punktów w czasie jej trwania nie

zmieniają się. Podsumujmy ten wstęp. Aby spełnione były zasady zachowania - pędu oraz

momentu pędu - nieruchomego zbioru punktów, postępowanie związane z pojedynczą infi-

nitezymalną transformacją tego zbioru (w szczególności - z gięciem zbioru o nieskończenie

mały kąt względem dowolnej osi) powinno być następujące:

1. Wykonujemy infinitezymalną transformację (w szczególności - gięcie) bez spełnienia

zasad zachowania pędu i momentu pędu.

2. Wykonujemy odpowiednie przesunięcie zbioru punktów w celu spełnienia zasady za-

chowania pędu (powrót ze środkiem masy zbioru punktów do położenia sprzed trans-

formacji).

3. Wykonujemy obrót zbioru punktów wokół środka masy z użyciem transformacji orto-

gonalnej w celu spełnienienia zasady zachowania momentu pędu.

Powiedziano, że transformacja ortogonalna spełnia tę właściwość charakterystyczną dla

ruchu ciał doskonale sztywnych, że wzajemne względne położenia punktów w czasie jej trwa-

nia nie zmieniają się. Zobaczymy teraz, że rzeczywiście w trakcie obrotu w ruchu kulistym1,

czyli podczas transformacji ortogonalnej wokół środka masy, zachowane jest położenie środka

masy (czyli nie zmieniamy pędu, jeśli zmiana zachodzi w czasie), ale jednocześnie pojawia

się niezerowa wartość sumy∑ni=1mi (ri × dri) w równaniu (4.25), co oznacza niezerowy kręt

K (moment pędu). W szczególności kręt ten można dobrać w ten sposób, aby był przeciwny

do tego, który powstał w czasie transformacji (np. gięcia).

Rozważmy ponownie ten sam układ n punktów o masach mi i wektorach ri w układzie

odniesienia Ox1x2x3. Tym razem środek, wokół którego obracamy drugi układ Sx′1x′2x′3,

wraz ze zbiorem punktów liny w układzie odniesienia, dany jest wektorem rS wyrażonym

definicją (4.1). Każdy wektor ri = rS + r′i, analogicznie do rysunku 3.1. Mamy więc

(n∑i=1

mi

)rS =

n∑i=1

miri =n∑i=1

mi (rS + r′i) =

(n∑i=1

mi

)rS +

n∑i=1

mir′i, (4.26)

z czego wynika, że

n∑i=1

mir′i = 0. (4.27)

1W ruchu kulistym ciała doskonale sztywnego jeden z punktów jest nieruchomy, a więc każdy inny punkttego ciała pozostaje stale na powierzchni tej samej sfery.

42

Page 49: PracaMagisterska

Rysunek 4.1: W efekcie ruchu wybranej osi Θ układu, początkowo przechodzącej przez punkt A, poskomplikowanym torze tAB w ruchu kulistym, oś uzyskuje położenie oznaczone Θ′, w którym przechodziprzez punkt B. To samo położenie wybranej osi uzyskujemy obrotem o kąt α. Jednak jeśli w trakcie ruchuosi Θ, kąty między tą osią, a innymi dowolnymi (niezaznaczonymi) osiami układu mają pozostać

niezmienione, to w ogólności nie oznacza to (wyłącznie) obrotu o kąt α wszystkimi punktami wokół tejsamej osi (zaznaczonej linią przerywaną).

Jak wynika z rysunku 3.1, a także ze wzorów (3.1) oraz (3.6), położenie środka ciężkości

rS(2) po obrocie wektorów r′i(1) = r′i do nowych położeń r

′i(2) (wokół środka wskazywanego

wektorem rS(1) = rS) można wyrazić wzorem(n∑i=1

mi

)rS(2) =

(n∑i=1

mi

)rS(1) +

n∑i=1

mir′i(2). (4.28)

Jeśli więc wykażemy, że po obróceniu wektorów r′i(1) wokół środka masy do nowych po-

łożeń r′i(2) wielkość∑ni=1mir

′i(2) będzie nadal równa zeru, to tym samym dowiedziemy, że

podczas obrotów wokół środka masy układu moment statyczny, a więc i położenie środka

masy, nie zmienia się.

Zauważmy na początek, że każde wypadkowe przekształcenie w ruchu kulistym ciała

sztywnego, dowolne złożenie przekształceń infinitezymalnych, można uzyskać jedną trans-

formacją ortogonalną, wykonywaną na wektorach r′i wskazujących punkty tego ciała i za-

czepionych w jego nieruchomym punkcie (u nas jest to środek masy). Wynika to z rozwa-

żań z paragrafu 3.1, na temat transformacji ortogonalnych. Przypomnijmy, że mają one tę

właściwość, że nie zmieniają odległości między punktami układu, a więc zarówno długości

dowolnych wektorów, jak i kątów pomiędzy nimi. W związku z powyższym, dowolne złożone

43

Page 50: PracaMagisterska

Rysunek 4.2: Po obrocie z rys. 4.1 układ ma jeszcze jeden stopień swobody. W ogólności, aby uzyskać efektorientacji układu obracanego, jaki wynika z ruchu po torze tAB z rys. 4.1, należy jeszcze obrócić układem o

kąt β wokół osi Θ′ (danej tutaj wersorem e′3), która jako pierwsza uległa przemieszczeniu. Każdąskomplikowaną transformację w ruchu kulistym da się więc uzyskać przy pomocy dwóch obrotów, z którychkażdy jest przekształceniem ortogonalnym. Oczywistym więc jest, że suma tych przekształceń również jest

transformacją ortogonalną

przekształcenie składające się z wielu obrotów (na przykład takie, jak na rys. 4.1) można

ostatecznie zastąpić jedną transformacją ortogonalną układu wektorów i wersorów (które to

wersory odpowiadają konkretnym osiom).

Niech składowe Γjk będą składowymi przekształcenia obrotowego w ruchu kulistym wek-

torów r′i(1) w położenia r′i(2) wokół punktu S danego wektorem rS . Składowe x

′ki(1) wektora

r′i(1) niech będą dane w dowolnym układzie współrzędnych - np. w układzie odniesienia,

w którym dane się współrzędne wektora rS . Zgodnie z powyższymi rozważaniami oraz z

równaniem (3.6), nowe składowe x′ji(2) w układzie odniesienia dane będą wzorami

x′ji(2) = x′ki(1)Γjk. (4.29)

Sumę∑ni=1mir

′i(2) można rozpisać na poszczególne składowe:

n∑i=1

mir′i(2) =n∑i=1

mi

(x′1i(2)e

′1 + x

′2i(2)e

′2 + x

′3i(2)e

′3

)=

= e′1

n∑i=1

mix′1i(2) + e

′2

n∑i=1

mix′2i(2) + e

′3

n∑i=1

mix′3i(2) (4.30)

Jeśli suma ta ma być równa zeru, to składnik∑ni=1mix

′ji(2) musi znikać, dla j przyjmują-

44

Page 51: PracaMagisterska

cego dowolną z trzech wartości: 1,2,3. Podobnie można rozpisać zależność (4.27), otrzymując

następujące równości:

n∑i=1

mix′1i(1) = 0,

n∑i=1

mix′2i(1) = 0,

n∑i=1

mix′3i(1) = 0. (4.31)

Korzystając z równania (4.29) na składowe x′ji(2) po obrocie, rozpiszmy sumę dla dowol-

nego j (równego 1, 2 lub 3):

n∑i=1

mix′ji(2) =

n∑i=1

mix′ki(1)Γjk =

=n∑i=1

mi

(x′1i(1)Γj1 + x

′2i(1)Γj2 + x

′3i(1)Γj3

)=

=

(n∑i=1

mix′1i(1)

)Γj1 +

(n∑i=1

mix′2i(1)

)Γj2 +

(n∑i=1

mix′3i(1)

)Γj3, (4.32)

co kończy dowód, ponieważ z uwagi na równości (4.31), wyrażenia w nawiasach równe

są zerom i suma ta znika dla dowolnego j. Dowiedziono tym samym twierdzenia, że obroty

wokół środka masy nie zmieniają położenia tego środka.

Przechodzimy teraz do dowodu twierdzenia, że w jeśli wykonuje się obroty wokół środka

masy, w ogólnym przypadku suma w równaniu (4.25), nie jest równa zero. Jest to równo-

znaczne z pojawieniem się momentu pędu, jeśli obroty te zachodzą w czasie. Poprzedni dowód

wymagał podziałania przekształceniem dowolnym, czyli dowolnie dużym, żeby dowieść, że

gdy początkowy pędu układu równy jest zero i taki pozostaje, to nie występują nawet nie-

skończenie małe zmiany momentu statycznego (środek masy nie przesuwa się). Tym razem

musimy pokazać, że nawet działanie przekształceniem - obrotem - o infinitezymalny kąt, po-

woduje pojawienie się momentu pędu, jeśli przyjmiemy, że zachodzi ono w czasie dt. Aby tego

dokonać, skonstruujmy najpierw macierz przekształcenia, w którym osie zmieniają swoje po-

łożenia w stosunku do położeń początkowych o nieskończenie małe kąty. Będzie to macierz

składowych Φ = [Φjk] infinitezymalnej ortogonalnej transformacji obrotu.

Składowe przekształcenia ortogonalnego są, zgodnie z równaniem (3.8), kosinusami po-

między składowymi w układzie pierwotnym (odniesienia) i obróconym. Niech więc pierwszy

wiersz macierzy transformacji ma składowe:

[Φ1k] = [Φ11,Φ12,Φ13] =[cos (dφ), cos

(dα+

π

2

), cos

(dβ +

π

2

)], (4.33)

45

Page 52: PracaMagisterska

gdzie dα, dβ oraz dφ to infinitezymalne skalary, z których dα i dβ są dane. W związku z

równością

cos(x+

π

2

)= − sin (x), (4.34)

napiszmy dalej, że

[Φ1k] =[cos (dφ), − sin (dα), − sin (dβ)

](4.35)

Rozwijając funkcje cos (x) oraz sin (x) w szereg Taylora wokół argumentów x równych

zero i zaniedbując potęgi x wyższe niż druga, dostajemy odpowiednio

cos (x) ≈ 1− x2

2+ . . . , sin (x) ≈ x+ . . . . (4.36)

Jeśli więc argumenty funkcji trygonometrycznych pierwszego wiersza macierzy [Φ1k] są

dowolnie bliskie zeru, możemy napisać, że

[Φ1k] =[1, −dα, −dβ

]. (4.37)

Na podstawie analogii zastosowanej do innych wierszy, wstępnie zdefiniujmy macierz Φ =

[Φjk] jako

Φ =

1 −dα −dβdδ 1 −dγdε dη 1

. (4.38)

gdzie dane są kąty dα, dβ, dγ. Składowe dδ, dε i dη znajdziemy z warunku ortogonalności

macierzy (3.15a). A więc macierz transponowana do tej macierzy równa się jej odwrotności

ΦT = Φ−1, czyli:

1 −dα −dβdδ 1 −dγdε dη 1

T

=

1 −dα −dβdδ 1 −dγdε dη 1

−1

. (4.39)

Na podstawie powyższej równości, dostajemy dziewięć równań na składowe macierzy

transponowanej doΦ.2 Równania te mogą być sprzeczne dla niezerowych skończonych zmien-

nych. Na przykład, jak widać w równaniu (4.39) element pierwszy kolumny i wiersza macierzy

2Rachunki, pozwalające znaleźć macierz odwrotną do danej są ogólnie znane, więc nie będziemy tu ichprzytaczać.

46

Page 53: PracaMagisterska

transponowanej do ΦT wynosi 1. Natomiast w macierzy odwrotnej Φ′ = Φ−1 wynosi on

Φ′11 =1 + dγ · dη

1 + dα · dδ + dγ · dη + dα · dγ · dε− dβ · dδ · dη. (4.40)

Zauważmy jednak, że ponieważ iloczyny w mianowniku i liczniku równania (4.40) dotyczą

wielkości nieskończenie małych, możemy je zaniedbać i w ten sposób dostajemy Φ′11 = 1, a

więc zgodność elementów macierzy ΦT oraz Φ′ o indeksach j = 1 oraz k = 1. Dla elementu

ΦT12 = dδ macierzy ΦT =

[ΦTjk

], dostajemy odpowiednik w postaci

Φ′12 =dα− dβ · dη

1 + dα · dδ + dγ · dη + dα · dγ · dε− dβ · dδ · dη. (4.41)

Jeśli, jak w poprzednim wypadku, uprościmy powyższe wyrażenie, zaniedbując iloczyny

wielkości infinitezymalnych, to z równości ΦT = Φ−1 lub inaczej ΦTkj = Φjk = Φ′kj dla j = 2

oraz k = 1 dostaniemy równość dδ = dα. Podobnie dε = dβ oraz dη = dγ. Ostatecznie

macierz obrotu o nieskończenie mały kąt przybiera postać

Φ = Φ (α, β, γ) =

1 −dα −dβdα 1 −dγdβ dγ 1

(4.42)

Weźmy teraz dowolny wektor r′i o współrzędnych wyrażonych w układzie odniesienia i

o początku w punkcie S, a więc w punkcie [0, 0, 0] układu obracanego. Wskazuje on i-ty

punkt o masie mi o składowych xi, yi, zi (umówmy się, że w tym miejscu składowe wektora

r′i wynoszą x′i, y

′i, z′i i wyrażone są dla wygody w układzie odniesienia (inaczej niż było

w rozdziale 3.1 niniejszej pracy). Obróćmy teraz tym układem punktów materialnych przy

użyciu macierzy Φ. Zadajemy pytanie: co stanie się z i-tą wielkością dla i-tego wektora spod

sumy z równania (4.25)? Aby na nie odpowiedzieć rozpiszmy tę wielkość poniżej:

mi (ri × dri) = mi (ri × dr′i) =

= mi (rS + r′i)× dr′i =

= mi (rS + r′i)× ((rS +Φ · r′i)− (rS + r′i)) =

= mi (rS + r′i)× (Φ · r′i − r′i) .

(4.43)

Poszukajmy teraz wektora dφ, który jest równoważny kątowi obrotu macierzą Φ. Wektor

ten leży na osi obrotu, a jego wartość jest wartością kąta obrotu, a więc jednoznacznie

identyfikuje on infinitezymalny obrót. W celu wyznaczenia wektora dφ, zauważymy, że punkt

47

Page 54: PracaMagisterska

leżący na osi obrotu nie zmieni swego położenia.3 Innymi słowy obrót poprzez mnożenie

razy macierz Φ przeprowadza wektor dφ =[dφ1, dφ2, dφ3

]w ten sam wektor, co jest

równoważne zapisowi wyrażonemu poniższym równaniem (4.44).

Φ · dφ – dφ =[0, 0, 0

]. (4.44)

Rozpisując powyższe równanie macierzowe na układ trzech równań na składowe dφ1, dφ2,

dφ3 wektora dφ i rozwiązując ten układ względem jednej ze składowych, dostaniemy stosunki

składowych wektorów leżących na osi obrotu. Uzależniając, przykładowo, dwie pozostałe

składowe wektora dφ od składowej dφ1, otrzymamy:

dφ(dφ1)=[dφ1, −dφ1 dβ

dγ, dφ1

]. (4.45)

Jeśli teraz przyjmiemy, że kwadrat całkowitego kąta obrotu wokół osi na której leżą

wszystkie możliwe wektory dφ(dφ1)równy jest (zgodnie z twierdzeniem Pitagorasa) sumie

dα2 + dβ2 + dγ2 (4.46)

kwadratów obrotów o trzy kąty, każdy wokół innej osi układu (jest to słuszne, jeśli kąty

dα, dβ oraz dγ są infinitezymalne), to ułożyć możemy w końcu równanie na wektor dφ o

długości równej kątowi obrotu:

dφ(φ1)· dφ

(φ1)= dα2 + dβ2 + dγ2. (4.47)

Korzystając z (4.45) i rozwiązując to równanie, znajdujemy tym samym składową dφ1 =

dγ, a stąd dostajemy ostatecznie szukany wektor kąta równoważnego obrotowi uzyskanemu

przez mnożenie macierzą Φ:

dφ =[dγ, –dβ, dα

]. (4.48)

Nietrudno sprawdzić, że obrót wektora r′i o infinitezymalny kąt poprzez mnożenie razy

macierz Φ i odejmowanie wektora, takie jak na końcu wzoru (4.43), zastąpić można jednym

działaniem wektorowym4:

3A więc składnik wyrażony w równaniu (4.43) i biorący się spod sumy z równania (4.25) będzie równyzeru.4Warto też zwrócić uwagę, że dzieląc równanie (4.49) przez infinitezymalny czas dt, w którym zachodzi

obrót, otrzymujemy wzór na prędkość liniową w ruchu obrotowym, gdziedφ

dt= ω jest wektorem prędkości

kątowej.

48

Page 55: PracaMagisterska

dr′i = Φ · r′i – r′i = dφ× r′i. (4.49)

Z uwagi na to, dalej, równanie (4.43) przepisać możemy jako

mi (ri × dri) = mi (rS + r′i)× (dφ× r′i) . (4.50)

W związku z tym suma z równania (4.25) dla układu n punktów obracanych wokół środka

masy danego wektorem rS wynosi

n∑i=1

mi (ri × dri) =n∑i=1

mi (rS + r′i)× (dφ× r′i) , (4.51)

Ponieważ mnożenie wektorowe jest rozdzielne względem dodawania, sumę powyższą roz-

piszemy jako

n∑i=1

mi (ri × dri) =n∑i=1

mi (rS × (dφ× r′i)) +n∑i=1

mi (r′i × (dφ× r′i)) . (4.52)

Pierwszy składnik tej sumy po rozpisaniu (ponownie i dwukrotnie wykorzysta się prawo

rozdzielności iloczynu wektorowego)

n∑i=1

mi (rS × (dφ× r′i)) = rS ×

(n∑i=1

mi (dφ× r′i)

)=

= rS ×

(dφ×

(n∑i=1

mir′i

)) (4.53)

znika, ponieważ przyjęto, co mówi równanie (4.27). Mamy więc ostatecznie uproszczony

wzór na sumę∑ni=1mi (ri × dri), występującą w równaniu (4.25) wyznaczoną dla układu

punktów materialnych obracanego o kąt φ. Wzór ten jest prawdziwy w wypadku nierucho-

mego środka masy:

n∑i=1

mi (ri × dri) =n∑i=1

mi (r′i × (dφ× r′i)) . (4.54)

Zgodnie z powyższym wzorem (4.54), każdy z poszczególnych składników mi (ri × dri)(dla dowolnych niezerowych wektorów r′i położeń punktów względem środka masy) znika

jedynie wówczas, gdy iloczyn wektorowy dφ × r′i = 0 (iloczyn ten nie może być równoległydo r′i, co wynika z samej definicji iloczynu wektorowego). Dla dφ 6= 0 ma to miejsce jedynie

49

Page 56: PracaMagisterska

wtedy, gdy wektory r′i oraz dφ są równoległe, czyli gdy punkty wskazywane wektorami r′i

leżą na osi obrotu o kąt dφ.

Aby dowieść że suma∑ni=1mi (ri × dri) 6= 0, jeśli nie wszystkie jej składniki są jedno-

cześnie równe zerom (co zachodzi, jak pokazano, jedynie wtedy, gdy wszystkie punkty leżą

na osi obrotu), pomnożymy teraz dowolny składnik mi (ri × dri) skalarnie przez wektor kątaobrotu dφ i sprawdzimy znak takiego iloczynu:

mi (ri × dri) · dφ = mi (r′i × (dφ× r′i)) · dφ =

= –mi ((dφ× r′i)× r′i) · dφ. (4.55)

Biorąc pod uwagę wzór podający równowartość potrójnego iloczynu wektorowego trzech

wektorów a, b, c:

(a× b)× c = (a · c) b – (b · c)a, (4.56)

możemy ostatecznie przepisać wyrażenie (4.55) w postaci

mi (ri × dri) · dφ = –mi (((dφ× r′i)× r′i) · dφ)

= –mi ((dφ · r′i) r′i · dφ– (r′i · r′i) dφ · dφ) =

= mi (|r′i| · |dφ|)2 (1– cos2 (λ)) . (4.57)

W wyrażeniu tym λ jest kątem pomiędzy wektorami r′i oraz dφ. Wynika stąd, że dla

dowolnego doboru tychże wektorów, wielkość mi (ri × dri) · dφ ­ 0. A więc prawdą jest, że

∀i∈(1,n) (mi (ri × dri) ­ 0) ∪ ∀i∈(1,n) (mi (ri × dri) ¬ 0) . (4.58)

Z twierdzenia tego wynika, że jeśli przy doborze niezerowego wektora kąta dφ nie wszyst-

kie pary wektorów r′i oraz dφ są równoległe (czyli, gdy nie wszystkie punkty wskazywane

wektorami r′i leżą na osi obrotu o kąt dφ), to wtedy suma∑ni=1mi (ri × dri) 6= 0, co kończy

dowód.

Dowiedziono tym samym, że obroty wokół środka masy o infinitezymalne kąty powodują w

ogólnym wypadku powstanie niezerowego (również infinitezymalnego) całkowitego momentu

pędu, co jednoznacznie wynika z pojawienia się niezerowej wartości sumy∑ni=1mi (ri × dri).

Przypomnijmy, że o jednoznaczności tej mówi równanie (4.25), jeśli z nieskończenie małym

obrotem tego układu punktów, związany jest upływ czasu dt.

50

Page 57: PracaMagisterska

4.6 Macierz bezwładności - usuwanie momentu pędu ob-

rotem wokół środka masy

Każdy ze składników mi (r′i × (dφ× r′i)) sumy z równania (4.54) zastąpić można iloczynempewnej macierzy Ii przez wektor dφ. Jeśli wektor r′i ma składowe oznaczone

[x′i1, x′i

2, x′i3]=

[x′i, y′i, z′i], to nietrudno sprawdzić, że tę symetryczną macierz Ii zdefiniować można nastę-

pująco:

Ii = mi

y′i2 + z′i

2 −x′iy′i −x′iz′i−x′iy′i x′i

2 + z′i2 −y′iz′i

−x′iz′i −y′iz′i x′i2 + y′i

2

. (4.59)

Patrząc na równanie (4.25) i porównując z (4.54), biorąc pod uwagę powyższą definicję

(4.59) oraz to, co zostało powiedziane na początku niniejszego paragrafu, można napisać, że

K(S)i = ri ×mivi = mi(ri ×

dridt

)= Ii ·

dt= Ii · ω, (4.60)

gdzie K(S)i jest momentem pędu pojedynczego punktu materialnego o masie mi i poło-

żeniu danym wektorem ri = rS + r′i w ruchu obrotowym wokół nieruchomego punktu (S),

a ω jest wektorem chwilowej prędkości kątowej ruchu obrotowego, wokół osi przechodzącej

przez ten nieruchomy punkt (dany wektorem rS).

Tak zdefiniowana macierz jest macierzą bezwładności punktu materialnego o masie mioraz współrzędnych

[x′i1, x′i

2, x′i3]= [x′i, y

′i, z′i].

Sumę∑ni=1mi (ri × dri) można więc zapisać jako iloczyn I · dφ sumy macierzy I =∑n

i=1 Ii przez wektor kąta dφ5:

n∑i=1

mi (ri × dri) =

(n∑i=1

Ii

)· dφ = I · dφ. (4.61)

We wzorze (4.61) suma macierzy bezwładności I =∑ni=1 Ii = [Ipq] jest macierzą bez-

władności układu punktów, której elementy zdefiniować można następująco:

Ipq =n∑i=1

(δjmx

′ijx′imδpq − x′ipx′iq

), (4.62)

gdzie δjm oraz δpq są deltami Kroneckera. W definicji (4.62) współrzędne x′i1, x′i

2, x′i3

odnoszą się, jak zwykle, do wektora r′i wskazującego punkt o indeksie i.

Przedstawienie sumy∑ni=1mi (ri × dri) dla układu punktów materialnych w postaci

5Ze względu na symetrię macierzy I, kolejność mnożenia jest nieistotna, a więc I · dφ = dφ · I.

51

Page 58: PracaMagisterska

(4.61) ma pewną istotną zaletę. Wiadomo (rówanie (4.25)), że aby wyeliminować moment

pędu między dwiema konformacjami liny (układami punktów), jeśliby zmiana pomiędzy nimi

zachodziła w czasie dt, tak określona suma musi znikać. Jeśli dokonamy transformacji i po-

jawia się niezerowa jej wartość, to gdy obliczymy w programie macierz I 6, łatwo znajdziemy

kąt −dφ, o jaki należy obrócić układem punktów liny, aby tak zdefiniowana suma powstałaze znakiem przeciwnym, a więc aby tym samym, poprzez ten obrót wyzerować ją i zapewnić

stałość momentu pędu K =1dt

∑ni=1mi (ri × dri) = 0 układu. Ponieważ

n∑i=1

mi (ri × dri) = I · dφ, (4.63)

to

dφ = I−1 ·n∑i=1

mi (ri × dri) , (4.64)

gdzie I−1 jest odwrotnością macierzy bezwładności układu punktów względem środka

masy. Wynika stąd jasno, że obrót układu punktów o kąt –dφ daje wektor przeciwnie skie-

rowany do otrzymanego uprzednio w wyniku gięcia liny, a więc −∑ni=1mi (ri × dri) Suma

ich obydwu równa się więc zeru.

Podsumowując: wykonując gięcie układu punktów o infinitezymalny kąt względem wy-

branej osi, obracamy dwoma podzbiorami punktów względem siebie (jeśli kąt jest infinite-

zymalny, można dokonać obrotu jednego z nich - byleby efekt w postaci całkowitego kąta

gięcia był ten sam) i w ogólnym wypadku (czyli w wypadku braku symetrii zwierciadlanej

gięcia) dostajemy niezerową wartość sumy∑ni=1mi (ri × dri), która pojawia się w równaniu

(4.25). Oznacza to, że jeśliby ta zmiana następowała w czasie, to pojawiłby się moment pę-

du. Aby tego uniknąć (a więc by spełniona była zasada zachowania momentu pędu), trzeba

wyzerować tę sumę, działając przekształceniem dającym ją ze znakiem przeciwnym, czyli

−∑ni=1mi (ri × dri) w taki jednak sposób, aby nie zmieniać wzajemnych położeń punktów

układu (naruszyłoby to układ punktów traktowany po gięciu jako zbiór punktów należących

do ciała doskonale sztywnego). Zapewnia to infinitezymalna transformacja ortogonalna, bę-

dąca obrotem wokół osi danej wektorem −dφ, zdefiniowanym w (4.64), o kąt o wartościbędącej długością tego wektora.

Uwaga: Podczas transformacji liny w programie komputerowym, infinitezymalna war-

tość wektora sumy∑ni=1mi (ri × dri), oczywiście nie wystąpi. Zawsze będziemy mieli do

czynienia ze skończoną wartością wielkości wektorowej∑ni=1mi (ri ×∆ri). W związku z

tym obliczony kąt obrotu

6Nie nastręcza to żadnej trudności, choć zajmuje sporo czasu procesora.

52

Page 59: PracaMagisterska

∆φ = I−1 ·n∑i=1

mi (ri ×∆ri) , (4.65)

daje po obrocie wielkość równą w przybliżeniu:

I ·∆φ ≈n∑i=1

mi (ri ×∆ri) . (4.66)

Suma∑ni=1mi (ri ×∆r2i) obliczona po takim obrocie jest mniejsza o kilka rzędów wiel-

kości (w zależności od wyboru punktów i kąta gięcia) od początkowej∑ni=1mi (ri ×∆ri)

ale, w ogólności, nie znika. Wynika to z tego, że obrót „powrotny”, o kąt -∆φ, mający na

celu usunięcie momentu pędu, obliczony jest na podstawie macierzy bezwładności obliczo-

nej po gięciu o skończony kąt. Jej składowe różnią się więc od składowych macierzy przed

gięciem o skończone wartości. Inaczej mówiąc - w czasie rzeczywistego gięcia układu punk-

tów, gdy kąt gięcia zmienia się w sposób ciągły od zera do pewnej skończonej wartości,

macierz bezwładności również zmienia się w sposób ciągły i to (w ogólnym przypadku) w

dość skomplikowany sposób. W programie komputerowym dobrym rozwiązaniem jest zasto-

sowanie średniej z macierzy bezwładności przed i po gięciu, co z reguły zmniejsza różnicę∑ni=1mi (ri ×∆ri) − I · ∆φ kilkukrotnie. Niemniej jednak suma

∑ni=1mi (ri ×∆r2i) ob-

liczona po obrocie „powrotnym” nadal nie będzie równa zeru. Na szczęście każdy kolejny

obrót, mający na celu jej wyzerowanie, zmniejsza ten wektor o kilka rzędów wielkości, tak,

że możemy dowolnie zbliżyć się do wartości równej zeru.7

7Wyznaczanie macierzy bezwładności, różnic między układami i obroty zajmują jednak sporą ilość czasuprocesora, więc szukać należy stosownego kompromisu pomiędzy dokładnością, a czasem trwania tych po-mocniczych transformacji. W pracy chodziło bowiem o rozplątanie węzłów, a nie o to, by zadbać o położeniewęzła z dokładnością do wartości kąta i tak niedostrzegalnej „gołym okiem”.

53

Page 60: PracaMagisterska

Rozdział 5

Program symulacyjny

GordianKnotDisentangler

Nazwa programu pochodzi z języka angielskiego i oznacza w wolnym tłumaczeniu: „rozpląty-

wacz węzłów gordyjskich”. Napisany został on w języku programowania C++. Obecna jego

wersja skompilowana jest w wersji 32-bitowej pod systemy operacyjne GNU-Linux oraz MS

Windows.

Program daje możliwość badania węzłów, nie tylko gordyjskich, pod warunkiem jednak,

że są to zamknięte konformacje liny.1 Można dokonywać manualnych transformacji, obser-

wując w konsoli zmienne, oraz w oknie OpenGL wynik wizualny na bieżąco. Można również

włączyć tryb automatycznego działania wybranego algorytmu: zaciskanie algorytmem opar-

tym na SONO lub gięcia typu crankshaft algorytmem BONO. Stosowanie tych dwóch trybów

włączonych jednocześnie uruchamia je na zmianę. Jest to właśnie algorytm BASONO. W ta-

kim wypadku wyniki wyświetlane są w oknie OpenGL co ustaloną ilość kroków. W trakcie

pracy BONO możliwe jest włączenie trybu pracy algorytmu Metropolisa-Hastingsa, szuka-

jącego w przestrzeni stanów węzła podczas gięć minimum pewnych zmiennych zależnych od

jego geometrii. W obecnej wersji programu dostępny jest jedynie rozkład zgodny (co do sta-

łych współczynników) z rozkładem Boltzmanna dla kilku rodzajów energii zdefiniowanych

dla węzła.

1Mankament ten autor obiecuje wyeliminować w następnej wersji programu.

54

Page 61: PracaMagisterska

5.1 Kod źródłowy programu

Własny kod źródłowy autora pracy (wraz z trzema małymi programami pomocnicznymi 2)

liczy wraz z komentarzami ponad 7000 linii i rozdzielony został na dwadzieścia trzy pliki3.

Został on napisany obiektowo, aby można było z łatwością tworzyć obiekty zdefiniowanych

klas i dodawać te obiekty do innych klas jako składowe. Autor starał się dla każdej klasy stwo-

rzyć przejrzysty interfejs, aby inny programista, mógł, w razie potrzeby, stosunkowo szybko

zorientować się w sposobie jej użytkowania. Kod źródłowy jest też w znaczej części skomento-

wany, aby ułatwiać modyfikacje, dodawanie nowych funkcji, wnoszenie poprawek itp (np. po

dłuższej przerwie pracy z kodem lub dla kogoś kto nie miał z nim jeszcze wcale do czynienia).

Dodatkowo, wszędzie tam, gdzie było to możliwe i użyteczne, zdefiniowane zostały szablony

(ang. templates) klas i funkcji, aby móc parametryzować powstawanie obiektów klas szablo-

nowych. Np. obiekt klasy szablonowej Histogram można z łatwością stworzyć dla dowolnego

typu, dla którego zdefiniowane zostały podstawowe operatory arytmetyczne (mnożenie, dzie-

lenie, dodawanie, odejmowanie) i relacje (większy, mniejszy, większy lub równy, mniejszy lub

równy) oraz operator umieszczania danej w standardowym strumieniu wyjściowym.

Dokładne omówienie działania programu (czyli w jaki sposób zakodowano jego funkcjo-

nalność) jest w tej pracy niemożliwe. Zostaną jednak pokrótce przedstawione najważniejsze

klasy składowe oraz wymienione ich najistotniejsze funkcje lub grupy tych funkcji (paragraf

5.3). Najpierw jednak opisany zostanie sposób przedstawienia węzła w pamięci komputera i

wynikające z tego konsekwencje.

5.2 Reprezentacja liny w programie i ograniczenia

W symulacji przyjęto model liny składający się jednakowych, doskonale sztywnych sfer usta-

wionych w ciąg n elementów, z zastrzeżeniem jednak, że cała masa każdej ze sfer skupiona

jest w jednym punkcie Pi, w centrum sfery, gdzie i jest indeksem elementu ciągu. Ciąg sfer

ma ustaloną i nie zmieniającą się w czasie symulacji długość n, czyli ilość sfer, z których

zbudowany jest model liny. Elementy są ponumerowane liczbami naturalnymi tak, że punkt

Pi ≡ Pi+n, a więc w wypadku konformacji zamkniętej, które rozpatruje się w tej pracy (czy-li w wypadku węzła fizycznego) nie ma wyróżnionego początku i końca (są one połączone).

Każdemu środkowi sfery w programie symulacyjnym odpowiada trójka liczb zmiennoprze-

cinkowych podwójnej precyzji typu double, z których każda jest współrzędną w wybranym

2Programy te służą do rozdzielania dużych plików wynikowych symulacji na mniejsze, do obliczania po-mocniczych histogramów opisujących duże ilości gięć w celu optymalizacji oraz do wczytywania informacji opliku z węzłami i wybranym węźle w pliku poza programem głównym.3Dlatego kod źródłowy programu autor podaje w formie elektronicznej, a nie drukowanej. Znajduje się

on, wraz z programami, na płycie CD dołączonej do pracy.

55

Page 62: PracaMagisterska

układzie odniesienia. W związku z tym krzywa środkowa w programie zastąpiona jest ła-

maną, której wierzchołki przechowywane są w pamięci komputera i to na nich dokonuje się

transformacji.

Odległości między środkami każdej pary sfer o sąsiednich numerach w ciągu są w takie

same i nie zmieniają się w czasie symulacji rozplątywania węzła (jeśli nie zażyczy sobie tego

użytkownik programu). W takiej sytuacji całkowita długość węzła w dowolnym momencie

jest po prostu iloczynem ilości elementów ciągu przez odległość pomiedzy środkami dwóch

dowolnych sfer. Dla uproszczenia promień każdej ze sfer przyjmuje wartość równą 12 . Wartość

ta byłaby promieniem minimalnego (o minimalnej powierzchni) przekroju liny idealnej w

dowolnym jej punkcie, jednak ponieważ sfery rozstawione są w pewnych odległościach od

siebie, lina taka ma średnią grubość mniejszą niż grubość sfery i należy to uwzględnić w

czasie opracowywania wyników.

Sfery, jak powiedziano, są nieskończenie twarde i nieodkształcalne, a więc jeśli dwie sfery

nie przekrywają się, żaden ruch nie może sprawić by ich środki znalazły się we wzajemnej

odległości mniejszej niż suma promieni tych sfer. Jest to modelowa implementacja faktu,

że jeśli materiał jest doskonale twardy, to próba jego odkształcenia wywołuje nieskończone

siły, a więc odkształcenie takie jest niemożliwe. Jeśli jednak dwie sfery od początku się prze-

krywają (środki są w odległości mniejszej niż suma promieni) to w żadnym wypadku nie

mogą przestać się przekrywać. (Można sobie wybrazić, że powierzchnia sfery jest jednocze-

śnie polem nieskończenie wysokiego potencjału o infinitezymalnej grubości). Łatwo zapewnić

spełnienie obu wspomnianych warunków przy odpowiednio sformułowanych założeniach co

do reprezentacji modelu liny.

Przyjmuje się więc, między innymi, że promień krzywizny dowolnego łuku, na którym

leżą środki trzech dowolnych sfer reprezentacji liny w pamięci komputera, musi być większy

lub równy promieniowi przekroju węzła, jak to przedstawia rys. 5.1. Podobnie prawdziwej

liny nie da się wygiąć w łuk o promieniu mniejszym niż pewien minimalny promień (warunki

takie odpowiadają definicji modelu liny idealnej w pkt. 1.2).

W czasie symulacji zachowanie liny musi być więc zgodne przede wszystkim z dwiema

zasadami: o nieprzekrywaniu się sfer formujących linę i o tym że promień łuku wytyczonego

przez środki trzech dowolnych sąsiadujących sfer (o numerach k, k+1, k+2 dla dowolnego k)

jest zawsze większy lub równy promieniowi przekroju liny. Oczywiście, jeśli ciąg takich sfer

ma dobrze oddawać powierzhnię liny, to muszą być one rozmieszczone wystarczająco gęsto i

w takiej sytuacji każda sfera liny (oprócz końcowych, jeśli lina nie ma połączonych końców)

może przekrywać się z pewną ilością sąsiednich sfer (patrz rys. 5.2).

Jednak liczba tych przekrywających się sąsiadek jest mniejsza niż ilość m sąsiadek po obu

stronach (dla indesków malejących i rosnących), których i tak nie trzeba sprawdzać. Liczba

56

Page 63: PracaMagisterska

Rysunek 5.1: Lina idealna modelowana jest w programie przy pomocy jednakowych sfer. Krzywa środkowa,oznaczona linią przerywaną, zagięta jest w łuk o minimalnym promieniu. Długość tego promienia r jest

równa promieniowi sfery.

Rysunek 5.2: Krzywa środkowa liny tworzy najciaśniejszy możliwy okrąg o promieniu r, równympromieniowi sfery, z których tworzy się model liny. Odległość między segmentami (środkami sfer) wynosi s.Na okręgu tym łuk o cięciwie długości s można odłożyć m razy. Liczba ta jest wartością całkowitą z x danejwzorem (5.1), widocznym u góry rysunku, co wynika z tego, że cięciwa okręgu odpowiada łukowi o kącierównym α. Całkiem przypadkowo na tym rysunku liczba x jest bardzo bliska swej wartości całkowitej m.

57

Page 64: PracaMagisterska

ta nie zmienia się w czasie symulacji i wynosi tyle, ile mieści się sfer na linie zaciśniętej w

okrąg o minimalnym promieniu. Promień tego okręgu równy jest promieniowi przekroju liny

r, a środki sfer leżą na nim w równych odległościach s od siebie. Nietrudno obliczyć, że jeśli

odległości między środkami sfer wynoszą s, promień przekroju liny r, to odcinek o długości

s możemy na tym okręgu odłożyć w przybliżeniu

x =π

arc sin( s2r

) . (5.1)

razy. Ilość m sąsiadujących sfer, których nie trzeba sprawdzać jest częścią całkowitą z

liczby x:

m = bxc. (5.2)

Podsumowując innymi słowy: jeśli zadbamy o to, żeby żaden fragment liny nie przekraczał

minimalnego promienia krzywizny, to jednocześnie wiemy, że żadne sfery na najciaśniejszym

okręgu, które nie powinny na siebie nachodzić, nie przekrywają się. Dlatego właśnie kilku

sąsiadek każdej sfery nie musimy sprawdzać pod kątem przekryć z innymi sąsiadkami, a te,

które mają prawo przekrywać się, są w tej liczbie zawarte.

O tym, że opisany model taki dobrze oddaje właściwości liny idealnej, najlepiej przekonać

się w sposób intucyjny i obserwując wybrany węzeł stworzony z takiej liny w czasie jej

zaciskania lub innych jego transformacji. Można też podać pewne przesłanki uzasadniające

wybór takiego modelu.

Na wstępie można zauważyć, że właściwą powierzchnię modelu liny tworzą jedynie te

fragmenty powierzhni sfer, które są widoczne z zewnątrz (z odległości od sfery większej niż jej

promień), a więc te, które dla konkretnej sfery występują pomiędzy okręgami wyznaczonymi

przez jej przecięcia z dwiema sąsiednimi sferami. Jeśli odległości między środkami sfer nie są

dostatecznie małe, wtedy powierzchnia liny jest w widoczny sposób pofalowana, złożona z

segmentów o zmiennym wzdłuż liny promieniu przekroju (podobnie jak u dżdżownicy - patrz

rys. 5.3). Można jednak pokazać, że jeśli odległość między środkami sfer nadal zmniejsza się,

wtedy segmenty te przechodzą (w granicy) w fragmenty powierzhni walców lub fragmenty

torusów o infinitezymalnej długości, a powierzchnia utworzona z tych fragmentów przechodzi

w powierzchnię gładką o ustalonym promieniu przekroju. A więc jeśli model liny o skończonej

długości, utworzylibyśmy z nieskończonej ilości sfer, wtedy model taki byłby równoważny

modelowi liny idealnej, opisanej w paragrafie 1.2. Oczywiście dla celów symulacji należy

tak dobrać skończoną ilośc segmentów (a więc i sfer) liny, żeby zachowanie tego modelu

dobrze oddawało przewidywane zachowanie modelu liny idealnej, ale i tak, by symulacja

trwała możliwie krótko. W praktyce dobiera się więc odległość środków sfer mniejszą niż ich

58

Page 65: PracaMagisterska

Rysunek 5.3: Model liny tworzy się ze sfer rozstawionych w równych odległościach wzdłuż krzywejśrodkowej liny. Sfery te tworzą widoczne segmety. Węzeł Gordyjski (3113)A o długości całkowitej około 105(przy średnicy równej 1) przedstawiony został przy pomocy odpowiednio: 2500, 1000, 500, 250 oraz 125

segmentów (wartości przybliżone).

Rysunek 5.4: Kolejne etapy gięcia węzła, niedozwolonego dla nieskończenie twardej liny. Jeśli kąt gięcia jestza duży, to etapy pośrednie, na których widać przekrycia, nie wystąpią i fragment liny „magicznie”

przeniknie na drugą stronę innego fragmentu.

promień. Na rys. 5.3 można zobaczyć, że dobór taki jest dobrze uzasadniony wizualnie.

W związku z tak zdefiniowaną reprezentacją węzła, należy mieć na uwadze pewne nie-

bezpieczeństwa, które z niej wynikają. Na przykład po dokonaniu gięcia liny, sprawdza się,

czy nie nastąpiło przekrycie. Jeśli jednak dobrany kąt gięcia był za duży, to mogło zdarzyć

się tak, że dwa fragmenty liny „przeniknęły” przez siebie i po gięciu nie ma przekrycia (rys.

5.4).

Może to spowodować nierealne rozplątanie węzła i jest niedopuszczalne. Oczywiście taka

sytuacja nie mogłaby mieć miejsca w linie rzeczywistej, gdzie kąty zmieniają się w sposób

ciągły, a nie skokowo. W praktyce więc trzeba w czasie symulacji wyznaczać maksymalny

„bezpieczny” kąt gięcia. Ustala się go zgrubnie na podstawie maksymalnych wymiarów węzła i

promienia przekroju liny. Jeśli maksymalna odległość dowolnego punktu węzła od jego środka

59

Page 66: PracaMagisterska

wynosi Rmax a promień przekroju r to maksymalny kąt gięcia

αmax = arc sin(

r

Rmax

). (5.3)

Przy tak zdefiniowanym maksymalnym kącie gięcia i stosowaniu jeszcze dla bezpieczeń-

stwa niepełnej jego wartości (np. 0.99 ·αmax), nie ma możliwości, by podczas zginania węzładwa fragmenty liny w „magiczny” sposób przeniknęły przez siebie.

Na koniec tego rozdziału istotna uwaga: każda symulowana lina, węzeł oraz wynik

w tej pracy dotyczył liny o promieniu przekroju równym r = 12 , a więc lina zawsze miała

grubość d = 1. Wyniki są jednak reprezentatywne dla wszystkich konformacji liny, których

stosunek l/d jest taki sam, jak w wypadku omawianych przykładów oraz wyników.

5.3 Najważniejsze klasy i funkcje składowe

5.3.1 Klasa Knot3D

Klasa Knot3D (ang.Węzeł3D) jest centralną i najważniejszą klasą programu symulacyjnego

(około 2600 linii kodu źródłowego). Obiekt tej klasy przechowuje całą informację o geome-

trii węzła - położenie układu odniesienia, w którym opisany jest węzeł względem układu

zewnętrznego (z reguły to ten sam układ), tablicę wektorów wskazujących wierzchołki łama-

nej, promień przekroju, a także wszystkie własności węzła, które z tej geometrii wynikają.

Do własności tych należą, na przykład:

• liczba przekrywających się sfer i listy (parami oraz osobno) indeksów wierzchołków, wktórych sfery te mają swoje środki,

• liczba wierzchołków, leżących na łuku wyznaczonym przez trzy wierzchołki, w którychprzekroczono maksymalną dopuszczalną krzywiznę i lista indeksów tych wierzchołków,

• średnia długość segmentu i odchylenie standardowe tej długości,

• wybrane punkty gięcia,

• maksymalny „bezpieczny” kąt gięcia,

• macierz bezwładności węzła.

Do wyznaczania tych i innych własności węzła służą odpowiednie funkcje składowe klasy

Knot3D, których jest w sumie ponad 70.4 Można je podzielić na grupy o podobnym prze-4Funkcjonalność niektórych z nich jest powielona, ale zdefniowano je dla wygody. Na przykład można

użyć funkcji Skaluj(5.0) co zwiększy pięciokrotnie odległości pomiędzy wierzchołkami, albo użyć specjalniew tym zdefiniowanego operatora mnożenia i jeśli węzeł nazywa sięW napisać w ramach kodu W =W ∗ 5.0.

60

Page 67: PracaMagisterska

znaczeniu:

• funkcje dokonujące transformacji (nie tylko ortogonalnych) na wierzchołkach łamanej,opisującej położenia sfer węzła, jak: skalowanie (powiększanie, rozsuwanie wierzchoł-

ków), obroty, przesuwanie, gięcia, wyrównywanie długości segmentów itp,

• funkcje zapewniające poprawność reprezentacji modelu liny: wykrywanie przekryć, roz-suwanie przekrywającyh się sfer, sprawdzanie krzywizny, wyznaczanie maksymalnego

kąta gięcia itp,

• funkcje wyznaczające specyficzne własności węzła jak: minimalne i maksymalne wza-jemne odległości wybranych wierzchołków w węźle, maksymalne rozmiary węzła itp,

• funkcje do kontroli/ustawiania wybranych parametrów, jak UstawPromienPrzekroju(),UstawIloscSegm() itp,

• funkcje związane z zasadami zachowania pędu i momentu pędu - wyznaczanie macierzybezwładności, usuwanie niezerowego momentu statycznego (przesuwanie środka masy),

a także momentu pędu pomiedzy dwoma różniącymi się węzłami,

• zdefiniowane dla wygody operatory: porównania, przypisania (np. przypisanie wszyst-kich własności węzła W węzłowi V realizuje się w kodzie bardzo prosto: V = W ),

mnożenia i dzielenia przez liczbę (skalowanie, operacja wykonywana jest na każdym

wektorze wskazującym wierzchołek łamanej węzła), dodawania, odejmowania (suma,

różnica dwóch węzłów o tej samej ilości segmentów; węzeł wynikowy posiada wierz-

chołki będące sumami/różnicami odpowiadających wierzchołków dwóch węzłów), wy-

pisywania lub wczytywania węzła z trybu tekstowego,

• funkcje wczytywania węzła z pliku i zapisu do pliku, obie w wersji binarnej i tekstowejoraz funkcja informacyjna wypisująca dane węzła w trybie konsolowym (tekstowym)

programu.

5.3.2 Klasa Losowania

Jest to niewielka (130 linii) ale istotna klasa programu, której obiekt jest generatorem liczb

pseudolosowych. Generuje on zawsze ten sam ciąg liczb pseudolosowych, co zapewnia po-

wtarzalność wyników symulacji typu Monte Carlo dla identycznych warunków początkowych

(aż do granicy wyznaczonej przez dokładność numeryczną zmiennoprzecinkowej reprezentacji

liczb rzeczyswistych.) Każdy obiekt klasy Knot3D oraz KnotSimulator (opisana w paragrafie

5.3.5) posiada jeden obiekt klasy Losowania o nazwie Losownik, który w identycznym stanie

jest kopiowany podczas kopiowania węzła, lub przypisywania jednego węzła drugiemu.

61

Page 68: PracaMagisterska

Algorytm działania generatora liczb pseudolosowych typu całkowitego dodatniego z prze-

działu 〈0,MAX〉, na bazie którego działa obiekt opisywanej klasy, jest bardzo prosty i dasię streścić całkowicie w kilku punktach:

1. INICJOWANIE: Punktem startowym jest kilka danych liczb całkowitych określonych

następująco:

m =MAX,

0 < a < MAX,

0 < q < MAX,

0 < r < MAX,

b,

0 < seed < MAX (seed - z angielskiego ziarno - „ziarno” generatora).

2. INICJOWANIE: Jeśli uruchamiamy generator po raz pierwszy, przypisujemy wartość

„ziarna” liczbie b: b = seed.

3. LOSOWANIE: Definiujemy liczbę l, jako częśc całkowitą z dzielenia b/q.

4. LOSOWANIE: Przypisujemy: b = a · (b− q · l)− r · l.

5. LOSOWANIE: Jeśli b < 0, dodajemy m do b.

6. WYNIK: Liczba b jest pseudolosowa i należy do przedziału 〈0,MAX). Aby wygenero-

wać następną liczbę, z tak uzyskanym wynikiem wracamy do punktu 3.

Nie dla każdego zestawu liczb określonych w pierwszym punkcie dostajemy dobry (wy-

starczająco losowy) generator. Obiekty klasy Losowania powstają dla początkowych wartości

liczb równych: seed = 1002360, a = 16807, m = 2147483647, q = 127773, r = 2836. Wybór

m =MAX = 2147483647 jest podyktowany faktem, że jest to w przybliżeniu połowa warto-

ści maksymalnej liczby typu long int (maksymalna wartość numerycznego typu całkowitego

dodatniego dla większości kompilatorów 32-bitowych wynosi 232 − 1 = 4294967295).Tak określony generator liczb pseudolosowych typu całkowitego jest prosty, a więc szybki,

co jest ważne dla działania programu symulacyjnego. Mimo to, jego testy dla setek miliardów

wygenerowanych liczb wykazały, że rozkład tych liczb na przedziale 〈0,MAX〉 jest wystar-czająco równomierny.

Mając już daną liczbę pseudolosową b z określonego przedziału 〈0,MAX〉, można z ła-twością otrzymać pseudolosową reprezentację zmiennoprzecinkową liczby rzeczywistej P o

62

Page 69: PracaMagisterska

rozkładzie równomiernym na przedziale 〈OD,DO〉, gdzie OD i DO są dowolnymi liczbamirzeczywistymi. Uzyskujemy ją według prostego wzoru:

P = OD +b− 1MAX

· (DO −OD) . (5.4)

Oczywiście, ponieważ liczba b jest całkowita, dla tak określonego przedziału, nie otrzy-

mujemy rozkładu ciągłego lecz dyskretny o MAX możliwych elementach. Ponieważ jed-

nak w programie liczba ta wynosi MAX = 2147483647, to 1/MAX = 1/2147483647 ≈0.0000000004656613. Oznacza to „ziarnistość” rozkładu dopiero dla dziewiątej cyfry znaczą-

cej reprezentacji zmiennoprzecinkowej liczby rzeczywistej, czyli w ogólnym wypadku bardzo

dobrą.

Obiekt klasy Losowania może jeszcze wygenerowć zmienną pseudolosową o rozkładzie

gaussowskim. Jeśli dana jest średnia rozkładu Gaussa S i jego odchylenie standardowe O,

oraz mamy dane dwie liczby losowe c oraz d o rozkładzie równomiernym na przedziale 〈0, 1〉,to z podanych wzorów (5.5a) i (5.5b) otrzymamy dwie liczby G1 oraz G2 o rozkładzie Gaussa

określonym liczbami S i O:

G1 = S +O · cos (2πc) ·√−2 · ln d, (5.5a)

G2 = S +O · sin (2πc) ·√−2 · ln d. (5.5b)

5.3.3 Klasa Histogram

Jest to dość uniwersalna (można ją łatwo zastosować w innych programach) klasa szablono-

wa, a parametrem szablonu jest typ danych, dla których tworzy się histogram. Jak nazwa

wskazuje, obiekt tej klasy może wytworzyć i przechowuje histogramy dla danych określonego

typu, jeśli dla typu tego zdefiniowane zostały podstawowe binarne (dla dwóch zmiennych)

operatory arytmetyczne (mnożenie i dzielenie przez liczbę, dodawanie, odejmowanie) i rela-

cje (większy, mniejszy, większy lub równy, mniejszy lub równy) oraz operator umieszczania

danej w standardowym strumieniu wyjściowym (ekran, drukarka itp).

Konstruktor (funkcja konstruująca) obiektu klasy Histogram dostaje adres miejsca w

pamięci, w którym przechowywane są dane i z nich wytwarza strukturę określającą często-

ści zliczeń danych w przedziałach (czyli właśnie histogram). Początek i koniec wszystkich

przedziałów, a także szerokość przedziałów (taką samą dla każdego z nich) można określić

w trakcie pisania kodu. Jeśli nie zrobi tego programista, lub funkcja wywołująca konstruk-

tor, konstruktor przyjmuje dla obiektu wartości domyślne. Uznaje najmniejszą znalezioną w

zbiorze daną za początek przedziałów, a największą za koniec i równomiernie rozmieszcza

w tym zakresie domyślną (równą 100) liczbę przedziałów dla zliczeń. Jedna ze składowych

63

Page 70: PracaMagisterska

klasy informuje o numerze przedziału, w którym wystąpiła maksymalna liczba zliczeń, inna

- podaje tę wartość.

Klasa Histogram ma też zdefiniowany operator przekazujący wszystkie swoje składowe

do standardowego strumienia danych wraz z krótkim opisem tekstowym, a więc można prze-

kazać histogram w trybie tekstowym (na przykład) na ekran lub do pliku. Operator ten wy-

korzystany jest w funkcji zapisującej do pliku w wersji tekstowej. Dostępna jest też binarna

wersja funkcji, zapisująca histogram do pliku pod określoną nazwą oraz funkcja wczytująca

z określonego pliku binarną wersję histogramu.

Tworzenie histogramów podczas symulacji miało na celu określenie, jaki jest rozkład

szerokości przedziałów wyznaczonych przez punkty gięć oraz kątów gięć, które dla danego

węzła udają się bez przekryć. Pozwoliło to na zwiekszenie szybkości symulacji, ponieważ

po obliczeniu histogramów, uzyskane w ten sposób rozkłady stosuje się dalej w programie.

Parametr określający szybkość symulacji wzrasta wówczas o jeden-dwa rzędy wielkości w

porównaniu do losowań parametrów gięć z rozkładami równomiernymi.5 Szczegóły omówione

zostały w paragrafie 5.5 niniejszego rozdziału.

5.3.4 Klasa KnotPliker

Niektóre pliki z wynikami symulacji zawierały nawet 200MB danych w trybie binarnym

(około 30 tys. węzłów o 300 segmentach). Każdy węzeł w takim pliku symulacyjnym, jeśli

przedstawi się go na ekranie komputera, stanowi jedną klatkę animacji6. Nie zawsze jednak

chcemy oglądać każdą klatkę, ale przeskoczyć np. o 10 lub 100 do przodu lub do tyłu. Na

przykład, jeśli wyświetlalibyśmy wszystkie 30tys. węzłów i 20 klatek na sekundę, trwałoby to

1500 sekund a więc prawie pół godziny. Niezbędne okazało się więc stworzenie klasy do szyb-

kiego radzenia sobie z tak dużymi plikami, bez wczytywania wszystkiego do pamięci. Obiekt

klasy KnotPliker dość szybko (najwyżej 20-30 sekund dla bardzo dużych plików) wczytuje

z pliku ilość węzłów w nim zapisanych i umieszcza w pamięci programu adresy początków

danych dla każdego z nich. Zwróćmy uwagę, że zadanie to nie jest zupełnie trywialne, gdyż

każdy węzeł w pliku może mieć inną ilość segmentów, a więc zajmować inną objętość w pa-

mięci. Jeśli dany jest adres każdego węzła w pliku, można szybko przeskoczyć do dowolnego

z nich bez wczytywania wszystkich innych po drodze.

5Do zebrania wszystkich 4 histogramów charakteryzujących węzeł pod kątem symulacji gięć oraz innychjego danych w jedną strukturę służy osobna klasa KnotSimData. Tworzy ona histogramy z tablicy, w którejzapisano określoną ilość udanych gięć węzła wraz z ich parametrami - punktem początkowym i końcowymgiętego przedziału oraz wartością kąta gięcia.6Oczywiście nie są to obrazki. Węzeł z każdej klatki można obracać i oglądać z każdej strony a także

„ręcznie” dokonywać na nim manipulacji - gięć, skalowania itp. lub rozpocząć od tego węzła nową symulacjędziałania algorytmu BONO, SONO lub BASONO. Jej wyniki dopisane zostaną do końca bieżącego lub innegowybranego pliku.

64

Page 71: PracaMagisterska

Dla opisywanej klasy zostały też zdefiniowane funkcje składowe, dzielące duże pliki na

mniejsze lub łączące mniejsze w większe oraz zapisujące pod nową nazwą węzły z pliku wej-

ściowego ale z mniejszą częstotliwością, np. co drugi, co trzeci itp. Daje to możliwość zmniej-

szenia całkowitej ilości klatek animacji w pliku wynikowym. Jest to użyteczne zwłaszcza,

gdy sąsiednie klatki wejściowego pliku symulacyjnego różnią się tylko nieznacznie i obejrze-

nie każdej z nich nie jest konieczne do badania procesu rozplątywania węzła.

5.3.5 Klasa KnotSimulator

Jest to stosunkowo duża klasa (prawie 900 linii kodu źródłowego), posiadającą cały interfejs

programistyczny oraz parametry dotyczące symulacji węzła. Obiekty wszystkich opisanych

wcześniej klas znajdują się w obiekcie typu KnotSimulator jako jego składowe. Obiekt taki

zarządza nimi poprzez interfejsy ich klas i przez to całym procesem symulacyjnym. Dzię-

ki obiektowi klasy KnotPliker, wczytuje (lub zapisuje do pliku) dane węzła i z nich tworzy

obiekt typu Knot3D, który jest węzłem początkowym i dalej podlegającym symulacji. Obiekt

KnotSimulator ma więc w swoim składzie jeden węzeł symulowany oraz pomocniczy począt-

kowy węzeł odniesienia (aby względem niego usuwać powstały w czasie symulacji pęd lub

moment pędu). Przechowuje też w składowym obiekcie typu KnotSimData histogramy i inne

dane dotyczące procesu symulacji i korzysta z nich dla celów jego optymalizacji. Zadaniem

obiektu KnotSimulator jest też wysyłanie tekstowej informacji o przebiegu symulacji, jej da-

nych i parametrów do konsoli (do wglądu użytkownika programu). Dane te to na przykład:

liczniki gięć, zarówno udanych jak i nieudanych (z przekryciem), stosunek gięć udanych do

wszystkich prób (od czasu ostatniego automatycznego zapisu stanu węzła do pliku), długość

węzła, wartość zmiennej analogicznej do średniej energii termicznej, nazwa pliku, z którego

i do którego się zapisuje, ilość węzłów w pliku itp.

Zadaniem obiektu klasy KnotSimulator, które należy wyróżnić, jest wykonywanie na węź-

le wybranych algorytmów w sposób automatyczny. Zaimplementowano więc w nim funkcje

ZastosujSONO(), ZastosujBONO() oraz ZastosujAlgorytmy(), które odpowiadają za wielo-

krotne wykonywanie na węźle symulowanym gięć i/lub zaciskania oraz sprawdzania przekryć.

Zadania te obiekt KnotSimulator wykonuje z użyciem interfejsu klasy Knot3D. Dodatkowo

w ramach kodu funkcji ZastosujBONO() znajduje się algorytm Metropolisa-Hastingsa, który

zwiększa lub zmniejsza prawdopodobieństwo uzyskania przez węzeł stanu z określoną zmien-

ną, zależną od jego geometrii. Opisywana klasa została zaprojektowana tak, że można w niej

użyć dowolnego rozkładu prawdopodobieństwa dla zmiennej zależnej od geometrii węzła, jak

i dowolnej funkcji obliczającej dla danego węzła tę zmienną. Domyślnie stosowany jest roz-

kład analogiczny do rozkładu Bolztmanna. Natomiast zmienną, podlegającą badaniu, jest

energia węzła zdefiniowana jako suma kilku rodzajów energii z wagami dla każdej z osobna.

65

Page 72: PracaMagisterska

Wagi te można zmieniać i tak kontrolować w dość wyrafinowany sposób zachowanie się węzła

podczas symulacji.

5.4 Wykrywanie przekryć

Temat ten wyróżniono, ponieważ to w tej kwestii programista, dla zwiększenia szybkości

działania programu, musiał wykazać się maksymalną pomysłowością.

Aby zachowanie węzła było zgodne z modelem liny, w czasie działania algorytmów SONO

oraz BONO po każdej transformacji należy sprawdzić, czy wystąpiło przekrycie jej fragmen-

tów i jeśli tak, usunąć je lub cofnąć taki ruch. Przykładowo: węzeł gordyjski w konformacji

(3113)A o 584-segmentowej reprezentacji wydłużony z konformacji idealnej o 2.49% do dłu-

gości 106.6 (patrz rys. 6.2 w paragrafie 5.5) rozplątał się spontanicznie dopiero po ponad

8 · 109 próbach gięć.7 Tyle samo razy należało sprawdzić przekrycia między fragmentami li-ny. Dla przyjętej reprezentacji węzła w pamięci (paragraf 5.2), sprawdzenie przekryć oznacza

upewnienie się, że środki żadnej pary sfer, z których lina jest uformowana, poza kilkoma

sąsiadującymi, nie znajdują się w odległości mniejszej niż podwojona wartość promienia

sfery (średnica liny). Trzeba więc porównać średnicę liny z długością wektora rAB od jed-

nego środka sfery, danego punktem A do drugiego, danego punktem B. Za każdym razem

niezbędne jest więc znalezienie różnicy rAB dwóch wektorów położeń punktów i dokonanie

mnożenia przez ten sam wektor. Daje to z iloczynu skalarnego kwadrat długości wektora

|rAB |2 = rAB · rAB . Na procesorze Intel Celeron M z zegarem 1.4 GHz wykonanie 109 ta-kich operacji, łącznie z adresowaniem położeń punktów A i B w pamięci, zajmuje około 130

sekund. W najprostszej wersji algorytmu, sprawdzającego istnienie przekryć, należałoby dla

n sfer i m sąsiadek, których nie sprawdza się, dokonać za każdym razem w przybliżeniu

N =12(n · (n− 1)− n ·m) (5.6)

sprawdzeń. A więc gdy m n (ma to miejsce dla każdego interesującego węzła), czas

trwania wszystkich sprawdzeń zależy w tej prostej wersji algorytmu w przybliżeniu kwadra-

towo od ilości segmentów.

Dla wspomnianego węzła gordyjskego w konformacji (3113)A o długości całkowitej 106.6,

długość segmentu (odległość między środkami dwóch najbliższych sąsiadujących sfer) wynosi

s = 106.6 : 584 ≈ 0.1825 (5.7)

7W najbardziej zoptymalizowanej wersji algorytmu BONO około 40% z tych prób było udanych, czyli niewystąpiły przekrycia ani nie przekroczono maksymalnej krzywizny. Wynik ten był ponad 10 razy lepszy niżbez optymalizacji, o której mowa w następnym paragrafie 5.5.

66

Page 73: PracaMagisterska

Wzór (5.2) daje w takim wypadku m = 17. Dla n = 584 i m = 17 dostajemy ze wzoru

(5.6) wartość 165272. Oznacza to N ≈ 1.65 · 105 iloczynów skalarnych wektorów odległościpunktów A i B za każdym razem, gdy sprawdzamy przekrycia najprostszą wersją algorytmu.

Jeśli chcielibyśmy dokonać 8 · 109 prób gięć, to czas zużyty na samo znajdowanie wektorarAB i jego iloczynu skalarnego w prostej pętli (nie licząc transformacji węzła, sprawdzania

krzywizny i innych niezbędnych czynności) na wspomnianym procesorze z zegarem 1.4 GHz

trwałoby

8 · 109 · 1.65 · 105 · 130109= 1.716 · 108 (5.8)

sekund czyli prawie 5.5 roku.8 Dzięki zastosowaniu opisanych pokrótce w następnych

akapitach (dość oczywistych) ulepszeniach algorytmu wykrywania przekryć, symulacja roz-

plątywania wspomnianego węzła trwała na tym samym procesorze nieco ponad 200 godzin.

Najistotniejsze ulepszenie algorytmu wykrywania przekryć jest następujące.9 W zbiorze

punktów liny, który rozpatrujemy, znajdują się środki sfer o promieniach r, formujących

model liny o promieniu przekroju r. Środki te leżą w wierzchołkach łamanej zamkniętej o

odcinkach równych s (rysunek 5.5).

Załóżmy, że sprawdzamy wzajemną odległość punktuA o indeksie i od punktów liny o in-

deksach j 6= i. Ponieważ mamy do czynienia z konformacją zamkniętą liny, indeks k+n ≡ k,gdzie n jest ilością wszystkich wierzchołków zamkniętej łamanej, wzdłuż której rozstawiono

sfery. Wiemy, że nie musimy już sprawdzać określonej wzorem (5.2) ilości sąsiednich sfer,

bo zadbaliśmy o to, by żaden fragment węzła nie przekroczył maksymalnej krzywizny. Nie

sprawdzamy więc indeksów od i−m/2 do i+m/2. Jeśli odległość d między parą punktów jestwiększa niż 2r, to wiadomo, że między tymi dwoma sferami nie wystąpiło przekrycie. Pamię-

tajmy jednak, że wierzchołki łamanej ustawione są wzdłuż liny w ciąg i środki najbliższych

sąsiadek znajdują się w odległości s od siebie. Jeśli d 2r niezależnie od ułożenia liny, awięc nawet w najbardziej niekorzystnym wypadku, wzdłuż odcinka AB możemy, zaczynając

od punktu B rozstawić w odległościach s od siebie pewną ilość sfer ustawionych w ciąg, który

nie dosięgnie punktu A. Sytuację objaśnia rysunek 5.5.

Odległość d wcale nie musi być dużo większa niż 2r. Z rysunku 5.5 widać, że ilość m2tych sfer, nie licząc tej, która ma środek w B, jest wartością całkowitą z liczby mR, danej

wzorem (5.9):

mR =d− 2rs

. (5.9)

8A więc sprawdzenie na domowym komputerze, czy ten jeden węzeł rozplącze się, nie byłoby możliwe wtrakcie pisania pracy magisterskiej!9Zaproponował je autorowi pracy promotor dr Sylwester Przybył.

67

Page 74: PracaMagisterska

Rysunek 5.5: Sfery o tych samych promieniach r, modelujące linę, rozstawione są w wierzchołkach łamanejo odcinkach równych s (długości segmentów). Sprawdzamy przekrycie sfery o indeksie i, której środek leżyw punkcie A ze sferą o indeksie j (środek w punkcie B). Odległość między nimi równa jest d, co jestdługością odcinka AB i jest to najkrótsza łamana, jaką możemy pomiędzy nimi poprowadzić (kolor

jasnozielony). W związku z tym, niezależnie od ułożenia liny, wiemy, że sfery o indeksach j + 1, j + 2, j + 3,j + 4 oraz j + 5 na pewno nie będą się przekrywać ze sferą o indeksie i. To samo tyczy się sfer o indeksach

j − 1, j − 2, j − 3, j − 4 oraz j − 5. Sfery poprowadzone po najkrótszej łamanej, oznaczono napomarańczowo. Są one przesunięte na odcinek łączący sfery o indeksach i oraz j z pewnej szczególnejłamanej o większej długości (kolor ciemnobłękitny). Przesunięcie sfer symbolizują jasnobłękitne strzałki.

Stąd wiadomo, że nie musimy już sprawdzać pod kątem przekryć ze sferą daną środkiem

w punkcie A, tych sfer których środki mają indeksy od j − (m2 − 1) do j + (m2 − 1).Ponieważ najczęściej punkty o indeksach maksymalnie oddalonych od siebie (o n/2, gdzie

n to ilość wszystkich punktów), są również najbardziej odległe w przestrzeni, to od nich

zaczynamy sprawdzanie przekryć z daną sferą. Następnie sprawdzamy pozostałe indeksy,

zaczynając tym razem i za każdym następnym od tych, które są najbardziej oddalone od

dotychczas sprawdzonych. W ten sposób znacznie szybciej sprawdza się wszystkie przekrycia

w porówaniu z prymitywną wersją algorytmu.

Następne, bardziej oczywiste, ale również ważne, usprawnienie wynika z faktu, że po

transformacji wykonanej na punktach o indeksach od k do k + p, wiemy, że tylko te punk-

ty zmieniły swoje wzajemne położenia. Nie musimy więc sprawdzać przekryć pozostałych

punktów, które podlegały, co najwyżej, transformacjom ortogonalnym (a więc nie zmieniają-

cym wzajemnych odległości i kątów). W szczególności, gdy sprawdza się przekrycia po gięciu

danym osią przechodzącą przez punkty o indeksach k i k + t (a więc w trakcie działania

kluczowego dla pracy algorytmu BONO), wiadomo, że nie zmieniają wówczas wzajemnych

położeń punkty łamanej o indeksach w przedziale domkniętym od k+1 do k+t−1. Podobniepunkty w pozostałym przedziale domkniętym o indeksach od k+ t+ 1 do k+ n− 1 również

68

Page 75: PracaMagisterska

nie zmieniają swych wzajemnych położeń. Musimy jedynie sprawdzić przekrycia punktów o

indeksach z jednego przedziału z punktami o indeksach z drugiego przedziału. Stąd, zamiast

sprawdzać w przybliżeniu

p1 = n · (n− 1)/2 (5.10)

par punktów, sprawdzamy wówczas zaledwie około

p2 = (t− 2) · (n− t− 2) (5.11)

par.10 W najgorszym przypadku gięcie dotyczy maksymalnej odległości między indeksa-

mi, czyli t jest równe około n/2. Jak można wówczas sprawdzić, dla wystarczająco dużego

n, co jest niemal zawsze spełnione (patrz przypis dwa zdania wcześniej):

p2p1=(t− 2) · (n− t− 2)

n · (n− 1)/2=

=(n/2− 2) · (n− n/2− 2)

n · (n− 1)/2≈ (n/2) · (n− n/2)

n · n/2=12.

(5.12)

Z rozważań tych wynika, że dzięki omówionemu usprawnieniu, algorytm działa w naj-

gorszym wypadku około dwa razy, a średnio (jeśli z reguły wyginamy małe fragmenty liny)

kilkanaście razy szybciej.

Ostatnie z omówionych usprawnień algorytmu wykrywania przekryć jest najbardziej oczy-

wiste i najprostsze, ale również znacznie przyspiesza działanie programu, choć dotyczy tylko

wykrywania przekryć po gięciu. Otóż wiadomo, że efekt nieudanego gięcia należy cofnąć. Jeśli

więc wystąpi jakiekolwiek przekrycie, przywracamy stan węzła przed gięciem. Istota uspraw-

nienia polega na tym, że sprawdzanie kończymy już na pierwszym przekryciu, kiedy tylko na

nie natrafimy i wówczas cofamy dokonaną transformację. Nie sprawdzamy wszystkich prze-

kryć a tylko jedno, jeśli jakieś w ogóle wystąpi. Dlatego właśnie program działający w trybie

BONO na mocno zaciśniętym węźle dokonuje (na tym samym procesorze) kilkukrotnie więcej

prób gięć w jednostce czasu rzeczywistego niż na węźle luźnym. Po prostu gięcie zazwyczaj

w ponad połowie przypadków jest nieudane a program podczas sprawdzania przekryć szybko

trafia na pierwsze z nich, po czym przywraca stan poprzedni i próbuje ponownie. W wypadku

luźnego węzła, z reguły, jednocześnie następuje znacznie mniej przekryć i zanim algorytm

któreś z nich wykryje, mija więcej cykli procesora, a w związku z tym również jednostek

czasu rzeczywistego.

10W badaniu węzłów dobra reprezentacja liny musi liczyć przynajmniej n równe kilkadziesiąt sfer. Dlategow wyrażeniach obecnych w tym zdaniu odjemne 1 oraz 2 nie mają większego znaczenia.

69

Page 76: PracaMagisterska

5.5 Implementacja algorytmu BONO

W paragrafie niniejszym omówione są sposoby przyspieszenia symulacji BONO, użyte w

programie. Oczywistym, jest, że zależy nam, aby symulacja zakończyła się jak najszybciej, a

więc, aby w jednostce czasu, program dokonał na węźle jak największej liczby gięć. I tu należy

zaznaczyć, że chodzi o gięcia udane, ponieważ nieudane, czyli takie, po których następują

przekrycia, są odrzucane i przywracany jest stan węzła sprzed takich gięć. W punkcie 5.4,

pokazano jak przyspieszyć wykrywanie przekryć po gięciu, natomiast tutaj omówi się, jak

uzyskano statystyczne zwiększenie parametru, nazywanego zmianą węzła Z.

Jak powiedziano, zależy nam, aby stosunek gięć udanych do wszystkich prób był maksy-

malny, aby węzeł szybko zmieniał się w czasie rzeczywistym symulacji. Ale jeśli każde z tych

gięć będzie związane z bardzo małym kątem, to obserwowana sumaryczna zmiana węzła w

czasie będzie mała. Dlatego chcemy, aby wartość bezwzględna kąta gięcia |α| była jak naj-większa (ale nie większa niż maksymalny bezpieczny kąt gięcia αmax określony równaniem

5.3). Jednocześnie zależy nam na tym, aby przy każdym gięciu, swoje położenia względem

innych zmieniała jak największa liczba punktów (sfer) liny. Wiąże się to z wyborem możliwie

dużego przedziału gięcia p, zdefiniowanego jak poniżej dla dwóch indeksów i oraz j:

p = min |i− j| mod n, |j − i| mod n − 1, (5.13)

gdzie mod oznacza dzielenie modulo, a n jest całkowitą ilością segmentów. Interesuje nas

wartość absolutna różnic indeksów i− j lub j− i. W konformacji zamkniętej liny wybieramymniejszą z tych dwóch wartości (funkcja min), gdyż gniemy względem siebie zawsze dwa

przedziały o pijB oraz pji = n − pijB segmentach. Dzielenie modulo zapewnia, że wartośćp należy do przedziału 〈0, n− 1〉. Na końcu odejmujemy wartość 1, ponieważ, gdy odległośćindeksów wynosi 2, to podczas gięcia zmienia się położenie tylko jednego punktu względem

reszty (jego indeks znajduje się pomiędzy indeksami i oraz j). Dla większych odległości -

podobnie - ilość punktów zmieniających swe położenia jest mniejsza o 1 od mniejszej z dwóch

odległości między indeksami. Wartość p mniejsza niż 0 (równa −1) nie ma sensu fizycznego,ponieważ indeksy wskazują wówczas ten sam punkt i oś gięcia nie jest zdeterminowana.

Załóżmy, że mamy daną wartość przedziału gięcia pk podczas k-tego udanego gięcia węzła

o n segmentach. Definiujemy wówczas zmianę węzła Zk jako:

Zk = max0,pk · |αk|

n

, (5.14)

gdzie αk, jest kątem gięcia. Wielkość ta jest jest dobrym wyznacznikiem tego, jak mocno

zmienia się węzeł podczas k-tego gięcia, gdyż jest tym większa, im większy kąt gięcia αk

70

Page 77: PracaMagisterska

oraz im większy przedział pk. Zmiana węzła Zk jest zawsze dodatnia lub równa zeru (dzięki

funkcji max), a jej maksymalizacja dla wielu gięć prowadzi do szybszych rzeczywistych obser-

wowalnych zmian węzła. Dzielenie przez n sprawia, że dla dwóch ireprezentacji konformacji

tego samego węzła, różniących się jedynie ilością segmentów, zmiana węzła przy gięciu w

tych samych punktach geometrycznych węzła jest w przybliżeniu niezależna od n.

Podczas symulacji ważne jest nie jedno szczególne gięcie, lecz ich tysiące, miliony oraz

sumaryczna zmiana węzła ∆Z =∑k Zk w rzeczywistym czasie symulacji ∆t, czyli średnia

szybkość zmiany węzła vZ w jednostce czasu:

vZ =∆Z∆t

. (5.15)

Parametr ten obserwowano przy dokonywaniu optymalizacji algorytmu. Sposób tej opty-

malizacji opisano w następnych akapitach.

Oczywiste jest, że gięcia o dużej zmianie Z będą się udawać rzadziej, a małej - częściej.

Wynika to z geometrii węzła i tego, że im większy kąt gięcia αk, tym większe prawdo-

podobieństwo przekrycia. To samo tyczy się przedziału pk. Można spodziewać się pewnego

rozkładu prawdopodobieństwa, że gięcie o określony kąt, albo dla określonego przedziału uda

się, ale wyznaczenie go w sposób teoretyczny jest zadaniem bardzo trudnym. Rozkład ten

można zbadać dla N udanych gięć i wyznaczyć w bardzo prosty sposób, opisany w krokach

następującego algorytmu:

1. Dla k-tego gięcia, losuje się kąt αk z przedziału 〈−αmax, αmax〉 z rozkładem równo-miernym na tym przedziale.

2. Podobnie losuje się dwa indeksy ik i jk z rozkładem równomiernym na przedziale

〈0, n− 1〉.

3. Jeśli pk zdefiniowane w równaniu (5.13) dla tych indeksów jest mniejsze od 1, powtarza

się poprzedni krok 2., aż do skutku.11

4. Dokonuje się gięcia o kąt αk względem osi przechodzącej przez punkty o indeksach iki jk.

5. Sprawdza się przekrycia.

6. Jeśli wystąpiły przekrycia, wraca się do punktu 1. bez zmiany k.

7. Zapamiętuje się parametry gięcia: αk, ik, jk.

11Oś nie może być dana tylko jednym punktem, co ma miejsce, gdy p = −1, a gdy p = 0, to oś takaprzechodzi przez sąsiednie sfery i występuje jedynie obrót wszystkich punktów wokół tej osi, ale bez gięcia.

71

Page 78: PracaMagisterska

8. Zwiększa się wartość k o 1.

9. Jeśli osiągnięto wymaganą wartość k = N , tworzy się histogramy z zapamiętanych w

punkcie 7-mym parametrów gięć i kończy działanie algorytmu. W przeciwnym razie,

następuje powrót do pierwszego punktu.

Histogramy tworzy się dla indeksów początkowych przedziału ik, dla wartości szerokości

przedziału pk, dla kątów gięcia αk oraz dla poszczególnych zmian węzła Zk. Przykłado-

wo, na rysunkach: 5.6, 5.7, 5.8 oraz 5.9 przedstawiono histogramy wyznaczone dla losowań

z rozkładami równomiernymi dla węzła gordyjskiego typu (3113)A o n = 584 segmentach

wydłużonego z konformacji idealnej o około 2.49% do długości l = 106.6 (patrz rys. 6.2).

Histogramy powstały dla N = 500 tys. udanych gięć. Wartość ta stanowiła zaledwie około

2.7% wszystkich prób. Każdy rysunek opatrzony jest dość obszernym komentarzem, który

omawia strukturę histogramu i jej zależność od wielkości specyficznych dla symulacji BONO.

Mając dane tak wyznaczone rozkłady prawdopobieństw dla wymaganych parametrów

gięć, można przystąpić do losowania gięć w czasie trwania symulacji BONO zgodnie z tym

rozkładami. Jeśli analiza jest słuszna, powinno oszczędzić to czas procesora zużywany wcze-

śniej na próbkowanie gięć z parametrami, które zmniejszały prawdopodobieństwo gięcia.

Losowanie liczb dla rozkładów określonych histogramami wykonuje się następująco:

1. Określa się maksymalną liczbę zliczeń w histogramie nazywaną tutaj baza.

2. Losuje się wartość parametru z rozkładem równomiernym nazywanym tutaj probka.

3. Sprawdza się liczbę zliczeń a dla przedziału, do którego należy probka.

4. Losuje się liczbę x z rozkładem równomiernym z zakresu 〈0, baza〉.

5. Jeśli x 6 a, to przyjmuje się wartość parametru probka. W przeciwnym razie, powraca

się do punktu 1.

Parametry dla każdego k-tego gięcia generowane są zgodnie z poniżej opisanym sposobem:

1. Losujemy indeks pierwszego punktu gięcia ik z rozkładem danym odpowiednim histo-

gramem (patrz algorytm powyżej).12

2. Losujemy wartość przedziału pk z rozkładem danym odpowiednim histogramem. Usta-

lamy wartość jk = ik + pk + 1.

12W istocie i w tym punkcie jak i w następnym dokonuje się dodatkowej optymalizacji - w punkcie 4.algorytmu, który znajduje się powyżej, losuje się liczbę z zakresu 〈0, par · baza〉, gdzie par jest pewnymeksperymentalnie dobranym parameterem dodatkowym spełniającym zależność: par ∈ 〈0, 1〉.

72

Page 79: PracaMagisterska

Rysunek 5.6: Histogram zliczeń dla konformacji początkowej węzła gordyjskiego (3113)A o n = 584segmentach, wydłużonego z konformacji idealnej o około 2.49% do długości l = 106.6. Histogram powstałdla N = 500 tys. udanych gięć i równomiernego rozkładu losowego dla indeksu pierwszego punktu ik, przezktóry przechodzi oś gięcia. Na osi poziomej numery wszystkich indeksów ik, na osi pionowej - ilości zliczeń.Jak widać, rozkład wynikowy nie jest równomierny. Dla punktów o niektórych indeksach ilość udanych gięć,gdy oś przechodzi przez te punkty, jest ponad cztery razy większa niż dla innych. Wynika to z geometriiwęzła, ale nawet przybliżone wyznaczenie tej zależności w sposób teoretyczny byłoby bardzo trudne. Widaćteż, że z uwagi na symetrię węzła, pewna struktura tego histogramu, widoczna dla pierwszej połowyindeksów, powtarza się w drugiej połowie w niemal identycznej formie. Środek węzła przypada około

ik = 116 oraz ik = 408.

3. Losujemy wartość g z rozkładem Gaussa o średniej równej 0 i odchyleniu standardowym

wielokrotnie (nawet kilkusetkrotnie) razy większym, niż maksymalne obserwowane w

symulacji Zk. Ustalamy dla tego gięcia Zk = |g|.

4. Wartość kąta gięcia αk obliczamy z ilorazu ±Zk/pk. Jeśli wartość |αk| jest większa niżαmax, przyjmujemy wartość αk = ±αmax.

Efekt gięcia z tak wygenerowanymi rozkładami parametrów jest zaskakująco dobry: szyb-

kość zmiany węzła w czasie (definicja (5.15)) dla węzła gordyjskiego typu (3113)A o n = 584

i o długości l = 106.6 wzrasta około 45 razy, co przypuszczalnie można uznać za równoznacz-

ne z czterdziestopięciokrotnym skróceniem czasu trwania symulacji13. Jest to związane ze

wzrostem stosunku ilości gięć udanych do ilości wszystkich prób, ale widocznie nie tylko z

tym, ponieważ stosunek ten wzrasta mniej razy - 13-14-krotnie - z około 2.7% do około 37%.

Oznaczać to musi, że wzrasta także statystyczna wartość Zk.

13Nie ma tu pewności, ponieważ wybór parametrów z innym rozkładem w tym procesie Markowa możemieć znaczący wpływ na przebieg całej symulacji. Z całą jednak pewnością szybkość symulacji (odwrotnieproprocjonalna do czasu trwania rozplątywania węzłów) wzrasta w przypadku każdego węzła przynajmniejkilku-kilkunastokrotnie.

73

Page 80: PracaMagisterska

Rysunek 5.7: Histogram zliczeń w przedziałach pk dla konformacji początkowej węzła gordyjskiego (3113)Ao n = 584 segmentach, wydłużonego z konformacji idealnej o około 2.49% do długości 106.6. Histogrampowstał dla 500 tys.udanych gięć i równomiernego rozkładu losowego dla szerokości giętych przedziałówpk ∈< 1, n/2 >. Na osi poziomej - szerokości przedziałów pk, przy których udały się gięcia. Na osi pionowej- ilości zliczonych udanych gięć dla tych przedziałów. Należy zwrócić uwagę, że skala osi pionowej jestlogarytmiczna. Rozkład wynikowy pokazuje że prawdopodobieństwo, że gięcie będzie udane dla p ∈ 〈1, 30〉maleje w przybliżeniu wykładniczo wraz ze wzrostem p. Autor sprawdził, że około 80% wszystkich udanych

gięć przypada dla p < 15, a 90% dla p < 28.

Rysunek 5.8: Histogram zliczeń w przedziałach αk dla węzła gordyjskiego (3113)A o n = 584 segmentachwydłużonego z konformacji idealnej o około 2.49% do długości l = 106.6. Histogram powstał dla N = 500tys. udanych gięć i równomiernego rozkładu losowego dla kątów αk ∈ 〈−αmax, αmax〉 (αmax zdefiniowanow równ. (5.3)). Na osi poziomej - zakresy kątów αk przy których udały się gięcia, na osi pionowej - ilościudanych gięć dla tych zakresów. Wartość maksymalna wynosi ok. 2.9 · 104. Należy zwrócić uwagę, że skalaosi pionowej jest logarytmiczna. Rozkład wynikowy pokazuje, iż prawdopodobieństwo, że gięcie będzieudane szybko maleje wraz ze wzrostem |αk|. Jak widać, jest ono (w przybliżeniu) symetryczne, czyli kątyujemne są tak samo prawdopodobne jak dodatnie o tych samych wartościach bezwzględnych, czego należałosię spodziewać. Granice histogramu wyznaczone są przez ±αmax ≈ 0.175. Wartość ta zmieniała sięnieznacznie w czasie symulacji tych 500 tys. gięć (rozmiar węzła nieznacznie się zmieniał) i stąd pewne

rozmycie tych granic.

74

Page 81: PracaMagisterska

Rysunek 5.9: Histogram zliczeń, dla węzła gordyjskiego (3113)A o n = 584 segmentach wydłużonego zkonformacji idealnej o około 2.49% do długości l = 106.6. Histogram stworzono dla zmiany węzła Zk przyk-tym gięciu, zdefiniowanej równaniem (5.14). Na osi poziomej - zakresy Zk przy których udały się gięcia,na osi pionowej - ilości udanych gięć dla tych zakresów. Wartość maksymalna wynosi ok. 1.29 · 104. Rozkładwynikowy pokazuje że prawdopodobieństwo, że gięcie będzie udane, szybko maleje wraz ze wzrostem Zk.Histogram wykreślono dla zakresu Zk w którym udało się 92.8% wszystkich gięć. Interesująca możewydawać się „schodkowa” struktura histogramu ze schodkiem pojawiającym się dla wielokrotności Zkrównej około 0.175. Wyjaśnić można ją, gdy zauważy się, że 0.175 to wartość bardzo bliska kątowi αmax(zdefiniowanemu w równ. (5.3)), obserwowanemu na rys. 5.8, który stanowi granice zakresu dozwolonychkątów dla tego węzła. Liczba Zk jest zawsze wielokrotnością kąta αk oraz liczby pk (dzieloną jeszcze przezstałą całkowitą n). Liczba pk przyjmuje tylko wartości całkowite. Dla małych wartości: pk = 1, 2, 3, 4...ilość udanych gięć wraz z jej wzrostem bardzo gwałtownie maleje (patrz rys. 5.7). Jednocześnie gięcia dlatak małych przedziałów pk mają największy wkład do sumarycznej zmiany węzła ∆Z =

∑kZk w całym

dozwolonym przedziale kątów ±αmax, gdyż niezależnie od kąta αk, stosunkowo rzadko powodują powstanieprzekryć. Wszystko to razem wzięte tłumaczy schodkową strukturę histogramu. Struktura ta byłaby mniejwidoczna dla liny modelowanej większą liczbą segmentów, a dla liny idealnej znikałaby całkowicie.Wskazuje to na niedoskonałość modelu i „kwantowe” efekty takiej reprezentacji liny w programie.

Histogram powstał dla N = 500tys. udanych gięć.

75

Page 82: PracaMagisterska

5.6 Implementacja algorytmu BASONO

W paragrafie niniejszym krótko opisze się sposób działania ulepszonego algorytu zaciska-

nia węzłów. Przypadkowo odkryty przez autora 14 spósób zaciskania, prowadzi z pomocą

użytkownika programu do konformacji bliskiej minimalnej dla najbardziej skomplikowanego

z badanych węzłów - 6116 w czasie krótszym niż 5 minut, gdy wcześniej, na komputerze

klasy PC, trzeba było czekać na to godzinami. Dla mniej złożonych węzłów, do konformacji

zbliżonej do idealnej, dochodzi się w czasie jeszcze krótszym.

Idea BASONO opisana została w rozdziale 2 w paragrafie 2.2. Przypomnijmy, że aby

zacisnąć węzeł, prostuje się jego łuki, jakie tworzy lina w stanie luźnym (algorytm SONO).

Powoduje to skracanie liny. Dochodzi się wówczas częstokroć do konformacji nieidealnej, w

której łuków już się dalej prostować nie da (patrz rys. 2.7). Można wtedy uruchomić algo-

rytm BONO, który porozsuwa od siebie fragmenty liny, tworząc znowu konformację z łukami

do prostowania. W trakcie BASONO stosuje się na zmianę SONO i BONO w sposób au-

tomatyczny. Dodatkowo, dzięki zastosowaniu algorytmu Metropolisa-Hastingsa, zaciskanie

możemy rozpocząć od bardziej regularnej konformacji, gdy fragmenty liny wewnątrz skom-

plikowanych „guzłów” są już od siebie możliwie daleko oddalone (rys. 2.2 w paragrafie 2.2.4).

Przy zastosowaniu tych wszystkich zabiegów na zmianę, można znacząco skrócić czas

zaciskania skomplikowanego węzła do konformacji bliskiej idealnej względem czasu, jakie-

go potrzebował SONO z kilkunastu (czasem) godzin do jednej-dwóch godzin (a czasem do

kilkunastu minut). Przy czynnym zaangażowaniu użytkownika, który „raz po raz” reguluje

parametry algorytmu Metropolisa-Hastingsa (wybór sposobu oblicznia energii i temperaturę)

czas ten spada do godziny lub kilku-kilkunastu minut.

Okazuje się, że zastosowanie dodatkowego „wybiegu” może 15 zredukować czas zaciskania

dość skomplikowanych węzłów do konformacji bliskich idealnym najwyżej kilku minut. Istota

tego wybiegu została odkryta przypadkowo i związana była z wprowadzeniem do programu

możliwości płynnej regulacji ilości segmentów węzła (patrz rys. 5.3). Algorytm ten (jak i

proces skalowania węzła) zabezpieczony jest przed takim zwiększeniem długości segmentów,

utworzonych przez sfery modelujące linę, że grubość sfery jest mniejsza niż długość segmentu.

Inaczej mówiąc, sąsiednie sfery zawsze przynajmniej minimalnie się stykają (rys. 5.10).

Prawie każda zmiana ilości segmentów wskutek działania tego niedoskonałego algorytmu,

prowadzi do skracania węzła, co objaśnia rysunek 5.11.16.

Jak pokazano na rysunku 5.11, długość łamanej przy zmniejszaniu ilość sfer maleje, po-

dobnie przy zwiększaniu. W drugim wypadku otrzymujemy dodatkowo efekt wygładzenia

14W ostatnich dniach pisania pracy magisterskiej...15Przy obecności użytkownika programu na chwilę obecną, lecz zostanie to poprawione.16Nie stanie się tak tylko wtedy, gdy zwiększamy ilość segmentów całkowitą ilość razy)

76

Page 83: PracaMagisterska

Rysunek 5.10: Dwa obrazki fragmentów liny poluźnionego mocno węzła. Program nie zezwala na dowolneoddalenie sfer modelujących linę. Dwie sąsiednie sfery muszą zawsze pozostawać w kontakcie.

Rysunek 5.11: Zmiana ilość wierzchołków łamanej, po której, w wierzchołkach tych, rozstawione są środkisfer, modelujących linę. Stare położenia wierzchołków i łamana zaznaczone na czerwono a nowe na

niebiesko. Zaczynając w punkcie A, zwiększamy długość segmentów, przez co maleje ich ilość. Zaczynając wpunkcie B, zwiększamy ilość segmentów, zmniejszając ich długość. W obu wypadkach nowa łamana „ścina”

wierzchołki starej i wypadkowa długość łamanej maleje.

77

Page 84: PracaMagisterska

węzła, czym można, np., usunąć fragmenty, w których przekracza on lokalnie maksymalną

dozwoloną krzyiznę. Ponieważ algorytm ścina wierzchołki starej łamanej definiującej (wraz z

promieniem sfery) węzeł w programie i przesuwa je ku środkom łuków, po jego użyciu mogą

pojawić się przekrycia. Dla każdego przekrycia dwóch sfer, rozsuwa się wówczas ich środki,

wzdłuż odcinka łączącego te środki, na odległość większą niż podwojona długość promienia.

Tak „sztucznie” usunięte przekrycie może spowodować przekrycie z innymi sferami, więc

procedurę powtarza się aż do całkowitego wyeliminowania nachodzenia na siebie sfer (dla

bardzo wielu przekryć i mocno zaciśniętego węzła, nie zawsze jest to możliwe i wtedy pro-

gram, niestety, może się zawiesić). Wykorzystujemy tutaj więc efekt ścinania wierzchołków,

który doskonale działa wraz prostowaniem łuków SONO i wyginaniem BONO. Dodatkowo i

może to jest najważniejsze, zmniejszenie ilości sfer przyspiesza działanie wszystkich algoryt-

mów, bo komputer pracuje wtedy z mniejszą ilością danych. Jednocześnie, ponieważ sąsiednie

sfery zawsze się stykają a inne nie zbliżają się na odlełgość mniejszą wartość promienia (w

rzeczywistości przekrycia są bardzo małe, stanowią zaledwie ułamek promienia), typ węzła

jest zawsze zachowany. Nic nie szkodzi też, aby w dowolnym momencie symulacji, zatrzymać

ją, zaznaczyć dwa wybrane punkty i dokonać ręcznego gięcia, poprawiając do woli geome-

trię węzła. Dodatkowy, bardzo dobry efekt skracający linę, otrzymujemy, skalując co chwilę

nieznacznie węzeł, przy czym przekrycia po skalowaniu usuwa ten sam, opisany przed chwi-

lą, mechanizm. Otrzymujemy więc, dla małej ilości sfer, bardzo szybko konformacje węzłów

minimalne, lub bardzo do nich zbliżone, które są nadal tymi samymi węzłami, choć pozornie

wyglądają jak bezładna masa kulek. Następnie stopniowo zwiększamy tę ilość, uzyskując

węzły „porządnie” wyglądające. Etapy działania algorytmu dla węzła 6116 pokazuje rysunek

5.12.

Przy pomocy opisanych metod, które wszystkie razem nazywam tutaj BASONO, w ciągu

kilkunastu minut „zabawy” i dalszych kilku minutach pozostawionych domowemu kompu-

terowi na „dokończenie sprawy”, udało się autorowi pracy uzyskać konformację węzła 6116

o długości około 170.055 przy 692 segmentach. Najlepszy dotąd wynik dla SONO.SP, po

kilkunastu godzinach działania procesora na domowym komputerze i dla 680 segmentów17,

wynosił około 170.502, ale, jak się okazuje, była to konformacja minimalna lokalnie. Istnie-

je bowiem konformacja mocniej zaciśnięta, która różni się wyraźnie od poprzedniej wersji

znacznie mniejszą symetrią. Oba węzły, w porównaniu, pokazuje rysunek 5.13.

17Statystycznie im mniej segmentów, tym łatwiej wykorzystać segmentację modelu liny w celu jej skrócenia.Lina stworzona ze sfer o promieniu r ma mniejszą objętość niż „pełna” lina idealna o tym samym promieniu.

78

Page 85: PracaMagisterska

Rysunek 5.12: Mechanizmy BASONO w akcji: A) zaczynamy od jakiejś „brzydkiej” konformacji węzła 6116o długości około 550, B) stosujemy automatycznie na zmianę SONO/BONO, efekt - po kilku sekundachdługość węzła spada do około 270; na tym etapie wybieramy też (kliknięcia myszą) dwa punkty (jasno- iciemnobłękitny przy górnej pętli) i prowadzimy przez nie oś gięcia, C) wygięliśmy węzeł względemuprzednio manualnie zdefiniowanej osi, punkty gięcia dostały nieco czerwonego „barwnika”, co oznaczaprzekroczenie krzywizny, ale nie przejmujemy się tym - wierzchołki i tak zostaną ścięte, a łuki -

wyprostowane, D) węzeł ten jest efektem działania jednocześnie BONO, SONO i algorytmu zmniejszaniailości segmentów, jego długość jest teraz mniejsza niż 170, ilość segmentów - bliska minimalnej, E) znówwybieramy dwa punkty i gniemy względem osi, która przez nie przechodzi, w celu dowolnej modyfikacjigeometrii węzła, F) na tym etapie zaczynamy stopniowo skalować węzeł, wielokrotnie o 1% w dół, staleprzy włączonych algorytmach BONO i SONO, działających automatycznie, G) doszliśmy do długości około164; przy tak małej ilości segmentów, która teraz jest minimalna, nie jest to nic nadzwyczajnego, H)

skalowanie o 1% w dół przy wyłączonych innych algorytmach automatycznie ujawnia, że węzeł znajduje sięw konformacji, w której jest bardzo niewiele miejsca na ruch - ciemnoczerwony kolor oznacza przekrycia, I)użycie algorytmu BONO rozsuwa przekrycia automatycznie, taki sam efekt daje regulacja ilości segmentów,J) efekt kilkukrotnego skalowanie węzła w dół przy działających innych algorytmach; węzeł dodatkowoobrócono, żeby obejrzeć go z innej strony i dodano mu nieco segmentów, jego długość wzrosła do około 168,K) zaczynamy teraz znacznie zwiększać ilość segmentów - z nieco bezkształtnej bryły zaczyna wyłaniać sięstruktura zaciśniętego węzła o długości około 172, wartość ta wzrasta przy zwiększaniu ilości segmentów;wszystkie algorytmy są stale aż do końca, włączone, aby bez przerwy szukać lokalnych minimów długości,L),M),N) - trzy różne widoki osiągniętego efektu; ilość segmentów zwiększyliśmy do ostatecznej wartościokoło 800, długość wynosi mniej-więcej 173.7, gdy minimalna osiągnięta dla tego węzła - 170.06 (porównajrys. 5.13); wszystkie te czynności razem wzięte, gdy nabierze się nieco wprawy, mogą zająć na domowym

komputerze - dosłownie - 2 minuty.

79

Page 86: PracaMagisterska

Rysunek 5.13: Przy użyciu BASONO i obserwacji wizualizacji wyników jego działania, oraz po chwili„zabawy” parametrami algorytmów, uzyskuje się konformacje mocniej zaciśnięte, niż te, do których

prowadzi sam algorytm SONO po wielu godzinach samotnej pracy procesora. Seria rysunków przedstawiaten sam węzeł gordyjski 6116 zaciśnięty przy pomocy SONO (trzy górne widoki) oraz BASONO (trzy dolnewidoki). Pierwszy węzeł reprezentowany jest przy użyciu 680 segmentów i znajduje się w lokalnym minimumdługości - około 170.502. Drugi składa się z 692 segmentów i osiągnął długość 170.055 (patrz przypis nr 17w tym paragrafie). Wątpliwym jest jednak, by było to minimum globalne długości tego węzła gordyjskiego,

gdyż osiągnięto je w ciągu zaledwie kilkunastu minut. Widać wyraźne różnice pomiędzy obiemakonformacjami. Ciekawe jest to, że krótszą okazuje się ta z nich, która ma widocznie mniejszą symetrię.

80

Page 87: PracaMagisterska

Rozdział 6

Spontaniczne rozplątywanie

węzłów gordyjskich - wyniki

Rozdział ten prezentuje wyniki setek godzin symulacji przeprowadzonych głównie na domo-

wym komputerze klasy PC z procesorem 32-bitowym Intel Celereon M z zegarem 1.46MHz

oraz 1MB pamięci podręcznej (cache). Pokazano istotne szczegóły procesu rozplątywania i

przybliżone zależności czasów rozplątywania od wydłużeń węzłów z konformacji idealnych dla

czterech wybranych konformacji gordyjskich o arbitralnie dobranych ilościach segmentów. W

związku z tym krótkim wstępem, kilka spraw wymaga uściślenia:

• Po pierwsze ustalenie rzeczywiście minimalnych, czyli idealnych, konformacji węzłówgordyjskich, z dokładnością co do ułamków procent wartości początkowych, pozostaje

kwestią otwartą (patrz paragraf 5.6, rysunek 5.13). Dlatego autor zaznacza, że długości

minimalne dla podanych konformacji prawdopodobnie nie są ostateczne, a stanowią

jedynie wartości przybliżone z niepewnością rzędu grubości liny 1.

• Autor przyjmuje, że ilość segmentów, modelujących linę węzła, ma niewielki wpływ naproces jego rozplątywania dopóty, dopóki ilość tych segmentów nie zbliża się do ilości

minimalnej (przy której sfery ledwie się stykają). Inaczej mówiąc - zakłada się, że dys-

kretny model liny dobrze oddaje jej rzeczywiste zachowanie się. Uzasadnia się to tym,

że choć ilość możliwych nierównoważnych przedziałów gięć, jakie można wydzielić w

linie węzła jest skończona i dana liczbą całkowitą1, to jednak kąty gięcia są określone

1Wartość tej liczby to suma wszystkich par punktów gięcia, jakie można utworzyć, pomniejszona o liczbę

par o sąsiednich indeksach. Wynosi więc ona tyle ile liczba przekątnych wielokąta o n kątach:n · (n− 1)2

.

81

Page 88: PracaMagisterska

na przedziale ciągłym (z dokładnością numeryczną, która jest w pełni wystarczają-

ca). Stąd przestrzeń stanów węzła można również uznać za ciągłą, jak w przypadku

prawdziwej liny. Należy jedynie pamiętać, że segmentowość liny ma wpływ na średnią

grubość węzła. W konformacjach zbliżonych do idealnych, segmentowość ta wpływa

więc znacznie na parametr względnego wydłużenia z konformacji idealnej. Wyniki bo-

wiem uznajemy za niezmiennicze względem węzłów, w których równomiernie (razy tę

samą wartość różną od zera) przeskalowano zarówno grubość liny idealnej d i wektory

jej punktów (stąd i długość l).

• Czas potrzebny na rozplątanie węzła nie jest jednoznacznie zdefiniowaną wielkościąfizyczną. Rozumie się tu go jako ilość udanych gięć o kąt z przedziału 〈−αmax, αmax〉,jakie należało wykonać od początku symulacji do momentu, który uznaje się za rozplą-

tanie węzła (co wymaga dalszego uściślenia w następnm punkcie). Ilość tych gięć jest,

w zasadzie, losowa - zależy od stanu początkowego węzła i od konkretnych wartości

wszystkich pseudolosowych zmiennych, generowanych na potrzeby symulacji. Istnieje

jednak oczywista zależność: wraz ze skracaniem węzła ku konformacji idealnej, średnia

ilość gięć rozplątujących go szybko rośnie.

• Proces rozplątywania wszystkich węzłów składa się z dwóch etapów, znacznie różnią-cych się czasem trwania (ilością udanych gięć). Pierwszy etap, to przejście jednej z

dwóch pętli węzła, zarzuconej na któryś z dwóch „guzłów” na drugą stronę. W inte-

resujących przypadkach, gdy rozplątanie węzła jest stodunkowo trudne, etap ten zwią-

zany jest z czasem trwania, z reguły, kilka (1-3) rzędów wielkości dłuższym niż etap

późniejszy. W tym następnym etapie węzeł rozplątuje się już całkowicie do konforma-

cji pojedynczej pętli (trywialnej). Czas rozplątania węzła rozumie się więc jako ilość

gięć tego pierwszego etapu, ponieważ ona to silnie zależy od wydłużenia węzła. Osobno

bada się zależność trwania rozplątywania drugiego etapu, która jest znacznie słabiej

zależna od małych wydłużeń wzlędnych z konformacji idealnych.

Najdokładniej pokazane zostały proces rozplątywania węzłów typu 3113. Wymienione

zostały przy okazji charakterystyczne własności tych procesów. Uwagi te w znacznej mie-

rze dotyczą również procesów rozplątywania innych węzłów. Dlatego reszta z nich zostanie

omówiona bardzo skrótowo z naciskiem na różnice względem węzłów typu 3113.

6.1 Węzły w konformacji 3113

Rozplątywanie węzłów gordyjskich w konformacji 3113 zostało zbadane najbardziej szcze-

gółowo. Węzły te mają wśród badanych najprostszą strukturę i najszybciej się rozplątują.

82

Page 89: PracaMagisterska

Rysunek 6.1: Sposób poprowadzenie liny badanych węzłów gordyjskich (3113)A oraz (3113)B .

Tworzy się je zasadniczo z węzła trywialnego, wiążąc węzeł trójlistny z „podwójnej” liny i za-

rzucając na niego pętlę (patrz rysunek 1.4). Omówione zostaną dwa podtypy węzła typu 3113,

nazywane tutaj (3113)A oraz (3113)B , a różniące się szczegółami w kwestii poprowadzenia

liny, które widać na rysunku 6.1.

Pierwszy z nich (3113)A jest o tyle ciekawy, że przy stosunkowo szczegółowej reprezentacji

(n = 584 segmentów), udało się go rozplątać w sposób całkowicie spontaniczny z konformacji

wydłużonej o zaledwie około 2.49% (względem konformacji o minimalnej uzyskanej długo-

ści).2 Proces tego rozplątywania opatrzony został serią ilustracji i można go traktować jako

modelowy dla wszystkich węzłów gordyjskich zaplątywanych w opisany w pierwszym roz-

dziale (patrz rysunek 1.4) sposób. Dodatkowo pokazano histogramy dla tego samegu typu

węzłów ale o roznych długościach stworzone dla parametrów 0.5mln udanych gięć.

Drugi typ węzła - (3113)B wyróżniono, ponieważ najprawdopodobniej ustalono wąski

przedział, w którym znajduje się dolna granica jego możliwości rozplątania, co wzkazywałoby,

że zależność ta jest progowa. Szczegóły znajdują się w dwóch następujących paragrafach tego

rozdziału.2Była to jedna z najdłuższych (a prawdopodobnie najdłuższa) symulacja, trwająca 200-300 godzin pracy

procesora wspomnianego we wstępie do rozdziału.

83

Page 90: PracaMagisterska

Rysunek 6.2: Początkowa konformacja węzła gordyjskiego (3113)A o 584 segmentach, wydłużonego zkonformacji idealnej o około 2.49% do długości 106.595.

6.1.1 Konformacja A

Rysunek 6.2 przedstawia początkową konformację węzła (3113)A o długości 106.59 i n =

584 segmentach. Minimalna długość, jaką udało się dla tego węzła i tylu segmetów uzyskać

wyniosła około 104, a więc wspomniany rysunek nie różni się w sposób łatwy do zauważenia

od wersji dla węzła maksymalnie zaciśniętego. Serie obrazków na rysunkach 6.3 oraz 6.4

pokazuje udany proces rozplątywania tego węzła. Obrazki mówią same za siebie, ale dla

jasności zostały opatrzone dodatkowym komentarzem.

Następne cztery rysunki: 6.5, 6.6, 6.7 oraz 6.8 to porównanie histogramów parametrów

udanych gięć dla węzłów typu (3113)A o czterech różnych długościach: około 106.6, 110.4,

117, 130 oraz 147. Warto porównać je jeszcze z rysunkami 5.6, 5.7, 5.8 oraz 5.9 (paragraf

5.5) histogramów dla najkrótszej rozplątanej wersji tego węzła (długość około 106.59), któ-

re omówiono obszerniej i z osobna w przypisach do ilustracji. Podobnie w przypisach do

przedstawionych serii histogramów znajduje się omówienie widocznych zależności - struktur

histogramów od długości węzłów.

Wykresy na rysunku 6.9 pokazują zależność czasów rozplątywania węzłów od ich długości

oraz od względnego wydłużenia z konformacji o długości zbliżonej do minimalnej. W obu

przypadkach skala osi pionowej jest logarytmiczna. Czas rozplątywania mierzony jest ilością

udanych gięć. Pokazane są wykresy dla obu etapów rozplątywania - przed (rysunek 6.9) i po

(rysunek 6.10) przejściu pętli na drugą stronę „guzła”. W przypisach do ilustracji znajdują

się stosowne komentarze.

84

Page 91: PracaMagisterska

Rysunek 6.3: Historia w obrazkach pierwszego etapu rozplątywania węzła (3113)A o n = 584 segmentach idługości l = 106.595 (wydłużenie o około 2, 49% względem konformacji o minimalnej uzyskanej długości).Każda klatka historii ukazuje ten sam moment w dwóch widokach dla „kamer” patrzących z obu

przeciwległych stron węzła. Liczba przy klatce (pomiędzy dwoma widokami) oznacza miliony udanych gięć,jakie węzeł ma za sobą. Całkowite zsunięcie się pętli z dolnej części węzła nastąpiło w ciągu 500 tys.udanych gięć, następujących po ostatniej klatce. Ten końcowy proces zsuwania się pętli można zawsze

szybko odtworzyć. Jego szczegóły pokazuje rys. 6.4.

85

Page 92: PracaMagisterska

Rysunek 6.4: Drugi etap rozplątywania węzła z rys. 6.3. Liczba przy każdym obrazku ponownie oznaczamiliony udanych gięć, jakie węzeł ma za sobą. Historia zaczyna się 500 tys. (+0.08 mln = 80 tys.) udanychgięć po ostatnim obrazku z rys. 6.3 i w porównaniu do etapu pierwszego jest znacznie bardziej „burzliwa”.Gdy tylko pętla zsunie się z „guzła”, uwolniony fragment liny uzyskuje dużą swobodę i stopniowo wsuwa siędo wewnątrz węzła, podczas gdy w „guźle” tym zwiększają się stopniowo odległości między fragmentamiliny. Następuje poluźnienie i dalej - całkowite rozplątanie tej poluźnionej części węzła. Przez ten czas drugaczęść węzła, uzyskując nieco wolnej liny, również zaczyna się poluźniać, by w końcu podzielić losy pierwszej.Następuje całkowite rozplątanie węzła gordyjskiego do konformacji w sposób oczywisty trywialnej.

Proporcje na całym rysunku nie są zachowane (ale autor starał się je zachować dla możliwie długich seriikolejnych obrazków).

86

Page 93: PracaMagisterska

Rysunek 6.5: Histogramy zliczeń dla punktów ik, przez które przechodzi oś gięcia dla opisywanego w tymparagrafie węzła. Na osi poziomej numery wszystkich indeksów ik, na osi pionowej - ilości zliczeń. Środekwęzła przypada w okolicach ik = 116 oraz ik = 408. Każdy z histogramów opatrzony jest oznaczeniemdługości węzła l. Widać dobrze, że wraz z poluźnianiem węzła, histogramy „rozmazują” się i stopniowoznika silna zależność prawdopodobieństwa powodzenia gięcia od wyboru pierwszego punktu jego osi

(danego indeksem k-tego gięcia ik). Jednocześnie wzrasta częstotliwość udanych gięć dla osi przechodzącejprzez środek węzła (względem innych przedziałów ik), czego należałoby się spodziewać. Histogramy

wykonano dla 500 tys. gięć z rozkładem naturalnym.

87

Page 94: PracaMagisterska

Rysunek 6.6: Histogramy zliczeń w przedziałach pk dla opisywanego w tym paragrafie węzła. Na osipoziomej - szerokości przedziałów pk, przy których udały się gięcia. Na osi pionowej - ilości zliczonychudanych gięć dla tych przedziałów. Każdy z histogramów opatrzony jest oznaczeniem długości węzła l.Wraz z jej wzrostem histogramy wygładzają się, bo coraz częściej udają się gięcia o dużym pk. Widać, żeilość względna ilość zliczeń dla najmniejszych pk spada w najdłuższym węźle o rząd wielkości względemwęzła najkrótszego. A więc gięcia o małym pk mają wraz ze wzrostem l malejący wkład do wszystkichudanych gięć. Należy zwrócić uwagę, że skala osi pionowej pierwszego wykresu obejmuje jeden rząd

wielkości więcej. Histogramy wykonano dla 500 tys. gięć z rozkładem naturalnym.

88

Page 95: PracaMagisterska

Rysunek 6.7: Histogramy zliczeń w przedziałach αk dla opisywanego w tym paragrafie węzła. Na osipoziomej - zakresy kątów αk przy których udały się gięcia, na osi pionowej - ilości udanych gięć dla tychzakresów. Granice histogramów wyznaczone są przez ±αmax i rozmywają się wraz ze wzrostem długościwęzła, gdyż jego geometria może ulegać większym zmianom, niż dla węzłów ciaśniejszych. Wartość αmax,jak się okazuje, maleje wraz ze wzrostem poluźnienia węzła. Oznacza to, że mimo, iż liny jest więcej, średnipromień maksymalny węzła zmniejsza się. Jest to interesujący wynik, wskazujący na to, że węzeł podczasfluktuacji dąży do zajmowania jak największej objętości. Dlaczego? Maksymalną objętość przy ustalonychwymiarach liniowych uzyskuje kula i zależność od tych wymiarów jest sześcienna. Tymczasem objętość liny

wzrasta wraz z jej długością tylko liniowo. Węzeł „stara się” zmaksymalizować objętość zajmującstatystycznie przestrzeń, która dąży do symetrii sferycznej, przez co wyraźnie zmniejsza swoje średniemaksymalne wymiary liniowe. Histogramy wykonano dla 500 tys. gięć z rozkładem naturalnym.

89

Page 96: PracaMagisterska

Rysunek 6.8: Histogram zliczeń dla zmian Zk węzła, opisywanego w tym paragrafie. Na osi poziomej -zakresy Zk przy których udały się gięcia, na osi pionowej - ilości udanych gięć dla tych zakresów. Skalepionowe są niewspółmierne, ponieważ na histogramach zmieniają się zarówno skale osi poziomej jak iszerokości przedziałów Zk. Struktura schodkowa wykresów (patrz przypis do rys. 5.9) jest jeszcze dośćwyraźnie widoczna na trzecim z nich. Można jednak zauważyć, jak stopniowo znika wraz ze wzrostemdługości węzła, gdyż, z uwagi na więcej swobody w węźle poluźnionym, względny wkład do Zk gięć omałym pk silnie maleje. Znacznie częściej udają się gięcia o większe kąty oraz dla dłuższych fragmentówliny (co jest jednoznaczne z większym średnim pk dla udanego gięcia). Histogramy wykonano dla 500 tys.gięć z rozkładem naturalnym. Szerokości dobrano tak, że na każdym z wykresów znajduje się około 95%

wszystkich zliczeń.

90

Page 97: PracaMagisterska

Rysunek 6.9: Pierwszy etap rozplątywania węzła. Zależność ilości gięć od długości węzła (pierwszy wykres)oraz od jego względnego wydłużenia z konformacji bliskiej idealnej o długości około 104 (wykres drugi).Widać, że przy zbliżaniu się do konformacji maksymalnie zaciśniętej, ilość gięć rośnie szybciej niżwykładniczo. Jest to przesłanka na korzyść hipotezy, że istnieje taka niezerowa wartość względnego

wydłużenia, poniżej której węzeł nie rozplącze się.

91

Page 98: PracaMagisterska

Rysunek 6.10: Drugi etap rozplątywania węzła - po zsunięciu się pętli. Zależność ilości gięć do czasucałkowitego rozplątania od długości węzła (pierwszy wykres) oraz (wykres drugi) od jego względnegowydłużenia z konformacji bliskiej idealnej o długości około 104 . Zależność jest mniej regularna niż napoprzednich wykresach (rys. 6.9) z uwagi na duży nieporządek tego procesu (patrz rys. 6.3). Widać jednakwyraźny wzrost ilości niezbędnych do rozplątania gięć, wraz ze spadkiem względnego wydłużenia. Jakwskazują dalsze wyniki dla innych węzłów, prawdopodobnie wzrost ten dotyczy tylko bardzo niewielkichwydłużeń i związany jest tym, że szybkość rozluźniania się węzła po pierwszym etapie zależy silnie od

stopnia tego poluźnienia.

92

Page 99: PracaMagisterska

Rysunek 6.11: Początkowa konformacja węzła (3113)B o długości 106.4. Minimalna uzyskana dla tego węzładługość wynosi około 105, a długości dwóch opisanych w tym paragrafie węzłów - 106.4 oraz 105.74. Ze

wzlędu na te niewielkie różnice, ilustracja jest reprezentatywna dla obu z nich.

6.1.2 Konformacja B

Następujące plansze i pokazują w skrócie proces rozplątywania węzła (3113)B o 300 segmen-

tach. Przy tej ilości segmentów najkrótsza uzyskana wersja miała l ≈ 105. Gdy jego długośćwynosiła około 106.4, udało się go rozplątać po około 500 · 106 gięciach (rysunek 6.12). Gdydługość ta zmalała do około 105.74, czyli o zaledwie około 0.63%, nie udało się tego wę-

zła rozplątać podczas 2 · 109 gięć. Na podstawie przebiegu drugiej symulacji, autor pracypodejrzewa, że węzeł (3113)B przy wydłużeniu 105.74 nie rozplącze się z tak uzyskanej kon-

formacji. Uzasadnienie tej hipotezy znajduje się w przypisie pod rysunkiem 6.13, a rysunek

6.11 ukazuje węzeł (3113)B w konformacji maksymalnie zaciśniętej.

6.2 Węzły w konformacji 5115

Na rysunku 6.14 ukazano przebieg liny węzła 5115 oraz jego ciasną konformację. Minimalna

osiągnięta dla tego węzła długość wynosi około 145. Rysunek 6.15 pokazuje zależność długości

trwania pierwszego etapu rozplątywania od długości węzła.

93

Page 100: PracaMagisterska

Rysunek 6.12: Proces rozplątywania węzła (3113)B o długości około 106.4. Liczby pod obrazkami dotycząodpowiednich węzłów i oznaczają ilość gięć w milionach, jakie węzeł ma za sobą. Ostatnie dwie „klatki” są

oddalone o bardzo małą liczbę gięć, więc dotyczy ich ta sama liczba.

6.3 Węzły w konformacji 6116

Węzeł omawianego typu pokazano już w pracy kilkukrotnie (patrz rysunki: 4, 5.13). Pokazany

zostanie jeszcze tylko przebieg jego liny na ilustracji 6.16. Jak widać z tych rysunków ma

on najbardziej złożoną ze wszystkich węzłów strukturę. Jest też najbardziej „oporny” pod

względem rozplątywania się. Pokazują to wykresy z rysunków 6.17 oraz 6.18. Minimalna

osiągnięta długość dla węzła tego typu wynosi około 170.

94

Page 101: PracaMagisterska

Rysunek 6.13: Proces (nie)rozplątywania węzła (3113)B o długości około 105.74. Liczby przy obrazkachdotyczą odpowiednich węzłów i oznaczają ilość gięć w milionach, jakie węzeł ma za sobą. Czerwonym

okręgiem autor zaznaczył (po dokładnym obejrzeniu węzła z każdej strony) miejsce, gdzieprawpodobieństwo zsunięcia się pętli wygląda na największe. Zwórćmy jednak uwagę na ruchy węzła i„licznik czasu”. Od setnego miliona gięć prawie nic się nie dzieje. Wygląda na to, że węzeł trafił w jakieśminimum (lokalne lub globalne - nie wiadomo) i przebywa w nim 20 razy dłużej niż trwała „podróż” dotego stanu z konformacji początkowej. Wskazuje to wyraźnie na możliwość, lecz nie daje pewności, żeprzekroczono próg długości węzła, przy którym może nastąpić jego spontaniczne rozplątanie.

95

Page 102: PracaMagisterska

Rysunek 6.14: Układ liny luźnego węzła 5115.

96

Page 103: PracaMagisterska

Rysunek 6.15: Zależność długości czasu rozplątywania węzła 5115 od długości liny.

97

Page 104: PracaMagisterska

Rysunek 6.16: Układ liny luźnego węzła 6116.

98

Page 105: PracaMagisterska

Rysunek 6.17: Zależność długości czasu rozplątywania węzła 6116 od długości liny. Widać, że jest onabardziej przypadkowa niż dla prostszych typów węzłów gordyjskich. Oczywiście spełniona jest zależność, żeczas rozplątywania rośnie, gdy maleje długość węzła. Proszę zwrócić uwagę, że węzeł potrzebuje około300mln. gięć, aby rozplątać się z konformacji o wydłużeniu względnym (aż) 60%. Krótka dyskusja tego

wyniku znajduje się w ostatnim rozdziale podsumowującym wyniki symulacji.

99

Page 106: PracaMagisterska

Rysunek 6.18: Zależność długości czasu rozplątywania węzła 6116 od długości liny w drugim etapie, pozsunięciu pętli. Przy tak dużym wydłużeniu względnym, zmiana tego wydłużenia nie ma widocznegowpływu na prawdopodobieństwo rozplątania węzła w określonym czasie. Zależność jest, w zasadzie

przypadkowa. Jednocześnie z wykresów na 6.17 widać, że długość trwania pierwszego etapu silnie zależy oddługości węzła.

100

Page 107: PracaMagisterska

Rozdział 7

Istotne wnioski płynące z pracy,

podsumowanie

Celem pracy było zbadanie procesu rozplątywania węzłów gordyjskich i sprawdzenie, czy kon-

formacje gordyjskie, jeśli je poluźnić, przechodzą wskutek fluktuacji do postaci trywialnych.

Następnym celem było ustalenie, o jakie wartości należy wydłużyć konformacje gordyjskie,

aby przeszły spontanicznie do postaci trywialnych.

Pierwszy cel zakończył się sukcesem. Jak należało się tego spodziewać - węzły gordyjskie,

wskutek błądzenia losowego po swej przestrzeni stanów, rozplątują się w sposób spontaniczny.

Zbadano dość szczegółowo konformację węzła gordyjskiego (3113)A, i udało się przeprowadzić

symulację, w której wydłużony o zaledwie około 2.5% ze swej postaci maksymalnie zaciśniętej

węzeł rozplątuje się jedynie wskutek fluktuacji. Analiza wyników pokazuje, że przejście pętli

węzła na drugą stronę „guzła” (zaplątanego zgrubienia liny) jest przełomowym momentem

procesu rozplątywania węzłów i można je określić mianem swoistego „przejścia fazowego”,

po którym następuje wyraźna zmiana charakterystycznych cech procesu rozplątywania. Roz-

plątywanie węzłów gordyjskich badanego typu można więc podzielić na dwa etapy - przed

i po przejściu pętli. Pierwszy etap może trwać tysiące razy dłużej niż drugi, gdzie czas jest

mierzony ilością losowych gięć węzła.

Dzięki histogramom sporządzonym dla parametrów udanych gięć węzłów podczas pierw-

szego - dłuższego - etapu rozplątywania, określono dość dobrze charakterystyki procesu wie-

lokrotnych gięć i ich zależności od długości węzła. Ciekawym spostrzeżniem dla przebadanych

węzłów i godnym dalszego badania jest wyraźna ujemna zależność maksymalnych liniowych

wymiarów węzła od wydłużenia liny (obserwowana pośrednio - z histogramów dla kątów

udanych gięć, których granice ustalane są w każdym kroku symulacji węzła na podstawie

101

Page 108: PracaMagisterska

jego maksymalnych wymiarów). Widać wyraźnie, że przy wydłużaniu liny, maksymalne i

średnie liniowe wymiary węzła maleją, względem konformacji o krótszej linie (oczywiście

tylko jeśli węzeł nie rozplącze się w tym czasie). Hipotezą dobrze tłumaczącą ten pozorny

paradoks, jest ta o dążeniu węzła wskutek fluktuacji do zajmowania statystycznie jak naj-

większej przestrzeni. W konformacjach ciasnych, objętość zajmowana przez linę jest mniejsza

niż w luźnych ale wskutek specyfiki zaciśniętych węzłów, przyjmują one z reguły kształt, w

którym największe z wymiarów są około dwa razy większe niż wymiary najmniejsze (węzeł

badanego typu dzieli się na dwie symetryczne części rozstawione wzdłuż jednej osi i w tym

kierunku jego wymiar jest z reguły około 2 razy większa niż grubość mierzona w poprzek

tych symetrycznych części). Hipoteza ta tłumaczyć może trudność rozplątania mocno (nawet

60%) poluźnionych konformacji bardziej złożonych węzłów typu 6116. Każda z części węzła

dąży do zmaksymalizowania zajmowanej przestrzeni i dlatego prawdopodobieństwo, że pętla

przeskoczy na drugą stronę jest relatywnie małe.

Jeśli chodzi o drugi cel - odnalezienie wartości progowych, przy których węzły przesta-

ją się rozplątywać, autor musi przyznać, że w sposób jednoznaczny nie udało mu się dla

badanych węzłów określić, czy takie wartości występują. Wynika to czasu trwania symula-

cji dla ciasnych węzłów. Poza tym, z uwagi na losowy charakter procesów, niezależnie od

czasów ich trwania, nigdy nie ma pewności, czy węzły się zaraz nie rozplączą. Pokazano jed-

nak jedną konformację - (3113)B - co do której podejrzewa się, że nie rozplącze się wcale

oraz konformację o około 0.63%, która się rozplątała. Autor podejrzewa, że w tej kwestii

dobrym podejściem mogłaby być ścisła analiza matematyczna, jeśli w ogóle jest możliwa.

Pokazana została natomiast silna zależność czasu rozplątywania węzłów gordyjskich od ich

długości. Czas rozplątywania węzłów rośnie szybciej niż wykładniczo, wraz z liniowym spad-

kiem względnego wydłużenia z konformacji bliskich idealnym. Mogłoby to wskazywać, że

rozplątanie węzłów poniżej pewnego progu długości nie jest możliwe, a na pewno jest bardzo

mało prawdopodobne. Nie dotyczy to drugiego etapu, gdzie w przypadku dużych wydłużeń

wzlędnych, czas całkowitego rozplątania prawie nie zależy od długości liny.

Poza celami głównymi pracy, udało się (przypadkowo) uzyskać pożyteczny efekt uboczny

- opracowanie (stosunkowo do poprzednich) bardzo efektywnego czasowo algorytmu zaci-

skającego węzły dowolnych typów, skracającego czas ich zaciskania o 2 - 3 rzędy wielkości

względem dotychczasowych algorytmów zaciskania idających w krótkim czasie lepsze wyniki

(węzły o krótszej linie).

102

Page 109: PracaMagisterska

Bibliografia:

1. B. Skalmierski, Mechanika, PWN, Warszawa 1999

2. S. Przybył, Poszukiwanie węzłów idealnych i ich własności, Poznań 2001

3. P.Pierański, S. Przybył, A. Stasiak, Gordian Unknots, preprint

4. P.G. Tait, On Knots I. Trans. Roy Soc. Edinburgh 28, 145-190 (1876-7), pierwsza z

trzech oryginalnych prac Taita poświęconych klasyfikacji węzłów, dostępna pod adre-

sem:

www.maths.ed.ac.uk/˜ aar/knots/knotsi.pdf.

5. P.G. Tait, On Knots II. Trans. Roy Soc. Edinburgh 32, 327-342 (1883-4), druga praca

Taita poświęcona klasyfikacji węzłów, pełny tekst dostępny pod adresem:

www.maths.ed.ac.uk/˜ aar/knots/knotsii.pdf.

6. P.G. Tait, On Knots III. Trans. Roy Soc. Edinburgh 32, 493-506 (1884-5), trzecia praca

Taita, dostępna pod adresem:

www.maths.ed.ac.uk/˜ aar/knots/knotsiii.pdf.

7. V.F.R. Jones, The Jones Polynomial, 2005, praca poświęcona wielomianom Jonesa,

autorstwa ich odkrywcy, dostępna pod adresem internetowym:

math.berkeley.edu/˜ vfr/jones.pdf

103