From: Martin Mares Date: Wed, 25 Apr 2007 18:13:22 +0000 (+0200) Subject: Pridana druha prednaska, nulta verze. X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=2b7c240d025b4d640de73cf1e72e6bbaa632348f;p=ads1.git Pridana druha prednaska, nulta verze. --- diff --git a/2-rozdel/2-rozdel.tex b/2-rozdel/2-rozdel.tex new file mode 100644 index 0000000..d72b13f --- /dev/null +++ b/2-rozdel/2-rozdel.tex @@ -0,0 +1,330 @@ +\input ../lecnotes.tex + +\prednaska{2}{Rozdìl a panuj}{(zapsali J. Záloha a P. Ba¹ista)} + +\s{O èem bude dne¹ní pøedná¹ka?} Pøevá¾nì o metodì Rozdìl a panuj (\>{\sl Divide et Impera}) + +\noindent +Pro porovnávání algoritmù si musíme zavést nìjaké kritérium. Vìt¹inou se zajímáme o èas a pamìt, které spotøebují pro svùj bìh. Proto, abychom v¹ak mohli takto algoritmy porovnávat bez ohledu na prostøedí, stroj a podobné vìci, zavádíme takzvanou $O$ notaci. + +\s{Definice:} Pøedpokládejme, ¾e funkce, které porovnávame jsou dle následujícího pøedpisu: + +$f:{N} \rightarrow {R}^{+}$ + +\noindent +Potom øekneme, ¾e$ f(n) $ je $ O(g(n))$ právì tehdy kdy¾ existuje nìjaké $c>0: \forall ^{*} n \in {N}: f(n) \leq c.g(n)$ + +\>{\sl Poznámka:} $ \forall ^{*} n$ znamená $\exists n_{0}: \forall n \geq n_{0} :$. Nebo je¹tì jinak: výrok platí pro v¹echna $n$ a¾ na koneèný poèet vyjímek. Tato definice tedy øíká, ¾e funkci $f(n)$ je mo¾né ohranièit shora nìjakým reálným násobkem funkce $g(n)$ pro $\forall n \in N$. Èasto zapisujeme $f(n)=O(g(n))$ - jedná se o za¾itou vìc, ale uvìdomme si v¹ak, ¾e tento zápis neoznaèuje rovnost! (proto¾e platí napøíklad $\log{n}=O(n)$ ale neplatí $n=O(\log{n})$ To znamená, ¾e neplatí symetrie, odtud vyplývá, ¾e nemù¾e jít o rovnost). Ale: "Je to èuòaèina." Formálnì jde o nìjakou mno¾inu nebo tøídu funkcí $f(n)$, pro které platí, ¾e se dají shora ohranièit kladným reálným násobkem funkce $g(n)$. A potom pí¹eme $f \in O(g)$. + +napøíklad: + +$$ +2,5n^{2} \dots O(n^{2}) +$$ +$$ +2,5n^{2}+30n \dots O(n^{2}) +$$ + +Platí: + +$$ +O(f)+O(g)=O(f+g) +$$ + +proto¾e: + +$$ +f^{\prime} \leq c.f +$$ +$$ +g^{\prime} \leq d.g +$$ +$$ +f^{\prime} + g^{\prime} \leq c.f+d.g \leq (c+d).(f+g) +$$ + +\noindent +A zde vidíme, ¾e $(c+d)$ se schová do $O$. Naprosto stejnì se doká¾e odobný vztah také pro násobení: + +$$ +O(f).O(g)=O(f.g) +$$ + +Rovnì¾ platí: + +$$ +O(f+g)=O(max(f,g)) +$$ + +\noindent +nebot libovolný $n$-násobek funkce s exponentem $k$ je v¾dy asymmptoticky men¹í ne¾ $n$ násobek funkce s exponentem $l>k$. +To nám umo¾nuje zanedbávat pomaleji rostoucí èleny: + +$$ +O(n^{2})+O(n)=O(n^{2}+n)=O(n^{2}) +$$ + +\noindent +$O$ notace v¹ak popisuje nejhor¹í pøípad. U nìkterých algoritmù nejhor¹í, nejlep¹í a tudí¾ i prùmìrný pøípad splývají. Je ale mnoho algoritmù, které se v tìchto parametrech diametrálnì li¹í, proto zavádíme dal¹í notace. + + +\s{Definice:} + +\itemize\ibull +\:$f(n)$ je $\Omega(g(n)) \Longleftrightarrow \exists c>0: \forall ^{*} n \in {N}: f(n) \geq c.g(n)$ +$\Omega$ notace øíká, ¾e algoritmus se v¾dy chová stejnì èi lépe ne¾ nìjaký $c$-násobek funkce $g$. +\:$f(n)$ je $\Theta(g(n)) \Longleftrightarrow f(n)$ je $O(g(n)) \wedge f(n) $ je $ \Omega(g(n))$ + +nebo: + +$f(n)$ je $\Theta(g(n)) \Longleftrightarrow \exists c_{1},c_{2}: c_{1}.g(n) \leq f(n) \leq c_{2}.g(n)$ +existují-li nezáporné konstanty $c_{1},c_{2}$ takové, ¾e se funkce $f(n)$ dá ohranicit $c_{1}$ a $c_{2}$ násobky funkce $g(n)$ +\endlist + +\noindent +$\Theta$ notace tedy vyjadøuje, ¾e nejlep¹í a nejhor¹í pøípad chování algoritmu jsou stejné tøídy, li¹í se nanejvý¹ multiplikativní konstantou. + +\s{Porovnání rùstu funkcí:} (aneb jak moc máme algoritmy rádi podle jejich chování od nejlep¹ích k nejhor¹ím) + +\itemize\ibull +\: $\Theta(1) \ldots$ funkce zespoda i shora ohranièené konstantami +\: $\Theta(\log{( \log{n} )})$ +\: $\Theta(\log{n})$ +\: $\Theta(n^{\varepsilon}), \varepsilon \in (0,1)$ +\: $\Theta(n)$ +\: $\Theta(n^{2})$ + +$\vdots$ + +\: $\Theta(n^{k}), k \in {N}$ + +$\vdots$ + +\: $\Theta(2^{n})$ +\: $\Theta(3^{n})$ + +$\vdots$ + +\: $\Theta(k^{n}), k \in {R}^{+}, k > 1$ + +$\vdots$ + +\: $\Theta(n!)$ + +$\vdots$ + +\: $\Theta(n^{n})$ +\endlist + +\>{\sl Poznámka:} Pøi logaritmech a odhadech slo¾itosti se dá v¾dy hovoøit o logaritmu s libovolným základem, proto¾e platí: +$$ +\log_k{n}={{\log_c{n}}\over{\log_c{k}}}={{1}\over{\log_c{k}}}.\log_c{n} +$$ +kde ${1}\over{\log_c{k}}$ je jen konstanta, tak¾e ji mù¾eme zanedbat. + +\>{\sl Pøíklady:} + +\s{Eukleidùv algoritmus:} Pokd jej pustím na 2 èísla o $n$ bitech, potom poèet iterací bude $O(n)$, ka¾dá iterace trvá $O(n^{2})$ krokù. Tak¾e celkovì má tento algoritmus èasovou slo¾itost: $O(n^{3})$ + +\s{Rozdìl a panuj:} A nyní pøestaòme chodit okolo horké ka¹e a øekòeme si, co to ono vý¹e zmiòované ``rozdìl a panuj'' znamená. Mìjme nìjaký problém, který má tu vlastnost, ¾e kdy¾ jej rozdìlím na nìjaké podproblémy, které mají stejný charakter a ty vyøe¹ím, tak slo¾ením jejich øe¹ení získám øe¹ení pùvodního problému. Ten po¾adavek na stejný charakter je podstatný, nebot nám umo¾ní se podívat na tyto podproblémy pod stejným úhlem a opìt je rozdìlit na ``podpodproblémy'' a tak dále, a¾ se dostanu na úroveò, kterou je mo¾né vyøe¹it triviálnì, popøípadì jiným ménì nároèným zpùsobem, teï je provedeno rozdìlení. Po jejich vyøe¹ení se zaènu vynoøovat z logické rekurze a na jednotlivých hladinách skládám øe¹ení, a¾ se octnu na hladinì pùvodního problému, tu slo¾ím a u¾ mohu panovat. + +\s{Odboèka:} \>{\sl (Mergesort)} Pøi prùbìhu algoritmu mergesort nejprve rozdìlujeme vstup na dvì ``stejnì'' (v hor¹ím pøípadì a¾ na jednotku) velká pole. To nám zabere na ka¾dé hladinì konstantní práci: +$T(1) \dots O(1)$. + +\noindent +Kdy¾ se v¹ak vynoøujeme z logické rekurze, musíme na ka¾dé hladinì strávit linárnì èasu sluèováním: +$T(n)=2.T({{n}\over{2}})+O(n)$ + +\s{Strom volání: } + +\figure{figure1.eps}{Strom volání}{2in} + +\noindent +Souèet práce pøes jednu hladinu stromu je $O(n)$. A jedodu¹e odvodíme, ¾e celkový poèet hladin je $O(\log{n})$, tudí¾ jsme si ukázali slo¾itost $O(n\log(n))$. + +\s{Rychlej¹í algoritmus pro násobení:} \>{\sl (rychlej¹í ne¾ $O(n^{2})$)} Pokud násobíme dvì èísla zpùsobem, který nás uèili na základní ¹kole, dostaneme se na èasovou slo¾itost $O(n^2)$. Proto¾e se jedná o dost èastou operaci, zamyslíme se, jestli by ne¹la zjednodu¹it. Nasmìrujme na¹e úvahy na postup ``rozdìl a panuj''. Rozdìlíme ka¾dého èinitele na dvì stejnì dlouhé èásti a pro jednoduchost pøedpokládejme, ¾e dìlení probìhne v¾dy bez zbytku: + +$$ +X=A.10^{{n}\over{2}}+B +$$ +$$ +Y=C.10^{{n}\over{2}}+D +$$ + +\noindent +Potom získáme výsledek pùvodního výrazu jako: + +\noindent +$X.Y=(A.10^{{n}\over{2}}+B).(C.10^{{n}\over{2}}+D)=A.C.10^{n}+A.D.10^{{n}\over{2}}+B.C.10^{{n}\over{2}}+B.D=A.C.10^{n}+(A.D+B.C).10^{{n}\over{2}}+B.D$ + +\noindent +Nyní, jak vidíme, staèí spoèítat souèin ètyø ${n}\over{2}$ ciferných císel. Spoèítejme, jak se tím zmìní celková èasová slo¾itost: + +\noindent +$T(n)=4.T({{n}\over{2}})+O(n)=4.T({{n}\over{2}})+c.n=4.(4.T({{n}\over{4}})+c.{{n}\over{2}})+c.n=4^{2}.T({{n}\over{4}})+2.c.n+c.n=4^{2}.T({{n}\over{4}})+3.c.n=4^{2}.(4.T({{n}\over{8}})+c.{{n}\over{4}})+3.c.n=4^{3}.T({{n}\over{8}})+4.c.n+3.c.n=4^{3}.T({{n}\over{8}})+7.c.n=\ldots$ + +\noindent +takto bychom mohli pokraèovat dále, a¾ bychom se dostali na: + +$$ +T(n)=4^{4}.T({{n}\over{16}})+15.c.n +$$ +$$ +T(n)=4^{5}.T({{n}\over{32}})+31.c.n +$$ +$$ +\vdots +$$ +Odtud mù¾eme vypozorovat, ¾e se vztah pro $T(n)$ vyvíjí zøejmì podle vzorce: +$$ +T(n)=4^{k}.T({{n}\over{2^{k}}})+2^{k-1}.c.n+2^{k-2}.c.n+2^{k-3}.c.n+2^{k-4}.c.n+\ldots+2^{0}.c.n +$$ +$$ +T(n)=4^{k}.T({{n}\over{2^{k}}})+(2^{k}-1).c.n +$$ +kde k je poèet vìtvení a n je velikost úlohy. Kdy¾ uvá¾íme, ¾e se strom volaní v¾dy vìtví pravidelnì na dva podstromy, tak platí: $k \approx \log{n}$. Kdy¾ dosadíme: +$$ +T(n)=4^{\log{n}}.T({{n}\over{2^{\log{n}}}})+(2^{\log{n}}-1).c.n +$$ +$$ +T(n)=2^{\log{n}}.2^{\log{n}}.T({{n}\over{2^{\log{n}}}})+(2^{\log{n}}-1).c.n +$$ +$$ +T(n)=n.n.T({{n}\over{n}})+(n-1).c.n +$$ +$$ +T(n)=n^{2}.T(1)+(n-1).n.c +$$ +$$ +T(n) \doteq n^{2}.(T(1)+c) +$$ +Pokud $T(1)$ a $c$ jsou konstanty, mù¾eme psát: $T(n)$ je $O(n^{2})$. Tak¾e jsme si pøíli¹ nepomohli, proto¾e i klasický algoritmus na násobení má kvadratickou èasovou slo¾itost. Podívejme se v¹ak, jako vypadá tabulka vìtvení pro daný algoritmus: + +\medskip + +\vbox{\halign{# \quad \vrule \quad & # \quad \vrule \quad & #\cr +poèet vìtvení & poèet úloh & velikost podúlohy\cr +\noalign{\medskip\hrule\bigskip} +0 & $4^{0}$ & ${n}\over{2^{0}}$\cr +1 & $4^{1}$ & ${n}\over{2^{1}}$\cr +2& $4^{2}$ & ${n}\over{2^{2}}$\cr +3 & $4^{3}$ & ${n}\over{2^{3}}$\cr +\vdots & \vdots & \vdots\cr +k & $4^{k}$ & ${n}\over{2^{k}}$\cr}} + +\medskip + +\noindent +Naskýtá se otázka, jestli bychom nemohli, kdy¾ se pozornì zamyslíme, èasovou nároènost zlep¹it. Existuje nìkolik mo¾ností: +- zlep¹it èlen $O(n) \ldots c.n$, to znamená zlep¹it èas spojování podúloh $\rightarrow$ to v¹ak rychleji nejde (pokud ètenáø nevìøí, mù¾e si dokázat) +- sní¾it poèet vìtvení $\rightarrow$ nech» se algoritmus nevìtví na $4$ vìtve, ale na ménì. To, ale jak dále uvidíme u¾ mo¾né je\vdots Staèí si uvìdomit, ¾e vlastnì potøebujeme spoèítat: +$$ +X.Y=A.C.10^{n}+(A.D+B.C).10^{{n}\over{2}}+B.D +$$ +Pøièem¾ ale nepotøebujeme znát souèiny $A.D$ ani $B.C$ samostatnì, nebo» nám staèí zjistit èlen $A.D+B.C$. Jako kdybychom poèítali $A.C$, $B.D$ a potom $(A+B).(C+D)=A.C+A.D+B.C+B.D$, tak odèítáním $(A.D+B.C)$ od $A.C+A.D+B.C+B.D$ dostaneme hledaný prostøední èlen: $A.D+B.C$, který potøebujeme, abychom spoèetli $X.Y$. Nyní nám ji¾ staèí jen tøi násobení, jedno sèítání a jedno odèítání navíc.Otázka je, zda-li to bude výhodné. Sèítání i odèítání nám zaberou nanejvý¹e lineární èas, tak¾e to skuteènì je výhodná úprava. Jak se tím zmìní výsledný èas? Podívejme se opìt na tabulku vìtvení: + +\medskip + +\vbox{\halign{# \quad \vrule \quad & # \quad \vrule \quad & #\cr +poèet vìtvení & poèet úloh & velikost podúlohy\cr +\noalign{\medskip\hrule\bigskip} +0 & $3^{0}$ & ${n}\over{2^{0}}$\cr +1 & $3^{1}$ & ${n}\over{2^{1}}$\cr +2& $3^{2}$ & ${n}\over{2^{2}}$\cr +3 & $3^{3}$ & ${n}\over{2^{3}}$\cr +\vdots & \vdots & \vdots\cr +k & $3^{k}$ & ${n}\over{2^{k}}$\cr}} + +\medskip + +\noindent +Spoèítejme si práci,která se musí udìlat na jedné hladinì. Pøedpokládejme, ¾e $k \approx \log{n}$. Dostávame: +$$\sum_{k=0}^{n}3^{k}.{{n}\over{2^{k}}}=\sum_{k=0}^{n} \left( {{3}\over{2}} \right) ^{k}.n=n.\sum_{k=0}^{n} \left( {{3}\over{2}} \right) ^{k}=n.{{ \left( {{3}\over{2}} \right) ^{k+1}-1}\over{{{3}\over{2}}-1}}= +$$ +$$ +=n{{ \left( {3}\over{2} \right) ^{\log{n}+1}-1}\over{{{1}\over{2}}}}=2.n. \left[ \left( {{3}\over{2}} \right) ^{\log{n}+1}-1 \right] \approx O \left( n. \left( {{3}\over{2}} \right) ^{\log{n}} \right) = +$$ +$$ +=O \left( n.{{3^{\log{n}}}\over{2^{\log{n}}}} \right)=O \left( n.{{3^{\log{n}}}\over{n}} \right)=O \left( 3^{\log_2{n}} \right)=O \left( (2^{\log_2{3}})^{\log_2{n}} \right)= +$$ +$$ +=O \left( 2^{\log_2{n}.\log_2{3}} \right)=O \left( (2^{\log_2{n}})^{\log_2{3}} \right)=O \left( n^{\log_2{3}} \right) \doteq O \left( n^{1,585} \right) +$$ +Z toho vyplývá, ¾e jsme na¹li algoritmus s èasovou slo¾itostí men¹í ne¾ $O(n^{2})$. "Rozumné" implementace tohoto algoritmu jsou v¹ak trochu modifikované, a to tak, ¾e se rekuzivnì nevolají a¾ na jednociferná èísla, ale asi na 50 ciferná, a ty u¾ násobí standardním zpùsobem, nebo» re¾ie algoritmu není nulová a takto se dosahuje nejlep¹ích výsledkù. + +\noindent +Pro násobení èísel existuje je¹tì efektívnìj¹í algoritmus, který má èasovou slo¾itost $O(n.\log{n})$, av¹ak tento u¾ vyu¾ívá rùzné pokroèilé techniky jako diskrétní Fourierova transformáce a podobnì, tak¾e jej zde nebudeme rozebírat. + +\s{Vìta:} \>{\sl (Master Theorem)} + +\noindent +Pokud $T(1)=O(1)$ a $T(n)=a.T(\lceil {{n}\over{b}} \rceil)+O(n^d)$, kde $a \geq 1$, $b>1$ a $d \geq 0$, potom $T(n)$ je: +\halign{#&#\cr +$O(n^d)$ & kdy¾ $ab^d$\cr} + + +\proof \>{\sl 1. pøípad: }Pøedpokládejme nejdøíve, ¾e $n=b^x, x \in {N}$, aby platilo $\lceil {{n}\over{b}} \rceil = {n}\over{b}$. Uká¾eme si "dùkaz stromem": + +\figure{figure2.eps}{Dùkaz stromem}{4in} + +\noindent +Jak vidíme, strom sa v¾dy vìtví na stejný poèet vìtví - oznaème si jejich poèet $a$ a sestavme si tabulku vìtvení: + +\medskip + +\vbox{\halign{# \quad \vrule \quad & # \quad \vrule \quad & #\cr +poèet vìtvení & velikost podúlohy & èas potøebný na vyøe¹ení v¹ech podúloh\cr +\noalign{\medskip\hrule\bigskip} +$1$ & $n$ & $O(n^d)$\cr +$a$ & ${n}\over{b^1}$ & $O(({{n}\over{b^1}})^d).a^1$\cr +$a^2$ & ${n}\over{b^2}$ & $O(({{n}\over{b^2}})^d).a^2$\cr +$a^3$ & ${n}\over{b^3}$ & $O(({{n}\over{b^3}})^d).a^3$\cr +\vdots & \vdots & \vdots\cr +$a^k$ & ${n}\over{b^k}$ & $O(({{n}\over{b^k}})^d).a^k$\cr}} + +\medskip + +\noindent +Zkoumejme èas potøebný na vyøe¹ení v¹ech podúloh na jedné hladinì: +$$ +O \left( \left( {{n}\over{b^k}} \right) ^d \right) .a^k=O \left( a^k.n^d \left( {{1}\over{b^k}} \right) ^d \right)=O \left( a^k.n^d \left( {{1}\over{b^d}} \right) ^k \right)=O \left( n^d \left( {{a}\over{b^d}} \right) ^k \right) +$$ +Celkem je tedy èas potøebný na vyøe¹ení v¹ech podúloh na v¹ech hladinách (to znamená celé úlohy): +$$ +T(n)=\sum_{k=0}^{\log_b{n}}O \left( n^d \left( {{a}\over{b^d}} \right) ^k \right)=O \left( n^d \sum_{k=0}^{\log_b{n}} \left( {{a}\over{b^d}} \right) ^k \right) +$$ +V¹imnìme si výrazu ${a}\over{b^d}$. Na jeho hodnotì závisí hodnota výsledné sumy, proto¾e se vlastnì jedná o kvocient geometrické posloupnosti. Proto rozli¹me následující pøípady: + +\>{\I 1} ${a}\over{b^d}<1$ jinými slovy, práce na jednotlivých hladinách exponenciálnì ubývá a souèet sumy se dá omezit nìjakou konstantou, která se schvá do $O$, a tak mù¾eme psát $T(n)=O(n^d)$. + +\>{\I 2} ${a}\over{b^d}=1$ práce na jednotlivých hladinách je stejnì, to znamená, ¾e ¾e souèet sumy je právì $\log(n)$ a to nás opravòuje psát: $T(n)=O(n^d \cdot \log(n))$. + +\>{\I 3} ${a}\over{b^d}>1$ to znamená, ¾e práce na jednotlivých hladinách pøibývá a potom musíme psát:$ T(n)=O(n^d.({{a}\over{b^d}})^{\log_b{n}})$ To sice vypadá jako slo¾itý výraz, ale mù¾eme je dále upravit: +$O(n^d.({{a}\over{b^d}})^{\log_b{n}})=O(n^d.a^{\log_b{n}}({{1}\over{b^d}})^{\log_b{n}})=O((b^{\log_b{a}})^{\log_b{n}}.n^d.{{1}\over{(b^d)^{\log_b{n}}}})=O((b^{\log_b{n}})^{\log_b{a}}.n^d.{{1}\over{(b^{\log_b{n}})^d}})=O(n^{\log_b{a}}.n^d.{{1}\over{n^d}})=O(n^{\log_b{a}})$ + +\noindent +A nyní vidíme, ¾e vìta je správná a zároveò rozdìlení pøípadù je naprosto oprávnìné. + +\>{\sl 2. pøípad: }Vratme se k mo¾nosti $n \neq b^x, x \in {N}$. Potom ale platí: $b^k{\sl Master Theorem}: + +\medskip + +\vbox{\halign{# \quad \vrule \quad & # \quad \vrule \quad & # \quad \vrule \quad & # \quad \vrule \quad & #\cr +algoritmus & a & b & d & èasová slo¾itost\cr +\noalign{\medskip\hrule\bigskip} +Mergesort & 2 & 2 & 1 & $O(n.\log{n})$\cr +Násobení I. & 4 & 2 & 1 & $O(n^2)$\cr +Násobení II. & 3 & 2 & 1 & $O(n^{\log_2{3}})$\cr +Binární vyhledávání & 1 & 2 & 0 & $O(\log{n})$\cr}} + +\medskip + +\s{Domácí úkol nakonec: } Vymyslete algoritmus, který by z $n$ zadaných bodù v rovinì (prostoru) na¹el takové dva, které jsou od sebe nejménì vzdálené (zde existuje takový algoritmus s èasovou slo¾itostí $O(n.\log{n})$). + +\bye diff --git a/2-rozdel/Makefile b/2-rozdel/Makefile new file mode 100644 index 0000000..52028b8 --- /dev/null +++ b/2-rozdel/Makefile @@ -0,0 +1,3 @@ +P=2-rozdel + +include ../Makerules diff --git a/2-rozdel/figure1.eps b/2-rozdel/figure1.eps new file mode 100644 index 0000000..68bd382 --- /dev/null +++ b/2-rozdel/figure1.eps @@ -0,0 +1,366 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.44.1 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: -248 -109 876 872 +%%HiResBoundingBox: -248.81635 -109.5562 875.90534 871.0076 +%%DocumentMedia: plain 596 842 0 () () +%%EndComments +%%Page: 1 1 +0 842 translate +0.8 -0.8 scale +gsave [1 0 0 1 0 0] concat +gsave [1 0 0 1 908.1641 -12.97378] concat +0 0 0 setrgbcolor +[] 0 setdash +3 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.874906 0 0 0.87344 1191.699 354.3683] concat +0 0 0 setrgbcolor +[] 0 setdash +3.4318151 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.874906 0 0 0.87344 507.0091 378.2228] concat +0 0 0 setrgbcolor +[] 0 setdash +3.4318151 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.731389 0 0 0.728143 1014.198 710.9212] concat +0 0 0 setrgbcolor +[] 0 setdash +4.1109161 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.639617 0 0 0.634621 87.04209 1086.516] concat +0 0 0 setrgbcolor +[] 0 setdash +4.7087326 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.639617 0 0 0.634621 867.8961 1098.368] concat +0 0 0 setrgbcolor +[] 0 setdash +4.7087326 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.731389 0 0 0.728143 603.8051 718.0061] concat +0 0 0 setrgbcolor +[] 0 setdash +4.1109161 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.731389 0 0 0.728143 1301.237 701.4743] concat +0 0 0 setrgbcolor +[] 0 setdash +4.1109161 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.731389 0 0 0.728143 240.8561 739.2613] concat +0 0 0 setrgbcolor +[] 0 setdash +4.1109161 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.639617 0 0 0.634621 659.9141 1086.828] concat +0 0 0 setrgbcolor +[] 0 setdash +4.7087326 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.639617 0 0 0.634621 453.7441 1086.828] concat +0 0 0 setrgbcolor +[] 0 setdash +4.7087326 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.639617 0 0 0.634621 304.3751 1086.828] concat +0 0 0 setrgbcolor +[] 0 setdash +4.7087326 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.639617 0 0 0.634621 1228.112 1089.198] concat +0 0 0 setrgbcolor +[] 0 setdash +4.7087326 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.639617 0 0 0.634621 1070.445 1093.315] concat +0 0 0 setrgbcolor +[] 0 setdash +4.7087326 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +gsave [0.639617 0 0 0.634621 1385.778 1080.964] concat +0 0 0 setrgbcolor +[] 0 setdash +4.7087326 setlinewidth +1 setlinejoin +2 setlinecap +newpath +-457.14284 59.505039 moveto +-457.14284 104.45361 -493.62284 140.93361 -538.57141 140.93361 curveto +-583.51998 140.93361 -619.99998 104.45361 -619.99998 59.505039 curveto +-619.99998 14.556467 -583.51998 -21.923534 -538.57141 -21.923534 curveto +-493.62284 -21.923534 -457.14284 14.556467 -457.14284 59.505039 curveto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +297.44616 129.45983 moveto +98.989471 357.57517 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +450.46905 129.45983 moveto +649.67508 333.72067 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-3.1106382 502.8186 moveto +-120.47064 721.80116 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +73.989438 502.8186 moveto +177.94142 700.54596 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +699.58258 478.9641 moveto +637.80151 693.46106 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +760.5873 478.9641 moveto +873.77625 684.01416 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-171.6203 843.37779 moveto +-241.19346 1071.1087 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-132.97399 843.37779 moveto +-57.663661 1071.4207 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +193.05934 822.12259 moveto +123.99479 1071.4207 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +227.56035 822.12259 moveto +299.9874 1071.4207 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +604.87196 815.03769 moveto +536.90499 1082.9607 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +637.33945 815.03769 moveto +711.05518 1077.9077 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +903.56206 805.59079 moveto +886.92988 1073.7907 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +929.11055 805.59079 moveto +1022.2491 1065.5567 lineto +stroke +grestore +showpage +%%EOF diff --git a/2-rozdel/figure2.eps b/2-rozdel/figure2.eps new file mode 100644 index 0000000..6105f70 --- /dev/null +++ b/2-rozdel/figure2.eps @@ -0,0 +1,1134 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.44.1 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: -1066 -808 1886 1310 +%%HiResBoundingBox: -1066.2102 -808.40663 1885.0231 1309.6885 +%%DocumentMedia: plain 596 842 0 () () +%%EndComments +%%Page: 1 1 +0 842 translate +0.8 -0.8 scale +gsave [1 0 0 1 0 0] concat +gsave [0.338263 0 0 0.338263 -788.415 263.3811] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.338263 0 0 0.338263 75.57971 261.903] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 -611.8357 970.4724] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 -799.6925 978.9312] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 -1249.658 984.4112] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.338263 0 0 0.338263 806.7104 258.4159] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 -967.5788 972.8998] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.39934 0 0 0.39934 331.6575 -657.2877] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +438.44686 -411.89125 moveto +211.2762 323.34776 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +882.44771 319.86066 moveto +509.23232 -411.89125 lineto +stroke +gsave [0.338263 0 0 0.338263 1632.914 295.1559] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +551.57974 -435.69138 moveto +1672.7807 376.76069 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +378.72257 -430.39223 moveto +-602.12874 340.49721 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-727.59559 471.24542 moveto +-1126.5505 1030.163 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-697.8984 471.24542 moveto +-866.58381 1018.6516 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-679.65453 471.24542 moveto +-712.28192 1024.683 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-659.26441 471.24542 moveto +-539.60762 1016.2242 lineto +stroke +gsave [0.251871 0 0 0.251871 277.7847 993.6972] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 83.27105 996.1249] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 -285.1594 992.5203] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 -95.50096 990.0931] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +147.68692 469.76732 moveto +-170.45676 1038.2721 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +167.55637 469.76732 moveto +4.4068681 1035.8449 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +186.43968 469.76732 moveto +169.11835 1041.8767 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +206.85099 469.76732 moveto +348.43371 1039.449 lineto +stroke +gsave [0.251871 0 0 0.251871 1213.956 1009.323] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 1017.641 1000.864] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 609.9691 989.4269] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 815.9196 999.0622] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 2076.638 1015.63] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 1865.207 1013.828] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 1446.024 1014.453] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +gsave [0.251871 0 0 0.251871 1677.976 1020.486] concat +0 0 0 setrgbcolor +[] 0 setdash +10 setlinewidth +0 setlinejoin +2 setlinecap +newpath +545.71428 398.07648 moveto +545.71428 514.78505 450.99428 609.50505 334.28571 609.50505 curveto +217.57713 609.50505 122.85713 514.78505 122.85713 398.07648 curveto +122.85713 281.3679 217.57713 186.6479 334.28571 186.6479 curveto +450.99428 186.6479 545.71428 281.3679 545.71428 398.07648 curveto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +896.07575 466.28022 moveto +711.82131 1035.1787 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +917.74787 466.28022 moveto +901.63473 1044.814 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +938.61009 466.28022 moveto +1087.8221 1046.6158 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +958.44628 466.28022 moveto +1269.3671 1055.0748 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1722.9268 503.02022 moveto +1547.3941 1060.2048 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1747.7051 503.02022 moveto +1760.8962 1066.2378 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1767.7532 503.02022 moveto +1933.1993 1059.5798 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1790.2572 503.02022 moveto +2127.8738 1061.3818 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-1189.2535 1139.1872 moveto +-1332.2627 1466.8439 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-1180.043 1139.1872 moveto +-1268.8216 1471.0733 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-1169.4333 1139.1872 moveto +-1192.6923 1458.3851 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-1159.8783 1139.1872 moveto +-1125.0219 1479.5321 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-905.95674 1127.6758 moveto +-1044.6632 1462.6145 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-895.89279 1127.6758 moveto +-972.76329 1462.6145 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-884.64484 1127.6758 moveto +-892.40458 1462.6145 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-872.11053 1127.6758 moveto +-799.35766 1479.5321 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-723.12526 1133.7072 moveto +-769.75182 1466.8439 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-713.58847 1133.7072 moveto +-702.08133 1462.6145 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-703.62802 1133.7072 moveto +-630.18143 1471.0733 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-694.88217 1133.7072 moveto +-562.51094 1483.7616 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-528.35591 1125.2484 moveto +-532.9051 1471.0733 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-527.63883 1016.2242 moveto +-527.63883 1016.2242 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-519.23036 1125.2484 moveto +-465.23461 1475.3027 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-510.85761 1125.2484 moveto +-401.79353 1479.5321 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-503.15772 1125.2484 moveto +-338.35245 1492.2204 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-216.32266 1147.2963 moveto +-308.74661 1475.3027 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-207.96189 1147.2963 moveto +-249.53493 1471.0733 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-200.02841 1147.2963 moveto +-194.55266 1466.8439 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-192.49452 1147.2963 moveto +-139.57038 1487.991 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-22.879672 1144.8691 moveto +-93.046923 1475.3027 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-15.598208 1144.8691 moveto +-42.294056 1483.7616 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +-7.5547776 1144.8691 moveto +16.917622 1500.6792 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0.87349092 1144.8691 moveto +80.358706 1500.6792 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +160.05204 1150.9009 moveto +114.19395 1487.991 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +168.88321 1150.9009 moveto +177.63503 1487.991 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +178.30313 1150.9009 moveto +245.30552 1487.991 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +186.34171 1150.9009 moveto +304.5172 1492.2204 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +358.08567 1148.4732 moveto +334.12304 1483.7616 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +366.36619 1148.4732 moveto +393.33472 1483.7616 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +374.18769 1148.4732 moveto +448.31699 1479.5321 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +382.48236 1148.4732 moveto +511.75808 1492.2204 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +677.53067 1144.2029 moveto +575.19916 1479.5321 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +685.31495 1144.2029 moveto +630.18143 1483.7616 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +692.93391 1144.2029 moveto +685.16371 1487.991 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +702.28159 1144.2029 moveto +752.8342 1483.7616 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +885.50766 1153.8382 moveto +799.35766 1475.3027 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +895.52564 1153.8382 moveto +867.02815 1492.2204 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +905.38789 1153.8382 moveto +938.92804 1500.6792 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +915.73073 1153.8382 moveto +1006.5985 1471.0733 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1091.5435 1155.64 moveto +1031.975 1471.0733 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1100.2684 1155.64 moveto +1091.1866 1471.0733 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1111.7688 1155.64 moveto +1171.5453 1483.7616 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1120.5996 1155.64 moveto +1234.9864 1487.991 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1292.7089 1164.099 moveto +1260.3629 1487.991 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1301.7673 1164.099 moveto +1323.8039 1496.4498 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1310.7067 1164.099 moveto +1387.245 1496.4498 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1318.8241 1164.099 moveto +1446.4567 1500.6792 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1522.5717 1169.229 moveto +1476.0626 1500.6792 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1530.9425 1169.229 moveto +1535.2742 1496.4498 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1536.8356 1169.229 moveto +1577.5683 1504.9086 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1547.063 1169.229 moveto +1649.4682 1500.6792 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1751.4636 1175.262 moveto +1687.5328 1500.6792 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1760.5661 1175.262 moveto +1750.9739 1500.6792 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1768.768 1175.262 moveto +1810.1856 1517.5968 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1776.9015 1175.262 moveto +1869.3973 1517.5968 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1943.6776 1168.604 moveto +1907.4619 1513.3674 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1952.9165 1168.604 moveto +1975.1324 1513.3674 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1962.8755 1168.604 moveto +2047.0323 1509.138 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +1971.7352 1168.604 moveto +2114.7028 1517.5968 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +2157.3338 1170.406 moveto +2135.8498 1504.9086 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +2165.5289 1170.406 moveto +2195.0615 1513.3674 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +2174.7955 1170.406 moveto +2266.9614 1530.285 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +2186.2202 1170.406 moveto +2355.7789 1534.5144 lineto +stroke +gsave [0.08115751 0 0 0.08115751 506.7197 1520.494] concat +gsave +0 0 0 setrgbcolor +newpath +786.66943 2097.0254 moveto +786.66943 2267.4535 636.03493 2405.772 450.4317 2405.772 curveto +264.82847 2405.772 114.19397 2267.4535 114.19397 2097.0254 curveto +114.19397 1926.5973 264.82847 1788.2788 450.4317 1788.2788 curveto +636.03493 1788.2788 786.66943 1926.5973 786.66943 2097.0254 curveto +closepath +fill +grestore +grestore +gsave [0.08115751 0 0 0.08115751 517.4962 1867.624] concat +gsave +0 0 0 setrgbcolor +newpath +786.66943 2097.0254 moveto +786.66943 2267.4535 636.03493 2405.772 450.4317 2405.772 curveto +264.82847 2405.772 114.19397 2267.4535 114.19397 2097.0254 curveto +114.19397 1926.5973 264.82847 1788.2788 450.4317 1788.2788 curveto +636.03493 1788.2788 786.66943 1926.5973 786.66943 2097.0254 curveto +closepath +fill +grestore +grestore +gsave [0.08115751 0 0 0.08115751 509.0374 1698.448] concat +gsave +0 0 0 setrgbcolor +newpath +786.66943 2097.0254 moveto +786.66943 2267.4535 636.03493 2405.772 450.4317 2405.772 curveto +264.82847 2405.772 114.19397 2267.4535 114.19397 2097.0254 curveto +114.19397 1926.5973 264.82847 1788.2788 450.4317 1788.2788 curveto +636.03493 1788.2788 786.66943 1926.5973 786.66943 2097.0254 curveto +closepath +fill +grestore +grestore +grestore +showpage +%%EOF