tag:blogger.com,1999:blog-17923144619182219462024-03-13T10:24:41.095+09:00自作CNCマシン・レーザーカッターについてMac+Arduino:自作CNCマシンの記録。作業エリア940x740mm、NEMA23ステッピングモーター4個、ボールスクリュー+リニアスライド、スピンドル(350W)、レーザー(5.5W)、制作費10万円Unknownnoreply@blogger.comBlogger230125tag:blogger.com,1999:blog-1792314461918221946.post-2523417410709467642022-02-22T20:07:00.037+09:002022-02-27T10:16:38.708+09:00ヒルベルト曲線/Hilbert curve(その2):曲線上の任意点と画像縮小<p> <a href="https://cnc-selfbuild.blogspot.com/2022/02/hilbert-curvepython.html" target="_blank">前回</a>、ヒルベルト曲線をPythonで描きました。今回はヒルベルト曲線のフラクタルな性質についての実験を行おうと思います。</p><p>環境: Python 3.8.5、Jupyter notebook</p><p><br /></p><h3 style="text-align: left;">実験内容:</h3><p></p><ul style="text-align: left;"><li>ヒルベルト曲線上に任意の点を複数打ち、オーダーを変えたときにそれらの点の位置関係は保たれるかどうか?</li><li>ヒルベルト曲線のルートで画像をスキャンし、そのスキャンデータをもとにオーダーを下げて画像縮小を行う</li><li>ヒルベルト曲線のルートで画像を描く(アニメーション)</li></ul><div><br /></div><div><br /></div><h2 style="text-align: left;">ヒルベルト曲線のアルゴリズム:</h2><div>前回との違い:(アルゴリズムの内容については<a href="https://cnc-selfbuild.blogspot.com/2022/02/hilbert-curvepython.html" target="_blank">前回参照</a>)</div><div><ul style="text-align: left;"><li>関数化</li><li>listをnumpy.arrayに変更(直接四則計算可能)</li><li>arrayの要素を入れ替える部分でcopy()を使用</li><ul><li>U[1], U[3] = U[3].copy(), U[1].copy()</li></ul><li>正規化(norm)とオフセット(offset)を引数に与える</li><li>出力されるX, Y=Pがヒルベルト曲線の各点の座標(array)</li></ul></div><div>
<pre><code>
def hilbert(ORDER, norm=True, offset=0.5): # argument: order=1, 2, 3 ... n, offset=(x:0.5, y:0.5)
N = 2**ORDER # the number of rows or columns
P = zeros((2, N * N)) # prepare an array for (X, Y) coodinates output
for i in range(N * N):
U = array([[0, 0], [0, 1], [1, 1], [1, 0]]) # four points under ORDER=1
V = array([offset, offset]) # offset: starting point
for j in reversed(range(ORDER)): # ORDER iteration: j=ORDER-1, ORDER-2 ... 0
ID = i // 4**j % 4 # quaternary index
L = 2**j # unit length: L=2**(ORDER-1), 2**(ORDER-2) ... 1
if ID == 0:
U[1], U[3] = U[3].copy(), U[1].copy() # swap 1st with 3rd when ID is 0
elif ID == 3:
U[0], U[2] = U[2].copy(), U[0].copy() # swap 0th with 2nd when ID is 3
V += U[ID] * L # add each step under the ORDER
P[:, i] = V # preserve each points
if norm:
P /= N # X, Y coodinates are nomalized as from 0 to 1
return P # returns X, Y = P[0], P[1]
</code></pre><br /></div>
<div><br /></div><h2 style="text-align: left;">ヒルベルト曲線上の任意の点:</h2><div>ヒルベルト曲線は折れ曲がっていながらも連続した一本の線であるので、全体を一直線に引き延ばして全長を1(正規化)にしておきます。そこに任意の地点を設定するわけですが、例えば0.1の地点は全体の道のりの10%の位置になるというわけです。</div><div>線上の任意の点(0~1の値)がオーダーを変えたときにどのような座標になるのかを調べます。</div><div><br /></div><h3 style="text-align: left;">コードは以下:</h3>
<div>
<pre><code>
def Arbitrary_point(ap, X, Y): # ap: arbitrary point between 0 and 1
tl = len(X) - 1
n = int(ap * tl)
m = ap * tl % 1
P = [X[-1], Y[-1]]
if n + m < tl:
dx = X[n+1] - X[n]
dy = Y[n+1] - Y[n]
if dx == 0:
P = [X[n], Y[n] + dy * m]
elif dy == 0:
P = [X[n] + dx * m, Y[n]]
return P
</code></pre>
<br /></div>
<div>この任意の点は、値によってはヒルベルト曲線上の二点間の間にも打つことができるようにしてあります。オーダー1のヒルベルト曲線上の0.1~0.9(0.1刻み)の地点は、以下の画像のように表現されます。9個の地点を新たな線でつないでいます。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhsgRcHeowj9rkKoLegbjlDYDuo9lpn4pFsqQuAXgPpucsJCaBTTU0c33SeyzPZHSkxwdOpehJjROvPRMSL3GRIxE6HiC5IZOPX6KR9vH7i5vp1RauVrRRHBNcc14uCJdcYOa1Um72EHL5oMRvOZvzolLLt2mGfQL3AioYNOCPkycUpCZcuhEldk9kimQ=s608" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="583" data-original-width="608" height="614" src="https://blogger.googleusercontent.com/img/a/AVvXsEhsgRcHeowj9rkKoLegbjlDYDuo9lpn4pFsqQuAXgPpucsJCaBTTU0c33SeyzPZHSkxwdOpehJjROvPRMSL3GRIxE6HiC5IZOPX6KR9vH7i5vp1RauVrRRHBNcc14uCJdcYOa1Um72EHL5oMRvOZvzolLLt2mGfQL3AioYNOCPkycUpCZcuhEldk9kimQ=w640-h614" width="640" /></a></div><br /><div><br /></div><div><br /></div><div>この方法で、複数のオーダーによるヒルベルト曲線を重ね合わせて、任意の点(複数)を打って、それぞれどの程度違うのかを観察してみます。</div><div><br /></div><h3 style="text-align: left;">コードは以下:</h3>
<div>
<pre><code>
ORDERS = [3,4,5,6] # list of Orders for Hilvert curves
AP = arange(0.1, 1, 0.1) # list of arbitrary ratios on the lines: [0.1, 0.2 ... 0.9]
plt.figure(figsize=(10,10))
plt.axis([0,1,0,1])
cmap = plt.get_cmap('tab10') # color table
X, Y = [], []
for i in ORDERS:
X.append([])
Y.append([])
X[-1], Y[-1] = hilbert(i)
plt.plot(X[-1], Y[-1], alpha=0.2, color=cmap(i))
AX, AY = array([Arbitrary_point(ap, X[-1], Y[-1]) for ap in AP]).T
plt.plot(AX, AY, color=cmap(i), alpha=0.7, label=str(i))
plt.scatter(AX, AY, color=cmap(i))
if i == ORDERS[0]:
for j in range(len(AP)):
plt.text(AX[j], AY[j], s=' ap='+str(round(AP[j], 3)))
plt.legend()
plt.show()
</code></pre>
<br /></div><div><br /></div><h3 style="text-align: left;">結果画像:</h3><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjiJjDUfbAA38Prv8w8w7et5XPWjFfTmS_n0obfeL8erPNx8tU0pQ4o1n08n_0jWzTuG-JYQRtc-vadAoL8H2Vj-naX1186aF0dLHKeX-oalIJlwpWZhZs7MHtUKNKqzGxRgF6BKehITTbrxKvJ8IwPxEw9gbIBxJk-J_38PitA2F_YCz_4H66mzjPVtA=s755" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="722" data-original-width="755" height="613" src="https://blogger.googleusercontent.com/img/a/AVvXsEjiJjDUfbAA38Prv8w8w7et5XPWjFfTmS_n0obfeL8erPNx8tU0pQ4o1n08n_0jWzTuG-JYQRtc-vadAoL8H2Vj-naX1186aF0dLHKeX-oalIJlwpWZhZs7MHtUKNKqzGxRgF6BKehITTbrxKvJ8IwPxEw9gbIBxJk-J_38PitA2F_YCz_4H66mzjPVtA=w640-h613" width="640" /></a></div><br /><div>ここでは、オーダー3、4、5、6のヒルベルト曲線を重ね合わせています。そして任意の点は、0.1から0.9まで0.1刻みで9点打ってあります。</div><div>結果から分かることは、ほぼ同じような形をしており、フラクタルな性質が伺えます。オーダーが低い3のときはさすがにズレが大きいですが、オーダーが上がるほど誤差が少なくなってきます。</div><div><br /></div><div><br /></div><div><h2 style="text-align: left;">水平走査線との比較:</h2><div>モニターなどで使われている走査線方式で同じことをやってみるとどうなるか試してみます。走査線は水平かつ平行に左から右、上から下へ走ることとします。</div><div><br /></div><h3 style="text-align: left;">結果画像:</h3></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEifNrttv_LY2YSPU3jXnOiQk9WpX-PZnNZ4CfM_UIAKp20QLoPLzudZP04UcjSK1et45UwbIY47leElKrRVhkGDxz4fpZVXMv43X5iU25WGLvbE6AlNt_SrLhJaoLB-Q4dsELLXRsu_iIhZ4g0Ip5LDdbEase2PXtFIS_5hYVhR8dK_DMZu89Q4nb2JhQ=s752" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="719" data-original-width="752" height="613" src="https://blogger.googleusercontent.com/img/a/AVvXsEifNrttv_LY2YSPU3jXnOiQk9WpX-PZnNZ4CfM_UIAKp20QLoPLzudZP04UcjSK1et45UwbIY47leElKrRVhkGDxz4fpZVXMv43X5iU25WGLvbE6AlNt_SrLhJaoLB-Q4dsELLXRsu_iIhZ4g0Ip5LDdbEase2PXtFIS_5hYVhR8dK_DMZu89Q4nb2JhQ=w640-h613" width="640" /></a></div><br /><div>走査線の場合は、横幅のピクセル数が変わってしまうためズレが大きくなってしまいます。0.5の地点だけはきりのいい値なので似たような位置に集中しています。</div><div>走査線と比較すれば、ヒルベルト曲線は異なるスケールに対してもズレが少ないという傾向が見てとれます。</div><div><br /></div><div><br /></div><h3 style="text-align: left;">浮動小数点の問題(余談):</h3><div>今回、小数の計算を行っている際に計算式と結果が一致しないことがあり、調べてみると浮動小数点の誤差問題ということらしいです。これはコンピュータ全般における問題でいくつか改善方法などあるようです。</div><div><br /></div><div>例えば:</div><div><br /></div><div>0.2 % 0.1 = 0.0</div><div><br /></div><div>になりますが、</div><div><br /></div><div>0.3 % 0.1 = 0.09999999999999998 </div><div><br /></div><div>になってしまいます。</div><div>ためしに、以下のように0.1刻みで出力させると、</div><div><br /></div><div><div>for i in arange(0, 1, 0.1):</div><div> print(i)</div></div><div><br /></div><div>出力結果:</div><div><br /></div><div><div>0.0</div><div>0.1</div><div>0.2</div><div>0.30000000000000004</div><div>0.4</div><div>0.5</div><div>0.6000000000000001</div><div>0.7000000000000001</div><div>0.8</div><div>0.9</div></div><div><br /></div><div>になり、どうやら0.3、0.6、0.7にこの問題が発生しているようです。</div><div>ちなみに、0~0.9までの値を0.1で割りその余りを100倍する計算:</div><div><br /></div><div><div>for i in arange(0, 1, 0.1):</div><div> print(i % 0.1 * 100)</div></div><div><br /></div><div>答えはすべて0になるはずですが、出力は以下:</div><div><br /></div><div><div>0.0</div><div>0.0</div><div>0.0</div><div>2.7755575615628914e-15</div><div>0.0</div><div>9.999999999999998</div><div>5.551115123125783e-15</div><div>2.7755575615628914e-15</div><div>0.0</div><div>9.999999999999998</div></div><div><br /></div><div>0.3、0.6、0.7の出力は小さい誤差がありround()で有効桁数まで丸めてしまえば大丈夫かもしれませんが、問題は出力が9.999999999999998になっている部分。</div><div><br /></div><div>0.5 % 0.1 * 100 = 9.999999999999998</div><div>0.9 % 0.1 * 100 = 9.999999999999998</div><div><br /></div><div>本来0なのに、ここまでずれるとround()を使っても計算結果が大きくずれてしまいます。ちなみに最後に100を掛ける代わりに事前に0.5と0.1に100を掛けておけば問題ありません。</div><div><br /></div><div>(0.5 * 100) % (0.1 * 100) = 0.0</div><div><br /></div><div>ということで、厳密に計算するためのDecimalモジュールもありますが、連続で掛算や割算あるいはモデューロを使うときは注意が必要そうです。</div><div><br /></div><div><br /></div><h2 style="text-align: left;">ヒルベルト曲線による画像スキャン:</h2><div>ヒルベルト曲線のルートに沿ってピクセル単位で画像をスキャンし、一本の連続した色データ(RGB)をつくり、各オーダーに応じた密度の違いを利用して画像縮小を行います。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiZtZqUV0b3McfXfk-MRwx0p1F8CHTe6RmbTSrF8heElRgdz0Q4KwlQBSqcalteAVhrTawmiFroN8myiZaniOwDK6qxNB2dJM1lIgrq3wLDHGdTtdL3GckOVlj37IFike4X1zsfsoOg0fCdmidRmeLbdrRmh2DE9ZDX5Pgfiu7o8CNKu_-jNufI1bkQTw=s512" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="512" data-original-width="512" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEiZtZqUV0b3McfXfk-MRwx0p1F8CHTe6RmbTSrF8heElRgdz0Q4KwlQBSqcalteAVhrTawmiFroN8myiZaniOwDK6qxNB2dJM1lIgrq3wLDHGdTtdL3GckOVlj37IFike4X1zsfsoOg0fCdmidRmeLbdrRmh2DE9ZDX5Pgfiu7o8CNKu_-jNufI1bkQTw=w640-h640" width="640" /></a></div><br /><div>おなじみの<a href="https://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%8A_(%E7%94%BB%E5%83%8F%E3%83%87%E3%83%BC%E3%82%BF)" target="_blank">レナさんの画像</a>を使って実験してみます。</div><div><br /></div><h3 style="text-align: left;">この画像の特徴:</h3><div><ul style="text-align: left;"><li>サイズ(縦×横×RGB):512×512×3=262144×3=786432</li><li>ヒルベルト曲線オーダー数:9 (4^9=262144)</li></ul></div><div>通常、画像を読み込んでmatplotlibで表示させると原点が左上(Y軸が下向き)になることがありますが、その場合は:</div><div><br /></div><div>plt.imshow(image, origin='lower')</div><div><br /></div><div>のように'lower'にすると原点が左下になります。</div><div>また、画像が上下反対になっている場合は、numpy.flipud(image)や読み込んだarrayをimage[::-1, :, :]にすることでY軸方向のみの反転が可能になります。</div><div><br /></div><div><br /></div><h3 style="text-align: left;">オーダー9によるフルスキャンのコード:</h3><div>このスキャンによって各ピクセルの色情報(RGB値)と位置(x,y)が得られます。読み取る順序はヒルベルト曲線のルート順になります。</div>
<div>
<pre><code>
DEFAULT_ORDER = int(np.log2(IMG_W)) # DEFAULT_ORDER=9: 2**9=512
N = 2**DEFAULT_ORDER # the number of rows or columns: 512
HX, HY = hilbert(DEFAULT_ORDER, norm=False, offset=0) # ORDER=9, normalization: turned off, offset=0
HX = HX.astype(int) # dtype: float to int
HY = HY.astype(int)
HC = np.zeros((N * N, 3), dtype=int) # prepare an empty 3-channel serial array for color pixel data
for i in range(N * N):
HC[i, :] = IMG[HY[i], HX[i], :] # scan color pixel data along with the Hilbert curve route
plt.figure(figsize=(15, 2)) # show a part of the serial color data, len(HC)=262144 pixels
start, end = 1000, 1050 # start and end point to sample the serial data
plt.imshow([HC[start:end, :]], origin='lower', extent=(0,end-start,0,1))
plt.show()
</code></pre>
<br /></div><div>3チャンネルのRGB情報を含んだ一本のデータの一部を出力してみると以下のようになります。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg0rPWU7LbMfpQNyUFUBDm-EiPJcZMxeS8egK6P9Kf4pSk3T0hp3STpZXTOv6eiTQSAW2kF68DjhlBeGRNQ-hkQwAewOw82yLni5Djs17rCVykv75yyP0mYnPJQdDlP6IQ4qHNSqL-xssOAFXWVa19Cn7i6I73UM_p2NimqK_nPh0Ru3m1q1rKrzN7Kxg=s1086" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="71" data-original-width="1086" height="42" src="https://blogger.googleusercontent.com/img/a/AVvXsEg0rPWU7LbMfpQNyUFUBDm-EiPJcZMxeS8egK6P9Kf4pSk3T0hp3STpZXTOv6eiTQSAW2kF68DjhlBeGRNQ-hkQwAewOw82yLni5Djs17rCVykv75yyP0mYnPJQdDlP6IQ4qHNSqL-xssOAFXWVa19Cn7i6I73UM_p2NimqK_nPh0Ru3m1q1rKrzN7Kxg=w640-h42" width="640" /></a></div><br /><div>HCというarrayに格納してあり、サイズは(262144, 3)あります。</div><div>上の画像はその一部としてインデックス番号1000番から1049番までのピクセル。</div><div>各ピクセルの位置はヒルベルト曲線のルートに沿って(HX,HY)の変数に格納されています。</div><div><br /></div><div><br /></div><h2 style="text-align: left;">ヒルベルト曲線を利用した画像縮小:</h2><div>上記のスキャンからHX, HY, HCのデータを得たので、それらをもとにオーダー数を下げたヒルベルト曲線で画像縮小を行います。</div><div><br /></div><div><ul style="text-align: left;"><li>オーダー1:2×2ピクセル</li><li>オーダー2:4×4ピクセル</li><li>オーダー3:8×8ピクセル</li><li>オーダー4:16×16ピクセル</li><li>オーダー5:32×32ピクセル</li><li>オーダー6:64×64ピクセル</li><li>オーダー7:128×128ピクセル</li><li>オーダー8:256×256ピクセル</li><li>オーダー9:512×512ピクセル(元画像と同等)</li></ul></div><div><br /></div><div><h3 style="text-align: left;">縮小方法:</h3><div><ul style="text-align: left;"><li>各ピクセルの位置はオーダーに応じたヒルベルト曲線の点座標を用いる</li><li>色情報については、オーダー9のフルスキャンの一直線データを以下の間隔でスキップして当てはめていく。近傍ピクセルの色調補正なし。</li><ul><li>オーダー1:65536個ずつスキップ</li><li>オーダー2:16384個ずつスキップ</li><li>オーダー3:4096個ずつスキップ</li><li>オーダー4:1024個ずつスキップ</li><li>オーダー5:256個ずつスキップ</li><li>オーダー6:64個ずつスキップ</li><li>オーダー7:16個ずつスキップ</li><li>オーダー8:4個ずつスキップ</li><li>オーダー9:1個ずつ、スキップなし(計:262144ピクセル)</li></ul></ul></div></div>
<div><br /></div><h3 style="text-align: left;">以下がコード:</h3>
<div>
<pre><code>
ORDER = 6 # reduction to ORDER=6: 64x64=4096 pixels
N = 2**ORDER
HX, HY = hilbert(ORDER, norm=False, offset=0) # obtain x, y coodinates of the Hilbert curve
HX = HX.astype(int) # convert to dtype as integer
HY = HY.astype(int)
HIM = zeros((N, N, IMG_CH), dtype=int) # prepare an empty array for ORDER=6
for i in range(N * N):
HIM[HY[i], HX[i], :] = HC[i * 4**(DEFAULT_ORDER - ORDER), :] # read the every 64th pixels from the serial data
</code></pre>
</div><div><br /></div><div>上記コードはオーダー6の場合。64個飛ばしに色情報を読み込んでいます。全体的なサイズは64×64で画像幅では1/8、面積的には1/64まで縮小したことになります。</div><div><br /></div><div><br /></div><h3 style="text-align: left;">結果の画像(オーダー9からオーダー6に縮小した場合):</h3><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhRMX2eN4nmrCij3kPEg6g3twwiMqoOV4OE3_YAYAEAKZznaZQkShU-F5Oul9cciuMHlnGEgeaw6rkZYbszJQa8gH2C0RN8AH78WAO9fE1rRdX5dZB24Bp1nvtNG3xTz7zjmSbxTl7dJhk7RyJwtL2dodL3yQB5JrYZMvaiwss4vvNRJki6sHA9T2qqPg=s750" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="725" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEhRMX2eN4nmrCij3kPEg6g3twwiMqoOV4OE3_YAYAEAKZznaZQkShU-F5Oul9cciuMHlnGEgeaw6rkZYbszJQa8gH2C0RN8AH78WAO9fE1rRdX5dZB24Bp1nvtNG3xTz7zjmSbxTl7dJhk7RyJwtL2dodL3yQB5JrYZMvaiwss4vvNRJki6sHA9T2qqPg=w618-h640" width="618" /></a></div><br /><div>オーダーを変えれば多少位置情報は異なりますが、オーダー6であればヒルベルト曲線のフラクタルな性質から一応認識できるレベルにあります。</div><div><br /></div><div><br /></div><h3 style="text-align: left;">水平走査線で同様に読み込ませた場合:</h3><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhwRkJ7AU6_i7eS8Q8cJ5j-aCCTEZ-68EuGnbnF_cyxYvrysrOgY-i9CsoUe7gg_vzM8bgZgcNvrtspDBPzkP6_ZiI4bSaOZvJARVtLWCkYE7c1jpwGMVkl7I7jX9I2yK7628i8vQdSwTzPNclOzjM1n8hPOCRD2Fa7_KiGyZ7MzepoAzhcpRuEXmuXsA=s750" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="728" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEhwRkJ7AU6_i7eS8Q8cJ5j-aCCTEZ-68EuGnbnF_cyxYvrysrOgY-i9CsoUe7gg_vzM8bgZgcNvrtspDBPzkP6_ZiI4bSaOZvJARVtLWCkYE7c1jpwGMVkl7I7jX9I2yK7628i8vQdSwTzPNclOzjM1n8hPOCRD2Fa7_KiGyZ7MzepoAzhcpRuEXmuXsA=w622-h640" width="622" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div>走査線の場合は、先ほどの実験通り画像が崩れてしまいます。縦と横の両方をスキップさせれば表現可能ですが、ヒルベルト曲線の場合は一つの情報をスキップさせるだけで済みます。</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj7IDoDI-IWNLGHMJes1UiQUIczrdDAMbuXedNQ0vT4hPUz9rG39eQNMolIgOyNZ9xnhCoyHdvroYeKWT7xZj_coPoZeQ-cccqdBKPGDr6VMDywF-WnDY4LCYO7SkiDYtrHIAOWRdQU0zoeHINDyBppPFoebNIg6klD3V74uMRO66KOcfHGWJA_87yFjg=s1682" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="1682" height="114" src="https://blogger.googleusercontent.com/img/a/AVvXsEj7IDoDI-IWNLGHMJes1UiQUIczrdDAMbuXedNQ0vT4hPUz9rG39eQNMolIgOyNZ9xnhCoyHdvroYeKWT7xZj_coPoZeQ-cccqdBKPGDr6VMDywF-WnDY4LCYO7SkiDYtrHIAOWRdQU0zoeHINDyBppPFoebNIg6klD3V74uMRO66KOcfHGWJA_87yFjg=w640-h114" width="640" /></a></div><br /><div>上画像はヒルベルト曲線におけるオーダー3(上の段:64ピクセル)から2(下の段:16ピクセル)へ縮小したときのデータの対応表です。ヒルベルト曲線では単に4個ずつスキップしていけばいいので簡単です。</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiTYiKZ7_q3LQvYtEvn2mYuJmBqn5b-_StVXqXnukkSBFFFJK76AKnRDxoIiFPPHaGBzVAAZf0JzMpD4CwiVDvsNPpdBPZiuma6NaGHjHUV5YAGbmD9VyJ1uNJAHMaxvODYoSpfAual5tf2XkToV7q96UHWXXrzj7Q5KoHcr1ktAihQ-RN_VTkIR5_EpQ=s1684" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="306" data-original-width="1684" height="116" src="https://blogger.googleusercontent.com/img/a/AVvXsEiTYiKZ7_q3LQvYtEvn2mYuJmBqn5b-_StVXqXnukkSBFFFJK76AKnRDxoIiFPPHaGBzVAAZf0JzMpD4CwiVDvsNPpdBPZiuma6NaGHjHUV5YAGbmD9VyJ1uNJAHMaxvODYoSpfAual5tf2XkToV7q96UHWXXrzj7Q5KoHcr1ktAihQ-RN_VTkIR5_EpQ=w640-h116" width="640" /></a></div><div><br /></div><div>そしてこちらは、水平走査線の場合です(同じ64ピクセルから16ピクセルへの縮小)。画像の横方向で2個ずつスキップし、さらに縦方向のために16スキップ(4個セットが16スキップ)しなければいけません。計算式は特に難しいことはないのですが、ヒルベルト曲線ほど単純ではありません。</div><div><br /></div><div><br /></div><h3 style="text-align: left;">ヒルベルト曲線スキャンのオーダーごとの画像:</h3><div style="text-align: left;">画像上部にオーダー、サイズが書いてあります。</div><div style="text-align: left;">尚オーダー9が等倍(512×512ピクセル)で、それ以下のオーダー8からの画像になります。</div><div style="text-align: left;"><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgDHOglozCFMXK_751ExvbG7maAZeqKtBF18MZT8Z5j5ybc_MhfYWoyg3EQd_yXb8r5RcTWgl-FZNdloKUIlILWMlWWNVg5bT6MMSt8l3-LokMnSqxhwY5OWyPQu_rl_Ve_uvB7bx6IzhFSrnF9UHwCfkjKx_75qskrKqzPkPnM4awqJtY0EDIjul3rDg=s752" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="752" data-original-width="719" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEgDHOglozCFMXK_751ExvbG7maAZeqKtBF18MZT8Z5j5ybc_MhfYWoyg3EQd_yXb8r5RcTWgl-FZNdloKUIlILWMlWWNVg5bT6MMSt8l3-LokMnSqxhwY5OWyPQu_rl_Ve_uvB7bx6IzhFSrnF9UHwCfkjKx_75qskrKqzPkPnM4awqJtY0EDIjul3rDg=w613-h640" width="613" /></a></div><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgb4aZLoGPxvkAXBGMuWjnoywLxk7n-VHPquYRG9vIM1mSiainU8L_67zyEUaoaZmIV88M1FXPGzIgm8scuPPtvnlUiGHRecbCMS7hM_6RRu5YnsCwhBPcU2DUfztVRsIupiHkM_NKAOXdM719mv4kqKiXFaOxP95XoQgA5xpZNGsWM_CmwWFNO4c8jBA=s746" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="746" data-original-width="728" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEgb4aZLoGPxvkAXBGMuWjnoywLxk7n-VHPquYRG9vIM1mSiainU8L_67zyEUaoaZmIV88M1FXPGzIgm8scuPPtvnlUiGHRecbCMS7hM_6RRu5YnsCwhBPcU2DUfztVRsIupiHkM_NKAOXdM719mv4kqKiXFaOxP95XoQgA5xpZNGsWM_CmwWFNO4c8jBA=w624-h640" width="624" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj0v7qB6_9q_KwtZvVmm-tHhtMv4fiN-taO9GWCqpECuIrByWr20oJ0JmkwVbCpl79QCj-ELdOGgwbR24wVHw5fkQExkgN2H85e7RsA3wrgQinBvvQG82j5ecf9R1xuSqUYXRy-ZY5RXJ6fpkI0CwBBQFiPrGi_0OCVOo_53MIX14uTP5uZ-PdvjVtL1w=s750" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="725" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEj0v7qB6_9q_KwtZvVmm-tHhtMv4fiN-taO9GWCqpECuIrByWr20oJ0JmkwVbCpl79QCj-ELdOGgwbR24wVHw5fkQExkgN2H85e7RsA3wrgQinBvvQG82j5ecf9R1xuSqUYXRy-ZY5RXJ6fpkI0CwBBQFiPrGi_0OCVOo_53MIX14uTP5uZ-PdvjVtL1w=w618-h640" width="618" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgnmKMrNEwK6ftTbj8qDq7EqnGCbZ3rH06PPr0zCzqSZwGu6ekEmUAnLn-LKz4Pf_mm5qtzMjBY3wzKbKv9wlC4ROEj9sE0ANEgXkiTC_voiqFnpH1BkDd9E5Og9So6GfmMVuUdCQQna7bpIGDH-IH8n1ZT65vnZMVshFb-tjaAUtbzxqrXZetgoBpllQ=s741" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="741" data-original-width="728" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEgnmKMrNEwK6ftTbj8qDq7EqnGCbZ3rH06PPr0zCzqSZwGu6ekEmUAnLn-LKz4Pf_mm5qtzMjBY3wzKbKv9wlC4ROEj9sE0ANEgXkiTC_voiqFnpH1BkDd9E5Og9So6GfmMVuUdCQQna7bpIGDH-IH8n1ZT65vnZMVshFb-tjaAUtbzxqrXZetgoBpllQ=w629-h640" width="629" /></a></div><br /><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjl7-7g17zc8a2YZZ0TCCIUNJv_sxrfMPxM2jJyFxwMTOprkrhRG9mMWYG_pdujqAbcs2i6z3W_Mrp3_3gXc7c19JxpnJuYHCuKlhzYcjOTxeIypjpzyRNcCDWFsWktEvDi0G_XcI4jOBe8Ul5inlO44miW4wz5sbeA5l-CfKM0rXcQ-OLpYgz-e7_8GA=s746" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="746" data-original-width="729" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEjl7-7g17zc8a2YZZ0TCCIUNJv_sxrfMPxM2jJyFxwMTOprkrhRG9mMWYG_pdujqAbcs2i6z3W_Mrp3_3gXc7c19JxpnJuYHCuKlhzYcjOTxeIypjpzyRNcCDWFsWktEvDi0G_XcI4jOBe8Ul5inlO44miW4wz5sbeA5l-CfKM0rXcQ-OLpYgz-e7_8GA=w626-h640" width="626" /></a></div><br /><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiArXrtHcpA6Z11aOFxumvxvayTtcN0eqmEkvOZt0LqhwQlTT896O7BUUN26b8liT1Q19lYkmCOv3iYVVIKU54g_lEr_zHEaIQdSpGQdNBv1DmAHoBJDMbIoyyOPPoZeWKPyoIZI57IkwpqLurr5WLkGBLFoSByexf0zc5IUmWLGmKlrzC5dEbY4tuHXA=s749" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="749" data-original-width="725" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEiArXrtHcpA6Z11aOFxumvxvayTtcN0eqmEkvOZt0LqhwQlTT896O7BUUN26b8liT1Q19lYkmCOv3iYVVIKU54g_lEr_zHEaIQdSpGQdNBv1DmAHoBJDMbIoyyOPPoZeWKPyoIZI57IkwpqLurr5WLkGBLFoSByexf0zc5IUmWLGmKlrzC5dEbY4tuHXA=w621-h640" width="621" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjzBqRw_sGX9J-i7YON4fXusnlql6Eh2Uv44CqMSxKKMxZ-kbxGsm8Rs6FZDxRMpDavqn8IC0R7zPan_yRsnPiQ9EQDDGJAKCCWhn3MgSdk69m_EUUh7AffuBdRjULF45TMxN0k8UvvJDFotqqxoZ7ff9jPbcFvft0dYOI5xinWgaJSO-I_iqiLq9dHCg=s749" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="749" data-original-width="736" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEjzBqRw_sGX9J-i7YON4fXusnlql6Eh2Uv44CqMSxKKMxZ-kbxGsm8Rs6FZDxRMpDavqn8IC0R7zPan_yRsnPiQ9EQDDGJAKCCWhn3MgSdk69m_EUUh7AffuBdRjULF45TMxN0k8UvvJDFotqqxoZ7ff9jPbcFvft0dYOI5xinWgaJSO-I_iqiLq9dHCg=w629-h640" width="629" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEinUgrt-aQqQYB2b8jbXjHxpjOqLNOe9hUTTxLp8IrBh3Y_gE4XcOhy1UJMKVyc-WY7FO8CcUnNZWT-gYaHwXNrXVHQ71c_RdwSGcEHBc3s3OCIRPFt6GbzlIwEbkUcGCDWLFpl52HZjCJgxkL_6xdaORKPO1KgcJPVy3UzD6_qrow0ndxU6YLWLdPhow=s746" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="746" data-original-width="733" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEinUgrt-aQqQYB2b8jbXjHxpjOqLNOe9hUTTxLp8IrBh3Y_gE4XcOhy1UJMKVyc-WY7FO8CcUnNZWT-gYaHwXNrXVHQ71c_RdwSGcEHBc3s3OCIRPFt6GbzlIwEbkUcGCDWLFpl52HZjCJgxkL_6xdaORKPO1KgcJPVy3UzD6_qrow0ndxU6YLWLdPhow=w629-h640" width="629" /></a></div><br /><div>認識可能なのはオーダー6以上でしょうか。オーダー5も画像そのものを小さく表示すればある程度は認識可能かもしれません。</div><div><br /></div>
<div><br />
</div>
<div style="float: left;">
<a href="https://blogger.googleusercontent.com/img/a/AVvXsEj0v7qB6_9q_KwtZvVmm-tHhtMv4fiN-taO9GWCqpECuIrByWr20oJ0JmkwVbCpl79QCj-ELdOGgwbR24wVHw5fkQExkgN2H85e7RsA3wrgQinBvvQG82j5ecf9R1xuSqUYXRy-ZY5RXJ6fpkI0CwBBQFiPrGi_0OCVOo_53MIX14uTP5uZ-PdvjVtL1w=s750" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="725" height="32" src="https://blogger.googleusercontent.com/img/a/AVvXsEj0v7qB6_9q_KwtZvVmm-tHhtMv4fiN-taO9GWCqpECuIrByWr20oJ0JmkwVbCpl79QCj-ELdOGgwbR24wVHw5fkQExkgN2H85e7RsA3wrgQinBvvQG82j5ecf9R1xuSqUYXRy-ZY5RXJ6fpkI0CwBBQFiPrGi_0OCVOo_53MIX14uTP5uZ-PdvjVtL1w=w193-h200" width="32" /></a>
</div>
<div style="float: left;">
<a href="https://blogger.googleusercontent.com/img/a/AVvXsEj93ECbU1sx_su773k-w02cW1DFOEY2JGhSGqENlaK2oMimvMLUlb_yzK2LQcYDEUyRLZ3AIBdY5lYbFMIjpCsRk20jPZvS707oVLL_bvUthVAS5pfSSZSFv9bG6yzWsmYua3y69xnREr6AFkI9nn2ST2oSjzp3AhEvZ7VYwuIuSBUM8HfXOw1h9uKjow=s741" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="741" data-original-width="728" height="32" src="https://blogger.googleusercontent.com/img/a/AVvXsEj93ECbU1sx_su773k-w02cW1DFOEY2JGhSGqENlaK2oMimvMLUlb_yzK2LQcYDEUyRLZ3AIBdY5lYbFMIjpCsRk20jPZvS707oVLL_bvUthVAS5pfSSZSFv9bG6yzWsmYua3y69xnREr6AFkI9nn2ST2oSjzp3AhEvZ7VYwuIuSBUM8HfXOw1h9uKjow=w196-h200" width="32" /></a>
</div>
<div style="float: left;">
<a href="https://blogger.googleusercontent.com/img/a/AVvXsEgHic_owsUGIRuh2b3fQawm-P9gFUH9GBmDynhtsekZIUd7aHsc63NDIFZ1cFxqIdqtXd-cQeBOpj8qR-51f6APAPy5QCvEsEtxDUuNDjHSYVZtphkxn4QKyyMz4y9vV_cwrhmMs000UW1ow2FnkUQMwLx5yWvaxVqab4_MqBnd_O4ENM3WxAMxK-s9Qw=s746" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="746" data-original-width="729" height="32" src="https://blogger.googleusercontent.com/img/a/AVvXsEgHic_owsUGIRuh2b3fQawm-P9gFUH9GBmDynhtsekZIUd7aHsc63NDIFZ1cFxqIdqtXd-cQeBOpj8qR-51f6APAPy5QCvEsEtxDUuNDjHSYVZtphkxn4QKyyMz4y9vV_cwrhmMs000UW1ow2FnkUQMwLx5yWvaxVqab4_MqBnd_O4ENM3WxAMxK-s9Qw=w196-h200" width="32" /></a>
</div>
<br /><br />
<div><br /></div><div><br /></div><div>オーダー6、5、4を極端に小さく表示してみました。</div><div>元々、何かのアイコン程度の画素数しかないので、このくらい小さく表示すればあまり違いが目立たなくなります。それでもオーダー4は厳しいかもしれません。</div><div><br /></div><div><br /></div><div><br /></div><h2 style="text-align: left;">ヒルベルト曲線画像スキャンのアニメーション:</h2><div>画像のピクセルを読み込むコードができたのでそのアニメーションもつくってみました。</div><div><br /></div><div>オーダー6であれば4分程度でJupyter notebook上には表示できますが、それでもmatplotlibのデフォルトのメモリー設定を超えてしまうので、メモリー設定を変更しなければなりません。オーダー6のGIFアニメもつくりましたが、4096枚ものGIF画像を使用しているためかGIFファイルだけでも23MBあります。このブログにアップロードする際にエラーが出てしまったので、代わりにmp4の動画をアップロードしました。</div><div>また、オーダー7以上になると時間がかかりすぎるので試していません。</div><div>コード内容は以下のGistを参照してください。</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='634' height='634' src='https://www.blogger.com/video.g?token=AD6v5dwMUlUFZhuNHaikEwXCyS080LJA3WUNrU3HcxyJBchAiVp5h4ghzwPdkEYGmL2f_wtIe-2tV4nuWCIp5tXVCg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div><br /></div><div><br /></div><div>
<script src="https://gist.github.com/mirrornerror/8d45958c3f3473ec1de77edc67116515.js"></script>
<br /></div><div><br /></div><div><br /></div><div>関連:</div><div><a href="https://cnc-selfbuild.blogspot.com/2022/02/hilbert-curvepython.html" target="_blank">ヒルベルト曲線:Hilbert Curve(Python)</a></div><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-30702823297808913022022-02-18T16:59:00.051+09:002022-03-08T14:46:42.839+09:00ヒルベルト曲線:Hilbert Curve(Python)<p>今回は、Pythonでヒルベルト曲線を描いてみます。</p><p>ヒルベルト曲線の性質上、再帰アルゴリズムで解く方法がありますが、今回は再帰アルゴリズムを使わず、そのまま通常ループで解いていこうと思います(個人的にはそのほうが分かりやすいので)。</p><p><span style="color: red;">追記:</span>再帰アルゴリズムを後半に追加しました。</p><p>環境: Python 3.8.5、Jupyter notebook</p><p><br /></p><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhc-NQEjyopp1bQfGdEGZWVLuRjxwu7TprZ3BZWLcYGlB5fuVTygsSxEIsh9l4F6CfBSZyCKhYW802RnBISTf5knrufjsPKS2QbzWEnYKg-WL6oO9ADi_yQY1ufk6XR4JyS6qVpVaGPpTkaHJp8yj9xKdOEYXcGJjcAwMP3XrKnqbfxrZMiortiFFijQQ=s910" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="886" data-original-width="910" height="390" src="https://blogger.googleusercontent.com/img/a/AVvXsEhc-NQEjyopp1bQfGdEGZWVLuRjxwu7TprZ3BZWLcYGlB5fuVTygsSxEIsh9l4F6CfBSZyCKhYW802RnBISTf5knrufjsPKS2QbzWEnYKg-WL6oO9ADi_yQY1ufk6XR4JyS6qVpVaGPpTkaHJp8yj9xKdOEYXcGJjcAwMP3XrKnqbfxrZMiortiFFijQQ=w400-h390" width="400" /></a></div>
<p>上画像、ORDER=6の場合(4096個の点をつないだ線)。</p><p>ORDERを上げていけば、面を埋め尽くしてしまうという空間充填曲線の一つ。</p><p>また拡大縮小しても相似形となるフラクタルな性質も持ち合わせています。</p><p><br /></p><h3 style="text-align: left;">アルゴリズム:</h3><p>まずヒルベルト曲線は4点からなるコの字を基準として、それの組み合わせで描いていきます。</p><p>コの字の組み合わせとして、90回転が4パターン、そして時計回り、反時計回りがあるので、合計4x2=8パターンありますが、実際はそのうちの4パターンしか使いません。</p><p>今回は、座標(0,0)を開始点とし移動方向が上右下のコの字を基本形とし、そのほか右上左、左下右、下左上の4パターンを使います。</p><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjYWjmF9o7W7CquT0An5LoOJwn1wrDfQqsRlhVSBL1mJoOLrPeJ0z1suO7WGEux4MCkZHbpVZtd_WwR3k7D74LZwwOViFQMyNY7-U4LptZZfyB4i6_zXDJjAsivxke3ngXnM4RlZVpqq_xjBs3F0wGjVdvWNxJbCYQdRyzJIc1k_Br_BM-ekE0S213TQw=s666" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="616" data-original-width="666" height="296" src="https://blogger.googleusercontent.com/img/a/AVvXsEjYWjmF9o7W7CquT0An5LoOJwn1wrDfQqsRlhVSBL1mJoOLrPeJ0z1suO7WGEux4MCkZHbpVZtd_WwR3k7D74LZwwOViFQMyNY7-U4LptZZfyB4i6_zXDJjAsivxke3ngXnM4RlZVpqq_xjBs3F0wGjVdvWNxJbCYQdRyzJIc1k_Br_BM-ekE0S213TQw=s320" width="320" /></a></div>
<br clear="left" /><p>ORDER=1の場合、上画像のような4点になります。</p><h3 style="text-align: left;">ルール1:(X座標が右向き、Y座標が上向きの場合)</h3><p></p><ul style="text-align: left;"><li>4点を(0, 1, 2, 3)の順番とする。</li><li>原点0:(0, 0)を左下にする。</li><li>原点(0, 0)から上(0, 1)、右(1, 1)、下(1, 0)という順番で描く。</li></ul><p></p><p>*尚、プログラミング環境によってY座標が下向きの場合は、原点が左上となり、下、右、上(上下反転)。</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiU6pJ5B2ed-F7kJJqP2jHY2673mCnLphBCnZ7ArPBahACFjbEDQepjP0v_JSsTdOh49xEX5D6SWS9nWE9qeqDsUfUph538kdDOuvH2mqLVh4L2QnoK5yG_j3d36tNizCmWgdsXyEoKyEPUOEIZafIbPp5cxvc2oyUxCaRgVdrdaULOAXcsOh_y2j9HTQ=s770" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="722" data-original-width="770" height="300" src="https://blogger.googleusercontent.com/img/a/AVvXsEiU6pJ5B2ed-F7kJJqP2jHY2673mCnLphBCnZ7ArPBahACFjbEDQepjP0v_JSsTdOh49xEX5D6SWS9nWE9qeqDsUfUph538kdDOuvH2mqLVh4L2QnoK5yG_j3d36tNizCmWgdsXyEoKyEPUOEIZafIbPp5cxvc2oyUxCaRgVdrdaULOAXcsOh_y2j9HTQ=s320" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><span style="text-align: left;">次にORDER=2の場合(赤破線はORDER=1)。</span></div><div class="separator" style="clear: both; text-align: left;"><span style="text-align: left;">黒番号は全体の通し番号(0〜15)。</span></div><div class="separator" style="clear: both; text-align: left;"><span style="text-align: left;">青番号はORDER=2におけるローカルな番号(ORDER=1の番号と同じ位置関係)。</span></div><div class="separator" style="clear: both; text-align: left;">1組目の青コの字(通し番号0〜3)は赤0のエリア</div><div class="separator" style="clear: both; text-align: left;">2組目の青コの字(通し番号4〜7)は赤1のエリア</div><div class="separator" style="clear: both; text-align: left;">3組目の青コの字(通し番号8〜11)は赤2のエリア</div><div class="separator" style="clear: both; text-align: left;">4組目の青コの字(通し番号12〜15)は赤3のエリア</div><div class="separator" style="clear: both; text-align: left;"><br /></div><h3 style="text-align: left;">ルール2:</h3><p></p><ul style="text-align: left;"><li>点の数は4<sup>n</sup>個(コの字4点の組数:2<sup>n</sup>個)、n=ORDER</li><li>コの字(4点)ごとに(0, 1, 2, 3)の番号をつける。</li><li>前回のORDER=1(赤破線)を参照し、青(0,1,2,3)の順番を入れ替える。</li><ul><li>赤0のエリア: 青(0,<span style="background-color: white;"><span style="color: red;">1</span></span>,2,<span style="color: red;">3</span>)→青(0,<span style="color: red;">3</span>,2,<span style="color: red;">1</span>)、青1と青3を入れ替え</li><li>赤1のエリア: 青(0,1,2,3)→青(0,1,2,3)、入れ替えなし</li><li>赤2のエリア: 青(0,1,2,3)→青(0,1,2,3)、入れ替えなし</li><li>赤3のエリア: 青(<span style="color: red;">0</span>,1,<span style="color: red;">2</span>,3)→青(<span style="color: red;">2</span>,1,<span style="color: red;">0</span>,3)、青0と青2を入れ替え</li></ul></ul><p></p><ul style="text-align: left;"><li>前回のORDER=1(赤破線)を参照し、その順番で青コの字を配置する。</li><ul><li>赤0:(0,0)のエリア内に青1組目を配置する。</li><ul><li>赤(0, 0)に赤単位長2を掛けた値(0,0)を青の点に加算する(赤0の場合は結局0)。</li></ul><li>赤1:(0,1)のエリア内に青2組目を配置する。</li><ul><li>赤(0, 1)に赤単位長2を掛けた値(0,2)を青の点に加算する。</li></ul><li>赤2:(1,1)のエリア内に青3組目を配置する。</li><ul><li>赤(1, 1)に赤単位長2を掛けた値(2,2)を青の点に加算する。</li></ul><li>赤3:(1,0)のエリア内に青4組目を配置する。</li><ul><li>赤(1, 0)に赤単位長2を掛けた値(2,0)を青の点に加算する。</li></ul></ul></ul><div><span> </span>(例)通し番号7の場合:</div><div><span><span> </span><span> </span>赤1(0,1)のエリア内で青3(1,0)であるため</span></div><div><span> </span><span> </span>赤1(0,1)×赤単位長2 + 青(1,0)×青単位長1 = (0,1)×2 + (1,0)×1 = (1,2)</div><div><span> </span><span> </span>よって通し番号7は最終的に(1,2)の座標になる。</div><div><br /></div><p>ORDER=Nの内容を得るには、ORDER=N-1を参照し、ORDER=N-1の内容を得るには、ORDER=N-2を参照するように遡っていくので、たしかに再帰アルゴリズムが向いていることが分かります。しかし、今回はこのまま続行。</p><p><br /></p><p>上記手続きのコード:</p><pre><code>N = 2**ORDER
X,Y = [], []
for i in range(N * N):
U = [[0, 0], [0, 1], [1, 1], [1, 0]]
px, py = 0.5, 0.5
for j in reversed(range(ORDER)):
ID = i // 4**j % 4
L = 2**j
if ID == 0:
U[1], U[3] = U[3], U[1]
elif ID == 3:
U[0], U[2] = U[2], U[0]
px += U[ID][0] * L
py += U[ID][1] * L
X.append(px)
Y.append(py)</code></pre><div><br /></div><div>上記コードの説明(ORDER=3の場合): </div><div><ul style="text-align: left;"><li>ORDER=3のため合計2<sup>3</sup>×2<sup>3</sup>=64点(0〜63)を順番に一つずつforループ処理させる。</li><li>基本となるコの字型(ORDER=1)の座標を、U=[[0,0],[0,1],[1,1],[1,0]]という配列にしておく。</li><li>ORDER=3のとき、縦横に8個ずつ点があるため単位長を1とすれば全体のサイズは8x8となり、2のORDER乗だけ大きくなる(最終的に正規化し1×1のサイズに変更可)。</li><li>px, pyは原点座標であり、最終的に最小単位長1の半分(0.5)のオフセットがあるため、最初にずらしておく。</li><li>ネストされたfor文でORDERの数だけループさせる。reversed()で反転させたループとなり、j=2,1,0となる。</li><li>ID=i//4**j%4は、ORDER=jによる各点の位置関係を0〜3の値で返す。ORDER=3の場合は4進数の3ビットとなる(以下に「4進数」の説明あり)。</li><li>L=2**jは、ORDER=jに応じた単位長。</li><ul><li>j=2: L=4 (ORDER=1)</li><li>j=1: L=2 (ORDER=2)</li><li>j=0: L=1 (ORDER=3)</li></ul><li>ID=0の時U[1]とU[3]、ID=3の時U[0]とU[2]の入れ替えてコの字の向きを変える。</li><li>px+=U[ID][0]*Lは、入れ替えによって得られたUの要素とORDER数に応じた単位長を掛け合わせた値が加算され、最終的な座標が得られる(pyについても同様)。</li></ul><div><br /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhPM1PQemdiVuGvPH55n1tvT7Yf4tqIBiGK5NXx8oIcWtwdqKqISSD9KeI5KAOP9wS7Mn2xH3_QLefPL_7TdKR1kWEgmZCTy5xmJeXINScPJgbsNuSUvG3u5Bygq3FIxR2dyzA4lRqWFw9v5iHrscvcsCz6IaNYMzfkZVumF9dyuaiMQmE2_V8HhwIs6w=s866" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="828" data-original-width="866" height="383" src="https://blogger.googleusercontent.com/img/a/AVvXsEhPM1PQemdiVuGvPH55n1tvT7Yf4tqIBiGK5NXx8oIcWtwdqKqISSD9KeI5KAOP9wS7Mn2xH3_QLefPL_7TdKR1kWEgmZCTy5xmJeXINScPJgbsNuSUvG3u5Bygq3FIxR2dyzA4lRqWFw9v5iHrscvcsCz6IaNYMzfkZVumF9dyuaiMQmE2_V8HhwIs6w=w400-h383" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><span style="text-align: left;">青がORDER=3の結果。緑がORDER=2、赤がORDER=1。</span></div><div>黒番号は、全体の通し番号(0〜63)。</div><div>どのORDERにおいても基本的に左下:0、左上:1、右上:2、右下:3(ORDER=1を基準とする)。</div><div>各番号に対する座標:0:(0,0)、1:(0,1)、2:(1,1)、3:(1,0)</div><div><br /></div><div>例えば、通し番号45の場合(上から3、右から2)、</div><div><span> </span>ORDER=1(赤)においては2のエリア(1,1)、ORDER=1の単位長L=4</div><div><span> </span>ORDER=2(緑)においては3のエリア(1,0)、ORDER=2の単位長L=2</div><div><span> </span>ORDER=3(青)においては1のエリア(0,1)、ORDER=3の単位長L=1</div><div>となるため、</div><div><span> </span>(px, py)= (1,1)×4 + (1,0)×2 + (0,1)×1 = (4,4) + (2,0) + (0,1) = (6,5)</div><div>となる。</div><div><br /></div><div>同様に57の場合(右から4番目、下から2番目)の場合、</div><div><div><span> </span>ORDER=1(赤)においては3のエリア(1,0)、ORDER=1の単位長L=4</div><div><span> </span>ORDER=2(緑)においては0のエリア(0,0)、ORDER=2の単位長L=2</div><div><span> </span>ORDER=3(青)においては1のエリア(0,1)、ORDER=3の単位長L=1</div></div><div>よって、</div><div><span> </span>(px, py)= (1,0)×4 + (0,0)×2 + (0,1)×1 = (4,0) + (0,0) + (0,1) = (4,1)</div><div>となる。</div><div><br /></div><div><br /></div><h3 style="text-align: left;">4進数:</h3><div>仕組みとしては4進数であり、ORDERが1増えるごとに4進数の桁も一つ増えていくことになります。同時に桁が増えるごとに、その桁に対応した単位長も2<sup>n</sup>になり、桁の値と単位長を掛け合わせて合算するとその地点の座標が求まります。</div><div><br /></div><div>ORDER=3の場合は、IDは4進数による3ビット(以下の数値の並びを縦に見る)になり、</div><div><br /></div><div><div>ORDER=1(j=2):ID=[0,0,0,0,0,0,0,0,0,0,0,0,0,<span style="color: red;">0</span>,0,0,1,1,1,1,1,1,1,1...]</div><div>ORDER=2(j=1):ID=[0,0,0,0,1,1,1,1,2,2,2,2,3,<span style="color: red;">3</span>,3,3,0,0,0,0,1,1,1,1...]</div><div>ORDER=3(j=0):ID=[0,1,2,3,0,1,2,3,0,1,2,3,0,<span style="color: red;">1</span>,2,3,0,1,2,3,0,1,2,3...]</div></div><div><br /></div><div>ORDER=1は16個ごと、ORDER=2は4個ごと、ORDER=3は1個ごとに[0,1,2,3]の繰り返しになっています。ORDER=3の値の並びが最小単位のコの字に対応していますが、例えば13番目(0番目から数えて)の点は、縦に[0][3][1](赤い列の部分)であり、</div><div><br /></div><div>ORDER=1(j=2): ID=[<span style="color: red;">0</span>] 左下:(0,0)、単位長:L=2**j=4</div><div>ORDER=2(j=1): ID=[<span style="color: red;">3</span>] 右下:(1,0)、単位長:L=2**j=2</div><div>ORDER=3(j=0): ID=[<span style="color: red;">1</span>] 左上:(0,1)、単位長:L=2**j=1</div><div><br /></div><div>となり、ORDER=1のスケールでは左下(0,0)、ORDER=2のスケールでは右下(1,0)、ORDER=3のスケールでは左上(0,1)ということであり、各スケールにおける区画から住所のように座標を割り出せます。</div><div><br /></div><div>ただし、途中で基準となるコの字型U=[[0,0],[0,1],[1,1],[1,0]]の要素の入れ替えがあるので、あくまでIDの番号は上の並びであって、U[0]〜U[3]の中身の並びは少し変わります。</div><div>以下は入れ替え後のU[ID]の4進数3ビット。</div><div><br /></div><div><div>ORDER=1(j=2):U[ID]=[0,0,0,0,0,0,0,0,0,0,0,0,0,<span style="color: red;">0</span>,0,0,1,1,1,1,1,1,1,1...]</div><div>ORDER=2(j=1):U[ID]=[0,0,0,0,3,3,3,3,2,2,2,2,1,<span style="color: red;">1</span>,1,1,0,0,0,0,1,1,1,1...]</div><div>ORDER=3(j=0):U[ID]=[0,1,2,3,0,3,2,1,0,3,2,1,2,<span style="color: red;">3</span>,0,1,0,3,2,1,0,1,2,3...]</div></div><div><br /></div><div>ORDER=1は、[0,1,2,3]の順で各16個ずつ合計64個。</div><div>ORDER=2は、[0,3,2,1][0,1,2,3][0,1,2,3][2,1,0,3]の順で各4個ずつ合計64個。</div><div>ORDER=3は、[0,1,2,3][0,3,2,1][0,3,2,1][2,3,0,1][0,3,2,1][0,1,2,3]...という並び方になっています。</div><div>先ほどの13番目の点(赤い列の部分)は、U[1]とU[3]の入れ替えによって[0][1][3]に変わっています。</div><div>この座標を求めると、</div><div><br /></div><div>ORDER=1(j=2):[<span style="color: red;">0</span>]:(0,0),単位長:L=2**j=4</div><div>ORDER=2(j=1):[<span style="color: red;">1</span>]:(0,1),単位長:L=2**j=2</div><div>ORDER=3(j=0):[<span style="color: red;">3</span>]:(1,0),単位長:L=2**j=1</div><div><br /></div><div>ということになり、各座標に単位長を掛け合わせて合算すると、</div><div><br /></div><div>(0,0)×4 + (0,1)×2 + (1,0)×1 = (0,0)+(0,2)+(1,0) = (1,2)</div><div><br /></div><div>よって、13番目(0番目から数えて)の点の座標は、(x,y) = (1,2)になります。</div><div><br /></div><div>この入れ替えを含めたパターンがヒルベルト曲線におけるアルゴリズムの特徴だと思います。フラクタルだけあってこれもまたあるパターンの繰り返しになっています。</div><div><br /></div><div><br /></div><h3 style="text-align: left;">再帰アルゴリズム(追加):</h3><div>せっかくなので再帰アルゴリムも試してみました(単にforループを外しただけです)。</div><div>Pythonのシステム上、再帰回数がデフォルト:1000回に設定されており、必要に応じて設定変更しなければいけないようです。</div><div>今回の場合:</div><div>オーダー4:1024回</div><div>オーダー5:4096回</div><div>オーダー6:16384回</div><div>オーダー7:65536回</div><div>オーダー8:262144回</div><div>オーダー9:1048576回</div><div>になります。</div><div>しかしながら、設定を挙げてもオーダー5にするとパンクしてしまいます。colab.googleでもオーダー5が限界だったので、Jupyter自体のメモリー設定を変えるか、メモ化などの工夫が必要かもしれません。面倒なので無理にこの方法を使わなくでもいいかもしれません。</div><div>ちなみにfunctools.lru_cacheのメモ化ツールを使う場合は、arrayやlistを含んだ関数はダメなので、それらを全部タプルに変換する必要があります(メモ化の場合、値そのものを辞書機能のキーに割り当てるため、その際にarrayやlistだとキーにならないためタプルに変換する必要がある)。そうやって試してみましたが、それでもダメでした。</div><div><br /></div>
<div>
<pre><code>
import sys
sys.setrecursionlimit(10 ** 4) # Increase recursive functions memory(default: 1000)
def hilbert(i, L, U):
if i == 4**Order:
return P + 0.5 # Final output when the iteration finishes, offset(x, y)=(0.5, 0.5)
if L >= 0:
ID = i // 4**L % 4 # Quarternary index number
if ID == 0:
U[1], U[3] = U[3].copy(), U[1].copy() # Turn the U-shape in clockwise and steps in anti-clockwise
elif ID == 3:
U[0], U[2] = U[2].copy(), U[0].copy() # Turn the U-shape in anti-clockwise and steps in anti-clockwise
P[:, i] += U[ID] * 2**L # add each step to the array for the output
return hilbert(i, L-1, U) # go to the next L(L=Order-1, Order-2 ... 0, -1)
U = array([[0,0],[0,1],[1,1],[1,0]]) # initialize U and L
L = Ord - 1
return hilbert(i+1, L, U) # go to the next i
Order = 4 # Level of Order (fixed value)
i = 0 # The number of iteration(i=0, 1 ... 4**Order-1)
L = Ord - 1 # Length of U-shape(L=Order-1, Order-2 ... 0, -1)
U = array([[0,0],[0,1],[1,1],[1,0]]) # Initial U-shape coodinates
P = zeros((2, 4**Order)) # Initial empty array for the output
P = hilbert(i, L, U) # X, Y = P[0], P[1]
</code></pre>
</div>
<div>まず設定したOrderによって点の合計数(4**Order)が決まり、その回数だけ再帰ループすることを終了条件(最後に各点座標を含んだarray:Pにオフセット0.5を加えた値を返します)にします。<br />
</div><div>次に、iに対して参照する各オーダーの座標を積算していきます。その際も再帰ループでオーダーの分ループし、各オーダーにおける単位長Lをもとに座標を求めていきます。</div><div>このオーダーのループが終われば次の点(i+1)を代入した最後の再帰ループに移行します。</div><div>という二段階の再帰ループになっています。</div><div>i+1が終了条件に達すれば、そこで終了し、すべての点座標を含んだPを返します。</div>
<div><br /></div><div>上記の二重再帰を少し変更してみました。以下のように最初の再帰をforループに変えてあります(再帰ループを使う意味が本末転倒)。</div>
<div>
<pre><code>
def hilbert(i):
if i == 4**Order:
return P + 0.5 # Final output when the iteration finishes, offset(x, y)=(0.5, 0.5)
U = array([[0,0],[0,1],[1,1],[1,0]]) # initialize U and L
for j in reversed(range(Order)): # loop for each Order-scale steps: j=Order-1, Order-2 ... 0
ID = i // 4**j % 4 # Quarternary index number
if ID == 0:
U[1], U[3] = U[3].copy(), U[1].copy() # Turn the U-shape in clockwise and steps in anti-clockwise
elif ID == 3:
U[0], U[2] = U[2].copy(), U[0].copy() # Turn the U-shape in anti-clockwise and steps in anti-clockwise
P[:, i] += U[ID] * 2**j # add each step to the output array
return hilbert(i+1) # go to the next i
Order = 5 # Level of Order (fixed value)
P = zeros((2, 4**Order)) # Initial empty array for the output
i = 0 # The number of iteration(i=0, 1 ... 4**Order-1)
P = hilbert(i) # X, Y = P[0], P[1]
</code></pre>
</div><div><br /></div><div>再帰が一つ減った分、オーダー5までは動くようになりましたが、それ以上だとパンクしてしまいます。徐々にもともとのforループだけのコードに近くなってきたので、無理に再帰を使わなくてもいいかもしれません。再帰なしのforループだけのコードならオーダー9でも動きます。</div><div><br /></div><div>さらに以下は、全体をforループで回し、その内部でオーダーに応じたステップ数を計算する部分だけ再帰にしてみた場合です。この場合もオーダー5でパンクしてしまいます。<br /></div>
<div>
<pre><code>
def hilbert(n, L, U):
for i in range(n, 4**Order):
if L >= 0:
ID = i // 4**L % 4 # Quarternary index number
if ID == 0:
U[1], U[3] = U[3].copy(), U[1].copy() # Turn the U-shape in clockwise and steps in anti-clockwise
elif ID == 3:
U[0], U[2] = U[2].copy(), U[0].copy() # Turn the U-shape in anti-clockwise and steps in anti-clockwise
P[:, i] += U[ID] * 2**L # add each step to the array for the output
return hilbert(n, L-1, U) # go to the next L(next Order: 1, 2 ... Order-1)
U = array([[0,0],[0,1],[1,1],[1,0]]) # initialize U and L
L = Order - 1
n += 1
return P
Order = 4 # Level of Order (fixed value)
P = zeros((2, 4**Order)) # Initial empty array for the output
n = 0 # The number of iteration(i=0, 1 ... 4**Order-1)
L = Order - 1 # Length of U-shape(L=Order-1, Order-2 ... 0)
U = array([[0,0],[0,1],[1,1],[1,0]]) # Initial U-shape coodinates
P = hilbert(n, L, U) # X, Y = P[0], P[1]
</code></pre>
</div><div><br /></div><div>結果、このアルゴリズムだと再帰は向いていないようです。とりあえず現状では、再帰なしの通常forループで行ったほうがよさげです。</div><div><br /></div><div><br /></div>
<h3 style="text-align: left;">全体的なコード:</h3><div>アニメーション描画のコードも追加してあります。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhgk5ksYj6v8CBWyVOnYnWvSoboXQgqmAGqtTAeQxToYr7pu1IvmxTtoz0BvpfLzzYBHPjQRO1n8bqOXu1j-4HoxCZWuU7yuyLX8d9m-W-6K7ARPG-fqtCJVQ5v6s3ym97v_T546cTSkiAhG6-vxHbK9sN0qQPQwSnIFmNT4MvDQmSM_Zer1fDyAASA7Q=s576" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="576" data-original-width="576" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEhgk5ksYj6v8CBWyVOnYnWvSoboXQgqmAGqtTAeQxToYr7pu1IvmxTtoz0BvpfLzzYBHPjQRO1n8bqOXu1j-4HoxCZWuU7yuyLX8d9m-W-6K7ARPG-fqtCJVQ5v6s3ym97v_T546cTSkiAhG6-vxHbK9sN0qQPQwSnIFmNT4MvDQmSM_Zer1fDyAASA7Q=w400-h400" width="400" /></a></div><br /><div><br /></div><div><br /></div><div><br clear="left" /></div><div><script src="https://gist.github.com/mirrornerror/7c9f7d6cb3026dc4557eb7f600c07ad5.js"></script><br /></div>関連:<div><a href="https://cnc-selfbuild.blogspot.com/2022/02/hilbert-curve.html" target="_blank">ヒルベルト曲線/Hilbert curve(その2):曲線上の任意点と画像縮小</a></div><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-73918857633535020952021-06-03T21:33:00.046+09:002023-09-10T12:21:39.629+09:00IK(逆運動学):複数の円の交点から求める<p> 以前、CCD、FABRIK、ヤコビ行列などを用いて逆運動学を求めましたが、今回は複数の円を用いて、それらの交点から2D逆運動学を求めてみます。</p><p>環境:Python 3.8.5、Jupyter Notebook</p><p><br /></p><p>これまでの方法:</p><ul><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">Inverse Kinematics 逆運動学:Backward Shift、FABRIK、CCD</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">Jacobian Inverse Kinematics :ヤコビ行列を用いた逆運動学(その1)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">IK(逆運動学):同次変換行列、クロス積によるヤコビ行列(その2)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ikccdfabrik.html" target="_blank">IK(逆運動学):アーム可動域制限(角度制限)CCDとFABRIKの場合</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik.html" target="_blank">IK(逆運動学):同次変換行列/ヤコビ行列(クロス積)/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik3d.html" target="_blank">IK(逆運動学)3Dアーム/同次変換行列/ヤコビ行列/角度制限</a></li></ul><div><br /></div><div><br /></div><h3 style="text-align: left;">今回の特長:</h3><p></p><ol style="text-align: left;"><li>2D逆運動学</li><li>行列式、ヤコビ行列は使わない</li><li>繰り返し計算で目標値に近似する</li><li>ガイドとなる円弧に沿ってアーム全体が配置される</li><li>アームが交差しない</li><li>ジョイント角が均等になる(各リンク長が等しい場合)</li><li>各リンク長が異なっても計算可能</li><li>N個のリンクに対応</li></ol><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-wBHu230eNL8/YLi3bAEIdZI/AAAAAAAAPJM/hcqrndbJmGoLgdE8pDMsxI0EYI9KPAevwCLcBGAsYHQ/s900/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-03%2B19.58.28.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="860" data-original-width="900" height="383" src="https://1.bp.blogspot.com/-wBHu230eNL8/YLi3bAEIdZI/AAAAAAAAPJM/hcqrndbJmGoLgdE8pDMsxI0EYI9KPAevwCLcBGAsYHQ/w400-h383/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-03%2B19.58.28.png" width="400" /></a></div><h3 style="text-align: left;">上図(アーム先端がターゲットに到達した状態):</h3><div><ul style="text-align: left;"><li>座標(0,0)がベース、LV[4]がアーム先端、TV(赤い×)がターゲット。</li><li>青破線の円は各リンクの可動域、各ジョイント位置が円の中心。</li><li>赤破線の円は各リンクを円弧状に配置するためのガイド、CPが円の中心。</li><li>複数のリンクは赤破線の円に沿って配置されるため均等な角度となる(各リンク長が等しい場合)。</li></ul></div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-Uqj2xycQJV8/YLi5L5WYpsI/AAAAAAAAPJU/I7jHF6pVVSY6Yy0ktN30sxD6jaECXUmEQCLcBGAsYHQ/s868/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-03%2B20.12.24.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="852" data-original-width="868" height="393" src="https://1.bp.blogspot.com/-Uqj2xycQJV8/YLi5L5WYpsI/AAAAAAAAPJU/I7jHF6pVVSY6Yy0ktN30sxD6jaECXUmEQCLcBGAsYHQ/w400-h393/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-03%2B20.12.24.png" width="400" /></a></div><h3 style="text-align: left;">上図(初期状態:未到達時):計算手順</h3><div><ul style="text-align: left;"><li>ベース(0,0)からターゲットTV(赤い×)まで線を引く(|TV|>0)</li><li>ベクトルTVの中点から垂直方向にCPを配置する(暫定的な配置)</li><li>(0,0)とTVを通り、CPを中心とした円を用意する(赤破線の円)、半径CR=|CP|</li><li>各リンクのジョイント座標を赤破線の円上に配置する(青破線の円と赤破線の円の交点利用)</li><li>(0,0)、CP、TVの3点からなる角度Aを求める(下図)</li><li>(0,0)、CP、アーム先端(LV[4])の3点からなる角度Bを求める(下図)</li><li>角度A+角度B=360度になるときアーム先端(LV[4])とTVが一致する</li><li>角度A+角度Bが360度になるように、その差分Errorに応じてCPの座標を調節する計算式を用意する</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-7a6vc37W0eo/YLtaQuRNvKI/AAAAAAAAPKE/MdcB3N8sWRYhljTrJ2iwCfkc_w3_Qk43wCLcBGAsYHQ/s702/twoCircles.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="689" data-original-width="702" height="393" src="https://1.bp.blogspot.com/-7a6vc37W0eo/YLtaQuRNvKI/AAAAAAAAPKE/MdcB3N8sWRYhljTrJ2iwCfkc_w3_Qk43wCLcBGAsYHQ/w400-h393/twoCircles.png" width="400" /></a></div><div><br /></div><div><br /></div></div>
<pre>Error = Thetas - tau
scaler += Error * 0.1
CP = np.array([-TV[1], TV[0]]) * scaler + TV/2</pre>
<div><br /></div>
<div>上記がCPの座標を調節する計算式。</div><div>Thetasは角度Aと角度Bの合計角、tauは2π=360度(目標値)、Errorはその差分。</div><div>CPの座標が変わることで赤破線の円の半径が変わる。常にCPはTV中点からの垂線上にある。</div><div><ul style="text-align: left;"><li>scaler=0のとき、TV/2がCPとなり、(0,0)とターゲット(TV)を直径とする円になる</li><li>scaler>0のとき、CPの位置はTV/2より上側になる</li><li>scaler<0のとき、CPの位置はTV/2より下側になる</li></ul></div><div>
<div>つまり、目標値360度と角度A+角度Bの合計角の差分によってscaler値を増減させ、繰り返し計算によってアーム先端をターゲットに近似させていきます。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-1brG8YF4jnM/YLmYz8gwAQI/AAAAAAAAPJk/ApPbbHoOjH4NaHCpx28uKwM4HmBO5zi5ACLcBGAsYHQ/s858/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-04%2B12.05.12.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="850" data-original-width="858" height="396" src="https://1.bp.blogspot.com/-1brG8YF4jnM/YLmYz8gwAQI/AAAAAAAAPJk/ApPbbHoOjH4NaHCpx28uKwM4HmBO5zi5ACLcBGAsYHQ/w400-h396/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-04%2B12.05.12.png" width="400" /></a></div><div><h3>上図:</h3></div><div>ターゲット(TV:赤い×)がベース(0,0)に近い場合でもアームが交差しない。ただし、|TV|>0の場合。</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-fHxpzmGzr_k/YLmocA6g3pI/AAAAAAAAPJ0/zS--abR1M-UKQhPU8N2nYR23GIWtHClWACLcBGAsYHQ/s864/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-04%2B13.09.29.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="846" data-original-width="864" height="391" src="https://1.bp.blogspot.com/-fHxpzmGzr_k/YLmocA6g3pI/AAAAAAAAPJ0/zS--abR1M-UKQhPU8N2nYR23GIWtHClWACLcBGAsYHQ/w400-h391/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-04%2B13.09.29.png" width="400" /></a></div><div><div><h3>上図:</h3></div><div>ターゲット(TV:赤い×)が遠く到達不可能な場合、ターゲット(TV)に向けてアームが伸びる。この場合、1000ループで計算終了。</div></div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-hVP9apHUJv0/YLmZoDtpbPI/AAAAAAAAPJs/nFExHy4tUX8uPUvjCA2439nKwod01ksFwCLcBGAsYHQ/s884/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-04%2B12.09.23.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="858" data-original-width="884" height="389" src="https://1.bp.blogspot.com/-hVP9apHUJv0/YLmZoDtpbPI/AAAAAAAAPJs/nFExHy4tUX8uPUvjCA2439nKwod01ksFwCLcBGAsYHQ/w400-h389/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-04%2B12.09.23.png" width="400" /></a></div><div>
<div><h3>上図:</h3></div><div>リンク数10の場合。変数Nにリンク数を代入することで任意のリンク数に対応。</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-pPDQ-d6AwIo/YLjJD-XCKkI/AAAAAAAAPJc/54TJlfnZ2DQFAQDvwMw5fJ_-B-OlfCG1wCLcBGAsYHQ/s862/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-03%2B21.20.08.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="856" data-original-width="862" height="398" src="https://1.bp.blogspot.com/-pPDQ-d6AwIo/YLjJD-XCKkI/AAAAAAAAPJc/54TJlfnZ2DQFAQDvwMw5fJ_-B-OlfCG1wCLcBGAsYHQ/w400-h398/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-06-03%2B21.20.08.png" width="400" /></a></div><h3 style="text-align: left;">上図:</h3><div>円の交点と角度の計算だけなので、各リンクが異なる長さの場合も計算可能。</div><div><br /></div><div><br /></div>
<h3 style="text-align: left;">コード:</h3>
<div><ul style="text-align: left;"><li>Nはリンク数。TVはターゲットベクトル。LRは各リンク長(デフォルト:1.0)。</li><li>While文で繰り返し計算を行い、アーム先端(LV[4])とターゲットTVとの差分(Error)が0.0001以下、あるいは1000ループを超えるとループ解除。</li><li>intersects()関数は2つの円の中心座標と半径を引数にして、2つの交点を返しますが、今回は一方の交点(上側の交点座標)を利用。</li></ul></div>
<div><br /></div>
<script src="https://gist.github.com/mirrornerror/97340a14de085961a140f4a9f6e9ca51.js"></script>
<div><br /></div><div>
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcbk0IeEX0edJNfDm00R1VEk1gRP-EgnGAe6hNqIE3MCSGIAu5MCAg_IvOF2jtZ4wH5T8gUlndj1LFfppITYO4ioIrURJ6mZ1fDqIriDDpkgf6YFbJOgIwNPkYCYfbcsQoPntwRKKciB40DiuGP8XXpU_-9_pNwaGTteRaYvCVvzLYhJxlACAe1gJQ2Uw_/s350/Sa54cc50a71014240a223961306d15b252.jpg_350x350.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="350" data-original-width="350" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcbk0IeEX0edJNfDm00R1VEk1gRP-EgnGAe6hNqIE3MCSGIAu5MCAg_IvOF2jtZ4wH5T8gUlndj1LFfppITYO4ioIrURJ6mZ1fDqIriDDpkgf6YFbJOgIwNPkYCYfbcsQoPntwRKKciB40DiuGP8XXpU_-9_pNwaGTteRaYvCVvzLYhJxlACAe1gJQ2Uw_/s320/Sa54cc50a71014240a223961306d15b252.jpg_350x350.jpg" width="320" /></a></div>
<div><a href="https://s.click.aliexpress.com/e/_mP3jKw2" target="_blank">Top On Sale Product Recommendations!</a></div><div><a href="https://s.click.aliexpress.com/e/_mP3jKw2" target="_blank">6 DOF DIY Robot Manipulator Metal Alloy Mechanical Arm Clamp Claw Kit MG996 Servo For Arduino Robotic Education Programmable Kit</a></div><div><a href="https://s.click.aliexpress.com/e/_mP3jKw2" target="_blank">Original price: JPY 6939</a></div><div><a href="https://s.click.aliexpress.com/e/_mP3jKw2" target="_blank">Now price: JPY 3539</a></div>
</div>
<div>
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-3312679518433456462021-05-23T07:36:00.017+09:002021-06-04T11:43:51.150+09:00IK(逆運動学)3Dアーム/同次変換行列/ヤコビ行列/角度制限<p>前回までは2Dアームでしたが、今回は3Dアームにおける逆運動学です。</p><p>環境:Python3.8.5、Jupyter Notebook</p><p><br /></p><p><span style="font-size: medium;">これまでの2Dアーム逆運動学:</span></p><p></p><ul style="text-align: left;"><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">Inverse Kinematics 逆運動学:Backward Shift、FABRIK、CCD</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">Jacobian Inverse Kinematics :ヤコビ行列を用いた逆運動学(その1)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">IK(逆運動学):同次変換行列、クロス積によるヤコビ行列(その2)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ikccdfabrik.html" target="_blank">IK(逆運動学):アーム可動域制限(角度制限)CCDとFABRIKの場合</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik.html" target="_blank">IK(逆運動学):同次変換行列/ヤコビ行列(クロス積)/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/06/ik.html" target="_blank">IK(逆運動学):複数の円の交点から求める</a></li></ul><div><br /></div><div><span style="font-size: medium;">今回の特長:</span></div><div><ul style="text-align: left;"><li>3Dアーム逆運動学</li><li>同次変換行列</li><li>ヤコビ行列(クロス積)</li><li>角度制限</li><li>インタラクティブ操作</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-Rs-gsChwaRo/YKdME8JtrhI/AAAAAAAAPIs/EnZWbOgiX3AXRQG83DcGweUe6-_V3sWDQCLcBGAsYHQ/s1160/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-05-19%2B11.14.16.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1160" data-original-width="1108" height="640" src="https://1.bp.blogspot.com/-Rs-gsChwaRo/YKdME8JtrhI/AAAAAAAAPIs/EnZWbOgiX3AXRQG83DcGweUe6-_V3sWDQCLcBGAsYHQ/w612-h640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-05-19%2B11.14.16.png" width="612" /></a></div><h4 style="text-align: left;">上図:</h4></div><div><ul style="text-align: left;"><li>左上:3D表示</li><li>右上:真上からの視点(X-Y平面)</li><li>右下:正面からの視点(X-Z平面)</li><li>赤い×は目標座標</li></ul></div><div>アームの初期設定は、</div><div><ul style="text-align: left;"><li>Joint0[0,0,0]はZ軸を中心にLink0(Joint1)を回転させる</li><li>Joint1[0,0,0.5]はY軸を中心にLink1(Joint2)を回転させる</li><li>Joint2[1,0,0]はY軸を中心にLink2(Joint3)を回転させる</li><li>Joint3[1,0,0]はY軸を中心にLink3(End-Effector)を回転させる</li></ul></div><div>要するに、Link0のZ軸を中心した回転によってLink1〜3はX-Z平面上を回転し、アーム先端(EE:End-Effector)は目標値Targetに近似していきます。</div><div><br /></div><div><br /></div><div><h4 style="text-align: left;"><span style="font-size: medium;">同次変換行列:</span></h4></div><div>3Dなので、同次変換行列は以下のように3種類用意しました。引数1の'X'、'Y'、'Z'によって、その軸回りでの回転になります(今回の4リンクアームの例では、'Y'、'Z'だけ使用)。引数2は平行移動ベクトル[x,y,z]、引数3は回転角。</div><div><br /></div>
<pre>def H(axis, vec, theta):
if axis == 'X':
return np.array([[1, 0, 0, vec[0]],
[0, cos(theta), -sin(theta), vec[1]],
[0, sin(theta), cos(theta), vec[2]],
[0, 0, 0, 1]])
elif axis == 'Y':
return np.array([[cos(theta), 0, -sin(theta), vec[0]],
[ 0, 1, 0, vec[1]],
[sin(theta), 0, cos(theta), vec[2]],
[ 0, 0, 0, 1]])
elif axis == 'Z':
return np.array([[cos(theta), -sin(theta), 0, vec[0]],
[sin(theta), cos(theta), 0, vec[1]],
[ 0, 0, 1, vec[2]],
[ 0, 0, 0, 1]])
else:
return np.array([[1, 0, 0, vec[0]],
[0, 1, 0, vec[0]],
[0, 0, 1, vec[0]],
[0, 0, 0, 1]])
</pre>
<div>4つ目の行列は単位行列を返します(今回は不使用)。</div><div><br /></div><div><br /></div><h4 style="text-align: left;"><span style="font-size: medium;">FK(運動学):</span></h4><div>FKにおいては、上記の同次変換行列を順次掛け合わせることで各ジョイントとEnd-Effectorのベクトルを計算しています。Tは角度変換行列、Vで変換後の各ジョイントのベクトルをその都度取得しnp.arrayに格納。</div><div><br /></div>
<pre>def FK(L, TH):
N = len(L)
T = H('Z', L[0], TH[0])
V = np.array(T[:3,-1])
for i in range(1, N-1):
T = T @ H('Y', L[i], TH[i])
V = np.c_[V, T[:3,-1]]
EE = T @ np.array([[1,0,0,1]]).T
V = np.c_[V, EE[:3, -1]]
return V
</pre>
<div><br /></div><div>今回の場合は、</div>
<pre>T = H('Z', [0,0,0], 0) @ H('X', [0,0,0.5], pi/2) @ H('X', [1,0,0], 0) @ H('X', [1,0,0], 0) @ EE</pre>
<div>という順番で掛け合わせています(@はドット積)。</div><div>最後のEEはEnd-Effector=np.array([1,0,0,1]).T</div><div><br /></div><div><br /></div><h4 style="text-align: left;"><span style="font-size: medium;">IK(逆運動学)とヤコビ行列:</span></h4><div>今回のヤコビ行列はクロス積で求めています(<a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">クロス積によるヤコビ行列についてはこちらを参照</a>)。</div><div>np.cross(回転軸ベクトル, 各ジョイントベクトル)</div><div>回転軸がZ軸の場合は[0,0,1]、Y軸の場合は[0,-1,0]で反転させています。</div><div><br /></div><div><br /></div>
<h4 style="text-align: left;"><span style="font-size: medium;">角度制限:</span></h4><div>以前の方法と同様、各ジョイントにおいて下限角度と上限角度を設定しておき、角度更新後にその角度を-180〜180度の範囲に変換してから制限値範囲外の場合は抑制し再更新します。</div>
<pre>def angleLimit(TH, MinA, MaxA):
THCOPY = TH.copy()
for i in range(len(TH)):
THCOPY[i] = TH[i] % tau
if THCOPY[i] > pi:
THCOPY[i] -= tau
if THCOPY[i] < MinA[i]:
THCOPY[i] = MinA[i]
if THCOPY[i] > MaxA[i]:
THCOPY[i] = MaxA[i]
return THCOPY
</pre>
<div><br /></div>
<div><h4><span style="font-size: medium;">インタラクティブモード:</span></h4><div>右2つのグラフ(X-Y平面上かX-Z平面上の任意の座標)をマウスクリックすると、アーム先端(End-Effector)がその座標に移動します(まだ多少バグがあるかも)。左側3D表示内の座標をクリックすることはできませんが、視点の向きを変えることができます。</div><div>どのグラフ(X-Y平面上かX-Z平面上)をクリックしたかは、event.inaxesで判定しています。</div><div><br /></div><pre>def click(event):
global TH, mx, my, mz
if event.inaxes == A10.axes:
mx = event.xdata
my = event.ydata
elif event.inaxes == A20.axes:
mx = event.xdata
mz = event.ydata
else:
pass
# 以下省略
</pre><div><br /></div>
</div><div><br /></div>
<div>コード:</div>
<div><br /></div>
<script src="https://gist.github.com/mirrornerror/323d6c8c9b1eb8f6dbffd185432c05d4.js"></script>
<div><br /></div>
<div><br /></div>
<div class="bam-card" style="align-items: center; display: flex; float: left;">
<div class="bam-image" style="float: left; margin: 5px 10px 0px 0px;">
<a href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" target="_blank"><img alt="実践 ロボット制御: 基礎から動力学まで" src="https://m.media-amazon.com/images/I/51up4nZ02HL._SL160_.jpg" style="max-width: 100%;" /></a>
</div>
<div class="bam-info">
<a class="bam-title" href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" style="text-decoration: none;" target="_blank">実践 ロボット制御: 基礎から動力学まで</a>
<div class="bam-date" style="font-size: small; margin-bottom: 5px;">
Posted with <a href="https://buyer.d1v1b.com" rel="noopener noreferrer" style="text-decoration: none;" target="_blank">Buyer</a>
</div>
<div class="bam-detail" style="line-height: 1.1; margin-bottom: 5px;">
<span class="bam-prime-check" style="color: #f79a33; font-weight: bold;">✓</span><span class="bam-prime-text" style="color: #2972a3; font-weight: bold;">prime</span><br />
オーム社<br />
売上ランキング: 77028<br />
</div>
<div class="bam-footer">
<a class="bam-market bam-amazon" href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" style="align-items: center; background: rgb(237, 136, 24); color: white; cursor: pointer; display: flex; float: left; font-weight: bold; height: 45px; justify-content: center; margin: 0px 5px 5px 0px; padding: 2px 5px 4px; text-decoration: none; white-space: nowrap; width: 150px;" target="_blank">Amazon</a>
<a class="bam-market bam-rakuten" href="#" rel="noopener noreferrer" style="align-items: center; background: rgb(189, 7, 17); color: white; cursor: pointer; display: flex; float: left; font-weight: bold; height: 45px; justify-content: center; margin: 0px 5px 5px 0px; padding: 2px 5px 4px; text-decoration: none; white-space: nowrap; width: 150px;" target="_blank">楽天市場</a>
</div>
</div>
<div style="clear: left;"></div>
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-20422814656766302862021-05-10T02:02:00.008+09:002021-06-04T11:42:14.918+09:00IK(逆運動学):同次変換行列/ヤコビ行列(クロス積)/角度制限<p><a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">以前、同次変換行列とヤコビ行列(クロス積)を用いて逆運動学</a>を求めてみましたが、今回はそのコードに角度制限を追加してみました。</p><p>環境:Python 3.8.5、Jupyter Notebook</p><p><br /></p><div style="text-align: left;"><b><span>この逆運動学アルゴリズムの特長:</span></b></div><p></p><ul style="text-align: left;"><li>同次変換行列を用いる</li><li>ヤコビ行列(クロス積)を用いる</li><li>角度制限を設ける</li></ul><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-iGmI1jn3ru4/YJesIXW95MI/AAAAAAAAPII/pCDEcfbBbEoma5YrGQJs37F3L23fQrJwgCLcBGAsYHQ/s876/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-05-09%2B16.19.05.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="860" data-original-width="876" src="https://1.bp.blogspot.com/-iGmI1jn3ru4/YJesIXW95MI/AAAAAAAAPII/pCDEcfbBbEoma5YrGQJs37F3L23fQrJwgCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-05-09%2B16.19.05.png" width="320" /></a></div><h4 style="text-align: left;">上図(4リンクの場合):</h4><p></p><ul style="text-align: left;"><li>原点(0,0)がベース</li><li>赤い×が目標座標</li><li>リンク1角度制限:-180〜180度</li><li>リンク2〜4角度制限:-90〜90度</li></ul><p></p><p>角度制限のため各リンクは手前のリンクに対して90度以上回転しないようにしています。各ジョイントにおいて任意のminAngleとmaxAngleを設定することができます。仕組みとしては<a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">前回のFABRIKとCCDの角度制限</a>と同じです。</p><p><br /></p><p><b>追加した角度制限のコード(以下):</b></p>
<pre>def angleLimit(TH, MinA, MaxA):
for i in range(N):
TH[i] = TH[i] % tau
if TH[i] < pi:
TH[i] -= tau
if TH[i] < MinA[i]:
TH[i] = MinA[i]
if TH[i] > MaxA[i]:
TH[i] = MaxA[i]
return TH
</pre>
<p>引数において、THは全ジョイントの角度リスト、MinAは角度制限の最低角度リスト、MaxAは最高角度リスト。角度は-180〜180度で表現しておきます。</p><p><br /></p><p><a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">ヤコビ行列を用いた逆運動学アルゴリズム</a>の場合、最後に各ジョイントにおける回転角を求めるため、その角度が制限角度以上(あるいは以下)になった場合に、最高角度(あるいは最低角度)に更新するだけなので、それほど大きな変更点はありません。</p><p><br /></p><p><b>全体のコード:</b></p><p><br /></p>
<script src="https://gist.github.com/mirrornerror/da09d0871d5894665d9cb8d104061ebe.js"></script>
<p><br /></p><b>
関連:
</b><div><div><ul style="text-align: left;"><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">Inverse Kinematics 逆運動学:Backward Shift、FABRIK、CCD</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">Jacobian Inverse Kinematics :ヤコビ行列を用いた逆運動学(その1)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">IK(逆運動学):同次変換行列、クロス積によるヤコビ行列(その2)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ikccdfabrik.html" target="_blank">IK(逆運動学):アーム可動域制限(角度制限)CCDとFABRIKの場合</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik3d.html" target="_blank">IK(逆運動学)3Dアーム/同次変換行列/ヤコビ行列/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/06/ik.html" target="_blank">IK(逆運動学):複数の円の交点から求める</a></li></ul></div></div>
<div class="bam-card" style="align-items: center; display: flex; float: left;">
<div class="bam-image" style="float: left; margin: 5px 10px 0px 0px;">
<a href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" target="_blank"><img alt="実践 ロボット制御: 基礎から動力学まで" src="https://m.media-amazon.com/images/I/51up4nZ02HL._SL160_.jpg" style="max-width: 100%;" /></a>
</div>
<div class="bam-info">
<a class="bam-title" href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" style="text-decoration: none;" target="_blank">実践 ロボット制御: 基礎から動力学まで</a>
<div class="bam-date" style="font-size: small; margin-bottom: 5px;">
Posted with <a href="https://buyer.d1v1b.com" rel="noopener noreferrer" style="text-decoration: none;" target="_blank">Buyer</a>
</div>
<div class="bam-detail" style="line-height: 1.1; margin-bottom: 5px;">
<span class="bam-prime-check" style="color: #f79a33; font-weight: bold;">✓</span><span class="bam-prime-text" style="color: #2972a3; font-weight: bold;">prime</span><br />
オーム社<br />
売上ランキング: 77028<br />
</div>
<div class="bam-footer">
<a class="bam-market bam-amazon" href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" style="align-items: center; background: rgb(237, 136, 24); color: white; cursor: pointer; display: flex; float: left; font-weight: bold; height: 45px; justify-content: center; margin: 0px 5px 5px 0px; padding: 2px 5px 4px; text-decoration: none; white-space: nowrap; width: 150px;" target="_blank">Amazon</a>
<a class="bam-market bam-rakuten" href="#" rel="noopener noreferrer" style="align-items: center; background: rgb(189, 7, 17); color: white; cursor: pointer; display: flex; float: left; font-weight: bold; height: 45px; justify-content: center; margin: 0px 5px 5px 0px; padding: 2px 5px 4px; text-decoration: none; white-space: nowrap; width: 150px;" target="_blank">楽天市場</a>
</div>
</div>
<div style="clear: left;"></div>
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-54996143812123689872021-04-30T19:21:00.036+09:002021-06-04T11:43:12.692+09:00IK(逆運動学):アーム可動域制限(角度制限)CCDとFABRIKの場合<p><a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">以前、逆運動学のFABRIKとCCDを実装しました</a>が、各アームの可動域が無制限だったので今回は角度制限を追加してみました。</p><p>環境:Python3.8.5、Jupyter Notebook</p><p><br /></p><p>小型サーボの場合、通常0〜180度程度の可動域しかないので、同じような条件にしてみました。設定変数によって可動域は変えられるようにしてます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-5lZuLNnvy70/YIuMMA6zI7I/AAAAAAAAPHs/14U2DtiEK2crkKtvLH6RRpILpk733QFxACLcBGAsYHQ/s1334/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-30%2B13.45.34.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1066" data-original-width="1334" height="320" src="https://1.bp.blogspot.com/-5lZuLNnvy70/YIuMMA6zI7I/AAAAAAAAPHs/14U2DtiEK2crkKtvLH6RRpILpk733QFxACLcBGAsYHQ/w400-h320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-30%2B13.45.34.png" width="400" /></a></div><p><b>上図(3リンクの場合):</b></p><p></p><ul style="text-align: left;"><li>Link1は地面に対して鉛直方向を90度、Joint1を回転軸として0〜180度に設定(絶対角度)</li><li>Link2の可動域はLink1に対してJoint2を回転軸として-90〜90度に設定(相対角度)</li><li>Link3の可動域はLink2に対してJoint3を回転軸として-90〜90度に設定(相対角度)</li></ul><div>それぞれのJointにおいてminAngleとmaxAngleを上記条件で設定しておき、例えば角度計算においてmaxAngle以上の角度が得られた場合は最大角度をmaxAngleになるように抑制します。要はこれまでのFABRIKやCCDの1ループの通常計算のあとに、その都度角度制限の補正を加えるという方法です。</div><div><br /></div><h3 style="text-align: left;">CCDの角度制限の場合:</h3><div><ul style="text-align: left;"><li>まずLinkの角度を-180〜180度に変換するconvTheta()を用意し角度表現を統一しておく</li><li>Armクラス内コンストラクタにminAngleとmaxAngleのパラメータを追加(デフォルト値を設定)</li><li>Armクラス内にangleLimit()メソッドを追加して角度制限する</li></ul></div>
<pre>def convTheta(theta):
theta = theta % tau
if theta > pi:
theta = theta - tau
return theta
class Arm:
def __init__(self, ax, ay, length, angle, minAngle=-pi/2, maxAngle=pi/2):
self.ax = ax
self.ay = ay
self.length = length
self.angle = convTheta(angle)
self.bx = self.ax + self.length * cos(self.angle)
self.by = self.ay + self.length * sin(self.angle)
self.minAngle = convTheta(minAngle)
self.maxAngle = convTheta(maxAngle)
def angleLimit(self, prevTheta, newTheta):
theta = convTheta(newTheta - prevTheta)
if theta < self.minAngle:
theta = self.minAngle
elif theta > self.maxAngle:
theta = self.maxAngle
self.angle = theta + prevTheta
self.bx = self.ax + self.length * cos(self.angle)
self.by = self.ay + self.length * sin(self.angle)
</pre>
<div><br /></div>
メソッドangleLimit()の引数prevThetaは一つ手前のLinkの角度、newThetaは操作後の角度。self.angleの角度を含め、すべて絶対座標上での角度として計算します。<div>newThetaからprevThetaを差し引いた角度thetaがself.minAngle以下ならself.minAngleのまま(maxAngleも同様に計算)。最終的に補正された角度self.angleによって、self.bxとself.by(各LinkのEnd-Effector寄りの端点)を更新するという手順になってます。</div><div>角度制限のデフォルト値は-pi/2〜pi/2(-90〜90度)に設定してあるので、無記入ならデフォルト値が適用されます。</div><div><div><br /></div>
<div><br /></div>
<div><br /></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-G8yX6-IljTk/YIuRmAaT6qI/AAAAAAAAPH8/E-iTY_5AuzsXY5juIx7_XXt6FAECuPfxACLcBGAsYHQ/s902/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-28%2B23.41.44.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="878" data-original-width="902" height="389" src="https://1.bp.blogspot.com/-G8yX6-IljTk/YIuRmAaT6qI/AAAAAAAAPH8/E-iTY_5AuzsXY5juIx7_XXt6FAECuPfxACLcBGAsYHQ/w400-h389/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-28%2B23.41.44.png" width="400" /></a></div><div><b>上図:比較(3リンクアームCCDの場合):</b></div><div>CCD(青)が角度制限なしの計算方法、CCD_AL(ピンク)が角度制限ありの計算方法、赤いx印が目標座標。</div><div>角度制限なし(青)の方は、Link2とLink3がもう少しで重なりそうになっていますが、角度制限あり(ピンク)の方では、一つ手前のLinkに対して90度以上回転しないように設定してあるため、このような状況のときにはそれぞれのLinkは90度を保ったまま動こうとします。</div><div>角度制限ありの場合は、制限されている分、目標座標に到達できないこともあります。暫定的な角度制限アルゴリズムなので、まだ不完全な部分もあります。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-fsdugZV7hLE/YIuQuSwfNTI/AAAAAAAAPH0/TnPkGpWRfzwRFr5FMRPK6ZCye0l0IcRPQCLcBGAsYHQ/s902/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-26%2B7.16.26.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="880" data-original-width="902" height="390" src="https://1.bp.blogspot.com/-fsdugZV7hLE/YIuQuSwfNTI/AAAAAAAAPH0/TnPkGpWRfzwRFr5FMRPK6ZCye0l0IcRPQCLcBGAsYHQ/w400-h390/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-26%2B7.16.26.png" width="400" /></a></div><div><b>上図:比較(4リンクアームCCDの場合):</b></div><div>角度制限なし(青)のほうでは、Linkが自在に動くためLink2とLink4が交差していますが、角度制限あり(ピンク)のほうは最大角度90度を保ったまま目標座標に到達しています。単に90度以上回転しないようにしているだけなので、Link数を増やせば角度制限ありのほうでも交差することはあります。しかしながら、角度制限なしに比べれば、より現実的な動きに近づいています。</div><div><br /></div><div><br /></div>
<div><b>CCD_AngleLimitのコード:</b></div><div>__init__関数(コンストラクタ)の最後2つのパラメータminAngleとmaxAngleで角度を制限します。最後のmotion()関数がマウスに追従するプログラムとなります。ゆっくりマウスを動かせば制限された角度を保ちながら一応動きます(まだ不完全な部分あり)。</div>
<div><br /></div>
<script src="https://gist.github.com/mirrornerror/9812d63557b813f1dd5ae3bbb01ff460.js"></script>
<div><br /></div>
<div><br /></div>
<div><br /></div>
<h3 style="text-align: left;">FABRIKの角度制限の場合:</h3>
FABRIKの場合は、backward()とforward()の2つのメソッドがあり、それぞれに角度制限の手続きを追加しておきます。先程のCCDと同様にconvTheta()で角度を-180〜180度に変換しておきます。
<div><br /><br />
以下が角度制限なしのbackward()メソッド。
<pre>def backward(self, tx, ty):
theta = np.arctan2(ty - self.ay, tx - self.ax)
self.bx = tx
self.by = ty
self.ax = tx - self.length * cos(theta)
self.ay = ty - self.length * sin(theta)
self.angle = convTheta(theta)
</pre><div>
そして以下が角度制限ありのメソッド。
<pre>def backward2(self, tx, ty, prevTheta):
theta = convTheta(np.arctan2(ty - self.ay, tx - self.ax) - prevTheta)
if theta < self.minAngle:
theta = self.minAngle
elif theta > self.maxAngle:
theta = self.maxAngle
self.angle = convTheta(theta + prevTheta)
self.bx = tx
self.by = ty
self.ax = self.bx - self.length * cos(self.angle)
self.ay = self.by - self.length * sin(self.angle)</pre><div>backward/backward2の場合は、End-Effector側から各Linkを回転移動していくため、各Linkの回転軸はEnd-Effector寄りの端点(self.bx,self.by)となり、ベース寄りの端点座標(ax,ay)が角度制限によって補正されます。その逆で、forward2の場合は(self.ax,self.ay)が回転軸となり、(self.bx,self.by)の座標が補正されます。backward2の引数prevThetaは一つ手前のLinkの角度であり、角度制限において相対角度を計算するために必要となります。</div><div><div><br /><br />
<div><b>FABRIK_AngleLimitのコード:</b></div>
<div>backward/forwardが角度制限なしメソッド、backward2/forward2が角度制限ありメソッド。</div>
<br />
<script src="https://gist.github.com/mirrornerror/9ade8fc4b8ec54368a1fe7e4541f4a73.js"></script>
</div>
</div></div><div><br /></div><div>関連:</div><div><ul style="text-align: left;"><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">Inverse Kinematics 逆運動学:Backward Shift、FABRIK、CCD</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">Jacobian Inverse Kinematics :ヤコビ行列を用いた逆運動学(その1)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">IK(逆運動学):同次変換行列、クロス積によるヤコビ行列(その2)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik.html" target="_blank">IK(逆運動学):同次変換行列/ヤコビ行列(クロス積)/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik3d.html" target="_blank">IK(逆運動学)3Dアーム/同次変換行列/ヤコビ行列/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/06/ik.html" target="_blank">IK(逆運動学):複数の円の交点から求める</a></li></ul></div></div></div>
<div class="bam-card" style="align-items: center; display: flex; float: left;">
<div class="bam-image" style="float: left; margin: 5px 10px 0px 0px;">
<a href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" target="_blank"><img alt="実践 ロボット制御: 基礎から動力学まで" src="https://m.media-amazon.com/images/I/51up4nZ02HL._SL160_.jpg" style="max-width: 100%;" /></a>
</div>
<div class="bam-info">
<a class="bam-title" href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" style="text-decoration: none;" target="_blank">実践 ロボット制御: 基礎から動力学まで</a>
<div class="bam-date" style="font-size: small; margin-bottom: 5px;">
Posted with <a href="https://buyer.d1v1b.com" rel="noopener noreferrer" style="text-decoration: none;" target="_blank">Buyer</a>
</div>
<div class="bam-detail" style="line-height: 1.1; margin-bottom: 5px;">
<span class="bam-prime-check" style="color: #f79a33; font-weight: bold;">✓</span><span class="bam-prime-text" style="color: #2972a3; font-weight: bold;">prime</span><br />
オーム社<br />
売上ランキング: 77028<br />
</div>
<div class="bam-footer">
<a class="bam-market bam-amazon" href="https://www.amazon.co.jp/dp/4274224309?tag=kousakukousak-22&linkCode=osi&th=1&psc=1" rel="noopener noreferrer" style="align-items: center; background: rgb(237, 136, 24); color: white; cursor: pointer; display: flex; float: left; font-weight: bold; height: 45px; justify-content: center; margin: 0px 5px 5px 0px; padding: 2px 5px 4px; text-decoration: none; white-space: nowrap; width: 150px;" target="_blank">Amazon</a>
<a class="bam-market bam-rakuten" href="#" rel="noopener noreferrer" style="align-items: center; background: rgb(189, 7, 17); color: white; cursor: pointer; display: flex; float: left; font-weight: bold; height: 45px; justify-content: center; margin: 0px 5px 5px 0px; padding: 2px 5px 4px; text-decoration: none; white-space: nowrap; width: 150px;" target="_blank">楽天市場</a>
</div>
</div>
<div style="clear: left;"></div>
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-19293802498698168232021-04-07T17:18:00.034+09:002022-03-09T01:30:25.052+09:00IK(逆運動学):同次変換行列、クロス積によるヤコビ行列(その2)<p>今回は、同次変換行列やクロス積を使って、2Dロボットアームの動きを逆運動学で求めてみます(<a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">前回はこちら</a>)。</p><p>環境:Python3.8.5、Jupyter Notebook</p><p>*numpy.matrix()は将来的に削除されるのでnumpy.array()を使用しています。</p><p>*尚、コーディングにおいての行列の掛け算(ドット積)は:</p>
<pre>A・B = numpy.dot(A, B) = A.dot(B) = A @ B</pre><h3 style="text-align: left;"><br /></h3><h2 style="text-align: left;">今回試す内容:</h2><p></p><ul style="text-align: left;"><li>同次変換行列を用いる</li><li>ヤコビ行列をクロス積(外積)で求める</li><li>任意のリンク数に対応させる(以下画像:N=20の場合)</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-rbZMxdMLrsE/YG1pGa8efYI/AAAAAAAAPEc/z8X8th1crakFDSuVT_R-kiOSIJoRIVrXwCLcBGAsYHQ/s904/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-07%2B17.10.05.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="854" data-original-width="904" height="378" src="https://1.bp.blogspot.com/-rbZMxdMLrsE/YG1pGa8efYI/AAAAAAAAPEc/z8X8th1crakFDSuVT_R-kiOSIJoRIVrXwCLcBGAsYHQ/w400-h378/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-07%2B17.10.05.png" width="400" /></a></div><br /><div><br /></div><h2 style="text-align: left;">同次変換行列(FK):</h2><div>各ジョイントに対応した同次変換行列を数珠つなぎに掛け合わせることで各端点のベクトルが簡単に求められます。2Dなので3x3マトリクスでも足りるのですが、後々の3Dのために4x4マトリクスを使うことにします。</div><div>前回までは、ジョイント1の回転角をθ1とすればジョイント2の回転角はθ1+θ2としていましたが、今回の場合は単純に相対角度であるθ2だけ入力すればいいので計算しやすくなります。</div><div><br /></div><div>2Dにおける同次変換行列をHとすれば、</div>
<pre>H = [[cos(θ), -sin(θ), 0, x],
[sin(θ), cos(θ), 0, y],
[ 0, 0, 1, 0],
[ 0, 0, 0, 1]]
</pre>3Dでは左上3x3が回転用、右端3x1が平行移動用ですが、今回のような2Dロボットアームであれば、xにリンク長、y=0を代入して以下のようになります。<div>
<pre>H = [[cos(θ), -sin(θ), 0, L],
[sin(θ), cos(θ), 0, 0],
[ 0, 0, 1, 0],
[ 0, 0, 0, 1]]</pre><div>HをLとθを引数とした関数にすれば、3リンクアームの場合、</div>
<pre>V = H(0,θ1)・H(L1,θ2)・H(L2,θ3)・[L3,0,0,1].T
</pre>
によってV=[x,y,0,1].Tが求まり、(x, y)を取り出せばアーム先端(End-Effector)の2Dベクトルになります。</div><div>コーディングでは以下のような感じ。</div>
<pre>def H(L, TH):
return np.array([[np.cos(TH), - np.sin(TH), 0, L],
[np.sin(TH), np.cos(TH), 0, 0],
[ 0, 0, 1, 0],
[ 0, 0, 0, 1]])
L = [1, 1, 1]
TH = np.radians([30, 30, 30])
EE = np.array([[L[2], 0, 0, 1]])
V = H(0, TH[0]) @ H(L[0], TH[1]) @ H(L[1], TH[2]) @ EE.T
print(V)</pre>
<div>最後に掛けているEE.Tは、End-Effectorのベクトルです。@はドット積。</div><div>そうすると、出力は以下。</div>
<pre>[[1.3660254]
[2.3660254]
[0. ]
[1. ]]</pre>
4x1行列の上2行がEnd-Effectorのベクトル(x, y)になります。<div>前述のコーディングでは、ジョイントの数だけH(L, TH)を掛け合わせましたが、実際はfor文で繰り返し処理します。</div><div><br /></div><div><br /></div><h2 style="text-align: left;"><br /></h2><h2 style="text-align: left;">クロス積でヤコビ行列を求める:</h2><div>運動学は同次変換行列によって求められたので、次に逆運動学の下準備としてヤコビ行列を求めます。<a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">前回</a>は、運動学によって求まるEnd-Effector座標のxとy成分の計算式を各ジョイントの回転角θ1、θ2、θ3によって偏微分しました(以下)。</div><div><br /></div>
<pre>J(Θ) = [[- L1sin(θ1) - L2sin(θ1+θ2) - L3sin(θ1+θ2+θ3), - L2sin(θ1+θ2) - L3sin(θ1+θ2+θ3), - L3sin(θ1+θ2+θ3)],
[ L1cos(θ1) + L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3), L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3), L3cos(θ1+θ2+θ3)]]</pre>
<div><br /></div><div>今回はクロス積によってこのヤコビ行列を求めます。</div><div><ul><li>ジョイントの回転軸の単位ベクトル(Z軸ベクトル[0,0,1])を求める。</li><li>各回転軸からEnd-Effectorまでのベクトルを求める。</li><li>この2つのベクトルをクロス積で掛け合わせx、yの変化率(速度)を求める</li><li>ith_J = [0, 0, 1] × (End_Effector_vector - ith_Joint_vector)</li></ul></div><div>×はクロス積。クロス積は、XY平面上の2つのベクトルによってできる平行四辺形の面積をXY平面に直行するZ軸方向のベクトルとして表します(以下)。</div>
<pre>A×B = |A||B|sin(θ)[0,0,1]</pre>
<div>ちなみにドット積は(以下)、</div>
<pre>A・B = |A||B|cos(θ)</pre>
<div class="separator" style="clear: both; text-align: center;"><br /></div><a href="https://1.bp.blogspot.com/--EIobYiU16Q/YImiHvxI7VI/AAAAAAAAPHg/TxqRZBGyuE0okvcHZx7QRLpzDsdeYIQUwCPcBGAYYCw/s2034/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-29%2B2.55.59.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1028" data-original-width="2034" height="324" src="https://1.bp.blogspot.com/--EIobYiU16Q/YImiHvxI7VI/AAAAAAAAPHg/TxqRZBGyuE0okvcHZx7QRLpzDsdeYIQUwCPcBGAYYCw/w640-h324/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-04-29%2B2.55.59.png" width="640" /></a><br /><p style="text-align: left;"><b>左図:</b></p><div>Joint1を回転軸とする場合、Joint1からEnd-EffectorまでのベクトルをV1、Z軸の単位ベクトル[0, 0, 1]をUV、End-Effectorの回転速度VE1とすると、</div>
<pre>UV = [0, 0, 1]
V1 = End_Effector_vector - Joint1_vector
VE1 = UV × V1</pre>
<div>になります。</div>
<div>Z軸の単位ベクトル[0, 0, 1]にV1をクロス積で掛け合わせると、「右ねじの法則」によってV1に直行する黄色実線のベクトルが得られます。また、End-Effectorにおける回転速度はV1に対して垂直な黄色破線として表され、これも同様に[0, 0, 1] × V1で表すことができます。</div><div>要はEnd-Effectorの速度ベクトルVE1は、V1を90度反時計回りに回転させたベクトルと同じになります。あるいは、End-Effectorにおける接線に沿ったベクトル(V1のx成分とy成分を-1倍したものを入れ替えたベクトル)になります。V1の角度をθ<sub>v1</sub>とすれば以下。</div>
<pre>V1 = [ |V1|cos(θ<sub>v1</sub>), |V1|sin(θ<sub>v1</sub>)]
VE1 = [-|V1|sin(θ<sub>v1</sub>), |V1|cos(θ<sub>v1</sub>)]</pre>
<div><br /></div>
<h4 style="text-align: left;"><b>右図:</b></h4>
<div>同様に、Joint2からEnd-EffectorまでのベクトルをV2、Joint3からEnd-EffectorまでのベクトルをV3とすれば、それぞれの回転軸で回転させたときのEnd-Effectorの接線方向の速度ベクトルが求まります。これで、V1、V2、V3の速度の割合が求まります。</div>
<div>V1、V2、V3は速度ベクトルなので、プログラム上では任意にスケールダウンして、1ループあたりの移動変化量を調整できます。</div><div><br /></div>
<div>クロス積を用いた場合は、偏微分も各ジョイントにおける角度も必要なく、単なるベクトルだけの計算になるためシンプルです。</div>
<pre>UV = [0, 0, 1]
VE1 = UV × V1 = [- |V1|sin(θ<sub>v1</sub>), |V1|cos(θ<sub>v1</sub>), 0]<br />VE2 = UV × V2 = [- |V2|sin(θ<sub>v2</sub>), |V2|cos(θ<sub>v2</sub>), 0]<br />VE3 = UV × V3 = [- |V3|sin(θ<sub>v3</sub>), |V3|cos(θ<sub>v3</sub>), 0]</pre>
<div>よってヤコビ行列Jは、</div>
<pre>J = [UV × V1, UV × V2, UV × V3]</pre>
実際は1列にx,y,zの3要素が含まれているため、3xNの行列になります(Nはリンク数)。
<div>コードでは以下。</div>
<pre>def Jacobian(V):
UV = np.array([0, 0, 1])
J = []
for i in range(N):
J.append(np.cross(UV, V[:, -1] - V[:, i]))
return np.array(J).T</pre>
<div>
Vは各ジョイントのベクトルで、V[:, -1]はEnd-Effectorのベクトル、V[:, i]は回転軸となるジョイントのベクトル。
</div>
<h3 style="text-align: left;"><br /></h3><h2 style="text-align: left;"><br /></h2><h2 style="text-align: left;">IK(逆運動学):</h2><div>今回は任意のリンク数に対応できるように、同次変換行列Hをfor文で繰り返しFK()という運動学の関数に組み込んでおきます。</div>
<pre>def H(L, TH):
return np.array([[np.cos(TH), - np.sin(TH), 0, L],
[np.sin(TH), np.cos(TH), 0, 0],
[ 0, 0, 1, 0],
[ 0, 0, 0, 1]])
def FK(L, TH):
N = len(L)
T = H(0, TH[0])
V = np.zeros(3)
for i in range(N-1):
T = T @ H(L[i], TH[i+1])
V = np.c_[V, T[:3, -1]]
EE = T @ np.array([[L[-1], 0, 0, 1]]).T
V = np.c_[V, EE[:3, -1]]
return V
</pre>
<div>ヤコビ行列の疑似逆行列は前回同様numpy.linalg.pinv(J)で求めることにします。</div><div>ちなみに疑似逆行列は、pinv(J)=J.T ・(J・J.T)<sup>-1</sup>。</div>
<pre>while True:
V = FK(L, TH)
J = Jacobian(V)
Error = Target - V[:, -1]
if norm(Error) < 1e-4:
break
dTheta = pinv(J) @ Error * scaler
TH += dTheta
</pre>
4行目のV[:, -1]はEnd-Effectorのベクトルで、Target=[x,y,z]との差分をErrorとして疑似逆行列と掛け合わせています(@はドット積)。scalerは刻み幅を細かくするための係数(scaler=0.1〜0.01程度)。<div>結果的にΔθ:dThetaが求まり、dThetaを現在の角度THに加算してTargetに近づいていきます。誤差が0.0001未満になったらループ終了。</div><div><br /></div><div><br /></div><h2 style="text-align: left;">コード:</h2><div><ul style="text-align: left;"><li>変数Nでリンク数を増やすことができます。</li><li>インタラクティブモード(アームをマウスに追従させる)があるためbackendは%matplotlib notebookにしてあります。</li></ul></div>
<script src="https://gist.github.com/mirrornerror/675c168e62865063929be4f8293e88d4.js"></script>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=kousakukousak-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4274224309&linkId=78ec441763b3189ac416b9df72a0ae8e" style="height: 240px; width: 120px;"></iframe>
<br />
<div><br /></div><div>関連:</div>
<div><ul style="text-align: left;"><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">Inverse Kinematics 逆運動学:Backward Shift、FABRIK、CCD</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">Jacobian Inverse Kinematics :ヤコビ行列を用いた逆運動学(その1)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ikccdfabrik.html" target="_blank">IK(逆運動学):アーム可動域制限(角度制限)CCDとFABRIKの場合</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik.html" target="_blank">IK(逆運動学):同次変換行列/ヤコビ行列(クロス積)/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik3d.html" target="_blank">IK(逆運動学)3Dアーム/同次変換行列/ヤコビ行列/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/06/ik.html" target="_blank">IK(逆運動学):複数の円の交点から求める</a></li></ul></div>
<br />
<a href="https://s.click.aliexpress.com/e/_9i8RH5" target="_parent"><img height="236" src="https://ae04.alicdn.com/kf/H58922e9608494deaaf70658658a3a43eh.jpg" width="400" /><span style="display: block;">AliExpress.com Product - Metal mechanical arm Multi-degree of freedom manipulator Industrial robot model Six-axis robot 202</span></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-84661008382357180962021-03-31T09:54:00.025+09:002022-03-09T01:31:39.267+09:00Jacobian Inverse Kinematics :ヤコビ行列を用いた逆運動学(その1)<p><a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">前回</a>はFABRIK法やCCD法でロボットアームの逆運動学を試してみましたが、今回はヤコビ行列を用いた方法を試してみます。</p><p>環境:Python3.8.5、Jupyter Notebook6.1.4</p><p><br /></p>
<h2 style="text-align: left;">運動学:</h2><p>運動学においては、各Jointの角度を入力すると、アーム先端のEnd-Effectorの座標が求まります。</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-xhy6sE5vSnc/YF1KQ2HV0YI/AAAAAAAAPDs/yFvFlP7KPokOLSDXWRKg2IPwiOsQZ-ClgCLcBGAsYHQ/s1364/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-26%2B11.42.56.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1078" data-original-width="1364" height="316" src="https://1.bp.blogspot.com/-xhy6sE5vSnc/YF1KQ2HV0YI/AAAAAAAAPDs/yFvFlP7KPokOLSDXWRKg2IPwiOsQZ-ClgCLcBGAsYHQ/w400-h316/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-26%2B11.42.56.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>3リンクアームの場合、Link1の角度θ1の時のx成分、Link2の角度θ1+θ2の時のx成分、Link3の角度θ1+θ2+θ3の時のx成分を単純に足し合わせればEnd-Effectorのx座標が得られます。y座標についても同様に求めると、End-Effectorの座標(x, y)は以下のように求まります。L1、L2、L3は各Link1、2、3の長さ。</p>
<pre>x = L1cos(θ1) + L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3)
y = L1sin(θ1) + L2sin(θ1+θ2) + L3sin(θ1+θ2+θ3)</pre>
<div><br /></div>
<h2 style="text-align: left;"><br /></h2><h2 style="text-align: left;">変化量 / ヤコビ行列:</h2><div>運動学の関数をf、出力座標P=[x, y]、入力角度Θ=[θ1, θ2, θ3]とすると、</div>
<pre>P = f(Θ)</pre>
<div>となります。</div><div>逆運動学では、出力と入力が逆になるため、逆運動学の関数をgとすれば、</div><div><pre>Θ = g(P)</pre></div><div>になります。ちなみにgはfの逆行列でg(Θ)=f<sup>-1</sup>(Θ)、最終的にこのような関係式を以下の手順で導いていきます。</div><div><br /></div><div>まず運動学の式の両辺を時間tで微分し、単位時間における角度の変化量の関係式にすると</div>
<pre>dP/dt = df(Θ)/dt</pre><div>になります。これはプログラム上ではforやwhileループでの1ステップごとの変化量。</div><div>そして、df(Θ)をJと置き換えると、</div>
<pre>ΔP = J(Θ)・ΔΘ</pre>
<div>という角度変化量による位置変化量の関係式になり、この場合のJがヤコビ行列となります。</div><div>そしてJの中身は、先ほど運動学で求めたxとyをそれぞれの角度θ1、θ2、θ3で微分(偏微分)し、</div>
<pre>J(Θ) = [[dx/dθ1, dx/dθ2, dx/dθ3],
[dy/dθ1, dy/dθ2, dy/dθ3]]</pre>
<div>となります。</div><div>それぞれを偏微分した結果は、</div><div><pre>dx/dθ1 = - L1sin(θ1) - L2sin(θ1+θ2) - L3sin(θ1+θ2+θ3)
dx/dθ2 = 0 - L2sin(θ1+θ2) - L3sin(θ1+θ2+θ3)
dx/dθ3 = 0 - 0 - L3sin(θ1+θ2+θ3)
dy/dθ1 = L1cos(θ1) + L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3)
dy/dθ2 = 0 + L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3)
dy/dθ3 = 0 + 0 + L3cos(θ1+θ2+θ3)</pre></div><div>となります(ちなみにcosθの微分は-sinθ、sinθの微分はcosθ、0の部分は微分で消えた定数項)。</div><div>よってヤコビ行列Jは、</div><div><pre>J(Θ) = [[- L1sin(θ1) - L2sin(θ1+θ2) - L3sin(θ1+θ2+θ3), - L2sin(θ1+θ2) - L3sin(θ1+θ2+θ3), - L3sin(θ1+θ2+θ3)],
[ L1cos(θ1) + L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3), L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3), L3cos(θ1+θ2+θ3)]]</pre><div>になります。2行はx, y座標(ベクトル)に対応、3列はJoint1、2、3に対応。</div><div>Jはその都度更新されるΘによって変化するので、Jを求める関数J(Θ)として表したほうがいいでしょう。</div></div><div><br /></div><div><br /></div><h2 style="text-align: left;">逆運動学 / 疑似逆行列:</h2><div>逆運動学では目標座標に対してあとどのくらいJointの角度を回転させればいいのかを計算するため、その角度の変化量を求めます。Jの逆行列J<sup>-1</sup>を用意して運動学の式の右辺と左辺を入れ替えて、</div>
<pre>ΔΘ = J<sup>-1</sup>(Θ)・ΔP</pre><div>という関係式にすれば、目標座標に近づくための角度の補正量が求まります。</div><div>しかしながら、Jが正方行列ではないためJの逆行列は存在しません。2リンクであれば正方行列になりますが、Jointの数が増えるほど横長の行列になってしまいます。</div><div>ここで疑似逆行列を使うテクニックが必要となるようです。</div><div>その疑似逆行列J<sup>+</sup>(Moore-Penrose Pseudo-Inverse Matrix)は、</div>
<pre>J<sup>+</sup> = J.T・(J・J.T)<sup>-1</sup></pre>
<div>J.TはJの転置行列。行列式の掛け算なのでドット積。</div><div>少し面倒ですがnumpyなら、</div>
<pre>J<sup>+</sup> = np.linalg.pinv(J)</pre>
<div>ですぐに求まります(ちなみに正方行列の逆行列はnp.linalg.inv()を使う)。</div><div>よって、</div><div><pre>ΔΘ = J<sup>+</sup>(Θ)・ΔP</pre></div><div>になります。</div><div>ΔPは現時点でのEnd-Effectorの座標と目標座標との差分であるため、目標座標をP、現時点でのEnd-Effectorの座標を現時点での角度Θ<sub>i</sub>と運動学の関数をfで表せばf(Θ<sub>i</sub>)、</div><div><pre>ΔΘ = J<sup>+</sup>(Θ<sub>i</sub>)・(P - f(Θ<sub>i</sub>))</pre>
</div>
<div>になりΔΘが求まるため、次にどのくらいの角度で動かせばいいかわかります。</div><div>実際は、この式に刻み幅をより細かくするためのスケーラー:λ=0.1を掛け合わせて以下のようになります。</div>
<div>
<pre>ΔΘ = J<sup>+</sup>(Θ<sub>i</sub>)・(P - f(Θ<sub>i</sub>))λ</pre>
<div>つまりプログラム上では、現在の角度Θ<sub>i</sub>にΔΘ=[Δθ1, Δθ2, Δθ3]を1ループごとに加算していき、</div>
<div>
<pre>Θ<sub>i+1</sub> = Θ<sub>i</sub> + J<sup>+</sup>(Θ<sub>i</sub>)・(P - f(Θ<sub>i</sub>))λ</pre></div><div>ということになります。</div><div>疑似ヤコビ逆行列J<sup>+</sup>は、次のΘ<sub>i+1</sub>が代入されることでそのつど更新されていきます。そして徐々にEnd-Effectorの位置が目標座標に近づいていきます。</div><div><br /></div><div><b>手順としては:</b></div><div><ul style="text-align: left;"><li>運動学でEnd-Effectorの座標[x, y]を求める式を用意する</li><li>運動学の式を偏微分してヤコビ行列Jを求める</li><li>ヤコビ行列Jの疑似逆行列J+を求める</li><li>目標座標とEnd-Effector座標の差分とJ<sup>+</sup>を用いて必要な回転量を求める</li><li>スケーラーとしてλ=0.1程度を掛け合わせる</li><li>以後この操作を繰り返し徐々に目標に近づく</li></ul></div><div><br /></div><h2 style="text-align: left;">図形的に仕組みを見てみる:</h2><div>計算式だけではイメージが湧かないので、図形的にヤコビ行列による操作を見ていきます。</div><div>ヤコビ行列を求める際にEnd-Effectorの座標(x, y)を各角度で偏微分しましたが(以下)、</div><div><pre>dx/dθ1 = - L1sin(θ1) - L2sin(θ1+θ2) - L3sin(θ1+θ2+θ3)
dx/dθ2 = 0 - L2sin(θ1+θ2) - L3sin(θ1+θ2+θ3)
dx/dθ3 = 0 - 0 - L3sin(θ1+θ2+θ3)
dy/dθ1 = L1cos(θ1) + L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3)
dy/dθ2 = 0 + L2cos(θ1+θ2) + L3cos(θ1+θ2+θ3)
dy/dθ3 = 0 + 0 + L3cos(θ1+θ2+θ3)</pre></div><div>これらの変化量は以下の図のような感じになっています。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-ZXLN-VXA8mE/YGLwlKVVyyI/AAAAAAAAPD4/6Nvt-41CWjwJr1jAeGD6Omxcpa0WkcC9ACLcBGAsYHQ/s1676/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-30%2B18.31.00.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="680" data-original-width="1676" height="260" src="https://1.bp.blogspot.com/-ZXLN-VXA8mE/YGLwlKVVyyI/AAAAAAAAPD4/6Nvt-41CWjwJr1jAeGD6Omxcpa0WkcC9ACLcBGAsYHQ/w640-h260/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-30%2B18.31.00.png" width="640" /></a></div><br /><div><br /></div><div><b>Chart1:</b></div><div><span> </span>dx/dθ1はJoint1を回転軸とした角度θ1の変化率で、Joint1だけを回転させる時、現状の角度にΔθ1加えるとEnd-EffectorがTargetに最も近くなります。</div><div><b>Chart2:</b></div><div><span> </span>次にdx/dθ2に関しては、Joint2だけを回転させる時、現状の角度にΔθ2加えるとEnd-EffectorがTargetに最も近くなります。</div><div><div><b>Chart3:</b></div><div><span> </span>同様にdx/dθ3に関しては、Joint3だけを回転させる時、現状の角度にΔθ3加えるとEnd-EffectorがTargetに最も近くなります。</div></div><div><b>Chart4:</b></div><div><span> </span>これ以降はChart1に戻ってJoint1の回転操作から順に繰り返していきます。</div><div><br /></div><div>このような手順で各Jointの角度の回転の割合が決まって、徐々にEnd-EffectorがTargetに近づいていきます。</div><div>これは<a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">以前に試したCCD法</a>に似た手順です。CCD法では図形的に理解しましたが、ヤコビ行列で変化量を求めてそれぞれのJointを個別に回転させることは、同じようなことをやっているのではないでしょうか(証明していないので不明)。</div>
<div><br /></div>
<div><br /></div>
<h2 style="text-align: left;">コード:</h2><div><ul style="text-align: left;"><li>最初にFKの計算式、そしてヤコビ行列を求めたあと疑似逆行列を求めてIKを計算しています。</li><li>numpyには<a href="https://numpy.org/doc/stable/reference/generated/numpy.matrix.html" target="_blank">matrixクラス</a>もありますが、将来的に廃止となるようなので行列式にはnp.array()を使用しています。</li><li>np.array()の場合、行列同士の掛け算はドット積np.dot(A, B)で計算しますが、A@Bのように@でも計算可能です。</li><li>最後にインタラクティブにマウス座標を追従するプログラムがあるため、Jupyter Notebookのbackendは%matplotlib notebookを使用しています。</li></ul></div><div><br /></div>
<div><br /></div>
<script src="https://gist.github.com/mirrornerror/db1f85b7ed6291365909c98120cf9c96.js"></script>
<div><br /></div>
<div>まだ不完全な部分も多いため、引き続き以下の点についても試してみようと思っています。</div><div><ul style="text-align: left;"><li>同次変換行列を用いる方法</li><li>特異点における問題点や回避策</li><li>回転角範囲の制約と設定</li><li>End-Effectorを固定したまま他のジョイントを動かす方法</li><li>クロス積を用いたヤコビアンの計算方法</li><li>3Dへの拡張</li></ul><div><div>関連:</div><div><ul style="text-align: left;"><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/inverse-kinematics-backward.html" target="_blank">Inverse Kinematics 逆運動学:Backward Shift、FABRIK、CCD</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">IK(逆運動学):同次変換行列、クロス積によるヤコビ行列(その2)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ikccdfabrik.html" target="_blank">IK(逆運動学):アーム可動域制限(角度制限)CCDとFABRIKの場合</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik.html" target="_blank">IK(逆運動学):同次変換行列/ヤコビ行列(クロス積)/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik3d.html" target="_blank">IK(逆運動学)3Dアーム/同次変換行列/ヤコビ行列/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/06/ik.html" target="_blank">IK(逆運動学):複数の円の交点から求める</a></li></ul></div></div></div><div><br /></div></div>
<a href="https://s.click.aliexpress.com/e/_9i8RH5" target="_parent"><img height="236" src="https://ae04.alicdn.com/kf/H58922e9608494deaaf70658658a3a43eh.jpg" width="400" /><span style="display: block;">AliExpress.com Product - Metal mechanical arm Multi-degree of freedom manipulator Industrial robot model Six-axis robot 202</span></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-6364392102216446962021-03-25T15:19:00.018+09:002021-06-04T11:42:32.346+09:00Inverse Kinematics 逆運動学:Backward Shift、FABRIK、CCD<p> ロボットアーム(マニピュレータ)における逆運動学のアルゴリズム。</p><p>今回は以下の方法について試してみます。</p><p></p><ul><li>Forward + Shift</li><li>FABRIK(Foward and Backward Reaching Inverse Kinematics)</li><li>CCD(Cyclic Coordinate Descent)</li></ul><div>環境:</div><div><ul><li>Python3.6</li><li>Jupyter Notebook</li></ul><div><br /></div></div><div><br /></div><div>運動学の場合、ロボットアームの各関節の角度を入力するとアーム先端(End-Effector)の座標値を求めることができます。</div><div>逆運動学の場合、End-Effector(アーム先端部)の座標値を入力すると各関節の角度が求められます。</div><div>上記の方法以外にヤコビ行列を用いた方法がありますが、<a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">それは次回へ</a>。</div><div><br /></div><h2 style="text-align: left;"><b>Backward Shift:</b></h2><div>この方法は、解析的に各関節の角度を求めるというより、図形的に回転と移動を繰り返すことで徐々に目標の座標に近似させていきます。Baseに近いほうからLink1、Link2、Link3という順番にしておき、Backwardの名前の通り、Link3から回転移動処理を始め、次にLink2、そしてLink1と操作を続けていきます。</div><div><br /></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-NP7dPwrsg5s/YFqkYLp8IfI/AAAAAAAAPCk/Tu73YZA_jbgFzQTUPRST51Y2PB8I7DjtACLcBGAsYHQ/s1572/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-24%2B11.28.30.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="664" data-original-width="1572" height="270" src="https://1.bp.blogspot.com/-NP7dPwrsg5s/YFqkYLp8IfI/AAAAAAAAPCk/Tu73YZA_jbgFzQTUPRST51Y2PB8I7DjtACLcBGAsYHQ/w640-h270/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-24%2B11.28.30.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><b>Chart1:</b></div><div><span> </span>アーム先端(End-Effector)の根元の関節Joint3から目標座標Target3に線を引いて角度θ3を得る。</div><div><span> </span>Joint3を軸にLink3をθ3回転させる。</div><div><b>Chart2:</b></div><div><span> 回転させたのち、</span>End-EffectorとTarget3が一致するようにLink3をd3だけ平行移動する。</div><div><b>Chart3:</b></div><div><span> Link2とLink3の間に隙間ができるが、これでLink3の操作は一旦終了。</span><br /></div><div><span><br /></span></div><div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-e_WHupWzdiM/YFqnvclV0mI/AAAAAAAAPCs/_sK-qMOWtZA85UH9GiZyeAzEJgx5x9oPACLcBGAsYHQ/s1572/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-24%2B11.28.48.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="556" data-original-width="1572" height="226" src="https://1.bp.blogspot.com/-e_WHupWzdiM/YFqnvclV0mI/AAAAAAAAPCs/_sK-qMOWtZA85UH9GiZyeAzEJgx5x9oPACLcBGAsYHQ/w640-h226/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-24%2B11.28.48.png" width="640" /></a></div><div><span style="text-align: left;">次はLink2の回転移動操作。目標座標はLink3下端(Target2)。</span></div><div><br /></div><div><b>Chart4:</b></div><div><span><span> </span>Joint2から</span>Target2へ向けて線を引き角度θ2を得る。</div><div><span> </span>Joint2を軸にLink2をθ2回転させる。</div><div><span><b>Chart5:</b></span></div><div><span><span> </span><span>回転させたのち、</span>Link2上端とTarget2が一致するようにLink2をd2だけ平行移動する。</span></div><div><span><b>Chart6:</b></span></div><div><span> </span>Link1とLink2の間に隙間ができるが、これでLink2の操作は一旦終了。</div><div><span><br /></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-GnE4q1geq64/YFqondi4xLI/AAAAAAAAPC0/vXzZeV7Qeps7jkQEQ4tvXL43mE5m7UYzgCLcBGAsYHQ/s1628/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-24%2B11.29.08.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="1628" height="236" src="https://1.bp.blogspot.com/-GnE4q1geq64/YFqondi4xLI/AAAAAAAAPC0/vXzZeV7Qeps7jkQEQ4tvXL43mE5m7UYzgCLcBGAsYHQ/w640-h236/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-24%2B11.29.08.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"></div><div><span style="text-align: left;">次のLink1についても同様の手順で動かす。目標座標はLink2の下端(Target1)。</span></div><div><br /></div><div><b>Chart7:</b></div><div><span> </span><span>Joint1から</span>Target1へ向けて線を引き角度θ1を得る。</div><div> Joint1を軸にLink1をθ1回転させる。</div><div><b>Chart8:</b></div><div><span> </span><span>回転させたのち、</span>Link1上端とTarget1が一致するようにLink1をd1だけ平行移動する。</div><div><b>Chart9:</b></div><div><span> </span>Link1下端とBaseの間には隙間d0ができるので、Link1下端がBaseと一致するようにd0だけ全体的に平行移動する。</div><div><b>Chart10:</b></div><div><span> </span>全体的に平行移動すると、End-Effectorと目標座標Target3との間に隙間ができる。</div><div><span> Joint3からTarget3へ線を引き、</span>これ以降はChart1に戻って同じ処理を繰り返す。</div><div><span> 最終的には</span>End-Effectorが目標座標Target3に限りなく近づく。</div><div> </div><div>プログラム上では、この繰り返し処理に回数制限を設けるか、End-Effectorと目標座標との誤差が0.00001以下になったらループ処理を抜け出すかなどの設定にします。</div><div><br /></div><h3 style="text-align: left;">コード:</h3><div><ul style="text-align: left;"><li>リンク(Arm)のclassを用意して、長さ、両端座標、角度などを定義しておきます。</li><li>ならびに回転移動処理に必要なbackwardとshiftというメソッドも定義しておきます。</li><li>角度はnp.arctan2()で二点の座標から求めています。</li><li>変数Nを変えれば、Link数を増やすことができます。</li><li>Jupyter Notebook上でインタラクティブ描画するためにバックエンドとして「#matplotlib notebook」を使用しています。</li><li>コード後半のmotion()関数で、ロボットアームがマウス座標を追従します(Jupyter上では動きはやや遅い)。</li></ul></div><div><br /></div>
<script src="https://gist.github.com/mirrornerror/f3fb2eacd5618bac4696cbd47e755df0.js"></script>
<div><br /></div><div><br /></div><h2 style="text-align: left;">FABRIK:</h2><div>この方法は、「Forward and Backward Reaching Kinematics」の略で、ForwardとBackwardの回転移動操作を繰り返して徐々に目標座標に近づいていきます。</div><div>前述したBackward ShiftのShiftさせた部分をForward(前方からの)の回転移動操作に置き換えたようなものです。</div><div>まず、End-Effectorのほうから目標座標に対して回転移動操作(Backward)し、Link1まで操作したら、今度はLink1、Link2、Link3という順番で回転移動操作(Forward)していきます。向きが変わるだけで基本的な手順は前述のChart1〜Chart8までの操作と同じです。</div><div><br /></div><h3 style="text-align: left;">コード:</h3><div><ul><li>Linkのclassを用意して、長さ、両端座標、角度などを定義しておきます。</li><li>回転移動処理に必要なbackwardとforwardのメソッドも定義しておきます。</li><li>角度はnp.arctan2()で二点の座標から求めています。</li><li>変数Nを変えれば、Link数を増やすことができます。</li><li>Jupyter Notebook上でインタラクティブ描画するためにバックエンドとして「#matplotlib notebook」を使用しています。</li><li>コード後半のmotion()関数で、ロボットアームがマウス座標を追従します(Jupyter上では動きはやや遅い)。</li></ul><div><br /></div></div>
<script src="https://gist.github.com/mirrornerror/b21087835d726439bbdf08b42e73470e.js"></script>
<div><br /></div>
<div><br /></div><div><br /></div><h2 style="text-align: left;">CCD:</h2><div>この方法は、2つのベクトル(回転軸から目標座標までのベクトル、回転軸からEnd-Effectorまでのベクトル)の角度の差分だけ回転させますが、Linkを回転させるというよりも、回転軸以降にあるJointの座標を回転移動させると言ったほうがいいでしょう。回転軸はJoint3、Joint2、Joint1という順番で移行し、それを繰り返します。</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-p-RagmS-lac/YFtUkl3o8AI/AAAAAAAAPDM/ek3lZrAGGDUES51xu3GkfZbK48N3fKYdgCLcBGAsYHQ/s1868/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-25%2B0.02.19.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="802" data-original-width="1868" height="274" src="https://1.bp.blogspot.com/-p-RagmS-lac/YFtUkl3o8AI/AAAAAAAAPDM/ek3lZrAGGDUES51xu3GkfZbK48N3fKYdgCLcBGAsYHQ/w640-h274/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-25%2B0.02.19.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><b>Chart1:</b></div><div><span><span> </span>まずEnd-Effectorに近いJoint3を回転軸とする。</span></div><div><span><span> </span>Joint3からTargetまでのベクトル、</span>Joint3からEnd-Effectorまでのベクトル間の角度θ3を求める。</div><div><span> </span>回転軸となるJoint3以降にあるJoint(この場合End-Effectorのみ)をθ3回転させる。</div><div><b>Chart2:</b></div><div><span><span> 次の回転軸はJoint2。</span><br /></span></div><div><span><span><span> Joint2からTargetまでのベクトルと</span></span></span>Joint2からEnd-Effectorまでのベクトル間の角度θ2を求める。</div><div><span> Joint2以降のJoint(この場合、Joint3とEnd-Effector)をJoint2を中心に</span>θ2回転させる。</div><div><div><b>Chart3:</b></div><div> 次の回転軸はJoint1。<br /></div><div> Joint1からTargetまでのベクトルとJoint1からEnd-Effectorまでのベクトルの角度θ1を求める。</div><div> Joint1以降のJoint(この場合、Joint2、Joint3、End-Effector)をJoint1を中心にθ1回転させる。</div></div><div><div><b>Chart4:</b></div><div> 再度、回転軸はJoint3に戻り、Chart1同様の手順で回転移動させる。</div></div><div><span> あとはこの繰り返しで徐々にEnd-EffectorはTargetに近づいていく。</span><br /></div><div><br /></div><h3 style="text-align: left;">コード:</h3><div><ul style="text-align: left;"><li>各Linkごとに動かすというよりも、回転軸となるJointを中心にそれ以降にあるJointの座標を回転移動させています。</li><li>CCD()ファンクション内の二重のforループは、最初のforループが回転軸用、次のforループが回転移動させるJoint座標用になります。</li><li>Jupyter Notebook上でインタラクティブ描画するためにバックエンドとして「#matplotlib notebook」を使用しています。</li></ul></div><div><br /></div>
<script src="https://gist.github.com/mirrornerror/156ab9d22aec5a57fe7da584ba371ebe.js"></script>
<div><br /></div><div><br /></div><h2 style="text-align: left;">3つの比較:</h2><div>どれも比較的簡単なアルゴリズムなので軽快に動きますが、Forward & Backward系とCCDでは少し動きに違いが出てきます。</div><div>以下は、マウス(赤x印)の動きに追従するインタラクティブなプログラム。3つの方法を重ねて同時に動かしています。</div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-XcHnXivK6i4/YFwjX2E4c7I/AAAAAAAAPDU/R3IUf4ngBYsqcUK1W-AaqyolzpZEBUfpACLcBGAsYHQ/s932/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-25%2B14.30.21.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="854" data-original-width="932" height="366" src="https://1.bp.blogspot.com/-XcHnXivK6i4/YFwjX2E4c7I/AAAAAAAAPDU/R3IUf4ngBYsqcUK1W-AaqyolzpZEBUfpACLcBGAsYHQ/w400-h366/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-25%2B14.30.21.png" width="400" /></a></div>BackwardとFABRIKは同じアルゴリズムを使っているので似たような動きになります。<div>FABRIKは全体的に張りのある動きをしています。Backwardのほうはやや柔らかめ。</div><div>CCDはやや反応が遅く、先端に近いほうの動きとBaseに近いほうの動きに差が出て蛇行することがあります。</div><div>リンク数を多くすると、その動き方の違いも顕著になってきます。</div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-2kaQG_dn2p8/YFwlaFFsLEI/AAAAAAAAPDc/WLziQQG1Pk8TwTJ3KGQv2cHcNqvoV5_wQCLcBGAsYHQ/s928/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-25%2B14.29.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="856" data-original-width="928" height="369" src="https://1.bp.blogspot.com/-2kaQG_dn2p8/YFwlaFFsLEI/AAAAAAAAPDc/WLziQQG1Pk8TwTJ3KGQv2cHcNqvoV5_wQCLcBGAsYHQ/w400-h369/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2021-03-25%2B14.29.20.png" width="400" /></a></div>リンク数20の場合。<div>マウスの動かし方にもよりますが、CCDは2つに比べるとやや不自然な形になっています。<div>結果、BackwardとFABRIKが反応も早く、動きも自然という感じです。それぞれの回転移動方法やコードも比較的簡単。</div><div><br /></div><h3 style="text-align: left;">3つ同時のコード:</h3><div><ul style="text-align: left;"><li>Backward Shift、 FABRIK、CCDの3つ方法をマウスに追従させることでインタラクティブに試すことができます。</li><li>変数Nを変えればリンク数を増やすことができます。</li><li>Jupyter Notebook上でインタラクティブ描画するためにバックエンドとして「#matplotlib notebook」を使用しています。</li></ul></div>
<script src="https://gist.github.com/mirrornerror/15d0b847d88cf3c2b8011ff3368c89ad.js"></script>
<div><div><br /></div></div></div>これらのアルゴリズムは、CGのキャラなどを動かすときに向いているようです。角度制限がないため実際のロボットアームに使うアルゴリズムには向いていないようです。<div><div><br /></div><div>関連:</div><div><ul style="text-align: left;"><li><a href="https://cnc-selfbuild.blogspot.com/2021/03/jacobian-inverse-kinematics.html" target="_blank">Jacobian Inverse Kinematics :ヤコビ行列を用いた逆運動学(その1)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ik.html" target="_blank">IK(逆運動学):同次変換行列、クロス積によるヤコビ行列(その2)</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/04/ikccdfabrik.html" target="_blank">IK(逆運動学):アーム可動域制限(角度制限)CCDとFABRIKの場合</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik.html" target="_blank">IK(逆運動学):同次変換行列/ヤコビ行列(クロス積)/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/05/ik3d.html" target="_blank">IK(逆運動学)3Dアーム/同次変換行列/ヤコビ行列/角度制限</a></li><li><a href="https://cnc-selfbuild.blogspot.com/2021/06/ik.html" target="_blank">IK(逆運動学):複数の円の交点から求める</a></li></ul></div></div>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=kousakukousak-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4758317127&linkId=8a04bd2fd48cf0c892a43dd241560c32" style="height: 240px; width: 120px;"></iframe>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-80536863481541008942020-10-14T17:04:00.003+09:002020-10-14T17:23:26.507+09:00Ubuntu20.04へアップグレード(18.04から)<p> Ubuntu20.04がリリースされてから約半年が経過したので、そろそろ安定しているかなということで18.04からアップグレードしてみました。アップグレード通知が来ていたので、今回はコマンドを使わずGUIでアップグレード。</p><p></p><div class="separator" style="clear: both; text-align: left;"><a href="https://1.bp.blogspot.com/-uy9tX24WQlk/X4aAC2LT43I/AAAAAAAAO3M/sa5fN-GGWvcYIiiNO4dNsEZivPCouUR_gCLcBGAsYHQ/s1920/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2020-10-14%2B13-34-10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" src="https://1.bp.blogspot.com/-uy9tX24WQlk/X4aAC2LT43I/AAAAAAAAO3M/sa5fN-GGWvcYIiiNO4dNsEZivPCouUR_gCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2020-10-14%2B13-34-10.png" width="320" /></a></div><p></p><p>アップグレードのボタンを押すと約1時間半ほどでアップグレード完了で、特に難しい部分はありませんでした。途中で数回ほど諸設定を更新するかそのままにするか聞かれるくらいで、すべてボタンクリックで済みました。</p><p>Ubuntuの設定などは18.04から引き継いでいるようなので、設定し直す項目もなくシームレスにアップグレードされたという感じです。</p><p>ただ、アップグレードすると非対応のアプリケーションなどもあるので慣れ親しんだ18.04とは少し使い勝手が変わってしまう部分もありました。</p><p><br /></p><p><b><span style="font-size: medium;">その他バージョンアップしたもの:</span></b></p><p>・Anaconda最新版へ</p><p>・Python3.6から3.8へ</p><p>・cuda9.0から10.1へ</p><p>Python関連はAnaconda最新版を入れることでTensorflowやKerasなども最新版へ移行(特に問題なし)。</p><div class="separator" style="clear: both; text-align: left;"><a href="https://1.bp.blogspot.com/-3XfDLv5oiY4/X4aCldeU4KI/AAAAAAAAO3Y/YnmQ76i1owMZ2Ejk7a7sJkNumvNnh9H0ACLcBGAsYHQ/s736/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2020-10-14%2B13-45-09.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="736" src="https://1.bp.blogspot.com/-3XfDLv5oiY4/X4aCldeU4KI/AAAAAAAAO3Y/YnmQ76i1owMZ2Ejk7a7sJkNumvNnh9H0ACLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2020-10-14%2B13-45-09.png" width="320" /></a></div><p>GPU(nvidia)関連は、nvidia-driver-455、nvidia-cuda-toolkit(11.1)をインストール。nvidia-cuda-toolkitは、Anaconda環境内でもインストールしたため、TensorflowやKerasは10.1で動作しているようです。以前はcuda関連のインストールが大変でしたが、まったく問題なし。今回はconda install pipでpip自体もAnaconda経由でインストールし、pipとcondaが混在しないようにしました。</p><p><br /></p><p><b><span style="font-size: medium;">問題ありの部分:</span></b></p><p>Tweakで設定できる機能拡張がGnome3.36に未対応のものも多く、それらは使えませんでした。</p><div class="separator" style="clear: both; text-align: left;"><a href="https://1.bp.blogspot.com/-iJXxbegxbbw/X4aHNDEZalI/AAAAAAAAO3k/LAAw5j1C6OQLuXWqur9aJBRrS30Zb6UogCLcBGAsYHQ/s575/Screenshot%2Bfrom%2B2020-10-14%2B14-03-56.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="575" data-original-width="368" height="320" src="https://1.bp.blogspot.com/-iJXxbegxbbw/X4aHNDEZalI/AAAAAAAAO3k/LAAw5j1C6OQLuXWqur9aJBRrS30Zb6UogCLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-10-14%2B14-03-56.png" /></a></div><p>挙動が変な機能拡張はアンインストールかオフにしたので(上画像)、ほぼデフォルトに近い状態に戻ってしまったという感じです。Argosが便利でしたが使えない。</p><p><br /></p><p><span style="font-size: medium;"><b>Tweaksが不安定:</b></span></p><p>Tweaks>全般>アニメーションをオフにすると左側のサイドバーがちらついてクリックできなくなる。</p><p>また、Tweakのメニューバーのメニューが消えてしまうという不具合もあります。ウィンドウ最大化するか、ウィンドウ左端を広げると直ります。</p><div class="separator" style="clear: both; text-align: left;"><a href="https://1.bp.blogspot.com/-IZFzXzdwyEQ/X4al5wr6t3I/AAAAAAAAO3w/CudPBmqfQTk8ICmoPabNRAeeAcUVyA-KACLcBGAsYHQ/s953/Screenshot%2Bfrom%2B2020-10-14%2B16-14-31.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="650" data-original-width="953" src="https://1.bp.blogspot.com/-IZFzXzdwyEQ/X4al5wr6t3I/AAAAAAAAO3w/CudPBmqfQTk8ICmoPabNRAeeAcUVyA-KACLcBGAsYHQ/s320/Screenshot%2Bfrom%2B2020-10-14%2B16-14-31.png" width="320" /></a></div><p>こんな感じ↑でメニューバーには何も表示されない。</p><p>そこで、ウィンドウ左端を左側に引き伸ばすとサイドバーが現れてメニューも表示されるようになります(以下)。</p><div class="separator" style="clear: both; text-align: left;"><a href="https://1.bp.blogspot.com/-R560F3me38A/X4amMoYL2dI/AAAAAAAAO34/1SZ70IC2jI8DkXOsSNPbF9xtEsSH72GfgCLcBGAsYHQ/s1051/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2020-10-14%2B16-15-58.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="644" data-original-width="1051" src="https://1.bp.blogspot.com/-R560F3me38A/X4amMoYL2dI/AAAAAAAAO34/1SZ70IC2jI8DkXOsSNPbF9xtEsSH72GfgCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2020-10-14%2B16-15-58.png" width="320" /></a></div><p>ちらついてタブがクリックできないという不具合もウィンドウを左側に広げると一応元に戻ります。どうやら、初期画面のサイズが小さすぎるのかもしれません。</p><p><br /></p><p><b><span style="font-size: medium;">Tweaksちらつき解決方法:</span></b></p><p><a href="https://gitlab.gnome.org/GNOME/gnome-tweaks/-/issues/245" target="_blank">ここに</a>書いてありました。</p><p>/usr/lib/python3/dist-packages/gtweak/tweakview.pyの154行目にあるself.listbox.set_size_request(200, -1)を</p><p>self.listbox.set_size_request(300, -1)に書き換えれば(要管理者権限)、初期画面が少し横に広がるのでちらつき問題は発生しないようです。実際書き換えて見たら直りました。</p><p><br /></p><p><b><span style="font-size: medium;">Wifiドライバ(接続が途切れる):</span></b></p><p>この問題は相変わらずで、18.04のときと同様にドライバソフトを入れ替えました。その方法は<a href="https://cnc-selfbuild.blogspot.com/2019/05/wifi-ubuntu-1804lts-msi-gs43-gtx1060.html" target="_blank">こちら</a>。</p><p><br /></p><p><b><span style="font-size: medium;">まとめ:</span></b></p><p>AnacondaやPython、cuda関連もアップグレードしているため、そのついでに20.04へ移行してしまったという感じです。18.04LTSはまだサポートが続いているので、18.04に慣れ親しんでいるならアップグレードしなくてもよかったかもしれません。おかげでPython環境は良好になったのですが、Ubuntuそのものはまだ使いづらいし、今後も多少のカスタマイズや修正が必要そう。</p><p>Ubuntu16.10から18.04へ移行したときはクリーンインストールしたために全て設定し直しましたが、今回はクリーンインストールではないため設定し直す部分も少なくて楽でした。</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-36450491154809597222019-12-27T14:33:00.000+09:002020-01-06T19:29:14.788+09:00クォータニオン / Quaternion:立方体の回転操作(その3)<a href="https://cnc-selfbuild.blogspot.com/2019/12/blog-post_23.html" target="_blank">前回</a>までは単位球に対する一点の回転操作でしたが、今回はもう少し具体的にということで立方体の回転操作を試してみました(基本的なクォータニオン回転操作については<a href="https://cnc-selfbuild.blogspot.com/2019/12/quaternion.html" target="_blank">こちらへ</a>)。<br />
<div>
立方体の8個の頂点を個別に計算して回転操作しています。</div>
<div>
また、scale変数で立方体の縦横高さの比率を調整できるようにし、pos変数で位置の基準点を変えられるようにしています。<br />
<br /></div>
<div>
<b>手順としては:</b></div>
<div>
・8頂点(ベクトル)のそれぞれのスカラー値を求める</div>
<div>
・8頂点(ベクトル)をスカラー値で正規化</div>
<div>
・正規化した8頂点(ベクトル)を回転操作</div>
<div>
・正規化されている8頂点(ベクトル)をスカラー倍してもとのスケールに戻す<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1364" data-original-width="1030" height="640" src="https://1.bp.blogspot.com/-dGv8t0sakdE/XgWWSlb40OI/AAAAAAAAOZ4/4Zj3HhYjYm4gepmAW6E2OPhuUJ7zcQG9gCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B14.27.19.png" width="481" /></div>
<a href="https://ipywidgets.readthedocs.io/en/stable/index.html" target="_blank">ipywidgets</a>でインタラクティブに角度を変えられるようになっています。また立方体の縦横高さの比率も変更可。<br />
オンライン上で実行するにはBinderで可能です(方法については<a href="https://cnc-selfbuild.blogspot.com/2019/12/binderjupyter-notebookipynb.html" target="_blank">こちらを参考に</a>)。</div>
<div>
<br /></div>
<div>
以下がコード(Gist):</div>
<div>
・回転角度と立方体の縦横高さ比が変更可能なバージョン<br />
・回転角度と回転軸(単位ベクトル)が変更可能なバージョン<br />
の二つがあります。</div>
<div>
<br /></div>
<script src="https://gist.github.com/mirrornerror/0ac20c84259eb82089a512c01a91a5ab.js"></script>
関連:<br />
<a href="https://cnc-selfbuild.blogspot.com/2019/12/quaternion.html" target="_blank">クォータニオン(四元数) / Quaternion / 回転制御(その1)</a><br />
<a href="https://cnc-selfbuild.blogspot.com/2019/12/blog-post_23.html" target="_blank">クォータニオン / 回転制御(その2):二点間から単位ベクトルと回転角度を求める</a>
<br />
<br />
<br />
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank"><img alt="四元数" src="https://images-fe.ssl-images-amazon.com/images/I/319UIHfTjbL._SL160_.jpg" style="border: none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">四元数</a><br />
<div class="amazlet-powered-date" style="font-size: 80%; line-height: 120%; margin-top: 5px;">
posted with <a href="http://www.amazlet.com/" target="_blank" title="amazlet">amazlet</a> at 19.12.22</div>
</div>
<div class="amazlet-detail">
今野 紀雄 <br />
森北出版 <br />
売り上げランキング: 67,351</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jpで詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-57025523092410463062019-12-27T13:41:00.000+09:002019-12-29T13:55:33.167+09:00Binder:オンライン上でのJupyter Notebook(ipynbファイル)の実行ネット上で見かけるipynbファイルをブラウザに表示するには<a href="https://nbviewer.jupyter.org/" target="_blank">nbviewer</a>にアクセスして、<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="473" data-original-width="1600" height="188" src="https://1.bp.blogspot.com/-BcBITQLEReA/XgV_ARwkGUI/AAAAAAAAOYI/cLsNCATDrNM5zaLqOFCDhv9jjmOgJMQiQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B12.44.56.png" width="640" /></div>
ipynbファイルのURLを入力してGo!ボタン。<br />
<br />
そうするとJupyter Notebook形式でコードが表示されます。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="437" data-original-width="1600" height="174" src="https://1.bp.blogspot.com/-W4DRNViTp4s/XgV_xR4kF1I/AAAAAAAAOYQ/3lREUuHIQdMW_USiYWIPjsjIKxSAQHrpQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B12.50.50.png" width="640" /></div>
<br />
このプログラムをこのままオンライン上で実行するには、ページ右上の「Execute on Binder」(以下の赤丸のアイコン)をクリック。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="98" data-original-width="902" height="34" src="https://1.bp.blogspot.com/-EqpaXI3pOAI/XgWArXDyc-I/AAAAAAAAOYc/Z27J6WVTy8MCShF9AZZVsfpL-7KcaohDgCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B12.46.09.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
そうすると、Binderに移行し実行可能な環境ができあがり、オンライン上でJupyter Notebookが使用可能。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="358" data-original-width="1600" height="142" src="https://1.bp.blogspot.com/-sDTLKY_3EuU/XgWCDEkGRlI/AAAAAAAAOYw/c2eNkcrspLQo3ib3qgVzapeM1s4CCYawACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B13.01.00.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;"><b>必要なモジュール/</b></span><b><span style="font-size: large;">requirements.txt</span></b><b style="font-size: x-large;">:</b></div>
<div class="separator" style="clear: both; text-align: left;">
しかし、このプログラムに必要なモジュール(numpy、matplotlibなど)がこの環境にインストールされていなければエラーがでます。必要なモジュールについては、ipynbファイルとは別にrequirements.txtがアップロードされており、その中に記述されています。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="468" data-original-width="1568" height="188" src="https://1.bp.blogspot.com/-umapXqWnuo4/XgWDKIQr_JI/AAAAAAAAOY8/EP_3Ohf9OoUk0F-s2EtdhMnAJjiSsaPRgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B13.05.33.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
Binder内のディレクトリ。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="304" data-original-width="810" height="120" src="https://1.bp.blogspot.com/--oTqkcy2MJA/XgWDtF54myI/AAAAAAAAOZE/sTQlo1dsxA4DD6YajtrlFp-Nu0LrOAxOACLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B13.08.06.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
requirements.txtを開くと必要なモジュール名が書いてあります。requirements.txtがipynbファイルと同じディレクトリ内にあれば自動でモジュールがインストールされますが、もしrequirements.txtがなければ自力で必要そうなモジュールをインストールする必要があります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">ターミナルでモジュールをインストール:</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="568" data-original-width="832" height="218" src="https://1.bp.blogspot.com/-fn3BYwrxRWU/XgWEy89AXMI/AAAAAAAAOZQ/jSgFFtNnWgk2g2InG_HLbXwAzsHzRNy-QCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B13.09.55.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
ディレクトリのページに戻り、右上の「New」から「Terminal」を選択。</div>
<div class="separator" style="clear: both; text-align: left;">
ターミナル 画面が現れたら、pipなどで必要なモジュールをこの環境にインストール。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="238" data-original-width="1584" height="96" src="https://1.bp.blogspot.com/-fg5ijyQL-94/XgWFgIO6cFI/AAAAAAAAOZY/enP_7EhnUv8jvja60YqYwdPaOenH6KyPgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B13.14.50.png" style="text-align: left;" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
必要なモジュールが揃えば、プログラム実行可能なります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">直接「Binder」にアクセスして実行:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
また、nbviewerを使わずに、直接「<a href="https://mybinder.org/" target="_blank">Binder</a>」から実行するには、</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1294" data-original-width="1530" height="539" src="https://1.bp.blogspot.com/-n2OqNUlqPU4/XgWIV-_iulI/AAAAAAAAOZk/jcHmEQ0OhU80QJ2XLvadvJVPbYq5zwPwACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B12.29.26.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
Binderのトップページ。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="714" data-original-width="1530" height="298" src="https://1.bp.blogspot.com/-rLZ_uDL4l2c/XgWIuZtcoyI/AAAAAAAAOZs/YiqKus03QecueRGK9l8OPenvZRvR9r2agCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-27%2B12.30.23.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
プルダウンメニューからipynbファイルの場所の種類(GitHubやGistなど)を選択。ipynbファイルのURLを入力し「launch」ボタンをクリックでファイルが開きます。</div>
<div class="separator" style="clear: both; text-align: left;">
requirements.txtがない場合はモジュールが自動インストールされないため、そのままプログラムを実行するとエラーがでるので、先ほど同様オンライン上のターミナルで自力で必要なモジュールをインストール。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774192236/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank"><img alt="PythonユーザのためのJupyter[実践]入門" src="https://images-fe.ssl-images-amazon.com/images/I/51ZeYjBnmfL._SL160_.jpg" style="border: none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774192236/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">PythonユーザのためのJupyter[実践]入門</a><br />
<div class="amazlet-powered-date" style="font-size: 80%; line-height: 120%; margin-top: 5px;">
posted with <a href="http://www.amazlet.com/" target="_blank" title="amazlet">amazlet</a> at 19.12.27</div>
</div>
<div class="amazlet-detail">
池内 孝啓 片柳 薫子 岩尾 エマ はるか @driller <br />
技術評論社 <br />
売り上げランキング: 37,985</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774192236/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jpで詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-17304311172235486792019-12-23T16:49:00.000+09:002019-12-27T14:34:30.863+09:00クォータニオン / 回転制御(その2):二点間から単位ベクトルと回転角度を求める<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://cnc-selfbuild.blogspot.com/2019/12/quaternion.html" target="_blank">前回に</a>引き続きクォータニオン回転制御についてです。<br />
今回は任意の二点(ベクトルAとB)だけが与られていて、AからBへ回転移動する際に必要な単位ベクトルと回転角度を求めてみます。<br />
<br />
しかしながら、任意の二点(AとB)といっても、いくつかのケースがあります。<br />
<br />
(1)AとBが単位球面上に存在する(|A|=|B|=1のとき)<br />
(2)AとBのスカラー値は同じだけど、単位球面上に存在しない(|A|=|B|≠1のとき)<br />
(3)AとBのスカラー値が異なり、単位球面上に存在しない(|A|≠|B|≠1)<br />
(<strike>4)そもそもAもBも単位ベクトルには無関係な任意の2点の場合</strike><br />
<span style="font-size: x-small;">*(4)に関しては、AからBへの直線移動も含まれるし、単位ベクトル自体も任意に決定できるので今回は省略。このことから、任意の二点といってもあくまで単位球を設定しなければ逆算できないということがわかります。</span><br />
<br />
<br />
<span style="font-size: large;"><b>(1)と(2)の場合(AとBのスカラー値が等しい場合):</b></span><br />
(1)が一番簡単で、(2)も回転操作後に(1)の値を元のスカラー倍すればいいので、回転操作自体は同じ計算方法になります。以下はXZ平面において回転軸Yの場合。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="711" data-original-width="760" height="372" src="https://1.bp.blogspot.com/-CiIFHlZBKeE/XgAyvqMfw-I/AAAAAAAAOXk/3wtGqeHvzQkpQ3r801zOBbrZquHFk10uACLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-23%2B12.21.18.png" width="400" /></div>
単純にAが回転するとBになったという状況。回転操作のためには一旦ベクトルAを正規化してAnにしなければならないので、AnからBnへの回転計算をしたのち、正規化されているBnを元のスカラー倍してBとなります。<br />
<br />
<b>単位ベクトルを求める:</b><br />
この場合、単位ベクトル(UV)は正規化されたAnとBnがあればクロス積(外積)で求めることができます(単位ベクトル(UV)は、ベクトルAnとベクトルBnに対して垂直/法線ベクトルとなるため)。ただし、Aのスカラー値とBのスカラー値は等しいという前提です(|A|=|B|)。<br />
Pythonであれば、<br />
<br />
<pre>A = [ax, ay, ax] # ベクトルA
B = [bx, by, bz] # ベクトルB
As = np.linalg.norm(A) # Aのスカラー値
Bs = np.linalg.norm(B) # Bのスカラー値 ただしAs=Bsという前提
An = np.array(A) / As # 正規化
Bn = np.array(B) / Bs # 正規化
UV = np.cross(An, Bn) # 求められた単位ベクトル
</pre>
<br />
<b>回転角度を求める:</b><br />
またAB間の回転角度(theta)はドット積(内積)とarccos()で求められ、<br />
<br />
<pre>cos_AnBn = np.dot(An, Bn)
theta = np.arccos(cos_AnBn)
</pre>
<br />
この二つの値(UV、theta)をクォータニオンの回転公式に代入し、Anを回転すれば計算結果がBnと一致します。そして正規化するまえの大きさに戻すため元のスカラー倍(Aのスカラー)します。<br />
<br />
<b>コード:</b><br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">mpl_toolkits.mplot3d</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">Axes3D</span>
<span class="o" style="box-sizing: border-box; color: #666666;">%</span><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">matplotlib</span> inline</pre>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion multiplication function</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># q = [w, x, y, z]</span>
<span class="n" style="box-sizing: border-box;">w</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">k</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">w</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">k</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion rotation function</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">QPQc</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">P</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># P: quaternion, UV: unit vector, t: rotation angle theta</span>
<span class="n" style="box-sizing: border-box;">q</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">qc</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">qP</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">q</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">P</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">result</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">qP</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">qc</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">result</span></pre>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># find unit vector and rotation angle for two vectors A and B</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.2</span><span class="p" style="box-sizing: border-box;">])</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># start point A</span>
<span class="n" style="box-sizing: border-box;">As</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linalg</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">norm</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># scalar of A: |A|</span>
<span class="n" style="box-sizing: border-box;">An</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">As</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># normalization</span>
<span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1.1</span><span class="p" style="box-sizing: border-box;">])</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># end point B</span>
<span class="n" style="box-sizing: border-box;">Bs</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linalg</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">norm</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># scalar of B: |B|</span>
<span class="n" style="box-sizing: border-box;">Bn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">Bs</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># normalization</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># find unit vector for An-Bn rotation</span>
<span class="n" style="box-sizing: border-box;">AnxBn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cross</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># orthogonal vector to An-Bn</span>
<span class="n" style="box-sizing: border-box;">UV</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">AnxBn</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linalg</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">norm</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">AnxBn</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># unit vector (normalized): rotation axis </span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># find rotation angle about An-Bn</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># cos_t = (An dot Bb) / (|An|*|Bn|) # (|An|*|Bn|) = An * Bn = 1 * 1 = 1</span>
<span class="n" style="box-sizing: border-box;">cos_AnBn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">dot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">theta_AnBn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arccos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">cos_AnBn</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># angle between An and Bn</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># reproduct A-B rotation</span>
<span class="n" style="box-sizing: border-box;">Qa</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">insert</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion of An: [0, x, y, z]</span>
<span class="n" style="box-sizing: border-box;">Qb</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QPQc</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Qa</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">theta_AnBn</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion rotation for An with UV and theta_AB</span>
<span class="n" style="box-sizing: border-box;">Bn_new</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">Qb</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">:]</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># new Bn vector (normalized): [bx, by, bz]</span>
<span class="n" style="box-sizing: border-box;">B_new</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">Bn_new</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">Bs</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># new B vector</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'unit vector:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'theta (degrees):'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">rad2deg</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta_AnBn</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'initial vector B:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'new vector B :'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B_new</span><span class="p" style="box-sizing: border-box;">)</span> </pre>
<br />
<br />
<b><span style="font-size: large;">(3)の場合(AとBのスカラー値が異なる場合):</span></b><br />
しかし(3)の場合は、単位球に対する任意の二点ABということから、Aを単純に回転させた結果がBになるとは限りません。以下のような状況。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="711" data-original-width="758" height="373" src="https://1.bp.blogspot.com/-dOhHJKDSoLM/XgA9Cok1LiI/AAAAAAAAOXw/uANdBeiC2u8L4l6TulE4XwcZxTHBWYIyACLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-23%2B12.48.49.png" width="400" /></div>
Aを単純に回転させればA'(×印)にたどり着きますが、AとBのスカラー値(半径)が異なる場合はピンクの破線のような動きになります。Aは回転しつつ半径も縮まっていくという変化。<br />
この場合、回転操作は(1)と同様に正規化されたベクトルAnで行い、最終的にAn(Bnと同じ)をBのスカラー倍(Bs倍)すればいいことになります。<br />
<br />
回転軸となる単位ベクトルは(1)と同様にAnとBnのクロス積で求まります。<br />
<br />
<pre>A = [ax, ay, ax] # ベクトルA
B = [bx, by, bz] # ベクトルB
As = np.linalg.norm(A) # Aのスカラー値
Bs = np.linalg.norm(B) # Bのスカラー値
An = np.array(A) / As
Bn = np.array(B) / Bs
UV = np.cross(An, Bn) # 求められた単位ベクトル</pre>
<br />
AnとBnの回転角度に関しても(1)と同様にドット積とarccos()で求めます。<br />
<br />
<pre>cos_AnBn = np.dot(An, Bn)
theta_AnBn = np.arccos(cos_AnBn)</pre>
<br />
求めた単位ベクトルUV(回転軸)とtheta_AnBn(回転角度)をクォータニオンの公式に代入すればBnが求まります。求めたBnに対して元のスカラー値Bsを掛ければBになります。<br />
しかし、これでは移動前と移動後の二つの場面しかないので、途中の軌跡を描いて滑らかに移動しているかどうか確かめてみる必要がありそうです。つまり、先程の図のAからBへの移り変わり(ピンクの破線)を描いてみるというわけです。<br />
<br />
<br />
<b><span style="font-size: large;">AからBへの移動の中間補間:</span></b><br />
まず移動のステップ数を決め、ステップ数に応じた回転角度とAからBへのスカラー値の変化量を決めます。<br />
<br />
<pre>steps = 33
theta = np.linspace(0, theta_AnBn, steps)
ABs = np.lispace(As, Bs, steps)</pre>
<br />
これで、回転角度thetaは33ステップで0からtheta_AnBnまで変化します。同様にAB間のスカラー値ABsの変化も33ステップでAsからBsへ変化します。あとは公式に代入して33ステップ分の結果を得ます。<br />
<br />
<pre>arw, arx, ary, arz = np.array([QPQc(Qa, UV, t) for t in theta]).T</pre>
<br />
上式で求まるのはAn-Bn間の回転結果(角度は違うけれどもスカラー値はどれも1)なので、各ステップに応じたスカラー値の変化量ABsを掛け合わせます。<br />
<br />
<pre>ABx = arx * ABs
ABy = ary * ABs
ABz = arz * ABs</pre>
<br />
これで、各ステップごとに正規化されたベクトルに対して段階的にスカラー倍することになります。<br />
<br />
<br />
<b><span style="font-size: large;">ipywidgetsでインタラクティブ表示:</span></b><br />
今回も<a href="https://ipywidgets.readthedocs.io/en/stable/index.html" target="_blank">ipywidgets</a>でインタラクティブなグラフを表示してみます(ブログ上ではインタラクティブに動きませんが、<a href="https://mybinder.org/" target="_blank">mybinder.org</a>でこちらの<a href="https://gist.github.com/mirrornerror/4a3513da0456348bc6c6d940c405ac69" target="_blank">gist URL</a>を入力すればオンライン上でも動きます)。<br />
関連:<a href="https://cnc-selfbuild.blogspot.com/2019/12/binderjupyter-notebookipynb.html" target="_blank">Binder:オンライン上でのJupyter Notebook(ipynbファイル)の実行</a><img border="0" data-original-height="1266" data-original-width="1044" height="640" src="https://1.bp.blogspot.com/-x1KucKwYVas/XgBTwJc4CzI/AAAAAAAAOX8/yJq4nKl1FOY2dM4YkcDfunPhRXPvYKNKgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-23%2B14.42.05.png" width="524" /><br />
<div class="separator" style="clear: both; text-align: left;">
右端initial vector A(青)がinitialized vector B(緑)へ向かって移動する状態(ピンク)。unit vector:単位ベクトル(赤)が回転軸。</div>
<div class="separator" style="clear: both; text-align: left;">
正規化されたAn-Bn間の回転移動は単位球面上にあります。AからBへの移動(ピンク破線)は単位球の同心円とずれているのがわかります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
クォータニオンの回転では、比較的簡単なパラメーターの調整だけで回転操作できることがわかりました。特にこのような移動途中の軌跡を描く際には便利なツールだと思います。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>コード:</b></div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">mpl_toolkits.mplot3d</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">Axes3D</span>
<span class="o" style="box-sizing: border-box; color: #666666;">%</span><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">matplotlib</span> inline</pre>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion multiplication function</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># q = [w, x, y, z]</span>
<span class="n" style="box-sizing: border-box;">w</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">k</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">w</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">k</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion rotation function</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">QPQc</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">P</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># P: quaternion, UV: unit vector, t: rotation angle theta</span>
<span class="n" style="box-sizing: border-box;">q</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">qc</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">qP</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">q</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">P</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">result</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">qP</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">qc</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">result</span></pre>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">plot_base</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">elev</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">25</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">azim</span><span class="o" style="box-sizing: border-box; color: #666666;">=-</span><span class="mi" style="box-sizing: border-box; color: #666666;">70</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">projection</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'3d'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">view_init</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">elev</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">elev</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">azim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">azim</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xlim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">ylim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="p" style="box-sizing: border-box;">,</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">zlim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xlabel</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ylabel</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'Y'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">zlabel</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'Z'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">xaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">fill</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">yaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">fill</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">zaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">fill</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="kc" style="box-sizing: border-box; color: green; font-weight: bold;">False</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">128</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">alpha</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.7</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">ax</span></pre>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># find unit vector and rotation angle for two vectors A and B</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.2</span><span class="p" style="box-sizing: border-box;">])</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># start point A</span>
<span class="n" style="box-sizing: border-box;">As</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linalg</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">norm</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># scalar of A: |A|</span>
<span class="n" style="box-sizing: border-box;">An</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">As</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># normalization</span>
<span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1.1</span><span class="p" style="box-sizing: border-box;">])</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># end point B</span>
<span class="n" style="box-sizing: border-box;">Bs</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linalg</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">norm</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># scalar of B: |B|</span>
<span class="n" style="box-sizing: border-box;">Bn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">Bs</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># normalization</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># find unit vector for An-Bn rotation</span>
<span class="n" style="box-sizing: border-box;">AnxBn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cross</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># orthogonal vector to An-Bn</span>
<span class="n" style="box-sizing: border-box;">UV</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">AnxBn</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linalg</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">norm</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">AnxBn</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># unit vector (normalized): rotation axis </span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># find rotation angle about An-Bn</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># cos_t = (An dot Bb) / (|An|*|Bn|) # (|An|*|Bn|) = An * Bn = 1 * 1 = 1</span>
<span class="n" style="box-sizing: border-box;">cos_AnBn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">dot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">theta_AnBn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arccos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">cos_AnBn</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># angle between An and Bn</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># reproduct A-B rotation</span>
<span class="n" style="box-sizing: border-box;">Qa</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">insert</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion of An: [0, x, y, z]</span>
<span class="n" style="box-sizing: border-box;">Qb</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QPQc</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Qa</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">theta_AnBn</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion rotation for An with UV and theta_AB</span>
<span class="n" style="box-sizing: border-box;">Bn_new</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">Qb</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">:]</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># new Bn vector (normalized): [bx, by, bz]</span>
<span class="n" style="box-sizing: border-box;">B_new</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">Bn_new</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">Bs</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># new B vector</span></pre>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># interactive plot with ipywidgets</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">ipywidgets</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">interact</span>
<span class="n" style="box-sizing: border-box;">steps</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">33</span>
<span class="n" style="box-sizing: border-box;">Arc</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">QPQc</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Qa</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">t</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">theta_AnBn</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">steps</span><span class="p" style="box-sizing: border-box;">)])</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">T</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># arc An-Bn</span>
<span class="n" style="box-sizing: border-box;">_</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">Arc</span>
<span class="n" style="box-sizing: border-box;">ABs</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bs</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">steps</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># scalar transition from A to B</span>
<span class="n" style="box-sizing: border-box;">ABx</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">arx</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">ABs</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># x term for arc A-B</span>
<span class="n" style="box-sizing: border-box;">ABy</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ary</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">ABs</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># y term for arc A-B</span>
<span class="n" style="box-sizing: border-box;">ABz</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">arz</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">ABs</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># z term for arc A-B</span>
<span class="nd" style="box-sizing: border-box; color: #aa22ff;">@interact</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">steps</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">elev</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">180</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">azim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">180</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">180</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">two_vec</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">elev</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">25</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">azim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">96</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plot_base</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">elev</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">azim</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector A</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># point A</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">' initial vector A'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector An</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># point An</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'normalized vector An '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'right'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'top'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># unit vector</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'unit vector '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'right'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'top'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'g'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector B</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'initialized vector B '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'right'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'center'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'g'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector B</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'g'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector Bn</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'g'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector Bn</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'normalized vector Bn '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'right'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'center'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'magenta'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector An (move)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'m'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># move A (move)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'m'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># point A (move)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'m'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># point An (move)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'--'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.7</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># arc An-Bn</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ls</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'--'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.7</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># arc A-A</span>
<span class="n" style="box-sizing: border-box;">rate</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">As</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Bs</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">idx</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">steps</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">rate</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">rate</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">idx</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">rate</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'m'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># point A-B</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">ABx</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">ABy</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">ABz</span><span class="p" style="box-sizing: border-box;">[:</span><span class="n" style="box-sizing: border-box;">idx</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">ls</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'--'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'m'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.9</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># arc A-B</span></pre>
<br />
<b>関連:</b><br />
<a href="https://cnc-selfbuild.blogspot.com/2019/12/quaternion.html" target="_blank">クォータニオン(四元数) / Quaternion / 回転制御(その1)</a>
<br />
<a href="https://cnc-selfbuild.blogspot.com/2019/12/quaternion3.html" target="_blank">クォータニオン / Quaternion:立方体の回転操作(その3)</a><br />
<br />
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank"><img alt="四元数" src="https://images-fe.ssl-images-amazon.com/images/I/319UIHfTjbL._SL160_.jpg" style="border: none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">四元数</a><br />
<div class="amazlet-powered-date" style="font-size: 80%; line-height: 120%; margin-top: 5px;">
posted with <a href="http://www.amazlet.com/" target="_blank" title="amazlet">amazlet</a> at 19.12.22</div>
</div>
<div class="amazlet-detail">
今野 紀雄 <br />
森北出版 <br />
売り上げランキング: 67,351</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jpで詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-48720363131778361002019-12-22T13:59:00.000+09:002022-02-24T10:15:01.540+09:00クォータニオン(四元数) / Quaternion / 回転制御(その1)今回はクォータニオンのアルゴリズムについてです(Python3.6/Jupyter notebook)。<br />
クォータニオンは主に3DCG内のオブジェクトの回転制御で使われています。通常のXYZ軸ごとの角度制御よりも便利らしい。<br />
しかしながら、二次元を複素平面で表現したように、三次元空間を四元数(一つの実数と三つの虚数i、j、k)によって表現しようとしている部分も興味深い。<br />
<br />
クォータニオンは、<br />
<br />
<pre>Q = w + x*i + y*j + z*k (i<sup>2</sup>=j<sup>2</sup>=k<sup>2</sup>=ijk=-1)
</pre>
<br />
で表現され、wは実数で残りの三つはXYZ軸に対応した複素数のようなもの。<br />
Pythonにおいてはijkはないので、4つに分解して、<br />
<br />
<pre>Q = [w, x, y, z]
</pre>
<br />
という配列で表現しています。<br />
<br />
<br />
<b><span style="font-size: large;">回転制御:</span></b><br />
通常回転制御する場合は、XYZ軸を何度ずつ動かせばいいのかと考えますが、クォータニオンの場合は回転軸一つと角度一つだけで制御します。<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="950" data-original-width="912" height="640" src="https://1.bp.blogspot.com/-BY8OM2lLNzQ/XfzeHc13kzI/AAAAAAAAOW4/PDBjymE9YNshoDa22f1hdrBAuNF2dbZVgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-20%2B23.42.51.png" width="609" /></div>
<div class="separator" style="clear: both; text-align: left;">
まず青いA点が単位球面上にあり、赤い回転軸(単位ベクトル:unit vector)を45度回すとBにたどり着くという状況があります。</div>
<div class="separator" style="clear: both; text-align: left;">
この時点で、</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
・Aのベクトル(XYZ座標)</div>
<div class="separator" style="clear: both; text-align: left;">
・回転軸(unit vector)のベクトル(XYZ座標)</div>
<div class="separator" style="clear: both; text-align: left;">
・回転角(45度)</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
はすでに与えられており、この操作をするとBのベクトル(XYZ座標値)が得られるということになります。</div>
<div class="separator" style="clear: both; text-align: left;">
言い換えれば、この操作方法によってAがどこに向かうのかを知りたいのであって、AからBにいくための操作方法を知りたいということではないので、きっかけが異なるとこの部分で少し戸惑います(AとBの二点間の回転移動を逆算して単位ベクトルと回転角度を求める内容は<a href="https://cnc-selfbuild.blogspot.com/2019/12/blog-post_23.html" target="_blank">次回</a>)。</div>
<div class="separator" style="clear: both; text-align: left;">
しかしながら、赤い回転軸があれば単位球面上を最短距離でBに辿りつくことができます。わざわざ、X軸に何度、Z軸に何度、Y軸に何度と角度を三つに分解しなくても一つの角度だけで実現できるメリットがあり回転ツールとしては便利です。ただし3点はすべて単位曲面上にあるのでスカラー(半径)は1で座標値がそのままベクトルになります。</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
これをクォータニオンで計算するには、Aのベクトル[x, y, z]をクォータニオン式に変換し(wを付け足すだけ、w=0)、</div>
<br />
<pre>A = [w, x, y, z]
</pre>
<br />
とし、回転軸(unit vector)はベクトルのまま、<br />
<br />
<pre>U = [ux, uy, uz]
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
として、クォータニオンの回転制御の公式である</div>
<br />
<pre>w, x, y, z = Q*A*Q<sup>-</sup>
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
にいれれば、到着点であるBのベクトル/座標値[x, y, z]がわかります。</div>
<div class="separator" style="clear: both; text-align: left;">
ただ、この公式の中身(QとQ<sup>-</sup>)が少し複雑です。</div>
<br />
<pre>Q = [cos(θ/2), ux*sin(θ/2), uy*sin(θ/2), uy*sin(θ/2)]
Q- = [cos(θ/2), -ux*sin(θ/2), -uy*sin(θ/2), -uy*sin(θ/2)]
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
上式のθに回転角、回転軸:単位ベクトルのux, uy, uz値を代入。尚、Q<sup>-</sup>はQの共役クォータニオンで式中にマイナスがついており、Q*Q<sup>-</sup>=1という関係となっています。</div>
<div class="separator" style="clear: both; text-align: left;">
さらに、クォータニオンの掛け算では各XYZにijkの虚数が含まれているため、実部wと虚部ijkの項に分けて計算します。</div>
<br />
<pre>q1*q2 = [[q1w*q2w - q1x*q2x - q1y*q2y - q1z*q2z],
[q1w*q2x + q1x*q2w + q1y*q2z - q1z*q2y],
[q1w*q2y - q1x*q2z + q1y*q2w + q1z*q2x],
[q1w*q2z + q1x*q2y - q1y*q2x + q1z*q2w]]
= [w, x, y, z]
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
4段ありますが、上からw, x, y, z(実部, 虚部3つ)に対応しています。掛け算の結果として、[w, x, y, z]が得られるので、このうち[x, y, z]だけを取り出せばベクトル(XYZ座標値)になります。</div>
<div class="separator" style="clear: both; text-align: left;">
また、ベクトル、内積、外積を使えばもう少し式が短くなります。</div>
<br />
<pre>q1*q2: w = q1w * q2w - (v1・v2)
x, y, z = q1w * v2 + q2w * v1 + (v1×v2)
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
1段目が実部wに対応しており、2段目の虚部の式はXYZに対応した三つの値を返すので、そのままベクトルとして使えます。尚、(v1・v2)の部分はドット積(numpy.dot(v1, v2))、また(v1× v2)の部分はクロス積(numpy.cross(v1, v2))。ちなみに、v1=[q1x, q1y, q1z]はq1=[q1w, q1x, q1y, q1z]のXYZ成分です。</div>
<div class="separator" style="clear: both; text-align: left;">
掛け算は複雑そうですが、コーディングする場合は一度関数にしておいて代入するだけなので楽です。</div>
<div class="separator" style="clear: both; text-align: left;">
角度は一つしか登場してこないのでアニメーションなどつくるときには便利そうです。</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">ベクトルの正規化:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
ベクトル[x, y, z]に実部wを加えればクォータニオンの式になりますが、先ほどの計算は全て正規化されていないとだめなので元のベクトルをスカラー値で割って正規化しておきます。</div>
<br />
<pre>A = [x, y, z]
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
の場合、</div>
<br />
<pre>√(x<sup>2</sup> + y<sup>2</sup> + z<sup>2</sup>) = 1</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
にならなければいけないので(ノルム:1)、</div>
<br />
<pre>A_normalized = [x, y, z] / √(x<sup>2</sup> + y<sup>2</sup> + z<sup>2</sup>)</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
となります。実際Pythonではリストの割り算は一気にできないので、</div>
<br />
<pre>A_normalized = np.array([x, y, z]) / ((x**2 + y**2 + z**2))**0.5
= np.array(A) / np.linalg.norm(A)
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
になります。</div>
<div class="separator" style="clear: both; text-align: left;">
同様にクォータニオンの場合は、</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
</div>
<pre>√(w<sup>2</sup> + x<sup>2</sup> + y<sup>2</sup> + z<sup>2</sup>) = 1
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
でなければならないので、</div>
<br />
<pre>Q = np.array([w, x, y, z]) / ((w**2 + x**2 + y**2 + z**2))**0.5
</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
になります。</div>
<div class="separator" style="clear: both; text-align: left;">
スカラー値で割って正規化して計算し、結果のベクトルを求め、それをスカラー倍すれば元のスケールに戻ります。</div>
<br />
<br />
<b><span style="font-size: large;">計算手順:</span></b><br />
<div class="separator" style="clear: both; text-align: left;">
計算手順を再度まとめると、</div>
<br />
<pre>A = [ax, ay, az] (これから動かそうとする点)
</pre>
<br />
<pre>An = A / |A| (正規化)</pre>
<br />
<pre>U = [ux, uy, uz] (単位ベクトル:回転軸)</pre>
<br />
<pre>Un = U / |U| (正規化が必要であればしておく)</pre>
<br />
<pre>t = θ (回転角)</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
以上が予め決めておくこと。</div>
<div class="separator" style="clear: both; text-align: left;">
以下の式に角度と単位ベクトル(回転軸ベクトル)を代入しておきます。</div>
<br />
<pre>Q = [cos(t/2), ux*sin(t/2), uy*sin(t/2), uy*sin(t/2)]
Q- = [cos(t/2), -ux*sin(t/2), -uy*sin(t/2), -uy*sin(t/2)]</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
そして、回転の公式で求めます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<pre>w, x, y, z = Q*A*Q<sup>-</sup> (QにAを掛けて、その結果にQ<sup>-</sup>を掛ける)</pre>
<br />
上式クォータニオン同志の掛け算は、以下の式を利用。<br />
<br />
<pre>q1*q2 = [[q1w*q2w - q1x*q2x - q1y*q2y - q1z*q2z],
[q1w*q2x + q1x*q2w + q1y*q2z - q1z*q2y],
[q1w*q2y - q1x*q2z + q1y*q2w + q1z*q2x],
[q1w*q2z + q1x*q2y - q1y*q2x + q1z*q2w]]
= [w, x, y, z]</pre>
<br />
結果として[w, x, y, z]が求まるので、XYZ成分だけを取り出してベクトルにします。<br />
<br />
<pre>[x, y, z] (回転後のベクトル:単位球面上でのXYZ座標)</pre>
<br />
正規化される前のベクトルと同等のスカラー値に戻したい場合は、元のスカラー値を掛け直します。<br />
<br />
<pre>[x, y, z] * |A| (スカラー倍で元のスケールにする)</pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="992" data-original-width="926" height="640" src="https://1.bp.blogspot.com/-8lBkoCxRQdo/Xf7uxcODlVI/AAAAAAAAOXE/h4_4bs5iHS0DLAAcw4MJA2hGfEvyfTO-ACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-22%2B13.18.50.png" width="596" /></div>
任意のベクトルA(青)を任意のunit vector(赤)を回転軸として45度動かしています。結果はベクトルB(緑)になります。<br />
<br />
手順:<br />
・まず、initial vector Aを正規化してnormalized vector Anにします。<br />
・normalized vector Anをunit vector(回転軸)で45度回転させます。<br />
・回転後はnormalized vector Bnが得られます。<br />
・normalized vector BnにAのスカラー値をかけるとinitialized vector Bになります。<br />
・よって、AからBに移動したことになります。<br />
<br />
以下がPython(Jupyter Notebook)コード:<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">mpl_toolkits.mplot3d</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">Axes3D</span>
<span class="o" style="box-sizing: border-box; color: #666666;">%</span><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">matplotlib</span> inline</pre>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">])</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># initial vector A (arbitary vector)</span>
<span class="n" style="box-sizing: border-box;">As</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linalg</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">norm</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># scalar of A: |A|</span>
<span class="n" style="box-sizing: border-box;">An</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">As</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># normalization: should be (sum(x**2 + y**2 + z**2))**0.5 = 1.0</span>
<span class="n" style="box-sizing: border-box;">U</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.9</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.2</span><span class="p" style="box-sizing: border-box;">])</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># unit vector (not normalized)</span>
<span class="n" style="box-sizing: border-box;">Us</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linalg</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">norm</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">U</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># scalar of U: |U|</span>
<span class="n" style="box-sizing: border-box;">UV</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">U</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">Us</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># unit vector (normalized)</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion multiplication function</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># q = [w, x, y, z]</span>
<span class="n" style="box-sizing: border-box;">w</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">k</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">q1</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">q2</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">w</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">k</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion rotation function</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">QPQc</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">P</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># P: quaternion, UV: unit vector, t: rotation angle theta</span>
<span class="n" style="box-sizing: border-box;">q</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">qc</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">),</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">qP</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">q</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">P</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">result</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QbyQ</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">qP</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">qc</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">result</span>
<span class="n" style="box-sizing: border-box;">QA</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">insert</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion of An: [0, x, y, z]</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">deg2rad</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">45</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># rotation angle</span>
<span class="n" style="box-sizing: border-box;">QB</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QPQc</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">QA</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># quaternion rotation for An with UV and theta</span>
<span class="n" style="box-sizing: border-box;">Bn</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">QB</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">:]</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vectorize the quaternion result</span>
<span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">Bn</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">As</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># new vector as same scalar as initial vector A</span></pre>
上記のプロット:<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">plot_base</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">elev</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">25</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">azim</span><span class="o" style="box-sizing: border-box; color: #666666;">=-</span><span class="mi" style="box-sizing: border-box; color: #666666;">70</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">projection</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'3d'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">view_init</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">elev</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">elev</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">azim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">azim</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xlim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">ylim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="p" style="box-sizing: border-box;">,</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">zlim</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xlabel</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ylabel</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'Y'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">zlabel</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'Z'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">xaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">fill</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">yaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">fill</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">zaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">fill</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="kc" style="box-sizing: border-box; color: green; font-weight: bold;">False</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">128</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">alpha</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.7</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">':'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">alpha</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">ax</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plot_base</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector A</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">' initial vector A'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'top'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector A normalized</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">An</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">' normalized vector An'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'top'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># unit vector</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">' unit vector'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'top'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'g'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector B</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'initialized vector B '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'right'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'top'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'g'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'g'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># vector B normalized</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'g'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Bn</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'normalized vector Bn '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'right'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">va</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'top'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Arc</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">QPQc</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">QA</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">UV</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">t</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">33</span><span class="p" style="box-sizing: border-box;">)]</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># arc between A and B</span>
<span class="n" style="box-sizing: border-box;">arw</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Arc</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">T</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">arx</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'--'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.6</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">arx</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ary</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">arz</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">As</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">linestyle</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'--'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'b'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.4</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<br />
<b><span style="font-size: large;">まとめ:</span></b><br />
クォータニオンの回転制御の公式に従えば簡単に操作できることがわかりました。それよりも3Dグラフに補助線を引いたりするコーディングのほうが大変でした。回転操作の計算内訳は少々複雑ですが、一旦ファンクション化してしまえば、あとは代入するだけなので手順はシンプルです。回転制御だけでなく、四元数そのものも気になります。<br />
<a href="https://cnc-selfbuild.blogspot.com/2019/12/blog-post_23.html" target="_blank">次回</a>は、少し疑問に思っていた二点間の回転移動を逆算してみようと思います。<br />
<br />
関連:<span style="white-space: pre;"> </span><br />
<a href="https://cnc-selfbuild.blogspot.com/2019/12/blog-post_23.html" target="_blank">クォータニオン / 回転制御(その2):二点間から単位ベクトルと回転角度を求める</a><br />
<a href="https://cnc-selfbuild.blogspot.com/2019/12/quaternion3.html" target="_blank">クォータニオン / Quaternion:立方体の回転操作(その3)</a><br />
<br />
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank"><img alt="四元数" src="https://images-fe.ssl-images-amazon.com/images/I/319UIHfTjbL._SL160_.jpg" style="border: none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">四元数</a><br />
<div class="amazlet-powered-date" style="font-size: 80%; line-height: 120%; margin-top: 5px;">
posted with <a href="http://www.amazlet.com/" target="_blank" title="amazlet">amazlet</a> at 19.12.22</div>
</div>
<div class="amazlet-detail">
今野 紀雄 <br />
森北出版 <br />
売り上げランキング: 67,351</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4627054416/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jpで詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-41384708991157254032019-12-15T01:49:00.003+09:002022-03-09T01:51:22.737+09:00ロジスティック・マップ/分岐図 / Logistic Map/Bifurcation Diagram今回はロジスティック・マップのアルゴリズムについてです(Python3.6/Jupyter Notebook)。<br />
<div>
方程式はシンプルで、</div>
<div>
<br /></div>
<div>
<b>x<sub>n+1</sub> = a * x<sub>n</sub> * (1 - x<sub>n</sub>)</b><br />
<br />
<a href="https://cnc-selfbuild.blogspot.com/2019/12/blog-post.html" target="_blank">前回のローレンツアトラクタ</a>のように、係数aと初期値xを与えて何回かループさせれば軌道を描くと思いましたが、描画するには少し工夫が必要だったのでメモ。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="864" data-original-width="1296" height="426" src="https://1.bp.blogspot.com/-yPZzfbBARI0/XfTMsJJPhBI/AAAAAAAAOSY/setPXSDnIF0PJlJH3AM03oAXcTG0H4SMQCLcBGAsYHQ/s640/logistic2019-12-14%2B20%253A50%253A38.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
横軸を係数aの変化(0.0〜4.0)、縦軸をxの値(0.0〜1.0)とし、左からグラフが徐々に二分されていき、右のほうではカオスになっているようです。二分岐の繰り返しによって、拡大すると同じようなパターンが見えるフラクタルの性質も持ち合わせています。しかしながらカオス特有の初期鋭敏性はないようです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">係数aと方程式のループ数の関係:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
そのままこの方程式に値を入れて描く前に、この方程式から得られる値の特性を見ておきます。</div>
<div class="separator" style="clear: both; text-align: left;">
まずは、係数aを固定し(範囲:0.0〜4.0)、初期値x(範囲:0.0〜1.0)を代入し何回かループさせてみます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">a</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">3.07</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="n" style="box-sizing: border-box;">iterations</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">list</span><span class="p" style="box-sizing: border-box;">(</span><span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">100</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">_</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">iterations</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">a</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">100</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'iterations'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">iterations</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">iterations</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">lw</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
結果のグラフ:</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="576" data-original-width="1106" height="328" src="https://1.bp.blogspot.com/-l4IJslrc8JA/XfTQZPR9pSI/AAAAAAAAOSk/X6sDiJVVGSc_k-uQogtQ5ap69c7T_JrWACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B21.06.41.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
a=3.07、x=0.01で100回方程式をループさせると、このようなグラフになります。横軸はループさせた回数、縦軸はループ回数に応じたxの値。</div>
<div class="separator" style="clear: both; text-align: left;">
これから分かることは、立ち上がりの数ループ(5ループ程度)を除けば、あるaの値のときには、何回ループさせても値は2箇所に集約されるということ。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
また、a=3.53にすると、以下のように4箇所のx値を行き来します。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="822" data-original-width="1106" height="472" src="https://1.bp.blogspot.com/--ManTVfjYbE/XfTSA4FQo7I/AAAAAAAAOSw/Dla7bElnM7oWKrDcmOrqKhhH91eEoaOCACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B21.13.12.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
同様にいくつかaの値を変えてみると、</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="818" data-original-width="1072" height="486" src="https://1.bp.blogspot.com/-OJeaOFMbNgg/XfTTCtO848I/AAAAAAAAOS8/jX9VAg3E8dQAxi_mdV4RhwmxiQct2r0iQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B21.17.55.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
これはa=3.63、この場合左端の立ち上がりを除けば6箇所の高さに点がならんでいます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">ipywidgets:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
パラメータaを動かすと挙動が変わるため、<a href="https://ipywidgets.readthedocs.io/en/latest/" target="_blank">ipywidgets</a>のスライダーをつけてインタラクティブに操作できるようにしてみました(Jupyter Notebook用)。</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">ipywidgets</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">interact</span>
<span class="nd" style="box-sizing: border-box; color: #aa22ff;">@interact</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">a</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">logistic</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">a</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">N</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">100</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="n" style="box-sizing: border-box;">iterations</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">list</span><span class="p" style="box-sizing: border-box;">(</span><span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">N</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">iterations</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">a</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">N</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'iterations'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">iterations</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">a</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">iterations</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">lw</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ipywidgetsを使うと、以下のようにスライダーなどのUIがグラフとともに表示されます。</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: x-small;">*Web上ではグラフが静止画となってしまうため単なる画像を掲載しています。Jupyter Notebook上、もしくは</span><a href="https://mybinder.org/" style="font-size: small;" target="_blank">binder</a><span style="font-size: x-small;">上でコードをランさせてください。このコードGistURLは<a href="https://gist.github.com/mirrornerror/fd72b0217b820a716c08cc2071f656c1" target="_blank">こちら</a>。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: x-small;">関連:</span><span style="font-size: x-small;"><a href="https://cnc-selfbuild.blogspot.com/2019/12/binderjupyter-notebookipynb.html" target="_blank">Binder:オンライン上でのJupyter Notebook(ipynbファイル)の実行</a></span><img border="0" data-original-height="920" data-original-width="1116" height="528" src="https://1.bp.blogspot.com/-adLMY8Aduvs/XfTbC8OSplI/AAAAAAAAOTc/6JfQnMB9hCYZo120ei3pECLxX5w0idg-wCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B21.52.11.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
これはa=3.84のとき、3箇所の高さに点がならんでいます。</div>
<div class="separator" style="clear: both; text-align: left;">
このように、ある一定のaの値のときには、x値に周期性や規則性が現れるようです。またこのような規則性を得るには方程式をある程度の回数ループさせる必要があるということです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">ロジスティック・マップ/分岐図の下準備:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
aを0.0〜4.0の間で変化させるとxの値に規則性が生まれることから、次に横軸をa、縦軸にxとしたグラフを描いてみます。x値の規則性が得られるまでにある程度のループ数も必要なことから、ループ数についても調べてみます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="n" style="box-sizing: border-box;">A_steps</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1000</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">12</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'A'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
グラフ:</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="818" data-original-width="1598" height="326" src="https://1.bp.blogspot.com/-p0Olv_P_3QU/XfTq5mV-wYI/AAAAAAAAOUY/5VR9VuXQcH0Z83Sf91HpRZn802mmUyzDwCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B22.59.49.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
横軸aは範囲0.0〜4.0、分解能を1000にしておきます。xの初期値は0.01(0にならない程度で)。</div>
<div class="separator" style="clear: both; text-align: left;">
方程式のループ回数が1回だと、このようにわずかながら右上がりの直線になります。あまり変化はありません。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">方程式のループ回数を増やす:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
x値に規則性がでてくるには、ある程度ループさせる必要があるのでループ回数を増やしてみます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">A_steps</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1000</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X_iter</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">12</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'A'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
方程式のループ数を10回に増やしてみました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
グラフ:</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="806" data-original-width="1586" height="324" src="https://1.bp.blogspot.com/-ik8b8aa4yEg/XfTgcirwT7I/AAAAAAAAOT0/S1XDPa4BEyAIojSinuaZ2KzpPoTDZ9etACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B22.15.15.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
aの値(0.0〜4.0、1000ステップ、刻み幅0.04)に応じたxの値(10回ループ後の値)です。</div>
<div class="separator" style="clear: both; text-align: left;">
1回ループと比べると、かなり複雑な曲線になっています。右に行くほど上下の振幅が激しい。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">方程式のループ回数ごとのグラフの表示:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
次にループ数を20回まで増やし、1ループから20ループまでの20種類の線を表示してみます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">A_steps</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1000</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">20</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">12</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'A'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X_iter</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">lw</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">legend</span><span class="p" style="box-sizing: border-box;">()</span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
グラフ:</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="806" data-original-width="1586" height="324" src="https://1.bp.blogspot.com/-OYGppe-jydY/XfTiKo5WeoI/AAAAAAAAOUA/iLChJ6wkQe4YvyXcAKMVWWwy3PZDT-06ACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B22.22.29.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
左に見える番号がグラフにおける各ループ数(イテレーションの番号)です。グラフ下の青い線はループ1回のときの線で、ループ数が増えるごとに右肩上がりとなり、さらには折れ曲がった複雑な線になっていきます。</div>
<div class="separator" style="clear: both; text-align: left;">
ループ回数が多いグラフは、横軸Aの1.0から2.7くらいまで右上がりの曲線に収束しているようにも見えます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">方程式のループ回数の多いグラフだけを表示する:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
ループ回数の少ないほうのグラフはまだ規則性が安定していないため、ループ回数の多いグラフを5本だけを表示させます。つまり、ループ回数16、17、18、19、20回の5種類のグラフの表示で、ループ回数1から15回までのグラフは非表示。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">A_steps</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1000</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">20</span>
<span class="n" style="box-sizing: border-box;">X_lines</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">5</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">12</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'A'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X_iter</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">if</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">>=</span> <span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">X_lines</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">lw</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">legend</span><span class="p" style="box-sizing: border-box;">()</span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
グラフ:</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="804" data-original-width="1582" height="324" src="https://1.bp.blogspot.com/-uefDbEPyBKI/XfTkVNwwNCI/AAAAAAAAOUM/37MiRTa-Mv8tLx66Rfj96A0rXr7BtM5WgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B22.30.09.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
このようにループ回数が少ないグラフを除けば、最初に掲載したロジスティックマップ/分岐図に近いグラフとなります。</div>
<div class="separator" style="clear: both; text-align: left;">
横軸の0.0から1.0まではほぼ水平、1.0から2.7あたりまでは右上がりの一本、そして二分されて、3.26付近で上下が入れ替わり、3.5あたりでまた二分して4つに経路が増え、それ以降は複雑。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">ループ回数を上げて分岐図を点描表示する:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
ということから、方程式のループ回数を上げ、ループ回数の多いグラフをある一定数点描表示させることにします。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">A_steps</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1000</span>
<span class="n" style="box-sizing: border-box;">A_min</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">A_max</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_min</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A_max</span><span class="p" style="box-sizing: border-box;">,</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_max</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">A_min</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">400</span>
<span class="n" style="box-sizing: border-box;">X_lines</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">200</span>
<span class="n" style="box-sizing: border-box;">X_min</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">X_max</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">12</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">A_min</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A_max</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X_min</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X_max</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'A'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X_iter</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">if</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">>=</span> <span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">X_lines</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'black'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">marker</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'o'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.6</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
ループ数を400回にし、そのうち後半の200回分を表示(点描)させることにしました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1062" data-original-width="1588" height="428" src="https://1.bp.blogspot.com/-dOmaLtm6wsg/XfTz8K6KZ7I/AAAAAAAAOUk/6l3Tr4GuwlsXCPpxMXS-kX9nkOVhQ_V8wCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-14%2B23.38.21.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
これでロジスティック・マップ/分岐図のアルゴリズムはほぼ完成しました。フラクタルな性質も持ち合わせているため、部分的にグラフを拡大できるように改良しようと思います。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">
直感的にこのグラフの仕組みがわかりにくいので、方程式で得られる連続する一本の線だけでグラフを描くと以下のようになります。</div>
<div class="separator" style="clear: both;">
<img border="0" data-original-height="1060" data-original-width="1594" height="424" src="https://1.bp.blogspot.com/-H3y6Qi0zFvM/XfUYbanPfdI/AAAAAAAAOVI/7UEmV8Tb58ox9rlcbUiOMc4MEpxkyb7rQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-15%2B2.12.45.png" width="640" /></div>
<div class="separator" style="clear: both;">
これは400回ループ後のxの値です。</div>
<div class="separator" style="clear: both;">
横軸Aはnp.array()なので、一回のループで一本のグラフができあがります。それを400回ループするので400本のグラフができあがります。一つ前のグラフ(分岐図)では400回ループの内201回から400回ループさせた結果(200種類のグラフ)を重ね合わせて点描していることになります。おそらく、規則性が安定するのは最初の数十ループ程度だと思うので、400回の内後半300回を表示させても問題ないかもしれません。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
試しに、400回ループの後半200回分の線だけでなく全て(1〜400回分)を表示させると以下のようになります。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1002" data-original-width="1600" height="400" src="https://1.bp.blogspot.com/-TKLZKgx5Gpg/Xfc59bNSdGI/AAAAAAAAOWo/ekqxu2lbyHAeTyYoWm87IBdb4NSzT1_YwCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-16%2B16.58.11.png" width="640" /></div>
<div class="separator" style="clear: both;">
規則性がでていない立ち上がりの状態も含むため余計な線が見えます。特に横軸Aの値1.0から3.0までの右上がりの線は、複数の線が収束して重なっており太くなっているのがわかります。特に分岐点付近では線の太さが目立っています。このことから、線を細くシャープに見せるには、ループ前半の立ち上がりの線をできるだけ含めない方がいいのかもしれません。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
通常は、横軸の変化に応じて縦軸に結果が反映されますが、横軸Aによって縦軸xが決まるというだけでなく、方程式を何回ループさせるかでも縦軸xの値が変わるのでわかりづらい。二次元グラフなのに、実はAだけでなくループ数Nという変数もあるので、忠実に計算過程を表すには三次元グラフになるはず(この辺は次回への課題)。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">部分拡大可能にする(フラクタル確認用):</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://ipywidgets.readthedocs.io/en/latest/" target="_blank">ipywidgets</a>を使ってインタラクティブに部分拡大できるようにしてみます。またグラフの画像を撮影するボタンもつけておきます。ipywidgetsには、interact、interactive、interactive_outputがありますが、細かな設定が可能なinteractive_outputを使うことにしました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">ipywidgets</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">interactive_output</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">VBox</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">HBox</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Label</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Button</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">ipywidgets</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">FloatSlider</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">FloatRangeSlider</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Layout</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">IPython.display</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">display</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">datetime</span>
<span class="o" style="box-sizing: border-box; color: #666666;">%</span><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">matplotlib</span> inline
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">logistic_bifurcation</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X_range</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Dot_size</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">A_steps</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1000</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">])</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">400</span>
<span class="n" style="box-sizing: border-box;">X_lines</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">200</span>
<span class="n" style="box-sizing: border-box;">X_min</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span>
<span class="n" style="box-sizing: border-box;">X_max</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">])</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">12</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlim</span><span class="p" style="box-sizing: border-box;">((</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]))</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylim</span><span class="p" style="box-sizing: border-box;">((</span><span class="n" style="box-sizing: border-box;">X_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">X_range</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'A: step size at '</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="nb" style="box-sizing: border-box; color: green;">str</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X: every '</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="nb" style="box-sizing: border-box; color: green;">str</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X_iter</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">' iterations'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X_iter</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">if</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">>=</span> <span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">X_lines</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'black'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">marker</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'o'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">Dot_size</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.6</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">A_range</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">FloatRangeSlider</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">value</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">[</span><span class="mf" style="box-sizing: border-box; color: #666666;">2.8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="nb" style="box-sizing: border-box; color: green;">min</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">max</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">step</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">layout</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">Layout</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">width</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'60%'</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">X_range</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">FloatRangeSlider</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">value</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">[</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="nb" style="box-sizing: border-box; color: green;">min</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">max</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">step</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">layout</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">Layout</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">width</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'60%'</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">Dot_size</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">FloatSlider</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">value</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">min</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">max</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">step</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">layout</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">Layout</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">width</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'40%'</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">BT</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">Button</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">value</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="kc" style="box-sizing: border-box; color: green; font-weight: bold;">False</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">description</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s2" style="box-sizing: border-box; color: #ba2121;">"save image"</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">S1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">HBox</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">Label</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'RANGE A:'</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">S2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">HBox</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">Label</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'RANGE X:'</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">X_range</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">S3</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">HBox</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">Label</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'DOT SIZE:'</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">Dot_size</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">BT</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">UI</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">VBox</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">S1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">S2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">S3</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">W</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">interactive_output</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">logistic_bifurcation</span><span class="p" style="box-sizing: border-box;">,</span> <span class="p" style="box-sizing: border-box;">{</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'A_range'</span><span class="p" style="box-sizing: border-box;">:</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'X_range'</span><span class="p" style="box-sizing: border-box;">:</span><span class="n" style="box-sizing: border-box;">X_range</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'Dot_size'</span><span class="p" style="box-sizing: border-box;">:</span><span class="n" style="box-sizing: border-box;">Dot_size</span><span class="p" style="box-sizing: border-box;">})</span>
<span class="n" style="box-sizing: border-box;">display</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">UI</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">W</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">button_pressed</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">b</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">logistic_bifurcation</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_range</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">value</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X_range</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">value</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Dot_size</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">value</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">d</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">str</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">datetime</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">datetime</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">now</span><span class="p" style="box-sizing: border-box;">())</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">split</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'.'</span><span class="p" style="box-sizing: border-box;">)[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">savefig</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'logistic'</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">d</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'.png'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">close</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'image saved at '</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">d</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">BT</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">on_click</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">button_pressed</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
ipywidgetsのButtonはvalueを持たないため少し扱いづらいのですが、ボタン用にbutton_pressed()ファンクションをつくり、ボタンが押されたら一度logistic_bifurcation()を現在のvalueを引数として発動させます。そして画像保存をし、再度もう一つ描画されないようにplt.close()を追加しておきます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
UIを含めて外観は以下。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1289" data-original-width="1600" height="510" src="https://1.bp.blogspot.com/-TtlhNsuq7oY/XfT_fvkmU9I/AAAAAAAAOUw/JxYppuH8ohw6k_hBe91g46tmTQ9OSjZhgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-15%2B0.27.11.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
横軸Aの範囲設定スライダー、縦軸Xの範囲設定スライダー、点描の点の大きさ調整スライダー、画像保存ボタンがついています。</div>
<div class="separator" style="clear: both; text-align: left;">
*問題点としては、スライダーを動かしても画像更新に時間がかかるので多少待たないといけない。ipywidgetsのスライダーの刻み幅が0.01までなので、それほど拡大できない(直接数値入力で範囲設定したほうがいいかもしれない)。スライダーが動かしにくい時はキーボードの矢印キーで微調整するといい。ちなみに、print()で変数値などを出力させようとすると、更新ごとに画面がチラつくのでつかわないほうがいい。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1274" data-original-width="1600" height="508" src="https://1.bp.blogspot.com/-w3HmWgqwBPw/XfUCGvdoW_I/AAAAAAAAOU8/VlIRNBHhZoMtGQ_XGuQuP4FYqvdTQokvgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-15%2B0.37.03.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
A:3.52-3.62、X:0.80-0.90の範囲を拡大してみると、分岐したあとにさらに分岐点が見えます。さらに拡大しても同じパターンの繰り返し(フラクタル)になっているようです。</div>
<div class="separator" style="clear: both; text-align: left;">
また縦に空隙がありますが、この間隔も一定の割合で配置されておりフラクタルになっているようです。</div>
<div class="separator" style="clear: both; text-align: left;">
プログラム上、横軸は常に分解能1000あるので、拡大しても画像が荒れるということはありませんが、0.01刻みのスライダーだと操作に限界があるので、この部分は数値入力に改良したほうがよさそうです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">数値手入力で拡大:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
ipywidgetsをつかわず、そのまま変数に数値を手入力して拡大してみました。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1034" data-original-width="1600" height="410" src="https://1.bp.blogspot.com/-hXnHU0gn_Dw/XfWAV_HgxrI/AAAAAAAAOV0/fTKicgF0F7wpz7c_99J28dgl1c8HJOOjACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-15%2B9.36.23.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
範囲はA:3.5695-3.5703、X:0.8921-0.8927です。横:0.0008、縦:0.0005の画面となり、元の画像(A:2.8-4.0)の1500倍拡大したことになります。元画像中央上にみえる分岐点(左から3段目の分岐点付近)。</div>
<div class="separator" style="clear: both; text-align: left;">
描画している線の数が足りていないためか、点分布というよりは曲線が見えてしまっています。400ループのうちの後半200本の線を描画しているので、もっとループ数をあげ、表示する線の数も増やした方がよさそうです。しかし、これはこれで細部の仕組みがわかって面白い。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">Aの範囲を-2.0から4.0で表示:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
これまでAの値は0.0から4.0でしたが、Aが負の場合-2.0までであれば表示できるようです。ちなみにXは今まで通り0.0から1.0の範囲です。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="317" data-original-width="1600" height="126" src="https://1.bp.blogspot.com/-0-JyLS9gcfU/Xfb_dvPzhfI/AAAAAAAAOWQ/ZLyQU5a4VJ0wjtcvezSS18pZAGojYYvhwCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-16%2B12.48.43.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
Aが-2.0から4.0で、Xが0.0から1.0なので、縦横比1:6で表示してみました。</div>
<div class="separator" style="clear: both; text-align: left;">
グラフ左側では、Xの値が上下にまだありそうなので、A=-2.0のときの最小値と最大値を求めてみます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">a</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mf" style="box-sizing: border-box; color: #666666;">2.0</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.001</span>
<span class="n" style="box-sizing: border-box;">x_min</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">inf</span>
<span class="n" style="box-sizing: border-box;">x_max</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">inf</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">_</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1000</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">a</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x_min</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">min</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x_min</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x_max</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">max</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x_max</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x_min</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x_max</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
とりあえず、1000回ループ後のxの値を求めてみました。</div>
<div class="separator" style="clear: both; text-align: left;">
結果は、</div>
<div class="separator" style="clear: both; text-align: left;">
最小値:-0.49999979181325677 </div>
<div class="separator" style="clear: both; text-align: left;">
最大値:1.4999991672531139</div>
<div class="separator" style="clear: both; text-align: left;">
なので、Xは-0.5から1.5の間にx存在していそうです。</div>
<div class="separator" style="clear: both; text-align: left;">
ということから、Xの範囲を拡張して再度グラフを表示すると、</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://1.bp.blogspot.com/-qa04-dtQ1Ns/XfcF_T0plxI/AAAAAAAAOWc/avcQ6i3jE6gsobGNUnlnS0C7MSx_1VAaQCLcBGAsYHQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-16%2B13.19.45.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="556" data-original-width="1600" height="222" src="https://1.bp.blogspot.com/-qa04-dtQ1Ns/XfcF_T0plxI/AAAAAAAAOWc/avcQ6i3jE6gsobGNUnlnS0C7MSx_1VAaQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-16%2B13.19.45.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
こんな感じで全体像が見えます。</div>
<div class="separator" style="clear: both;">
グラフの左端、つまりA<-2.0になると、Xの最大値が無限になってしまうので、これが限界。</div>
<div class="separator" style="clear: both;">
同様にグラフの右端、A>4.0になると、Xの最小値がマイナス無限となり、これも限界。</div>
<div class="separator" style="clear: both; text-align: left;">
つまり、A:-2.0〜4.0、X:-0.5〜1.5という範囲となります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">
<b><span style="font-size: large;">単純なアルゴリズム:</span></b></div>
<div class="separator" style="clear: both;">
横軸Aの変化と連続ループ計算による方法でコーディングもしてみました。先ほどの方法では、Aの刻み幅ごとに400ループさせたx値をプロットしていましたが、今回は刻み幅ごとではなく、全体を通して連続でループさせます。つまり、Aが上限4.0に近づくほどループ数が増えていくことになります。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
コード:</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="n" style="box-sizing: border-box;">A_steps</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">200000</span>
<span class="n" style="box-sizing: border-box;">A_min</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span>
<span class="n" style="box-sizing: border-box;">A_max</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">4.0</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_min</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A_max</span><span class="p" style="box-sizing: border-box;">,</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A_max</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">A_min</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">A_steps</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.01</span>
<span class="n" style="box-sizing: border-box;">X_min</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.0</span>
<span class="n" style="box-sizing: border-box;">X_max</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span>
<span class="n" style="box-sizing: border-box;">X_iter</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">400</span>
<span class="n" style="box-sizing: border-box;">X_lines</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">200</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">12</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">A_min</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">A_max</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X_min</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X_max</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'A'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylabel</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">fontsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">a</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">a</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'black'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">marker</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'o'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.6</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both;">
横軸Aの分解能を200000(20万)まで増やし、全体を通して200000回方程式を繰り返してx値を更新していきます。ただし、Aの初期値がA<0.4817...だとずっと0になってしまうので、とりあえず1.0を入れておきます。おそらく、最初のほうはループ数が足りないためか、Aが0.0から1.0までは安定しない形になってしまいます。Aの分解能200000に応じたx値が得られるので、点の個数も200000となります。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
グラフ:</div>
<div class="separator" style="clear: both;">
<img border="0" data-original-height="1060" data-original-width="1598" height="424" src="https://1.bp.blogspot.com/-Im0hdb7qls8/XfV3gsc-ZAI/AAAAAAAAOVU/i5PjKUJZOaYhODZY56pQkpRGYVIxDtcHQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-15%2B8.59.41.png" width="640" /></div>
<div class="separator" style="clear: both;">
結果は似ていますが、分岐点においてやや縦に直線が現れます。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
分解能を50000に減らしてみると、以下のように分岐点の縦線がやや長くなります。点の数も50000に減ったので全体的に色の薄い画像になります。</div>
<div class="separator" style="clear: both;">
<img border="0" data-original-height="1065" data-original-width="1600" height="426" src="https://1.bp.blogspot.com/-gVQYCXHOkjQ/XfV4OzZ9NjI/AAAAAAAAOVc/ET-c-H158gMZJm8bP-hdWslArWtIipN8wCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-15%2B9.02.34.png" width="640" /></div>
<div class="separator" style="clear: both;">
このことから、分解能を増やせば分岐点の直線は短くなって曲線を帯びて、ループ数を使ったアルゴリズムの結果に近づいていくのではないでしょうか。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
ちなみに分解能を2000000(200万)にして試してみました。CPU計算で17秒。</div>
<div class="separator" style="clear: both;">
<img border="0" data-original-height="1060" data-original-width="1600" height="422" src="https://1.bp.blogspot.com/-BLkRdkGBBLk/XfV7JuuctjI/AAAAAAAAOVo/VenNRyLes-o2JeXbZmQ2S9epVbtvyU7zgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-15%2B9.14.00.png" width="640" /></div>
<div class="separator" style="clear: both;">
200万回でも分岐点に縦の直線がまだ少し現れています。1000万くらいにあげれば直線が曲線になるのかもしれません。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">まとめ:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
ロジスティック・マップ/分岐図もカオス理論のはじめによく登場してきますが、<a href="https://cnc-selfbuild.blogspot.com/2019/12/blog-post.html" target="_blank">前回試したローレンツアトラクタ</a>のように直接数式で描かれる形ではないので要注意。それと、線で描かれたグラフではなく、点の分布図であり、その中にパターンを見つけるという感じで、やや抽象的。</div>
<div class="separator" style="clear: both; text-align: left;">
グラフの右のほうはカオスに見えまずが、分岐図と呼ばれているだけあって、無数に分岐した点群が重なり合って周期性のある模様が浮かび上がっています。形やパターンというのは連続した線で直接描かれているばかりではなく、このように無数の点が重なることで潜在的な形を浮かび上がらせることもありうるという点で興味深い。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=kousakukousak-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4320008952&linkId=86530dfdfec804e302d83e0ee2dccd51"></iframe>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-30517521477424141052019-12-09T23:32:00.001+09:002022-02-24T10:15:44.014+09:00ローレンツ・アトラクタ: オイラー法 / ルンゲクッタ法カオス理論によく出てくるローレンツアトラクタをPython/Jupyter Notebookで描いてみました。<br />
<br />
<b><span style="font-size: large;">ローレンツ方程式:</span></b><br />
ローレンツ方程式は、<br />
<br />
dx/dt = -p*x + p*y<br />
dy/dt = -x*z + r*x - y<br />
dz/dt = x*y - b*z<br />
<br />
であり、これら三つの微分方程式に任意の初期値x,y,zを与えると(x=0, y=0, z=0以外)、係数p=10, r=28, b=8/3の時にカオス的な振る舞いをするというもの。通常の数式なら発散/収束/周期的になりますが、そうはならないというところが面白い。また初期値がほんの少し違うだけで結果が大きく変わるという初期値鋭敏性も持つ。<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="838" data-original-width="794" height="400" src="https://1.bp.blogspot.com/-mwGXSDJN_8s/Xe4jhRtipvI/AAAAAAAAOQc/J7zzGSe9MZksVYAfCVEw0tOe1qy6sh05ACLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B19.30.36.png" width="378" /></div>
<div class="separator" style="clear: both; text-align: left;">
初期値x=1, y=1, z=1を与えて、1ステップ0.001で50000ステップ分計算させたもの。</div>
<div class="separator" style="clear: both; text-align: left;">
コードは以下。</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">mpl_toolkits.mplot3d</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">Axes3D</span></pre>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">dt</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.001</span>
<span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">50</span>
<span class="n" style="box-sizing: border-box;">p</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">b</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">28</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'steps:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">int</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">dt</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">lorenz_euler</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[],</span> <span class="p" style="box-sizing: border-box;">[],</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">while</span> <span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;"><=</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">dx</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">p</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">p</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">dt</span>
<span class="n" style="box-sizing: border-box;">dy</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">x</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">z</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">r</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">dt</span>
<span class="n" style="box-sizing: border-box;">dz</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">b</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">z</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">dt</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">dx</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">dy</span>
<span class="n" style="box-sizing: border-box;">z</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">dz</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Z</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">z</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">dt</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span>
<span class="n" style="box-sizing: border-box;">V0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1.0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">lorenz_euler</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V0</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">projection</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'3d'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">g</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">25</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlim</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylim</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_zlim</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">g</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'blue'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.6</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">show</span><span class="p" style="box-sizing: border-box;">()</span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
とりあえず、xの式に注目すると、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">
dx/dt = -p*x + p*y</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
の式を変形して、</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
dx = (-p*x + p*y) * dt</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
にすれば、dxはxにおける1ステップ分の変化量なので、whileループ内で変化量dxをxに加算していき、設定した限度を越えればwhileループを打ち切り。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
x += dx</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
という感じで、yやzについても同様に処理し、プログラミング的には簡単な手続き。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
しかし調べてみると、これは「オイラー法」という計算方法であり、あまり精度が保てないらしい。精度を出すには1ステップの刻み幅をより細かくすれば単純に向上しますが、そうすると全体のステップ数も増え計算量が多くなります。そのための工夫としてルンゲクッタ法というのがあります。以下では、各計算方法の比較をしてみます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">オイラー法:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
まず、簡単な例としてオイラー法から。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
f(x) = x*sin(x)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
という式で試してみます。</div>
<div class="separator" style="clear: both; text-align: left;">
f(x)を微分すると、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
f'(x) = sin(x) + x*cos(x)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
になります。</div>
<div class="separator" style="clear: both; text-align: left;">
xの変化量dxは、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
dx = f'(x)*dt = (sin(x) + x*cos(x))*dt</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
となり、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
x += dx</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
で、xの値を更新してループ処理させます。</div>
<div class="separator" style="clear: both; text-align: left;">
以下コード。</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">h</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span>
<span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'steps:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">int</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">f</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">f</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X0</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># derivative of x*sin(x) : (x*sin(x))' = sin(x) + x*cos(x) </span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">Y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">while</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;"><=</span> <span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">dx</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="n" style="box-sizing: border-box;">dy</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">dx</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">dy</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'True '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'C0'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'Euler'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'C1'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">legend</span><span class="p" style="box-sizing: border-box;">()</span></pre>
<div class="separator" style="clear: both; text-align: left;">
1ステップの刻み幅は0.1。合計で62ステップ。X, Yが積分したオイラー法の結果で、X0, Y0は積分を使わないで求めた結果。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="486" data-original-width="954" height="201" src="https://1.bp.blogspot.com/-qPcbMl6BI9w/Xe4sGv8fl_I/AAAAAAAAOQo/9MPEk1uQ6tsR4QsAVSSp75sWLsc06VhkwCLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B20.12.07.png" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
わずかですが誤差があります。刻み幅をもっと細かくすれば誤差も減りますが、ローレンツアトラクタの場合は初期値鋭敏性もあるためこの誤差は致命的かもしれません。</div>
<div class="separator" style="clear: both; text-align: left;">
y値最大誤差:0.3043499782</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">2次のルンゲクッタ法:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
この方法は改良オイラー法とも呼ばれているようで、その名の通りオイラー法よりは誤差が少ない。オイラー法では刻み幅とその時のy値(高さ)を掛け合わせているため、細長い長方形を積算していますが、2次のルンゲクッタ法では長方形上端を斜め(変化量の傾き)にした台形で計算します。その分精度向上するというもの。</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">h</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span>
<span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'steps:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">int</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">f</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">f</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X0</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># derivative of sin(x)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">X2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">Y2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">while</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;"><=</span> <span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">k1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">k2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">h</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">k1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">k2</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X2</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y2</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'True '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.8</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'RK2'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.8</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">legend</span><span class="p" style="box-sizing: border-box;">()</span></pre>
<div class="separator" style="clear: both; text-align: left;">
k1とk2が台形の異なる二辺の長さ。あとは台形面積を求める計算。</div>
<div class="separator" style="clear: both; text-align: left;">
今回はdtの代わりにhを刻み幅にしていますが同じ0.1です。誤差は0(h^3)程度。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="486" data-original-width="952" height="203" src="https://1.bp.blogspot.com/-MoSOslYJqRk/Xe4z2un1_lI/AAAAAAAAOQ0/jkH8aIlU2-85eqAyDe_TW2rGUSD6fqrsgCLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B20.45.16.png" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
かなり誤差はなくなりました。</div>
<div class="separator" style="clear: both; text-align: left;">
y値最大誤差:0.0042499318</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">4次のルンゲクッタ法:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
さらに精度をあげた方法。通常この4次のルンゲクッタ法くらいの精度が必要らしい。先ほどの2次ではk1、k2の2点でしたが、今回はk1〜k4の4点をとり、その平均を求めます。</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">h</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span>
<span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'steps:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">int</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">f</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">f</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X0</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">):</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># derivative of x*sin(x) : (x*sin(x))' = sin(x) + x*cos(x) </span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">X4</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">Y4</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">while</span> <span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;"><</span> <span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">k1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="n" style="box-sizing: border-box;">k2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">h</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="n" style="box-sizing: border-box;">k3</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">h</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="n" style="box-sizing: border-box;">k4</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">k1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">k2</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">k3</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">k4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span>
<span class="n" style="box-sizing: border-box;">X4</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y4</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'True '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.8</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'RK4'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.8</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">legend</span><span class="p" style="box-sizing: border-box;">()</span></pre>
テイラー展開により導出できるようですが、そのまま公式を覚えた方がよさそう。式中では刻み幅の両端点と中点をとって、1:2:2:1の割合で平均近似しているようです。そうすると、曲線上の中点の値df(x+h/2)と刻み幅hの両端を直線で結んだ時の中間平均値:(df(x) + df(x+h))/2には差分があるので、その2点の2/3の地点が計算で求まるようです。<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="488" data-original-width="954" height="203" src="https://1.bp.blogspot.com/-kV1NgremE_g/Xe5I4hkAcaI/AAAAAAAAORA/Gq7KVgrFpRg-KyxT1YoJa6rpRtWZoNs4QCLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B22.14.57.png" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
グラフを見ただけでは違いはわかりにくいですが、数値的に誤差を求めてみるとさらに精度が上がっているようです。理論上、誤差は0(h^5)。</div>
<div class="separator" style="clear: both; text-align: left;">
y値最大誤差:0.0000003046</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b><span style="font-size: large;">scipyのライブラリ:</span></b><br />
自前でルンゲクッタ法をコーディングするかわりに、scipyのライブラリを使ってもいいかもしれません。<br />
<br />
<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html" target="_blank">scipy.integrate.solve_ivp</a> (methodでRK45など選択可)<br />
<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.odeint.html" target="_blank">scipy.integrate.odeint</a> (古いタイプ?)<br />
<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.RK45.html" target="_blank">scipy.integrate.RK4</a> (使いにくい)<br />
<br />
solve_ivpでは計算法としてRK23やRK45も選択可能。t_evalで刻み幅を配列で指定。さらにオプションのrtol, atolで精度を指定することもでできるようなので、アルゴリズム的な工夫はほぼ必要なし。デフォルトではrtol=1e-3、atol=1e-6になっており、そのままでも大丈夫そう。<br />
<br />
<br />
<b><span style="font-size: large;">RK2、RK4、Odeint、Solve_ivpの比較:</span></b><br />
ルンゲクッタ法(RK2、RK4)、ならびにライブラリのOdeint、Solver_ivp(RK45)をローレンツアトラクで比較してみることに(とは言っても、初期値鋭敏性のあるローレンツアトラクタなので、精度の比較はしにくいですが)。<br />
さらに、3D/2D表示、XYZの各値の変化を1D表示するファンクションも追加しておきました。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">mpl_toolkits.mplot3d</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">Axes3D</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">scipy.integrate</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">odeint</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">scipy.integrate</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">solve_ivp</span>
<span class="o" style="box-sizing: border-box; color: #666666;">%</span><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">matplotlib</span> inline
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;">#%matplotlib notebook</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">xyz</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">p</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">p</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">x</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">z</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">r</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">x</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">b</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">z</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">lorenz_RK2</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[],</span> <span class="p" style="box-sizing: border-box;">[],</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">while</span> <span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;"><=</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">k1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">k2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">h</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">k1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">k1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">k2</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">h</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">Y</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">Z</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">lorenz_RK4</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[],</span> <span class="p" style="box-sizing: border-box;">[],</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">while</span> <span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;"><=</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">k1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">k2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="n" style="box-sizing: border-box;">h</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">h</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">k1</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">k3</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="n" style="box-sizing: border-box;">h</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">h</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">k2</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">k4</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">t</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">h</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">k3</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">k1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">k2</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">k3</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">k4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">h</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">Y</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">Z</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">h</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">lorenz_Odeint</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">xyz</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">odeint</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">xyz</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">tfirst</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="kc" style="box-sizing: border-box; color: green; font-weight: bold;">True</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">T</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;">#X, Y, Z = odeint(f2, xyz, t, rtol=1e-9, atol=1e-9).T</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">lorenz_ivp</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">xyz_0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">t</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">arange</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">res</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">solve_ivp</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">df</span><span class="p" style="box-sizing: border-box;">,</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">xyz_0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">method</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'RK45'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">t_eval</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">)</span><span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;">#, rtol=1e-7, atol=1e-9)</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">res</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">Y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">res</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">Z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">res</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Z</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">plot3D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.colors</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">BASE_COLORS</span>
<span class="n" style="box-sizing: border-box;">colorlist</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">list</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">BASE_COLORS</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">keys</span><span class="p" style="box-sizing: border-box;">())</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">projection</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'3d'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">g</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">30</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_xlim</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_ylim</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_zlim</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">g</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">xaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_facecolor</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'white'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">yaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_facecolor</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'white'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">zaxis</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pane</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">set_facecolor</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'white'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">XYZ</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">enumerate</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">Y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">Z</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;">#color = 'C' + str(i)</span>
<span class="n" style="box-sizing: border-box;">color</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">colorlist</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Z</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">color</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">])</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># plot method</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Z</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">color</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">60</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">marker</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'x'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># start point</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Z</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'START '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">color</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">verticalalignment</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'top'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">horizontalalignment</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'right'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">Z</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">color</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">30</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">marker</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'o'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># end point</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">legend</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">show</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">plot2D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.colors</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">BASE_COLORS</span>
<span class="n" style="box-sizing: border-box;">colorlist</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">list</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">BASE_COLORS</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">keys</span><span class="p" style="box-sizing: border-box;">())</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">,</span><span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">([</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">30</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">30</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">60</span><span class="p" style="box-sizing: border-box;">],</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">if</span> <span class="n" style="box-sizing: border-box;">axis</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'XY'</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">([</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">30</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">30</span><span class="p" style="box-sizing: border-box;">,</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">30</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">30</span><span class="p" style="box-sizing: border-box;">],</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">XYZ</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">enumerate</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">if</span> <span class="n" style="box-sizing: border-box;">axis</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'XY'</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">elif</span> <span class="n" style="box-sizing: border-box;">axis</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'XZ'</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">else</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">color</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">colorlist</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">color</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">])</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># plot line</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">color</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">60</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">marker</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'x'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># start point</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">text</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'START '</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">color</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">verticalalignment</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'center'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">horizontalalignment</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'right'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">B</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">color</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">30</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">marker</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'o'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># end point</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">legend</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">show</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">axis</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">' coordinates'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">plot1D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">14</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">3</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">XYZ</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">enumerate</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">if</span> <span class="n" style="box-sizing: border-box;">axis</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">elif</span> <span class="n" style="box-sizing: border-box;">axis</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'Y'</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">else</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">XYZ</span><span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="nb" style="box-sizing: border-box; color: green;">list</span><span class="p" style="box-sizing: border-box;">(</span><span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">))),</span> <span class="n" style="box-sizing: border-box;">A</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">color</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'C'</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="nb" style="box-sizing: border-box; color: green;">str</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.6</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">label</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">legend</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">show</span><span class="p" style="box-sizing: border-box;">()</span></pre>
<br />
実行用のコードは以下。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">h</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1e-3</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># dt</span>
<span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">30</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># total time</span>
<span class="n" style="box-sizing: border-box;">p</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">b</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">28</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'steps:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">int</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">xyz_0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mf" style="box-sizing: border-box; color: #666666;">10.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">10.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">10.0</span><span class="p" style="box-sizing: border-box;">]</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># initial values for the methods </span>
<span class="n" style="box-sizing: border-box;">methods</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">lorenz_RK2</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz_0</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">lorenz_RK4</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz_0</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">lorenz_Odeint</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz_0</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">lorenz_ivp</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz_0</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">labels</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'RK2'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'RK4'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'ODE'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'IVP'</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">plot3D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># plot2D(methods, labels, 'XY')</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># plot2D(methods, labels, 'XZ')</span>
<span class="n" style="box-sizing: border-box;">plot2D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'YZ'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plot1D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<br />
表示結果。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1080" data-original-width="1014" height="640" src="https://1.bp.blogspot.com/-I2zY48VI5i4/Xe5Rp7cUQ9I/AAAAAAAAORM/gywMSCQ2LS8xkvQH7_h90fThUu3N0t8NACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B22.51.43.png" width="600" /></div>
4種類の異なる計算方法。x印が開始点、●印が終着点(水色のIVPは見えにくくなっていますが)。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="926" data-original-width="956" height="383" src="https://1.bp.blogspot.com/-agSurln8cgo/Xe5RwmT10xI/AAAAAAAAORU/ZO3blsmErw4wE8inXw-ZDY6gQMDQWzBCQCLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B22.51.56.png" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
YZ座標。この方向からみるとほぼ線対称の形になります。</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="374" data-original-width="1600" height="147" src="https://1.bp.blogspot.com/-P1HE8CHXfrU/Xe5RwFFMpBI/AAAAAAAAORQ/vmaufMO3F5Al8JO0VeYQdNTZhozjPJaLQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B22.52.16.png" width="640" /></div>
縦軸はX値、横軸はステップ数。<br />
6000ステップくらいまでは一緒ですが、その後は次第にずれてきています。単体だけ見ると、規則的に見える部分もありますが、やはり非周期的になっています。<br />
<br />
<br />
<b><span style="font-size: large;">初期値鋭敏性:</span></b><br />
計算方法は同じで、初期値をほんの少しだけ変えて実験してみました。<br />
初期値A:X=10.0、Y=10.0、Z=10.0<br />
初期値B:X=10.001、Y=10.0、Z=10.0<br />
BのXの初期値だけ0.001違います。あとは同じ条件で50000ステップ。<br />
以下が実行コード。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">h</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mf" style="box-sizing: border-box; color: #666666;">1e-3</span>
<span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">50</span>
<span class="n" style="box-sizing: border-box;">p</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">b</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">28</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">8</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">3</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'steps:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">int</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">h</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">xyz_0</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mf" style="box-sizing: border-box; color: #666666;">10.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">10.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">10.0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">xyz_1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mf" style="box-sizing: border-box; color: #666666;">10.001</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">10.0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mf" style="box-sizing: border-box; color: #666666;">10.0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">methods</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">lorenz_RK4</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz_0</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">lorenz_RK4</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz_1</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">labels</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'RK4:'</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="nb" style="box-sizing: border-box; color: green;">str</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz_0</span><span class="p" style="box-sizing: border-box;">),</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'RK4:'</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="nb" style="box-sizing: border-box; color: green;">str</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">xyz_1</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">plot3D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># plot2D(methods, labels, 'XY')</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># plot2D(methods, labels, 'XZ')</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># plot2D(methods, labels, 'YZ')</span>
<span class="n" style="box-sizing: border-box;">plot1D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'X'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plot1D</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">methods</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">labels</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #ba2121;">'Z'</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<br />
結果表示。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="1076" data-original-width="1010" height="640" src="https://1.bp.blogspot.com/-TiNLM9CJTb0/Xe5U8fcxFsI/AAAAAAAAORo/6gmVp9QddmAZv2picr4XOV5wx3cRcQarQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B23.06.01.png" width="600" /></div>
軌道に差があるため、青と緑のムラができています。✖️が開始点、●は終着点。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="782" data-original-width="1600" height="308" src="https://1.bp.blogspot.com/-QROQLTkBnX0/Xe5U9tof-cI/AAAAAAAAORs/06DI6AXD7FEkJ2Nc8yFQO_Ck1HeS2fEfgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B23.06.14.png" width="640" /></div>
上が50000ステップにおけるX値。下はZ値。<br />
10000ステップを超えたあたりから差がでてきます。ずれるというより、異なったパターンになってきています。<br />
完璧なランダムとは言えませんが、数多くのステップ数を繰り返しても周期的にならないという部分が興味深い。<br />
<br />
<br />
<b><span style="font-size: large;">分布について:</span></b><br />
ランダムの指標として、値全体の分布もとってみました。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="871" data-original-width="1600" height="348" src="https://1.bp.blogspot.com/-QK9HTwPLQe4/Xe5YKbEYz_I/AAAAAAAAOR8/z40AhXtcy1gk9Bk3J2nwmXnQEjjtT7zAQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-12-09%2B23.18.07.png" width="640" /></div>
これはオイラー法による結果ですが、上から、X値、Y値、Z値の分布です(50000ステップ)。<br />
基本的には中央に寄っていますが、正規分布とも違う。<br />
<br />
<br />
<b><span style="font-size: large;">まとめ:</span></b><br />
元々はカオス的な振る舞いをするローレンツアトラクタを利用して乱数生成できないかということを考えておりましたが、計算方法であるルンゲクッタ法やライブラリについての実験となりました。これはこれでいろいろ勉強になります。精度を高める計算方法にはいくつかあるようですが、PID制御もそのうちの一つという感じです。ということで、引き続き調査してみたいと思います。<br />
<br />
<br />
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=kousakukousak-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4320008952&linkId=d0d8b9e0216966d3155522ef9bf3cfab"></iframe>
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-41771293755947605592019-11-27T08:42:00.001+09:002022-02-24T10:16:25.467+09:00フーリエ級数を用いて正多角形を描く(その2)<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://cnc-selfbuild.blogspot.com/2019/10/epicycles.html" target="_blank">前回</a>の続き、フーリエ級数を用いた正多角形を描くアルゴリズムについて。<br />
<br />
<b><span style="font-size: large;">正n角形を描く:</span></b><br />
正n角形を描くには、<br />
<br />
y = Σ(1/C<sup>2</sup> * sin(C * θ))<br />
θ = 0〜2π<br />
<br />
Cは無限級数であり、例えば正方形(n=4)を描くには、<br />
<br />
C = [..., -3*n+1, -2*n+1, -1*n+1, 0*n+1, 1*n+1, 2*n+1, ...]<br />
C = [..., -11, -7, -3, 1, 5, 9, ...]<br />
<br />
になり、1を基準としてn=4ずつ加算、あるいは負の方向であれば4ずつ減算した級数。<br />
あるいは、k%n==1 (k=-k, ..., -3, -2, -1, 0, 1, 2, 3, ... k)のときのkの値。<br />
仮に級数を6つに限定すれば、<br />
<br />
C = [-11, -7, -3, 1, 5, 9]<br />
<br />
となります。そして各波形を<br />
<br />
y = 1/C<sup>2</sup> * sin(C * θ)<br />
<br />
とすれば以下のようになります。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="920" data-original-width="744" height="400" src="https://1.bp.blogspot.com/-F5DST7k_ZeY/XdmDN-nRqfI/AAAAAAAAONw/BPakN2VHpKUrivHXFbE1GpAWVne2Obh_ACLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-11-24%2B4.06.15.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
横軸はθ、縦軸の値はCの値。C=9やC=-11のときはほぼ直線に見えますが、僅かながら振幅しています。</div>
<div class="separator" style="clear: both; text-align: left;">
さらに、これらの波形を足し合わせると、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
y = Σ(1/C<sup>2</sup> * sin(C * θ)), C = [-11, -7, -3, 1, 5, 9]</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
以下のような波形になります。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="162" data-original-width="732" height="68" src="https://1.bp.blogspot.com/-7Z1fVE59wRA/XdmF1FtgUQI/AAAAAAAAON8/uhG55tIVwcw-XYiKDSPOMq3xv-PlwUCNwCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-11-24%2B4.17.25.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
この波形を横軸x、縦軸yに置き換えると、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
x = Σ(1/C<sup>2</sup> * cos(C * θ)) / Σ(1/C<sup>2</sup>), C = [-11, -7, -3, 1, 5, 9]</div>
<div class="separator" style="clear: both; text-align: left;">
y = Σ(1/C<sup>2</sup> * sin(C * θ)) / Σ(1/C<sup>2</sup>), C = [-11, -7, -3, 1, 5, 9]</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="702" data-original-width="768" height="292" src="https://1.bp.blogspot.com/-TCanedN0zF4/XdmIuHpiCUI/AAAAAAAAOOI/zv8jCa8n_tkiRw_jbhI_vHG07Oyb5T12wCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-11-24%2B4.29.39.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
正方形に近似した軌跡になります。まだ正方形としては不完全なかたちですが、Cの個数を増やすとより正方形に近似していきます。</div>
<div class="separator" style="clear: both; text-align: left;">
仮にCの個数を20個にすると、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
C = [-39, -35, -31, -27, -23, -19, -15, -11, -7, -3, 1, 5, 9, 13, 17, 21, 25, 29, 33, 37]</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
になります。</div>
<div class="separator" style="clear: both; text-align: left;">
sin()、cos()の代わりにexp()をつかって複素数であらわせば、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
V = Σ(1/C<sup>2</sup> * exp(i * C * θ)) / Σ(1/C<sup>2</sup>),</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
になります。iは虚数、Vは複素数でVの実部がX座標、Vの虚部がY座標になります。</div>
<div class="separator" style="clear: both; text-align: left;">
これをコーディングすると以下。</div>
<br />
正方形の場合(n=4):<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">p</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">p</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">F</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">20</span>
<span class="n" style="box-sizing: border-box;">C</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">f</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">f</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)])</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'C ='</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">V</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">exp</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">c</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">c</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">])</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">C</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span>
<span class="n" style="box-sizing: border-box;">Y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">)</span></pre>
nは正n角形、pはtheta:0〜2πにおける分解能。Pythonでは虚数iは1j。<br />
Cは無限フーリエ級数の係数ですが、20個(F=20)にしておきます。<br />
V.realはVの実部でX座標、V.imagはVの虚部でY座標。<br />
<br />
n=4(正方形)、 p=n*10=40、F=20で描くと以下。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="702" data-original-width="762" height="367" src="https://1.bp.blogspot.com/-R6RKUrK5270/XdkaRbQIjvI/AAAAAAAAONY/Ap2rKeMlMsUtJS-lBgqt1jhcORqfpF4_QCLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-11-23%2B20.38.01.png" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
赤い点は設定した分解能pの数だけありますが、より正確な図形を描く場合はFの数を増やします。F=20であればかなり正方形に近似します。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">アニメーションで表現:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
n=4(正方形)、 p=n*10=40、F=20</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="432" data-original-width="432" height="400" src="https://1.bp.blogspot.com/-vAGCldbF3gQ/Xd2c4zJW7iI/AAAAAAAAOOk/jAgngfq0ZRQUWoY34w7XYZB5bw2kzigaQCLcBGAsYHQ/s400/ani0.gif" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b>コード:</b></div>
<div class="separator" style="clear: both; text-align: left;">
中心角thetaを分解能pで分けアニメーションにしています。</div>
<div class="separator" style="clear: both; text-align: left;">
nを変えれば、正三角形(n=3)、正五角形(n=5)などになります。また、pの分解能をあげればより細かいフレームレートになります。あるいはFで級数の数を増やせば、より正確な図形の軌跡を描きます。</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">animation</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">from</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">IPython.display</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="n" style="box-sizing: border-box;">HTML</span>
<span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">p</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">p</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">F</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">20</span>
<span class="n" style="box-sizing: border-box;">C</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">f</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">f</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)])</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'C ='</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ims</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="n" style="box-sizing: border-box;">Y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">t</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">V</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">exp</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">c</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">c</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">])</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">C</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span>
<span class="n" style="box-sizing: border-box;">X</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">P1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">X</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">Y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'tab:blue'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">P2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">40</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ims</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">P1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">P2</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">ani</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">animation</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">ArtistAnimation</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">fig</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ims</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">interval</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">150</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ani</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">save</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'ani0.gif'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">writer</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s2" style="box-sizing: border-box; color: #ba2121;">"imagemagick"</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;">#ani.save('ani0.mp4', writer="ffmpeg")</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">close</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">HTML</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">ani</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">to_jshtml</span><span class="p" style="box-sizing: border-box;">())</span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;"><b>Epicycleで表現:</b></span></div>
<div class="separator" style="clear: both; text-align: left;">
正n角形の軌跡は複数の波形の重ね合わせで生成されているので、それぞれの波形の動きがわかるようにEpicycleで表現すると以下。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="432" data-original-width="432" height="400" src="https://1.bp.blogspot.com/-pLRk_0f2PJc/Xd2vCg4UZ3I/AAAAAAAAOOw/FXInGIt_aKgoWFNZhjmq1qugCrbMwIKBwCLcBGAsYHQ/s400/epi.gif" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
複数の円があり、その中で半径の直線が回転しています。F=20という設定なので20種類の波形があり、正方形の中心から外側に向けて円も20個あります(表示上小さすぎて見えないですが)。各円の中で独自の係数Cに対応した周期で回転しています。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
C = [-39, -35, -31, -27, -23, -19, -15, -11, -7, -3, 1, 5, 9, 13, 17, 21, 25, 29, 33, 37]</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ですが、絶対値順に並び替えて、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
C = [1, -3, 5, -7, 9, -11, 13, -15, 17, -19, 21, -23, 25, -27, 29, -31, 33, -35, 37, -39]</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
にしています。</div>
<div class="separator" style="clear: both; text-align: left;">
円の半径はCの要素をcとすれば、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
r = abs(1/c<sup>2</sup> * exp(i * c * θ) / sum(1/C<sup>2</sup>))</div>
<div class="separator" style="clear: both; text-align: left;">
= abs(1/c<sup>2</sup> / sum(1/C<sup>2</sup>))</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
で求めているため、正方形の中心から外側にいくほど小さな円になります。</div>
<div class="separator" style="clear: both; text-align: left;">
c=1なら反時計回りに周期1、c=-3なら時計回りに周期3となります(cが正なら反時計回り、負なら時計回り)。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>上記アニメーションのコード:</b></div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">p</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="mi" style="box-sizing: border-box; color: #666666;">20</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">p</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">F</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">20</span>
<span class="n" style="box-sizing: border-box;">C</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">f</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">f</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)])</span>
<span class="n" style="box-sizing: border-box;">AS</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">argsort</span><span class="p" style="box-sizing: border-box;">(</span><span class="nb" style="box-sizing: border-box; color: green;">abs</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">C</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">AS</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'C ='</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">fig</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">6</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">ax</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">fig</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">add_subplot</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">111</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ims</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[]</span>
<span class="n" style="box-sizing: border-box;">cir</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">65</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">LN</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([])</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">t</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">VR</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([])</span>
<span class="n" style="box-sizing: border-box;">V</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">v</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">c</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">vr</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">exp</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">c</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">t</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">C</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">VR</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">VR</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">vr</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">v</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">vr</span>
<span class="n" style="box-sizing: border-box;">V</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">v</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">P1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">V</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'blue'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">cr</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">abs</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">VR</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">exp</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">C</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">vstack</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">cir</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">P2</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[:</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">cr</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[:</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">cr</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'gray'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">LN</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">LN</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">P3</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">LN</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">LN</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'tab:blue'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">P4</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">ax</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">40</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'red'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ims</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">P1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">P2</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">P3</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">P4</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">ani</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">animation</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">ArtistAnimation</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">fig</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">ims</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">interval</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">100</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">ani</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">save</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'epi.gif'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">writer</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s2" style="box-sizing: border-box; color: #ba2121;">"imagemagick"</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;">#ani.save('epi.mp4', writer="ffmpeg")</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">close</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">HTML</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">ani</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">to_jshtml</span><span class="p" style="box-sizing: border-box;">())</span></pre>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;"><b>フーリエ級数の数が少ない場合:</b></span></div>
<div class="separator" style="clear: both; text-align: left;">
F=2、C = [1, -3]であれば、二つの波形の合成(二つの円による軌跡)になり、フーリエ級数が少ないため正方形の形は以下のようにやや丸くなってしまいます(不完全な正方形)。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="432" data-original-width="432" height="400" src="https://1.bp.blogspot.com/-qlnL3FIH27I/Xd22HVtUL6I/AAAAAAAAOO8/iUUnttuUNtUcAvMoFqQ0WSlml1FvYSfPACLcBGAsYHQ/s400/epi2.gif" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
C = [1, -3]であるため、大きい円は周期1で反時計回りで回っているのに対して、小さな円は周期3で時計回りに回っているのがわかります。</div>
<div class="separator" style="clear: both; text-align: left;">
それぞれの円の半径は、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
r(1) = (1/1)<sup>2</sup>/ ((1/1)<sup>2</sup> + (1/(-3))<sup>2</sup>) = 0.9</div>
<div class="separator" style="clear: both; text-align: left;">
r(-3) = (1/(-3))<sup>2</sup> / ((1/1)<sup>2</sup> + (1/(-3))<sup>2</sup>) = 0.1</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
になります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-62393572178656725472019-10-12T21:18:00.001+09:002019-11-29T07:57:17.106+09:00正多角形を媒介変数表示する:正弦波/矩形波/三角波/トロコイド/フーリエ級数/Epicycles正多角形を媒介変数表示するためのメモ。<br />
Python Matplotlibで円や図形を描くクラスはありますが、今回は数式を用いて図形を表示してみました。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="482" data-original-width="536" height="287" src="https://1.bp.blogspot.com/-WO5umXLzO0Q/XaVmd0Lnr-I/AAAAAAAAOKM/PYpv79_UuSsQmHrk_w8pwTzcU5ErC4KFgCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-15%2B15.23.31.png" width="320" /></div>
正六角形の場合。<br />
最終的には頂点座標だけではなく、任意の分解能で各辺を分割しつつ、外形線上の任意の点座標を求めます。<br />
<br />
<br />
<b><span style="font-size: large;">円の描画(基本):</span></b><br />
まずは基本として円の描画。図形クラスを使わずに数式で描画するには、<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">numpy</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">np</span>
<span class="kn" style="box-sizing: border-box; color: green; font-weight: bold;">import</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">matplotlib.pyplot</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">as</span> <span class="nn" style="box-sizing: border-box; color: blue; font-weight: bold;">plt</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">100</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<span style="color: #333333; font-size: inherit; white-space: pre-wrap;">となります。thetaを0から2πまでの範囲で(x, y)をプロットすると以下のグラフ。</span><br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="494" data-original-width="538" height="294" src="https://1.bp.blogspot.com/--cOsjKBtbNg/XZrm-HtuHKI/AAAAAAAAOFA/XjBYdWBBJmcNG2G3ZqZ-UGAtY994qA5ZgCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B16.19.04.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
np.linspace(0, np.pi*2, 100)なので、厳密には正99角形を描いていることになります。正100角形にするには、np.linspace(0, np.pi*2, 101)。つまり正n角形を描くにはnp.linspace(0, np.pi*2, n+1)にします。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
また、thetaを横軸、yを縦軸にすれば以下のような正弦波になります。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="494" data-original-width="1500" height="209" src="https://1.bp.blogspot.com/-ihPjUdZcwl0/XZroi13s-tI/AAAAAAAAOFM/HpqP1sh5cpcir1nKq-MFS8EFTqOT7YUfwCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B16.25.09.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">n角形の頂点数による表示:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
以下は正方形(n=4)の場合。plt.scatter(x, y)を使うと正方形なら4つの頂点だけがプロットされます。</div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">n</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<div class="separator" style="clear: both;">
コード内ではxとyをsinとcosで求めていますが(図形の向きを合わせるためxにsinを用いています)、複素数を使うと以下のようになります。虚数は通常iですがPythonでは1jになります。xとyはvの実部realと虚部imagに対応しています。</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
v = np.exp(1j * theta)</div>
<div class="separator" style="clear: both;">
x = v.real</div>
<div class="separator" style="clear: both;">
y = v.imag</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="478" data-original-width="544" height="280" src="https://1.bp.blogspot.com/-I13UQtrkIp8/XZxloAjjMzI/AAAAAAAAOHc/i4oy5Mvg-_Ms7Gt_iWxQMBWJORFVRTpkQCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-08%2B19.30.47.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
正方形なので4点ありますが、コード上では以下のplt.plot()で線を引くために座標(1, 0)には2点重なっており合計で5点あります。</div>
<div class="separator" style="clear: both; text-align: left;">
そしてplt.plot(x, y)で各頂点を線でつなくと以下のような正方形が描画されます。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="480" data-original-width="546" height="281" src="https://1.bp.blogspot.com/-nI1pOKcPhsg/XZw4aKfYJwI/AAAAAAAAOHQ/ujISAiVwlOAjKj8Zmow7zeOIYLN185djgCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-08%2B16.18.06.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
この場合、連続値で線を描いているわけではないので、辺上の任意の点座標を数式によって求めていません。連続値を用いて角を持った図形やグラフを描くにはどうすればよいか?ということについて以下に続きます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
<b><span style="font-size: large;">正弦波を矩形波へ変換:</span></b></div>
<div>
正弦波は滑らかな曲線ですが、正弦波を無数に重ね合わせる(無限フーリエ級数)と矩形波に近づいていきます。</div>
<div>
数式的には、nを正の奇数として(n=1, 3, 5 ...)、</div>
<div>
<br /></div>
<div>
<b>y = 4/π * {1/1*sin(1*θ) + 1/3*sin(3*θ) + 1/5*sin(5*θ) + ... + 1/n*sin(n*θ)}</b></div>
<div>
<br /></div>
<div>
となります。</div>
<div>
n=10までを重ね合わせるコードは以下
。分解能は100。</div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><pre style="border-radius: 2px; border: none; box-sizing: border-box; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">101</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span>
<span class="n" style="box-sizing: border-box;">sq</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">n</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)])</span> </pre>
</pre>
</div>
<div>
<br /></div>
<div>
ちなみに、n=10とn=50までの重ね合わせをグラフにすると、</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="478" data-original-width="1486" height="204" src="https://1.bp.blogspot.com/-r-niuS34Zk8/XZr1ZkYWWjI/AAAAAAAAOFk/7Fii41f8NZMOBOAt1Wb1gn4hVp-jSZvMQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B17.19.55.png" width="640" /></div>
<div>
青が元の正弦波、黄色がn=10、緑がn=50のときの矩形波。まだ矩形波としては不完全。</div>
<div>
<br /></div>
<div>
n=200まで重ね合わせるとかなり角がでてきます。無限級数なので数が大きいほどより正確な矩形波に近づいていきます。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="478" data-original-width="1494" height="204" src="https://1.bp.blogspot.com/-rRQ5NX_I9Bc/XZrx_pw5QdI/AAAAAAAAOFY/qURqQVF7t0APQsxXXb9TRXS2e-Z_9u6hQCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B17.06.04.png" width="640" /></div>
<div>
上図は横軸がθ(角度)、縦軸がyの値なので、これを元に(x, y)のグラフを表示させると以下のような正方形になります。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="490" data-original-width="542" height="284" src="https://1.bp.blogspot.com/-0neDD8OEMxQ/XZr2tTOp73I/AAAAAAAAOFw/A3sv9_MGsuQYQGstl9OKk6X165IrkR0ggCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B17.26.00.png" width="320" /></div>
<div>
今回はグラフの分解能を100にしていますが、分解能を上げるほどより近似していきます。</div>
<div>
<br />
<br />
<b><span style="font-size: large;">もう一つの方法:</span></b></div>
<div>
フーリエ級数の式はやや面倒なので、もう少し簡単にコーディングすると以下になります。</div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">sq</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">_</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">sq</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">sq</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">sq</span> <span class="o" style="box-sizing: border-box; color: #666666;">/=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span></pre>
</div>
<div>
<br /></div>
<div>
正弦波の式に正弦波を自己代入して合算し(今回は10回自己代入)最後にπで割っています。結果のグラフは以下。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="496" data-original-width="1496" height="209" src="https://1.bp.blogspot.com/-rGD9UknFFbA/XZr5Ft4SdpI/AAAAAAAAOF8/opKaLj9VIB8sKu15z5zMRZVEP07WvjeVgCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B17.36.22.png" width="640" /></div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">三角波:</span></b></div>
<div>
次は三角波です。数式的には矩形波のように奇数の級数がでてきますが、一つおきにプラスマイナス反転するので少し複雑です。<br />
<br /></div>
<div>
<b>tr = 8/π<sup>2</sup> * sin{1/1<sup>2</sup>*sin(1*θ) - 1/3<sup>2</sup>*sin(3*θ) + 1/5<sup>2</sup>*sin(5*θ) - 1/7<sup>2</sup>*sin(7*θ) + ...}</b></div>
<div>
<br /></div>
<div>
上式のsin{...}内の偶数番目(2<b><sup>2</sup></b>など)の項をゼロにして奇数番目を一つおきにプラスマイナス反転させるには、<br />
<br />
<b>sin(n*π/2)</b><br />
<br /></div>
<div>
を使うと、n=1, 2, 3, 4, 5 ... のとき、<br />
<br />
<b>1, 0, -1, 0, 1, 0, -1, 0, 1, ...</b><br />
<br />
という値を返します。この式を使ってコーディングすると(n=100まで)、<br />
<pre style="background-color: white; border-radius: 0px; border: 0px; box-sizing: border-box; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 1px 0px; vertical-align: baseline; word-break: break-all;"><pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">tr</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">8</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">k</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">k</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">k</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">k</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">101</span><span class="p" style="box-sizing: border-box;">)])</span></pre>
</pre>
となり、これを描画すると以下。</div>
<div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="480" data-original-width="1496" height="204" src="https://1.bp.blogspot.com/-k9Yv0cTF_qo/XZseZY4vvBI/AAAAAAAAOGI/3fys286ryPAMIL0zn93Zb55r8LLgDNFPwCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B20.15.30.png" width="640" /></div>
赤が三角波、青が元の正弦波、横軸はθ、縦軸はy値。<br />
また(x, y)をグラフ表示すると以下。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="480" data-original-width="542" height="283" src="https://1.bp.blogspot.com/-Q0QSMdA2Q0g/XZsfXfPQ7WI/AAAAAAAAOGU/MGcVaVb50GY8YL2Tan5ivg_5CJ3F-UMwACLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B20.19.38.png" width="320" /></div>
<br />
<br />
<b><span style="font-size: large;">トロコイド:</span></b><br />
車輪を地面上で転がしたときに、車輪上の任意の点が動く軌跡。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="200" data-original-width="400" height="160" src="https://1.bp.blogspot.com/-ad0CzMLVUEk/XaqA_IlncUI/AAAAAAAAOLA/NItpOqE3oG4ktYHRMbrCwYNLPUtZc_s2ACLcBGAsYHQ/s320/Cycloid_f.gif" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: x-small;"><a href="https://en.wikipedia.org/wiki/Trochoid" target="_blank">wiki:Trochoid</a>より</span></div>
<br />
車輪の半径をR、車輪上の任意の点の半径をr、回転角をthetaとしたとき、<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">100</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">r</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">r</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
</pre>
<div>
<br /></div>
<div>
R=rのときサイクロイドと呼び、(x, y)の軌跡は以下。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="484" data-original-width="1480" height="208" src="https://1.bp.blogspot.com/-DrjlIB09Tb4/XZtFrjYIXLI/AAAAAAAAOGg/lrnnHbg7ssc47-9-HAnBHS2RkLvGEf66QCLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B23.03.04.png" width="640" /></div>
<div>
横軸:x、縦軸:y</div>
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">外トロコイド(Epitrochoid):</span></b><br />
上記トロコイドにおいて、地面の代わりに円の外側を回る車輪上の任意の点の軌跡。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="454" data-original-width="452" height="320" src="https://1.bp.blogspot.com/-CLzKmCDWBfw/Xap_mprwr-I/AAAAAAAAOK0/k0vHlW43uicrwHcSMCqPTf751jBCVDPdwCLcBGAsYHQ/s320/EpitrochoidIn3.gif" width="313" /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: x-small;"><a href="https://ja.wikipedia.org/wiki/%E3%83%88%E3%83%AD%E3%82%B3%E3%82%A4%E3%83%89" target="_blank">wiki:「トロコイド</a>」より</span></div>
<br />
地面の代わりとなる円の半径をR、車輪の半径をr、車輪上の任意の点の半径をn、回転角をthetaとしたとき、<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><pre style="border-radius: 2px; border: none; box-sizing: border-box; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">100</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">((</span><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">((</span><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span></pre>
</pre>
r=nのとき外サイクロイドと呼び、(X, Y)の軌跡は以下。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="478" data-original-width="534" height="285" src="https://1.bp.blogspot.com/-U0nLQVJVES4/XZtI6BXHmVI/AAAAAAAAOGs/PJlEERx5Wo0iownJTRMObg2R12szuFp7ACLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B23.16.58.png" width="320" /></div>
青が半径R=1の固定された円、黄色がその上を転がる半径r=1/4でn=rの軌跡。r=1/4のため青い円の外周を4分割する。r=1/3にすれば3分割、r=1/5にすれば5分割となる。n=0のとき黄色い軌跡は半径R+rの円になる。<br />
<br />
<br />
<b><span style="font-size: large;">内トロコイド(Hypotrochoid):</span></b><br />
外トロコイドとは逆に固定円(青い円)の内側を回るときの軌跡。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">100</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">X</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">((</span><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">Y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">((</span><span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
</pre>
<div>
<span class="p" style="box-sizing: border-box;">r=nのとき内サイクロイドと呼び、(X, Y)の軌跡は以下。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="482" data-original-width="532" height="288" src="https://1.bp.blogspot.com/-k1ffv3yOQK0/XZtNYg0F6VI/AAAAAAAAOG4/R6n3e4k1fjsl8x3ZT_6Keu1uP7FDInOhwCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B23.36.01.png" width="320" /></div>
<br />
青が半径R=1の固定された円、黄色がその内側を転がる半径r=1/4でn=rの軌跡。r=1/3で3分割、r=1/5で5分割の軌跡になる。n=0のとき黄色い軌跡は半径R-rの円になる。<br />
<br />
r=1/4、n=1/10にすると以下。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="488" data-original-width="534" height="291" src="https://1.bp.blogspot.com/-Wa0mwY5GAeg/XZtRC2I92OI/AAAAAAAAOHE/Okg-Zqso3KAAx0NSLwzJokC64u4ywPRPgCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-07%2B23.51.09.png" width="320" /></div>
r=1/4なので正方形に近い軌跡になりますが、角が丸くなってしまいます。<br />
<br />
<br />
<b><span style="font-size: large;">角が丸くならないようにする:</span></b><br />
「いかに丸くならない角と直線で多角形を描くことができるか?」という方法についてです。<br />
<br />
先ほど、正弦波を無限フーリエ級数的に重ね合わせると直角と直線に近似した矩形波を描くことができましたが、トロコイドでは角をシャープにすれば辺が曲線になってしまい、辺を直線に近づければ角が丸まってしまいます。そこで、もう少しシンプルに円の公式を利用して直角に近似する方法を試してみました。<br />
<br />
円の公式:x**2 + y**2 = r**2なので、y = (r**2 - x**2)**(1/2)として、円の半径r=1、xの分解能を100とすると、<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span>
<span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">r</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">101</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">r</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">)</span></pre>
xに対するyが求まり、これを表示すると、<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="476" data-original-width="536" height="284" src="https://1.bp.blogspot.com/-yoJwp4FMrRg/XZyW-7MUs2I/AAAAAAAAOHo/hKX--uKTbDQB3LgriFnpwXEsvGWY6OrCwCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-08%2B23.02.19.png" width="320" /></div>
このような円弧になります。<br />
さらにn=4にするとx**4 + y**4 = r**4となり、y = (r**4 - x**4)**(1/4)の場合は、<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="474" data-original-width="536" height="283" src="https://1.bp.blogspot.com/-vduN6ORmfro/XZyYAyLou9I/AAAAAAAAOH0/xz9-BQdAJgAgUZthliDy5cDINzQu1IFDwCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-08%2B23.06.44.png" width="320" /></div>
やや角ばってきます。<br />
x<sup>n</sup> + y<sup>n</sup> = r<sup>n</sup>のnを大きくするほど角がでてきます。<br />
さらにn=100にすると、以下のように直角に近づいていきます。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="476" data-original-width="542" height="280" src="https://1.bp.blogspot.com/-AiE4EiKsauo/XZyf0PV8bEI/AAAAAAAAOIU/OS1F4WwB4j01MzJhkir-Q5Zc2mDkxKUwwCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-08%2B23.39.51.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
n=2のとき円弧で、nが大きくなるほど四角くなっていきます。<br />
この場合、xが-1から1までの間を分解能100で描いているので、より連続値に近い表現方法になりますが、plt.scatter(x, y)で点描してみると以下のようになってしまいます。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="476" data-original-width="532" height="285" src="https://1.bp.blogspot.com/-5LQSPgzvueI/XZygZrqo9gI/AAAAAAAAOIg/_PUaDsH0_gQ72DPHneFFMSKr7hSZOcQWQCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-08%2B23.42.31.png" width="320" /></div>
y=1の水平な辺は連続する点群で描画されていますが、左右の縦の辺はそれぞれ2点で表現されているので、連続値による表現にはなっていません。これはxを媒介変数としているので仕方ありませんが、やはり中心角となるθを媒介変数にしたほうがよさそうです。<br />
<br />
<br />
<b><span style="font-size: large;">中心角θを媒介変数として多角形を描く:</span></b><br />
多角形の頂点を求めて辺をつないで描くのではなく、任意の中心角θにおける多角形の外形線の(x, y)座標を求める方法についてです(<a href="https://math.stackexchange.com/questions/41940/is-there-an-equation-to-describe-regular-polygons" target="_blank">こちらを参考</a>にしました)。<br />
<br />
以下がコードです。n=3のときに正三角形を描きます(正n角形)。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span style="color: #333333;"><span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> </span><span style="color: #666666;">3</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">resolution</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">n</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span style="color: #333333;"> </span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">theta</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">linspace</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">resolution</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">r</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span style="color: #333333;"> </span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">cos</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">theta</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">%</span><span style="color: #333333;"> </span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box; color: #333333;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box; color: #333333;">n</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box; color: #333333;">n</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">x</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">r</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">sin</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">theta</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">y</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">r</span><span style="color: #333333;"> </span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">cos</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">theta</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">figure</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box; color: #333333;">))</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">axis</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">plot</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">x</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">y</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">scatter</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">x</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">y</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">i</span><span style="color: #333333;"> </span><span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span><span style="color: #333333;"> </span><span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">theta</span><span class="p" style="box-sizing: border-box; color: #333333;">)):</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">plot</span><span class="p" style="box-sizing: border-box; color: #333333;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">x</span><span class="p" style="box-sizing: border-box; color: #333333;">[</span><span class="n" style="box-sizing: border-box; color: #333333;">i</span><span class="p" style="box-sizing: border-box; color: #333333;">]],</span><span style="color: #333333;"> </span><span class="p" style="box-sizing: border-box; color: #333333;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">y</span><span class="p" style="box-sizing: border-box; color: #333333;">[</span><span class="n" style="box-sizing: border-box; color: #333333;">i</span><span class="p" style="box-sizing: border-box; color: #333333;">]],</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'gray'</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">lw</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">figure</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box; color: #333333;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">pi</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box; color: #333333;">))</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">grid</span><span class="p" style="box-sizing: border-box; color: #333333;">()</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">axis</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span><span style="color: #333333;">
</span><span class="n" style="box-sizing: border-box; color: #333333;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box; color: #333333;">plot</span><span class="p" style="box-sizing: border-box; color: #333333;">(</span><span class="n" style="box-sizing: border-box; color: #333333;">theta</span><span class="p" style="box-sizing: border-box; color: #333333;">,</span><span style="color: #333333;"> </span><span class="n" style="box-sizing: border-box; color: #333333;">r</span><span class="p" style="box-sizing: border-box; color: #333333;">)</span></pre>
頂点座標だけではなく、任意の中心角θに対する辺上の点座標(x, y)を求めることができます。<br />
resolutionは中心角0〜2πにおける分解能です。頂点を含めるためnの倍数にしています。rは角度θにおける中心(0, 0)からの距離です。rとθが分かればsinとcosで(x, y)の座標を求めることができます(図形が90度ずれるので、xにsin、yにcosを使用しています)。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="486" data-original-width="534" height="290" src="https://1.bp.blogspot.com/-ablf1d5Eebk/XZ1YbHxFzmI/AAAAAAAAOIs/0Z37L92JV642YhrGNFCbWdKIQOJr4w4_ACLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-09%2B12.47.36.png" width="320" /></div>
<div class="separator" style="clear: both; text-align: left;">
n=3、分解能30(1辺を10分割)の場合。赤点が分解能30における辺上の点。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="484" data-original-width="540" height="285" src="https://1.bp.blogspot.com/-cQ3BdHQv5BE/XZ1ZQxfFQpI/AAAAAAAAOI0/6nF0viUg98M3_UEp74jI_yW3VNja7QI8ACLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-09%2B12.49.48.png" width="320" /></div>
n=4、分解能40の場合。<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="480" data-original-width="1480" height="206" src="https://1.bp.blogspot.com/-Nt8hORFGfWc/XZ6t4dF3J5I/AAAAAAAAOJY/C-HpDhjQvAk4T9FGq5Ox2Re9IsM3s9eCACLcBGAsYHQ/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-10%2B13.04.29.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
横軸:θ(0から2π)、縦軸:rのプロット。つまり、中心(0, 0)からの辺上の任意の点までの距離。正方形の場合このような波型の線が4つできます。<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="478" data-original-width="540" height="282" src="https://1.bp.blogspot.com/-ri6WZjLC8Zk/XZ1Zw0r4XnI/AAAAAAAAOJA/oiIGDbWYIBMGCdpVPCvyUx4b5JUOXI1jACLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-09%2B12.52.53.png" width="320" /></div>
n=5 、分解能100の場合。分解能を上げれば線画に近づいていきます。<br />
<br />
この方法では中心角θを分解能に応じて均等に分割しているためプロットされる点は辺を均等に分割してはいませんが、n角形の頂点だけではなく辺上の点座標を求めることができます(辺を均等に分割する場合は以下のEpicycleの方法で)。<br />
<br />
<br />
<b><span style="font-size: large;">多角形を歪ませて表示:</span></b><br />
前述の方法で多角形における頂点以外の任意の点座標も求めることができたので、多角形そのものを歪ませてみます。<br />
正方形を例として、回転、伸縮、湾曲させてみます。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">resolution</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">resolution</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">%</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">n</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># tilted at 45 degrees</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">r</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;">#plt.figure(figsize=(4, 4))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mf" style="box-sizing: border-box; color: #666666;">1.2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># yellow line</span>
<span class="n" style="box-sizing: border-box;">y1</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.3</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="n" style="box-sizing: border-box;">y1</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.1</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># green line</span></pre>
歪ませた結果は以下。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="484" data-original-width="758" height="255" src="https://1.bp.blogspot.com/-L-DNF6N4BKA/XZ67zFlAgVI/AAAAAAAAOJk/K8ss_ediyBsqAMx7RNGjLM5EwI8p2L7NgCLcBGAsYHQ/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-10%2B14.03.55.png" width="400" /></div>
もともと正方形が45度傾いて菱形になっていたので、辺を垂直水平にあわせました。<br />
黄色は横幅を1.2倍したもの。<br />
緑はy=1/4*x**2の放物線を加えて座標(0.3, 0.1)ずらしたもの。<br />
頂点以外の点もプロットされているので全体的に湾曲します。<br />
<br />
<br />
<b><span style="font-size: large;">Epicycle:フーリエ級数で正多角形を描く:</span></b><br />
もう一つの方法として、Epicycleという複数の回転軸を連結させて図形を描く方法。<br />
矩形波で複数の波形を重ねたように、周期性のある回転軸をフーリエ級数的に足し合わせて、単純な円から複雑な図形に変換していきます。<br />
基本の数式は、<br />
<br />
<b>e<sup>iθ</sup>= cosθ + i*sinθ</b><br />
<br />
eはエクスポネンシャル、iは虚数、θは任意の角度のとき、複素平面上で実部が横軸、虚部が縦軸となり、<br />
<br />
<b>e<sup>iπ</sup> = -1</b>:座標(1, 0)から反時計回りにπ(180度)回転し座標(-1, 0)に移動<br />
<b>e<sup>2iπ</sup> = -1</b>:座標(1, 0)から反時計回りにπ(360度)回転し座標(1, 0)に移動<br />
<b>e<sup>iπ/2</sup> = i</b>:座標(1, 0)から反時計回りにπ/2(90度)回転し座標(0, i)に移動<br />
<b>e<sup>-iπ</sup> = -1</b>:座標(1, 0)から時計回りにπ(180度)回転し座標(-1, 0)に移動<br />
<b>2e<sup>iπ</sup> = -2</b>:座標(2, 0)から反時計回りにπ(180度)回転し座標(-2, 0)に移動<br />
<br />
という関係になります。つまり複数の回転軸を持つ円を重ね合わせる際に、円の大きさや回転角、回転する向きを各係数で指定し任意の座標へ移動できます。<br />
<br />
例えば、正三角形(n=3)を描画する場合は、係数をcとして、Σは-∞から∞までの範囲で、<br />
<br />
<b>R = Σ(1/c<sup>2</sup> * e<sup>ciθ</sup>)</b><br />
<br />
となるようです。<br />
求められるRは複素数で、Rの実部をx成分、Rの虚部をy成分とした(x, y)座標に点がプロットされます。<br />
また、eの係数1/c<sup>2</sup>と指数部分にcがあり、係数cの配列をCとし、<br />
<br />
<b>C = [..., -8, -5, -2, 1, 4, 7, 10, ...]</b><br />
<br />
1を基準として3ずつ加算した数列、また3ずつ減算した数列となります。<br />
<br />
また正方形(n=4)であれば、<br />
<br />
<b>C = [..., -11, -7, -3, 1, 5, 9, 13, ...]</b><br />
<br />
1を基準として4ずつ加算した数列、また4ずつ減算した数列となります。<br />
<br />
正五角形(n=5)であれば同様に、<br />
<br />
<b>C = [..., -14, -9, -4, 1, 6, 11, 16, ...]</b><br />
<br />
というように係数Cの配列は、1を基準としてnを加算、nを減算したものとなるようです。<br />
仮に級数の個数をF=30としてコーディングすると、<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">F</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">30</span>
<span class="n" style="box-sizing: border-box;">C</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">f</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">n</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">f</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)]</span></pre>
という感じになります。nは任意の正n角形。<br />
無限級数なので円の個数Fを多くするほど、より厳密な図形を描くことができます。<br />
<br />
以下は全体のコード。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">resolution</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">resolution</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">F</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">C</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">f</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">n</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">f</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">F</span><span class="o" style="box-sizing: border-box; color: #666666;">//</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="p" style="box-sizing: border-box;">)]</span>
<span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">exp</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="n" style="box-sizing: border-box;">j</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">c</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">ratio</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">**</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">c</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="n" style="box-sizing: border-box;">C</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">ratio</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">ratio</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">,</span> <span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">)</span></pre>
n:正n角形<br />
resolution:分解能(辺の分割数)<br />
theta:分解能で分割した角度<br />
F:フーリエ級数の数(数が大きいをほど描画精度が上がる)<br />
C:フーリエ級数の係数<br />
R:Epicycleの計算式、複素平面上のベクトル<br />
x:ベクトルの実部をx成分に変換<br />
y:ベクトルの虚部をy成分に変換<br />
ratio:多角形頂点までの半径を1にするための比率<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="486" data-original-width="536" height="290" src="https://1.bp.blogspot.com/-iOdE3yyxufc/XaG9vY-H6NI/AAAAAAAAOJ0/61dX1ZWwTq0EJUjSWM9bI63vOytiocjgACLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-12%2B20.49.02.png" width="320" /></div>
<br />
Fを下げると(F=4)描画精度も下がり角が丸くなってしまいます。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="484" data-original-width="538" height="287" src="https://1.bp.blogspot.com/-qV2l-MbCpa0/XaG-mA5LLgI/AAAAAAAAOJ8/wicy4FiwYuw24QJkfH-r71KtOMORmgEdwCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-12%2B20.52.22.png" width="320" /></div>
<br />
ということで、多角形の頂点だけでなく途中の点も各変数を調節しながら求めることができます。<br />
<br />
<br />
<b><span style="font-size: large;">もう一つの方法(分解能で分割):</span></b><br />
フーリエ級数を使わず、多角形の各辺を任意の分解能で分割する場合。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="box-sizing: border-box;">N</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">N</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">V</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">exp</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span> <span class="c1" style="box-sizing: border-box; color: #408080; font-style: italic;"># V = np.cos(theta) + 1j*np.sin(theta)</span>
<span class="n" style="box-sizing: border-box;">Div</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">10</span>
<span class="n" style="box-sizing: border-box;">P</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">array</span><span class="p" style="box-sizing: border-box;">([(</span><span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">k</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">k</span><span class="p" style="box-sizing: border-box;">])</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">d</span><span class="o" style="box-sizing: border-box; color: #666666;">/</span><span class="n" style="box-sizing: border-box;">Div</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="n" style="box-sizing: border-box;">V</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">k</span><span class="p" style="box-sizing: border-box;">]</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">d</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">Div</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">for</span> <span class="n" style="box-sizing: border-box;">k</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">N</span><span class="p" style="box-sizing: border-box;">)])</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">V</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span>
<span class="n" style="box-sizing: border-box;">vx</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">P</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span>
<span class="n" style="box-sizing: border-box;">vy</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">P</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">vx</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">vy</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">20</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'k'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">50</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'k'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">marker</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'x'</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<br />
Divは各辺を何分割するかという変数。その分割数から描く座標を求めています。<br />
Vは正n角形のn個の点、Divは1辺の分割数、PがDivによって分割された点。<br />
<br />
<br />
<b><span style="font-size: large;">任意の中心角による辺上の点座標:</span></b><br />
前述のような分割数で求めるのではなく、中心角を入力として辺上の点座標を求める方法。<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">def</span> <span class="nf" style="box-sizing: border-box; color: blue;">intersection</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x1</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">y1</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">x2</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">y2</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">x3</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">y3</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">x4</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">y4</span><span class="p" style="box-sizing: border-box;">):</span>
<span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x1</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">x2</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y3</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y4</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y1</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y2</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x3</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">x4</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">B</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x1</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">x2</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y3</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y4</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y1</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y2</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x3</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">x4</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">if</span> <span class="n" style="box-sizing: border-box;">A</span> <span class="o" style="box-sizing: border-box; color: #666666;">!=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: bold;">and</span> <span class="n" style="box-sizing: border-box;">B</span><span class="o" style="box-sizing: border-box; color: #666666;">!=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">px</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x1</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">y2</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y1</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">x2</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x3</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">x4</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x1</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">x2</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x3</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">y4</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y3</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">x4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">A</span>
<span class="n" style="box-sizing: border-box;">py</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">(</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x1</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">y2</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y1</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">x2</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y3</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y4</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">y1</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y2</span><span class="p" style="box-sizing: border-box;">)</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x3</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">y4</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="n" style="box-sizing: border-box;">y3</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">x4</span><span class="p" style="box-sizing: border-box;">)</span> <span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="n" style="box-sizing: border-box;">B</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: bold;">return</span> <span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">px</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">py</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="n" style="box-sizing: border-box;">N</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span>
<span class="n" style="box-sizing: border-box;">theta</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">linspace</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">N</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">R</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">exp</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">theta</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span>
<span class="n" style="box-sizing: border-box;">y</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">R</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span>
<span class="n" style="box-sizing: border-box;">deg</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">deg2rad</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">70</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">n</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">int</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">deg</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">N</span> <span class="o" style="box-sizing: border-box; color: #666666;">/</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">2</span><span class="o" style="box-sizing: border-box; color: #666666;">*</span><span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">pi</span><span class="p" style="box-sizing: border-box;">))</span> <span class="o" style="box-sizing: border-box; color: #666666;">%</span> <span class="n" style="box-sizing: border-box;">N</span>
<span class="n" style="box-sizing: border-box;">px</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">py</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">intersection</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">cos</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">deg</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">np</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">sin</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">deg</span><span class="p" style="box-sizing: border-box;">),</span> <span class="n" style="box-sizing: border-box;">R</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">R</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">n</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">R</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">n</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">real</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">R</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">n</span><span class="o" style="box-sizing: border-box; color: #666666;">+</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">imag</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">figure</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">figsize</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">4</span><span class="p" style="box-sizing: border-box;">))</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">grid</span><span class="p" style="box-sizing: border-box;">()</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">axis</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'equal'</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">y</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">alpha</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mf" style="box-sizing: border-box; color: #666666;">0.5</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">plot</span><span class="p" style="box-sizing: border-box;">([</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">px</span><span class="p" style="box-sizing: border-box;">],</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">py</span><span class="p" style="box-sizing: border-box;">])</span>
<span class="n" style="box-sizing: border-box;">plt</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">scatter</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">px</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">py</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">s</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="mi" style="box-sizing: border-box; color: #666666;">10</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">c</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'r'</span><span class="p" style="box-sizing: border-box;">)</span></pre>
intersection()という二つの線分の交点を求める関数を用いています。中心からの半径となる線分と多角形の各辺との交点を求めるという手順です。<br />
変数Nで正N角形を指定し、変数degに任意の角度(度数)を指定します。変数nは中心角radが正N角形のn番目の辺にあるという計算をしています。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="482" data-original-width="540" height="285" src="https://1.bp.blogspot.com/-7pjbYoMqmBE/XaVsA8ElT1I/AAAAAAAAOKY/XbWSJg1tcKoJIxuPEWfwQtotsiFhe7ZowCLcBGAsYHQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-10-15%2B15.49.24.png" width="320" /></div>
N=4、deg=70度の場合。<br />
np.deg2rad()は度からラジアンへ変換してくれます。<br />
<br /></div>
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4866150920/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank"><img alt="スバラシク実力がつくと評判のフーリエ解析キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!" src="https://images-fe.ssl-images-amazon.com/images/I/51n8LYxdm3L._SL160_.jpg" style="border: none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4866150920/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">スバラシク実力がつくと評判のフーリエ解析キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!</a><br />
<div class="amazlet-powered-date" style="font-size: 80%; line-height: 120%; margin-top: 5px;">
posted with <a href="http://www.amazlet.com/" target="_blank" title="amazlet">amazlet</a> at 19.10.24</div>
</div>
<div class="amazlet-detail">
馬場 敬之 <br />
マセマ <br />
売り上げランキング: 254,052</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4866150920/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jpで詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
<br />
<br />
<b>続き:</b><a href="https://cnc-selfbuild.blogspot.com/2019/11/blog-post.html" target="_blank">フーリエ級数を用いて正多角形を描く(その2)</a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-16420729107403165682019-07-18T13:18:00.000+09:002019-07-24T19:25:35.293+09:00TSP LP with scipy.optimize.linprog<div dir="ltr" style="text-align: left;" trbidi="on">
今回は<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.linprog.html" target="_blank">scipy</a>を使ってTSP(巡回セールスマン問題)を解いてみました。<a href="https://cnc-selfbuild.blogspot.com/2019/07/tsp-lp-us48-cities.html" target="_blank">前回</a>までの<a href="https://pythonhosted.org/PuLP/" target="_blank">Pulp</a>のような最適化ソルバー/モデラーであれば0-1整数計画法(混合整数計画法)として計算可能でしたが、scipyの線形計画法の関数である<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.linprog.html" target="_blank">linprog</a>は整数計画法まではカバーされていないため、離散値(整数値)ではなく連続値として計算しなければいけません。Pulpを使ったほうがコーディングも楽だし処理も早いと思いますが、今回は敢えてscipyで可能かどうかという試みです。アルゴリズム的には基本的に前回と同じですが、今回は連続値を扱うのとscipyのフォーマットで書き直すため微妙に異なる点があります。データは<a href="https://cnc-selfbuild.blogspot.com/2019/07/tsp-lp-us48-cities.html" target="_blank">前回</a>同様<a href="https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/tsp/" target="_blank">TSPLIB</a>のアメリカ48都市を用いることにします。<br />
<br />
<b><span style="font-size: large;">目的関数とベースの制約:</span></b><br />
<div>
<div>
最小化する式は以下のようになります。</div>
<br />
<pre>min: Σ(dist(i, j) * x(i, j))
s.t: sum(x(0, 1) + x(0, 2) + ... + x(0, 47)) = 2
sum(x(0, 1) + x(1, 2) + ... + x(1, 47)) = 2
・・・
sum(x(0, 47) + x(1, 47) + ... + x(46, 47)) = 2
</pre>
<br />
<div>
とりあえず各都市において最低2本の経路が接続されていなければならないという条件を加えておきます。dist(i, j)は二都市間(i, j)における距離、x(i, j)は経路として採用された場合は1、不採用なら0になりますが、scipyの場合はこの値が連続値になるので0.0〜1.0の小数になります。</div>
<div>
上記を<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.linprog.html" target="_blank">scipy.optimize.linprog</a><span id="goog_1124787300"></span><a href="https://www.blogger.com/"></a><span id="goog_1124787301"></span>のフォーマットで書き直すと以下のようになります。</div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">e</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">abs</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">XY</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="n" style="margin: 0px; padding: 0px;">XY</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">A_eq</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">n</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">e</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">n</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)]</span>
<span class="n" style="margin: 0px; padding: 0px;">b_eq</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">*</span> <span class="n" style="margin: 0px; padding: 0px;">num</span>
<span class="n" style="margin: 0px; padding: 0px;">bounds</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">*</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">res</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">linprog</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">c</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">A_eq</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">A_eq</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b_eq</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">b_eq</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">bounds</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">bounds</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">method</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s2" style="color: #ba2121; margin: 0px; padding: 0px;">"revised simplex"</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
<div>
linprogの引数c=distは1次元配列でなければならないので、eとdistは二都市間(i, j)のマトリクスになりますが1次元配列として用意します。48*47/2=1128個の値を含んだ配列になります。</div>
<div>
e:(i, j)の二都市を参照するための配列</div>
<div>
dist:二都市間の距離を格納した配列</div>
<div>
A_eq:各都市における二経路接続の制約マトリクス(二次元配列:1128x48)<br />
b_eq:制約ベクター</div>
</div>
</div>
</div>
<div>
bounds:x(i, j)の値の範囲(今回は0.0〜1.0の連続値)</div>
<div>
この制約で一度答えを出してみます。methodはより正確なrevised simplexを用いることにします(そうしないとWarningが出る)。まず以下の方法でx(i, j)の値がそれぞれどのくらいになっているか見てみます。</div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">plt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">))),</span> <span class="n" style="margin: 0px; padding: 0px;">res</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
そうすると、以下のように1128通りあるx(i, j)は0か0.5か1.0(縦軸)になっています。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="506" data-original-width="758" height="266" src="https://1.bp.blogspot.com/-7T1pd6x6fLE/XS_F-tsttxI/AAAAAAAAN-s/rA0dijtIAmU6DZCANk12TN7cKPidL3JYwCLcBGAs/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-18%2B10.03.34.png" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;">
横軸はx(i, j)をx[n]のインデックス番号に変換した値です(n=0〜1127)。実際これを地図に落とし込むと以下のようになります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="718" data-original-width="1014" height="449" src="https://1.bp.blogspot.com/-Fwo_NSbfojk/XS_HTq6flzI/AAAAAAAAN-4/JaKMR7gbG5UwTgq5gnrW0bTvJ2JwN9BtgCLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-18%2B10.11.28.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
赤い線がx(i, j)=0.5、グレーの線がx(i, j)=1.0です。今回はx(i, j)の値が0.0〜1.0の連続値になっているため、この段階では0.5と1.0の二種類の経路が混在しています(もしバイナリ設定が可能なPulpなどのライブラリを使えば0か1の表現になるのでもう少し簡単になるのですが)。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;"><br /></span></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">部分巡回路除去:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
次の段階として、この状態から部分巡回路を選択して、その部分巡回路に追加の制約を与えます。まず目につくのが、右上にある7都市からなる部分巡回路と下部右寄りにある五角形の部分巡回路です。この段階で選択する部分巡回路の条件は、部分巡回路の都市数が全体の半数未満(48都市あるので24都市未満)でx(i, j)=1.0で構成されているもの(実際は0.5の経路群を含めても可)。複数ある場合は都市数が少ない方をターゲットとします。よって今回は下部右寄りにある五角形{2, 15, 21, 33, 40}を選択します。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ターゲットの部分巡回路の都市群をst_flat={2, 15, 21, 33, 40}として、以下の制約を追加して再度解きます。ST15[0]というのはこの都市群における経路群[(2, 21), (2, 33), (15, 21), (15, 40), (33, 40)]であり、st_flatというのは経路群を都市群に変換したものです。</div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST15</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="p" style="margin: 0px; padding: 0px;">()))</span>
<span class="n" style="margin: 0px; padding: 0px;">A_ub</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">({</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">e</span><span class="p" style="margin: 0px; padding: 0px;">]]</span>
<span class="n" style="margin: 0px; padding: 0px;">b_ub</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">res</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">linprog</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">c</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">A_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">A_ub</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">b_ub</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">A_eq</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">A_eq</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b_eq</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">b_eq</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">bounds</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">bounds</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">method</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s2" style="color: #ba2121; margin: 0px; padding: 0px;">"revised simplex"</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
閉じている部分巡回路に対して部分巡回路外の都市と接続するように仕向けるための制約です。x(i, j)のiかjの一方が部分巡回路に属し、もう一方が属していない都市となるx(i, j)の組み合わせが2個以上という制約です。Pulpなどでの制約式としては以下のようになりますが(<a href="https://cnc-selfbuild.blogspot.com/2019/07/tsp-lp-us48-cities.html" target="_blank">前回</a>参照)、</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
sum([x(i, j) for (i, j) in e if len({i, j} & st_flat) == 1]) >= 2</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.linprog.html" target="_blank">scipy.optimize.linprog</a>では基本的に「<=」が使用されるため「>=」の場合はをマイナス反転するようです。よってA_ubにおいてx(i, j)が条件に従う場合は-1でそうでない場合は0という配列にしておきます(この部分が多少面倒)。またb_ubのほうにもマイナスをかけて「-2」にしておきます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
この結果、五角形の部分巡回路は以下のようにつながります。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="716" data-original-width="1000" height="451" src="https://1.bp.blogspot.com/-fzPavZPobYI/XS_S9KJy91I/AAAAAAAAN_E/Odu5w8loG18ahPOXPoPNBKvQVMBmk1T-ACLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-18%2B11.00.49.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
次のターゲットは右上にある7都市の部分巡回路です。同様に制約を追加して解いていきます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">部分巡回路がない場合(接続数1):</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
部分巡回路除去の手順を繰り返すと徐々に部分巡回路はつながっていき、以下のような状態になります。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="720" data-original-width="1002" height="454" src="https://1.bp.blogspot.com/-JMjmjv73ym0/XS_V6PiM-cI/AAAAAAAAN_Q/CgEUnXszx8wUsmT1G-iXN9r7d56eoseXwCLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-18%2B11.13.06.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
この状態では分離した部分巡回路はありません。このようなひとつながりでありつつ巡回路としては不完全な状態のときには、条件を変えて次のターゲットを選ぶことにします。</div>
<div class="separator" style="clear: both; text-align: left;">
今回の場合であれば、左側にある辛うじて一本の経路でつながっている7都市からなる都市群{3, 9, 23, 25, 34, 41, 44}を選択します。この経路はx(i, j)=0.5である赤い経路の都市群{9, 23, 25, 41, 44}とx(i, j)=1.0である{3, 25, 34, 44}と{9, 23}で構成されています。{41}の1箇所で全体に対してつながっているので、この都市群に最低でも二本の経路でつながるような制約を追加します。</div>
<div class="separator" style="clear: both; text-align: left;">
似たような箇所として右上にある{5, 16, 18, 26, 27, 29, 35, 36, 42}も{35}の1箇所で辛うじてつながっています。このような1箇所でしか接続されていない都市群を探し出して二経路接続の制約を追加するというのが今回の手段になります。もちろんこれらの都市群の数は全体の都市数の半分未満の数でなければならないという条件と、もし複数ある場合は合計都市数の少ない方を選択するということにしておきます。</div>
<div class="separator" style="clear: both; text-align: left;">
条件としては、</div>
<div class="separator" style="clear: both; text-align: left;">
・x(i, j)=0.5だけで構成される部分巡回路を探す</div>
<div class="separator" style="clear: both; text-align: left;">
・x(i, j)=0.5の部分巡回路に2箇所以上接続しているx(i, j)=1.0の部分巡回路/部分経路を足し合わせる</div>
<div class="separator" style="clear: both; text-align: left;">
・足し合わせた都市群は全体都市数の半数未満でなければならない</div>
<div class="separator" style="clear: both; text-align: left;">
という感じです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
この部分はかなり面倒な手続きになりますが、そのような都市群を探し出す関数を用意することにしました(あとで登場)。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
よって、st_flat={5, 16, 18, 26, 27, 29, 35, 36, 42}に制約を与えると以下のようになります。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="720" data-original-width="1006" height="454" src="https://1.bp.blogspot.com/--ogAXcXUmOA/XS_eWm1mVzI/AAAAAAAAN_c/hWeMDatA9UgOdFcM8BxSxrFr5FuY6UbpQCLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-18%2B11.44.52.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
左側は部分巡回路として分離しましたがx(i, j)=0.5の赤い経路は消えてくれました。</div>
<div class="separator" style="clear: both; text-align: left;">
以後は、これまでと同様に</div>
<div class="separator" style="clear: both; text-align: left;">
・分離した部分巡回路(全体の半分未満の都市数からなる)</div>
<div class="separator" style="clear: both; text-align: left;">
・分離した部分巡回路がない場合、1箇所でつながっている都市群</div>
<div class="separator" style="clear: both; text-align: left;">
という条件で制約を追加していきます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">部分巡回路がない場合(接続数3以上):</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
前述の手順を繰り返していると、以下のようなパターンもでてきます。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="718" data-original-width="1000" height="454" src="https://1.bp.blogspot.com/-zNi5StLQDlU/XS_gx40QNaI/AAAAAAAAN_o/AkVmoYjilxgGHJmzRRKphiiYWiZVnzwBgCLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-18%2B12.00.08.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
全体としてはつながっており、1箇所だけでつながっている部分もありません。次の条件としては、x(i, j)=0.5で構成される赤い部分巡回路で他の都市群に接続している部分が3箇所以上あるものを選び、他の都市群への接続数を2箇所以下に制約します。先ほどの方法同様、赤い部分巡回路に対して2箇所以上で接続しているx(i, j)=1.0の部分経路は赤い巡回路に足し合わせます。</div>
<div class="separator" style="clear: both; text-align: left;">
具体的には、赤い巡回路{2, 13, 15, 22, 28, 33, 40}に着目します。x(i, j)=1.0である{33, 40}と{2, 15, 21}は、赤い巡回路{2, 13, 15, 22, 28, 33, 40}に対して2箇所で接続しているため、足し合わせて{2, 13, 15, 21, 22, 28, 33, 40}を今回のターゲットとします。</div>
<div class="separator" style="clear: both; text-align: left;">
この都市群は{13}と{22}と{28}の3箇所において他の都市群とつながっているので、この接続数3を2以下に制約します。以下がこの部分のコード。</div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">A_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">({</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">e</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="n" style="margin: 0px; padding: 0px;">b_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
この制約で一旦解いてみると、以下のようになります。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="726" data-original-width="1008" height="460" src="https://1.bp.blogspot.com/-q-5nexEZRxk/XS_n8Jbtb-I/AAAAAAAAN_0/YtAGKA1kqyU_uXlFhy8WIuf9Yvk6_kI8wCLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-18%2B12.30.41.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
分離した部分巡回路ができあがりましたが、赤い経路は消えてx(i, j)=1.0の部分巡回路だけになりました。</div>
<div class="separator" style="clear: both; text-align: left;">
次に、最初の方法で右側の部分巡回路に二経路接続の制約を与えると、</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="726" data-original-width="1000" height="464" src="https://1.bp.blogspot.com/-ITdqSU1P1z0/XS_ooW81zxI/AAAAAAAAN_8/a-d8eSKIS-EpiJOsA2r0bUFyoXNA143GACLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-18%2B12.33.29.png" width="640" /></div>
<div class="separator" style="clear: both; text-align: left;">
部分巡回路がなくなってひとまとまりになります。これで最適解が得られました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: large;">制約を与える手順:</span></b></div>
<div class="separator" style="clear: both; text-align: left;">
今回は0.5の経路と1.0の経路(実際は0の経路もあるけれども表示されない)があるので、制約を与えるターゲットをどのように選ぶかが複雑でしたが、要約すれば以下のような感じになります。</div>
<div class="separator" style="clear: both; text-align: left;">
・ターゲットとなる部分巡回路もしくは足し合わせた都市群の数は全体都市数の半数未満とする</div>
<div class="separator" style="clear: both; text-align: left;">
・分離した部分巡回路あるいは都市群がある場合は、その都市群がターゲット</div>
<div class="separator" style="clear: both; text-align: left;">
・分離した部分巡回路がない場合は、0.5の部分巡回路とそれに付随する1.0の部分経路を足し合わせた都市群をターゲットとする</div>
<div class="separator" style="clear: both; text-align: left;">
・足し合わせた都市群が他の都市群と接続している箇所が、2未満の場合は2以上の制約をあたえる</div>
<div class="separator" style="clear: both; text-align: left;">
・足し合わせた都市群が他の都市群と接続している箇所が、3以上の場合は2以下の制約をあたえる</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
この条件分けで繰り返しループ処理させるコードが以下になります。</div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">st_elim</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST10</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ST05</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ST15</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">None</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST15</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">></span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST15</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="p" style="margin: 0px; padding: 0px;">()))</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST15</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">:</span><span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># and is_loop(ST15[0]):</span>
<span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST15</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="p" style="margin: 0px; padding: 0px;">()))</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Optimal'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST05</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">></span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">st05</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">ST05</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">st05f</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">st05</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">()))</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">st10</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">ST10</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">st10f</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">st10</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">()))</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">st05f</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st10f</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">st05f</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="n" style="margin: 0px; padding: 0px;">st10f</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">num</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">/</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">st05f</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|=</span> <span class="n" style="margin: 0px; padding: 0px;">st10f</span>
<span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">st05f</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'st:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">while</span> <span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">True</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">E10</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">e</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">enumerate</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">res</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">></span> <span class="mf" style="color: #666666; margin: 0px; padding: 0px;">0.99</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">E05</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">e</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">enumerate</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">res</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">></span> <span class="mf" style="color: #666666; margin: 0px; padding: 0px;">0.49</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><=</span> <span class="mf" style="color: #666666; margin: 0px; padding: 0px;">0.51</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">E15</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">E10</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">E05</span>
<span class="n" style="margin: 0px; padding: 0px;">ST10</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">subtour_list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">E10</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ST05</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">subtour_list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">E05</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ST15</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">subtour_list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">E15</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">st_elim</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST10</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ST05</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ST15</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)):</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Optimal'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">draw_plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">False</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">E10</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">E05</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">break</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">is</span> <span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">None</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'st_flat is None'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">break</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">cnt</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">E10</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">({</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">cnt</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">cnt</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">></span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">A_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">({</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">e</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="n" style="margin: 0px; padding: 0px;">b_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;">#print('cnt:', cnt)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">A_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">({</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">else</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">e</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="n" style="margin: 0px; padding: 0px;">b_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">res</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">linprog</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">c</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">A_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">A_ub</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b_ub</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">b_ub</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">A_eq</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">A_eq</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b_eq</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">b_eq</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">bounds</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">bounds</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">method</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s2" style="color: #ba2121; margin: 0px; padding: 0px;">"revised simplex"</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
<div class="separator" style="clear: both; text-align: left;">
最初のst_elim()というのが、ターゲットとなる都市群を探し出す関数です。そして続くwhileループ内でターゲットとなる都市群に条件(他都市との接続数)に応じて制約を追加していきます。今回の場合1ループで約10秒、48都市を解決するのに約2分かかりました。</div>
<div class="separator" style="clear: both; text-align: left;">
他のサンプルでは試していないので、まだ完璧ではないかもしれませんが(これから検証)、一応scipyを用いて試してみたという感じです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
関連:<a href="https://cnc-selfbuild.blogspot.com/p/tsp.html" target="_blank">TSP: Traveling Salesman Problem / 巡回セールスマン問題について</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
以下が全体のコード:</div>
<div class="separator" style="clear: both; text-align: left;">
<script src="https://gist.github.com/mirrornerror/a684b4d439edbd7117db66a56f2483e0.js"></script>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-24421854574691759362019-07-10T01:16:00.000+09:002020-01-11T18:37:10.447+09:00TSP LP: US48 cities / 巡回セールスマン問題 線形計画法<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
今回は<a href="https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/" target="_blank">TSPLIB</a>にある「att48.tsp」というアメリカ48都市のデータを用いて<a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-lazy-subtour-elimination.html" target="_blank">前回</a>の方法(LP:Lazy constraints)を試してみました。前回同様<a href="https://pythonhosted.org/PuLP/" target="_blank">Pulp</a>を使ってLPで解くことにします。TSPLIBには厳密解の巡回路データ「att48.opt.tour」も用意されているので結果を照らし合わせることができます。<a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-lazy-subtour-elimination.html" target="_blank">前回</a>、線形計画法によるTSPの解法がある程度理解できたのでアルゴリズムを整理し直してみました。<br />
<br />
<br />
<b><span style="font-size: large;">事前準備:</span></b><br />
まず、ダウンロードした「att48.tsp」をPandasで読み込みます。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">data</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">pd</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">read_csv</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'att48.tsp'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">header</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">5</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">df</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">data</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'NODE_COORD_SECTION'</span><span class="p" style="margin: 0px; padding: 0px;">]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">str</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">split</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">' '</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">expand</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">True</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">X</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">df</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">values</span><span class="p" style="margin: 0px; padding: 0px;">[:</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">astype</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'int32'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">Y</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">df</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">values</span><span class="p" style="margin: 0px; padding: 0px;">[:</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">astype</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'int32'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">XY</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">X</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">Y</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">*</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="n" style="margin: 0px; padding: 0px;">j</span>
<span class="n" style="margin: 0px; padding: 0px;">num</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">X</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
データは6行目から各都市の「番号 X座標 Y座標」となっており、主にX座標とY座標だけ抜き出します。最後の行には「EOF(End Of File)」があるので、その部分を含めないようにします。<br />
<br />
厳密解データ(解答)も読み込んでおきます。厳密解は巡回順の整数値が並んでいるだけです。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">T_opt</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">pd</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">read_table</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'att48.opt.tour'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">header</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">4</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">T_opt</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">T_opt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">values</span><span class="p" style="margin: 0px; padding: 0px;">[:</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">astype</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'int32'</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">draw_plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">T_opt</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
表示用draw_plot()関数を用意しておき厳密解を表示させます。<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="714" data-original-width="994" height="451" src="https://1.bp.blogspot.com/-J5SQD1coGHk/XSSYU9dDmPI/AAAAAAAAN98/PF7OUx7Ew7kA1Hi8Yqw9r0Rayon0OVTQwCLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-09%2B22.35.57.png" width="640" /></div>
実際このような巡回路となれば正解というわけです。48都市あるので各都市のインデックス番号を0〜47としておきます。TSPLIBでは1〜48の番号になっていますが、とりあえず今回は0〜47で計算することにします。<br />
<br />
<br />
<b><span style="font-size: large;">LPアルゴリズム:</span></b><br />
48都市あるので、2都市間経路の組み合わせは48*47/2=1128となります。この場合都市0から都市1への移動となる(0, 1)という組み合わせに対して、その反転した組み合わせ(1, 0)は同じものとみなします(順列ではなく組み合わせのほうが数が減るので)。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">LpProblem</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">name</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'TSP_LP'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">sense</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">LpMinimize</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">{(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">):</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">abs</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">XY</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="n" style="margin: 0px; padding: 0px;">XY</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span>
<span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">LpVariable</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">dicts</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'x'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">LpBinary</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">*</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">n</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">n</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span>
<span class="n" style="margin: 0px; padding: 0px;">result</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">prob</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">solve</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">LpStatus</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">result</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="n" style="margin: 0px; padding: 0px;">ED</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">varValue</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">draw_plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">False</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
前回同様Pulpを使って最小化する式を用意します。ここで注意すべきことは、i<jという大小関係になっていることと、変数xがバイナリLpBinaryになっているということです。変数x[(i, j)]はその組み合わせが経路として採用されれば1で不採用なら0となります。dist[(i, j)]*x[(i, j)]を積算しその値が最小値になるようにLPで解いていきます。<br />
ただし、最低限の制約として、<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">n</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">n</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span></pre>
があります。この制約の部分を<a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-lazy-subtour-elimination.html" target="_blank">前回</a>よりも簡潔に書き直してみました。巡回路になるためには各都市において必ず二つの経路が接続されていなければならないので、都市1であれば、(i, 1)もしくは(1, j)が二つ必要ということになります。以下のような感じです。<br />
(0, 1), (0, 2), (0, 3)...(0, 46), (0, 47) から二つ採用(都市0において)<br />
(0, 1), (1, 2), (1, 3)...(1, 46), (1, 47) から二つ採用(都市1において)<br />
(0, 2), (1, 2), (2, 3)...(2, 46), (2, 47) から二つ採用(都市2において)<br />
(0, 3), (1, 3), (2, 3)...(3, 46), (3, 47) から二つ採用(都市3において)<br />
...<br />
(0, 46), (1, 46), (2, 46)...(45, 46), (46, 47) から二つ採用(都市46において)<br />
(0, 47), (1, 47), (2, 47)...(45, 47), (46, 47) から二つ採用(都市47において)<br />
<br />
一旦この制約でsolve()し、varValue=1となる経路(採用された経路)を表示させます。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="714" data-original-width="996" height="454" src="https://1.bp.blogspot.com/-a0Bm1qvs5kc/XSShIbiyKRI/AAAAAAAAN-I/xyF_q_R9YBQBLAEz5YWlDfHkVScDolHZgCLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-09%2B23.13.38.png" width="640" /></div>
そうするとこのような複数の部分巡回路が出来上がります。この段階では各辺がバラバラなので部分巡回路ごとにグループ分けする関数を用意して仕分けします。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">subtour_list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="n" style="margin: 0px; padding: 0px;">E</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">E_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">E</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">[])</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">E_flat</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">while</span> <span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">True</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">SC</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">copy</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ii</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">jj</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ii</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">jj</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ii</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">jj</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">E_flat</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">ii</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">jj</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">())):</span>
<span class="n" style="margin: 0px; padding: 0px;">S</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">((</span><span class="n" style="margin: 0px; padding: 0px;">ii</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">jj</span><span class="p" style="margin: 0px; padding: 0px;">))</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">SC</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">E</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">break</span>
<span class="n" style="margin: 0px; padding: 0px;">EL</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">e</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">e</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">E</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">AS</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">np</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">argsort</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">EL</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ST</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">E</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">a</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">AS</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># output subtours</span>
<span class="n" style="margin: 0px; padding: 0px;">ST</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">subtour_list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">st</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">),</span> <span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
部分巡回路ごとにグループ分けすると、<br />
<pre style="background-color: white; border-radius: 0px; border: 0px; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;">4 [(6, 17), (6, 27), (17, 35), (27, 35)]
5 [(2, 21), (2, 33), (15, 21), (15, 40), (33, 40)]
7 [(5, 29), (5, 36), (18, 36), (29, 42), (16, 42), (18, 26), (16, 26)]
13 [(1, 28), (1, 41), (4, 28), (4, 47), (25, 41), (38, 47), (3, 25), (3, 34), (31, 38), (34, 44), (9, 44), (23, 31), (9, 23)]
19 [(0, 7), (0, 8), (7, 37), (8, 39), (14, 39), (30, 37), (30, 43), (43, 45), (11, 14), (32, 45), (10, 11), (10, 22), (13, 22), (13, 24), (19, 32), (19, 46), (20, 46), (12, 20), (12, 24)]</pre>
になります。一応、辺数の少ない順に並べ替えています。先頭の値は辺数。<br />
<br />
<br />
<b><span style="font-size: large;">Lasy constraints/部分巡回路除去:</span></b><br />
次にこれら部分巡回路のひとつをターゲットとしLazy constraintsを追加し部分巡回路除去を行います。今回の場合は辺数の一番少ない[(6, 17), (6, 27), (17, 35), (27, 35)]に制約を与えることにしました(前回は複数の部分巡回路に制約を与えていましたが)。<br />
部分巡回路は完結した閉路なので、最低でも二本の経路を外につなげるように仕向けます。それが以下の制約になります。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="p" style="margin: 0px; padding: 0px;">()))</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">({</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">solve</span><span class="p" style="margin: 0px; padding: 0px;">()</span></pre>
(i, j)の組み合わせのうち、iかjのどちらか一方がその部分巡回路に含まれて、他方が含まれていない組み合わせが二つ以上必要という条件にします。「if len({i, j} & st_flat) == 1」の部分が、(i, j)のどちらか一方が部分巡回路に含まれているかどうかという条件です。こうすることで、部分巡回路内にある最低でも二つの都市が他の部分巡回路の都市へつながろうとします。<br />
この条件を与えたあと一旦solve()して結果を見ます。部分巡回路に多少変化が見られるので、何度か繰り返すと部分巡回路がまとまって一つの大きな巡回路になります。while文で最終的にひとつの巡回路になるまで繰り返すコードが以下です。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">while</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">></span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="p" style="margin: 0px; padding: 0px;">()))</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">({</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">solve</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="n" style="margin: 0px; padding: 0px;">ED</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">varValue</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">ST</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">subtour_list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'ST[0]:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span></pre>
今回は15ループ(3秒ほど)で48都市を最適化できました。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="704" data-original-width="998" height="450" src="https://1.bp.blogspot.com/-PhNOtoL_aWU/XSSpNTgpSBI/AAAAAAAAN-U/lRgk-QNbuekXknY4TlH7xpdzta0mcf3WQCLcBGAs/s640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-07-09%2B23.48.06.png" width="640" /></div>
上記の状態だとまだバラバラの辺の集合なので、以下の処理で最終的な都市順路に並び替えます。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">T</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">while</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">T</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">T</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">T</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">T</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">elif</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">T</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">T</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]:</span>
<span class="n" style="margin: 0px; padding: 0px;">T</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">T</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">T</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]]</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Optimal Tour:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">T</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">draw_plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">T</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
この結果、<br />
<div class="output_area" style="-webkit-box-align: stretch; -webkit-box-orient: horizontal; align-items: stretch; break-inside: avoid; display: flex; flex-direction: row; margin: 0px; padding: 0px;">
<div class="output_subarea output_stream output_stdout output_text" style="-webkit-box-flex: 1; color: black; flex: 1 1 0%; line-height: 1.21429em; margin: 0px; padding: 0.4em 0.4em 0px; text-align: left;">
<pre style="background-color: transparent; border-radius: 0px; border: 0px; color: black; display: block; font-family: monospace; font-size: inherit; line-height: inherit; margin: 0px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;">Optimal Tour: [0, 7, 37, 30, 43, 17, 6, 27, 5, 36, 18, 26, 16, 42, 29, 35, 45, 32, 19, 46, 20, 31, 38, 47, 4, 41, 23, 9, 44, 34, 3, 25, 1, 28, 33, 40, 15, 21, 2, 22, 13, 24, 12, 10, 11, 14, 39, 8, 0]</pre>
</div>
</div>
<br />
という順路リストが得られます。逆順になっている場合もあるので必要に応じて反転させます。TSPLIBにあるデータは都市番号1から始まっているので、それぞれに+1すれば同じ値になります。<br />
<br />
<br />
<b><span style="font-size: large;">アニメーション:</span></b><br />
また変化をアニメーション表示するには以下(前半の設定は省略)。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">from</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">matplotlib</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">import</span> <span class="n" style="margin: 0px; padding: 0px;">animation</span>
<span class="kn" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">from</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">IPython.display</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">import</span> <span class="n" style="margin: 0px; padding: 0px;">HTML</span>
<span class="n" style="margin: 0px; padding: 0px;">fig</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">plt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">figure</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="n" style="margin: 0px; padding: 0px;">ims</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">while</span> <span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">True</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># lazy constraints</span>
<span class="n" style="margin: 0px; padding: 0px;">st_flat</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="p" style="margin: 0px; padding: 0px;">()))</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">({</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="n" style="margin: 0px; padding: 0px;">st_flat</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">solve</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="n" style="margin: 0px; padding: 0px;">img</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">draw_plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">False</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="n" style="margin: 0px; padding: 0px;">ANIM</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">True</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ims</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">img</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ED</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">varValue</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">ST</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">subtour_list</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">img</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">draw_plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">False</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="n" style="margin: 0px; padding: 0px;">ANIM</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">True</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ims</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">img</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">break</span>
<span class="n" style="margin: 0px; padding: 0px;">ani</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">animation</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">ArtistAnimation</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">fig</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ims</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">interval</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">800</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;">#ani.save("tsp_48_1.gif", writer = "imagemagick") # save as animation gif</span>
<span class="n" style="margin: 0px; padding: 0px;">plt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">close</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="n" style="margin: 0px; padding: 0px;">HTML</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ani</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">to_jshtml</span><span class="p" style="margin: 0px; padding: 0px;">())</span></pre>
</div>
<br />
以下が作成したアニメーション。赤い部分は制約を与える部分巡回路。<br />
<br /></div>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/
css/font-awesome.min.css" rel="stylesheet"></link>
<script language="javascript">
/* Define the Animation class */
function Animation(frames, img_id, slider_id, interval, loop_select_id){
this.img_id = img_id;
this.slider_id = slider_id;
this.loop_select_id = loop_select_id;
this.interval = interval;
this.current_frame = 0;
this.direction = 0;
this.timer = null;
this.frames = new Array(frames.length);
for (var i=0; i<frames.length; i++)
{
this.frames[i] = new Image();
this.frames[i].src = frames[i];
}
document.getElementById(this.slider_id).max = this.frames.length - 1;
this.set_frame(this.current_frame);
}
Animation.prototype.get_loop_state = function(){
var button_group = document[this.loop_select_id].state;
for (var i = 0; i < button_group.length; i++) {
var button = button_group[i];
if (button.checked) {
return button.value;
}
}
return undefined;
}
Animation.prototype.set_frame = function(frame){
this.current_frame = frame;
document.getElementById(this.img_id).src =
this.frames[this.current_frame].src;
document.getElementById(this.slider_id).value = this.current_frame;
}
Animation.prototype.next_frame = function()
{
this.set_frame(Math.min(this.frames.length - 1, this.current_frame + 1));
}
Animation.prototype.previous_frame = function()
{
this.set_frame(Math.max(0, this.current_frame - 1));
}
Animation.prototype.first_frame = function()
{
this.set_frame(0);
}
Animation.prototype.last_frame = function()
{
this.set_frame(this.frames.length - 1);
}
Animation.prototype.slower = function()
{
this.interval /= 0.7;
if(this.direction > 0){this.play_animation();}
else if(this.direction < 0){this.reverse_animation();}
}
Animation.prototype.faster = function()
{
this.interval *= 0.7;
if(this.direction > 0){this.play_animation();}
else if(this.direction < 0){this.reverse_animation();}
}
Animation.prototype.anim_step_forward = function()
{
this.current_frame += 1;
if(this.current_frame < this.frames.length){
this.set_frame(this.current_frame);
}else{
var loop_state = this.get_loop_state();
if(loop_state == "loop"){
this.first_frame();
}else if(loop_state == "reflect"){
this.last_frame();
this.reverse_animation();
}else{
this.pause_animation();
this.last_frame();
}
}
}
Animation.prototype.anim_step_reverse = function()
{
this.current_frame -= 1;
if(this.current_frame >= 0){
this.set_frame(this.current_frame);
}else{
var loop_state = this.get_loop_state();
if(loop_state == "loop"){
this.last_frame();
}else if(loop_state == "reflect"){
this.first_frame();
this.play_animation();
}else{
this.pause_animation();
this.first_frame();
}
}
}
Animation.prototype.pause_animation = function()
{
this.direction = 0;
if (this.timer){
clearInterval(this.timer);
this.timer = null;
}
}
Animation.prototype.play_animation = function()
{
this.pause_animation();
this.direction = 1;
var t = this;
if (!this.timer) this.timer = setInterval(function() {
t.anim_step_forward();
}, this.interval);
}
Animation.prototype.reverse_animation = function()
{
this.pause_animation();
this.direction = -1;
var t = this;
if (!this.timer) this.timer = setInterval(function() {
t.anim_step_reverse();
}, this.interval);
}
</script>
<br />
<div align="center" class="animation">
<img id="_anim_img025f5d3979fb4a16888d92feae7cc4e6" />
<br />
<input id="_anim_slider025f5d3979fb4a16888d92feae7cc4e6" max="1" min="0" name="points" onchange="anim025f5d3979fb4a16888d92feae7cc4e6.set_frame(parseInt(this.value));" step="1" style="width: 350px;" type="range" value="0" />
<br />
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.slower()"><i class="fa fa-minus"></i></button>
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.first_frame()"><i class="fa fa-fast-backward">
</i></button>
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.previous_frame()">
<i class="fa fa-step-backward"></i></button>
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.reverse_animation()">
<i class="fa fa-play fa-flip-horizontal"></i></button>
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.pause_animation()"><i class="fa fa-pause">
</i></button>
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.play_animation()"><i class="fa fa-play"></i>
</button>
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.next_frame()"><i class="fa fa-step-forward">
</i></button>
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.last_frame()"><i class="fa fa-fast-forward">
</i></button>
<button onclick="anim025f5d3979fb4a16888d92feae7cc4e6.faster()"><i class="fa fa-plus"></i></button>
<br />
<form action="#n" class="anim_control" name="_anim_loop_select025f5d3979fb4a16888d92feae7cc4e6">
<input name="state" type="radio" value="once" /> Once
<input checked="" name="state" type="radio" value="loop" /> Loop
<input name="state" type="radio" value="reflect" /> Reflect
</form>
</div>
<script language="javascript">
/* Instantiate the Animation class. */
/* The IDs given should match those used in the template above. */
(function() {
var img_id = "_anim_img025f5d3979fb4a16888d92feae7cc4e6";
var slider_id = "_anim_slider025f5d3979fb4a16888d92feae7cc4e6";
var loop_select_id = "_anim_loop_select025f5d3979fb4a16888d92feae7cc4e6";
var frames = new Array(0);
frames[0] = "data:image/png;base64,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\
3ukGuXZ1dZGZmcmsWbMICAjA3d2dtrY24GZQ7AlDQ01TUxNnz57lzJkzNDU14eXlxcyZM5k0adJt\
CxreedN2c3MjKyuLI0eOUFJSwuLFi2UBxIeg1Wol+PQTCUBCiPtSKBS2T+7t7e3odDpcXFxwcXGx\
c2UDy2q1smPHDiIjI4mMjASS8YGHAAAgAElEQVRg9OjRGI1GAgMDMRqNjB492s5V9h2r1UpZWRn5\
+fkYjUasVitjxoxhwYIFGAwGVCpVr+fdedNeunQp586d49ChQ3z00UckJycTFRU1UJchRK8kAAkh\
HkhjYyOZmZnU1dWRlpZm73Ls4uLFixQWFtLc3MzZs2fR6XQkJSWxe/duNm3ahI+Pj91em7q6OjZs\
2MDq1asZNWoUR48epaSkhO7ubh5//HFCQ0Mf+LFu3LjBuXPnyM/Pp6GhAXd3dxISEpg0adKPao1Q\
KBTExMQQEhLCF198we7duykpKWHBggVoNJqHfjxx+8+7sbGRvLw8FAoFGo2Gp556Sl7XByABSAjx\
QHx8fHjxxRdpaGhg8+bNjB071t4lDbjo6Giio6PvOv7UU0/ZoZrbZWdn21qfjEYj7e3trFq16oHP\
t1qtVFRUkJ+fz6VLl+jq6iIkJITZs2czduzYPpnar9VqefbZZ8nNzeXYsWOUl5eTkpJCcHDwIz+2\
s7n15x0VFcWECRMA+Oqrrzhz5gwJCQn2LM8hSAASQtyXxWKx3QA1Go3Tfbo0m82DeiBqZWUlnp6e\
tm7KCxcu4ObmxpYtW/D29mbhwoW4ubn1em5bWxvnz5/n9OnT1NXVodFoiI2NJTY2Fn9//z6vVaVS\
MXv2bEJDQ9mzZw8ff/wxM2bMYObMmffsUhO3u/Pnfevr1tnZiU6ns1dpDkUCkBDivmpqati/fz9K\
pZKuri6Sk5Npb29n+/bt1NbWUltbS3h4OHPv2MF6KMjKymL9+vW4uLjQ2dlJeno6ycnJ9i7rNtnZ\
2aSlpXHgwAHg5oBld3d3Vq1aRV5eHkePHmXBggW3nVNVVcXp06e5ePEiFouFoKAgFi5cSFRU1ICM\
7QoODmbNmjUcOnSI3NxcSktLWbJkyaAMmIPNnT9vgFOnTnH8+HHUarVtWQbxwyQACSHuS6/Xs2bN\
mruOP0wXiyMym82sX7+ewMBA4uPjqa2t5dNPP8XHx4eQkBD8/Pzw8PCwa42FhYXo9frb6nB3dyc8\
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\
+SEsLAw5OTlobm7G1NQUpqam0NzcjJycHK+tnyROnz6NuLg4nD9/3jNu5FwTExOYnp4GACwsLKCl\
pQVxcXE4ePAg6uvrf5rpn6z19fWw2+3w8fFBXl4e6urqsLS0hKGhIfT39yMzM9MrmaqqquBwODA8\
PIy6ujrY7XY8fPjQ0Jnm5uYwOzvr+bu5uRmJiYmG3nuhoaGIiIjAhw8fAACtra2Ij483dKa1amtr\
PR9/AcZ+n4iMjERnZyfm5+dB0vNaGflMbdqWfdtISK7eFoiJiaHVamVFRYW3l/NLx44dY2hoKH19\
fRkeHs7bt2/z8+fPtNvt3LNnD+12O51OJ8nVm0jnzp2j1WplYmIi37x543meO3fu0Gaz0Waz8e7d\
u96KQ5J8/fo1ATApKYkpKSlMSUlhY2OjoXO9e/eOqampTEpKYkJCAq9cuUKSHBgYYEZGBm02G4uK\
iri4uEiSXFhYYFFREW02GzMyMjgwMOB5roqKClqtVsbGxvLJkydeyfO9Fy9eeG6BGTnTwMAAk5OT\
mZyczPj4eM/5N/LeI8ne3l6mp6czKSmJ+fn5nJycNHwmcvVCQUBAAKenpz1jRs91+fJl7t27lwkJ\
CTxx4gQXFxcNfaY2S78ELSIiIqajj8BERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRU\
gERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSA\
RERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBE\
RETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERE\
RMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERE\
xHT+BnVQlU/Prj/1AAAAAElFTkSuQmCC\
"
frames[1] = "data:image/png;base64,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\
Euzt7W1uY8ueysaFhYUcO3YMX1/fh36tSqUiICDggfk0JpOJpqYmcxiqqamhtraWiooK8vLy7qny\
6+bm1uuQWk89mLv1DE8GBARgMBjIzs7mxo0bKJVKwsLCmDhxIsOGDRtwvT0/xd/fn9WrV3Py5EnO\
nz/PjRs3WLx48Y++99B7qYaGhgb27NnDz372sz4LPyaTiaNHj+Lk5NQvgcTe3h4PD48HagGJpyMB\
SAgbZjKZMBgMFBYWUlhYaF5p4urqSkhICP/85z9xcnJi3Lhx+Pj40NjYaJO7UavVamJiYsjLyyMv\
L4/p06c/1vkKhQJ3d3fc3d0fKJLX2dnZa69RXl6eeYsNuDOE4+XlZQ5E5eXlfPvtt/j4+Ji3nPDw\
8CAuLo5x48bds3GrNXJwcCA+Pp6RI0dy4MABUlJSmD17NpMmTeo10PVWquH27dt89dVXLFq0CG9v\
7z5rW15eHqWlpSQkJDy0vEBfc3Nzo7y8HKPRaFMfQJ4lCUBC2JiOjg5u3rxp7uVpbGwEICAggOnT\
p6PVagkICEChUODi4sIf/vAHwsLCiIqKYu7cuTb9yzc8PJxjx45RU1PDkCFD+uSa9vb2+Pr69tq7\
cfv27V6H0woLC+nu7iY2NhaTyURFRQU3b97kH//4R5+1a6DQarW8+eabHDx4kGPHjlFUVMTChQsf\
CHi9lWo4efIkDQ0N5v3qoqKinnoSdHt7OydOnMDf35+oqKinutajSktL4+zZswQEBJCYmGhzc/Ge\
FZkD9BNsZSxUDG4NDQ3mXp4bN27Q2dmJg4MDISEhjBw5Eq1W+9AeA6PRyJkzZ7h8+TLLly9Hq9X2\
c+sHjsbGRjZu3MisWbMeuxeoL12+fJmPPvoIPz8/DAYDlZWVuLq6snHjRsaMGWOxdj1LJpOJ7Oxs\
jh8/joODAy+88IJFqpGnp6dz5swZVq5c2S8VrI1GI4mJicTExKDRaNi3bx8mk+mZzsWzleee9AAJ\
MQh1d3ej1+vNocdgMAB36omMHz8erVZLcHDwI82JUKvVJCQkUFpaSnp6OiNHjrS6OSV9xd3dnaCg\
oCcaButLQUFB1NfXU1VVZT7W2dk5qIcnFQqFeU7Tvn372LVrF+PHj2fu3Lk0Nzf3S6mGuro6srKy\
iIyM7LftO3pKMRgMBjQaDQ4ODuafb1vuje0LEoCEGCRaW1spKiqisLCQ4uJiWlpaUCgUBAcHM3v2\
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\
+++Sbp7tTs48PDys/v5+VVdXez7X3NycysrKlJGRodraWuXl5WnVqlVKTU29Yb6Fs6empiotLU3R\
aPSOy7Rnzx699dZb+te/rr1NRaNRz2dKSUlRXV2dKioq9MEHH0jy9po6e/as0tPT9cwzz6i8vFzP\
PfecJicnPZ3przo6OtTc3CzJ23+r7Oxsvfzyy1q/fr2ysrKUlpamiooKz6+pxaAALSH7mw13KSkp\
SZjk9rtZtjs18+XLl7V161YdOHBAK1euvOl5Xsm1YsUK/fTTT4pEIjp16pR++eWXG875cz4vZPry\
yy+VkZFx3VbcW83nhUySdPLkSfX19amzs1MHDx7Ud999d9NzvZApHo+rr69Pzz//vPr7+3X33Xff\
8rONXsi00MzMjA4fPqxt27bd8jwv5IrFYvriiy8UDoc1OjqqyclJdXZ23nCe19bUYlCAlpDP59PI\
yEjidSQS0X333ZfEif65zMxMnT9/XpJ0/vx5ZWRkSLp5tjsx8+zsrLZu3aonn3xSW7ZskbQ8cknS\
qlWr9Mgjj6i3t1cTExOKx+OSrp9v4ezxeFwXL17U6tWr76hMJ0+e1OHDh+X3+7Vjxw59/fXX2rNn\
j6czSUr87oyMDD3++OM6deqUp+89n88nn8+n6upqSVJTU5P6+vo8nWmhzs5OPfjgg8rMzJTk7feJ\
48ePKycnR+np6brrrru0ZcsWdXd3e35NLQYFaAlVVlZqcHBQ4XBYMzMz6ujoUGNjY7LH+kcaGxsT\
OxlaW1u1efPmxPHPPvtMZqbe3l6lpaUpKytL9fX16urqUiwWUywWU1dXl+rr65M2v5np2WefVWFh\
oV566aXEcS/nGhsb08TEhCTp6tWrOn78uAoLC7Vx40YdOnTobzP9mfXQoUOqqalRSkqKGhsb1dHR\
oenpaYXDYQ0ODqqqqiopmVpaWhSJRDQ8PKyOjg7V1NTo888/93SmyclJXbp0KfF9V1eXioqKPH3v\
rV27VuvWrdOZM2ckSSdOnNCGDRs8nWmh9vb2xOMvydvvE+vXr1dvb6+uXLkiM0v8rby8phZtyT5t\
BDO7tlsgGAxabm6u7du3L9nj3NKOHTts7dq1lpqaatnZ2fbRRx/ZhQsXrKamxgKBgNXU1Fg0GjWz\
azuRXnjhBcvNzbWioiL74YcfEtf5+OOPLS8vz/Ly8uyTTz5JVhwzM/v+++9NkhUXF1tpaamVlpba\
kSNHPJ3r559/trKyMisuLrZQKGRvvPGGmZkNDQ1ZZWWl5eXlWVNTk01NTZmZ2dWrV62pqcny8vKs\
srLShoaGEtfat2+f5ebmWn5+vn311VdJyfNX33zzTWIXmJczDQ0NWUlJiZWUlNiGDRsS69/L956Z\
WX9/v1VUVFhxcbFt3rzZxsfHPZ/J7NqGgtWrV9vExETimNdzvfbaa1ZQUGChUMieeuopm5qa8vSa\
Wiz+EzQAAHAOj8AAAIBzKEAAAMA5FCAAAOAcChAAAHAOBQgAADiHAgQAAJxDAQIAAM6hAAEAAOdQ\
gAAAgHMoQAAAwDkUIAAA4BwKEAAAcA4FCAAAOIcCBAAAnEMBAgAAzqEAAQAA51CAAACAcyhAAADA\
ORQgAADgHAoQAABwDgUIAAA4hwIEAACcQwECAADOoQABAADnUIAAAIBzKEAAAMA5FCAAAOAcChAA\
AHAOBQgAADiHAgQAAJxDAQIAAM6hAAEAAOdQgAAAgHMoQAAAwDkUIAAA4BwKEAAAcA4FCAAAOIcC\
BAAAnPNvsqHQ0YkJsb8AAAAASUVORK5CYII=\
"
frames[2] = "data:image/png;base64,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\
PgwODmJ0dBQtLS3fzTPamZoKFaBpZLPZMDAwkHgcDAaxYMGCJK7o92VkZGBoaAgAMDQ0BIvFAuDn\
2f7EzNFoFNXV1diyZQs2btwI4N+RCwDmzJmDVatWwe/3IxKJIBaLAfh6fZPXHovF8O7dO8ydO/eP\
ytTa2opr167BbrejpqYG9+7dw969ew2dCUDib1ssFmzYsAGPHz829N6z2Wyw2WxYsWIFAMDr9aKz\
s9PQmSZraWnB8uXLkZGRAcDY7xN37txBdnY25s2bh5kzZ2Ljxo1oa2sz/JmaChWgaVRaWoqenh70\
9fVhYmICzc3NqKysTPayfktlZWXiJsPFixdRVVWVGL906RJIwu/3Iy0tDVarFWvXroXP50M4HEY4\
HIbP58PatWuTtn6S2LFjB/Ly8rBv377EuJFzvXnzBpFIBADw6dMn3LlzB3l5eVi9ejWuXLnyw0z/\
ZL1y5Qo8Hg9SUlJQWVmJ5uZmjI+Po6+vDz09PSgrK0tKpoaGBgSDQfT396O5uRkejweXL182dKbR\
0VGMjIwkfvf5fCgsLDT03ps/fz6ysrLw4sULAMDdu3eRn59v6EyTNTU1JT7+Aoz9PrFw4UL4/X58\
/PgRJBOvlZHP1JRN27eNhOSX2wI5OTl0OBw8cuRIspfzSzU1NZw/fz5TU1OZmZnJs2fP8u3bt/R4\
PFy8eDE9Hg9DoRDJLzeR9uzZQ4fDwcLCQj558iTxPOfOnaPT6aTT6eT58+eTFYck+ejRIwKgy+Xi\
smXLuGzZMt64ccPQuZ49e0a3202Xy8WCggIePnyYJBkIBFhaWkqn00mv18uxsTGS5KdPn+j1eul0\
OllaWspAIJB4riNHjtDhcDA3N5c3b95MSp5v3b9/P3ELzMiZAoEAi4qKWFRUxPz8/MT5N/LeI8mu\
ri6WlJTQ5XKxqqqKw8PDhs9EfrlQMHfuXEYikcSY0XMdOnSIS5YsYUFBAbdu3cqxsTFDn6mp0n+C\
FhEREdPRR2AiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipA\
IiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAi\
IiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIi\
ImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIi\
YjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjp/AzfNgZLcN+W7AAAA\
AElFTkSuQmCC\
"
frames[3] = "data:image/png;base64,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\
s7Pzh3lGO1MzoQI0i2w2G4aGhhKPA4EAFi9enMQV/b7MzEy8evUKAPDq1StYLBYA02f7EzNHo1Fs\
3rwZW7duxaZNmwD8O3IBwIIFC7BmzRp4vV6MjY0hFosB+HZ9U9cei8Xw/v17LFy48I/K9ODBA1y7\
dg05OTmor6/H7du3sX//fkNnApD42xaLBRs3bsTDhw8NvfdsNhtsNhsqKysBALW1tejr6zN0pqk6\
OzuxatUqZGZmAjD2+0RXVxdyc3ORkZGBuXPnYtOmTejp6TH8mZoJFaBZVF5ejhcvXsDv92NychJt\
bW1wu93JXtZvcbvdiZsMly5dQk1NTWL88uXLIAmv14u0tDRYrVasX78eHo8HoVAIoVAIHo8H69ev\
T9r6SWLnzp3Iz8/HgQMHEuNGzvX27VuMjY0BAD5//oyuri7k5+dj7dq1aG9v/2mmf7K2t7fD5XIh\
JSUFbrcbbW1tmJiYgN/vx4sXL1BRUZGUTE1NTQgEAhgcHERbWxtcLheuXLli6EzhcBjj4+OJ3z0e\
DwoLCw299xYtWoSsrCw8f/4cANDd3Y2VK1caOtNUra2tiY+/AGO/T2RnZ8Pr9eLTp08gmXitjHym\
ZmzWvm0kJL/eFli+fDntdjsbGxuTvZxfqq+v56JFi5iamsolS5bw3LlzfPfuHV0uF5ctW0aXy8Vg\
MEjy602kffv20W63s7CwkI8ePUo8z/nz5+lwOOhwOHjhwoVkxSFJ3r9/nwBYVFTE4uJiFhcXs6Oj\
w9C5nj59ypKSEhYVFbGgoIBHjx4lSfp8PpaXl9PhcLC2tpaRSIQk+fnzZ9bW1tLhcLC8vJw+ny/x\
XI2NjbTb7czLy+ONGzeSkud7d+7cSdwCM3Imn89Hp9NJp9PJlStXJs6/kfceSfb397OsrIxFRUWs\
qanh6Oio4TORXy8ULFy4kGNjY4kxo+c6cuQIV6xYwYKCAm7bto2RSMTQZ2qm9J+gRURExHT0EZiI\
iIiYjgqQiIiImI4KkIiIiJiOCpCIiIiYjgqQiIiImI4KkIiIiJiOCpCIiIiYjgqQiIiImI4KkIiI\
iJiOCpCIiIiYjgqQiIiImI4KkIiIiJiOCpCIiIiYjgqQiIiImI4KkIiIiJiOCpCIiIiYjgqQiIiI\
mI4KkIiIiJiOCpCIiIiYjgqQiIiImI4KkIiIiJiOCpCIiIiYjgqQiIiImI4KkIiIiJiOCpCIiIiY\
jgqQiIiImI4KkIiIiJiOCpCIiIiYjgqQiIiImI4KkIiIiJiOCpCIiIiYjgqQiIiImI4KkIiIiJiO\
CpCIiIiYjgqQiIiImI4KkIiIiJiOCpCIiIiYjgqQiIiImM7fcucJqKpnZ78AAAAASUVORK5CYII=\
"
frames[4] = "data:image/png;base64,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\
w9u3b3+Y88/6jJDp/v37iIiImHUV91frM0ImAGhqakJ7ezvq6+tx4cIFPH/+fM65Rsjk8/nQ3t6O\
gwcPoqOjA0uWLPnldxuNkGmmiYkJ3Lt3DyUlJb+cZ4Rcw8PDuHv3LpxOJwYGBuDxeFBfX//DPKOd\
qflQAVpAFosFfX19gcculwsrV64M4op+X2RkJN6/fw8AeP/+PSIiIgDMne1PzDw5OYmioiLs3r0b\
O3bsAPDvyAUAy5Ytw4YNG9Da2oqRkRH4fD4As9c3c+0+nw+jo6MIDw//ozI1NTXh3r17iI2NRWlp\
KZ48eYLKykpDZwIQ+NsRERHYvn072traDL33LBYLLBYL8vLyAADFxcVob283dKaZ6uvrsW7dOkRG\
RgIw9vvEo0ePEBcXhxUrVmDx4sXYsWMHmpubDX+m5kMFaAHl5OSgu7sbTqcTExMTqK2tRWFhYbCX\
9VsKCwsDNxlu3LiBbdu2BcZv3rwJkmhtbUVYWBiio6OxefNmNDY2Ynh4GMPDw2hsbMTmzZuDtn6S\
2L9/P5KTk3H48OHAuJFzDQ4OYmRkBADw7ds3PHr0CMnJydi4cSPu3Lnz00z/ZL1z5w4cDgdCQkJQ\
WFiI2tpajI+Pw+l0oru7G7m5uUHJVF1dDZfLhd7eXtTW1sLhcODWrVuGzuTxeDA2Nhb4vbGxEamp\
qYbee1FRUVi1ahW6uroAAI8fP0ZKSoqhM81UU1MT+PgLMPb7xOrVq9Ha2oqvX7+CZOC1MvKZmrcF\
+7aRkJy+LZCQkECr1cqqqqpgL+eXSktLGRUVxdDQUMbExPDKlSv89OkTHQ4H4+Pj6XA46Ha7SU7f\
RDp06BCtVitTU1P58uXLwPNcvXqVNpuNNpuN165dC1YckuSLFy8IgGlpaczIyGBGRgbr6uoMnevN\
mzfMzMxkWloa7XY7T548SZLs6elhTk4ObTYbi4uL6fV6SZLfvn1jcXExbTYbc3Jy2NPTE3iuqqoq\
Wq1WJiYm8sGDB0HJ872nT58GboEZOVNPTw/T09OZnp7OlJSUwPk38t4jyY6ODmZnZzMtLY3btm3j\
0NCQ4TOR0xcKwsPDOTIyEhgzeq7jx48zKSmJdrude/bsodfrNfSZmi/9J2gRERExHX0EJiIiIqaj\
AiQiIiKmowIkIiIipqMCJCIiIqajAiQiIiKmowIkIiIipqMCJCIiIqajAiQiIiKmowIkIiIipqMC\
JCIiIqajAiQiIiKmowIkIiIipqMCJCIiIqajAiQiIiKmowIkIiIipqMCJCIiIqajAiQiIiKmowIk\
IiIipqMCJCIiIqajAiQiIiKmowIkIiIipqMCJCIiIqajAiQiIiKmowIkIiIipqMCJCIiIqajAiQi\
IiKmowIkIiIipqMCJCIiIqajAiQiIiKmowIkIiIipqMCJCIiIqajAiQiIiKmowIkIiIipqMCJCIi\
IqajAiQiIiKmowIkIiIipqMCJCIiIqajAiQiIiKm8zem8NVtK7Vf7QAAAABJRU5ErkJggg==\
"
frames[5] = "data:image/png;base64,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\
+Fxfv35FdnY2LBYLioqKYLfbMWPGDMTGxn63vrFrj42NRVxcHPx+/x+XadeuXTh69Cj++mv0Zcrv\
9xs+U0xMDIqLi5Gbm4szZ84AMPaZevnyJWbPno2NGzciJycHW7ZswcDAgKEzfauurg6VlZUAjP23\
mjt3Lvbs2YP58+cjMTERcXFxyM3NNfyZmggVoEnEH1y4i4mJicJK/v9+lu1Pzfz582esXr0aJ06c\
wPTp0386zyi5pkyZgidPnsDn86G1tRXPnj37bs4/6zNCpuvXr8NisYy7ivur9RkhEwA0Njaivb0d\
9fX1OHXqFB4+fPjTuUbIFAqF0N7eju3bt6OjowPTpk375WcbjZBprOHhYVy7dg1r1qz55Twj5AoE\
Arh69Sq8Xi96e3sxMDCA+vr67+YZ7UxNhArQJLJarejp6Yk89vl8mDNnThRX9Pvi4+Px+vVrAMDr\
169hsVgA/Dzbn5h5ZGQEq1evxrp167Bq1SoA/45cADBjxgwsWbIELS0t6O/vRygUAjB+fWPXHgqF\
8OHDB8ycOfOPytTY2Ihr164hKSkJFRUVuHfvHnbt2mXoTAAiv9tisWDlypVobW019N6zWq2wWq0o\
KCgAAJSVlaG9vd3Qmcaqr6/HokWLEB8fD8DYrxN37txBcnIyZs+ejalTp2LVqlVoamoy/JmaCBWg\
SZSXl4cXL17A6/VieHgYdXV1KC0tjfayfktpaWnkJkN1dTVWrFgRGb906RJIoqWlBXFxcUhMTMTS\
pUvR0NCAQCCAQCCAhoYGLF26NGrrJ4nNmzcjLS0Nu3fvjowbOde7d+/Q398PAPjy5Qvu3LmDtLQ0\
FBYW4sqVKz/M9E/WK1euwOPxICYmBqWlpairq8PQ0BC8Xi9evHiB/Pz8qGSqqqqCz+dDd3c36urq\
4PF4cPnyZUNnGhgYwKdPnyLfNzQ0ICMjw9B7LyEhAfPmzcPz588BAHfv3kV6erqhM41VW1sbefsL\
MPbrxPz589HS0oLBwUGQjPytjHymJmzSPm0kJEdvCzidTtpsNh46dCjay/mliooKJiQkMDY2lnPn\
zuW5c+f4/v17ejweOhwOejwe+v1+kqM3kXbs2EGbzcaMjAw+fvw48jznz5+n3W6n3W7nhQsXohWH\
JPno0SMCYGZmJrOyspiVlcUbN24YOtfTp0+ZnZ3NzMxMulwuHjx4kCTZ1dXFvLw82u12lpWVMRgM\
kiS/fPnCsrIy2u125uXlsaurK/Jchw4dos1mY0pKCm/evBmVPN+6f/9+5BaYkTN1dXXR7XbT7XYz\
PT09cv6NvPdIsqOjg7m5uczMzOSKFSvY19dn+Ezk6IWCmTNnsr+/PzJm9Fz79+9namoqXS4X169f\
z2AwaOgzNVH6T9AiIiJiOnoLTERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERE\
TEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERM\
RwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExH\
BUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcF\
SERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERM52//\
shWPRB53JwAAAABJRU5ErkJggg==\
"
frames[6] = "data:image/png;base64,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\
d3d3azfHKkaMGGFZDTZ37tweqx4/vF3IUNPW1tZjNWGz2czNmzfJy8vj5s2bjBgxgnnz5jF16lSc\
nZ2f+nU9PT1ZsmSJJQidPXuW/Px8YmNjiY+P73E5d0/vb7fh9jdUrVbzox/9iLKyMhobG+WDXj+Q\
AGQFMou/f5hMJg4cOIDZbGb58uV4eXlZtmEQg+vWrVtcvXqVWbNm2W346dY9DHbq1CkiIyNt7nfc\
1dX1gWrCLi4ulJaWkpeXR0VFBW5ubixYsIApU6bg5OTU76+vVqtZtmwZs2bN4uTJk5w+fZrz588z\
bdo0pk+fjqurq93+DfX09MTJyYmNGzcSFBRkV9c+ECQADTJ7qIg6WE6dOkVFRQXJyclPtZRWPL2c\
nBxcXV2ZMWOGtZtidRUVFZhMJrZt28aVK1ds7nd8zJgxFBYWMmHCBE6cOEFrayuffPKJZc5O9xyU\
gebt7c3y5cstQejUqVN8++23qNVqtm3bhkKhsKu/oWazmeLiYkJDQ5k0aZK1mzMsyAzRQdS9XHvm\
zJkEBATQ3t7Oxo0bMRgM1m6azamsrOTkyZNERUUxceJEazfHrpWWlnLjxg1mz55t9/ukGQwG3n//\
fWprawkKCrKJ3/F9+/aRl5dHfn4+O3fuRKvV0tLSwq9+9StOnTqFk5MTSUlJbNiwgWnTpg1K+Lmf\
j48PqamprFu3Do1GQ3V1NUuWLCE4ONgm3t/+UldXR2trK+PGjbN2U4YN6QEaRN3LtX19ffHz88PH\
x4fi4mKZxd9H7e3t7N+/Hw8PD5577jlrN8eumc1mcnJy8PT0ZMqUKdZujtXp9Xo8PT3x9PREpVLh\
7+9PS0vLkP4d755HYzabuX79OhkZGdTU1KBWq5k5cybR0dFDYtNoPz8/oqOjOXjwIFFRUTQ1NQHg\
6Og4pN/f/lJSUgIgAagfSQAaRBqNhra2Njo7O2lpaWH06NFoNBqKi4sZM2aM7D/VS0eOHKG5uZkX\
X3zR7nscrO3KlSvU1NSwfPnyIVHTZiiYNWsWZrOZEydOcOvWrSFbC6l7Ho2/vz81NTXk5eVRV1eH\
Wq1m6dKlREVFDYngcz+NRoPJZALu9YiA/ayEKi4uxtfX1+7n2PUn+Ys1iNRqNenp6Xz99dfcvn2b\
b775hpdffplr165RVFREfHw88fHx/bKiYri6cuUKly9f5plnniEoKMjazbFrRqOR3NxcRo8eTWRk\
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\
trYWT548QWNjo6EzAQj+79jYWBw6dAgDAwOGXntWqxVWqxXFxcUAgOrqagwODho601qdnZ3Yu3cv\
4uLiABj7PtHd3Y1du3YhJiYGW7duRWVlJfr6+gy/pzZCBWgTFRYWYmRkBE6nEysrK3A4HCgvLw/1\
tH5LeXl58CTD7du3UVFREbx+584dkER/fz8iIiJgsVhQWlqKrq4ueDweeDwedHV1obS0NGTzJ4kT\
J04gPT0dZ86cCV43cq6ZmRnMzs4CABYXF9Hd3Y309HQcOHAA7e3tP8z0T9b29nbY7XaEhYWhvLwc\
DocDy8vLcDqdGBkZQVFRUUgyXbhwAS6XC+Pj43A4HLDb7bh7966hM3m9XszPzwf/7urqQlZWlqHX\
Xnx8PBITE/Hu3TsAQE9PDzIyMgydaa22trbg4y/A2PeJpKQk9Pf3Y2FhASSDn5WR99SGbdq3jYTk\
6mmB1NRUpqSksKmpKdTT+aXa2lrGx8czPDycCQkJvH79Oj9+/Ei73c7du3fTbrfT7XaTXD2JdPr0\
aaakpDArK4svX74Mvs+NGzdos9los9l48+bNUMUhST5//pwAmJ2dzdzcXObm5vLBgweGzvXmzRvm\
5eUxOzubmZmZPH/+PElydHSUhYWFtNlsrK6u5tLSEklycXGR1dXVtNlsLCws5OjoaPC9mpqamJKS\
wrS0ND58+DAkeb719OnT4CkwI2caHR1lTk4Oc3JymJGREdz/Rl57JDk0NMSCggJmZ2ezoqKCnz59\
MnwmcvVAQVRUFGdnZ4PXjJ7r3Llz3LNnDzMzM3n06FEuLS0Zek9tlH4JWkRERExHj8BERETEdFSA\
RERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBE\
RETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERE\
RMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERE\
xHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETEdFSARERExHRUgERERMR0VIBERETE\
dFSARERExHRUgERERMR0VIBERETEdFSARERExHT+BvgJHaL0THqIAAAAAElFTkSuQmCC\
"
frames[7] = "data:image/png;base64,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\
7FF0pu7ubnR1dbl/X1FRgcTEREXve1OnTkVYWBguX74MADhy5AgSEhIUnel+xcXF7o+/AGV/nwgP\
D0dVVRVu374NEXH/Wyn5mBqyYTvbiETkztUCMTExEhUVJRs3bvT0OE+0fPlymTp1qmg0GgkNDZUv\
v/xS2traJCsrSwwGg2RlZUl7e7uI3LkS6a233pKoqChJTEyU06dPu7fz1VdfSXR0tERHR8uuXbs8\
FUdERE6cOCEAJCkpSZKTkyU5OVkOHDig6Fznz5+XlJQUSUpKEqPRKBs2bBARkYaGBklPT5fo6GjJ\
z88Xh8MhIiI9PT2Sn58v0dHRkp6eLg0NDe5tbdy4UaKioiQ2Nla+++47j+R50A8//OC+CkzJmRoa\
GsRkMonJZJKEhAT38a/kfU9E5OzZs5KWliZJSUmSl5cnNptN8ZlE7lxQEBQUJB0dHe5lSs9VUFAg\
cXFxYjQa5bXXXhOHw6HoY2qoeCdoIiIiUh1+BEZERESqwwJEREREqsMCRERERKrDAkRERESqwwJE\
REREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRE\
RESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERE\
RKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJERERE\
qsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESq\
wwJEREREqvN/IIX2k+76uWgAAAAASUVORK5CYII=\
"
frames[8] = "data:image/png;base64,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\
1xgaGjK3hzviB6ovv/ySsbExvv76a/Lz8zl69KjUIc0Z04GvycnJ4jXSCkQCZGV5eXkUFhaybds2\
ZDIZMTExUodkFR999BGlpaV4eXmxZcsWqcMR/r/+/n7eeecdbt68yblz59izZw979uzhvffec+g3\
msfh6enJSy+9RHR0NEVFRZw9exaj0fiNP6fX681/dnd3t3hbvekDVWNjIz4+PkRHRzvclolOp+Pj\
jz8GZpJRHx8fdu3a5bArQc524r3URA2QBAICAlixYgUXL17k+vXrDj8DZ3x8HL1eT2hoKFu3bhVd\
Xzbk1KlT5iMSli1bZq7L+vTTT0lJSZEyNJvi5ubGCy+8wFdffcXp06cZHR2957DUw4cP09bWhl6v\
p6Ojg4SEBC5fvoxMJkOhUJCfn2/xuPLy8sjMzOSzzz4jPz/f4bZMOjo6MBqNDA0NERgYyNq1axkd\
HeXUqVOsW7fO4TreBgcHkclkDnddtkokQBIxrf5otVqMRqPdj6m/H51OR3t7O/X19dy6dYtXXnlF\
JD82pL29HS8vr3t+90ZHRxkcHPzGol9no1Ao+Pa3v42Xlxfl5eWMjo6Sn59vnuy+adOme37GGid2\
BwUFsWLFCo4dO0ZbW5tD/bup1Wq6urq4ceMGCoWCyMhINBoN9fX1NDQ0EBMTQ3p6OnFxcXcVnc+l\
I0eOmBOzpUuXWrTrTqfT4efnZ7VrcXZiC0xCGo2GsbExOjs7pQ7F4oqKisjPz+dXv/oV169fJyws\
zOFqE+zdqVOnWLly5T2319bWOvyq5GzJZDLWrl3LunXraGho4C9/+Qvd3d3U1dVJui2TmpqKu7s7\
5eXlksUwF+6sm3R3d6erq4unn36af/zHf2Tp0qX09PRw8OBB3n//fUpKSujp6ZnTeHp6eujt7eUH\
P/gBr776KidOnLDo/Q8ODjrNcFxbYBcJUGtrK2vXriU5OZmUlBTee+89YKYzIDc3l/j4eHJzc80v\
QEajkTfffJO4uDjS09O5cOGC+b727t1LfHw88fHx7N27V5LrMTHV/2i1WknjsDTTvCN/f39SU1Pp\
6+tj9+7dDrtvb48aGxtRq9X3PSOqpqaG9PR0CaKyH1lZWWzcuJHW1lbee+89/vVf/1XSAl03Nzcy\
MjJoamoyd0w5ClPd5AcffGDujAoMDCQnJ4cf/vCHfPe732X+/PlcuHCBjz/+mL1793LhwgXGx8ct\
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\
zgQg9Lfj4+Oxc+dOtLe3G3rvWa1WWK1WbNq0CQBQUVGBzs5OQ2darLm5GRs3bkRCQgIAY79PPH78\
GKmpqVi9ejVWrlyJXbt2obW11fBnailUgJZRUVERent70d/fj/n5eTQ2NsLpdIZ7Wb/F6XSGbjLc\
vHkTO3bsCI3funULJOF2uxEdHQ2LxYLS0lK4XC6MjY1hbGwMLpcLpaWlYVs/SRw8eBAZGRk4ceJE\
aNzIuT58+IDx8XEAwMzMDB4/foyMjAxs3boVTU1NP8z0T9ampiY4HA5ERETA6XSisbERc3Nz6O/v\
R29vL4qLi8OSqba2Fl6vFwMDA2hsbITD4cDt27cNnWlqagqTk5Oh310uF7Kzsw299xITE5GcnIye\
nh4AwJMnT5CZmWnoTIs1NDSEPv4CjP0+sXbtWrjdbkxPT4Nk6LUy8plasmX7tpGQXLgtkJaWRpvN\
xurq6nAv55f27NnDxMRERkZGMikpiVevXuXHjx/pcDi4fv16OhwO+nw+kgs3kY4dO0abzcbs7Gy+\
evUq9DzXrl2j3W6n3W7n9evXwxWHJPny5UsCYE5ODvPy8piXl8f79+8bOtebN2+Yn5/PnJwcZmVl\
8ezZsyRJj8fDoqIi2u12VlRUcHZ2liQ5MzPDiooK2u12FhUV0ePxhJ6rurqaNpuN6enpfPDgQVjy\
fOvZs2ehW2BGzuTxeJibm8vc3FxmZmaGzr+R9x5JdnV1sbCwkDk5OdyxYwdHR0cNn4lcuFAQGxvL\
8fHx0JjRc505c4YbNmxgVlYW9+3bx9nZWUOfqaXSf4IWERER09FHYCIiImI6KkAiIiJiOipAIiIi\
YjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJi\
OipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6\
KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoq\
QCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipA\
IiIiYjoqQCIiImI6KkAiIiJiOn8DChS8lHRPnJUAAAAASUVORK5CYII=\
"
frames[9] = "data:image/png;base64,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\
nZ2GzrRYfX09tm7disjISADGfp9oampCXFwcwsPDsXr1ahQVFaGlpcXwZ2o5VIBWUHZ2Nnp7e+F0\
OjE7O4va2loUFBQEelm/paCgwH+T4fbt2ygsLPSP37lzByTR1taG0NBQWCwW7Nq1C42NjRgfH8f4\
+DgaGxuxa9eugK2fJI4cOYKkpCScPHnSP27kXKOjo5iYmAAAfP36FU1NTUhKSsKOHTtw//79H2b6\
J+v9+/fhcDgQFBSEgoIC1NbWYmZmBk6nE729vcjJyQlIpurqarhcLgwMDKC2thYOhwN37941dKap\
qSlMTk76f29sbERqaqqh915UVBRiYmLQ09MDAGhubkZycrKhMy1WU1Pj//gLMPb7xIYNG9DW1obp\
6WmQ9L9WRj5Ty7Zi3zYSkgu3BRISEmiz2VhZWRno5fxSaWkpo6KiGBwczOjoaF6/fp0fP36kw+Fg\
fHw8HQ4H3W43yYWbSCdOnKDNZmNqaipfv37tf54bN27QbrfTbrfz5s2bgYpDknz58iUBMC0tjVu2\
bOGWLVtYV1dn6Fxv375lRkYG09LSmJKSwnPnzpEk+/r6mJ2dTbvdzuLiYno8HpLk169fWVxcTLvd\
zuzsbPb19fmfq7KykjabjYmJiXz8+HFA8nzr2bNn/ltgRs7U19fH9PR0pqenMzk52X/+jbz3SLKr\
q4tZWVlMS0tjYWEhx8bGDJ+JXLhQsHbtWk5MTPjHjJ7r7Nmz3LRpE1NSUnjw4EF6PB5Dn6nl0n+C\
FhEREdPRR2AiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipA\
IiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAi\
IiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIi\
ImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIi\
YjoqQCIiImI6KkAiIiJiOipAIiIiYjoqQCIiImI6KkAiIiJiOipAIiIiYjp/AzuAtlypZYy4AAAA\
AElFTkSuQmCC\
"
frames[10] = "data:image/png;base64,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\
Pc5dLV++XGbMmCEeHh6i0Whk79690tHRIampqWIwGCQ1NVU6OztF5PqVSK+++qro9XqJjY2V06dP\
O7fz0UcfSXh4uISHh8u+fftcFUdERE6ePCkAJC4uThISEiQhIUEOHTqk6Fznzp2TxMREiYuLE6PR\
KO+9956IiDQ2NorJZJLw8HDJysoSu90uIiIDAwOSlZUl4eHhYjKZpLGx0bmtzZs3i16vl8jISPny\
yy9dkudWx48fd14FpuRMjY2NEh8fL/Hx8RITE+M8/pW874mInDlzRpKSkiQuLk6WLl0qVqtV8ZlE\
rl9Q4OfnJ11dXc5lSs+1ceNGiYqKEqPRKCtXrhS73a7oY+pB8U7QREREpDo8BUZERESqwwJERERE\
qsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESq\
wwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrD\
AkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMC\
RERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJEREREqsMCRERERKrDAkRERESqwwJE\
REREqsMCRERERKrDAkRERESqwwJEREREqvO/J79bOasQOC4AAAAASUVORK5CYII=\
"
frames[11] = "data:image/png;base64,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\
GYQX9dz/97NyDofx9zDnf3jgzH/MvJ0rnU5bMBi0TCZjc3Nztm/fPrt7967n19RS8AhsGU1OTqqq\
qqrwOhgManJycgUn+nNv3rxRIBCQJAUCAb19+1bS4tlWc+aJiQmNjo6qtbXV87m+ffumpqYm+f1+\
7dmzR+FwWCUlJfL5fD/Nt3B2n8+n4uJiZTKZVZepu7tb586d019/fb9NZTIZz2cqKirS3r171dzc\
rIsXL0ry9pp6+fKlysrKdOTIEW3fvl3Hjh1TPp/3dKYfJRIJHTx4UJK3P6vKykqdOnVK1dXVCgQC\
Ki4uVnNzs+fX1FJQgJaR/WLDXVFR0QpM8t9bLNtqzfz582d1dnbq/PnzWr9+/aLneSXXmjVr9PTp\
U6XTaY2MjOj58+c/nfPPfF7IdOvWLfn9/n9txf3dfF7IJElDQ0NKJpPq7+/XhQsX9PDhw0XP9UKm\
+fl5JZNJHT9+XKOjo1q3bt1vv9vohUwLzc7Oqq+vTwcOHPjteV7Ilc1mdfPmTaVSKb1+/Vr5fF79\
/f0/nee1NbUUFKBlFAwG9erVq8LrdDqtDRs2rOBEf668vFxTU1OSpKmpKfn9fkmLZ1uNmefm5tTZ\
2alDhw6po6ND0v8jlySVlJRo165dGh4eVi6X0/z8vKR/z7dw9vn5eX38+FGlpaWrKtPQ0JD6+vq0\
ceNGdXV16f79++ru7vZ0JkmF/+33+7V//36NjIx4+toLBoMKBoNqbW2VJMXjcSWTSU9nWqi/v187\
duxQeXm5JG/fJwYHB7Vp0yaVlZVp7dq16ujo0OPHjz2/ppaCArSMWlpaNDY2plQqpdnZWSUSCcVi\
sZUe64/EYrHCToarV6+qvb29cPzatWsyMw0PD6u4uFiBQEBtbW0aGBhQNptVNpvVwMCA2traVmx+\
M9PRo0dVU1OjkydPFo57Ode7d++Uy+UkSdPT0xocHFRNTY12796t3t7eX2b6J2tvb6+i0aiKiooU\
i8WUSCT09etXpVIpjY2NaefOnSuS6ezZs0qn05qYmFAikVA0GtX169c9nSmfz+vTp0+FvwcGBlRf\
X+/pa6+iokJVVVV68eKFJOnevXuqra31dKaFbty4UXj8JXn7PlFdXa3h4WF9+fJFZlb4rLy8ppZs\
2b5tBDP7vltgy5YtFgqFrKenZ6XH+a2uri6rqKgwn89nlZWVdunSJXv//r1Fo1HbvHmzRaNRy2Qy\
ZvZ9J9KJEycsFApZfX29PXnypPA+ly9ftnA4bOFw2K5cubJScczM7NGjRybJIpGINTY2WmNjo92+\
fdvTuZ49e2ZNTU0WiUSsrq7Ozpw5Y2Zm4+Pj1tLSYuFw2OLxuM3MzJiZ2fT0tMXjcQuHw9bS0mLj\
4+OF9+rp6bFQKGRbt261O3furEieHz148KCwC8zLmcbHx62hocEaGhqstra2sP69fO2ZmY2Ojlpz\
c7NFIhFrb2+3Dx8+eD6T2fcNBaWlpZbL5QrHvJ7r9OnTtm3bNqurq7PDhw/bzMyMp9fUUvFL0AAA\
wDk8AgMAAM6hAAEAAOdQgAAAgHMoQAAAwDkUIAAA4BwKEAAAcA4FCAAAOIcCBAAAnEMBAgAAzqEA\
AQAA51CAAACAcyhAAADAORQgAADgHAoQAABwDgUIAAA4hwIEAACcQwECAADOoQABAADnUIAAAIBz\
KEAAAMA5FCAAAOAcChAAAHAOBQgAADiHAgQAAJxDAQIAAM6hAAEAAOdQgAAAgHMoQAAAwDkUIAAA\
4BwKEAAAcA4FCAAAOIcCBAAAnEMBAgAAzqEAAQAA51CAAACAcyhAAADAORQgAADgHAoQAABwzt/9\
HwreylIkegAAAABJRU5ErkJggg==\
"
frames[12] = "data:image/png;base64,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\
0Wq1PX5Tu1P7dgSrV6+2twStWrXKPvtm5MiRHb7eYrFgNps7BKPq6mpKS0s7vEZarbZDS1FQUJD9\
44dpkVm4cCHV1dVkZ2dTUlJCc3Mzer2eCRMmMHbs2D6/SKNKpSIhIYHhw4eze/dutm3bxuTJk3ni\
iSceqDXtfks1VFZWYjQaeeWVV3qs1oqKCvLz84mLi2PAgAE9dt7OtA+svnsm2MKFCwEYOnQoTzzx\
xCOtoT+SACSE6JTJZEKj0RAQEICfnx+NjY324KPX67scWNo/7mstDz/k7pWNv68bUKfTMXDgwHvG\
0yiKQkNDgz0QVVVVUV1dTXl5OYWFhR2653x8fDrtUmtfD+ZO7d2TAwcOpLKykvz8fL777jvUajWR\
kZFMnDiRoUOHOt1rHhoayvLlyzl06BAnTpzgu+++Y8GCBT8YNDpbqqGuro6dO3fyox/9qMe6JBVF\
4YsvvsDDw4Pp06f3yDm/j5ubG35+fvesBSQejgQgIUSnDAYDt27doqCggPHjx3Py5Enq6+v51a9+\
5XQzdR7W3Ssbd5VKpcLX1xdfX997FsmzWq2dthoVFhbat9gA7GG0PRCVlZXx6aefEhwcbN9yws/P\
j8TERMaOHdth41ZnpNVqSU5OZsSIEezdu5eMjAxmzpzJpEmTOg10nS3VcOvWLbZt28b8+fMJDAzs\
sdoKCwspKSkhJSXlvssL9DQfHx/Kysowm80u9/P3qKgU2WDke02ePJkTJ044ugwhHGL//v387ne/\
Y/bs2TQ2NjJr1izmzJnj6LJcxq1bt+4JRtXV1ZjNZmw2G3C7NaK8vJxr167xz3/+k6CgIAdX3fMa\
GxvZt28fV65cITw8nHnz5t0T8EwmU4elGmbOnElhYSGFhYX28DNu3LiHHgTd0tLCP//5T7y8vFi2\
bNkj7YJtl5WVxe7duxk4cCBZWVmPfCkGV7nvSQD6Aa7yH0GI+zGbzRw9epSzZ8+yaNGie8a9iN53\
9uxZ3nrrLUJCQqisrOTGjRt4e3vz7rvvMmbMGEeX90goikJ+fj4HDx5Eq9UyZ84ch6xGnp2dzdGj\
R1m6dGmvrGDdPhB/8uTJGAwGdu/ejaIo7Nmz55G1BLnKfe/RR1chhFPT6/WkpKQQEBBAdna27Erd\
B4SFhVFbW8u3337LjRs3gNtdQO07h/dHKpWKiRMn8tJLL+Hn58f27dvJysqipaUFs9nMuXPn7hkk\
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\
tj8x8+TkJLZu3YodO3agsrISwL8jFwAsWbIE69evh9frxdDQEEKhEICZ65u+9lAohM+fPyM+Pv6P\
yvTkyRPcuHEDaWlpqK6uxv3791FbW2voTAAifzsxMRFbtmzB06dPDb33LBYLLBYLSkpKAABVVVXo\
7Ow0dKbpWlpasHbtWiQlJQEw9vvEvXv3kJ6ejqVLl2LhwoWorKxEW1ub4c/UXKgAzaOioiK8evUK\
vb29mJiYgNvthsvlivayfovL5YrcZLhy5QoqKioi41evXgVJeL1exMXFITk5GWVlZfB4PBgcHMTg\
4CA8Hg/Kysqitn6S2LNnD7Kzs3Ho0KHIuJFzffz4EUNDQwCA0dFR3Lt3D9nZ2diwYQOam5t/mumf\
rM3NzXA6nYiJiYHL5YLb7cb4+Dh6e3vx6tUrFBcXRyVTfX09/H4/+vr64Ha74XQ6ce3aNUNnCgaD\
GB4ejvzu8XiQm5tr6L23bNkyrFixAj09PQCA1tZWrFmzxtCZpmtqaop8/AUY+30iNTUVXq8XIyMj\
IBl5rYx8puZs3r5tJCSnbgtkZmbSarXyxIkT0V7OL1VXV3PZsmWMjY1lSkoKL1y4wE+fPtHpdDIj\
I4NOp5OBQIDk1E2kgwcP0mq1Mjc3l8+ePYs8z8WLF2mz2Wiz2Xjp0qVoxSFJPn78mABot9uZn5/P\
/Px83rp1y9C5Xrx4QYfDQbvdzpycHB4/fpwk6fP5WFRURJvNxqqqKo6NjZEkR0dHWVVVRZvNxqKi\
Ivp8vshznThxglarlVlZWbx9+3ZU8nzvwYMHkVtgRs7k8/mYl5fHvLw8rlmzJnL+jbz3SLKrq4uF\
hYW02+2sqKjgwMCA4TORUxcK4uPjOTQ0FBkzeq5jx45x1apVzMnJ4c6dOzk2NmboMzVX+k/QIiIi\
Yjr6CExERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERE\
TEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERM\
RwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExH\
BUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETEcF\
SERERExHBUhERERMRwVIRERETEcFSERERExHBUhERERMRwVIRERETOdvxM5CJlehozcAAAAASUVO\
RK5CYII=\
"
frames[13] = "data:image/png;base64,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\
ctV7gAAAACQKEAAAcCEKEAAAcB0KEAAAcB0KEAAAcB0KEAAAcB0KEAAAcB0KEAAAcB0KEAAAcB0K\
EAAAcB0KEAAAcB0KEAAAcB0KEAAAcB0KEAAAcB0KEAAAcJ0YM7NoD/Ege/jhh5Wamnpfrzk+Pq74\
+Pj7es1oW42ZpNWZi0zOQCZnWI2Z/vjjD125ciXaY/zfxUZ7gAfdpUuX7vs1H3/8cfX29t7360bT\
aswkrc5cZHIGMjnDas3kBjwCAwAArkMBAgAArrPm0KFDh6I9hBsVFxdHe4T7bjVmklZnLjI5A5mc\
gUzOxJugAQCA6/AIDAAAuA4FaIWdPHlS2dnZyszM1HvvvRftce5q//79SkhIUG5ubuTYxMSEKioq\
5PV6VVFRocnJSUmSmem1115TZmam8vPz1dfXF/k3TU1N8nq98nq9ampqWvEcNxoZGdH27duVk5Mj\
n8+njz76SJKzc83Ozqq0tFQFBQXy+Xx65513JEl+v19lZWXyer3au3ev5ufnJUlzc3Pau3evMjMz\
VVZWpuHh4ci1GhoalJmZqezsbJ06dSoacW6yuLiooqIiPf3005Kcnyk1NVV5eXkqLCyM7LRx8r0n\
SVNTU6qtrdWjjz6qnJwcdXd3Oz7T+fPnVVhYGPmzfv16HT161PG5PvzwQ/l8PuXm5qqurk6zs7OO\
X1P3xLBiQqGQpaen29DQkM3NzVl+fr4NDAxEe6xl/fjjj3bu3Dnz+XyRY2+++aY1NDSYmVlDQ4O9\
9dZbZmbW1tZmTz31lIXDYevu7rbS0lIzMwsGg5aWlmbBYNAmJiYsLS3NJiYmVj7Mf4yNjdm5c+fM\
zOzvv/82r9drAwMDjs4VDoft8uXLZmY2Pz9vpaWl1t3dbXv27LGWlhYzMztw4IB98sknZmZ27Ngx\
O3DggJmZtbS02LPPPmtmZgMDA5afn2+zs7N24cIFS09Pt1AoFIVE//XBBx9YXV2dVVdXm5k5PtMj\
jzxi4+PjNx1z8r1nZvbCCy/Yp59+amZmc3NzNjk56fhMNwqFQpaYmGjDw8OOzhUIBCw1NdWuXr1q\
Zktr6csvv3T8mroXFKAV1NXVZZWVlZHXR44csSNHjkRxov/N7/ffVICysrJsbGzMzJbKRFZWlpmZ\
1dfXW3Nz823nNTc3W319feT4redFW01NjXV0dKyaXDMzM1ZUVGQ9PT22adMmW1hYMLOb773Kykrr\
6uoyM7OFhQXbtGmThcPh2+7HG8+LhpGRESsvL7fOzk6rrq62cDjs+Ex3KkBOvvemp6ctNTXVwuHw\
TcednOlWp06dsieeeMLMnJ0rEAiYx+OxYDBoCwsLVl1dbSdPnnT8mroXPAJbQaOjo0pJSYm89ng8\
Gh0djeJE/9yff/6ppKQkSVJSUpL++usvSctne5AzDw8Pq7+/X2VlZY7Ptbi4qMLCQiUkJKiiokIZ\
GRnasGGDYmNjb5vvxtljY2MVFxenYDD4wGU6ePCg3n//ff3rX0ufpoLBoOMzxcTEqLKyUsXFxWps\
bJTk7DV14cIFxcfH68UXX1RRUZFefvllzczMODrTrVpbW1VXVyfJ2R+r5ORkvfHGG9q6dauSkpIU\
Fxen4uJix6+pe0EBWkF2hw13MTExUZjk/lsu24Oa+cqVK9q9e7eOHj2q9evXL3ueU3KtWbNGv/76\
qwKBgM6ePavff//9tnOuz+eETN9++60SEhJu2op7t/mckEmSzpw5o76+PrW3t+vYsWP66aeflj3X\
CZlCoZD6+vr0yiuvqL+/X+vWrbvrexudkOlG8/PzOnHihPbs2XPX85yQa3JyUt988438fr/GxsY0\
MzOj9vb2285z2pq6FxSgFeTxeDQyMhJ5HQgEtGXLlihO9M8lJibq4sWLkqSLFy8qISFB0vLZHsTM\
CwsL2r17t5577jnt2rVL0urIJUkbNmzQk08+qZ6eHk1NTSkUCkm6eb4bZw+FQpqentbGjRsfqExn\
zpzRiRMnlJqaqn379un777/XwYMHHZ1JUuT/TkhI0DPPPKOzZ886+t7zeDzyeDwqKyuTJNXW1qqv\
r8/RmW7U3t6uxx57TImJiZKc/Xni9OnTSktLU3x8vNauXatdu3apq6vL8WvqXlCAVlBJSYkGBwfl\
9/s1Pz+v1tZW1dTURHusf6Smpiayk6GpqUk7d+6MHP/qq69kZurp6VFcXJySkpJUVVWljo4OTU5O\
anJyUh0dHaqqqora/Gaml156STk5OXr99dcjx52ca3x8XFNTU5Kka9eu6fTp08rJydH27dt1/Pjx\
O2a6nvX48eMqLy9XTEyMampq1Nraqrm5Ofn9fg0ODqq0tDQqmRoaGhQIBDQ8PKzW1laVl5fr66+/\
dnSmmZkZXb58OfL3jo4O5ebmOvre27x5s1JSUnT+/HlJUmdnp7Zt2+boTDdqaWmJPP6SnP15YuvW\
rerp6dHVq1dlZpGPlZPX1D1bsXcbwcyWdgt4vV5LT0+3w4cPR3ucu9q3b59t3rzZYmNjLTk52T77\
7DO7dOmSlZeXW2ZmppWXl1swGDSzpZ1Ir776qqWnp1tubq798ssvket8/vnnlpGRYRkZGfbFF19E\
K46Zmf38888myfLy8qygoMAKCgqsra3N0bl+++03KywstLy8PPP5fPbuu++amdnQ0JCVlJRYRkaG\
1dbW2uzsrJmZXbt2zWpray0jI8NKSkpsaGgocq3Dhw9benq6ZWVl2XfffReVPLf64YcfIrvAnJxp\
aGjI8vPzLT8/37Zt2xZZ/06+98zM+vv7rbi42PLy8mznzp02MTHh+ExmSxsKNm7caFNTU5FjTs/1\
9ttvW3Z2tvl8Pnv++edtdnbW0WvqXvGToAEAgOvwCAwAALgOBQgAALgOBQgAALgOBQgAALgOBQgA\
ALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgO\
BQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgA\
ALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALgO\
BQgAALgOBQgAALgOBQgAALgOBQgAALgOBQgAALjOvwHzFnp0uMvUXwAAAABJRU5ErkJggg==\
"
frames[14] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\
dHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3XlUVHee//9nFUuxQ7FqiQsCCrgj\
gltQowQXBNMxxsnimpitO53+pb/Tc2Y6Tkens/Qy328vSfeYUcGYtEmTuMQg2moMKlE0ChhXFFGg\
EBAKChCKpe7vD0K1ayIIFFDvxzmeo7e4l/cF4b7qs6oURVEQQgghhLAhamsXIIQQQgjR3SQACSGE\
EMLmSAASQgghhM2RACSEEEIImyMBSAghhBA2RwKQEEIIIWyOBCAhhBBC2BwJQEIIIYSwORKAhBBC\
CGFzJAAJIYQQwuZIABJCCCGEzZEAJIQQQgibIwFICCGEEDZHApAQQgghbI4EICGEEELYHAlAQggh\
hLA5EoCEEEIIYXMkAAkhhBDC5kgAEkIIIYTNkQAkhBBCCJsjAUgIIYQQNkcCkBBCCCFsjgQgIYQQ\
QtgcCUBCCCGEsDkSgIQQQghhcyQACSGEEMLmSAASQgghhM2RACSEEEIImyMBSAghhBA2RwKQEEII\
IWyOBCAhhBBC2BwJQEIIIYSwORKAhBBCCGFzJAAJIYQQwuZIABJCCCGEzZEAJIQQQgibIwFICCGE\
EDZHApAQQgghbI4EICGEEELYHAlAQgghhLA5EoCEEEIIYXMkAAkhhBDC5kgAEkIIIYTNkQAkhBBC\
CJsjAUgIIYQQNkcCkBBCCCFsjgQgIYQQQticXhOAqqqqWLhwIWFhYYSHh/P1119TWVlJXFwcoaGh\
xMXFYTAYAFAUhVdeeYWQkBBGjx7NiRMnLNdJSUkhNDSU0NBQUlJSrHU7QgghhLCiXhOAfvrTnzJ7\
9mzOnTtHTk4O4eHhvP3228ycOZO8vDxmzpzJ22+/DcCuXbvIy8sjLy+PdevW8eKLLwJQWVnJG2+8\
wdGjR8nKyuKNN96whCYhhBBC2I5eEYCMRiMZGRmsXLkSAEdHR7y8vNi+fTtLly4FYOnSpWzbtg2A\
7du3s2TJElQqFRMnTqSqqoqSkhJ2795NXFwc3t7eaLVa4uLiSE9Pt9p9CSGEEMI6ekUAys/Px8/P\
j+XLlzNu3DieffZZ6urqKC0tpX///gD079+fsrIyAIqLixk4cKDl/MDAQIqLi+95XAghhBC2xd7a\
BdyP5uZmTpw4wZ/+9CdiYmL46U9/aunuuhtFUe44plKp7nn8duvWrWPdunUAnDt3jrCwsAeoXggh\
hOg9CgoKuH79urXL6HK9IgAFBgYSGBhITEwMAAsXLuTtt98mICCAkpIS+vfvT0lJCf7+/paPLyws\
tJxfVFSETqcjMDCQAwcO3HJ8+vTpd3y+VatWsWrVKgCioqI4fvx4192cEEII0YNERUVZu4Ru0Su6\
wPr168fAgQM5f/48APv27SMiIoLExETLTK6UlBSSkpIASExMZNOmTSiKwpEjR/D09KR///7Ex8ez\
Z88eDAYDBoOBPXv2EB8fb7X7EkIIIYR19IoWIIA//elPPPXUUzQ2NjJ06FA2btyI2Wxm0aJFrF+/\
nkGDBvH3v/8dgLlz55KWlkZISAguLi5s3LgRAG9vb15//XUmTJgAwOrVq/H29rbaPQkhhBDCOlTK\
3QbGCAvpAhNCCGFLbOW51yu6wIQQQgghOpMEICGEEELYHAlAQgghhLA5EoCEEEIIYXMkAAkhhBDC\
5kgAEkIIIYTNkQAkhBBCCJsjAUgIIYQQNkcCkBBCCCFsjgQgIYQQQtgcCUBCCCGEsDkSgIQQQghh\
cyQACSGEEMLmSAASQgghhM2RACSEEEIImyMBSAghhBA2RwKQEEIIIWyOBCAhhBBC2BwJQEIIIYSw\
ORKAhBBCCGFzJAAJIYQQwuZIABJCCCGEzZEAJIQQQgibIwFICCGEEDZHApAQQgghbI69tQsQQggh\
xIPZvHkzJSUlxMTEEBsbC0BOTg45OTkoikJkZCSjRo2ycpU9iwQgIYQQopdLTEwkPz8fo9EIQFlZ\
Gfn5+TzzzDOoVCorV9czSQASQgghejkPD49b/n3mzBkcHBzYvHkzjo6OzJkz546PsXUyBkgIIYTo\
Y2pqaqivr+fpp59m3Lhx7Nmzx9ol9TgSgIQQQog+xtnZmeDgYFQqFcHBwZSVlVm7pB5HApAQQgjR\
xwwZMgS9Xg9ASUkJWq3WyhX1PDIGSAghhOjlduzYQVFREc3Nzej1ep544gkuXrxIcnIyiqIwf/58\
a5fY40gAEkIIIXq5xMTEO47Nnj3bCpX0HtIFJoQQQvRSBoOB06dPYzAYrF1KryMBSAghhOiF0tPT\
SUhI4OWXXyYhIYHdu3dbu6ReRQKQEEII0csYDAbWrl1LWFgY9vb2mEwm1qxZIy1B7SABSAghhOhl\
iouLGTVqFMOGDWPs2LEA2NvbW2Z+iR8mAUgIIYToRUwmE6dOnSIoKAiAvLw8AJqbm9HpdNYsrVeR\
WWBCCCFEL2EwGPj000+prKxEq9ViMBhoampCo9GwevVqWe+nHSQACSGEEL3AlStX2LZtGwBPPPEE\
BQUFHD16lHfeeYfAwEAJP+0kAUgIIYSwsoqKCt577z2WLl1KYWEhZ8+eRa1W069fP+bMmUN2djZ7\
9+5Fq9Xy2GOPodVq+eabb/D29mbUqFHWLr9XkgAkhBBCWFlGRgaDBw8GICwsjClTpgDwySefkJqa\
Sn5+PsHBwcyfPx+NRgO0hiZfX1+r1dzb9ZpB0EOGDGHUqFGMHTuWqKgoACorK4mLiyM0NJS4uDjL\
9D9FUXjllVcICQlh9OjRnDhxwnKdlJQUQkNDCQ0NJSUlxSr3IoQQQrQpLi7G1dUVDw8PAHx8fACo\
r6+nqKiIixcvEh0dzY9+9CNL+GlpacFgMFg+VrRfrwlAAF9++SXZ2dkcP34cgLfffpuZM2eSl5fH\
zJkzefvttwHYtWsXeXl55OXlsW7dOl588UWgNTC98cYbHD16lKysLN544w1ZM0EIIYRVZWRkMHXq\
1FuOXb9+nffff5+6ujoSEhKYMWMGavU/H9mVlZUoiiIB6AH0qgB0u+3bt7N06VIAli5dahkctn37\
dpYsWYJKpWLixIlUVVVRUlLC7t27iYuLw9vbG61WS1xcHOnp6da8BSGEEDbswoUL6HQ6XFxcLMcu\
XbpEcnIyNTU1PPnkk3cd43Px4kVMJhOHDh0iJSXF8mb+0KFDbNq0ieTkZC5fvtxt99Eb9ZoxQCqV\
ikceeQSVSsXzzz/PqlWrKC0tpX///gD079+fsrIyoLU5ceDAgZZzAwMDKS4uvudxIYQQwhquXbtG\
QUEBhYWFlJWVUVBQQH19PdD6xj4wMPCu59XX1+Po6Mjy5cu5cuUKBw4cYOTIkZhMJpYsWdKdt9Br\
9ZoAdPjwYXQ6HWVlZcTFxREWFnbPj1UU5Y5jKpXqnsdvt27dOtatWwdAeXn5A1QthBBC3FtsbCyx\
sbE0Nzfz17/+lZqaGjQaDXZ2duzduxeAyZMnM2zYsFvOq62txdPTE0dHR+zs7FCr1Zw5cwYnJyc2\
bdqEu7s7c+bMwcnJyRq31Sv0mgDUtrqlv78/jz76KFlZWQQEBFBSUkL//v0pKSnB398faG3ZKSws\
tJxbVFSETqcjMDCQAwcO3HJ8+vTpd3yuVatWsWrVKgDLgGshhBCiK9TW1rJ161bq6uqIjY1l8uTJ\
d31zfrOKigp8fHxobGxk//79JCUlsXv3bpydnVmyZAlZWVkcOnSIWbNmddNd9D69YgxQXV0dNTU1\
lr/v2bOHkSNHkpiYaJnJlZKSQlJSEgCJiYls2rQJRVE4cuQInp6e9O/fn/j4ePbs2YPBYMBgMLBn\
zx7i4+Otdl9CCCFsk8Fg4PTp0+Tl5bFp0ybKy8tZsGABU6ZM+cHwoyiKZSXo1NRUpk6dip+fH87O\
zoSEhAAQEhJCaWlpd9xKr9UrWoBKS0t59NFHgda9Tp588klmz57NhAkTWLRoEevXr2fQoEH8/e9/\
B2Du3LmkpaUREhKCi4sLGzduBMDb25vXX3+dCRMmALB69Wq8vb2tc1NCCCFsUnp6OmvXrmXgwIGM\
GjUKZ2dnnnrqKQICAu7r/OrqapqamigoKGD8+PGWISGDBw9Gr9czdOhQ9Ho93t7ebN68mZKSEmJi\
YoiNjaW+vp7U1FRaWlowm83Mmzfvvj9vX6NS7jYwRlhERUVZpt0LIYQQD8JgMJCQkEBMTAwBAQFc\
v36db775hk8//fS+t7K4dOkSH3/8MYqiMGDAAKB1eMgjjzzC559/jtFoRK1W8+ijj2I2m8nPz8do\
NBIbG0tWVhY3btxg+vTpFBQUcPz4cRYuXHjL9W3ludcrWoCEEEKIvkCv1+Pg4IDZbEZRFA4ePIhG\
o0Gv1993AKqoqMDOzo6f/OQnt0yfByy9Jffi6+tr2T2+vr7+jvNtSa8YAySEEEL0BTqdztJ9pVKp\
cHNzo7m52TLR537o9XocHR0xmUwd+vzFxcW899577Nq1i8mTJ7f7Gn2FBCAhhBCim2i1WlavXs2N\
GzcA8PPzY/Xq1ffd+pOens7XX3/NtWvXSEhIYPfu3e36/IcPHyY8PJyXXnqJxx9/nLS0tHbfQ18h\
AUgIIYToRvHx8WzZsgV7e3uefPLJ+56NbDAYWLt2LV5eXpjNZpqamlizZk27tnRSFMXS7eXq6mpZ\
dNEWyRggIYQQopt5e3vTr18/qqur7/scvV5v6TLz9fVlzpw5XLx4kaKionu2IO3YsYOrV69SVVXF\
kSNH8PDw4NKlS5w8eRKj0YhGoyElJYXIyMi7brnRl0kAEkIIIawgICCA3NxczGbzLRud3otOp6O2\
tpbt27fj7+/PyJEjGT16NIcOHcLOzo7w8PA71hBKTExEURQURUGtVmMwGEhNTWXu3LkcPnyYBQsW\
/OC6Q32VdIEJIYQQVuDv709TU9N9d2G1jR/SaDTU1dVx+PBhgoKC0Gg0fP7552zYsIG8vDwURbEs\
tGgwGFCpVJaAZTKZ8Pf358yZMzg4OLB582Y+/vhjjEZjV95qjyQtQEIIIYQVtC1AWFpaio+Pz32d\
Ex8fT3R0NHq9Hp1Oh1arRVEUzp49y6FDh/jss89wcXFh3759VFVV0dTUxOrVq5k0aRKpqalUVFSQ\
lJTE+fPnaWho4OmnnyYvL489e/bcsR5QXyctQEIIIYQV+Pr6olarKSsra9d5Wq2WESNGWMb9qFQq\
IiIiePbZZ4mNjeX69etMmjSJmTNnWgZKt7S0sGLFCp577jnS0tJwdnYmODgYlUpFcHBwu2voC6QF\
SAghhLACOzs7fH19b9mzq6SkhF27dlm6rRITE3FwcGDbtm20tLTg6elJQkIC9vZ3Pr7VajUeHh4c\
PHiQkSNHMmDAAOzt7XFwcLAstKjRaNBoNAwZMoRz584RGRlJSUnJfU/D70skAAkhhBBWEhAQwKVL\
l1AUBZVKhbu7O0899RQajYa8vDwOHDiAs7MzY8eOZeTIkRw6dIicnBzGjx9/1+vpdDpMJhPnz59n\
wIAB+Pr60tjYSGZmJsePH6elpYX4+HiCgoK4ePEiycnJKIrC/Pnzu/nOrU8CkBBCCGElAQEBnDp1\
itraWtzd3XFzc7O8Zmdnh1qtpqKigujoaAAGDBjAiRMn7ghAv/71ry37gr3wwgusW7eOlpYW+vXr\
x2OPPXbXtYZmz57dhXfW80kAEkIIIazk5oHQ7u7uluONjY3s37+fpKQksrOzuXjxItHR0eTl5d11\
8UJ3d3eWLVtm+XdCQgKffvopPj4+BAYGYjAYbLKb6/vIIGghhBDCSvz8/ABuGQfU0tJCamoqU6dO\
xc/Pj4ceeoji4mJSUlIwm823BKU2tbW1JCcn8/HHH1NVVYVWq8Xe3h6DwcBPf/rTDm2b0ddJABJC\
CCGsRKPRoNVqLbOwFEVh69athIWFERYWBoCTkxOPPvooS5cuxcHBgYiIiDuu8+qrr7Js2TLGjx/P\
jh07MBgMfPbZZ5ZxRSaTqd3bZvR10gUmhBBCWFFAQAAlJSUAnD17lgsXLlBbW0tubi7+/v6Eh4eT\
kZGBSqUiKCiI0NDQO67Rtr9XSEgIaWlpFBcX4+/vD8CwYcMoLCzE3t7eMhtMSAASQgghrCogIIBz\
587R0NBARETEXVt4goKC7nl+Y2Mj9vb2qNVqSktLcXFxIS8vj9DQUEpKSsjKygKgubkZnU7XZffR\
20gAEkIIIayoraXm6NGjjB49ut0tNOXl5ezcuRNHR0fMZjN2dnZcuHCBfv36sWPHDhwcHFCpVKxe\
vVpaf24iAUgIIYSwotOnTwOwceNG8vLyWL169V2nrd/LgAEDeP7556msrCQ1NRWDwcD8+fOJiIgg\
MTHxlm0zxD/JIGghhBDCSgwGA2+//TbNzc0MGDCg3YOV2zY9PXPmDB988AENDQ0sXrzY0o12+7YZ\
4p+kBUgIIYSwEr1ej4ODA4qioCgKwH0PVk5PT2ft2rUMHjyYUaNG4ezszJIlSyTs3CdpARJCCCGs\
RKfT0dLSgr29PYWFhcD9DVY2GAy8+eabREZGMmbMGK5fv862bdu6o+Q+QwKQEEIIYSVarZbXXnsN\
lUpFU1MTGo3mvgYr6/V6Bg0aRGBgIKWlpWRkZKAoCnq9vpsq7/2kC0wIIYSwovDwcM6fP88rr7xC\
eHj4fXVh6XQ6GhsbAcjOzkZRFJnm3k7SAiSEEEJYUWVlJQDjx4+/7/E7Wq2WefPmWcYO3W/Lkfgn\
aQESQgghrKiyshI3Nzc0Gk27zvP29qa2tpY///nPMs29AyQACSGEEFZkMBjw9vbu0Hm+vr6MGDGi\
C6rq+6QLTAghhLCiysrKdrfeKIrSofPEP0kAEkIIIaykvr6e+vr6drcA1dfXYzKZOtRyJFpJABJC\
CCGspG0AdHuDTNt50gLUcRKAhBBCCCtp2/KivUGm7TxpAeo4CUBCCCGElVRWVqJSqfDy8mr3eWq1\
Gk9Pzy6qrO+TACSEEEJYSWVlJV5eXtjZ2bXrPIPBgJeXF2q1PMY7Sr5yQgghhJV0dAq8zAB7cBKA\
hBBCCCtQFAWDwdChKfBVVVUSgB6QBCAhhBDCCmpqamhqamp3C1BHzxO3kpWghRBCCCvo6BR4g8GA\
2Wzm66+/Jjs7G7VaTWJiIufOneP8+fMAVFdXExYWRnx8fKfX3VdIABJCCCGsoKNT2Q0GAyqVikWL\
FuHr60teXh4HDhzg0UcfZdKkSQB8+OGHskXGD5AuMCGEEMIKKisrcXBwwM3NrUPn+fj4AGBnZ3fL\
bLC6ujqqqqoIDAzs1Hr7GglAQgghhBW0zeRSqVTtOq9tCrxKpaKxsZH9+/czefJky+vffvstERER\
nV1unyMBSAghhLCCysrKDk+B9/b2pqWlhdTUVKZOnYqfn5/l9VOnTjF69OjOLLVPkgAkhBBCdLOW\
lhaqq6vbHYDMZjNVVVV4eXmxdetWwsLCCAsLs7xeUVEBYOkeE/fWawJQS0sL48aNIyEhAYDLly8T\
ExNDaGgoTzzxBI2NjQCYTCaeeOIJQkJCiImJoaCgwHKNt956i5CQEIYPH87u3butcRtCCCEEVVVV\
KIrS7gBkNBoxm800NDRw4cIFcnNzSU5OJi0tDYDc3FxGjRrVFSX3Ob1mFtgf/vAHwsPDMRqNAPzi\
F7/gZz/7GYsXL+aFF15g/fr1vPjii6xfvx6tVsvFixfZsmULv/jFL/j44485c+YMW7Zs4fTp0+j1\
embNmsWFCxfavfy4EEII8aA6upt723kjR45kzpw5d7w+Y8aMBy/ORvSKFqCioiK++OILnn32WaB1\
Fcz9+/ezcOFCAJYuXcq2bdsA2L59O0uXLgVg4cKF7Nu3D0VR2L59O4sXL0aj0RAUFERISAhZWVnW\
uSEhhBA2raNrABUXFwPIHmCdoFd8BV999VV+85vfWL7hFRUVeHl5YW/f2oAVGBho+U9RXFzMwIED\
AbC3t8fT05OKiopbjt9+jhBCCNGdDAYDLi4uODk53fc56enpbN68mebmZhYtWiRDOR5Qj+8C27lz\
J/7+/owfP54DBw4ArS1At2ubRniv177vnNutW7eOdevWAVBeXt7R0oUQQoi7Ki8v58aNGyQnJ9PU\
1MTMmTNRq9V8+umnlgHMjzzyCDqdDmgNTGvXrmX27NkoioLJZGLNmjVER0fLnmAd1OMD0OHDh9mx\
YwdpaWk0NDRgNBp59dVXqaqqorm5GXt7e4qKiiz/SQIDAyksLCQwMJDm5mbLKPu2421uPud2q1at\
YtWqVQBERUV1/U0KIYSwKVVVVYwcOZJ58+ZhMBhITU0lLi6O0NBQEhMT7/h4vV6Pg4MDNTU1uLq6\
Aq29HHq9XgJQB/X4LrC33nqLoqIiCgoK2LJlCw8//DAffvghM2bMIDU1FYCUlBSSkpIASExMJCUl\
BYDU1FQefvhhVCoViYmJbNmyBZPJxOXLl8nLyyM6Otpq9yWEEMI2mUwmbty4YWnpMZlM+Pv7A3Dp\
0iU2btxIWloaTU1NlnN0Oh1NTU2Ul5fj6OgIQHNz8z3fyIsf1uNbgO7lnXfeYfHixfzyl79k3Lhx\
rFy5EoCVK1fyzDPPEBISgre3N1u2bAFgxIgRLFq0iIiICOzt7Xn33XdlBpgQQohu17YHmJOTExs2\
bKCiooKkpCT69+/PT37yE+zt7dm3bx+ZmZlMmzYNaJ0ttnr1alJSUlCr1Xh6evKv//qv1NfXs3Pn\
TsxmMzqdjri4OGveWq+iUu42OEZYREVFcfz4cWuXIYQQoo84c+YMn3/+OStXrsTX15eqqiqSk5N5\
9dVXLR9TXl7Ovn37WLx48S3n5ubmsmvXLhITExk2bBgfffQRixYtQqPRdFp9tvLc67UtQEIIIURv\
VFlZiaIoeHl5AaDRaNBoNDQ0NFhmhV2+fPmuqzkPGDAAaF0cuLCwEEdHRz777DMaGxuZPn06gwcP\
7r4b6eUkAAkhhBDdqLKyEldXVz744APUajUtLS3Ex8dz6tQpTp48iYODAy4uLpaxrTfz9PQEoLq6\
GkVRuHbtGi+88AImk4lNmzbx8ssvt3tzVVslAUgIIYToRgaDgYCAABYtWnTL8aFDhzJhwoTvPdfe\
3h43Nzeqq6sJCAhg4MCBlhYkFxcXbty4YZklJr5fj58FJoQQQvQVlZWVXL9+HRcXlw5fw8PDA6PR\
SGBgIBUVFZjNZkwmE3V1dTg7O3ditX2bBCAhhBCiG6Snp7Nw4UKam5v529/+1uGVnD09PamqqsLJ\
yYno6GiSk5P54IMPmDVrlmyR0Q7SBSaEEEJ0sbaVnNvW+2nvSs6bN2+mpKSEmJgYvLy8OH36NMnJ\
yQDU19fj5+dHeHh4V95CnyMBSAghRJe4+aEdGxtLU1MTW7du5caNGzg7O5OUlNSuvbB6s7aVnEND\
QzGbzRgMhnat5JyYmEh+fj5GoxEPDw/UajUjR44kODiYzMxMmf3VAdJWJoQQokskJibesjDfN998\
g06nY9myZYwYMYLDhw9bsbrupdPp8Pb2xsfHh9zcXKqrq9u1krOHh4fl73l5eQD8+te/Zv78+Zw6\
dYrhw4d3Sd19mQQgIYQQXeLmhzZARUWF5YE/YMAACgoKrFCVdbi7u/PQQw9RU1NDSUkJGo2G1atX\
t3sfr/r6et5//30AXFxc8PT05PLly9TW1nZF2X2adIEJIYToFv7+/ly8eJGhQ4eSl5dHfX29tUvq\
NsePH6exsZEnnniCf/mXf0Gn03VoE1Oj0cjQoUMB8PX1xc3NjdLSUtkUtQOkBUgIIUS3iIyMpLm5\
mZSUFGpqanB3d7d2Sd2ipqaGzMxMQkNDGTVqFCNGjOhwWKmrqyMoKIiLFy9y9OhRPD09KS8vl01R\
O0BagIQQQnQLOzs75s6dC7SOB7q9i6yv+uqrrzCbzTz88MMdvsaOHTu4ePEitbW1ODo6cubMGYYM\
GUJ5eXmHutKEBCAhhBBdZMeOHRQVFdHc3Ixer2fmzJl88cUXqNVq/P39eeSRR6xdYpcrKiri9OnT\
TJo0ybL3V0cMHz6cc+fOER4ezo9+9COef/559Hp9h7vShAQgIYQQXSQxMfGOY8uWLev+QqzEbDaz\
d+9e3NzcmDhxYoeuYTAYyM3NJSsri/79+5OUlISdnR1arVaCzwOSMUBCCCE6lcFg4PTp0xgMBmuX\
YlW5ubmUlpYyY8YMHB0d231+eno6S5Ys4dChQ1RVVeHt7d2h64i7kwAkhBCi06Snp5OQkMDLL79M\
QkJCh7d76O0aGhrIyMggMDCwQys0GwwG3n77baZMmYLZbOarr77izTfftPlQ2ZmkC0wIIe5TSUkJ\
u3btQqVSoVarSUxMxN3dnR07dlBdXY2npyeJiYnY29vmr1aDwcB///d/Exsbi16v5/Tp0+3a7qEv\
OXToEA0NDcyaNQuVStXu8/V6PdAapKqrq2loaMDV1VWmu3ci2/wpFUKIDnB3d+epp55Co9GQl5fH\
gQMHGDhwID4+PvzoRz/iq6++Ijs7m6ioKGuX2q1aWlq4cOEChw8fZubMmSiKgpeXF46Ojly8eNHm\
Htrl5eWcOHGCMWPGEBAQ0KFr6HQ6mpqaMBgMuLq6ArRr5WjxwyQACSHEfXJzc7P83c7ODrVaTUFB\
AVOmTAFg2LBhZGZm2kwAqq6uJicnh9zcXOrq6nBzc+PMmTPk5+cTGhrK8OHDCQgIsKlxK4qisG/f\
PjQaDQ899FCHr6PValm9ejWffvopAQEBHV45WtybBCAhxA8ymUxs3rwZOzs7mpqamDlzJl5eXqSm\
pnL9+nWefvppBg0aZO0yu01jYyP79+8nKSmJ9PR0nJ2dAXBycurzqxubzWby8/M5efIk+fn5qFQq\
goODGTt2LEFBQYSEhLBmzRouXbpERUUF06ZNY9u2bcTGxhIdHd2h7qDe5MKFC1y5coVZs2bh4uLy\
QNeKj4/H1dWVw4cP8/HHHxMYGNhJVQqQACSEuA+Ojo4sX74ctVqNwWAgNTWVZcuW8cwzz9jcINeW\
lhZSU1OZOnUqfn5+ODs709Agtc06AAAgAElEQVTQALQGxbYw1NfU1NSQm5tLTk4ONTU1uLm5MXny\
ZMaMGXPLgobx8fFER0db1qhxcnIiPT2dAwcOkJ+fz7x58/rsAohNTU18+eWX+Pr6Mm7cuE65ZluX\
l6IonXI98U8SgIQQP0ilUlneuZtMJvz9/XFwcMDBwcHKlXUvRVHYunUrYWFhhIWFATB48GDy8vLo\
168feXl5DB482MpVdh5FUSgoKCA7O5u8vDwURWHIkCHMmjWL4OBg7Ozs7nre7WvULFiwgFOnTrF3\
7142bNhAfHx8h2ZG9XRZWVlUV1ezePFi1OrOmWTd9nU0GAwMHDiwU64pWkkAEkLcF6PRSGpqKhUV\
FSQlJVm7HKs4e/YsFy5coLa2ltzcXPz9/YmLi2PHjh1s3LgRDw8Pq31tKioqeO+991i6dCmDBg3i\
0KFD5OfnYzabmTZtGkFBQfd9rRs3bnDq1Cmys7OpqqrC2dmZ6OhoxowZ06ExKCqVitGjRzNw4EA+\
//xzduzYQX5+PrNmzUKj0bT7ej2R0WjkyJEjDB8+vFNDsKenJ2q1mqqqqluO3/z9NhqNZGVloVKp\
0Gg0PPbYY33m69qVJAAJIe6Lh4cHK1asoKqqiuTkZIYNG2btkrpdREQEERERdxx/7LHHrFDNrTIy\
MiwP3ry8PEwmE0uWLLnv8xVFoaioiOzsbM6fP09LSwsDBw7koYceYtiwYZ0ytV+r1fLUU0+RmZnJ\
119/TWFhIQkJCX1ibMuXX34JwIwZMzr1umq1Gk9PzzvW/7n5+x0eHs7IkSMtdeTk5BAdHd2pdfRF\
EoCEED+oubnZ8gDUaDQ29+7SYDD06H2XiouLcXV1tXRTnjlzBicnJzZt2oS7uztz5szBycnpruc2\
NDRw+vRpTp48SUVFBRqNhrFjxzJ27Fh8fX07vVY7OzseeughgoKC2LlzJx999BGTJk1i8uTJ9+xS\
6+muXr3KuXPnmDJlCp6enp1+fS8vr1sC0O3f75u/bk1NTfj7+3d6DX2RBCAhxA8qKytj9+7dqNVq\
WlpaiI+Px2Qy8fHHH1NeXk55eTkhISGd/u63J0hPT2ft2rU42NvT1NzM6tWriY+Pt3ZZt8jIyCAp\
KYk9e/YArQOWnZ2dWbJkCVlZWRw6dIhZs2bdck5JSQknT57k7NmzNDc3079/f+bMmUN4eHi3jO0K\
DAxk+fLl7N27l8zMTC5fvsz8+fN7ZMD8Pm37fXl4eBATE9Mln0Or1aLX61EUBZVKdcf3G+DEiRMc\
PXoUe3t7y7IM4vtJABJC/CCdTsfy5cvvON6eLhZrUsxmmmtqaKyooLmqimaDgWaDAbPRSEtVFYrR\
iFJTA21/6upQ19ZCbS1DS0v57MYNfCsreTsyssetbHzhwgV0Ot0tU66dnZ0JCQkBICQkhF27dgGt\
0/fPnj1LdnY2165dw8HBgREjRjB27Fj69evX7bVrNBrmzZvH0KFD2b17Nxs3bmTmzJmMHj263dPl\
77ZUQ01NDceOHcPOzg53d3cWLFjQ6at0Z2dnU15ezoIFC7osOHp5eWEymaivr6eoqOiO7zdAZGQk\
kZGRHD58mMzMTOLi4rqklr5EApAQ4ntZo/tHMZtpqqqiqbKSpu/CSktVlSWwmI1GMBqhthZqalDV\
1qKqq0NdV4fdjRvY1ddjV1+PQ0ND6x+TCQdF4X4eT8329jRpNDQ5OdGk0dCsUlHj5ESA2UxMXR17\
XFx61MrG165do6CggMLCQsrKyrh+/TohISHo9XqGDh2KXq/H2dmZf/zjH3z77bc0Njbi5+dHXFwc\
I0aM6BHdmeHh4QwYMIAvvviC9PR08vPzmT17druWFLjbUg0LFy5k1KhRqNVq/vGPf5Cbm0tkZGSn\
1V1fX8/BgwcZPHhwl46Ju3km2N2+3wsXLsTLywtoXYuqqampy2rpSyQACSHuydL94+BAU1PTPbt/\
lJYWGisrLYGl5btWFnN1NWajEcVoxGw0oro5sNy48c/AcuMG9g0NONTXt4aVxkYcFYX7WT+4ycGh\
Naw4OdHs5ESLszNNXl6Y+vfH7OqK4uaG4u6Oys0N3N1Re3qi9vBA7emJnZcXdp6eOHh7t/7RarF3\
csIecKb1gfNUQgImk4lUs5mIigqatdoetR1BbGwssbGxAGzbto3IyEh0Oh07duzgvffeo7a2FrPZ\
jL29PWFhYYwdO5YBAwb0uAUJPTw8WLx4MVlZWWRkZLBhwwbmzp1737PX7rZUw80htW3l7s508OBB\
TCYTM2fO7NKvZ9t9VFVV3fX7nZOTw+XLl4HW1j9bnaXZXhKAhBB3ZTAY+N81a/jk0iUqXF1psrPD\
+cUXKXVwwL6hofVPfT2O3wUWDXA/bQmNjo7/DCzOzq2BxceHBldXFBeXWwOLh0drWPHwaA0rXl7Y\
abXYe3ri6OODg1bbuh5RF30N2rYjWLNmDYcGDODpY8d44z//s8e0/txuwYIFVFZWkpGRQWFhIQ0N\
DWi1WsaOHcuoUaN6/CKNKpWKmJgYhgwZwueff84nn3xCVFQU06ZNu6+uq3st1VBeXk5eXh4rV67s\
tFrLysrIzs4mMjISPz+/Trvu3bQNrL59JtiCBQsAGDRoENOmTevSGvoiCUBCiLvS6/Wo7O3RlZUR\
YGeHwdMTk6MjLY6OtPj7U397YGn709a68l0Li71Wi72XFw7e3jhqtTja2d1Xy05P0bay8dXMTEhI\
IDQnx9olWbR1T/br14/y8nKys7O5cuUKarWa0NBQxo0bx6BBg3pca88PCQgIYOnSpRw4cIDjx49z\
5coV5s+f/4NB425LNRiNRrZv387jjz/eaeN/FEVh7969ODk5MXXq1E655vext7fHw8PjjrWAxIOR\
ACSEuCudToe+pYWPxo7lqexsfhMcTKaDAzt37uyxLSBdRavVop03j7Jhw3BPS7N2OUBr9+Sf//xn\
Bg4cSL9+/XBycsLDw4PY2FhGjRp1y8atvZGDgwNxcXEMHTqUtLQ0UlJSmD59OuPHj79roLvbUg03\
btzgk08+Yd68eXh7e3dabefOnaOwsJD4+Ph7Li/Q2dzc3CguLsZgMNjcz19X6dwOUSFEn9HW/bPB\
2Rmjuzsv6fW8/stf2vQv34b58/EuKsJw5IhV6zAYDLzzzjtMnTqVwYMHU1lZyZEjR1i0aBGTJk3q\
9eHnZsHBwaxYsYIhQ4awb98+/v73v1NbW3vHx5WVlbFx40ZSUlL429/+Rnx8PAcOHMBoNLJ7926S\
k5M5ceLEA9fT2NjIl19+SUBAAKNHj37g692P9PR0jhw5QllZGQkJCTa3/15XkRYgIcQ9Wbp/Xn+d\
ke++i5Neb+2SrMr7uefg97+nZsMGtBMnWq2OtjVhysrK8PX15dixYzg4OHDt2jV8fHysVldXcXV1\
5bHHHiM7O5v9+/ezYcMGZs+efcvMq7st1TB06FDmzp3bqbUcOXKEmpoaEhMTO31Q9d0YDAbWrl1L\
VFQUjo6OqFSqHrcUQ28lLUBCiO+l1WoJ/+1vqfb1xXHNGpSWFmuXZDVuw4dTNmwYbt+tq2MtOp2O\
pqYmTp48iZ2dHcHBwTQ3N/eo2WmdTaVSMW7cOJYtW4aHhwdbt24lPT2dxsZGDAYDp0+fvmOQcGer\
qqoiKyuLiIiIbtu+Q6/X4+DgQHl5OdDaNWhvb4/ext+MdAYJQEKIH2Tn7EzNa6/hc/UqxX/4g7XL\
saqGxESrd4O1dU82NjZSVlZGaGgov7SR7kkfHx+eeeYZYmJiyMnJ4d133+Xpp5/m5Zdf7pLuoYqK\
CtauXcvVq1f59NNPuXHjBmVlZSQnJ2M0Gjv1c91NW9itrq4GWgNQXw+73UUCkBDivuheew2DTofb\
b36DubHR2uVYjfdzz6GoVBjXr7dqHfHx8ezcuZPExEQ0Gg39+/e3aj3dyc7OjunTp5OQkEBVVRUP\
PfQQ48ePx97enjVr1nRqS1DbpqN6vZ5r164RHBzMypUrLS1RXa0t7CqKAoC7uzurV6+2ibDb1SQA\
CSHui9rBgRv/8R94lZZS/NZb1i7HatyGDaN82DDcrdwNBq0Px9jYWPr168exY8csD0lbcvToUerq\
6vD19WXOnDlMmDCB06dPd8q12zYddXd355tvvsHFxYXKyko2bNjA/v37u+3rHR8fz//8z/8A8Npr\
r/W4veh6KwlAQoj7pnvhBa4HBeH1hz/QXFdn7XKspiExEe/iYgyZmdYuBZVKxYQJE6isrOTixYvW\
Lqdb6XQ6ampq2LVrF1988QXnzp3Dx8eHw4cP8+GHH5KXl/dAISUjI4OpU6dSUVGB0WjkkUce4eWX\
X2bZsmVUV1eTm5vbiXfz/Wypha+7SAASQtw3lVpN85o1uBsM6P/zP61djtX4rFqFolJRs2GDtUsB\
ICwsDA8PD7KysqxdSrdq6x7SaDTY2dmRl5fH+PHjmTlzJkajkc8++4z333+f7Ozsdu+P1bbJbNts\
u/79+xMREYFarUatVjNy5MhuHYhsb29vWdtIdA6ZBi+EaJeAJ5+k9K238F23jsZ//3ccO3GBud7C\
NSSE0uHDe0Q3GIBarSYqKor9+/dbNq61FW1LNdy+YW9kZCTnz58nKyuL3bt3k5GRYdkx/fad1O+m\
bdPRkydP0tzcTENDA9XV1ZZNRy9fvoyvr2+X3tvtXFxcJAB1ImkBEkK0i0qtRvXWW7jU1HDt3//d\
2uVYjSkpCa1ej+HwYWuXAsDo0aPRaDQcO3bM2qV8r82bN/Pb3/6WjIwMACorK1m3bh1vvvkmV69e\
7dA1tVotI0aMuGVgsFqtJjw8nCVLlvDkk08yYMAADh8+zF/+8hd2795NZWXl914zNjaWRx55BJPJ\
hJ+fH3PnzuWbb77hf//3f9mwYQP19fWdurP8/ZAA1Ll6RQBqaGggOjqaMWPGMGLECP7zu6b3y5cv\
ExMTQ2hoKE888QSN381MMZlMPPHEE4SEhBATE0NBQYHlWm+99RYhISEMHz5cVtMUooP8ExPRR0UR\
kJJCQ0mJtcuxCp+22WA9pBtMo9EwduxYzp8/36P3jEpMTCQuLs7yb3d3d5555hkiIiK65POpVCoG\
DhzIY489xsqVKxkxYgSnTp3i/fff57PPPqOoqOiu44Ta9vtycXFhxYoVDBo0iJkzZ/Lss8+yYsUK\
kpKSsLOz65Ka78XV1ZU6Gx5719l6RQDSaDTs37+fnJwcsrOzLcuC/+IXv+BnP/sZeXl5aLVa1n83\
LXX9+vVotVouXrzIz372M37xi18AcObMGbZs2cLp06dJT0/npZdeosWGF3UT4kFofvMbHE0myv7P\
/7nr6yaTifXr15OcnMz7779Pfn4+9fX1fPDBByQnJ7NhwwZKS0u7uerO4xocTFlYGB49pBsMsOyT\
dfz4cWuXck+3Tx13cHDotl3qfX19mT17Ni+++CKTJ0+msLCQDz/8kM2bN3P+/HnMZjPQuvrynj17\
0Ov1TJs2DY1G0y31/RBpAepcvWIMkEqlsuxt09TURFNTEyqViv379/PRRx8BsHTpUn71q1/x4osv\
sn37dn71q18BsHDhQn784x+jKArbt29n8eLFaDQagoKCCAkJISsri0mTJlnr1kQXKCkpYdeuXahU\
KtRqNYmJiRQXF5OVlYVKpUKj0fDYY4/1mF9qvZXPjBkUxcbS/+9/p+6NN3ANDr7ldUdHR5YvX45a\
rcZgMJCamsqYMWMYOHAg06dPp6CggIMHD7Jw4UIr3cGDMyUmEvDOO1QePIj3Qw9Zuxzc3d2JiIgg\
NzeXKVOmdFuw6G1cXV156KGHiImJ4dtvv+XYsWNs27YNLy8vXF1dWb9+PdOnT6e+vh69Xt9te379\
EBcXF+rr6zGbzd2yDUdf12u+gi0tLYwdOxZ/f3/i4uIIDg7Gy8vLsvtvYGAgxcXFQOvaDQMHDgRa\
R857enpSUVFxy/HbzxF9h7u7O0899RTLly9n8uTJHDhwgPDwcFasWMHy5cvp378/OTk51i6zT3D/\
/e+xa26m4uc/v+O1tgAKra1B/v7++Pr6YjKZAKivr7+vwag9WVs3WO3GjdYuxWLChAk0NTWRnZ1t\
7VJ6PEdHRyIjI3nuuedYsGABjo6OFBcXM2vWLJycnDhx4gRr167t8i027peLiwuKotDQ0HDXFlZF\
UUhLS2Pjxo189NFH1NfXW7vkHq3XBCA7Ozuys7MpKioiKyuLs2fP3vExKpUK4K79uSqV6p7Hb7du\
3TqioqKIioqy7L8ieg83NzdL646dnR1qtfqWvvqmpib8/f2tVV6f4jl+PMXx8Qz4/HOMp07d8brR\
aGTDhg188MEHhIeHo9PpKC4u5r333mPXrl1MnjzZClV3HtfgYMrCw3FPT0f5rvvE2vz9/RkyZAjf\
fPMNzc3N1i6nV1Cr1QwfPpzo6Gi+/vprTCYTtbW1VFZW9qh9t9reMNTV1VlaWJctW8bChQvZt28f\
ly5doqmpieXLlzNixAgO95AB+j1VrwlAbby8vJg+fTpHjhyhqqrK8gNeVFRkmfoZGBhIYWEhAM3N\
zVRXV+Pt7X3L8dvPudmqVas4fvw4x48fx8/PrxvuSnSFxsZG9u/fb3nInjhxgr/85S9cuXJFvq+d\
yOv3v0dRqah+7bU7XvPw8GDFihU899xzpKWlcfjwYcLDw3nppZd4/PHHSUtLs0LFnasxKQltSQmG\
Q4esXYpFdHQ0dXV1nDlzxtql3GHHjh1kZmaSnZ3Nli1bMJlMbNq0iUuXLrF7926+/PJLq9Wm0+ko\
Ly8nLS2N9PR0gB6171ZbALpx48ZdW1gLCgoYNmwYAMOGDePKlStWq7U36BUBqLy83DKrob6+nr17\
9xIeHs6MGTNITU0FICUlhaSkJKB1lkFKSgoAqampPPzww6hUKhITEy0/cJcvXyYvL4/o6Gjr3JTo\
Ui0tLaSmpjJ16lRL2ImMjOTFF18kIiKCzB6wgm9f4R4ejn7BAgbs3XvLBqE3tz5oNBo0Gg2Kolh+\
ibu6uvaJJnrvZ5/FrFJR04O6wYYMGYKfnx9ZWVk9bnuMxMREXnrpJV555RXLmMwlS5bw2muv8dxz\
zzFjxgyr1XbzwoouLi5oNJoete/WzQEI7mxhra+vt4z7cnJy6hM/X12pVwyCLikpYenSpbS0tGA2\
m1m0aBEJCQlERESwePFifvnLXzJu3DhWrlwJwMqVK3nmmWcICQnB29ubLVu2ADBixAgWLVpEREQE\
9vb2vPvuu90+jVF0PUVR2Lp1K2FhYYSFhQGtD+O28WJOTk7tXhVWfD/f3/2O5s8/58Zrr6H9rtm9\
rKyM3bt3o1araWlpIT4+Hj8/P7Zu3WpZXG7WrFlWrvzBuQ4dSml4OB7fdYOpesDgVJVKRXR0NF98\
8QX5+fkE3zZA3RoMBsMdixX2RPdaWLEncHV1Bf4ZgNpaWKuqqkhOTmbkyJE0NDQAra1CMgj++6mU\
nvb2oIeJiorq0VNKxZ3OnDnDtm3bLM3W/v7+uLq6cvnyZQCcnZ1JSkrCycnJmmX2OVeWL2dwcjLX\
d+/G95FHrF1Ot7r6H//BoDffpPLAAbynTbN2OUBrK+hf//pXfHx8WLx4sVVrSU9PZ+3atTg4ONDU\
1MTq1atlQ88OMJvN/O53v2PixIlMnjzZ8qauvr6e5ORkZs2axblz55g/fz6nTp2itLS0Q28ybOW5\
JwHoB3T1f4SKigree+89li5dyqBBgwD48ssvOXXqFK+88kqXfV4hOpuprAxzUBCG0FAMH37Y4949\
d6W6y5dxDg6maMkSBiUnW45v3ryZkpISYmJiiI2NJScnh2PHjmFnZ4e7uzsLFiywPMS6wtGjRzlw\
4ADLli0jICCgyz7P9zEYDDz55JNERkZy7NgxKisr0Wg07Ny584H/f9z+9W1z8uRJdu7cyeuvv/6g\
5fc4f/rTnwgNDWX06NG3tLBOnz6doKAg0tLSKCsrQ6PRsGDBgg7NtLSVANQrusD6soyMDAYPHmz5\
d9vMA9F+vaWJva/S+Pvzzfz5jP/4Y/78wgt8ZTbbzDt916AgSiMi7ugGS0xMJD8/H6PRCMCgQYMY\
NWoUarWaf/zjH+Tm5nbpdgpjxowhMzOTrKws5s+f32Wf516uX79Oeno6075rFXv44Ye5evUqBQUF\
6PX6B/45vf3rC63d3WfPnr1jwcW+om0xRJ1Ox/Lly+94fd68eVaoqneyfme1DSsuLsbV1fWWH9SM\
jAymTp1qxap6p/T0dBISEnj55ZdJSEiQbU6swGAw8G+FhdS4ufGzM2dorK9nzZo1PWYNla7WuGAB\
XqWlVH71leXY7Q9hrVZrmbnTtkRDV3JycmL06NGcPXv2lpDQ1crLy9m+fTvr16+ntLTUMsPr/Pnz\
DBgwgNjYWC5cuPDAW3bcLeQcPXqUqKiouy5x0hc4Ojpy/fp1m/m56koSgKzo9rBTUVFBY2Oj1Zqq\
eyuDwcDatWtJNJl4rLYWk8lkUw/enkKv19Pk4ECBry9+lZUsUal61BoqXc175UrMKhW1N3WB3Ut5\
eTl5eXmMHDmyy+uKiooC6JYujdLSUrZu3cqGDRvIz89n4sSJvPjiiyxcuJDGxkby8/PZt28f/v7+\
5Ofn8/7777Nr1y6qq6s75fPX19dz5coVy1TwviY9PZ2srCyKiorkjV4nkC4wK7lw4QI6ne6W/tmv\
vvqK6dOnW6+oXkqv1+Pj4MD/l5WFSlHYNGaM5cErXWHdR6fT4dXUxDC9nksDBpCiUqHpQWuodDXX\
oCCujRiB5+7d3zsbzGg0sn37dh5//PEuHf/TxtPTk7CwMHJycpgyZcodW8DcPo5GURR27dpFaWkp\
Go2GRx999AdnE5WUlJCZmcnFixdxdHRk8uTJREVFWc6728yqmpoajh49SnZ2Nt9++y1jxoxh4sSJ\
D9R1dejQIaZMmdLh83uytjd6kyZNwsXFhebmZtasWUN0dLT8nusgCUBWcu3aNQoKCigsLKSsrIzr\
169TV1dnWRiutraWXbt2MWfOHCtX2vPpdDr+49o17JqbUQFeajU3bOjB21NotVr+y8UFh6YmfjN0\
KJqWlh61hkp3aFqwgH7/9V9UfvUV3ndZz+bGjRt88sknzJs3D29v726rKzo6mrNnz5KdnU1MTMwt\
r90+jubm1YRzcnI4fPjwPWcSFRcXk5mZSX5+Pk5OTkydOpXx48ffdYalVqu95f+Cu7s7s2bNsqy+\
nJOTQ25uLmPHjmXixImW/R/bo6KigoMHD3Lw4EFqa2tJTU3t1XvN3Uyv1+Pg4ICjoyONjY20tLTg\
5OQkb/QegAQgK4mNjbXMWti2bRuRkZGWWWAAf/zjHyX83Ke69euJOX+eI8OGMfHCBabZ2zPBxh68\
PYExO5vwL7/k6qxZvPJ//69NDkb3efZZzG++Se3GjXjPmMGOHTsoKiqiubkZvV6Ph4cHRqPR0nUx\
evToLh0E3aZfv34MGjSI48ePExUVdcv6Z7e3uNy+mvDdus4KCwvJzMykoKAAZ2dnYmNjiYyM7NAG\
wx4eHsTHxzNx4kQyMzM5ceIEOTk5jBs3jpiYGMvaN3dz+9f35un+f/zjH/tM+IHWN3qKouDu7s6F\
CxeAnrVKdW8k0+B/gK1MB+ytjKdOoYmOpjowEGXXLnzDwrjyox8x9JNPrF2azSmaNo2Ar7/G9O23\
uPXRMRj349qoUTiVleFZUtIjFkVsc+nSJVJTU0lISGDEiBG3vJadnY3RaCQ2NpbPP/+cUaNGMWTI\
EBRF4d133+XHP/4xiqJw9epVMjMzuXr1Ki4uLkRHRzNu3DgcHR07rU6DwUBmZianT5/G3t6eyMhI\
oqOje/3GuZ3h448/pqCggCNHjlBWVtZlsyxt5bknLUBWINO1O4e5sZGGhQvRKApOqal4hIRQFhSE\
m+yC3e2u795NYEYGV595hkE2HH4AGh99lH5r15K9aRODk5J6zM/40KFD8fHxISsri4iIiHvOknJ2\
dr5lNWEnJycuX75MZmYmRUVFuLq68vDDDzN27FgcHBw6vU6tVsu8efOYNGkShw8f5ujRo5w8eZLx\
48czYcIEnJ2dbfZ3qKenJw4ODqxZs4bAwECbuveu0HPentgIma7deQpffhn/Cxco/9Wv8BgzBoCG\
qCh88vNp6sYpvwKaf/5z6l1dCfjd76xditWdHT4cs1pN8f/7fz3qZ1ylUjFhwgTKysq+d5PMwYMH\
k5eXh6IoHDp0iNraWj755BOqq6uZNWsWzz//PBMmTOiS8HMzb29v5s+fz8qVKxk6dChff/01f/3r\
X0lOTmbBggU29ztUURQuXbpEUFAQo0aNkvDTCSQAdaO2UfwpV6+yorpapms/gPIdOxi4YQNF06YR\
+G//ZjluP2MGdi0tVH63k7Poetc2baLft99S/vzzaPz9rV2OVRkMBta89x75Oh3T8/Iw9bC1kEaM\
GIGrqytZWVmWY7fvzh4cHExNTQ3vvPMOX3/9NQ4ODsTHx7Nq1SrGjx/f5cHndr6+viQlJbF8+XJ0\
Oh2lpaXMmTOHgQMH2tTv0OvXr1NbW8vQoUOtXUqfIV1g3Uiv1+Nnb09wUREhRUWMGTqUPw8YIKP4\
28lUXo5mxQpqtVr8bhvr4z1/PsoLL2DauxcWLbJShbZDaWnB4fXXMfr4oFuzxtrlWJ1eryfC3p5+\
lZW43LhBgp0dX/agJRnaxtQcPHiQ8vJy/Pz8SExMBFpbGC5cuEBKSgplZWVotVomTpzIyJEje8Sm\
0f7+/owcOZK0tDQiIiIsawfZypIX+fn5ABKAOpEEoG6k0+kob26mwcmJMq2WsOJi/qeggKs//zl1\
f/4zrj1gx+beoPyJJ9BVVnL900/xuK3Fwal/fyoHDMDh6FErVWdbin/7WwKvXqXoN7/B43tm69gK\
l6ws/njsGGaVijXjx7NTUXrcWkjjxo3jyJEjHDp0iGHDhtGvXz/KysrIzMzk+vXraLVa5s6dS0RE\
RI8IPjfT6XSYzWagtaukOKAAACAASURBVEUEbGcm1KVLl/Dz88Pd3d3apfQZEoC6kVarZfXq1TQv\
XEiRlxevBgXxX07/P3v3HdhknT9w/J2kadqme8+wS0uhKnuULceqBRX1FI8l4kDAredJlaGinPcT\
VFAUKcNzgYAUKCBLVCiyyx6ldO+ku2nG8/uDtscoIJL0Sdrn9Y9c2uT5hCt9Pvl+v5/Px4mIrVsx\
dehA+tixBP773zg2Yn8Qe5M5fz6hO3eSPnEimvvvb/B7yu+5h8CtWzHX1CC3YHWK5GrGigrc58+n\
sEULQl58UexwRJfx1lto5s5F5+/P823akK5QoDIaba4XkrOzM+7u7pw+fZq1a9ei0Whwc3PD29ub\
2NhYIiMjrT6i46/y8vJiwIAB5OTkoFQqkclkNvf3aw16vZ6srCy6d+8udihNipQANbKhQ4dSqlIR\
5O3NVxs24OXlhe6PP6h4/nk0y5ZRsXo1udOmETJzJooGmok1Z6XHjuEXH09+u3aEfvbZDb9P3rcv\
jhs2ULhzJ77NYBCnWLLffBNNcTG5CxYgs7GVgsZkNhjIfPxxNN9/T85dd+G9dSsLlUqbrVLSarX8\
8MMPDBw4kKioKEpKSjhw4ACfffYZPj4+Yod3S66urgQHB7No0SKb/Pu1hrS0NMxms7T9ZWG2meY3\
cSalEpUg1P/D9ezWjZDffiN//XoqgoPRvPsuZS1bkv3ppwi1y73NnbmmhuqHHgLA6Ycfbrqy4xEb\
C0BlM6kOEUN1bi5+S5aQEx1N4OOPix2OaGqKi8nt0wfN99+THhdHwP79qPz98fLyIioqyiZvztnZ\
2ej1egoLCzl16hRbt24lPz+f3NxcsUP7U7RaLX5+fjb792sNqampODo6NoutvsYkJUAiMCuVyGpq\
rnvcPy4Ov5Mnyf7sMwS5nODnnqMgIoL8detEiNK2ZD777HUl7zfiFhlJqY8Pir17Gym65if/pZdw\
rqzE8cMPxQ5FNGWnTlF2zz0EHjhA+ssvo1m/3i62XIODgzEYDOzatYvjx48D9nOOxmg0UlJS0mwS\
H7h8OD01NZVWrVrZ3JkseyclQCIwOzo2mAAByORygp96Co+0NNJnzkSdl4f//feT3bMn2n37GjlS\
21Dw00+ELlt2ueT9tdf+1HNKo6PxOnFCWkGzgvIzZwj6/nsy+/fH5wYzopq6wi1bkPfsiWteHnlf\
folm/nyxQ/rT6s4iqlQq1Go1KpXKbs7R6HQ6ALuI1VIKCgqk8ncrkc4AicCsVCI3GG76PXJHRzSz\
Z1Pzwgukv/YagStW4NCnD+nDh+OzYEGzqRi7Wcn7zZhjYnDZuRPdgQN4SgcHLUo7fTpBgoD7woVi\
h2JROTk5bN68GZlMhlwuJy4urv5Gu3PnTlJSUpg+fTpZH3+M/0svUeXmhn7DBoJqZ/rZk4ams9uD\
un4/9hKvJdSVv7dq1UrkSJoeaQVIBGZHR+Q3WAG6lqOXF5olSzCcOkVmbCwhmzej7NCBS088QU1x\
sZUjFV/Bww/jqtVS/eWXt9Vkz23ECADKNm2yVmjNkva33wjZto3s0aNxj44WOxyLcnNzY+zYsUyc\
OJHevXuza9cuAMrLyymu/beW/uyzhEyfjk6jQfHHH3jbYfJTx5bPKd1I3f8P3s2oUjY1NRV/f3+p\
/N0KpARIBIKj4y1XgK6lbtUKzfr1lO3bR0GXLrT46isMLVuS/q9/Yaqd29PUZH7wAaG7dpExYQL+\
o0ff1nM9u3en0tUVfv3VStE1T1XPP49BpcL3P/8ROxSLc3V1rZ9mrlAo6kvBf/nlF3p17YoxOxvN\
4sVk9u2L56FDqKUtiUan1WpxdnbGqZlUyOr1ejIzM6XtLyuREiARCLexAnQtz27dCPn99yZfMVZ6\
9Ch+b71Ffng4YYsX3/bzZXI5uqgo3I8etUJ0zVPe6tUEHzhA7oQJuGg0YodjNTU1NezYsYPevXtT\
VFRElU6HYtgwHKqquDRpEiG7dqF0dxc7zGZJq9Xa1YrVnbp48SKCIEgJkJVICZAIBJUKxW2uAF2r\
vmJs8eImVzF2OyXvN2Ps1QuPwkLKz561ZHjNkmA2I3/9dco9PQmeN0/scKzGZDKxevVqYmJi8PPz\
Y9uaNXSNj8fn/HmMPj60WLoUmY02CWwOmlMCpNfrSUxMxGAwkJSURGpqKikpKSQkJJCQkMCnn37K\
97dxLlJyPelfsggER8c7ToCgtmLs6aebXMVYxjPP4H/uHAWzZt3ROROX2iaIusRES4XWbGV/+il+\
Fy6gnTEDpYeH2OFYhSAIrF27loiICCIiIsj75hvKDhxgV0wMK95/n2oHBzZv3ix2mM2WwWCgrKys\
2SRASqUSJycnOnbsyJgxY9i+fTudOnViwoQJTJgwgZYtW9KhQwexw7RrUgIkAsHJCbnRiF6vZ+nS\
pSQkJPDFF1/Un/YHOHz4MHPmzPlTr1dXMaZMS+PS5Mn4HjmCR58+ZNx3HxVXvKY9yF+3jrBly8gc\
MIDQV1+9o9fyHjSIGpUK8+7dFoqueTJVV6N+5x20QUGEvPGG2OFYzalTpzh79izHjh3j87ff5sCq\
VYzZuJH7X3yRSS++iKurK8OHDxc7zGaruZXAFxQUUFFRQevWrdHr9fhfUQRiMpk4f/487du3FzFC\
+yeVwYvB0REHoxEHR0cmTpyIXC5Hq9WyevVqWrdujdFo5NSpU7jf5jkDRy8vWnzxBRVvvEHu888T\
kpiIaetWLj3+OEHz59v8jDF9fj5OkydT7u19WyXvNyJ3dKQ4PBzXQ4csEF3zlT13LmF5eWQvXoyX\
HTT6+6s6dOhARLt2ZI4di+aHH8i5+25cjhxB5ecHwPTp00WO8MYaKuE/efIkp06dQi6XExgYyPDh\
w5HJZGKH+pc1twqw1NRUBEEgOTkZnU7HqFGj6r92/vx5WrRogVKpFDFC+yetAInByQmFwVD/ywq4\
KsNPTk6ma9euf/mXlb1WjNWVvOu/+qr+pnOn9D164JWVRbWdtPm3NTVaLd4ff0x+eDhBU6aIHY5V\
aLVaTpw4QcHFi+T27o3mhx9IHzWKgORki/0cWltDJfwRERFMnjyZSZMmUVFRwcWLF8UO8440tx5A\
qampBAYG8uSTT/Lkk0+y6YqWHseOHaNTp04iRtc0SAmQCASVCrkgYK6pobS0lK+++oqVK1cSGRlJ\
VVUVly5dIjw8/I6vc1XFWFBQfcVY1qJFNlcxlvn++4Tu3k3mxIn4xcVZ7HWd7r0XmSCglc4B/SU5\
r76KurQU3n+/SR7+TUpKIjY2lvemTsXQqxeBBw+S/soraNats4uxFnUaKuG/crDplWX99kqr1eLi\
4lL/Ppuy6urqq8rfVSpV/fvW6/Xk5ORIlWEWIG2BiUBW28PCWF6Ou7c3kyZNQqfTkZCQQFRUFH36\
9LHo9fzj4hBiY8lesgTnWbMImTqV/I8+gg8+uO3+OtZwZcl76KJFFn1t72HDMCkUGHbsgMmTLfra\
TV3FxYsErVxJdo8eBNvAz4mlabVa5syZwyPV1Uw5eBAZMKdHD6b/859ih/aX1ZXwX7ldkpaWRnl5\
OS1atBAxsjtXWFhIRUUFCQkJGAwGBg8eTFhYGGvXrqWyshJnZ2dGjRrVJHoE1U1/P3nyJBcvXsRk\
MjG0tqjj5MmTtG/f3q63M22FlACJoS6TLyurP5dTl+EXFRWxZ88e9uzZQ3l5OatXr2bMmDF3fMm6\
ijHzpElkzJmD98KFqO+/n6yePVEvWCDauAhzTQ3VY8agksnuqOT9RpQeHhS0bInTwYMWfd3moOjF\
Fwk1GHD+6COxQ7GK7OxslEolj506hZNez+6ICHYolYzJzrbLbZZrS/gB8vLy2L59O48++qjd3zBL\
Skro2LEjsbGx9WcmO3XqRHBwMDExMRw/fpzffvuNwYMHix3qHbtw4QLOzs5MmTLlupW7e+65R6So\
mh4pARKBzNkZgPzsbFbv2IFcLq/P8K9c1ly4cKFFkp8ryR0dCZszh5oXX+TSq68StHIlDr16kTFi\
BN4LFjR6d9vMp59Gc/785a7PVhqtUNW1K8GrV2MsL8fB1dUq12hqSg4dImTDBrKGDSOsZ0+xw7GK\
uqnoY1q3Zn5JCf1Pn2auTEagr6/Yod22a0v44fKh4fXr1/Pwww/j4uIicoR3pqamhoqKivptvboz\
k0VFRURGRgIQEhJCcnKymGFaRHFxMefOnSMkJMTuty1tnfS3K4baFSA/Z2cmTpzI+PHjmTRp0nV7\
utasOqmrGKubMRa8aVOjzxjLX7uW0IQEMgcOJPSVV6x2HYeBA3EwmShOSrLaNZqashkzMCsUeC9Y\
IHYoVlM3Fd2gUvFyUBCJd91F31On0N93H4bSUrHDuy1XlvAnJCSwadMmkpKSqK6uZt26dSQkJHDW\
jhuC1h2AVqlUV52Z9Pf35/z58wCcO3eOqqoqMcO8Y0lJSYwdOxa9Xs+aNWvYsmWL2CE1adIKkAhq\
arP6krw8xG6or27VCvX69ej276dixgxafPUVFT/8QN706YTEx1tsS2rnzp2kpqaiUCgYPnw4njIZ\
TpMnU+bjg99331nkGjfiFRsLQNW2bWDhFbWmqHDzZkJ//ZVL48bRom1bscOxqmunoqe/9x5h//43\
Bd264bZjB84hIWKH+Kd06NChSTfFq0uAQkJC6Ny5c/2ZyWnTprFlyxaWL19OaGioXQ8MrTuTdvfd\
dwOQkZHB7Nmz6d69u11uydoDKQFqZElJSRzZsIHXgfdnzeI+qD/cJibP7t3x3LuXgp9+QnjlFcLe\
eQfdl19SER9P8NNP31EFUG5uLtnZ2TzxxBOUlJSwbt06Bi9bRrBOR+HatXhYudTYOSSE4pAQHJvA\
8ri1CWYzppdfpkqtJvDf/xY7nEbh5eVVf4Px+uADsoKDCXj5Zcq6dcP488+4/cnEYtWqVeTk5NCj\
Rw/69etHWloaO2q3uGUyGaNHj8bDCl20tVptfQLXVG+UWq0WQRDq31/dmUmFQsGIESMAOHjw4G33\
TrMldWfS/Pz8MNY2ylWr1WTb6Zk0eyBtgTWiugw/vKICgEi9ntmzZ9d/urEFfnFx+J06RfaiRQgy\
GSFTp1IQGUnBTz/95dcsKioiKCgIAA8PDwrT0gj89VcyJk3C34Il7zdTcc89eJ8+jdkCI0iastzl\
ywk4eZKCp5+2mx44lhby/PMUrlyJi1aLrE8ftL/99qeeFxcXx5AhQ+r/d1hYGJMmTWLChAlER0db\
5XxKXRn/1KlTiY2NbbJbJsXFxTg7O/P111+zfPlyvvnmG4YOHUpBQQEJCQmsWLGCgoICunTpInao\
f1ndmTSDwUBeXh4ARqOR4OBgkSNruqQEqBHVZfibVSoEoLVej4ODA9nZ2WKHdhWZXE7wM8/gcekS\
GW++iTo3F79Ro8jq1Qvd/v23/Xr+/v6kpaVhMpm4sHs3FWYzmVFRhFm45P1mZP36odLrKd65s9Gu\
aW/MBgOq+HhKfH0J+ZNjWJqqwEcfpTwxEZnZjPPf/vanhgxfu/qgUCjq/6zX6wkICLBojFqtlq9n\
z+a94mK8KyrQ2+AHKkvRarX4+fldd2bSz8+PCRMmMG7cOIYNG2bXh4a9vLyYOXMmarUavV6PSqUi\
Pj5eWv2xIvv9abFDdRn+YUEgIyiIDsXFNp3h11WM1c0Y8zt8GPdevW57xpifnx+dOnVixfLlHPjy\
S3wLC/FcuRJ5I7Zx96g9B1TZRD8hW0L2/Pl4Z2ZS9tprKGorFZszn8GDMf3yC9Wurng99BDZn312\
269x9uxZlixZwh9//EFYWNgdxSOYzej27yfj7bfJuPde5O3asXLvXvqdPs2LZWUANvmByhLqxmA0\
xeTuSr1790ahUDBq1CgSExNt4nhEUyYlQI2orupEpVJxODAQTW4ub02davMZfn3F2MmTZI4cWV8x\
lj558p+uGOvWrRuD9uxh4NatuAcF4WmlkvcbcYuMpNTHB8Xvvzfqde2Fsbwcjw8/pLBlS0JeeEHs\
cGyG+1134bh/PyVhYQQ++ywZb799W88PDw9nypQpDBo0iO3bt9/Wc80GA0Xbt5P+yitk9e5Npacn\
nj16EDZrFr779lHapg2runQh19eXiLw85IJg0x+o/qqNGzdSVVXFzz//3KS3+eB/A18jIyNt/r7Q\
FEiHoBtZXdXJpR9+QPbUU3TIzBQ7pD9N3bo16p9+qq8Y0yxderlibNq0W1aMLf3wQxwEAR56iDEi\
3WBLo6PxPnAAwWxukmMd/oqioiIWLVrEMJ0OY/v2pIwahePKlZSUlBARESF9AgVcWrTA4cAB8gYN\
ImzWLC7l5KBZvPiWP0NGoxEHh8u/Yp2cnG45uNJUVUXRli1Ub9uGcu9evE+dwqe6Gh+gzNsbbZcu\
FMfE4DpyJJ7duxMml+O3ZQur3nqLl5OTecjRkegmtmWi1WpZtmwZ3bp1w9PTEzc3tyZdGdXcJt6L\
TSYIgiB2ELasa9euHDhwwOKvK5hMVHl6UtylC6G7dln89RtDXcWY/9mzaAMDqYqPJ+ipp667MVTn\
5lITFYUgl+N06hQqkRrNpcfHo5kzB11ysmidr23N2rVrKSkqIuaDD1C7uBB05AgAX3/9Nf379yc0\
NFTkCG2HqbqanBEjCN25k/S4OEJXr75qG/enn34iMzMTo9GIv78/4eHhHDt2DJlMhkKhIDY2Fk9P\
z/rvr9FqKd64Ef327Tjt34/32bMojUYAtIGBlN9zD7J+/XAfORL3mwy+LMrPx6FDB/SenvjX9sRp\
Kk6cOEF8fDzt27fHxcUFpVJJRUUFXbp0YdCgQXZd9t6QX375hX379vHSSy9ddYassVnrvmdrpBUg\
kcgUCoq7dsXnjz8QTCZkIv6w/1V+dTPGPv8cl1mzCH72WfI/+gjZ/Pn4xcWh1WrJyszE/ZlnCNXp\
KFq/Hg8Ru+y6jRgBc+ZQtmmTlAABWVlZqNVqKvfsQanXo/r8cwAqKirQ6XRS8nMNhZMTIdu2kT52\
LJrvviOrf38Ctm6t7y4e10BFY+fOnev/XJWVRfa332LcsQPngwfxSUsj0GzGLJNRrNGQExeHYsAA\
PGNj8WrVij+7BuDj70/65Mlo3n+f/LVr8b//fku8XZsQHBxMbm4uly5dQqFQEBoaSuvWrTl9+jRn\
zpyhVatWREdH07Zt20ZLGDZt2kR2djaCINCzZ0+LTmXXarV4eHiImvw0J1ICJKbhw3HetYuCpCT8\
Ro4UO5q/pK5izPzEE/+bMTZqFKl3380cFxe6mc08u28fhx94gHtqDyKLxbN7d6rUavj1V1HjsBW/\
/PILgyMi+C0tjYJ77qHFwIEAHD9+vEk31bsTMoUCzbffkh4UhOajj8jr0QPZunUU1NRc14en/MwZ\
dBs2IOzejfrwYbyzsnAGjAoFxW3akPnYYygHDcI7NhbfO2w5EPjaa1R9/DHGefOgCSVAdecmZ8+e\
jYODA7m5uUyZMoVu3bpx/PhxUlJSWLduHc7OzkRFRdGpUyf8/f2tFk9+fj4FBQVMnjwZvV7P559/\
btEESKfTXbVKKLEuu0iAMjIyGDduHLm5ucjlcqZMmcKMGTMoLi7mkUceIS0tjZYtW/L999/j5eWF\
IAjMmDGDTZs24eLiQkJCQv0nseXLlzN37lwA3nzzTcaPHy/a+/J57DGE11+nas0asNMEqE79jLEX\
XuDCCy8Q+u23LDUYEGQy0oKCmJ6Tw09arah72zK5HG1UFO5Hj4oWg604e/YswcHB6F97DVxdUV8x\
diUlJYX7m9BN1Bo0//d/ZAYFEfTGG+THxDC3fXtUJhNPR0URkpqK+9GjeBQW4grUqFQURURwaeRI\
nIYMwWfYMPwtPJPO0cuL9IceImzFCnT79zepFc5ru3XX/Q7p168fMTExpKWlcezYMQ4dOsSBAwcI\
DAykU6dOdOjQweKT4d3c3FAoFJhMJmpqanC2cLWkTqern+UmsT67SIAcHBz48MMP6dy5M2VlZXTp\
0oUhQ4aQkJDA4MGDef3115k3bx7z5s3j/fffZ/PmzZw7d45z586RnJzMM888Q3JyMsXFxcyaNYsD\
Bw4gk8no0qULcXFxot2UnUNDKWjdGufdu0W5vjU4entT/eqr/CMtjXdSU2mbmcm8kBDkSqVNdDQ1\
9uqFx/79lJ89i2t4uKixiCk3N5fzR46QERBATosWFKWmEtS5MyaTCaB+6KTkxtRPPsnsdet4848/\
+PrXX5ELAvz+O5VqNbqOHSl5/HFchg3De+BAgiw0UuZmfOLjMX39NWWzZuG5caPVr9eYruzWfSW5\
XE7r1q1p3bo1lZWVnDx5kmPHjrFt2zZ27NhBeHg40dHRtGjRAplMdsdxODk54e3tzSeffEJNTQ33\
3XffHb9mnerqaqqrq6UVoEZkFwlQUFBQfSdhNzc3IiMjycrKYv369eyqPUA8fvx4BgwYwPvvv8/6\
9esZN24cMpmMnj17otPpyMnJYdeuXQwZMgRvb28AhgwZQlJSEo8++qhYb43KgQPRLF1K5aVLuLRo\
IVoclhQcHEyW0cijAQFoAgNJFwRUNlKe6zJ0KCxYgC4xEdcXXxQ7HNH069ePdi+8gPfJkyQuXUq3\
mBg8PT3ZuXOnRZf0m7Ls7Gx2OzoS2KkTj50/z49t2rDPzY1pn35KRxH+DtWtW5MxZAhBW7dScfEi\
6latGj0GMbm4uNC1a1e6dOlCXl4eKSkpnDhxglOnTuHu7k6nTp3o1KnTHY0jSU1NpaysjGnTpqHX\
61m2bBlt27atr/a7E3UVYFIC1HjsrhY4LS2Nw4cP06NHD/Ly8uoTo6CgIPLz84HLhzuvbDoWGhpK\
VlbWDR8Xk/rBB5EJAsXffCNqHJZ0Zb+jIhcXm+po6j14MDWOjph/+UXsUESV9/33BB06RN7EiTz4\
2GNoNBoABg4cSI8ePUSOzj7UNTZdKpczODycTxUKjptMhIh4eNw1Ph6FyUTRrFmixSA2mUxGYGAg\
Q4YM4bnnniMuLg5vb29+++03PvvsM7799ltOnDiB4S+MxREEAScnJ+RyOY6OjphMJixVSC2VwDc+\
u1gBqlNeXs6DDz7IRx99dNOhdw39QMpkshs+fq0lS5awZMkSAAoKCu4g4lvzGTKESjc3SEqC11+3\
6rUa04327cUmd3SkODwc9aFDYocimuKiInj9dco9PQmaN0/scOzWtQd0jUaj6Im+V8+eZHftit8P\
P2BYsAClFYav2hMHBwciIyOJjIyktLSUlJQUUlJSSExMRKVSERkZSXR0NIGBgX9qi6xNmzYcP36c\
r776CpPJRPfu3W/Z3+nPqkuArDEwV9Iwu0mADAYDDz74IGPHjuWBBx4AICAggJycHIKCgsjJyak/\
/R8aGkpGRkb9czMzMwkODiY0NLR+y6zu8QEDBlx3rSlTpjBlyhTgcj8Ea5IpFBR364bPvn2YDYZG\
HQ9hbTfatxdbTY8eBHz1FdW5uTgFBoodTqNKSkriXHw80y5e5LNu3Wi1d6/U7PAO2GKi7/DPf+L8\
wAOkv/ceGinBrefu7k6fPn3o3bs36enppKSkcPz4cY4cOYKvry/R0dFERUXh4uJyw9eQyWSMHj3a\
KvFptVpcalfMJY3DLrbABEHgiSeeIDIykhevOLcRFxfH8uXLgcvVXaNGjap/fMWKFQiCwL59+/Dw\
8CAoKIihQ4eydetWtFotWq2WrVu32sYv/+HDca6spHDzZrEjaRYcBw9GJghom9hB0VvRarW8N2cO\
zx48SLVKxVcmU5MdntmYvLy8iIqKsonkB8Bv1CgK2rTBY+lSzH9hm6epk8lktGjRgtjYWJ577jmG\
Dh2KUqlkx44dfPrpp6xdu5bz589jNpsbNS6pBL7x2UUC9Ntvv7Fy5Up27NjB3Xffzd13382mTZt4\
/fXX2bZtG+3atWPbtm28XruFNGLECFq3bk3btm158sknWVQ7ddzb25uZM2fSrVs3unXrRnx8fP2B\
aDH5PPooZpmM6h9/FDuUZsFnxAhMCgWGHTvEDqVRZWdnI3NwICMgAL2jI2aZrMkOz2zOZHI5NTNm\
4FFYSE7t7z5Jw1QqFXfffTfjxo1j0qRJdOnShczMTNasWcPixYvZtWsXRUVFwOUPECdOnLDaBwYp\
AWp80iiMW2isluD54eHIjUZ8b2PKuuSvK2jbFkGhwP/MGbFDaTRarZbY2FhmVFTw8NGjDOnalUpH\
RxITE21m9UJiGWaDgbLQUGpcXfE9d06afXcbTCYTFy5cICUlhQsXLiAIAi4uLhw5coSMjAwqKiqI\
j4+36O6ByWTiww8/pFevXvTt29dir/tXNZdRGNK/ChtRPWAAvhcvUiElQI2iqmtXvC9cwFheLnYo\
jabu0O6J2jMOvZRK0Q/tSqxDrlRS+sQT+KWmki+tLN8WhUJBeHg4Dz74IM8++yzdu3cnPz+f8PBw\
evTogV6vt/jWcUlJCYIgSCtAjUxKgGyEy5gxAGi//VbkSJoHh4EDcTCZKE5KEjuURjV06FCe/eor\
AMZHRdnGGTiJVQS+9hpVajWm998XOxS75erqir+/P+drh8yePn0awOJbx3XJlPRhpHFJCZCN8Bk8\
mIq6cniJ1XnVziWr2rZN5EgaX0BEBCV+fjgdP37V40VFRcyZM4f09HSRIpNYktLDg4KHHyb4wAG0\
+/aJHY7dqqsgLi8v5+LFiwAYLdzYtaSkBJCaIDY2KQGyETKFguLu3fE9eFCq3GgEziEhFIeE4Jic\
LHYooiiLiMD9mvNPv/zyCy2aSDdyyWW+b72FwcGB8rffFjsUuyUIAr6+vqSnp6NWq63S2FWr1eLg\
4IBarbbYa0puTUqAbIhsxAicKispbGbl2WIpv/tuvE+fbpYJp7lzZ9y02vozZ1lZWajV6ps2GJXY\
H5cWLcgZOpSgn3+m4sIFscOxS0ePHkUmk/Huu++yaNEiEhMTLb51XFcBZol5ZZI/T0qAbIhvbTl8\
1dq1YofSLMj7YLKRMgAAIABJREFU9UOl16NtQsNo/yxVTAwAJT//DFxe/YmpfUzStLi/9RYKs7lZ\
j8f4q0wmE8ePH6dt27aEhIRYrd+TVAIvDikBsiFOQUEUtmuHuhnekMXgUXsOqKKBc1dXnofJyMhg\
8eLFzJ07l9LS0sYO0yq8Bg/GLJNh2LuXs2fPEhwcfNMOuBL75dmtGzndu+O/Zg01UtPL23Lu3Dkq\
Kyu56667rHYNQRAoKSmREiARSAmQjakeOBDfS5ek5epG4NahA6Xe3ih+//26r115HsbPz48nnniC\
UBGHXFqao5cXuuBgHI8eJTc3l7S0NFatWkVqaipbt26tn0skaRqUb7yBU2Ulue++K3YoduXo0aO4\
u7vTqlUrq12joqICg8EgVYCJQEqAbIy6thy+KU2Ht2Wl0dF4Hj+OcEXb+2vPwzg5OeHo6ChWiFZT\
ERmJx7lz9I2JYfz48Tz++OO0bt2av/3tb9Kn0SbGLy6O/Hbt8Fy2DHNNjdjh2AWdTkdaWhqdOnVC\
bsVGktIQVPFICZCN8R40iAp3d+RSOXyjEGJiUJeVUXLwYP1jzeU8jNClCy7l5ZSdOFH/2OjRo9Fo\
NCJGJbEWw/PP415URPYnn4gdil04duwYMpmM6Ohoq16nLgGSVoAan5QA2RiZXE5xjx74HDokfVJr\
BK7DhwNQtmkTQLM6D+PSvz8AF7//XhqI2gwEP/UUOn9/nD755KoVT8n1zGYzKSkptG7d2uqVkVqt\
FplMJq0AiUBKgGyQfORInKqqKExMFDuUJs+zZ0+q1Gr49VeAZnUe5kBNDSaFgtwNG4iNjWXLli1i\
hySxIplCQdmTT+J78SL5q1eLHY7NOnLkCIsXL6aoqIiwsDCrX0+n0+Hm5oZCobD6tSRXk4ah3oIY\
Q+Gqc3NxDAkh87HH0Kxc2ajXbo6ye/RAffEiHvn5Vz2+bt06OnfujFqtZuPGjeTk5ODv70/Hjh3p\
1q2bSNE2zFRVRXVuLobCQoyFhRgKCjAXF2MqLkbQ6ZDpdFBSgrykBEVZGfLycgStFr/iYmqUSvpG\
RaFSqaTBqE2cobQUQ0gIJeHhBF2x7Su5rKqqihUrVuDl5UVubi6urq5MmjTJqtdcuXIlDg4OPPro\
o1a9zu1oLsNQHcQOQHI9p8BA8tu1Q/3LL2KH0iwYe/XCY/9+Ks6fR922bf3jo0ePrv/zuHHjrHZ9\
wWzGWF5OTX4+Nfn5GAsLMRYVYSoqwqzVglYLOh2UliIvLUVRVoZDWRkOFRU4VlbiWFWF0mDgZj1k\
zXI5eicnalxcMKjV6J2dKXJ3p9rBgcraA951842kBKjpUrq7k/PII2iWLkX722949elz1ddzcnLY\
vHkzMpkMuVxOXFxcs/p5yMrKIjAwkDNnztCzZ09OnjyJ0WjEwcF6t0qdTkfbK37vSBqPlADZqOpB\
g9AsXnzdTVlieS5Dh8KCBVxISCDspZdu+xe+YDZTU1xMTUEBhoKCywlMYSHm4mLMOh2CVotMp0NW\
UnI5gSkvx6G8vD6BUVVVoTSZUMINkxiTQoHexYUaFxeMLi4YXV2pCQig3N0dwd0dwdMTmZcXci8v\
FD4+KLy9cfD1RennhyogAKWnJ85yOc61r6fVank4Nha9Xl9/DUvPN5LYJt/4eAwrVlA+axZeW7de\
9TU3NzfGjh2LSqXi3Llz7Nq1i/vvv1+kSBtfVVVV/WT26OhoUlNTqaqqws3NzSrX0+v1VFZWNqsk\
05ZICZCNcn3oIVi8mOL//hd1fLzY4TRpB0wmBimVVK5ezZs7d/Lw0KG08/PDVFSEoNVe3kIqKUFW\
WoqidgVGUVGBsi6Bqa5GZTajusk1DEolNc7O1KjVGNRqDB4eVIeGYnZ3Bw8P8PQET8//JTA+Pij9\
/XH09cXR3x8HV1dc5HIsdTTby8uL+Ph4Zs+ejYODA0aj0eLzjSS2yUWjIX3YMII3bbruA5arq2v9\
nxUKhVXLv22RSqUiNzeXli1b4unpSXV1Nc7Ozrd+4l8kDUEVl5QA2Siv/v0p9/C4XA4vJUBWo9Vq\
mfPee8QolfQ8c4aeAA00RtSrVJe3j1xcMKrV1Pj6Ut2qVX0CI9QmL3Jvb+ReXij9/HCoTV5U/v4o\
nZ1vusIjhqFDh9K9e3eys7MJDg6Wkp9mxOPtt1EkJlL09tuoV6267us1NTXs2LGDUaNGiRCdeIxG\
I9XV1XTq1ImSkhIcHR2tvv0FUgIkFikBslEyuRxtjx74//IL5poa5E2wEZ8tyM7ORqlUsqltW3wM\
BpLVaqpUKsZMnkyru+++vIXk54fK0fGmKzz2ysvLS0p8miGPzp3J6tED/x9/pKa4GEdv7/qvmUwm\
Vq9eTUxMDH5+fiJG2fhOnz6Ni4sLe/fuRSaTMWzYMKter679hJQAiUNKgGyYfORIVFu3kvfTTwTU\
doiWWFZwcDAGg4EPlEpQKkEQUAkCL44ahbuUGEiaMMd//Qun++4j/Z130Hz4IXB5LtXatWuJiIgg\
IiJC5AgbSVkZrF2L/tIlVMeP02P8ePqOGNEol9bpdDg5OeHk5NQo15NcrXlt8NoZ37//HZNcjl6a\
Dm81dWdhVCoVarUalUolnYWRNAt+sbHkt2+PZ0JCfdPVU6dOcfbsWY4dO0ZCQgKbahuENkmCAO+9\
BwEBMHUqylmzGLJuHTFjxlx+vBE6xOh0Oul3jYikFSAbpvL3J699e9R79ogdSpMmnYWRNFfG55/H\
/ZlnyFy4kNCXX6ZDhw506NBB7LAax7x5MHcuVFUBl1cDHE2my1+bO/fyf//5T6uGoNPpCAwMtOo1\
JDcmNUK8BbEbQqU/9xyaTz+l/PRpXNu3Fy0OiUTS9AgmEyUhIRhVKnITEwkJDW0eHwDKyi6v/NQm\
Pw1ycYG8PLiiMs6SzGYz8+fPx8nJCQ8PD0wmE0VFRbz66qtWud7tEPu+11ikLTAb5/rQQwBopenw\
EonEwmQKBadjY/FNT+f7Z59tPiNR1q6FW42ekMsvf5+VlJaWAjBw4EAmTJhAz549m8/qm42QEiAb\
59W3L+Wensibwy8liUTSqLRaLf86dQq9oyMvHT1KYE0Ns2fPbvrDcXNzobr6pt9iqqoi848/KCsr\
s0oI11aAHTt2zOqT5yVXk84A2TiZXI62Z0/8d+3CVF2NQqoWkEhskl6vZ9WqVSgUCgwGA4MHD0Yu\
l7Njxw7kcjkymYzRo0fb1NTv7OxsTEolaYGBtEtP57tDh9gdFUXGoUN4DR4sdnjWExgITk5QXn7D\
bzE5OHAkL48TixYRGhpK+/btad++vcW6Ql/ZBLGyspLCwsJGGb4q+R9pBcgOKGJjUVVXU/jTT2KH\
IpFIbsDR0ZGJEycyYcIExowZw/bt2wkLC2PSpElMmDCB6OhokpOTxQ7zKnVtIMb6+vJQ164kt2vH\
wOPHiRg5kksTJ6K/ZkBwk3H//VB34PkGHBUKen3wATExMej1erZv386iRYv4+uuvOXjw4B2vDGm1\
WhQKBW5ubpw4cYIOHTogk8nu6DUlt0dKgOyAz8MPX54FJZXDSyQ2q26AKFxeDfL390dxxTkTvV5P\
QECAWOE1qL4NhJMThS4uvOrjw86PP6agc2daJCRgbtWK9BkzMNSeV2ky3Nxg5szLB50b4uICb76J\
T4sW9OnTh0mTJjF58mRiYmKorq7m559/vioZKr/JStKN6HQ6PDw8kMlkpKSkSNtfIpC2wOyAys+P\
vPbtcf31V7FDkUgkN1FaWsrq1aspKiqqHyNx9uxZdu3ahV6vZ+zYsSJHeL0G20BMnUrhli0YXn0V\
zcKFlK9YQc60aYS++WbT6Ur/+uuX/ztnzuUD0dXVl7fFTCZ4883/fb2Wj48Pffr0oU+fPhQWFnLm\
zBlOnz7Nzz//zM8//0xYWFj9Npnrn6gcq+sBpNVqMRqNza7rti2QyuBvwVbKAdOnTUPzySeUnTyJ\
W2Sk2OFIJJKb0Ol0JCQk8Pzzz9c/duLECU6ePMlDtZWd9iLvu++Q/+tf+F24gM7fn/LXXiNkxgxk\
t6qishdlZbBuHeTkQFDQ5e2x2yh9Lyws5PTp05w+fZqioiIAwsLCiIiIIDw8vMFkSBAEPvroIzp1\
6sS9995rsbdiKbZy37M2aQXITrg+/DB88gnab77BbfZsscORSCTXMBqN9YMzVSoVKpXqqsecnJxQ\
KpVihviXBDzyCMJDD5G9ZAlOc+cS+tJLFC1YQM1bbxE4YQIyC0yMz8nJYfPmzfXbiHFxcZSXl5OY\
mEhRURHTp0/H3d3dAu+mAW5u8I9//OWn+/r6EhMTQ0xMDAUFBfUrQ9u2bWPbtm0NJkM5OTnU1NTg\
2FRW0+yUtAJ0C7aSCQtmM+W+vpSFhxO8b5/Y4UgkkmtkZ2ezZcsW5HI5JpOJAQMGoNPpOHbsGDKZ\
DIVCQWxsrF0PvjQbDGR/+CHu//437kVF5LdvD++9h//999/R65aXl6NUKlGpVJw7d47jx48zfPhw\
5HI5//3vf3nggQeslwBZyZXJ0JUrQ2azmTVr1tCzZ0+Sk5N56qmnGDp0qMjRXs1W7nvWJiVAt2BL\
PwgZI0cSsH07Cq0WhbOz2OFIJJJmylRVRdasWfgsXoy6tJSczp1R/fvfeA8ceMevnZqaSkpKSv0Z\
qoSEBLtMgOoIglC/TXby5El0Oh2CICCTydi1axelpaUkJibaVAduW7rvWZNUBWZHFLGxOOr1FKxb\
J3YoEomkGVM4O6OZNw9lWhrpzz6L16lTeA8aRGb//pQcPPiXX7empoYdO3bQu3dvC0YrLplMhp+f\
H3379qVPnz7s2bOHzMxMDAYDxcXFODg4kJ2dLXaYzZKUANkRn4cewqRQULN+vdihSCSSWlqtlhMn\
TjT97skNcPTyQvPpp5CaSvrjjxOwbx9u3buTMXIk5WfO3NZrmUwmVq9eTUxMTJOtiAoJCUGr1bJv\
3z7WrVuHyWTCaDQSHBwsdmjNkpQA2RGVry8FkZG4WWE6fE5ODl999RXLli1j+fLlaLVajhw5woIF\
C0hISCAhIaF+do1EIrksKSmJKbGx7J48ufnM0WqAU2AgmpUrqTl5ksz77iN4yxZUHTuS/ve/U5WZ\
ecvnC4LA2rVriYiIICIiohEiFkd93yWVCrVajUqlIj4+3qa2v5oT6QzQLdjaXmj6jBloFi6k7Phx\
3KKiLPa6DR1CbNWqFaWlpfTr189i15FImgLdH39QuHw5woYNtElPB5mM3vfcg8LJyebOc4ih9OhR\
Sl98kZCdO6lRqcj7xz8InDcPR2/vBr//5MmTrFu3rn4lxN/fnx49erBx40ZycnLw9/enY8eOdOvW\
rTHfhtVotdqr+y7ZGFu771mLVAZvZ9weeQQWLkT3zTe4zZ1rsde9sleFQqGo72h79OhRzp8/T8uW\
LRk4cKDUql3SLJmqqihctw79mjW479mDZ34+nkCunx/HWrfm7tRUhsnl7Kw9z2GLN7XG5H7XXbhv\
307xnj1Uv/wymi++oPLbb8mdMoXgWbNwUKuv+v4OHTo0OAl93LhxjRVyo/Ly8mr2PyO2QNoCszOe\
PXtS6u2NYutWq7z+lYcQ27dvz9SpU5kwYQIlJSUcO3bMKteUSGxR5aVLZL77Lll9+mD09ibgsccI\
Xr+equBg0l97jaxff+XBdu14xtOTShcX7tPppPMc1/Du25fg5GQKNmygLCwMzYcfUqnRkDF3LmaD\
oVmfn5KIT0qA7IxMLkfXqxe+x45hrKiw6GtfewjR2dkZuVyOXC6nY8eOUqWCpEkTzGaKd+7k0lNP\
UdC2Lc6tWhH6r3/hefw4+QMGkL14Meb8fIIOH0Yzbx4hffoQHx+P3MmJ5NatuSstjfjp06VP9g3w\
i43FPyWF3JUrqfHwIGzmTLRhYXw5YgRTn322WZ+fkohHSoDskMN99+Go11NowXL4hg4hVldX13/9\
4sWL+Pr6Wux6EoktMJSUkL1kCemxsVT4+OA9aBAtlixBZjaTMWkShVu24KLVErZ5M8FPP43jNcnN\
0KFDL5/5ef55HIxGOqSkiPRObJ9MLifw8cfxOX+e1PnzMZlMvLJvH0nJyYyoqWH27NnSSpCkUUln\
gOyQ78MPY5w69XI5vIWGK546dYqzZ89SXl7OsWPH8Pf3R6VScfHiReRyOT4+PgwePNgi15JIxFR2\
8iTar79GmZSE77FjBBuN1KhUFNxzD9rhw/EeOxbfNm3+9Ot5eXnhOXEi2vh4VN99BxY8m9cUyeRy\
qoYPZ/KGDbxcVMSIEydwEIT6fjjSCpqksUgJkB1y9PIit0MH3Cw4Hf5GhxAlEntnNhgo2ryZqh9+\
QL17Nz4ZGbgBJb6+5MTGorz/fvwefJCQaw7m3g6ZXE7ZAw+g+eQTdPv349m9u+XeQBMUHByM3mhk\
l4sLI4BiuVw6PyVpdHaxBTZp0qT6Msg6xcXFDBkyhHbt2jFkyJD6pVNBEJg+fTpt27YlOjqaQ4cO\
1T9n+fLltGvXjnbt2rF8+fJGfx+WVDN4MF45OZTe4ZK7dAhR0hTp8/PJ+ugjMgcPRu/lhd+oUYT+\
978YXV25NG0a2r17cc/LQ7N2LUHjxl1XlfRX+MyYgVkmo/Tjjy3wDpq2un44strhsCoHB6kfjqTx\
CXZg9+7dwsGDB4WoqKj6x1555RXhvffeEwRBEN577z3h1VdfFQRBEDZu3CgMGzZMMJvNwt69e4Xu\
3bsLgiAIRUVFQqtWrYSioiKhuLhYaNWqlVBcXHzLa3fp0sUK7+jOFe/dKwggXHrjjfrHqqurhS+/\
/FJYtmyZsGTJEuHChQs3fY3NmzcLvXv3Fvr37y/07t1bSEpKsnbYEonVaJOThUszZgi5HToIRrlc\
EECodHERMvr3FzLmzxeqsrOtHkP23XcLpV5egtlotPq1moKL33wjCCBcWLRI7FAkV7DV+56l2cUK\
UL9+/fC+poHW+vXrGT9+PADjx49nXe2B4PXr1zNu3DhkMhk9e/ZEp9ORk5PDli1bGDJkCN7e3nh5\
eTFkyBCSkpIa/b1Yimf37pT6+OBwRTm8o6MjEydOZMKECYwZM4bt27ff8PlarZY5c+YwRq/njYIC\
9Hq9dAhRYldMVVXkffMN6WPGoAsIwLNHDzQLFqAsKSHr738n/8cfUel0hO7aRejLL+MUFGT9mMaO\
xU2rJe/bb61+rabA1cMDACeFQuRIJM2R3Z4BysvLI6j2F1pQUBD5+fkAZGVlERYWVv99oaGhZGVl\
3fBxeyWTy9H17k3Qli0YKypwUKuRyWT1jQr1ej3+/v43fH7G4cO8V1JC3xMnkAHBLVsyX6ORDiFK\
bFrFxYsUf/018k2b8D18mIDqaowODhR06kTpxIl4PvYY3tHRNNxv2PoCpkxBP3MmxqVLLVag0JTV\
bYFhMokbiKRZstsE6EaEBiZ7yGSyGz7ekCVLlrBkyRIACgoKLBugBSnj4lBu2EDOmjUE1XZMLS0t\
ZfXq1RQVFTFq1KjrnmOqribrzTcJX7QIR72eXZGRFCuV3Hf6NF9mZZH+0UeYFi5E4ezc2G9HIrlO\
XW+e8u+/x2X7dnxTU1ELAhXu7uQPGIBi1Ch8H3mEIBtJ2pXu7mQMHEjg9u3oCwtRSa0jbq525Ucw\
GEQORNIc2cUWWEMCAgLIyckBqJ8VA5dXdjIyMuq/LzMzk+Dg4Bs+3pApU6Zw4MABDhw4YNNTiX0f\
egijgwOGn36qf8zd3Z1Jkybx5JNPsmnTpqu+P3fFCkpbt0bz4Yfo2rRh5//9H296ebHQ05NxXbuS\
ERVFmy+/pLRNG/K+/76x347ExjQ0IFer1bJs2TISEhJYvny5VQbk1vXmyRg5kgofH3zuvZcWS5aA\
IPyp3jxiU02ZgrKmhvzPPhM7FJsnd3QEQDAaRY5E0iyJfQjpz7p48eJVh6Bffvnlqw5Bv/LKK4Ig\
CEJiYuJVh6C7desmCMLlQ9AtW7YUiouLheLiYqFly5ZCUVHRLa9r64fBsqOjheLAQEEQBMFgMNQ/\
XllZKSyqPVio3b9fyOraVRBA0Pn5CVmLFwtmk0kQBEEoLi4Wjh8/Xn8gPOvzz4USHx9BACFj0CCh\
PDW1kd+RxFaUlZUJ1dXVgiAIwtmzZ4Uff/xR2LJli3D48GFBEATh8OHDwtatWy1yrdLjx4X0f/5T\
yO7cWahxcBAEEPQqlZDZs6eQPmuWUH7+vEWu0xjMJpOg9fcXcjt0EDsUm6dNTr78u+b998UORXIF\
W7/vWYpdbIE9+uij7Nq1i8LCQkJDQ5k1axavv/46Dz/8MEuXLkWj0fDDDz8AMGLECDZt2kTbtm1x\
cXFh2bJlAHh7ezNz5sz6acLx8fHXHay2R4Z77yXoP/+h9OhRyv382LJlC3K5HJPJxKAePUh/5BFC\
1qzBxcGB9KlTCX7/fTyuKPm9dihf8JQpGB55hPTnniPkm28wdOxIxgsvEDprFjLpoGKz0tCAXD8/\
v/oO4VVVVaj/Yvn4lb15XHftwjsz83+9ee67D8cHHsD3/vvvqDePWGRyOaWjRqH54gtKjx3DPTpa\
7JBslsyh9hYkrQBJRCAThAYOx0jqde3alQMHDogdxg3p9u/Hs0cP0l97Dc28ecDlm0vWO+/g85//\
4FxeTua99+K9eDHq2+huC6D9/XdqnnySgJMnKWjTBvlnn+Fz773WeBsSG1ZTU8OKFSsYNWoUjo6O\
rFq1qj7Jnjx5Mk5OTn/qdfT5+RSsWgUbN+KTnIxzRQVmuZyC9u2pvvde3B97DM/u3ZHJ7XZnvl5p\
Sgru0dFcmjyZFl98IXY4Nqvu7ylj1izC4uPFDkdSy9bve5YiJUC3YOs/CILZTGlgIOWhoehWrkR9\
+DCub76J76VL5Ldrh3zhQnyHDbuj18/64AO8330Xp/JyMkePJuDzz1HZ8NkoieWYTCa+++47Onfu\
TEREBGvWrKFDhw5ERkaSkpJCeno6I0eOvOHzdfv3U/rf/6Latg3f06dRmM1UubhQ1L073Hcfvo8+\
2ijl6WLIi4rCqaAA99zcJpHUWUP5mTO4RkSQPnMmv4SHk5OTQ48ePejXrx9paWmsWbMGHx8fAP72\
t79JnaIbia3f9yzFLrbAJDcmk8vJ7NiR8D17yBs9mqjz5ynz8CDzgw8IeemlO/7FK5PLCX39darH\
jydryhTC1q2jcvt2Ct56i5Dnn5d+sTdhQgMDcgFcXFwAUKvVVw3Mhcu9eQp+/JGaH3/E49df8czP\
xxMoDgkh6+9/x2nMGHxjYwmtK39uwmoefZSAmTPJX7cO/wceEDscm1S3BSYzGomLiyM1NfWqg/Xt\
2rUjLi5OrPAkTZyUANk5rVbLkZISooxGolNTWRsdzWJXV76bPNmiyYlTUBBhGzZQsHEjsqlTCX3p\
JXKWL8f5yy/xrD1XJWlaGhqQ27dvXxITE5HL5ZjNZmJjY6/uzXPoEIF6fX1vnpKJE/EcOxbvTp1E\
680jloBnn6Vmzhz0S5aAlAA1qK4PkGA04u7uft3XL1y4wLJlywgICGDIkCEom0HiLGk8UgJk57Kz\
s/lOrWaAvz+ftGjBNrMZtRWnKvuNHIn5b38j/Y03CPjkExS9e5P+j38QvHAhDlccmpXYvxsNyJ04\
YQLFO3dS8d13yN59F5fa3jzlHh7kDxqEIi7OpnrziMXR25uMvn3x370bQ2kpygZu8M2dvC6haeAQ\
dFBQENOmTcPBwYHt27fz+++/079//0aOUNKUSfsXdi44OJgik4lRYWFsM5sBrD5VWa5Uopk/H2NK\
Crm9e6NZtoyKNm3IXbHCateUNJ6GBuQ21JtH88UXIAikP/EERdu2oS4uJmzTJpvszSMW5RNPoKqu\
Ju/zz8UOxSZduQJ0LZVKhUPtFll0dHR93zeJxFKkBMjO1U1VVqlUqNVqVCpVo01VVrdtS+ju3eSu\
XIkABI4fT1ZMDOVnz1r92hLrSEpKIjY2lqlTpzL1vvvYP3EiOZ07g68vwU89RcD27ZRERJAxZw4V\
Fy7gd+ECLb74Ap9775XOgzUg4OGHKfX2RvH112KHYpPqGiHKGhiFceX5sosXL9YfhpZILEWqArsF\
ezkNr9Vqyc7OJjg4WJRZXsbycrJeeIGQhARMCgV5U6cS+t579b/gJLZPq9USO3IkH+fn0z4nB3Vl\
JXC5N09J3771vXkc7LA3j5gujR9P2MqVVJ4+jWt4uNjh2BRTVRUKFxcuTZnC0ZEjyczMxGg04u/v\
T5s2bTh8+DBKpRIXFxdGjRr1p1suSO6Mvdz37pSUAN1Cc/lBsJSSQ4eofOIJgo4coUijwfzpp/jF\
xoodluRPSPn9d2omTqTL2bNUOjuzLjycXe7uTP/0Uzp26iR2eHZL98cfeHbvTvrUqWg++UTscGyK\
YDIhc3Ag/Ykn0Hz5pdjhSGo1l/uetGYtsSiPzp0JPHiQrI8+QlVSgm9cHBkjR1It7d/btOLduwm7\
/37uOXeO76Kj6R8ZyX8cHDhhMhESGip2eHbNs1s38tu1w+3HHxFqz+lJLpMpFAgymdQJWiIKKQGS\
WJxMLidkxgyU58+T8cADhCQlYQ4PJ/Pdd6UbgA3KmD0btyFDUFZXs+ett1jo6oqLq2ujnidr6vSP\
PIJXTg5FW7aIHYrNMctkVJaWXnXoXiJpDFICJLEala8vmtWr0f38MxUBAYT+61/kd+yI9rffxA5N\
wuXKrowhQwh76y2Kw8Ph8GH6v/UWiYmJLFq0iMTERIYOHSp2mE2C39SpGB0cqJQmxF8lKSkJQSaj\
4MwZYmNj2SIliJJGJCVAEqvzHjgQ3zNnSJ85E49Ll3Dv14/0sWMxlJSIHVqzpd23j7KoKEK3b+fS\
hAn4HT6MunVr4HJlYVRUlLTyY0FOgYHk9uqF388/Y6yoEDsc0QlmM6lffEHLp5/GwWSibUEBer2e\
2bNnSytBkkYjJUCSRiFTKNDMno355EmyBw1C89//UtW6NdlSf5RGlzl/PuoBA3DW6chLSKDFsmX/\
a0gnsRoJNGmXAAAYoElEQVTFxIk4V1aS99VXYociGlN1NZnz5lHcsiWtp0whtKiIX9u3Z27LlgA4\
1DZxlUgag5QASRqVS4sWhG3bRt4PP2ByciL46afJ7t6dshMnxA6tyTOWl5MeG0voq6+ia9EC4x9/\
EDhunNhhNRsBjz9Ohbs7smbYMFSfn0/6tGlUBQUR+s9/IjcaOf/GG8RFR/O8qyvJjdTEVSK5kpQA\
SUQRMGYM7hcukP7cc/gdPYpT586kP/ccpmuGa0oso+TQIUqiotBs3Ej63/+Oz9GjuEVGih1WsyJX\
KikaPpyAQ4eovHRJ7HAaRWlKCuljxiDTaNB88gkVISHkLF2KZ2Ymbd95h9dEauIqkYDUB+iWmks/\
BDGVnThB2aRJBO/fjzYoCMPChfiPGSN2WE1G1scf4/vqqwhyOcX/+Q/BTz0ldkjNVvGePXj360f6\
iy+i+fBDscOxmsItW6h+912Cf/0VgOy+fXF+80187r33uu8Vu4mr5HrN5b4nrQBJROcWFUVwcjLZ\
n32GQq/H/6GHyLj33mbzKdlaTFVVpD/4ICHTp1MWFETN3r1S8iMy7759KWzZEvXq1WKHYnGCyUTO\
l1+SFxWF77Bh+CUnk/ngg1QcO0borl0NJj8gHbqXiEdKgCQ2I/ipp3BOTSV97FiCd+5E3qEDGTNn\
IjQwJ0hyc2UnTlDcqROaH38kffRovE6cwD06WuywJEDlmDH4pKdTtHOn2KFYhLG8nIy330YXFkbQ\
k0+izs4mffp0SE9H8/33uEVFiR2iRNIgKQGS2BSlhweaVaso/eUXSlq0IGzuXArbt6do+3axQ7Mb\
OUuX4tC9O+6ZmWT93/+hWbsWhbOz2GFJavlOm4ZJoaBi0SKxQ7kjVZmZpE+Zgj44mLBZszArlWTO\
m4dzTg6aBQtQ+fuLHaJEclNSAiSxSV59+uB//DiZ776LOi8PryFDSH/wQfSFhWKHZrPMNTWkjx1L\
0OTJVPr4ULVnDyHPPy92WJJruGg05HXtis+WLZhrasQO57aVHDpE+qhROLRujeaLLyht25bcVavw\
vniR0NdeQyENLJXYCSkBktgsmVx+uWT27FkyR4wgbO1aDG3bkvXRR9JIjWv8f3t3HxVVgfcB/MuL\
+AKCgIDDDCPyGvKmouCu5SqbWuripvh2ci3NR8rOca1sT9sptx5daSs3283aXF/WtpD2kJusppHm\
polICJhSKSE0MIzyNpAgLzPM7/lDl0fzLVf0ernfzzme41yvd37f473M15l77zSfPIna+HgYMzJQ\
ef/98Dx+HANGjVJ6LLqahx6C+9mzOKOiS+Jrs7Nh/slP4DlyJAJ37sTpcePQsH8/dIWFGPTgg3By\
5ssJqQv3WLrj9dHpYNyxA3XZ2Wj38oL+iSdwesQINB05ovRod4TT774L54QE+Jw6har0dAR99BF6\
eXoqPRZdQ8DDD6PV3R2OzZuVHuWaHDYbzH/+M2oiIuA3bRp8v/wSlQ8+iPZvvkFQTg587rlH6RGJ\
/mssQKQaflOnwru0FKannoLPN9/AffRomBYtgr25WenRFOGw2WBatAgB8+ejvX9/NH/6KQzPPKP0\
WPQjuPTti9oJExBw+DDaLBalx7mMrakJpmeewVm9HvqlS9GnoQGm5cvhXFkJ49//DvewMKVHJLpp\
LECkKs5ubjC++ipsX36J06NHw7hxI5pDQ2FR0UcJ3aGlvBw1CQkwbtwI87hxcC8pgfeYMUqPRTeg\
32OPwbWzEzVvvKH0KF1aTp2C6eGHYdfrYfzDH9DRvz/Ma9fCw2KB8ZVX4Objo/SIRN2GBYhUySMi\
AoYDB2DZsgVOAHQPPYSqsWPRfPKk0qPdcmeysiDDh8P3669RuWIF9Hv2wI33UFEd33vvRYNej77v\
v6/0KLDm5qLyvvvQOzISQe+8A+vQoaj54AMMLC2F/te/5nfFUY/EAkSqpps/H+5lZfhu4UIMOnQI\
veLiYFq+HA6bTenRup10dsL0+OPwmz0b9t69cTYnB0EvvsiTT1XKydkZZ6dPh19ZGax5ebf9+cXh\
wJn334clIQHeY8Zg0N69qJ40CU15eQjMz4f/9Onct6hH495Nqufq4YHBGzeiJS8PDXfdBeOaNbCG\
haF2506lR+s2rWYzLElJML75JiyjR6Pv8ePwGT9e6bHoJg1cuhQOZ2ecXbfutj2no6MDVa++ivrQ\
UATMmQOvkydheuQR2L79FsYdOzAgMfG2zUKkJBYg6jG8EhIwqLAQ5tdeQ++mJgz8xS9gmjr1jjzJ\
9EbU7tgBe1wcAoqLYXr6aQQeOIDefn5Kj0XdwD0sDGfi4+GzY8dV37Wsr6/HypUrYTKZYLfbsW3b\
NmzevBnbtm2D3W7/0c/VXlcH0xNPoEWng+Hpp+Ha2orK555DL7MZxg0b0G/w4O6KRaQKLEDUozg5\
O0O/bBl6lZai8oEHYPjoIzgiI1GVnq66eweJwwHT8uXw+eUvIQCs//oXjC+/zI8lepjOefPg0diI\
mqucC7R//34MvlBOiouL4evriwULFsDX1xfFxcXX3X7ziRMwzZ0LBAXBuHYtzvn7o/ovf4GX2Yyg\
lSt5ywTSLP4kpR6pt58fjB98AOsnn6DF3x+GZ59FTWwsrLm5So/2o7TX1KB6zBgY16zBmeHD4Xb8\
OAbef7/SY9EtMGjxYrT17Qv7xo2X/ZnZbIa7uzs8L5SUiooKREREAAAiIiLw3TW+MLhh3z5UJSej\
79ChMLz/PuoSElC7YwcCvv4agWlpcHJxuTWBiFSCBYh6NN+f/xwDT5xA5XPPwauiAp5jx8I0bx5s\
TU1Kj3ZV9Xv2oC0mBrr8fJiWLoXu8GH00emUHotuEVcPD9SOH4+A3NzLvupl//79uPvuu7set7a2\
ou+F73Xr06cPWltbL1lfHA5Y/vY3nI6Lg09yMvwPHoR52jQ0FxVB//nn8Jsy5dYHIlIJFiDq8Zxc\
XBC0ciU6jx9H9bhxML73HlpDQ1G9fr3So11CHI7zRe3+++Fis6EuKwvG11/nR14a0CctDb06OlBz\
0Reknjx5EoGBgejXr1/Xsr59+6KtrQ0A0N7e3lWGOltbUblqFayDB0O3YAH6f/cdTEuWwFFRAeO2\
bfCMj7+9gYhUwElEROkh7mQjR45EQUGB0mNQN6rJykKvpUvhbbGgOjER/TdtQv/oaEVn6mhoQM30\
6TB89hks8fHw2r6dJ6VqiDgcaNLp0O7ri4CvvgJw/t2f8vJyuLi4oKamBp6enggLC4OLiwvuuece\
HDhwAK4dHdB/8AF8MjLg0dSEBr0eLY8+isCnnoLLhXJEdKO08rrHAnQdWtkRtKaztRXm5cuh27AB\
AGBZvBj6V15R5JusGw4cgNOsWfA6cwZVixYh6K23eH6GBn2XlobB69fj++Liy96x+fDDDzFixAjo\
dDpkZ2ejwWJB72+/Rer69ejX2orTsbGQJ5/EoPnz+Y4h3TStvO6xAF2HVnYErfr+2DE0L1yIwIIC\
NOj1sP/pT/CfPv2mtvnuu+/CYrEgKSkJY8eOvea6latWYdD//i86+vRB89tvI2Du3Jt6blKvsyUl\
8IiNReXChTBeKOY/VLdrF9pWr0bgwYMQJydYfvYz9Hv+ed4TirqVVl73+F8F0jTP2FgEfvEFqt96\
C71aW+E/YwYqJ07EuWtcXXM9KSkpmDBhwjXXsTU1oXLiRAQ9/zwawsOBoiKWH43rHx2NM9HR8Nq+\
HcePHYPVagVw/g7g1W+/jTNRURg4eTL8CgpQNWsWzh0/DsOnn7L8EP2XWICIAAQ++ih6f/stTHPn\
InDvXjgNHQrTihWQzs4b3pbnde6r0pifj7MxMQj65BN8N38+/IqK4B4a+t+OTj3IqbvvhlddHTKW\
LEHqlCk4/MgjaNLrEfjoo+hXUwPTsmWAyQRjZib6R0UpPS6RqrEAEV3g5u0NY0YGmv79b3xvNMK4\
ciVq77oLDfv2ddtzVP3xj+g3diz6Wq2wbNqEwVu2wNnNrdu2T+pltVrxwpdfor1XLyw5eRLZR48i\
adMm2Hv3RtUrr8DdYoHxtdd4F3CibsICRPQDPvfcA/+SElT9/vfob7FgwL33wpSaetk9Wm6EvaUF\
pmnTYHjqKTQGBcGenw/dggXdODWpXXV1NTp69UKzhwcMNTX4zs8Pz40Zg9M7dsCwfDmLMlE3YwEi\
ugInZ2cYnn0WOHEC5vvuQ9C2bbCFh8P8+us3/JUa3x89isaYGBizs2GaORO+x46h/9Cht2hyUqvA\
wEDYbDa8EhqKF0aOxPyBA7FPBHqDQenRiHokFiCia+ir1yNo507Ufvgh2j09oV+2DKcTEtBUWHjV\
v5OdnY3c3FwUFxfjb+np6D16NDzOnEH1m2/C+I9/KHKpPd35vL29sWLFChxwc8O+fv3Qu3dvrFix\
At7e3kqPRtQj8TL469DK5YB0fY6ODlT99rcIWLcOzp2dqH74YejXroWru/tl63a2tcH8q1/BmJWF\
uiFD4PbPf/JuvPSjWK1WVFdXIzAwkOWHFKGV1z3NvQO0e/duREZGIiwsDC+99JLS45CKOLu5wbhm\
DWxHj6ImKQmDN2xAc2goTr/3HoDzL1wlJSWoPnwY9bGxMGZlwZSSggHHjrH80I/m7e2N6Oholh+i\
W0xTBaizsxOPP/44du3aha+++gpbt27FVxduO0/0Y3lERkL/+ec4vWULnBwODJo3D6WJififqVPx\
z7Q0DEhOxgCTCVVr1sC4ffsV3yEiIiJlaaoA5efnIywsDCEhIXBzc8OcOXOwfft2pccilRo0fz7c\
T51C2bx5GHLkCDIPH8ZzBw+iyd0daSNHwp1XeRER3bE0VYDMZjOCgoK6HhsMBpjNZgUnIrVz9fBA\
2zPP4LExY9Dh5oYzAwdiltGIU66uqK6uVno8IiK6ClelB7idrnS+t5OT02XL1q9fj/Xr1wMAamtr\
b/lcpG6BgYH4qrMTE6Ki4ABgA9DbbkdgYKDSoxER0VVo6h0gg8GAysrKrsdVVVVXfJFavHgxCgoK\
UFBQAD/edZWu4z+XL6NPH7h5ePDyZSIiFdDUO0CjRo1CaWkpysvLodfrkZmZiYyMDKXHoh5g0qRJ\
SExM5OXLREQqoakC5OrqijfeeAOTJk1CZ2cnFi5ciOjoaKXHoh7C29ubxYeISCU0VYAAYPLkyZg8\
ebLSYxAREZGCNHUOEBERERHAAkREREQaxAJEREREmsMCRERERJrDAkRERESawwJEREREmsMCRERE\
RJrDAkRERESawwJEREREmsMCRERERJrDAkRERESawwJEREREmsMCRERERJrDAkRERESawwJERERE\
muMkIqL0EHeygQMHIjg4uFu3WVtbCz8/v27dptJ6YiagZ+ZiJnVgJnXoiZm++eYbNDc3Kz3GLeeq\
9AB3urq6um7f5siRI1FQUNDt21VST8wE9MxczKQOzKQOPTWTFvAjMCIiItIcFiAiIiLSHJcXXnjh\
BaWH0KKEhASlR+h2PTET0DNzMZM6MJM6MJM68SRoIiIi0hx+BEZERESawwJ0m+3evRuRkZEICwvD\
Sy+9pPQ417Rw4UL4+/sjJiama1lDQwMmTJiA8PBwTJgwAVarFQAgIli6dCnCwsIQFxeHwsLCrr+z\
ZcsWhIeHIzw8HFu2bLntOS5WWVmJ8ePHIyoqCtHR0Xj99dcBqDtXW1sbEhMTER8fj+joaPzud78D\
AJSXlyMpKQnh4eGYPXs2Ojo6AADt7e2YPXs2wsLCkJSUhIqKiq5tpaenIywsDJGRkfj444+ViHOJ\
zs5ODB8+HFOnTgWg/kzBwcGIjY3FsGHDuq60UfO+BwCNjY1ITU3FXXfdhaioKBw6dEj1mU6cOIFh\
w4Z1/fL09MTatWtVn+u1115DdHQ0YmJiMHfuXLS1tan+mLopQreN3W6XkJAQKSsrk/b2domLi5OS\
khKlx7qqzz77TI4cOSLR0dFdy55++mlJT08XEZH09HT5zW9+IyIiO3fulPvuu08cDoccOnRIEhMT\
RUSkvr5ehgwZIvX19dLQ0CBDhgyRhoaG2x/mgurqajly5IiIiHz//fcSHh4uJSUlqs7lcDjk7Nmz\
IiLS0dEhiYmJcujQIZk5c6Zs3bpVRETS0tLkzTffFBGRdevWSVpamoiIbN26VWbNmiUiIiUlJRIX\
FydtbW1y6tQpCQkJEbvdrkCi/7dmzRqZO3euTJkyRURE9ZkGDx4stbW1lyxT874nIjJ//nz561//\
KiIi7e3tYrVaVZ/pYna7XQICAqSiokLVuaqqqiQ4OFjOnTsnIuePpc2bN6v+mLoZLEC3UW5urkyc\
OLHr8erVq2X16tUKTnR95eXllxSgiIgIqa6uFpHzZSIiIkJERBYvXiwZGRmXrZeRkSGLFy/uWv7D\
9ZSWkpIiOTk5PSZXS0uLDB8+XPLy8sTX11dsNpuIXLrvTZw4UXJzc0VExGazia+vrzgcjsv2x4vX\
U0JlZaUkJyfL3r17ZcqUKeJwOFSf6UoFSM37XlNTkwQHB4vD4bhkuZoz/dDHH38sP/3pT0VE3bmq\
qqrEYDBIfX292Gw2mTJliuzevVv1x9TN4Edgt5HZbEZQUFDXY4PBALPZrOBEN+7MmTPQ6XQAAJ1O\
h5qaGgBXz3YnZ66oqEBRURGSkpJUn6uzsxPDhg2Dv78/JkyYgNDQUAwYMACurq6XzXfx7K6urvDy\
8kJ9ff0dl2nZsmV4+eWX4ex8/sdUfX296jM5OTlh4sSJSEhIwPr16wGo+5g6deoU/Pz8sGDBAgwf\
PhyLFi1CS0uLqjP9UGZmJubOnQtA3f9Wer0ey5cvh9FohE6ng5eXFxISElR/TN0MFqDbSK5wwZ2T\
k5MCk3S/q2W7UzM3NzdjxowZWLt2LTw9Pa+6nlpyubi4oLi4GFVVVcjPz8fXX3992Tr/mU8NmXbs\
2AF/f/9LLsW91nxqyAQABw8eRGFhIXbt2oV169Zh//79V11XDZnsdjsKCwvx2GOPoaioCO7u7tc8\
t1ENmS7W0dGB7OxszJw585rrqSGX1WrF9u3bUV5ejurqarS0tGDXrl2Xrae2Y+pmsADdRgaDAZWV\
lV2Pq6qqEBgYqOBENy4gIAAWiwUAYLFY4O/vD+Dq2e7EzDabDTNmzMCDDz6I6dOnA+gZuQBgwIAB\
GDduHPLy8tDY2Ai73Q7g0vkunt1ut6OpqQk+Pj53VKaDBw8iOzsbwcHBmDNnDj799FMsW7ZM1ZkA\
dD23v78/HnjgAeTn56t63zMYDDAYDEhKSgIApKamorCwUNWZLrZr1y6MGDECAQEBANT9c2LPnj0Y\
MmQI/Pz80KtXL0yfPh25ubmqP6ZuBgvQbTRq1CiUlpaivLwcHR0dyMzMREpKitJj3ZCUlJSuKxm2\
bNmCadOmdS1/5513ICLIy8uDl5cXdDodJk2ahJycHFitVlitVuTk5GDSpEmKzS8ieOSRRxAVFYUn\
n3yya7mac9XW1qKxsREA0Nraij179iAqKgrjx49HVlbWFTP9J2tWVhaSk5Ph5OSElJQUZGZmor29\
HeXl5SgtLUViYqIimdLT01FVVYWKigpkZmYiOTkZ7733nqoztbS04OzZs12/z8nJQUxMjKr3vUGD\
BiEoKAgnTpwAAOzduxdDhw5VdaaLbd26tevjL0DdPyeMRiPy8vJw7tw5iEjXv5Waj6mbdtvONiIR\
OX+1QHh4uISEhMiqVauUHuea5syZI4MGDRJXV1fR6/WyYcMGqaurk+TkZAkLC5Pk5GSpr68XkfNX\
Ii1ZskRCQkIkJiZGvvjii67tbNy4UUJDQyU0NFQ2bdqkVBwRETlw4IAAkNjYWImPj5f4+HjZuXOn\
qnMdPXpUhg0bJrGxsRIdHS0vvviiiIiUlZXJqFGjJDQ0VFJTU6WtrU1ERFpbWyU1NVVCQ0Nl1KhR\
UlZW1rWtVatWSUhIiERERMhHH32kSJ4f2rdvX9dVYGrOVFZWJnFxcRIXFydDhw7tOv7VvO+JiBQV\
FUlCQoLExsbKtGnTpKGhQfWZRM5fUODj4yONjY1dy9Sea8WKFRIZGSnR0dEyb948aWtrU/UxdbN4\
J2giIiLSHH4ERkRERJrDAkRERESawwJEREREmsMCRERERJrDAkRERESawwJEREREmsMCRERERJrD\
AkRERESawwJEREREmsMCRERERJrDAkRERESawwJEREREmsMCRERERJrDAkRERESawwJEREREmsMC\
RERERJrDAkRERESawwJEREREmsMCRERERJrDAkRERESawwJEREREmsMCRERERJrDAkRERESawwJE\
REREmsMCRERERJrDAkRERESawwJEREREmsMCRERERJrDAkRERESawwJEREREmsMCRERERJrDAkRE\
RESawwJEREREmsMCRERERJrDAkRERESawwJEREREmsMCRERERJrDAkRERESa8392rGGSlttJbwAA\
AABJRU5ErkJggg==\
"
frames[15] = "data:image/png;base64,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\
qcYRQgiRl5cnAIi4uDiRkJAgEhISxM6dO2U914kTJ8SQIUNEXFycMBgM4o033hBCCFFSUiJGjBgh\
IiIiRHp6umhpaRFCCNHc3CzS09NFRESEGDFihCgpKelY19KlS0V4eLiIiooSn3zyiSTzXO/AgQMd\
Z4HJeaaSkhIRHx8v4uPjxeDBgzv2fzlve0IIcezYMZGYmCji4uLElClTRG1trexnEuLyCQX+/v6i\
rq6u4zm5z7V48WIRHR0tDAaDmD17tmhpaZH1PnWveCVoIiIiUhx+BUZERESKwwJEREREisMCRERE\
RIrDAkRERESKwwJEREREisMCRERERIrDAkRERESKwwJEREREisMCRERERIrDAkRERESKwwJERERE\
isMCRERERIrDAkRERESKwwJEREREisMCRERERIrDAkRERESKwwJEREREisMCRERERIrDAkRERESK\
wwJEREREisMCRERERIrDAkRERESKwwJEREREisMCRERERIrDAkRERESKwwJEREREisMCRERERIrD\
AkRERESKwwJEREREisMCRERERIrDAkRERESKwwJEREREisMCRERERIrDAkRERESKwwJEREREisMC\
RERERIrDAkRERESKwwJEREREivN/OoAEdu3JDNMAAAAASUVORK5CYII=\
"
/* set a timeout to make sure all the above elements are created before
the object is initialized. */
setTimeout(function() {
anim025f5d3979fb4a16888d92feae7cc4e6 = new Animation(frames, img_id, slider_id, 800.0,
loop_select_id);
}, 0);
})()
</script>
</div>
<br />
以下が全体のコード。
<br />
<script src="https://gist.github.com/mirrornerror/7697186f799246fcf4a0bf86dc3eaa3c.js"></script>
<br />
上記Gist内のコードには(i, j)の組み合わせが倍の2256通りあるパターンについても試しています。組み合わせが多いのでその分時間がかかりますが、同じアルゴリズムで解くことができます。</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-78422559756120153932019-06-08T05:46:00.001+09:002019-06-17T09:18:39.173+09:00Matplotlib Animation embed on web page:アニメーションのWebページ上への埋め込み<div dir="ltr" style="text-align: left;" trbidi="on">
これまでMatplotlibでつくったアニメーションはGIF動画としてWebページ上にアップロードしていましたが、Jupyter Notebook上で表示されるボタン操作付きのアニメーションとして表示できる方法がわかったのでメモ(いまさら)。<br />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/
css/font-awesome.min.css" rel="stylesheet"></link>
<script language="javascript">
function isInternetExplorer() {
ua = navigator.userAgent;
/* MSIE used to detect old browsers and Trident used to newer ones*/
return ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;
}
/* Define the Animation class */
function Animation(frames, img_id, slider_id, interval, loop_select_id){
this.img_id = img_id;
this.slider_id = slider_id;
this.loop_select_id = loop_select_id;
this.interval = interval;
this.current_frame = 0;
this.direction = 0;
this.timer = null;
this.frames = new Array(frames.length);
for (var i=0; i<frames.length; i++)
{
this.frames[i] = new Image();
this.frames[i].src = frames[i];
}
var slider = document.getElementById(this.slider_id);
slider.max = this.frames.length - 1;
if (isInternetExplorer()) {
// switch from oninput to onchange because IE <= 11 does not conform
// with W3C specification. It ignores oninput and onchange behaves
// like oninput. In contrast, Mircosoft Edge behaves correctly.
slider.setAttribute('onchange', slider.getAttribute('oninput'));
slider.setAttribute('oninput', null);
}
this.set_frame(this.current_frame);
}
Animation.prototype.get_loop_state = function(){
var button_group = document[this.loop_select_id].state;
for (var i = 0; i < button_group.length; i++) {
var button = button_group[i];
if (button.checked) {
return button.value;
}
}
return undefined;
}
Animation.prototype.set_frame = function(frame){
this.current_frame = frame;
document.getElementById(this.img_id).src =
this.frames[this.current_frame].src;
document.getElementById(this.slider_id).value = this.current_frame;
}
Animation.prototype.next_frame = function()
{
this.set_frame(Math.min(this.frames.length - 1, this.current_frame + 1));
}
Animation.prototype.previous_frame = function()
{
this.set_frame(Math.max(0, this.current_frame - 1));
}
Animation.prototype.first_frame = function()
{
this.set_frame(0);
}
Animation.prototype.last_frame = function()
{
this.set_frame(this.frames.length - 1);
}
Animation.prototype.slower = function()
{
this.interval /= 0.7;
if(this.direction > 0){this.play_animation();}
else if(this.direction < 0){this.reverse_animation();}
}
Animation.prototype.faster = function()
{
this.interval *= 0.7;
if(this.direction > 0){this.play_animation();}
else if(this.direction < 0){this.reverse_animation();}
}
Animation.prototype.anim_step_forward = function()
{
this.current_frame += 1;
if(this.current_frame < this.frames.length){
this.set_frame(this.current_frame);
}else{
var loop_state = this.get_loop_state();
if(loop_state == "loop"){
this.first_frame();
}else if(loop_state == "reflect"){
this.last_frame();
this.reverse_animation();
}else{
this.pause_animation();
this.last_frame();
}
}
}
Animation.prototype.anim_step_reverse = function()
{
this.current_frame -= 1;
if(this.current_frame >= 0){
this.set_frame(this.current_frame);
}else{
var loop_state = this.get_loop_state();
if(loop_state == "loop"){
this.last_frame();
}else if(loop_state == "reflect"){
this.first_frame();
this.play_animation();
}else{
this.pause_animation();
this.first_frame();
}
}
}
Animation.prototype.pause_animation = function()
{
this.direction = 0;
if (this.timer){
clearInterval(this.timer);
this.timer = null;
}
}
Animation.prototype.play_animation = function()
{
this.pause_animation();
this.direction = 1;
var t = this;
if (!this.timer) this.timer = setInterval(function() {
t.anim_step_forward();
}, this.interval);
}
Animation.prototype.reverse_animation = function()
{
this.pause_animation();
this.direction = -1;
var t = this;
if (!this.timer) this.timer = setInterval(function() {
t.anim_step_reverse();
}, this.interval);
}
</script>
<style>
.animation {
display: inline-block;
text-align: center;
}
input[type=range].anim-slider {
width: 374px;
margin-left: auto;
margin-right: auto;
}
.anim-buttons {
margin: 8px 0px;
}
.anim-buttons button {
padding: 0;
width: 36px;
}
.anim-state label {
margin-right: 8px;
}
.anim-state input {
margin: 0;
vertical-align: middle;
}
</style>
<br />
<div class="animation">
<img id="_anim_img8226524996754530b0a76ff66d8e515c" />
<br />
<div class="anim-controls">
<input class="anim-slider" id="_anim_slider8226524996754530b0a76ff66d8e515c" max="1" min="0" name="points" oninput="anim8226524996754530b0a76ff66d8e515c.set_frame(parseInt(this.value));" step="1" type="range" value="0" />
<br />
<div class="anim-buttons">
<button onclick="anim8226524996754530b0a76ff66d8e515c.slower()"><i class="fa fa-minus"></i></button>
<button onclick="anim8226524996754530b0a76ff66d8e515c.first_frame()"><i class="fa fa-fast-backward">
</i></button>
<button onclick="anim8226524996754530b0a76ff66d8e515c.previous_frame()">
<i class="fa fa-step-backward"></i></button>
<button onclick="anim8226524996754530b0a76ff66d8e515c.reverse_animation()">
<i class="fa fa-play fa-flip-horizontal"></i></button>
<button onclick="anim8226524996754530b0a76ff66d8e515c.pause_animation()"><i class="fa fa-pause">
</i></button>
<button onclick="anim8226524996754530b0a76ff66d8e515c.play_animation()"><i class="fa fa-play"></i>
</button>
<button onclick="anim8226524996754530b0a76ff66d8e515c.next_frame()"><i class="fa fa-step-forward">
</i></button>
<button onclick="anim8226524996754530b0a76ff66d8e515c.last_frame()"><i class="fa fa-fast-forward">
</i></button>
<button onclick="anim8226524996754530b0a76ff66d8e515c.faster()"><i class="fa fa-plus"></i></button>
</div>
<form action="#n" class="anim-state" name="_anim_loop_select8226524996754530b0a76ff66d8e515c">
<input id="_anim_radio1_8226524996754530b0a76ff66d8e515c" name="state" type="radio" value="once" />
<label for="_anim_radio1_8226524996754530b0a76ff66d8e515c">Once</label>
<input checked="" id="_anim_radio2_8226524996754530b0a76ff66d8e515c" name="state" type="radio" value="loop" />
<label for="_anim_radio2_8226524996754530b0a76ff66d8e515c">Loop</label>
<input id="_anim_radio3_8226524996754530b0a76ff66d8e515c" name="state" type="radio" value="reflect" />
<label for="_anim_radio3_8226524996754530b0a76ff66d8e515c">Reflect</label>
</form>
</div>
</div>
<br />
<br />
<script language="javascript">
/* Instantiate the Animation class. */
/* The IDs given should match those used in the template above. */
(function() {
var img_id = "_anim_img8226524996754530b0a76ff66d8e515c";
var slider_id = "_anim_slider8226524996754530b0a76ff66d8e515c";
var loop_select_id = "_anim_loop_select8226524996754530b0a76ff66d8e515c";
var frames = new Array(50);
frames[0] = "data:image/png;base64,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\
LHiiAAAAAElFTkSuQmCC\
"
frames[1] = "data:image/png;base64,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\
0v8Hf/41f4eO9FAAAAAASUVORK5CYII=\
"
frames[2] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU5aH/8e8kkz0kECCYybAYA0lI\
SCIMixtuBCTcG1BcUFq0aCMutffnVX92u61eqfiqvVcrXmzaW4v9qVi8aqwCBRfUIhAjuEBEI7Jk\
IQskQBLIOuf3B22umgABkjnzTD7vf2BmnmS+PCTnO+c5Z844LMuyBACAYYLsDgAAwOmgwAAARqLA\
AABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAA\
RqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEai\
wAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAA\
AEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARrK9wMrK\
ynTppZcqLS1N6enpevzxx7uMsSxLd911l5KTk5WZmaktW7bYkBQA4E+ctgdwOvXrX/9a48ePV0ND\
gyZMmKCcnByNHTu2c8zq1atVWlqq0tJSbd68Wbfddps2b95sY2oAgN1s3wNLSEjQ+PHjJUkDBgxQ\
WlqaKioqvjGmsLBQCxYskMPh0JQpU3Tw4EHt27fPjrgAAD9he4F93e7du7V161ZNnjz5G/dXVFRo\
+PDhnbfdbneXkgMA9C+2LyH+Q2Njo+bOnavHHntMMTEx33jMsqwu4x0OR5f7CgoKVFBQIEnasWOH\
UlNT+yYsAASo3bt3a//+/XbH6BG/KLC2tjbNnTtX8+fP11VXXdXlcbfbrbKyss7b5eXlcrlcXcbl\
5+crPz9fkuTxeFRcXNx3oQEgAHk8Hrsj9JjtS4iWZenmm29WWlqa7r777m7H5OXl6ZlnnpFlWdq0\
aZNiY2OVkJDg46QAAH9i+x7Yhg0b9Kc//Unjxo1Tdna2JOmXv/yl9u7dK0latGiRcnNztWrVKiUn\
JysyMlJPP/20nZEBAH7A9gK78MILuz3G9XUOh0NPPvmkjxIBAExg+xIiAACngwIDABiJAgMAGIkC\
AwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMA\
GIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJ\
AgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABjJ9gJbuHCh4uPjlZGR0e3j69evV2xsrLKzs5Wd\
na0HH3zQxwkBAP7IaXeAm266SXfeeacWLFhw3DEXXXSRXnvtNR+mAgD4O9v3wKZOnaq4uDi7YwAA\
DGN7gfXExo0blZWVpZkzZ2r79u12xwEA+AHblxBPZvz48dqzZ4+io6O1atUqzZkzR6Wlpd2OLSgo\
UEFBgSSptrbWlzEBAD7m93tgMTExio6OliTl5uaqra1N+/fv73Zsfn6+iouLVVxcrKFDh/oyJgDA\
x/y+wKqqqmRZliSpqKhIXq9XgwcPtjkVAMButi8hXn/99Vq/fr32798vt9utBx54QG1tbZKkRYsW\
6cUXX9SyZcvkdDoVERGhFStWyOFw2JwaAGA3h/WP3ZsA4/F4VFxcbHcMADCKSdtOv19CBACgOxQY\
AMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASLYX2MKFCxUfH6+MjIxuH7csS3fddZeS\
k5OVmZmpLVu2+DghAMAf2V5gN910k9asWXPcx1evXq3S0lKVlpaqoKBAt912mw/TAQD8le0FNnXq\
VMXFxR338cLCQi1YsEAOh0NTpkzRwYMHtW/fPh8mBAD4I6fdAU6moqJCw4cP77ztdrtVUVGhhIQE\
G1MBQM+0d3jlcDgUHOTQgYYW7d7fqLYOS+0dXrV7LbV3WDoveYiiwp060NiiusYWRYWFaEC4U5Fh\
TgUHOez+J/gtvy8wy7K63OdwdP8fWlBQoIKCAklSbW1tn+YCAOnYNqrDa8kZHKTPKg7p5eIyHWhs\
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\
lVeqqKio2wLLz89Xfn6+JHGyBwAEOL9fQmxqalJDQ0Pn39euXauMjAybUwEA7GZrgb388styu93a\
uHGjZs2apRkzZkiSKisrlZubK0mqrq7WhRdeqKysLE2aNEmzZs3SFVdcYWdsAIAfcFiWZdkdoi94\
PJ4TvrcMANCVSdtOv19CBACgOxQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBI\
FBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQY\
AMBIthbYvffeq9TUVGVmZurKK6/UwYMHux23Zs0apaSkKDk5WUuWLPFxSgCAP7K1wHJycrRt2zZ9\
8sknGjNmjB5++OEuYzo6OnTHHXdo9erVKikp0fPPP6+SkhIb0gIA/ImtBTZ9+nQ5nU5J0pQpU1Re\
Xt5lTFFRkZKTk5WUlKTQ0FDNmzdPhYWFvo4KAPAzfnMM7A9/+INmzpzZ5f6KigoNHz6887bb7VZF\
RYUvowEA/JCzr59g2rRpqqqq6nL/4sWLNXv27M6/O51OzZ8/v8s4y7K63OdwOLp9roKCAhUUFEiS\
tm3bJo/HcybRfaK2tlZDhw61O8ZJkbP3mJBRImdvMyXnjh077I7QY31eYG+88cYJH1++fLlee+01\
vfnmm90Wk9vtVllZWeft8vJyuVyubr9Xfn6+8vPzJUkej0fFxcVnkNw3yNm7TMhpQkaJnL3NpJym\
sHUJcc2aNXrkkUf06quvKjIystsxEydOVGlpqXbt2qXW1latWLFCeXl5Pk4KAPA3thbYnXfeqYaG\
BuXk5Cg7O1uLFi2SJFVWVio3N1eS5HQ6tXTpUs2YMUNpaWm69tprlZ6ebmdsAIAf6PMlxBP58ssv\
u73f5XJp1apVnbdzc3M7C62n/rGU6O/I2btMyGlCRomcvY2cvc9hdXeWBAAAfs5vTqMHAOBUBEyB\
mXJZqpUrVyo9PV1BQUEnPCNp1KhRGjdunLKzs205K6inOe2cz7q6OuXk5Gj06NHKyclRfX19t+Ps\
msuTzY1lWbrrrruUnJyszMxMbdmyxWfZvu5kOdevX6/Y2FhlZ2crOztbDz74oM8zLly4UPHx8crI\
yOj2cX+Zy5Pl9Ie5lKSysjJdeumlSktLU3p6uh5//PEuY/xlTk/IChB//etfrba2NsuyLOu+++6z\
7rvvvi5j2tvbraSkJGvnzp1WS0uLlZmZaW3fvt2nOUtKSqwdO3ZYF198sfXBBx8cd9zIkSOt2tpa\
Hyb7pp7ktHs+7733Xuvhhx+2LMuyHn744W7/zy3Lnrnsydy8/vrr1hVXXGF5vV5r48aN1qRJk3ya\
sac53377bWvWrFk+z/Z177zzjvXhhx9a6enp3T7uD3NpWSfP6Q9zaVmWVVlZaX344YeWZVnW4cOH\
rdGjR/vlz+fJBMwemCmXpUpLS1NKSopPn/N09CSn3fNZWFioG2+8UZJ044036pVXXvHZc59MT+am\
sLBQCxYskMPh0JQpU3Tw4EHt27fP73L6g6lTpyouLu64j/vDXEonz+kvEhISNH78eEnSgAEDlJaW\
1uUKR/4ypycSMAX2dYFwWSqHw6Hp06drwoQJnVcX8Td2z2d1dbUSEhIkHfuFrKmp6XacHXPZk7mx\
e/5OJcPGjRuVlZWlmTNnavv27b6M2CP+MJc95W9zuXv3bm3dulWTJ0/+xv0mzKmtp9GfKl9elqqv\
c57Mhg0b5HK5VFNTo5ycHKWmpmrq1Kl+ldMX83mijD3li7n8tp7Mja9+Hk+kJxnGjx+vPXv2KDo6\
WqtWrdKcOXNUWlrqq4g94g9z2RP+NpeNjY2aO3euHnvsMcXExHzjMRPm1KgC8+VlqfoyZ0/8I1d8\
fLyuvPJKFRUV9fpG90xz+mI+T5Rx2LBh2rdvnxISErRv3z7Fx8d3O84Xc/ltPZkbX/08nkhPMnx9\
w5abm6vbb79d+/fv15AhQ3yW82T8YS57wp/msq2tTXPnztX8+fN11VVXdXnchDkNmCXEQLosVVNT\
kxoaGjr/vnbt2uOe1WQnu+czLy9Py5cvl3TsxUt3e412zWVP5iYvL0/PPPOMLMvSpk2bFBsb27kk\
6is9yVlVVdX5aryoqEher1eDBw/2ac6T8Ye57Al/mUvLsnTzzTcrLS1Nd999d7djjJhTW04d6QPn\
nHOO5Xa7raysLCsrK8u69dZbLcuyrIqKCmvmzJmd415//XVr9OjRVlJSkvXQQw/5POdLL71kJSYm\
WqGhoVZ8fLw1ffr0Ljl37txpZWZmWpmZmdbYsWP9Nqdl2Tuf+/fvty677DIrOTnZuuyyy6wDBw50\
yWjnXHY3N8uWLbOWLVtmWZZleb1e6/bbb7eSkpKsjIyME56VamfOJ554who7dqyVmZlpTZ482dqw\
YYPPM86bN88666yzLKfTaSUmJlq///3v/XIuT5bTH+bSsizrvffesyRZ48aN69xmvv766345pyfC\
lTgAAEYKmCVEAED/QoEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCM\
RIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESB\
AQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEA\
jESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIz0/wHP7UAEBZ/5CQAAAABJRU5ErkJggg==\
"
frames[3] = "data:image/png;base64,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\
Li5OaWlpXT7uL+vyTHP6w7qUpJKSEl155ZVKSUlRamqqHnvssU7L+Ms6PS0rQPz1r3+1WltbLcuy\
rPvuu8+67777Oi3T1tZmJSQkWHv27LGam5ut9PR0a9euXT6ds6ioyNq9e7d1+eWXWx988MEplxs5\
cqRVXV3tw8lO1p057V6f9957r/XQQw9ZlmVZDz30UJf/zy3LnnXZnXXz2muvWddcc43l9XqtTZs2\
WRMnTvTpjN2d8+2337ZmzZrl89m+6p133rE+/PBDKzU1tcvH/WFdWtaZ5/SHdWlZllVeXm59+OGH\
lmVZ1tGjR63Ro0f75b/PMwmYLTBTLkuVkpKipKQknz7n2ejOnHavz/z8fC1cuFCStHDhQr388ss+\
e+4z6c66yc/P14IFC+RwODR58mTV1dXp4MGDfjenP5g6daoGDhx4ysf9YV1KZ57TX8THx2vcuHGS\
pH79+iklJaXTFY78ZZ2eTsAE7KsC4bJUDodD06dP1/jx4zuuLuJv7F6flZWVio+Pl3TiB7KqqqrL\
5exYl91ZN3avv28yw6ZNm5SRkaGZM2dq165dvhyxW/xhXXaXv63Lffv2adu2bZo0adJJ95uwTm09\
jf6b8uVlqXp7zjPZuHGjXC6XqqqqlJWVpeTkZE2dOtWv5vTF+jzdjN3li3X5dd1ZN77693g63Zlh\
3Lhx2r9/v6Kjo7VmzRrNmTNHxcXFvhqxW/xhXXaHv63LhoYGzZ07V48++qhiYmJOesyEdWpUwHx5\
WarenLM7vpwrLi5O1157rQoKCnr8Rfdc5/TF+jzdjEOHDtXBgwcVHx+vgwcPKi4ursvlfLEuv647\
68ZX/x5PpzszfPWFLTs7W3feeadqamo0ePBgn815Jv6wLrvDn9Zla2ur5s6dq/nz5+u6667r9LgJ\
6zRgdiEG0mWpGhsbVV9f3/Hn9evXn/KsJjvZvT5zcnK0atUqSSd+eelqq9GuddmddZOTk6Onn35a\
lmVp8+bNio2N7dgl6ivdmbOioqLjt/GCggJ5vV4NGjTIp3OeiT+sy+7wl3VpWZZuu+02paSk6J57\
7ulyGSPWqS2njvSCCy64wHK73VZGRoaVkZFh3X777ZZlWVZZWZk1c+bMjuVee+01a/To0VZCQoL1\
4IMP+nzOF1980Ro2bJgVGhpqxcXFWdOnT+805549e6z09HQrPT3dGjNmjN/OaVn2rs+amhrrqquu\
shITE62rrrrKOnToUKcZ7VyXXa2blStXWitXrrQsy7K8Xq915513WgkJCVZaWtppz0q1c87HH3/c\
GjNmjJWenm5NmjTJ2rhxo89nnDdvnnXeeedZTqfTGjZsmPW73/3OL9flmeb0h3VpWZb13nvvWZKs\
sWPHdrxmvvbaa365Tk+HK3EAAIwUMLsQAQB9CwEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBI\
BAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEA\
jETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgY\
AMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkf4/TnU7L9CAB9QAAAAASUVORK5C\
YII=\
"
frames[4] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU9b3/8fckkz0krMEMwxaDISQk\
EYZFRdwISLg3oLigtGCxjbiU3p+3+rPbvdVKxUfbe7Xixaa9pdifFYtXjVWg4IJaBGIEFYhoRJas\
JIEEkkDWOb8/sLnSBAiQzJnv5PX8KzNzknw4JPPKWeaMw7IsSwAAGCbI7gEAADgfBAwAYCQCBgAw\
EgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAA\
ACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQC\
BgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABG\
ImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACPZHrDi4mJdc801Sk5O\
VkpKip588skOy1iWpSVLligxMVFpaWnavn27DZMCAPyJ0/YBnE796le/0rhx41RXV6fx48crMzNT\
Y8aMaV9m3bp1KioqUlFRkbZt26a7775b27Zts3FqAIDdbN8Ci4+P17hx4yRJffr0UXJyskpLS09Z\
Ji8vTwsWLJDD4dDkyZNVW1ur8vJyO8YFAPgJ2wP2dfv379eOHTs0adKkU+4vLS3V0KFD22+73e4O\
kQMA9C6270L8u/r6es2dO1dPPPGEYmJiTnnMsqwOyzscjg735ebmKjc3V5K0Z88ejR49umeGBYAA\
tX//flVXV9s9Rpf4RcBaWlo0d+5czZ8/XzfeeGOHx91ut4qLi9tvl5SUyOVydVguJydHOTk5kiSP\
x6OCgoKeGxoAApDH47F7hC6zfReiZVm68847lZycrPvvv7/TZbKzs/Xss8/Ksixt3bpVsbGxio+P\
9/GkAAB/YvsW2ObNm/XHP/5RY8eOVUZGhiTp5z//uQ4ePChJWrx4sbKysrR27VolJiYqMjJSK1eu\
tHNkAIAfsD1gU6ZM6fQY19c5HA49/fTTPpoIAGAC23chAgBwPggYAMBIBAwAYCQCBgAwEgEDABiJ\
gAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACA\
kQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgED\
ABiJgAEAjETAAABGImAAACPZHrBFixYpLi5OqampnT6+adMmxcbGKiMjQxkZGXrkkUd8PCEAwB85\
7R7gjjvu0H333acFCxacdpkrr7xSr732mg+nAgD4O9u3wKZOnar+/fvbPQYAwDC2B6wrtmzZovT0\
dM2cOVO7d++2exwAgB+wfRfi2YwbN04HDhxQdHS01q5dqzlz5qioqKjTZXNzc5WbmytJqqqq8uWY\
AAAf8/stsJiYGEVHR0uSsrKy1NLSourq6k6XzcnJUUFBgQoKCjRo0CBfjgkA8DG/D1hFRYUsy5Ik\
5efny+v1asCAATZPBQCwm+27EG+77TZt2rRJ1dXVcrvdevjhh9XS0iJJWrx4sV588UWtWLFCTqdT\
ERERWr16tRwOh81TAwDs5rD+vnkTYDwejwoKCuweAwCMYtJzp9/vQgQAoDMEDABgJAIGADASAQMA\
GImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEw\
AICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADAS\
AQMAGImAAQCMRMAAAEYiYAAAI9kesEWLFikuLk6pqamdPm5ZlpYsWaLExESlpaVp+/btPp4QAOCP\
bA/YHXfcofXr15/28XXr1qmoqEhFRUXKzc3V3Xff7cPpAAD+yvaATZ06Vf379z/t43l5eVqwYIEc\
DocmT56s2tpalZeX+3BCAIA/cto9wNmUlpZq6NCh7bfdbrdKS0sVHx9v41QA0DWtbV45HA4FBzl0\
uK5J+6vr1dJmqbXNq1avpdY2S5clDlRUuFOH65t0pL5JUWEh6hPuVGSYU8FBDrv/CX7L7wNmWVaH\
+xyOzv9Dc3NzlZubK0mqqqrq0bkAQDr5HNXmteQMDtKnpUf1ckGxDtc3q6quUYfrmlTT0KzffWey\
xgyJ1ftFVVqat7vD13junst1cXgfbdxZrifWf3bKY33CnVq1+HK5+kXok4M12lfVIHf/SA3tH6mB\
fcIU1IsD5/cBc7vdKi4ubr9dUlIil8vV6bI5OTnKycmRJHk8Hp/MB6D3aPNaKqo4pl0lR7X3UJ2+\
OFSvLyvr9ZMbUnV18mCdaGnT3z6v0sA+YRoYHabR8TEa2CdMfSNDJUmXjRqkp++YIGewQ84gh0KC\
g+QMDtKQfhGSpCuT4jQ4NkINTa2qO9Gi+qZWHT3erIF9wiRJb+0+pNVbD7TPExEarNGuGD3xjfEK\
CwlWc6tXoU7bjwz5jN8HLDs7W8uXL9e8efO0bds2xcbGsvsQgE94vZb2VtbLGezQyEHROni4QXf8\
Zqukk1tGFw/uo5np8booNlySNG5Ef6194JrTfr2BfcLaY9SZIf0jNaR/5Gkfv2/6Jbpl8jCVHDmh\
kiPH9WVlvSqPNSosJFiS9G8vfqw9ZceU4u6r9GF9dfklg+Q+w9czne0Bu+2227Rp0yZVV1fL7Xbr\
4YcfVktLiyRp8eLFysrK0tq1a5WYmKjIyEitXLnS5okBBLJjJ1r07p5Kbf68Stv3H9HR4y36p0uH\
6MdzUjViYJQevTldqe5YDY4NP+3hjJ7iDA6Sq1+kXP0iNfHiAR0en5IUJ2dwkHaV1OrN3RX6j3V7\
dNXoOD1+26WSTgY5kHY5OqzODjIFAI/Ho4KCArvHAGCAr+96u/nX76n48HHFxYTLk9Bf40f2l2dk\
fw2OjbB5ynNTcuS4Nn9epehwp2ZlDFFzq1dzn3xXY919dfWYwZqaFKfw0OAOn2fSc6ftW2AAYIeG\
xla9VVihN3dXaO+her38f6bKGRyk781IUr+oUI0ZEuvzLazu5O4fqVsnD2+/fbypVZclDtT7RdV6\
q/CQIsOCdd2YizT/ihEaMSjaxknPHwED0KscrG7Qc+/v14ad5TrR3KYh/SJ0fbpLTa1eOYODNCUp\
zu4Re0TfqFD9cHaqvF5LOw7UaN3HZXpzd4XmeNySpLKa42rzmrVDjoABCHgnmlvV1OJV36hQVdU1\
av0nZZqeGq/ZHrdSDN/SOldBQQ6NH3ly1+j3s5IVFnJy1+mq9/bp/SKzXn7EMTAAAav0yHE9v+WA\
1n1cplkZLt2flSzLslTf2Ko+ESF2j+dXKo82qvjIcd1183RjnjvZAgMQcPYeqtOzf9unN3ZVKMgh\
XZdykaaPPfnyG4fDQbw6ERcbrrivXg5gCgIGIOD86f39endPpW6dPFy3XTZcg2LMemJG1xAwAMYr\
+PKw/vDul7o38xIlD4nV3dMu0ZIZSYr96goYCEwEDICxPis/pqc3fq78vYc1sE+YquubJOmMV7tA\
4CBgAIz0+F926+WCEsVEhOh7M5J044Sh7ZdUQu9AwAAY49iJFvUJd8rhcCi+b4QWTBmpb04ZyUkZ\
vRQBA+D3Wlq9emHrAf3hvS/1kzmpuip5sBZcmWD3WLAZAQPg1z7cd0S/eL1Q+6sadMUlgzRsYJTd\
I8FPEDAAfuuJ9Xu0essBxfeN0C9vvzRgL/OE80PAAPiV1javpJNvHZLijtWiqxK04MoEhXOCBv4B\
AQPgN3aX1OrxvxRqRppL868YocxU3rwWp0fAANiuqaVNv337C/3p/f0a0CdM7v5mvfcW7EHAANhq\
T9kx/fSlT7S/qkHZ44ZoyYwkRYdzWjzOjoABsFVTa5saW9r0xDfHa3LiQLvHgUEIGACf211Sq48O\
1Gr+FSOUPqyf1nz3SoU4g+weC4YhYAB8prXNq9+/s1d/ePdLxcWEa47HragwJ/HCeSFgAHyirOaE\
/v1/PtHO4lplZbh0/8zRigrjKQjnj58eAD2usblN3/7dVjW1ePWzm9KUOZbT43HhCBiAHtPc6lWo\
M0jhocF6YNYYJcX3katfpN1jIUCw4xlAj9hTdlTz/2uzNuwslyRdM2Yw8UK3YgsMQLeyLEsv5h/U\
k3/9TP2jwjSIN5dEDyFgALrN8aZWLfvLbm3YWaErLhmkf7shVbGRoXaPhQBFwAB0m4J9R/TGrgot\
vm6UFkwZqaAgh90jIYARMAAXrLz2hOL7Rmjq6Ditvm8K79kFn+AkDgDnrbXNqyfW79GtT/1NXxyq\
kyTiBZ9hCwzAeTlc16Qf/vkjfXywVjdPGqbhAwgXfIuAAThne8qO6cHnd+jYiRY9clOapvPCZNiA\
gAE4Z28XHlKQQ8q9c6IuiY+xexz0Un5xDGz9+vVKSkpSYmKili1b1uHxTZs2KTY2VhkZGcrIyNAj\
jzxiw5RA7+b1WiqrOSFJyrk2UasWX0a8YCvbt8Da2tp07733auPGjXK73ZowYYKys7M1ZsyYU5a7\
8sor9dprr9k0JdC7NTS26t9f+kR7yo7pT/deoZiIEF7fBdvZvgWWn5+vxMREJSQkKDQ0VPPmzVNe\
Xp7dYwH4SsmR4/rOf2/TlqJq3XFlgvqE2/53LyDJDwJWWlqqoUOHtt92u90qLS3tsNyWLVuUnp6u\
mTNnavfu3b4cEei1PjpQo0W5W1Vd16QnvzleN00aJoeDFyfDP9j+p5RlWR3u+8dfkHHjxunAgQOK\
jo7W2rVrNWfOHBUVFXX4vNzcXOXm5kqSqqqqemZgoBd5/v396hcVql/NHyd3fy7EC/9i+xaY2+1W\
cXFx++2SkhK5XK5TlomJiVF0dLQkKSsrSy0tLaquru7wtXJyclRQUKCCggINGjSoZwcHApRlWWpo\
bJUk/dsNY5V750TiBb9ke8AmTJigoqIi7du3T83NzVq9erWys7NPWaaioqJ9Sy0/P19er1cDBgyw\
Y1wgoLW0evWzl3fpvlUfqKmlTVHhTk7WgN+yfRei0+nU8uXLNWPGDLW1tWnRokVKSUnRM888I0la\
vHixXnzxRa1YsUJOp1MRERFavXo1++GBbnb0eLN+8MJH2r6/RjnXJCrUafvft8AZOazODkIFAI/H\
o4KCArvHAIxQcuS4/vW57SqrOa4fzUnV9Wmus38SApJJz522b4EBsJdlWXrk5Z2qaWjWUwsnKGN4\
P7tHArqEgAG9nMPh0E9vHKvWNosrycMo7OQGeqnXdpTq0Vd2yeu15OoXSbxgHAIG9DKWZWnlO3v1\
6Cu7dOhoo5pbvXaPBJwXdiECvUib19J/rP1U//NBsWakxevHs1MVwtmGMBQBA3qRpXm7tPajMn3j\
ihG6Z9olCgri5SgwFwEDepGsdJeS4mN06+Thdo8CXDD2HQAB7nB9k9Z9XCZJ8iQMIF4IGGyBAQGs\
rOa4ljxboMP1zZqYMEAD+oTZPRLQbQgYEKD2HqrT9/74oZpb2/TUAg/xQsAhYEAA2llcq/v/34cK\
DwnWM4smKSEu2u6RgG5HwIAA9FnZMcVGhurXCzxy9YuwexygRxAwIIAcPd6s2MhQ3TRpmGZd6lJE\
KL/iCFychQgEiFc/LNHcJ99TUcUxSSJeCHgEDAgAq7fs189f3a1Ud18N7c81DdE78CcaYDDLsvT7\
d/bqt2/v1TVjBuuRuWlcGgq9BgEDDPbGrgr99u29mpXh0g+yU+QMJl7oPQgYYLBrxgzWD7NT9E+X\
DuG6huh1+HMNMExrm1dPbfhMh+ua5AwOUvZ4N/FCr0TAAIM0t3r1wz9/rOc279fmz6vsHgewFbsQ\
AUM0NrfpoRd2aOsXh/X9rGRlj3fbPRJgKwIGGKChqVUP/Gm7dhyo0Y9mp+ifxxEvgIABBmhp9aqu\
sVUPz03T9LHxdo8D+AUCBvixo8ebFRnqVN+oUK3Mmcxp8sDX8NsA+KnDdU26Z+UHejRvlyQRL+Af\
8BsB+KHKo426e2W+ympP6J8vHWL3OIBfYhci4GfKak7ovlUfqPZ4s5745nilD+tn90iAXyJggB/x\
ei098Px21Z1o0VMLPEpx97V7JMBvETDAjwQFOfSDf05RiDNISfExdo8D+DWOgQF+YO+hOv156wFJ\
UurQvsQL6AK2wACbfVZ+TEueLVBocJBmprvUJyLE7pEAI7AFBtiosPSo7vvDB4oICdaKRROJF3AO\
/CJg69evV1JSkhITE7Vs2bIOj1uWpSVLligxMVFpaWnavn27DVMC3euTgzX67qoC9YkI0YpFE+Xu\
H2n3SIBRbA9YW1ub7r33Xq1bt06FhYV6/vnnVVhYeMoy69atU1FRkYqKipSbm6u7777bpmmB7rOv\
qkEDokP1zLcmKr5vhN3jAMaxPWD5+flKTExUQkKCQkNDNW/ePOXl5Z2yTF5enhYsWCCHw6HJkyer\
trZW5eXlNk0MXJiGxlZJ0uzxbv3x7ssVFxtu80SAmWwPWGlpqYYOHdp+2+12q7S09JyXAUzwflGV\
bnjiXX1ysEaSFBYSbPNEgLlsD5hlWR3uczgc57yMJOXm5srj8cjj8aiqijf7g395d0+l/u/zO3RR\
33ANHxhl9ziA8WwPmNvtVnFxcfvtkpISuVyuc15GknJyclRQUKCCggINGjSo54YGztFbhRX6wQsf\
adRFfbR84QTFRobaPRJgPNsDNmHCBBUVFWnfvn1qbm7W6tWrlZ2dfcoy2dnZevbZZ2VZlrZu3arY\
2FjFx/OeSDDDzuJa/WTNJxozJFa/XuBRDKfKA93C9hcyO51OLV++XDNmzFBbW5sWLVqklJQUPfPM\
M5KkxYsXKysrS2vXrlViYqIiIyO1cuVKm6cGum7MkFjddW2i5k4cpqgw23/lgIDhsDo7wBQAPB6P\
CgoK7B4Dvdi6j8s0bkQ/DY7lFHmYw6TnTtt3IQKB6M9bD+jhl3Zq1Xv77B4FCFjszwC62XOb9+mp\
DZ/rqtFx+pfrR9s9DhCwCBjQjVa+s1e/eesLXZdykR6eO1bOYHZyAD2FgAHdpLGlTW8XHtL1afH6\
8ZxU4gX0MAIGXCDLstTaZik8JFhP3zFBkWFOBQd1fKE9gO7Fn4jABfB6Lf1q7ad66IWP1NrmVZ+I\
EOIF+AgBA85Tm9fSY6/u1ov5xRoxMIpwAT7GLkTgPLS2efXIyzu1YWeF7rzqYn37mos7vT4ngJ5D\
wIDz8Phrhdqws0L3TBulBVcm2D0O0CsRMOA8zJ0wTEnxMbpp4jC7RwF6LY6BAV10vKlVaz86+T50\
o13EC7AbW2BAF9SdaNH9z23X7pJajXbFKiEu2u6RgF6PgAFncaS+Sf/yxw/1ZVW9lt6SQbwAP0HA\
gDOoPNqo7z5boIqjJ/TL28dpcuJAu0cC8BUCBpzBrpJaHalv0pPf9ChjeD+7xwHwNQQM6ERjS5vC\
Q4J1bcpFGj+yv2IjQ+0eCcA/4CxE4B8Ulh7VzU++pw++PCxJxAvwUwQM+Jrt+4/ovlUfyBkcJFdf\
3kkZ8GfsQgS+8u6eSv14zcdy9YvQrxd4FBcTbvdIAM6AgAGSdpfU6qHVO5Q8JFb/MX8cuw0BAxAw\
QNKYIbH67vQkzR7vVmQYvxaACTgGhl7Lsiz94d0vVXLkuBwOh267fATxAgxCwNArtXktLftLoZ55\
s0jrPi6zexwA54E/N9HrNLW06eGXduqtwkO6Y2qCvn31xXaPBOA8EDD0KvWNLXrw+R3avr9G35uR\
pNsuH2H3SADOEwFDrxIc5FCr19LDc8dqRprL7nEAXAAChl7hQHWDBvYJU1SYU898a6KCghx2jwTg\
AnESBwLeRwdq9J3fbdUvXiuUJOIFBAgChoC26dND+t6zBeobGaqcaxPtHgdAN2IXIgLWi/kH9au1\
nyplSKx+efs49Y3i6hpAICFgCEj1jS36w7tf6vJRg7T05nSFhwbbPRKAbkbAEFAaW9oUGhyk6PAQ\
5d45UXEx4XIGs6ccCES2/mYfOXJEmZmZGjVqlDIzM1VTU9PpciNGjNDYsWOVkZEhj8fj4ylhisN1\
TbpnZb6e3vi5JMnVL5J4AQHM1t/uZcuW6brrrlNRUZGuu+46LVu27LTLvv322/roo49UUFDgwwlh\
ii8r63Xnb7fqy8oGpQ/vZ/c4AHzA1oDl5eVp4cKFkqSFCxfqlVdesXMcGCp/72F953fb1Oq19Myi\
CZo6Os7ukQD4gK0BO3TokOLj4yVJ8fHxqqys7HQ5h8Oh6dOna/z48crNzfXliPBzR48366HVO3RR\
33D993cmabQr1u6RAPhIj5/EMW3aNFVUVHS4f+nSpV3+Gps3b5bL5VJlZaUyMzM1evRoTZ06tcNy\
ubm57YGrqqo6/6Hh97xeS0FBDsVGhuoXt1+q0fGxigrnnCSgN3FYlmXZ9c2TkpK0adMmxcfHq7y8\
XFdffbU+++yzM37OT3/6U0VHR+v73//+GZfzeDwcLwtQR48360drPtasjCGamc71DIHuZNJzp627\
ELOzs7Vq1SpJ0qpVqzR79uwOyzQ0NKiurq794w0bNig1NdWnc8J/fFlZr0W5W/Xxgc7PWAXQe9ga\
sIceekgbN27UqFGjtHHjRj300EOSpLKyMmVlZUk6eZxsypQpSk9P18SJEzVr1ixdf/31do4Nm7z3\
WaW+/dutamxp04pvTWTrC+jlbN2F2JNM2gzG2e2rrNft/7VZo+Nj9PhtlyouJtzukYCAZNJzJ0e9\
4df+frLGyLhoPXJTmq5MilN4CJeFAsDV6OHH9lXWa+Fvtqiw9KgkKTM1nngBaMcWGPzShp3leuzV\
3YoIDVZzq9fucQD4IQIGv9LS6tWvN3ymNdsOKn1YXz16c7oGcbwLQCcIGPzKq9tLtGbbQc27bLju\
y7yEi/ECOC0CBr9Q39ii6PAQzfEM1bCBUZqQMMDukQD4Of68ha1aWr369V8/061P/U2H65sUHOQg\
XgC6hC0w2OZgdYN+8uIn+qz8mG6cMFRRYfw4Aug6njHgc5Zl6fWPyvSrtZ8qJDhIj8/L0FXJg+0e\
C4BhCBhs8e6eSiW7YvTTG9MUF8tZhgDOHQGDz3y474gGxYRp2IAo/fuNYxUeEqzgIIfdYwEwFCdx\
oMedaG7VL1//VPf+4QP996a9kqSoMCfxAnBB2AJDj9q+/4iWvrJLpTUndMukYbp72ii7RwIQIAgY\
esxbhRX64Qsfy90/Qiu+NUGXjuhv90gAAggBQ7drbG5TeGiwLkscqG9ffbHmXzFCEaH8qAHoXhwD\
Q7epaWjWo6/s0sLfbFFjS5siQp369jWJxAtAj+CZBReszWvp1Q9LtOLNz9XQ1KbbLhsuBeTbpALw\
JwQMF+RIfZO+/6ftKiw9pnEj+umBWWM0Mi7a7rEA9AIEDOfl7++UHBsZqgHRYfrp3LGaMTZeDgen\
xgPwDY6B4Zy0tHr1wtYDuu3pzappaFZwkEO/uH2crk9zES8APsUWGLrE67X05u4KrXizSGU1J+QZ\
2V/1jS3qFxVq92gAeikChrNqbG7T3Svz9WnZMSUOjtZ/fmOcJicOZIsLgK0IGE6r8lij4mLCFR4a\
rNShfXXzpGGakebiElAA/AIBQwcfH6zRqne/1La9h/XcPZdrxKBo/WtWst1jAcApCBgknXyPrm17\
D2vVu19qx4Ea9Y0M0bevvlgDosPsHg0AOkXAIEk60tCsB/60Xf2jw/R/Zo7W7HFuhYcG2z0WAJwW\
AeulDtc16S87SvXFoTo9enO6BkSH6ek7JijZFasQJ6+uAOD/AjZgR+qbVFRxTKMuirF7FL/h9Voq\
2HdErxQU6509lWrzWvKM7N9+8d20Yf3sHhEAuixgA1ZZ16RvrtiixMHRysoYohlj4zWgT+88nmNZ\
lhwOh9Z9UqafvbxLMREhunXycM0Z79awgVF2jwcA5yVgAzZqcB99f1ay1n5Upl//9TM9vfFz/fL2\
S3XZqEF2j+YTlUcb9XbhIb1ZWKHpqfG6adIwXT16sILnOnRN8mCFhXB8C4DZAjZgwUEO3TRxmG6a\
OEz7q+q17uNypQ09uYvsxW0HtbmoSldcMkhXXDJI8X0jbJ62e1iWpT9vPag3dldoZ3GtJOniwdGK\
Cj/53xwV7tT1aS47RwSAbmPr0fo1a9YoJSVFQUFBKigoOO1y69evV1JSkhITE7Vs2bJz/j4jBkXr\
7mmj2p/IHQ6p+HCDfvn6p7rhP9/V7U9v1jNvFsmyzHoPkJqGZr25u0LPbd4nSXI4HHqrsEKNLW26\
69pEvfDdKXrunis0M51oAQg8tm6Bpaam6qWXXtJdd9112mXa2tp07733auPGjXK73ZowYYKys7M1\
ZsyY8/6+cycO040Thurg4ePa/HmV3v+8SoWlR9svjbQ0b5eiQp1Kcccqxd1X8X3DO79s0nPPST/6\
kXTwoDRsmLR0qTR//nnP1RW7S2r110/K9eH+I9p7qF6SFBMRolsmDVeIM0hPfHM8byAJoFew9Zku\
OfnsV3fIz89XYmKiEhISJEnz5s1TXl7eBQVMOrm1MnxglIYPjNLtl4+Q13ty68uyLJXXntDO4lqt\
3npAktQ/OlTfuGKkbr98hCzL0of7jujiN19V33+5T47jx09+wQMHpJyckx9fQMS8Xks1x5t1oLpB\
ew/V6YtD9dp7qE6P3ZqhQTHh2r6/RnnbS5Q2tJ8yr4uXZ2R/jXbFyBl8cmOaeAHoLfz+2a60tFRD\
hw5tv+12u7Vt27Zu/z5BX13fz+FwaPnCCWpt82pvZb12Fddqd8lRRX71ot6ahmbdt6pALz/50P/G\
6++OH5f3Bz/UH4depqhwp/qEOxXqDFar16uUIbFy9YtUdV2TNn16SG1tluoaW3S4vknVdU1adNXF\
Sh4Sq7cKD+nHaz5u/5IxEU8BUp4AAAt8SURBVCFKHByt+qZWDZJ0g8etWycPVyiv1QLQy/V4wKZN\
m6aKiooO9y9dulSzZ88+6+d3dlzqdFdBz83NVW5uriSpqqrqHCc9lTM4SEnxMUqKj9Hcif97f1SY\
U0/f4dFFP+v86ztKirXizaIO9/94Tqpc/SJVWnNcv3z90/b7+0WFakB0qBqaWiVJY4bE6F+zRmvo\
gChdHBetgX3CTvn3RoeHXNC/CwACRY8H7I033rigz3e73SouLm6/XVJSIper85MScnJylPPVbjyP\
x3NB3/d0wkKCNX7kgJPHvA4c6PC4Y9gwvfPjaapvalV9Y6uaW9vkDArSoJiTr0Eb44rV2geuVnCQ\
Q5Ghzg5XvXD1i9TNk4b3yOwAEEj8fj/UhAkTVFRUpH379qm5uVmrV69Wdna23WOdPGEjMvLU+yIj\
paVLFRYSrAHRYRo+MEqjLorRyLjo9i2nEGeQ+keHKTYylEs2AcAFsPUZ9OWXX5bb7daWLVs0a9Ys\
zZgxQ5JUVlamrKwsSZLT6dTy5cs1Y8YMJScn65ZbblFKSoqdY580f76UmysNH37yvPzhw0/e7uGz\
EAEAJzks01781EUej+eMry0DAHRk0nMn+7AAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMA\
GImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEw\
AICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADAS\
AQMAGImAAQCMZGvA1qxZo5SUFAUFBamgoOC0y40YMUJjx45VRkaGPB6PDycEAPgrp53fPDU1VS+9\
9JLuuuuusy779ttva+DAgT6YCgBgAlsDlpycbOe3BwAYzIhjYA6HQ9OnT9f48eOVm5tr9zgAAD/Q\
41tg06ZNU0VFRYf7ly5dqtmzZ3fpa2zevFkul0uVlZXKzMzU6NGjNXXq1A7L5ebmtgeuqqrqwgYH\
APi1Hg/YG2+8ccFfw+VySZLi4uJ0ww03KD8/v9OA5eTkKCcnR5I42QMAApzf70JsaGhQXV1d+8cb\
NmxQamqqzVMBAOxma8Befvllud1ubdmyRbNmzdKMGTMkSWVlZcrKypIkHTp0SFOmTFF6eromTpyo\
WbNm6frrr7dzbACAH3BYlmXZPURP8Hg8Z3xtGQCgI5OeO/1+FyIAAJ0hYAAAIxEwAICRCBgAwEgE\
DABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCM\
RMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgA\
wEgEDABgJAIGADASAQMAGImAAQCMZGvAHnjgAY0ePVppaWm64YYbVFtb2+ly69evV1JSkhITE7Vs\
2TIfTwkA8Ee2BiwzM1O7du3SJ598oksuuUSPPfZYh2Xa2tp07733at26dSosLNTzzz+vwsJCG6YF\
APgTWwM2ffp0OZ1OSdLkyZNVUlLSYZn8/HwlJiYqISFBoaGhmjdvnvLy8nw9KgDAz/jNMbDf//73\
mjlzZof7S0tLNXTo0PbbbrdbpaWlvhwNAOCHnD39DaZNm6aKiooO9y9dulSzZ89u/9jpdGr+/Pkd\
lrMsq8N9Doej0++Vm5ur3NxcSdKuXbvk8XguZHSfqKqq0qBBg+we46yYs/uYMKPEnN3NlDn37Nlj\
9whd1uMBe+ONN874+KpVq/Taa6/pzTff7DRMbrdbxcXF7bdLSkrkcrk6/Vo5OTnKycmRJHk8HhUU\
FFzA5L7BnN3LhDlNmFFizu5m0pymsHUX4vr16/X444/r1VdfVWRkZKfLTJgwQUVFRdq3b5+am5u1\
evVqZWdn+3hSAIC/sTVg9913n+rq6pSZmamMjAwtXrxYklRWVqasrCxJktPp1PLlyzVjxgwlJyfr\
lltuUUpKip1jAwD8QI/vQjyTL774otP7XS6X1q5d2347KyurPWhd9fddif6OObuXCXOaMKPEnN2N\
Obufw+rsLAkAAPyc35xGDwDAuQiYgJlyWao1a9YoJSVFQUFBZzwjacSIERo7dqwyMjJsOSuoq3Pa\
uT6PHDmizMxMjRo1SpmZmaqpqel0ObvW5dnWjWVZWrJkiRITE5WWlqbt27f7bLavO9ucmzZtUmxs\
rDIyMpSRkaFHHnnE5zMuWrRIcXFxSk1N7fRxf1mXZ5vTH9alJBUXF+uaa65RcnKyUlJS9OSTT3ZY\
xl/W6RlZAeKvf/2r1dLSYlmWZT344IPWgw8+2GGZ1tZWKyEhwdq7d6/V1NRkpaWlWbt37/bpnIWF\
hdaePXusq666yvrggw9Ou9zw4cOtqqoqH052qq7Maff6fOCBB6zHHnvMsizLeuyxxzr9P7cse9Zl\
V9bN66+/bl1//fWW1+u1tmzZYk2cONGnM3Z1zrffftuaNWuWz2f7unfeecf68MMPrZSUlE4f94d1\
aVlnn9Mf1qVlWVZZWZn14YcfWpZlWceOHbNGjRrllz+fZxMwW2CmXJYqOTlZSUlJPv2e56Mrc9q9\
PvPy8rRw4UJJ0sKFC/XKK6/47HufTVfWTV5enhYsWCCHw6HJkyertrZW5eXlfjenP5g6dar69+9/\
2sf9YV1KZ5/TX8THx2vcuHGSpD59+ig5ObnDFY78ZZ2eScAE7OsC4bJUDodD06dP1/jx49uvLuJv\
7F6fhw4dUnx8vKSTv5CVlZWdLmfHuuzKurF7/Z3LDFu2bFF6erpmzpyp3bt3+3LELvGHddlV/rYu\
9+/frx07dmjSpEmn3G/COrX1NPpz5cvLUvX0nGezefNmuVwuVVZWKjMzU6NHj9bUqVP9ak5frM8z\
zdhVvliX/6gr68ZXP49n0pUZxo0bpwMHDig6Olpr167VnDlzVFRU5KsRu8Qf1mVX+Nu6rK+v19y5\
c/XEE08oJibmlMdMWKdGBcyXl6XqyTm74u9zxcXF6YYbblB+fn63P+le6Jy+WJ9nmnHw4MEqLy9X\
fHy8ysvLFRcX1+lyvliX/6gr68ZXP49n0pUZvv7ElpWVpXvuuUfV1dUaOHCgz+Y8G39Yl13hT+uy\
paVFc+fO1fz583XjjTd2eNyEdRowuxAD6bJUDQ0Nqqura/94w4YNpz2ryU52r8/s7GytWrVK0sk/\
XjrbarRrXXZl3WRnZ+vZZ5+VZVnaunWrYmNj23eJ+kpX5qyoqGj/azw/P19er1cDBgzw6Zxn4w/r\
siv8ZV1alqU777xTycnJuv/++ztdxoh1asupIz3g4osvttxut5Wenm6lp6dbd911l2VZllVaWmrN\
nDmzfbnXX3/dGjVqlJWQkGA9+uijPp/zpZdesoYMGWKFhoZacXFx1vTp0zvMuXfvXistLc1KS0uz\
xowZ47dzWpa967O6utq69tprrcTEROvaa6+1Dh8+3GFGO9dlZ+tmxYoV1ooVKyzLsiyv12vdc889\
VkJCgpWamnrGs1LtnPOpp56yxowZY6WlpVmTJk2yNm/e7PMZ582bZ1100UWW0+m0hgwZYv3ud7/z\
y3V5tjn9YV1almW99957liRr7Nix7c+Zr7/+ul+u0zPhShwAACMFzC5EAEDvQsAAAEYiYAAAIxEw\
AICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADAS\
AQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAA\
IxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgpP8P\
pNw1x+NBfv4AAAAASUVORK5CYII=\
"
frames[5] = "data:image/png;base64,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\
"
frames[6] = "data:image/png;base64,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\
AABJRU5ErkJggg==\
"
frames[7] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3xU9Z3/8fckk3tIIEAww3CLwRAS\
kgjDRUW8EZCwG1DUorRg0Ua8lO661bWX3a2uVHz0slpxsWm3FPuzYnXVWAUKKqhFIEZQgYhG5JIL\
IYEkkARynfP7A5uVJkCAZM58J6/nX8zMIfPhkMwr5zJnHJZlWQIAwDBBdg8AAMD5IGAAACMRMACA\
kQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgED\
ABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMR\
MACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAw\
EgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABjJ9oCVlJTommuuUUpK\
ilJTU/Xkk092WMayLC1evFhJSUlKT0/Xtm3bbJgUAOBPnLYP4HTqF7/4hcaOHau6ujqNGzdOWVlZ\
Gj16dPsya9asUXFxsYqLi7V161bdfffd2rp1q41TAwDsZvsWWEJCgsaOHStJ6tOnj1JSUlRWVnbK\
Mvn5+Zo/f74cDocmTZqk2tpaHTx40I5xAQB+wvaAfd2+ffu0fft2TZw48ZT7y8rKNGTIkPbbbre7\
Q+QAAL2L7bsQ/6a+vl5z5szRE088oZiYmFMesyyrw/IOh6PDfXl5ecrLy5Mk7d69W6NGjeqZYQEg\
QO3bt0+HDx+2e4wu8YuAtbS0aM6cOZo3b55uvPHGDo+73W6VlJS03y4tLZXL5eqwXG5urnJzcyVJ\
Ho9HhYWFPTc0AAQgj8dj9whdZvsuRMuydMcddyglJUX3339/p8vk5OTo2WeflWVZ2rJli2JjY5WQ\
kODjSQEA/sT2LbBNmzbpD3/4g8aMGaPMzExJ0k9/+lMdOHBAkrRo0SJlZ2dr9erVSkpKUmRkpFas\
WGHnyAAAP2B7wCZPntzpMa6vczgcevrpp300EQDABLbvQgQA4HwQMACAkQgYAMBIBAwAYCQCBgAw\
EgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAA\
ACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQC\
BgAwEgEDABiJgAEAjETAAABGsj1gCxcuVHx8vNLS0jp9fOPGjYqNjVVmZqYyMzP1yCOP+HhCAIA/\
cto9wO2336777rtP8+fPP+0yV155pV5//XUfTgUA8He2b4FNmTJFcXFxdo8BADCM7QHris2bNysj\
I0MzZszQrl277B4HAOAHbN+FeDZjx47V/v37FR0drdWrV2v27NkqLi7udNm8vDzl5eVJkqqqqnw5\
JgDAx/x+CywmJkbR0dGSpOzsbLW0tOjw4cOdLpubm6vCwkIVFhZq4MCBvhwTAOBjfh+wiooKWZYl\
SSooKJDX61X//v1tngoAYDfbdyHeeuut2rhxow4fPiy3262HH35YLS0tkqRFixbppZde0vLly+V0\
OhUREaFVq1bJ4XDYPDUAwG4O62+bNwHG4/GosLDQ7jEAwCgmvXb6/S5EAAA6Q8AAAEYiYAAAIxEw\
AICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADAS\
AQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAA\
IxEwAICRCBgAwEgEDABgJAIGADCS7QFbuHCh4uPjlZaW1unjlmVp8eLFSkpKUnp6urZt2+bjCQEA\
/sj2gN1+++1au3btaR9fs2aNiouLVVxcrLy8PN19990+nA4A4K9sD9iUKVMUFxd32sfz8/M1f/58\
ORwOTZo0SbW1tTp48KAPJwQA+COn3QOcTVlZmYYMGdJ+2+12q6ysTAkJCTZOBQBd09rmlcPhUHCQ\
Q0fqmrTvcL1a2iy1tnnV6rXU2mbpsqQBigp36kh9k6rrmxQVFqI+4U5FhjkVHOSw+5/gt/w+YJZl\
dbjP4ej8PzQvL095eXmSpKqqqh6dCwCkk69RbV5LzuAgfVp2VK8UluhIfbOq6hp1pK5JNQ3N+u13\
Jmn04Fi9X1ylJfm7OnyN5+65XBeH99H6HQf1xNrPTnmsT7hTKxddLle/CH1yoEZ7qxrkjovUkLhI\
DegTpqBeHDi/D5jb7VZJSUn77dLSUrlcrk6Xzc3NVW5uriTJ4/H4ZD4AvUeb11JxxTHtLD2qPYfq\
9MWhen1ZWa9/uyFNV6cM0omWNv318yoN6BOmAdFhGpUQowF9wtQ3MlSSdNnIgXr69vFyBjvkDHIo\
JDhIzuAgDe4XIUm6Mjleg2Ij1NDUqroTLapvatXR480a0CdMkvT2rkNatWV/+zwRocEa5YrRE98c\
p7CQYDW3ehXqtP3IkM/4fcBycnK0bNkyzZ07V1u3blVsbCy7DwH4hNdraU9lvZzBDo0YGK0DRxp0\
+6+3SDq5ZXTxoD6akZGgi2LDJUljh8dp9QPXnPbrDegT1h6jzgyOi9TguMjTPn7ftEt0y6ShKq0+\
odLq4/qysl6VxxoVFhIsSfr3lz7W7vJjSnX3VcbQvrr8koFyn+Hrmc72gN16663auHGjDh8+LLfb\
rYcfflgtLS2SpEWLFik7O1urV69WUlKSIiMjtWLFCpsnBhDIjp1o0bu7K7Xp8ypt21eto8db9A+X\
DtaPZ6dp+IAoPXpzhtLcsRoUG37awxk9xRkcJFe/SLn6RWrCxf07PD45OV7O4CDtLK3VW7sq9Ms1\
u3XVqHg9fuulkk4GOZB2OTqszg4yBQCPx6PCwkK7xwBggK/verv5V++p5MhxxceEy5MYp3Ej4uQZ\
EadBsRE2T3luSquPa9PnVYoOd2pm5mA1t3o158l3NcbdV1ePHqQpyfEKDw3u8PdMeu20fQsMAOzQ\
0Niqt4sq9NauCu05VK9X/nmKnMFB+t70ZPWLCtXowbE+38LqTu64SH1j0rD228ebWnVZ0gC9X3xY\
bxcdUmRYsK4bfZHmXTFcwwdG2zjp+SNgAHqVA4cb9Nz7+7Rux0GdaG7T4H4Ruj7DpaZWr5zBQZqc\
HG/3iD2ib1SofjgrTV6vpe37a7Tm43K9tatCsz1uSVJ5zXG1ec3aIUfAAAS8E82tamrxqm9UqKrq\
GrX2k3JNS0vQLI9bqYZvaZ2roCCHxo04uWv0+9kpCgs5uet05Xt79X6xWW8/4hgYgIBVVn1cz2/e\
rzUfl2tmpkv3Z6fIsizVN7aqT0SI3eP5lcqjjSqpPq67bp5mzGsnW2AAAs6eQ3V69q979ebOCgU5\
pOtSL9K0MSfffuNwOIhXJ+JjwxX/1dsBTEHAAAScP76/T+/urtQ3Jg3TrZcN08AYs16Y0TUEDIDx\
Cr88ot+/+6XuzbpEKYNjdffUS7R4erJiv7oCBgITAQNgrM8OHtPT6z9XwZ4jGtAnTIfrmyTpjFe7\
QOAgYACM9Pifd+mVwlLFRIToe9OTdeP4Ie2XVELvQMAAGOPYiRb1CXfK4XAooW+E5k8eoW9NHsFJ\
Gb0UAQPg91pavXphy379/r0v9W+z03RVyiDNvzLR7rFgMwIGwK99uLdaP3ujSPuqGnTFJQM1dECU\
3SPBTxAwAH7ribW7tWrzfiX0jdDPb7s0YC/zhPNDwAD4ldY2r6STHx2S6o7VwqsSNf/KRIVzggb+\
DgED4Dd2ldbq8T8XaXq6S/OuGK6sND68FqdHwADYrqmlTb/Z8IX++P4+9e8TJnecWZ+9BXsQMAC2\
2l1+TD95+RPtq2pQztjBWjw9WdHhnBaPsyNgAGzV1NqmxpY2PfGtcZqUNMDucWAQAgbA53aV1uqj\
/bWad8VwZQztpxe/e6VCnEF2jwXDEDAAPtPa5tXv3tmj37/7peJjwjXb41ZUmJN44bwQMAA+UV5z\
Qv/xv59oR0mtsjNdun/GKEWF8RKE88d3D4Ae19jcpjt/u0VNLV79503pyhrD6fG4cAQMQI9pbvUq\
1Bmk8NBgPTBztJIT+sjVL9LusRAg2PEMoEfsLj+qef+9Set2HJQkXTN6EPFCt2ILDEC3sixLLxUc\
0JN/+UxxUWEayIdLoocQMADd5nhTq5b+eZfW7ajQFZcM1L/fkKbYyFC7x0KAImAAuk3h3mq9ubNC\
i64bqfmTRygoyGH3SAhgBAzABTtYe0IJfSM0ZVS8Vt03mc/sgk9wEgeA89ba5tUTa3frG0/9VV8c\
qpMk4gWfYQsMwHk5UtekH/7pI318oFY3TxyqYf0JF3yLgAE4Z7vLj+nB57fr2IkWPXJTuqbxxmTY\
gIABOGcbig4pyCHl3TFBlyTE2D0Oeim/OAa2du1aJScnKykpSUuXLu3w+MaNGxUbG6vMzExlZmbq\
kUcesWFKoHfzei2V15yQJOVem6SViy4jXrCV7VtgbW1tuvfee7V+/Xq53W6NHz9eOTk5Gj169CnL\
XXnllXr99ddtmhLo3RoaW/UfL3+i3eXH9Md7r1BMRAjv74LtbN8CKygoUFJSkhITExUaGqq5c+cq\
Pz/f7rEAfKW0+ri+8z9btbn4sG6/MlF9wm3/vReQ5AcBKysr05AhQ9pvu91ulZWVdVhu8+bNysjI\
0IwZM7Rr1y5fjgj0Wh/tr9HCvC06XNekJ781TjdNHCqHgzcnwz/Y/quUZVkd7vv7H5CxY8dq//79\
io6O1urVqzV79mwVFxd3+Ht5eXnKy8uTJFVVVfXMwEAv8vz7+9QvKlS/mDdW7jguxAv/YvsWmNvt\
VklJSfvt0tJSuVyuU5aJiYlRdHS0JCk7O1stLS06fPhwh6+Vm5urwsJCFRYWauDAgT07OBCgLMtS\
Q2OrJOnfbxijvDsmEC/4JdsDNn78eBUXF2vv3r1qbm7WqlWrlJOTc8oyFRUV7VtqBQUF8nq96t+/\
vx3jAgGtpdWr/3xlp+5b+YGaWtoUFe7kZA34Ldt3ITqdTi1btkzTp09XW1ubFi5cqNTUVD3zzDOS\
pEWLFumll17S8uXL5XQ6FRERoVWrVrEfHuhmR4836wcvfKRt+2qUe02SQp22/34LnJHD6uwgVADw\
eDwqLCy0ewzACKXVx/Uvz21Tec1x/Wh2mq5Pd539LyEgmfTaafsWGAB7WZalR17ZoZqGZj21YLwy\
h/WzeySgSwgY0Ms5HA795MYxam2zuJI8jMJObqCXen17mR59dae8XkuufpHEC8YhYEAvY1mWVryz\
R4++ulOHjjaqudVr90jAeWEXItCLtHkt/XL1p/rfD0o0PT1BP56VphDONoShCBjQiyzJ36nVH5Xr\
m1cM1z1TL1FQEG9HgbkIGNCLZGe4lJwQo29MGmb3KMAFY98BEOCO1DdpzcflkiRPYn/ihYDBFhgQ\
wMprjmvxs4U6Ut+sCYn91b9PmN0jAd2GgAEBas+hOn3vDx+qubVNT833EC8EHAIGBKAdJbW6//99\
qPCQYD2zcKIS46PtHgnodgQMCECflR9TbGSofjXfI1e/CLvHAXoEAQMCyNHjzYqNDNVNE4dq5qUu\
RYTyI47AxVmIQIB47cNSzXnyPRVXHJMk4oWAR8CAALBq8z799LVdSnP31ZA4rmmI3oFf0QCDWZal\
372zR7/ZsEfXjB6kR+akc2ko9BoEDDDYmzsr9JsNezQz06Uf5KTKGUy80HsQMMBg14wepB/mpOof\
Lh3MdQ3R6/DrGmCY1javnlr3mY7UNckZHKSccW7ihV6JgAEGaW716od/+ljPbdqnTZ9X2T0OYCt2\
IQKGaGxu00MvbNeWL47o+9kpyhnntnskwFYEDDBAQ1OrHvjjNm3fX6MfzUrVP44lXgABAwzQ0upV\
XWOrHp6TrmljEuweB/ALBAzwY0ePNysy1Km+UaFakTuJ0+SBr+GnAfBTR+qadM+KD/Ro/k5JIl7A\
3+EnAvBDlUcbdfeKApXXntA/XjrY7nEAv8QuRMDPlNec0H0rP1Dt8WY98a1xyhjaz+6RAL9EwAA/\
4vVaeuD5bao70aKn5nuU6u5r90iA3yJggB8JCnLoB/+YqhBnkJITYuweB/BrHAMD/MCeQ3X605b9\
kqS0IX2JF9AFbIEBNvvs4DEtfrZQocFBmpHhUp+IELtHAozAFhhgo6Kyo7rv9x8oIiRYyxdOIF7A\
OfCLgK1du1bJyclKSkrS0qVLOzxuWZYWL16spKQkpaena9u2bTZMCXSvTw7U6LsrC9UnIkTLF06Q\
Oy7S7pEAo9gesLa2Nt17771as2aNioqK9Pzzz6uoqOiUZdasWaPi4mIVFxcrLy9Pd999t03TAt1n\
b1WD+keH6plvT1BC3wi7xwGMY3vACgoKlJSUpMTERIWGhmru3LnKz88/ZZn8/HzNnz9fDodDkyZN\
Um1trQ4ePGjTxMCFaWhslSTNGufWH+6+XPGx4TZPBJjJ9oCVlZVpyJAh7bfdbrfKysrOeRnABO8X\
V+mGJ97VJwdqJElhIcE2TwSYy/aAWZbV4T6Hw3HOy0hSXl6ePB6PPB6Pqqr4sD/4l3d3V+pfn9+u\
i/qGa9iAKLvHAYxne8DcbrdKSkrab5eWlsrlcp3zMpKUm5urwsJCFRYWauDAgT03NHCO3i6q0A9e\
+EgjL+qjZQvGKzYy1O6RAOPZHrDx48eruLhYe/fuVXNzs1atWqWcnJxTlsnJydGzzz4ry7K0ZcsW\
xcbGKiGBz0SCGXaU1OrfXvxEowfH6lfzPYrhVHmgW9j+Rman06lly5Zp+vTpamtr08KFC5Wamqpn\
nnlGkrRo0SJlZ2dr9erVSkpKUmRkpFasWGHz1EDXjR4cq7uuTdKcCUMVFWb7jxwQMBxWZweYAoDH\
41FhYaHdY6AXW/NxucYO76dBsZwiD3OY9Npp+y5EIBD9act+PfzyDq18b6/dowABi/0ZQDd7btNe\
PbXuc101Kl7/dP0ou8cBAhYBA7rRinf26Ndvf6HrUi/Sw3PGyBnMTg6gpxAwoJs0trRpQ9EhXZ+e\
oB/PTiNeQA8jYMAFsixLrW2WwkOC9fTt4xUZ5lRwUMc32gPoXvyKCFwAr9fSL1Z/qode+EitbV71\
iQghXoCPEDDgPLV5LT322i69VFCi4QOiCBfgY+xCBM5Da5tXj7yyQ+t2VOiOqy7Wnddc3On1OQH0\
HAIGnIfHXy/Suh0VumfqSM2/MtHucYBeiYAB52HO+KFKTojRTROG2j0K0GtxDAzoouNNrVr90cnP\
oRvlIl6A3dgCA7qg7kSL7n9um3aV1mqUK1aJ8dF2jwT0egQMOIvq+ib90x8+1JdV9VpySybxAvwE\
AQPOoPJoo777bKEqjp7Qz28bq0lJA+weCcBXCBhwBjtLa1Vd36Qnv+VR5rB+do8D4GsIGNCJxpY2\
hYcE69rUizRuRJxiI0PtHgnA3+EsRODvFJUd1c1PvqcPvjwiScQL8FMEDPiabfuqdd/KD+QMDpKr\
L5+kDPgzdiECX3l3d6V+/OLHcvWL0K/mexQfE273SADOgIABknaV1uqhVduVMjhWv5w3lt2GgAEI\
GCBp9OBYfXdasmaNcysyjB8LwAQcA0OvZVmWfv/ulyqtPi6Hw6FbLx9OvACDEDD0Sm1eS0v/XKRn\
3irWmo/L7R4HwHng1030Ok0tbXr45R16u+iQbp+SqDuvvtjukQCcBwKGXqW+sUUPPr9d2/bV6HvT\
k3Xr5cPtHgnAeSJg6FWCgxxq9Vp6eM4YTU932T0OgAtAwNAr7D/coAF9whQV5tQz356goCCH3SMB\
uECcxIGA99H+Gn3nt1v0s9eLJIl4AQGCgCGgbfz0kL73bKH6RoYq99oku8cB0I3YhYiA9VLBAf1i\
9adKHRyrn982Vn2juLoGEEgIGAJSfWOLfv/ul7p85EAtuTlD4aHBdo8EoJsRMASUxpY2hQYHKTo8\
RHl3TFB8TLicwewpBwKRrT/Z1dXVysrK0siRI5WVlaWamppOlxs+fLjGjBmjzMxMeTweH08JUxyp\
a9I9Kwr09PrPJUmufpHECwhgtv50L126VNddd52Ki4t13XXXaenSpadddsOGDfroo49UWFjowwlh\
ii8r63XHb7boy8oGZQzrZ/c4AHzA1oDl5+drwYIFkqQFCxbo1VdftXMcGKpgzxF957db1eq19MzC\
8ZoyKt7ukQD4gK0BO3TokBISEiRJCQkJqqys7HQ5h8OhadOmady4ccrLy/PliPBzR48366FV23VR\
33D9z3cmapQr1u6RAPhIj5/EMXXqVFVUVHS4f8mSJV3+Gps2bZLL5VJlZaWysrI0atQoTZkypcNy\
eXl57YGrqqo6/6Hh97xeS0FBDsVGhupnt12qUQmxigrnnCSgN3FYlmXZ9eTJycnauHGjEhISdPDg\
QV199dX67LPPzvh3fvKTnyg6Olrf//73z7icx+PheFmAOnq8WT968WPNzBysGRlczxDoTia9dtq6\
CzEnJ0crV66UJK1cuVKzZs3qsExDQ4Pq6ura/7xu3TqlpaX5dE74jy8r67Uwb4s+3t/5GasAeg9b\
A/bQQw9p/fr1GjlypNavX6+HHnpIklReXq7s7GxJJ4+TTZ48WRkZGZowYYJmzpyp66+/3s6xYZP3\
PqvUnb/ZosaWNi3/9gS2voBeztZdiD3JpM1gnN3eynrd9t+bNCohRo/feqniY8LtHgkISCa9dnLU\
G37tbydrjIiP1iM3pevK5HiFh3BZKABcjR5+bG9lvRb8erOKyo5KkrLSEogXgHZsgcEvrdtxUI+9\
tksRocFqbvXaPQ4AP0TA4FdaWr361brP9OLWA8oY2leP3pyhgRzvAtAJAga/8tq2Ur249YDmXjZM\
92VdwsV4AZwWAYNfqG9sUXR4iGZ7hmjogCiNT+xv90gA/By/3sJWLa1e/eovn+kbT/1VR+qbFBzk\
IF4AuoQtMNjmwOEG/dtLn+izg8d04/ghigrj2xFA1/GKAZ+zLEtvfFSuX6z+VCHBQXp8bqauShlk\
91gADEPAYIt3d1cqxRWjn9yYrvhYzjIEcO4IGHzmw73VGhgTpqH9o/QfN45ReEiwgoMcdo8FwFCc\
xIEed6K5VT9/41Pd+/sP9D8b90iSosKcxAvABWELDD1q275qLXl1p8pqTuiWiUN199SRdo8EIEAQ\
MPSYt4sq9MMXPpY7LkLLvz1elw6Ps3skAAGEgKHbNTa3KTw0WJclDdCdV1+seVcMV0Qo32oAuhfH\
wNBtahqa9eirO7Xg15vV2NKmiFCn7rwmiXgB6BG8suCCtXktvfZhqZa/9bkamtp062XDpID8mFQA\
/oSA4YJU1zfp+3/cpqKyYxo7vJ8emDlaI+Kj7R4LQC9AwHBe/vZJybGRoeofHaafzBmj6WMS5HBw\
ajwA3+AYGM5JS6tXL2zZr1uf3qSahmYFBzn0s9vG6vp0F/EC4FNsgaFLvF5Lb+2q0PK3ilVec0Ke\
EXGqb2xRv6hQu0cD0EsRMJxVY3Ob7l5RoE/LjylpULT+65tjNSlpAFtcAGxFwHBalccaFR8TrvDQ\
YKUN6aubJw7V9HQXl4AC4BcIGDr4+ECNVr77pbbuOaLn7rlcwwdG61+yU+weCwBOQcAg6eRndG3d\
c0Qr3/1S2/fXqG9kiO68+mL1jw6zezQA6BQBgySpuqFZD/xxm+Kiw/TPM0Zp1li3wkOD7R4LAE6L\
gPVSR+qa9OftZfriUJ0evTlD/aPD9PTt45XiilWIk3dXAPB/ARuw6vomFVcc08iLYuwexW94vZYK\
91br1cISvbO7Um1eS54Rce0X300f2s/uEQGgywI2YJV1TfrW8s1KGhSt7MzBmj4mQf379M7jOZZl\
yeFwaM0n5frPV3YqJiJE35g0TLPHuTV0QJTd4wHAeQnYgI0c1Effn5mi1R+V61d/+UxPr/9cP7/t\
Ul02cqDdo/lE5dFGbSg6pLeKKjQtLUE3TRyqq0cNUvAch65JGaSwEI5vATBbwAYsOMihmyYM1U0T\
hmpfVb3WfHxQ6UNO7iJ7aesBbSqu0hWXDNQVlwxUQt8Im6ftHpZl6U9bDujNXRXaUVIrSbp4ULSi\
wk/+N0eFO3V9usvOEQGg29h6tP7FF19UamqqgoKCVFhYeNrl1q5dq+TkZCUlJWnp0qXn/DzDB0br\
7qkj21/IHQ6p5EiDfv7Gp7rhv97VbU9v0jNvFcuyzPoMkJqGZr21q0LPbdorSXI4HHq7qEKNLW26\
69okvfDdyXrunis0I4NoAQg8tm6BpaWl6eWXX9Zdd9112mXa2tp07733av369XK73Ro/frxycnI0\
evTo837eOROG6sbxQ3TgyHFt+rxK739epaKyo+2XRlqSv1NRoU6lumOV6u6rhL7hvrts0nPPST/6\
kXTggDR0qLRkiTRvXvvDu0pr9ZdPDurDfdXac6hekhQTEaJbJg5TiDNIT3xrHB8gCaBXsPWVLiXl\
7Fd3KCgoUFJSkhITEyVJc+fOVX5+/gUFTDq5tTJsQJSGDYjSbZcPl9d7cuvLsiwdrD2hHSW1WrVl\
vyQpLjpU37xihG67fLgsy9KHe6s1OC5S8THh3XtZpeeek5WbK8fx4ydv79+v5jvu1MoNX2j2L/9V\
A2PCtW1fjfK3lSp9SD9lXZcgz4g4jXLFyBl8cmOaeAHoLfz+1a6srExDhgxpv+12u7V169Zuf56g\
r0LkcDi0bMF4tbZ5taeyXjtLarWr9Kgiv3pTb01Ds+5beXJ3Z0iwQ65+kUroG64bxw/VlFHxOnq8\
Wa8Wlioq3Kk+4U6FOoPV6vUqdXCsXP0idbiuSRs/PaS2Nkt1jS06Ut+kw3VNWnjVxUr50Y/+L15f\
CW1q1I2vPqNjj/2LBkq6wYIYPOUAAAt6SURBVOPWNyYNUyjv1QLQy/V4wKZOnaqKiooO9y9ZskSz\
Zs0669/v7LjU6Xbn5eXlKS8vT5JUVVV1jpOeyhkcpOSEGCUnxGjOhP+7PyrMqadv96i0+oRKq4+r\
tPq4Dh09oaaWNknSoaONWv5WcYev9+PZaXL1i1RZzXH9/I1P2+/vFxWq/tGhamhqPbnbsBP9qw+p\
/8CTn3IcHR5yQf8uAAgUPR6wN99884L+vtvtVklJSfvt0tJSuVydn5SQm5ur3NxcSZLH47mg5z2d\
sJBgjRvRX+NGdP74JQkxeufHU1Xf1Kr6xlY1t7bJGRSkgTEn34M22hWr1Q9creAghyJDnade9WLo\
UGn//o5fdOjQHviXAIDZ/H4/1Pjx41VcXKy9e/equblZq1atUk5Ojt1jnVFYSLD6R4dp2IAojbwo\
RiPio9u3nEKcQYqLDlNsZGjHSzYtWSJFRp56X2TkyfsBAKewNWCvvPKK3G63Nm/erJkzZ2r69OmS\
pPLycmVnZ0uSnE6nli1bpunTpyslJUW33HKLUlNT7Ry758ybJ+XlScOGnTzXf9iwk7e/dhYiAOAk\
h2Xam5+6yOPxnPG9ZQCAjkx67fT7XYgAAHSGgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQC\
BgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABG\
ImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwA\
YCQCBgAwkq0Be/HFF5WamqqgoCAVFhaedrnhw4drzJgxyszMlMfj8eGEAAB/5bTzydPS0vTyyy/r\
rrvuOuuyGzZs0IABA3wwFQDABLYGLCUlxc6nBwAYzIhjYA6HQ9OmTdO4ceOUl5dn9zgAAD/Q41tg\
U6dOVUVFRYf7lyxZolmzZnXpa2zatEkul0uVlZXKysrSqFGjNGXKlA7L5eXltQeuqqrqwgYHAPi1\
Hg/Ym2++ecFfw+VySZLi4+N1ww03qKCgoNOA5ebmKjc3V5I42QMAApzf70JsaGhQXV1d+5/XrVun\
tLQ0m6cCANjN1oC98sorcrvd2rx5s2bOnKnp06dLksrLy5WdnS1JOnTokCZPnqyMjAxNmDBBM2fO\
1PXXX2/n2AAAP+CwLMuye4ie4PF4zvjeMgBARya9dvr9LkQAADpDwAAARiJgAAAjETAAgJEIGADA\
SAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYAB\
AIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEI\
GADASAQMAGAkAgYAMBIBAwAYydaAPfDAAxo1apTS09N1ww03qLa2ttPl1q5dq+TkZCUlJWnp0qU+\
nhIA4I9sDVhWVpZ27typTz75RJdccokee+yxDsu0tbXp3nvv1Zo1a1RUVKTnn39eRUVFNkwLAPAn\
tgZs2rRpcjqdkqRJkyaptLS0wzIFBQVKSkpSYmKiQkNDNXfuXOXn5/t6VACAn/GbY2C/+93vNGPG\
jA73l5WVaciQIe233W63ysrKfDkaAMAPOXv6CaZOnaqKiooO9y9ZskSzZs1q/7PT6dS8efM6LGdZ\
Vof7HA5Hp8+Vl5envLw8SdLOnTvl8XguZHSfqKqq0sCBA+0e46yYs/uYMKPEnN3NlDl3795t9whd\
1uMBe/PNN8/4+MqVK/X666/rrbfe6jRMbrdbJSUl7bdLS0vlcrk6/Vq5ubnKzc2VJHk8HhUWFl7A\
5L7BnN3LhDlNmFFizu5m0pymsHUX4tq1a/X444/rtddeU2RkZKfLjB8/XsXFxdq7d6+am5u1atUq\
5eTk+HhSAIC/sTVg9913n+rq6pSVlaXMzEwtWrRIklReXq7s7GxJktPp1LJlyzR9+nSlpKTolltu\
UWpqqp1jAwD8QI/vQjyTL774otP7XS6XVq9e3X47Ozu7PWhd9bddif6OObuXCXOaMKPEnN2NObuf\
w+rsLAkAAPyc35xGDwDAuQiYgJlyWaoXX3xRqampCgoKOuMZScOHD9eYMWOUmZlpy1lBXZ3TzvVZ\
XV2trKwsjRw5UllZWaqpqel0ObvW5dnWjWVZWrx4sZKSkpSenq5t27b5bLavO9ucGzduVGxsrDIz\
M5WZmalHHnnE5zMuXLhQ8fHxSktL6/Rxf1mXZ5vTH9alJJWUlOiaa65RSkqKUlNT9eSTT3ZYxl/W\
6RlZAeIvf/mL1dLSYlmWZT344IPWgw8+2GGZ1tZWKzEx0dqzZ4/V1NRkpaenW7t27fLpnEVFRdbu\
3butq666yvrggw9Ou9ywYcOsqqoqH052qq7Maff6fOCBB6zHHnvMsizLeuyxxzr9P7cse9ZlV9bN\
G2+8YV1//fWW1+u1Nm/ebE2YMMGnM3Z1zg0bNlgzZ870+Wxf984771gffvihlZqa2unj/rAuLevs\
c/rDurQsyyovL7c+/PBDy7Is69ixY9bIkSP98vvzbAJmC8yUy1KlpKQoOTnZp895Proyp93rMz8/\
XwsWLJAkLViwQK+++qrPnvtsurJu8vPzNX/+fDkcDk2aNEm1tbU6ePCg383pD6ZMmaK4uLjTPu4P\
61I6+5z+IiEhQWPHjpUk9enTRykpKR2ucOQv6/RMAiZgXxcIl6VyOByaNm2axo0b1351EX9j9/o8\
dOiQEhISJJ38gaysrOx0OTvWZVfWjd3r71xm2Lx5szIyMjRjxgzt2rXLlyN2iT+sy67yt3W5b98+\
bd++XRMnTjzlfhPWqa2n0Z8rX16WqqfnPJtNmzbJ5XKpsrJSWVlZGjVqlKZMmeJXc/pifZ5pxq7y\
xbr8e11ZN776fjyTrswwduxY7d+/X9HR0Vq9erVmz56t4uJiX43YJf6wLrvC39ZlfX295syZoyee\
eEIxMTGnPGbCOjUqYL68LFVPztkVf5srPj5eN9xwgwoKCrr9RfdC5/TF+jzTjIMGDdLBgweVkJCg\
gwcPKj4+vtPlfLEu/15X1o2vvh/PpCszfP2FLTs7W/fcc48OHz6sAQMG+GzOs/GHddkV/rQuW1pa\
NGfOHM2bN0833nhjh8dNWKcBswsxkC5L1dDQoLq6uvY/r1u37rRnNdnJ7vWZk5OjlStXSjr5y0tn\
W412rcuurJucnBw9++yzsixLW7ZsUWxsbPsuUV/pypwVFRXtv40XFBTI6/Wqf//+Pp3zbPxhXXaF\
v6xLy7J0xx13KCUlRffff3+nyxixTm05daQHXHzxxZbb7bYyMjKsjIwM66677rIsy7LKysqsGTNm\
tC/3xhtvWCNHjrQSExOtRx991Odzvvzyy9bgwYOt0NBQKz4+3po2bVqHOffs2WOlp6db6enp1ujR\
o/12Tsuyd30ePnzYuvbaa62kpCTr2muvtY4cOdJhRjvXZWfrZvny5dby5csty7Isr9dr3XPPPVZi\
YqKVlpZ2xrNS7ZzzqaeeskaPHm2lp6dbEydOtDZt2uTzGefOnWtddNFFltPptAYPHmz99re/9ct1\
ebY5/WFdWpZlvffee5Yka8yYMe2vmW+88YZfrtMz4UocAAAjBcwuRABA70LAAABGImAAACMRMACA\
kQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgED\
ABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMR\
MACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYKT/Dw+M\
Nuv5F02WAAAAAElFTkSuQmCC\
"
frames[8] = "data:image/png;base64,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\
"
frames[9] = "data:image/png;base64,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\
rkJggg==\
"
frames[10] = "data:image/png;base64,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\
"
frames[11] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deUDVdb7/8deBw47ginE4LhGGCALp\
cWmzTTTxXrRssZzRxmbIlnHur6l+zXZvdXOy3yy3Jrs2zOLY/CobuxVNqWOb1ZhKpJVKFpkLq4CC\
Asp6vr8/LH4ZqLhwvudzeD7+yXPOB3j7Tc6T7/d8zxeHZVmWAAAwTJDdAwAAcDoIGADASAQMAGAk\
AgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAA\
RiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQM\
AGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxE\
wAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARrI9YCUlJbriiiuUkpKi\
1NRUPf74453WWJalhQsXKikpSenp6dq8ebMNkwIA/InT9gGcTv3mN7/RmDFjVF9fr7FjxyorK0uj\
Ro3qWLN69WoVFxeruLhYmzZt0u23365NmzbZODUAwG6274HFx8drzJgxkqQ+ffooJSVFZWVlx6zJ\
z8/X3Llz5XA4NHHiRNXV1amiosKOcQEAfsL2gH3T7t27tWXLFk2YMOGY+8vKyjRkyJCO2263u1Pk\
AAC9i+2HEL/W0NCgWbNm6bHHHlNMTMwxj1mW1Wm9w+HodF9eXp7y8vIkSTt27NDIkSN7ZlgACFC7\
d+9WTU2N3WN0i18ErLW1VbNmzdKcOXN07bXXdnrc7XarpKSk43ZpaalcLlendbm5ucrNzZUkeTwe\
FRYW9tzQABCAPB6P3SN0m+2HEC3L0q233qqUlBTdfffdXa7JycnR008/LcuytHHjRsXGxio+Pt7H\
kwIA/Inte2Dr16/XX//6V40ePVqZmZmSpF/+8pfau3evJGnBggXKzs7WqlWrlJSUpMjISC1btszO\
kQEAfsD2gF1yySVdvsb1TQ6HQ08++aSPJgIAmMD2Q4gAAJwOAgYAMBIBAwAYiYABAIxEwAAARiJg\
AAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAk\
AgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAA\
RiJgAAAjETAAgJEIGADASLYHbP78+YqLi1NaWlqXj69bt06xsbHKzMxUZmamHnroIR9PCADwR067\
B7jlllt01113ae7cucddc+mll+rVV1/14VQAAH9n+x7YpEmT1L9/f7vHAAAYxvaAdceGDRuUkZGh\
adOmafv27XaPAwDwA7YfQjyZMWPGaM+ePYqOjtaqVas0c+ZMFRcXd7k2Ly9PeXl5kqTq6mpfjgkA\
8DG/3wOLiYlRdHS0JCk7O1utra2qqanpcm1ubq4KCwtVWFioQYMG+XJMAICP+X3AKisrZVmWJKmg\
oEBer1cDBgyweSoAgN1sP4R40003ad26daqpqZHb7daDDz6o1tZWSdKCBQv0wgsvaOnSpXI6nYqI\
iNCKFSvkcDhsnhoAYDeH9fXuTYDxeDwqLCy0ewwAMIpJz51+fwgRAICuEDAAgJEIGADASAQMAGAk\
AgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAA\
RiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQM\
AGAkAgYAMBIBAwAYiYABAIxke8Dmz5+vuLg4paWldfm4ZVlauHChkpKSlJ6ers2bN/t4QgCAP7I9\
YLfccovWrFlz3MdXr16t4uJiFRcXKy8vT7fffrsPpwMA+CvbAzZp0iT179//uI/n5+dr7ty5cjgc\
mjhxourq6lRRUeHDCQEA/shp9wAnU1ZWpiFDhnTcdrvdKisrU3x8vI1TAUD3tLV75XA4FBzk0P76\
Zu2uaVBru6W2dq/avJba2i1dmDRQUeFO7W9o1oGGZkWFhahPuFORYU4FBzns/iv4Lb8PmGVZne5z\
OLr+H5qXl6e8vDxJUnV1dY/OBQDS0eeodq8lZ3CQPi07qJcKS7S/oUXV9U3aX9+s2sYW/fEHEzUq\
IVbvF1drUf72Tp/jmTsu0nnhffT61go9tuazYx7rE+7U8gUXydUvQp/srdWu6ka5+0dqSP9IDewT\
pqBeHDi/D5jb7VZJSUnH7dLSUrlcri7X5ubmKjc3V5Lk8Xh8Mh+A3qPda6m48pC2lR7Uzn31+mJf\
g76satAvrknT5SmDdaS1Xf/8vFoD+4RpYHSYRsbHaGCfMPWNDJUkXThikJ68ZZycwQ45gxwKCQ6S\
MzhICf0iJEmXJsdpcGyEGpvbVH+kVQ3NbTp4uEUD+4RJkt7avk8rNu7pmCciNFgjXTF67DtjFRYS\
rJY2r0Kdtr8y5DN+H7CcnBwtWbJEs2fP1qZNmxQbG8vhQwA+4fVa2lnVIGewQ+cOitbe/Y265fcb\
JR3dMzpvcB9Ny4jXObHhkqQxw/tr1b1XHPfzDewT1hGjriT0j1RC/8jjPn7XlPN1w8ShKj1wRKUH\
DuvLqgZVHWpSWEiwJOnfX/hYO8oPKdXdVxlD++qi8wfJfYLPZzrbA3bTTTdp3bp1qqmpkdvt1oMP\
PqjW1lZJ0oIFC5Sdna1Vq1YpKSlJkZGRWrZsmc0TAwhkh4606t0dVVr/ebU27z6gg4db9S8XJOjn\
M9M0fGCUHr4+Q2nuWA2ODT/uyxk9xRkcJFe/SLn6RWr8eQM6PX5JcpycwUHaVlqnN7dX6rerd+iy\
kXF69KYLJB0NciAdcnRYXb3IFAA8Ho8KCwvtHgOAAb556O36372nkv2HFRcTLk9if409t7885/bX\
4NgIm6c8NaUHDmv959WKDndqemaCWtq8mvX4uxrt7qvLRw3WpOQ4hYcGd/o4k547bd8DAwA7NDa1\
6a2iSr25vVI79zXopf81Sc7gIP1oarL6RYVqVEKsz/ewziZ3/0jdOHFYx+3DzW26MGmg3i+u0VtF\
+xQZFqyrRp2jORcP1/BB0TZOevoIGIBeZW9No555f7fWbq3QkZZ2JfSL0NUZLjW3eeUMDtIlyXF2\
j9gj+kaF6qcz0uT1Wtqyp1arPy7Xm9srNdPjliSV1x5Wu9esA3IEDEDAO9LSpuZWr/pGhaq6vklr\
PinXlLR4zfC4lWr4ntapCgpyaOy5Rw+N3pOdorCQo4dOl7+3S+8Xm/X2I14DAxCwyg4c1nMb9mj1\
x+WanunS3dkpsixLDU1t6hMRYvd4fqXqYJNKDhzWbddPMea5kz0wAAFn5756Pf3PXXpjW6WCHNJV\
qedoyuijb79xOBzEqwtxseGK++rtAKYgYAACzrPv79a7O6p048RhuunCYRoUY9YTM7qHgAEwXuGX\
+/WXd7/UnVnnKyUhVrdPPl8LpyYr9qsrYCAwETAAxvqs4pCefP1zFezcr4F9wlTT0CxJJ7zaBQIH\
AQNgpEf/vl0vFZYqJiJEP5qarGvHDem4pBJ6BwIGwBiHjrSqT7hTDodD8X0jNPeSc/XdS87lpIxe\
ioAB8HutbV49v3GP/vLel/rFzDRdljJYcy9NtHss2IyAAfBrH+46oF+9VqTd1Y26+PxBGjowyu6R\
4CcIGAC/9diaHVqxYY/i+0bo1zdfELCXecLpIWAA/Epbu1fS0V8dkuqO1fzLEjX30kSFc4IGvoWA\
AfAb20vr9OjfizQ13aU5Fw9XVhq/vBbHR8AA2K65tV1/ePsLPfv+bg3oEyZ3f7N+9xbsQcAA2GpH\
+SE98OIn2l3dqJwxCVo4NVnR4ZwWj5MjYABs1dzWrqbWdj323bGamDTQ7nFgEAIGwOe2l9bpoz11\
mnPxcGUM7aeVP7xUIc4gu8eCYQgYAJ9pa/fqz+/s1F/e/VJxMeGa6XErKsxJvHBaCBgAnyivPaL/\
+J9PtLWkTtmZLt09baSiwngKwunjXw+AHtfU0q7v/3Gjmlu9+s/r0pU1mtPjceYIGIAe09LmVagz\
SOGhwbp3+iglx/eRq1+k3WMhQHDgGUCP2FF+UHP+e73Wbq2QJF0xajDxwlnFHhiAs8qyLL1QsFeP\
/+Mz9Y8K0yB+uSR6CAEDcNYcbm7T4r9v19qtlbr4/EH692vSFBsZavdYCFAEDMBZU7jrgN7YVqkF\
V43Q3EvOVVCQw+6REMAIGIAzVlF3RPF9IzRpZJxW3HUJv7MLPsFJHABOW1u7V4+t2aEbn/invthX\
L0nECz7DHhiA07K/vlk//dtH+nhvna6fMFTDBhAu+BYBA3DKdpQf0n3PbdGhI6166Lp0TeGNybAB\
AQNwyt4u2qcgh5R363idHx9j9zjopfziNbA1a9YoOTlZSUlJWrx4cafH161bp9jYWGVmZiozM1MP\
PfSQDVMCvZvXa6m89ogkKffKJC1fcCHxgq1s3wNrb2/XnXfeqddff11ut1vjxo1TTk6ORo0adcy6\
Sy+9VK+++qpNUwK9W2NTm/7jxU+0o/yQnr3zYsVEhPD+LtjO9j2wgoICJSUlKTExUaGhoZo9e7by\
8/PtHgvAV0oPHNYP/rRJG4prdMulieoTbvvPvYAkPwhYWVmZhgwZ0nHb7XarrKys07oNGzYoIyND\
06ZN0/bt2305ItBrfbSnVvPzNqqmvlmPf3esrpswVA4Hb06Gf7D9RynLsjrd9+1vkDFjxmjPnj2K\
jo7WqlWrNHPmTBUXF3f6uLy8POXl5UmSqqure2ZgoBd57v3d6hcVqt/MGSN3fy7EC/9i+x6Y2+1W\
SUlJx+3S0lK5XK5j1sTExCg6OlqSlJ2drdbWVtXU1HT6XLm5uSosLFRhYaEGDRrUs4MDAcqyLDU2\
tUmS/v2a0cq7dTzxgl+yPWDjxo1TcXGxdu3apZaWFq1YsUI5OTnHrKmsrOzYUysoKJDX69WAAQPs\
GBcIaK1tXv3nS9t01/IP1NzarqhwJydrwG/ZfgjR6XRqyZIlmjp1qtrb2zV//nylpqbqqaeekiQt\
WLBAL7zwgpYuXSqn06mIiAitWLGC4/DAWXbwcIt+8vxH2ry7VrlXJCnUafvPt8AJOayuXoQKAB6P\
R4WFhXaPARih9MBh/fiZzSqvPayfzUzT1emuk38QApJJz52274EBsJdlWXropa2qbWzRE/PGKXNY\
P7tHArqFgAG9nMPh0APXjlZbu8WV5GEUDnIDvdSrW8r08Mvb5PVacvWLJF4wDgEDehnLsrTsnZ16\
+OVt2newSS1tXrtHAk4LhxCBXqTda+m3qz7V/3xQoqnp8fr5jDSFcLYhDEXAgF5kUf42rfqoXN+5\
eLjumHy+goJ4OwrMRcCAXiQ7w6Xk+BjdOHGY3aMAZ4xjB0CA29/QrNUfl0uSPIkDiBcCBntgQAAr\
rz2shU8Xan9Di8YnDtCAPmF2jwScNQQMCFA799XrR3/9UC1t7Xpirod4IeAQMCAAbS2p093/90OF\
hwTrqfkTlBgXbfdIwFlHwIAA9Fn5IcVGhup3cz1y9YuwexygRxAwIIAcPNyi2MhQXTdhqKZf4FJE\
KN/iCFychQgEiFc+LNWsx99TceUhSSJeCHgEDAgAKzbs1i9f2a40d18N6c81DdE78CMaYDDLsvTn\
d3bqD2/v1BWjBuuhWelcGgq9BgEDDPbGtkr94e2dmp7p0k9yUuUMJl7oPQgYYLArRg3WT3NS9S8X\
JHBdQ/Q6/LgGGKat3asn1n6m/fXNcgYHKWesm3ihVyJggEFa2rz66d8+1jPrd2v959V2jwPYikOI\
gCGaWtp1//NbtPGL/bonO0U5Y912jwTYioABBmhsbtO9z27Wlj21+tmMVP3rGOIFEDDAAK1tXtU3\
tenBWemaMjre7nEAv0DAAD928HCLIkOd6hsVqmW5EzlNHvgGvhsAP7W/vll3LPtAD+dvkyTiBXwL\
3xGAH6o62KTblxWovO6I/vWCBLvHAfwShxABP1Nee0R3Lf9AdYdb9Nh3xypjaD+7RwL8EgED/IjX\
a+ne5zar/kirnpjrUaq7r90jAX6LgAF+JCjIoZ/8a6pCnEFKjo+xexzAr/EaGOAHdu6r19827pEk\
pQ3pS7yAbmAPDLDZZxWHtPDpQoUGB2lahkt9IkLsHgkwAntggI2Kyg7qrr98oIiQYC2dP554AafA\
LwK2Zs0aJScnKykpSYsXL+70uGVZWrhwoZKSkpSenq7NmzfbMCVwdn2yt1Y/XF6oPhEhWjp/vNz9\
I+0eCTCK7QFrb2/XnXfeqdWrV6uoqEjPPfecioqKjlmzevVqFRcXq7i4WHl5ebr99tttmhY4e3ZV\
N2pAdKie+t54xfeNsHscwDi2B6ygoEBJSUlKTExUaGioZs+erfz8/GPW5Ofna+7cuXI4HJo4caLq\
6upUUVFh08TAmWlsapMkzRjr1l9vv0hxseE2TwSYyfaAlZWVaciQIR233W63ysrKTnkNYIL3i6t1\
zWPv6pO9tZKksJBgmycCzGV7wCzL6nSfw+E45TWSlJeXJ4/HI4/Ho+pqftkf/Mu7O6r0v5/bonP6\
hmvYwCi7xwGMZ3vA3G63SkpKOm6XlpbK5XKd8hpJys3NVWFhoQoLCzVo0KCeGxo4RW8VVeonz3+k\
Eef00ZJ54xQbGWr3SIDxbA/YuHHjVFxcrF27dqmlpUUrVqxQTk7OMWtycnL09NNPy7Isbdy4UbGx\
sYqP53ciwQxbS+r0i5WfaFRCrH4316MYTpUHzgrb38jsdDq1ZMkSTZ06Ve3t7Zo/f75SU1P11FNP\
SZIWLFig7OxsrVq1SklJSYqMjNSyZctsnhrovlEJsbrtyiTNGj9UUWG2f8sBAcNhdfUCUwDweDwq\
LCy0ewz0Yqs/LteY4f00OJZT5GEOk547bT+ECASiv23cowdf3Krl7+2yexQgYHE8AzjLnlm/S0+s\
/VyXjYzTv1090u5xgIBFwICzaNk7O/X7t77QVann6MFZo+UM5iAH0FMIGHCWNLW26+2ifbo6PV4/\
n5lGvIAeRsCAM2RZltraLYWHBOvJW8YpMsyp4KDOb7QHcHbxIyJwBrxeS79Z9anuf/4jtbV71Sci\
hHgBPkLAgNPU7rX0yCvb9UJBiYYPjCJcgI9xCBE4DW3tXj300lat3VqpWy87T9+/4rwur88JoOcQ\
MOA0PPpqkdZurdQdk0do7qWJdo8D9EoEDDgNs8YNVXJ8jK4bP9TuUYBei9fAgG463NymVR8d/T10\
I13EC7Abe2BAN9QfadXdz2zW9tI6jXTFKjEu2u6RgF6PgAEncaChWf/21w/1ZXWDFt2QSbwAP0HA\
gBOoOtikHz5dqMqDR/Trm8doYtJAu0cC8BUCBpzAttI6HWho1uPf9ShzWD+7xwHwDQQM6EJTa7vC\
Q4J1Zeo5Gntuf8VGhto9EoBv4SxE4FuKyg7q+sff0wdf7pck4gX4KQIGfMPm3Qd01/IP5AwOkqsv\
v0kZ8GccQgS+8u6OKv185cdy9YvQ7+Z6FBcTbvdIAE6AgAGStpfW6f4VW5SSEKvfzhnDYUPAAAQM\
kDQqIVY/nJKsGWPdigzj2wIwAa+BodeyLEt/efdLlR44LIfDoZsuGk68AIMQMPRK7V5Li/9epKfe\
LNbqj8vtHgfAaeDHTfQ6za3tevDFrXqraJ9umZSo719+nt0jATgNBAy9SkNTq+57bos2767Vj6Ym\
66aLhts9EoDTRMDQqwQHOdTmtfTgrNGamu6yexwAZ4CAoVfYU9OogX3CFBXm1FPfG6+gIIfdIwE4\
Q5zEgYD30Z5a/eCPG/WrV4skiXgBAYKAIaCt+3SffvR0ofpGhir3yiS7xwFwFnEIEQHrhYK9+s2q\
T5WaEKtf3zxGfaO4ugYQSAgYAlJDU6v+8u6XumjEIC26PkPhocF2jwTgLCNgCChNre0KDQ5SdHiI\
8m4dr7iYcDmDOVIOBCJbv7MPHDigrKwsjRgxQllZWaqtre1y3fDhwzV69GhlZmbK4/H4eEqYYn99\
s+5YVqAnX/9ckuTqF0m8gABm63f34sWLddVVV6m4uFhXXXWVFi9efNy1b7/9tj766CMVFhb6cEKY\
4suqBt36h436sqpRGcP62T0OAB+wNWD5+fmaN2+eJGnevHl6+eWX7RwHhirYuV8/+OMmtXktPTV/\
nCaNjLN7JAA+YGvA9u3bp/j4eElSfHy8qqqqulzncDg0ZcoUjR07Vnl5eb4cEX7u4OEW3b9ii87p\
G64//WCCRrpi7R4JgI/0+EkckydPVmVlZaf7Fy1a1O3PsX79erlcLlVVVSkrK0sjR47UpEmTOq3L\
y8vrCFx1dfXpDw2/5/VaCgpyKDYyVL+6+QKNjI9VVDjnJAG9icOyLMuuL56cnKx169YpPj5eFRUV\
uvzyy/XZZ5+d8GMeeOABRUdH65577jnhOo/Hw+tlAerg4Rb9bOXHmp6ZoGkZXM8QOJtMeu609RBi\
Tk6Oli9fLklavny5ZsyY0WlNY2Oj6uvrO/68du1apaWl+XRO+I8vqxo0P2+jPt7T9RmrAHoPWwN2\
//336/XXX9eIESP0+uuv6/7775cklZeXKzs7W9LR18kuueQSZWRkaPz48Zo+fbquvvpqO8eGTd77\
rErf/8NGNbW2a+n3xrP3BfRyth5C7Ekm7Qbj5HZVNejm/16vkfExevSmCxQXE273SEBAMum5k1e9\
4de+Plnj3LhoPXRdui5NjlN4CJeFAsDV6OHHdlU1aN7vN6io7KAkKSstnngB6MAeGPzS2q0VeuSV\
7YoIDVZLm9fucQD4IQIGv9La5tXv1n6mlZv2KmNoXz18fYYG8XoXgC4QMPiVVzaXauWmvZp94TDd\
lXU+F+MFcFwEDH6hoalV0eEhmukZoqEDozQucYDdIwHwc/x4C1u1tnn1u398phuf+Kf2NzQrOMhB\
vAB0C3tgsM3emkb94oVP9FnFIV07boiiwvjnCKD7eMaAz1mWpdc+KtdvVn2qkOAgPTo7U5elDLZ7\
LACGIWCwxbs7qpTiitED16YrLpazDAGcOgIGn/lw1wENignT0AFR+o9rRys8JFjBQQ67xwJgKE7i\
QI870tKmX7/2qe78ywf607qdkqSoMCfxAnBG2ANDj9q8+4AWvbxNZbVHdMOEobp98gi7RwIQIAgY\
esxbRZX66fMfy90/Qku/N04XDO9v90gAAggBw1nX1NKu8NBgXZg0UN+//DzNuXi4IkL5pwbg7OI1\
MJw1tY0tevjlbZr3+w1qam1XRKhT378iiXgB6BE8s+CMtXstvfJhqZa++bkam9t104XDpID8NakA\
/AkBwxk50NCse57drKKyQxozvJ/unT5K58ZF2z0WgF6AgOG0fP2bkmMjQzUgOkwPzBqtqaPj5XBw\
ajwA3+A1MJyS1javnt+4Rzc9uV61jS0KDnLoVzeP0dXpLuIFwKfYA0O3eL2W3txeqaVvFqu89og8\
5/ZXQ1Or+kWF2j0agF6KgOGkmlradfuyAn1afkhJg6P1X98Zo4lJA9njAmArAobjqjrUpLiYcIWH\
BittSF9dP2Gopqa7uAQUAL9AwNDJx3trtfzdL7Vp5349c8dFGj4oWj/OTrF7LAA4BgHrzZ55RvrZ\
z6S9e2UNGaIvfvQT/bbvGG3ZU6u+kSH6/uXnaUB0mN1TAkCXCFhv9cwzUm6udPiwJMmxd6/c9/+b\
kq6/R5f/8AeaMcat8NBgm4cEgOPjNPpeqv0nP+2I19ciWpt19z//qhsnDiNeAPxewAbsQEOziisP\
2T2GX/F6LRXs3K+fPv+RHCUlXa453v0A4G8C9hBiVX2zvrt0g5IGRys7M0FTR8drQJ/e+XqOZVly\
OBxa/Um5/vOlbYqJCFFDXLxiqso7Lx461PcDAsBpCNg9sBGD++ie6SkKdQbrd//4TDm/fUcbiqvt\
Hstnqg426fkNe5T7p036n4Kje1WXjxysB2aN1t9/fJlifvt/pMjIYz8oMlJatMiGaQHg1AXsHlhw\
kEPXjR+q68YP1e7qBq3+uELpQ/pJkl7YtFfri6t18fmDdPH5gxTfN8Lmac8Oy7L0t4179cb2Sm0t\
qZMknTc4WlHhR/83R4U7dXW66+jiOXOO/versxA1dOjReH19PwD4OVv3wFauXKnU1FQFBQWpsLDw\
uOvWrFmj5ORkJSUlafHixaf8dYYPitbtk0d0PJE7HFLJ/kb9+rVPdc1/vaubn1yvp94slmWZ9TtA\
ahtb9Ob2Sj2zfpckyeFw6K2iSjW1tuu2K5P0/A8v0TN3XKxpGa6uP8GcOdLu3ZLXe/S/xAuAQWzd\
A0tLS9OLL76o22677bhr2tvbdeedd+r111+X2+3WuHHjlJOTo1GjRp321501fqiuHTdEe/cf1vrP\
q/X+59UqKjvYcWmkRfnbFBXqVKo7VqnuvorvG+43l03aXlqnf3xSoQ93H9DOfQ2SpJiIEN0wYZhC\
nEF67Ltj+QWSAHoFW5/pUlJOfnWHgoICJSUlKTExUZI0e/Zs5efnn1HApKN7K8MGRmnYwCjdfNFw\
eb1H974sy1JF3RFtLanTio17JEn9o0P1nYvP1c0XDZdlWfpw1wEl9I9UXEz4Wb+sktdrqfZwi/bU\
NGrnvnp9sa9BO/fV65EbMzUoJlybd9cqf3Op0of0U9ZV8fKc218jXTFyBh/dmSZeAHoLv3+2Kysr\
05AhQzpuu91ubdq06ax/naCvQuRwOLRk3ji1tXu1s6pB20rqtL30oCK/el9UbWOL7lp+9HBnSLBD\
rn6Riu8brmvHDdWkkXE6eLhFLxeWKircqT7hToU6g9Xm9So1IVaufpGqqW/Wuk/3qb3dUn1Tq/Y3\
NKumvlnzLztPKQmxeqton43WtjYAAAtjSURBVH6+8uOOuWIiQpQ0OFoNzW0aJOkaj1s3ThymUGfA\
nn8DAN3S4wGbPHmyKisrO92/aNEizZgx46Qf39XrUsc7nJeXl6e8vDxJUnX1mZ1x6AwOUnJ8jJLj\
YzRr/P+/PyrMqSdv8aj0wBGVHjis0gOHte/gETW3tkuS9h1s0tI3izt9vp/PTJOrX6TKag/r1699\
2nF/v6hQDYgOVWNzmyRpVEKMfpw9UkMGROm8uGgN7BN2zN83OjzkjP5eABAoejxgb7zxxhl9vNvt\
Vsk33lxbWloql6vrkxJyc3OVm5srSfJ4PGf0dY8nLCRYY88doLHndv34+fExeufnk9XQ3KaGpja1\
tLXLGRSkQTFH34M2yhWrVfderuAghyJDnQr51p6Uq1+krp8wrEdmB4BA4veHEMeNG6fi4mLt2rVL\
CQkJWrFihZ599lm7xzqhsJBghYUEd3kh3BBnkPpzgVwAOGO2vpDy0ksvye12a8OGDZo+fbqmTp0q\
SSovL1d2drYkyel0asmSJZo6dapSUlJ0ww03KDU11c6xAQB+wGGZ9uanbvJ4PCd8bxkAoDOTnjs5\
lQ0AYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEA\
jETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgY\
AMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBItgZs5cqVSk1NVVBQkAoL\
C4+7bvjw4Ro9erQyMzPl8Xh8OCEAwF857fziaWlpevHFF3XbbbeddO3bb7+tgQMH+mAqAIAJbA1Y\
SkqKnV8eAGAwI14DczgcmjJlisaOHau8vDy7xwEA+IEe3wObPHmyKisrO92/aNEizZgxo1ufY/36\
9XK5XKqqqlJWVpZGjhypSZMmdVqXl5fXEbjq6uozGxwA4Nd6PGBvvPHGGX8Ol8slSYqLi9M111yj\
goKCLgOWm5ur3NxcSeJkDwAIcH5/CLGxsVH19fUdf167dq3S0tJsngoAYDdbA/bSSy/J7XZrw4YN\
mj59uqZOnSpJKi8vV3Z2tiRp3759uuSSS5SRkaHx48dr+vTpuvrqq+0cGwDgBxyWZVl2D9ETPB7P\
Cd9bBgDozKTnTr8/hAgAQFcIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEI\
GADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAY\
iYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAj2Rqw\
e++9VyNHjlR6erquueYa1dXVdbluzZo1Sk5OVlJSkhYvXuzjKQEA/sjWgGVlZWnbtm365JNPdP75\
5+uRRx7ptKa9vV133nmnVq9eraKiIj333HMqKiqyYVoAgD+xNWBTpkyR0+mUJE2cOFGlpaWd1hQU\
FCgpKUmJiYkKDQ3V7NmzlZ+f7+tRAQB+xm9eA/vzn/+sadOmdbq/rKxMQ4YM6bjtdrtVVlbmy9EA\
AH7I2dNfYPLkyaqsrOx0/6JFizRjxoyOPzudTs2ZM6fTOsuyOt3ncDi6/Fp5eXnKy8uTJG3btk0e\
j+dMRveJ6upqDRo0yO4xToo5zx4TZpSY82wzZc4dO3bYPUK39XjA3njjjRM+vnz5cr366qt68803\
uwyT2+1WSUlJx+3S0lK5XK4uP1dubq5yc3MlSR6PR4WFhWcwuW8w59llwpwmzCgx59lm0pymsPUQ\
4po1a/Too4/qlVdeUWRkZJdrxo0bp+LiYu3atUstLS1asWKFcnJyfDwpAMDf2Bqwu+66S/X19crK\
ylJmZqYWLFggSSovL1d2drYkyel0asmSJZo6dapSUlJ0ww03KDU11c6xAQB+oMcPIZ7IF1980eX9\
LpdLq1at6ridnZ3dEbTu+vpQor9jzrPLhDlNmFFizrONOc8+h9XVWRIAAPg5vzmNHgCAUxEwATPl\
slQrV65UamqqgoKCTnhG0vDhwzV69GhlZmbaclZQd+e0c3seOHBAWVlZGjFihLKyslRbW9vlOru2\
5cm2jWVZWrhwoZKSkpSenq7Nmzf7bLZvOtmc69atU2xsrDIzM5WZmamHHnrI5zPOnz9fcXFxSktL\
6/Jxf9mWJ5vTH7alJJWUlOiKK65QSkqKUlNT9fjjj3da4y/b9ISsAPGPf/zDam1ttSzLsu677z7r\
vvvu67Smra3NSkxMtHbu3Gk1Nzdb6enp1vbt2306Z1FRkbVjxw7rsssusz744IPjrhs2bJhVXV3t\
w8mO1Z057d6e9957r/XII49YlmVZjzzySJf/zy3Lnm3ZnW3z2muvWVdffbXl9XqtDRs2WOPHj/fp\
jN2d8+2337amT5/u89m+6Z133rE+/PBDKzU1tcvH/WFbWtbJ5/SHbWlZllVeXm59+OGHlmVZ1qFD\
h6wRI0b45b/PkwmYPTBTLkuVkpKi5ORkn37N09GdOe3envn5+Zo3b54kad68eXr55Zd99rVPpjvb\
Jj8/X3PnzpXD4dDEiRNVV1eniooKv5vTH0yaNEn9+/c/7uP+sC2lk8/pL+Lj4zVmzBhJUp8+fZSS\
ktLpCkf+sk1PJGAC9k2BcFkqh8OhKVOmaOzYsR1XF/E3dm/Pffv2KT4+XtLRb8iqqqou19mxLbuz\
bezefqcyw4YNG5SRkaFp06Zp+/btvhyxW/xhW3aXv23L3bt3a8uWLZowYcIx95uwTW09jf5U+fKy\
VD0958msX79eLpdLVVVVysrK0siRIzVp0iS/mtMX2/NEM3aXL7blt3Vn2/jq3+OJdGeGMWPGaM+e\
PYqOjtaqVas0c+ZMFRcX+2rEbvGHbdkd/rYtGxoaNGvWLD322GOKiYk55jETtqlRAfPlZal6cs7u\
+HquuLg4XXPNNSooKDjrT7pnOqcvtueJZhw8eLAqKioUHx+viooKxcXFdbnOF9vy27qzbXz17/FE\
ujPDN5/YsrOzdccdd6impkYDBw702Zwn4w/bsjv8aVu2trZq1qxZmjNnjq699tpOj5uwTQPmEGIg\
XZaqsbFR9fX1HX9eu3btcc9qspPd2zMnJ0fLly+XdPSHl672Gu3alt3ZNjk5OXr66adlWZY2btyo\
2NjYjkOivtKdOSsrKzt+Gi8oKJDX69WAAQN8OufJ+MO27A5/2ZaWZenWW29VSkqK7r777i7XGLFN\
bTl1pAecd955ltvttjIyMqyMjAzrtttusyzLssrKyqxp06Z1rHvttdesESNGWImJidbDDz/s8zlf\
fPFFKyEhwQoNDbXi4uKsKVOmdJpz586dVnp6upWenm6NGjXKb+e0LHu3Z01NjXXllVdaSUlJ1pVX\
Xmnt37+/04x2bsuuts3SpUutpUuXWpZlWV6v17rjjjusxMREKy0t7YRnpdo55xNPPGGNGjXKSk9P\
tyZMmGCtX7/e5zPOnj3bOueccyyn02klJCRYf/zjH/1yW55sTn/YlpZlWe+9954lyRo9enTHc+Zr\
r73ml9v0RLgSBwDASAFzCBEA0LsQMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAA\
ACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQC\
BgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABG\
ImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABjp/wH0BjRF6ern0AAAAABJRU5ErkJggg==\
"
frames[12] = "data:image/png;base64,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\
"
frames[13] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3xU5YH/8e8kk3tIuAYThosxmISE\
JMIE8IY3AhJ2A4gXlC1YbCNeSvfnVn/2utWViq/V/XnBxaZuKXZVWlw1VoGCF9QiECOoQEQjcsk9\
ARJIArnO+f1Bm5UmQIBkzjyTz/uvzMyTzJeH5HznPOfMGYdlWZYAADBMgN0BAAA4FxQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBI\
FBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQY\
AMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIthdYSUmJ\
rrnmGiUnJyslJUVPPfVUpzGWZWnx4sVKSEhQWlqatm3bZkNSAIAvcdoewOnUE088oXHjxqm+vl7j\
x49XVlaWxowZ0zFm7dq1Ki4uVnFxsbZu3aq77rpLW7dutTE1AMButu+BxcbGaty4cZKkfv36KTk5\
WWVlZSeNyc/P1/z58+VwODRp0iTV1dWpoqLCjrgAAB9he4F92759+7R9+3ZNnDjxpPvLyso0fPjw\
jtsul6tTyQEA+hbblxD/pqGhQXPmzNGTTz6pqKiokx6zLKvTeIfD0em+vLw85eXlSZJ2796tpKSk\
3gkLAH5q3759OnjwoN0xusUnCqy1tVVz5szRvHnzdMMNN3R63OVyqaSkpON2aWmp4uLiOo3Lzc1V\
bm6uJMntdquwsLD3QgOAH3K73XZH6DbblxAty9Idd9yh5ORk3XfffV2OycnJ0QsvvCDLsrRlyxZF\
R0crNjbWy0kBAL7E9j2wTZs26fe//73Gjh2rjIwMSdKvfvUrHThwQJK0aNEiZWdna82aNUpISFB4\
eLhWrFhhZ2QAgA+wvcCuuOKKLo9xfZvD4dCzzz7rpUQAABPYvoQIAMC5oMAAAEaiwAAARqLAAABG\
osAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLA\
AABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAA\
RqLAAABGosAAAEaiwAAARqLAAABGosAAAEayvcAWLlyomJgYpaamdvn4xo0bFR0drYyMDGVkZOjh\
hx/2ckIAgC9y2h3g9ttv17333qv58+efcsyVV16pN99804upAAC+zvY9sMmTJ2vgwIF2xwAAGMb2\
AuuOzZs3Kz09XdOnT9euXbvsjgMA8AG2LyGeybhx47R//35FRkZqzZo1mjVrloqLi7scm5eXp7y8\
PElSTU2NN2MCALzM5/fAoqKiFBkZKUnKzs5Wa2urDh482OXY3NxcFRYWqrCwUEOGDPFmTACAl/l8\
gVVWVsqyLElSQUGBPB6PBg0aZHMqAIDdbF9CvPXWW7Vx40YdPHhQLpdLDz30kFpbWyVJixYt0iuv\
vKLly5fL6XQqLCxMq1atksPhsDk1AMBuDutvuzd+xu12q7Cw0O4YAGAUk7adPr+ECABAVygwAICR\
KDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgw\
AICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACA\
kSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkWwvsIULFyomJkapqaldPm5ZlhYvXqyEhASl\
paVp27ZtXk4IAPBFthfY7bffrnXr1p3y8bVr16q4uFjFxcXKy8vTXXfd5cV0AABfZXuBTZ48WQMH\
Djzl4/n5+Zo/f74cDocmTZqkuro6VVRUeDEhAMAXOe0OcCZlZWUaPnx4x22Xy6WysjLFxsbamAoA\
uqet3SOHw6HAAIcO1Tdr38EGtbZbamv3qM1jqa3d0qUJgxUR6tShhmYdbmhWREiQ+oU6FR7iVGCA\
w+5/gs/y+QKzLKvTfQ5H1/+heXl5ysvLkyTV1NT0ai4AkE5so9o9lpyBAfqi7IheKyzRoYYW1dQ3\
6VB9s2obW/T89ydpzLBofVRcoyX5uzr9jBfvvkwXhfbThh0VenLdlyc91i/UqZWLLlPcgDB9fqBW\
e2sa5RoYruEDwzW4X4gC+nDB+XyBuVwulZSUdNwuLS1VXFxcl2Nzc3OVm5srSXK73V7JB6DvaPdY\
Kq48qp2lR7Snql5fVzXom+oG/Xx2qq5OHqrjre36y1c1GtwvRIMjQ5QUG6XB/ULUPzxYknTp6CF6\
9vZMOQMdcgY4FBQYIGdggIYNCJMkXZkYo6HRYWpsblP98VY1NLfpyLEWDe4XIkl6d1eVVm3Z35En\
LDhQSXFRevKfxiskKFAtbR4FO20/MuQ1Pl9gOTk5WrZsmebOnautW7cqOjqa5UMAXuHxWNpT3SBn\
oEMXDonUgUONuv3XWySd2DO6aGg/TU+P1QXRoZKkcaMGas3915zy5w3uF9JRRl0ZNjBcwwaGn/Lx\
e6derJsnjVDp4eMqPXxM31Q3qPpok0KCAiVJv3jlM+0uP6oUV3+lj+ivyy4eItdpfp7pbC+wW2+9\
VRs3btTBgwflcrn00EMPqbW1VZK0aNEiZWdna82aNUpISFB4eLhWrFhhc2IA/uzo8VZ9sLtam76q\
0bZ9h3XkWKv+4ZJh+tmsVI0aHKFHbkpXqitaQ6NDT3k4o7c4AwMUNyBccQPCNeGiQZ0evyIxRs7A\
AO0srdM7uyr1H2t366qkGD126yWSThSyPy05OqyuDjL5AbfbrcLCQrtjADDAt5febnr6Q5UcOqaY\
qFC54wdq/IUD5b5woIZGh9mc8uyUHj6mTV/VKDLUqRkZw9TS5tGcpz7QWFd/XT1mqCYnxig0OLDT\
95m07bR9DwwA7NDY1KZ3iyr1zq5K7alq0Gv/Z7KcgQH64bREDYgI1phh0V7fw+pJroHhumXSyI7b\
x5rbdGnCYH1UfFDvFlUpPCRQ1425QPMuH6VRQyJtTHruKDAAfcqBg4168aN9Wr+jQsdb2jVsQJiu\
T49Tc5tHzsAAXZEYY3fEXtE/Ilg/mZkqj8fS9v21WvtZud7ZValZbpckqbz2mNo9Zi3IUWAA/N7x\
ljY1t3rUPyJYNfVNWvd5uaamxmqm26UUw/e0zlZAgEPjLzyxNPqj7GSFBJ1YOl354V59VGzW2484\
BgbAb5UdPqaXN+/X2s/KNSMjTvdlJ8uyLDU0talfWJDd8XxK9ZEmlRw+pjtvmmrMtpM9MAB+Z09V\
vV74y169vbNSAQ7pupQLNHXsibffOBwOyqsLMdGhivnr2wFMQYEB8DsvfbRPH+yu1i2TRurWS0dq\
SJRZG2Z0DwUGwHiF3xzS7z74RvdkXazkYdG6a8rFWjwtUdF/vQIG/BMFBsBYX1Yc1bMbvlLBnkMa\
3C9EBxuaJem0V7uA/6DAABjpsT/t0muFpYoKC9IPpyXqhszhHZdUQt9AgQEwxtHjreoX6pTD4VBs\
/zDNv+JCfeeKCzkpo4+iwAD4vNY2j/6wZb9+9+E3+vmsVF2VPFTzr4y3OxZsRoEB8Gmf7D2sf3+r\
SPtqGnX5xUM0YnCE3ZHgIygwAD7ryXW7tWrzfsX2D9Pjt13it5d5wrmhwAD4lLZ2j6QTHx2S4orW\
wqviNf/KeIVyggb+DgUGwGfsKq3TY38q0rS0OM27fJSyUvnwWpwaBQbAds2t7frNe1/rpY/2aVC/\
ELkGmvXZW7AHBQbAVrvLj+qXr36ufTWNyhk3TIunJSoylNPicWYUGABbNbe1q6m1XU9+Z7wmJQy2\
Ow4MQoEB8LpdpXX6dH+d5l0+SukjBmj1D65UkDPA7lgwDAUGwGva2j367ft79LsPvlFMVKhmuV2K\
CHFSXjgnFBgAryivPa5//Z/PtaOkTtkZcbpvepIiQtgE4dzx2wOg1zW1tOt7z29Rc6tH/3ZjmrLG\
cno8zh8FBqDXtLR5FOwMUGhwoO6fMUaJsf0UNyDc7ljwEyw8A+gVu8uPaN5/btL6HRWSpGvGDKW8\
0KPYAwPQoyzL0isFB/TUn7/UwIgQDeHDJdFLKDAAPeZYc5uW/mmX1u+o1OUXD9EvZqcqOjzY7ljw\
UxQYgB5TuPew3t5ZqUXXjdb8Ky5UQIDD7kjwYxQYgPNWUXdcsf3DNDkpRqvuvYLP7IJXcBIHgHPW\
1u7Rk+t265Zn/qKvq+olifKC17AHBuCcHKpv1k/++Kk+O1CnmyaO0MhBFBe8iwIDcNZ2lx/VAy9v\
19HjrXr4xjRN5Y3JsAEFBuCsvVdUpQCHlHfHBF0cG2V3HPRRPnEMbN26dUpMTFRCQoKWLl3a6fGN\
GzcqOjpaGRkZysjI0MMPP2xDSqBv83gsldcelyTlXpuglYsupbxgK9v3wNrb23XPPfdow4YNcrlc\
yszMVE5OjsaMGXPSuCuvvFJvvvmmTSmBvq2xqU3/+urn2l1+VC/dc7miwoJ4fxdsZ/seWEFBgRIS\
EhQfH6/g4GDNnTtX+fn5dscC8Felh4/p+/+1VZuLD+r2K+PVL9T2172AJB8osLKyMg0fPrzjtsvl\
UllZWadxmzdvVnp6uqZPn65du3Z5MyLQZ326v1YL87boYH2znvrOeN04cYQcDt6cDN9g+0spy7I6\
3ff3fyDjxo3T/v37FRkZqTVr1mjWrFkqLi7u9H15eXnKy8uTJNXU1PROYKAPefmjfRoQEawn5o2T\
ayAX4oVvsX0PzOVyqaSkpON2aWmp4uLiThoTFRWlyMhISVJ2drZaW1t18ODBTj8rNzdXhYWFKiws\
1JAhQ3o3OOCnLMtSY1ObJOkXs8cq744JlBd8ku0FlpmZqeLiYu3du1ctLS1atWqVcnJyThpTWVnZ\
sadWUFAgj8ejQYMG2REX8GutbR7922s7de/Kj9Xc2q6IUCcna8Bn2b6E6HQ6tWzZMk2bNk3t7e1a\
uHChUlJS9Nxzz0mSFi1apFdeeUXLly+X0+lUWFiYVq1axTo80MOOHGvRj//wqbbtq1XuNQkKdtr+\
+hY4LYfV1UEoP+B2u1VYWGh3DMAIpYeP6V9e3Kby2mP66axUXZ8Wd+Zvgl8yadtp+x4YAHtZlqWH\
X9uh2sYWPbMgUxkjB9gdCegWCgzo4xwOh355w1i1tVtcSR5GYZEb6KPe3F6mR17fKY/HUtyAcMoL\
xqHAgD7GsiyteH+PHnl9p6qONKmlzWN3JOCcsIQI9CHtHkv/seYL/c/HJZqWFqufzUxVEGcbwlAU\
GNCHLMnfqTWfluufLh+lu6dcrIAA3o4Cc1FgQB+SnR6nxNgo3TJppN1RgPPG2gHg5w41NGvtZ+WS\
JHf8IMoLfoM9MMCPldce0+IXCnWooUUT4gdpUL8QuyMBPYYCA/zUnqp6/fD3n6ilrV3PzHdTXvA7\
FBjgh3aU1Om+//5EoUGBem7hRMXHRNodCehxFBjgh74sP6ro8GA9Pd+tuAFhdscBegUFBviRI8da\
FB0erBsnjtCMS+IUFsyfOPwXZyECfuKNT0o156kPVVx5VJIoL/g9CgzwA6s279Ov3tilVFd/DR/I\
NQ3RN/ASDTCYZVn67ft79Jv39uiaMUP18Jw0Lg2FPoMCAwz29s5K/ea9PZqREacf56TIGUh5oe+g\
wACDXTNmqH6Sk6J/uGQY1zVEn8PLNcAwbe0ePbP+Sx2qb5YzMEA5412UF/okCgwwSEubRz/542d6\
cdM+bfqqxu44gK1YQgQM0dTSrgf/sF1bvj6kH2UnK2e8y+5IgK0oMMAAjc1tuv+lbdq+v1Y/nZmi\
fxxHeQEUGGCA1jaP6pva9NCcNE0dG2t3HMAnUGCADztyrEXhwU71jwjWitxJnCYPfAt/DYCPOlTf\
rLtXfKxH8ndKEuUF/B3+IgAfVH2kSXetKFB53XH94yXD7I4D+CSWEAEfU157XPeu/Fh1x1r05HfG\
K33EALsjAT6JAgN8iMdj6f6Xt6n+eKueme9Wiqu/3ZEAn0WBAT4kIMChH/9jioKcAUqMjbI7DuDT\
OAYG+IA9VfX645b9kqTU4f0pL6Ab2AMDbPZlxVEtfqFQwYEBmp4ep35hQXZHAozAHhhgo6KyI7r3\
dx8rLChQyxdOoLyAs+ATBbZu3TolJiYqISFBS5cu7fS4ZVlavHixEhISlJaWpm3bttmQEuhZnx+o\
1Q9WFqpfWJCWL5wg18BwuyMBRrG9wNrb23XPPfdo7dq1Kioq0ssvv6yioqKTxqxdu1bFxcUqLi5W\
Xl6e7rrrLpvSAj1nb02jBkUG67nvTlBs/zC74wDGsb3ACgoKlJCQoPj4eAUHB2vu3LnKz88/aUx+\
fr7mz58vh8OhSZMmqa6uThUVFTYlBs5PY1ObJGnmeJd+f9dliokOtTkRYCbbC6ysrEzDhw/vuO1y\
uVRWVnbWYwATfFRco9lPfqDPD9RKkkKCAm1OBJjL9gKzLKvTfQ6H46zHSFJeXp7cbrfcbrdqaviw\
P/iWD3ZX6/++vF0X9A/VyMERdscBjGd7gblcLpWUlHTcLi0tVVxc3FmPkaTc3FwVFhaqsLBQQ4YM\
6b3QwFl6t6hSP/7Dpxp9QT8tW5Cp6PBguyMBxrO9wDIzM1VcXKy9e/eqpaVFq1atUk5OzkljcnJy\
9MILL8iyLG3ZskXR0dGKjeUzkWCGHSV1+vnqzzVmWLSenu9WFKfKAz3C9jcyO51OLVu2TNOmTVN7\
e7sWLlyolJQUPffcc5KkRYsWKTs7W2vWrFFCQoLCw8O1YsUKm1MD3TdmWLTuvDZBcyaMUESI7X9y\
gN9wWF0dYPIDbrdbhYWFdsdAH7b2s3KNGzVAQ6M5RR7mMGnbafsSIuCP/rhlvx56dYdWfrjX7iiA\
32I9A+hhL27aq2fWf6WrkmL0z9cn2R0H8FsUGNCDVry/R79+92tdl3KBHpozVs5AFjmA3kKBAT2k\
qbVd7xVV6fq0WP1sVirlBfQyCgw4T5Zlqa3dUmhQoJ69PVPhIU4FBnR+oz2AnsVLROA8eDyWnljz\
hR78w6dqa/eoX1gQ5QV4CQUGnKN2j6VH39ilVwpKNGpwBMUFeBlLiMA5aGv36OHXdmj9jkrdcdVF\
+t41F3V5fU4AvYcCA87BY28Waf2OSt09ZbTmXxlvdxygT6LAgHMwJ3OEEmOjdOOEEXZHAfosjoEB\
3XSsuU1rPj3xOXRJcZQXYDf2wIBuqD/eqvte3KZdpXVKiotWfEyk3ZGAPo8CA87gcEOz/vn3n+ib\
mgYtuTmD8gJ8BAUGnEb1kSb94IVCVR45rsdvG6dJCYPtjgTgrygw4DR2ltbpcEOznvqOWxkjB9gd\
B8C3UGBAF5pa2xUaFKhrUy7Q+AsHKjo82O5IAP4OZyECf6eo7IhueupDffzNIUmivAAfRYEB37Jt\
32Hdu/JjOQMDFNefT1IGfBlLiMBffbC7Wj9b/ZniBoTp6fluxUSF2h0JwGlQYICkXaV1enDVdiUP\
i9Z/zBvHsiFgAAoMkDRmWLR+MDVRM8e7FB7CnwVgAo6Boc+yLEu/++AblR4+JofDoVsvG0V5AQah\
wNAntXssLf1TkZ57p1hrPyu3Ow6Ac8DLTfQ5za3teujVHXq3qEq3T47X966+yO5IAM4BBYY+paGp\
VQ+8vF3b9tXqh9MSdetlo+yOBOAcUWDoUwIDHGrzWHpozlhNS4uzOw6A80CBoU/Yf7BRg/uFKCLE\
qee+O0EBAQ67IwE4T5zEAb/36f5aff/5Lfr3N4skifIC/AQFBr+28Ysq/fCFQvUPD1butQl2xwHQ\
g1hChN96peCAnljzhVKGRevx28apfwRX1wD8CQUGv9TQ1KrfffCNLhs9REtuSldocKDdkQD0MAoM\
fqWptV3BgQGKDA1S3h0TFBMVKmcgK+WAP7L1L/vw4cPKysrS6NGjlZWVpdra2i7HjRo1SmPHjlVG\
RobcbreXU8IUh+qbdfeKAj274StJUtyAcMoL8GO2/nUvXbpU1113nYqLi3Xddddp6dKlpxz73nvv\
6dNPP1VhYaEXE8IU31Q36I7fbNE31Y1KHznA7jgAvMDWAsvPz9eCBQskSQsWLNDrr79uZxwYqmDP\
IX3/+a1q81h6bmGmJifF2B0JgBfYWmBVVVWKjY2VJMXGxqq6urrLcQ6HQ1OnTtX48eOVl5fnzYjw\
cUeOtejBVdt1Qf9Q/df3JyopLtruSAC8pNdP4pgyZYoqKys73b9kyZJu/4xNmzYpLi5O1dXVysrK\
UlJSkiZPntxpXF5eXkfB1dTUnHto+DyPx1JAgEPR4cH699suUVJstCJCOScJ6EsclmVZdj15YmKi\
Nm7cqNjYWFVUVOjqq6/Wl19+edrv+eUvf6nIyEj96Ec/Ou04t9vN8TI/deRYi366+jPNyBim6elc\
zxDoSSZtO21dQszJydHKlSslSStXrtTMmTM7jWlsbFR9fX3H1+vXr1dqaqpXc8J3fFPdoIV5W/TZ\
/q7PWAXQd9haYA8++KA2bNig0aNHa8OGDXrwwQclSeXl5crOzpZ04jjZFVdcofT0dE2YMEEzZszQ\
9ddfb2ds2OTDL6v1vd9sUVNru5Z/dwJ7X0AfZ+sSYm8yaTcYZ7a3ukG3/ecmJcVG6bFbL1FMVKjd\
kQC/ZNK2k6Pe8Gl/O1njwphIPXxjmq5MjFFoEJeFAsDV6OHD9lY3aMGvN6uo7IgkKSs1lvIC0IE9\
MPik9Tsq9OgbuxQWHKiWNo/dcQD4IAoMPqW1zaOn13+p1VsPKH1Efz1yU7qGcLwLQBcoMPiUN7aV\
avXWA5p76Ujdm3UxF+MFcEoUGHxCQ1OrIkODNMs9XCMGRygzfpDdkQD4OF7ewlatbR49/ecvdcsz\
f9GhhmYFBjgoLwDdwh4YbHPgYKN+/srn+rLiqG7IHK6IEH4dAXQfWwx4nWVZeuvTcj2x5gsFBQbo\
sbkZuip5qN2xABiGAoMtPthdreS4KP3yhjTFRHOWIYCzR4HBaz7Ze1hDokI0YlCE/vWGsQoNClRg\
gMPuWAAMxUkc6HXHW9r0+Ftf6J7ffaz/2rhHkhQR4qS8AJwX9sDQq7btO6wlr+9UWe1x3TxxhO6a\
MtruSAD8BAWGXvNuUaV+8ofP5BoYpuXfzdQlowbaHQmAH6HA0OOaWtoVGhyoSxMG63tXX6R5l49S\
WDC/agB6FsfA0GNqG1v0yOs7teDXm9XU2q6wYKe+d00C5QWgV7BlwXlr91h645NSLX/nKzU2t+vW\
S0dKfvkxqQB8CQWGs/fii9JPfyodOKB213A9n/VdrXBdqnGjBuj+GWN0YUyk3QkB9AEsIeLsvPii\
lJsr7d8vWZYCSw7ou//9mH4dWqxnb8+kvAB4DQWGs2L95CfSsWMn3Rfc0qT0Xz8uh4P3dQHwHgoM\
3eLxWNqwo0LWgZKuBxw44N1AAPo8joHhjJpa2nXXigJ9UX5UGQNiNKS2qvOgESO8HwxAn8YeGE6p\
+miTJCk0OFCpw/vrF7NTNejpJ6Tw8JMHhodLS5bYkBBAX8YeGDr57ECtVn7wjbbuOaQX775Mo4ZE\
6l+yk088mDFPcqjjLESNGHGivObNszUzgL6HAoOkE5/RtXXPIa384Btt31+r/uFB+t7VF2lQZEjn\
wfPmUVgAbEeBQZJ0uLFF97+0TQMjQ/R/pidp5jiXQoMD7Y4FAKdEgfVRh+qb9aftZfq6ql6P3JSu\
QZEhevb2TCXHRSvIyaFRAL7PbwvscEOziiuPavQFUXZH8Rkej6XCvYf1emGJ3t9drXaPJfeFAzsu\
vps2YoDdEQGg2/y2wKrrm/Wd5ZuVMDRS2RnDNG1srAb16+J4Th9gWZYcDofWfl6uf3ttp6LCgnTL\
pJGaNd6lEYMj7I4HAOfEbwts9NB++tGMZK35tFxP//lLPbvhKz1+2yW6dPQQu6N5RfWRJr1XVKV3\
iio1NTVWN04coauThipwjkPXJA9VSBDHtwCYzW8LLDDAoRsnjNCNE0ZoX02D1n5WobThJ5bIXtl6\
QJuKa3T5xUN0+cVDFNs/zOa0PcOyLP1xywG9vatSO0rqJEkXDY1UROiJ/+aIUKeuT4uzMyIA9Bhb\
j9avXr1aKSkpCggIUGFh4SnHrVu3TomJiUpISNDSpUvP+nlGDYnUXVNGd2zIHQ6p5FCjHn/rC83+\
fx/otmc36bl3imVZZn0GSG1ji97ZVakXN+2VJDkcDr1bVKmm1nbdeW2C/vCDK/Ti3ZdrejqlBcD/\
2LoHlpqaqldffVV33nnnKce0t7frnnvu0YYNG+RyuZSZmamcnByNGTPmnJ93zoQRuiFzuA4cOqZN\
X9Xoo69qVFR2pONitEvydyoi2KkUV7RSXP0V2z/UZy5Uu6u0Tn/+vEKf7DusPVUNkqSosCDdPHGk\
gpwBevI74/kASQB9gq1buuTk5DOOKSgoUEJCguLj4yVJc+fOVX5+/nkVmHRib2Xk4AiNHByh2y4b\
JY/nxN6XZVmqqDuuHSV1WrVlvyRpYGSw/unyC3XbZaNkWZY+2XtYwwaGKyYqVIEBPVtsHo+l2mMt\
2n+wUXuq6vV1VYP2VNXr0VsyNCQqVNv21Sp/W6nShg9Q1nWxcl84UElxUXIGntiZprwA9BU+v7Ur\
KyvT8OHDO267XC5t3bq1x58n4K9F5HA4tGxBptraPdpT3aCdJXXaVXpE4X99U29tY4vuXXliuTMo\
0KG4AeGK7R+qGzJHaHJSjI4ca9HrhaWKCHWqX6hTwc5AtXk8ShkWrbgB4TpY36yNX1Spvd1SfVOr\
DjU062B9sxZedZGSh0Xr3SuabWEAAAtgSURBVKIq/Wz1Zx25osKClDA0Ug3NbRoiabbbpVsmjVQw\
79UC0Mf1eoFNmTJFlZWVne5fsmSJZs6cecbv7+q41KmW8/Ly8pSXlydJqqmpOcukJ3MGBigxNkqJ\
sVGaM+F/748IcerZ290qPXxcpYePqfTwMVUdOa7m1nZJUtWRJi1/p7jTz/vZrFTFDQhXWe0xPf7W\
Fx33D4gI1qDIYDU2t0mSxgyL0r9kJ2n4oAhdFBOpwf1CTvr3RoYGnde/CwD8Ra8X2Ntvv31e3+9y\
uVRS8r+fQVVaWqq4uK5PSsjNzVVubq4kye12n9fznkpIUKDGXzhI4y/s+vGLY6P0/s+mqKG5TQ1N\
bWppa5czIEBDok68B21MXLTW3H+1AgMcCg92drrqRdyAcN00cWSvZAcAf+LzS4iZmZkqLi7W3r17\
NWzYMK1atUovvfSS3bFOKyQoUCFBgV1eCDfIGaCBXV0gFwBwVmw9kPLaa6/J5XJp8+bNmjFjhqZN\
myZJKi8vV3Z2tiTJ6XRq2bJlmjZtmpKTk3XzzTcrJSXFztgAAB/gsEx781M3ud3u0763DADQmUnb\
Tk5lAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJ\
AgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQID\
ABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABjJ1gJbvXq1UlJS\
FBAQoMLCwlOOGzVqlMaOHauMjAy53W4vJgQA+CqnnU+empqqV199VXfeeecZx7733nsaPHiwF1IB\
AExga4ElJyfb+fQAAIMZcQzM4XBo6tSpGj9+vPLy8uyOAwDwAb2+BzZlyhRVVlZ2un/JkiWaOXNm\
t37Gpk2bFBcXp+rqamVlZSkpKUmTJ0/uNC4vL6+j4Gpqas4vOADAp/V6gb399tvn/TPi4uIkSTEx\
MZo9e7YKCgq6LLDc3Fzl5uZKEid7AICf8/klxMbGRtXX13d8vX79eqWmptqcCgBgN1sL7LXXXpPL\
5dLmzZs1Y8YMTZs2TZJUXl6u7OxsSVJVVZWuuOIKpaena8KECZoxY4auv/56O2MDAHyAw7Isy+4Q\
vcHtdp/2vWUAgM5M2nb6/BIiAABdocAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEai\
wAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAA\
AEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABG\
osAAAEaytcDuv/9+JSUlKS0tTbNnz1ZdXV2X49atW6fExEQlJCRo6dKlXk4JAPBFthZYVlaWdu7c\
qc8//1wXX3yxHn300U5j2tvbdc8992jt2rUqKirSyy+/rKKiIhvSAgB8ia0FNnXqVDmdTknSpEmT\
VFpa2mlMQUGBEhISFB8fr+DgYM2dO1f5+fnejgoA8DE+cwzst7/9raZPn97p/rKyMg0fPrzjtsvl\
UllZmTejAQB8kLO3n2DKlCmqrKzsdP+SJUs0c+bMjq+dTqfmzZvXaZxlWZ3uczgcXT5XXl6e8vLy\
JEk7d+6U2+0+n+heUVNToyFDhtgd44zI2XNMyCiRs6eZknP37t12R+i2Xi+wt99++7SPr1y5Um++\
+abeeeedLovJ5XKppKSk43Zpaani4uK6/Fm5ubnKzc2VJLndbhUWFp5Hcu8gZ88yIacJGSVy9jST\
cprC1iXEdevW6bHHHtMbb7yh8PDwLsdkZmaquLhYe/fuVUtLi1atWqWcnBwvJwUA+BpbC+zee+9V\
fX29srKylJGRoUWLFkmSysvLlZ2dLUlyOp1atmyZpk2bpuTkZN18881KSUmxMzYAwAf0+hLi6Xz9\
9ddd3h8XF6c1a9Z03M7Ozu4otO7621KiryNnzzIhpwkZJXL2NHL2PIfV1VkSAAD4OJ85jR4AgLPh\
NwVmymWpVq9erZSUFAUEBJz2jKRRo0Zp7NixysjIsOWsoO7mtHM+Dx8+rKysLI0ePVpZWVmqra3t\
cpxdc3mmubEsS4sXL1ZCQoLS0tK0bds2r2X7tjPl3Lhxo6Kjo5WRkaGMjAw9/PDDXs+4cOFCxcTE\
KDU1tcvHfWUuz5TTF+ZSkkpKSnTNNdcoOTlZKSkpeuqppzqN8ZU5PS3LT/z5z3+2WltbLcuyrAce\
eMB64IEHOo1pa2uz4uPjrT179ljNzc1WWlqatWvXLq/mLCoqsnbv3m1dddVV1scff3zKcSNHjrRq\
amq8mOxk3clp93zef//91qOPPmpZlmU9+uijXf6fW5Y9c9mduXnrrbes66+/3vJ4PNbmzZutCRMm\
eDVjd3O+99571owZM7ye7dvef/9965NPPrFSUlK6fNwX5tKyzpzTF+bSsiyrvLzc+uSTTyzLsqyj\
R49ao0eP9snfzzPxmz0wUy5LlZycrMTERK8+57noTk675zM/P18LFiyQJC1YsECvv/661577TLoz\
N/n5+Zo/f74cDocmTZqkuro6VVRU+FxOXzB58mQNHDjwlI/7wlxKZ87pK2JjYzVu3DhJUr9+/ZSc\
nNzpCke+Mqen4zcF9m3+cFkqh8OhqVOnavz48R1XF/E1ds9nVVWVYmNjJZ34g6yuru5ynB1z2Z25\
sXv+zibD5s2blZ6erunTp2vXrl3ejNgtvjCX3eVrc7lv3z5t375dEydOPOl+E+bU1tPoz5Y3L0vV\
2znPZNOmTYqLi1N1dbWysrKUlJSkyZMn+1ROb8zn6TJ2lzfm8u91Z2689ft4Ot3JMG7cOO3fv1+R\
kZFas2aNZs2apeLiYm9F7BZfmMvu8LW5bGho0Jw5c/Tkk08qKirqpMdMmFOjCsybl6XqzZzd8bdc\
MTExmj17tgoKCnp8o3u+Ob0xn6fLOHToUFVUVCg2NlYVFRWKiYnpcpw35vLvdWduvPX7eDrdyfDt\
DVt2drbuvvtuHTx4UIMHD/ZazjPxhbnsDl+ay9bWVs2ZM0fz5s3TDTfc0OlxE+bUb5YQ/emyVI2N\
jaqvr+/4ev369ac8q8lOds9nTk6OVq5cKenEi5eu9hrtmsvuzE1OTo5eeOEFWZalLVu2KDo6umNJ\
1Fu6k7OysrLj1XhBQYE8Ho8GDRrk1Zxn4gtz2R2+MpeWZemOO+5QcnKy7rvvvi7HGDGntpw60gsu\
uugiy+VyWenp6VZ6erp15513WpZlWWVlZdb06dM7xr311lvW6NGjrfj4eOuRRx7xes5XX33VGjZs\
mBUcHGzFxMRYU6dO7ZRzz549VlpampWWlmaNGTPGZ3Nalr3zefDgQevaa6+1EhISrGuvvdY6dOhQ\
p4x2zmVXc7N8+XJr+fLllmVZlsfjse6++24rPj7eSk1NPe1ZqXbmfOaZZ6wxY8ZYaWlp1sSJE61N\
mzZ5PePcuXOtCy64wHI6ndawYcOs559/3ifn8kw5fWEuLcuyPvzwQ0uSNXbs2I5t5ltvveWTc3o6\
XIkDAGAkv1lCBAD0LRQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBI/x+8UTH+LV26gwAAAABJRU5ErkJggg==\
"
frames[14] = "data:image/png;base64,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\
ztDjO9OUF4D+IuC3duXl5Ro5cmTXbbfbra1bt/b584T8tYgcDoeWL5qkjk6f9tQ0aWdpg3aVHVb0\
X9/UW9/cprtXHl/uDAt1yDUoWokDI3XdpFGalpqgw0fb9EpRmWIinRoQ6VS4M1QdPp/SR8TLNSha\
dY2t2vhptTo7LTW2tOtgUzVbRIwAAAtsSURBVKvqGlu1+PILlDYiXm8VV+snqz/uyhUXFabk4bFq\
au3QMEnXety6aepohfNeLQD93DkvsOnTp6uqqvun9C5dulRz5sw57df3dFzqZMt5Xq9XXq9XklRb\
W/s1k57IGRqilMQ4pSTGad7k/39/TIRTT93qUdmhYyo7dFRlh46q+vAxtbZ3SpKqD7doxZsl3b7f\
T+ZmyDUoWuX1R/Xo65923T8oJlxDYsPV3NohSRo3Ik7/kpuqkUNidEFCrIYOiDjh3xsbGXZW/y4A\
CBbnvMDeeOONs/p6t9ut0tLSrttlZWVyuXo+KSE/P1/5+fmSJI/Hc1bPezIRYaGaeP4QTTy/58cv\
TIzTOz+ZrqbWDjW1dKito1POkBANizv+HrRxrnitue8KhYY4FB3u7HbVC9egaN0wZfQ5yQ4AwSTg\
lxAnTZqkkpIS7d27VyNGjNCqVav0/PPP2x3rlCLCQhURFtrjhXDDnCEazAVyAeCs2Xog5eWXX5bb\
7dbmzZs1e/ZszZw5U5JUUVGh3NxcSZLT6dTy5cs1c+ZMpaWl6cYbb1R6erqdsQEAAcBhmfbmp17y\
eDynfG8ZAKA7k7adnMoGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw\
EgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIF\
BgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYA\
MJKtBbZ69Wqlp6crJCRERUVFJx03ZswYjR8/XtnZ2fJ4PH5MCAAIVE47nzwjI0MvvfSSbr/99tOO\
ffvttzV06FA/pAIAmMDWAktLS7Pz6QEABjPiGJjD4dCMGTM0ceJEeb1eu+MAAALAOd8Dmz59uqqq\
qrrdv3TpUs2ZM6dX32PTpk1yuVyqqalRTk6OUlNTNW3atG7jvF5vV8HV1taeXXAAQEA75wX2xhtv\
nPX3cLlckqSEhARde+21Kiws7LHA8vPzlZ+fL0mc7AEAQS7glxCbm5vV2NjY9ff169crIyPD5lQA\
ALvZWmAvv/yy3G63Nm/erNmzZ2vmzJmSpIqKCuXm5kqSqqurdemllyorK0uTJ0/W7Nmzdc0119gZ\
GwAQAByWZVl2hzgXPB7PKd9bBgDozqRtZ8AvIQIA0BMKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAk\
CgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoM\
AGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABg\
JAoMAGAkCgwAYCQKDABgJFsL7L777lNqaqoyMzN17bXXqqGhocdx69atU0pKipKTk7Vs2TI/pwQA\
BCJbCywnJ0c7d+7UJ598ogsvvFAPP/xwtzGdnZ266667tHbtWhUXF+uFF15QcXGxDWkBAIHE1gKb\
MWOGnE6nJGnq1KkqKyvrNqawsFDJyclKSkpSeHi45s+fr4KCAn9HBQAEmIA5Bvbb3/5Ws2bN6nZ/\
eXm5Ro4c2XXb7XarvLzcn9EAAAHIea6fYPr06aqqqup2/9KlSzVnzpyuvzudTi1YsKDbOMuyut3n\
cDh6fC6v1yuv1ytJ2rlzpzwez9lE94va2loNGzbM7hinRc6+Y0JGiZx9zZScu3fvtjtCr53zAnvj\
jTdO+fjKlSv12muv6c033+yxmNxut0pLS7tul5WVyeVy9fi98vPzlZ+fL0nyeDwqKio6i+T+Qc6+\
ZUJOEzJK5OxrJuU0ha1LiOvWrdMjjzyiV199VdHR0T2OmTRpkkpKSrR37161tbVp1apVysvL83NS\
AECgsbXA7r77bjU2NionJ0fZ2dlasmSJJKmiokK5ubmSJKfTqeXLl2vmzJlKS0vTjTfeqPT0dDtj\
AwACwDlfQjyVL774osf7XS6X1qxZ03U7Nze3q9B6629LiYGOnH3LhJwmZJTI2dfI2fccVk9nSQAA\
EOAC5jR6AAC+jqApMFMuS7V69Wqlp6crJCTklGckjRkzRuPHj1d2drYtZwX1Nqed83no0CHl5ORo\
7NixysnJUX19fY/j7JrL082NZVm65557lJycrMzMTG3bts1v2b7qdDk3btyo+Ph4ZWdnKzs7Ww8+\
+KDfMy5evFgJCQnKyMjo8fFAmcvT5QyEuZSk0tJSXXnllUpLS1N6eroef/zxbmMCZU5PyQoSf/7z\
n6329nbLsizrhz/8ofXDH/6w25iOjg4rKSnJ2rNnj9Xa2mplZmZau3bt8mvO4uJia/fu3dbll19u\
ffDBBycdN3r0aKu2ttaPyU7Um5x2z+d9991nPfzww5ZlWdbDDz/c4/+5Zdkzl72Zm9dff9265ppr\
LJ/PZ23evNmaPHmyXzP2Nufbb79tzZ492+/Zvuqdd96xPvzwQys9Pb3HxwNhLi3r9DkDYS4ty7Iq\
KiqsDz/80LIsyzpy5Ig1duzYgPz5PJ2g2QMz5bJUaWlpSklJ8etznone5LR7PgsKCrRo0SJJ0qJF\
i/TKK6/47blPpzdzU1BQoIULF8rhcGjq1KlqaGhQZWVlwOUMBNOmTdPgwYNP+nggzKV0+pyBIjEx\
URMmTJAkDRgwQGlpad2ucBQoc3oqQVNgXxUMl6VyOByaMWOGJk6c2HV1kUBj93xWV1crMTFR0vFf\
yJqamh7H2TGXvZkbu+fv62TYvHmzsrKyNGvWLO3atcufEXslEOaytwJtLvft26ft27drypQpJ9xv\
wpzaehr91+XPy1Kd65yns2nTJrlcLtXU1CgnJ0epqamaNm1aQOX0x3yeKmNv+WMu/15v5sZfP4+n\
0psMEyZM0P79+xUbG6s1a9Zo7ty5Kikp8VfEXgmEueyNQJvLpqYmzZs3T4899pji4uJOeMyEOTWq\
wPx5WapzmbM3/pYrISFB1157rQoLC/t8o3u2Of0xn6fKOHz4cFVWVioxMVGVlZVKSEjocZw/5vLv\
9WZu/PXzeCq9yfDVDVtubq7uvPNO1dXVaejQoX7LeTqBMJe9EUhz2d7ernnz5mnBggW67rrruj1u\
wpwGzRJiMF2Wqrm5WY2NjV1/X79+/UnParKT3fOZl5enlStXSjr+4qWnvUa75rI3c5OXl6dnn31W\
lmVpy5Ytio+P71oS9Zfe5Kyqqup6NV5YWCifz6chQ4b4NefpBMJc9kagzKVlWbrtttuUlpame++9\
t8cxRsypLaeOnAMXXHCB5Xa7raysLCsrK8u6/fbbLcuyrPLycmvWrFld415//XVr7NixVlJSkvXQ\
Qw/5PedLL71kjRgxwgoPD7cSEhKsGTNmdMu5Z88eKzMz08rMzLTGjRsXsDkty975rKurs6666ior\
OTnZuuqqq6yDBw92y2jnXPY0NytWrLBWrFhhWZZl+Xw+684777SSkpKsjIyMU56VamfOJ5980ho3\
bpyVmZlpTZkyxdq0aZPfM86fP98677zzLKfTaY0YMcL6zW9+E5BzebqcgTCXlmVZ7733niXJGj9+\
fNc28/XXXw/IOT0VrsQBADBS0CwhAgD6FwoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoM\
AGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABg\
JAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQK\
DABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGCk/wcSuDAUD41rLAAAAABJRU5E\
rkJggg==\
"
frames[15] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU9b3/8fckkz0krMEMwxaDSUhI\
IgyLG24EJNwbUFxQKlhsIy6l92erP7vdW71S8dH2Xq148aYLxV6VFq8aq4DggloEYgQViGhElixk\
ARJIAlnn/P6gzU9MgADJnPlOXs9/ZGZOMh+OZF45y5xxWJZlCQAAwwTZPQAAAOeCgAEAjETAAABG\
ImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwA\
YCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETA\
AABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBI\
BAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCTbA1ZSUqKrr75aKSkp\
Sk1N1ZNPPtlhGcuytGjRIiUmJio9PV1bt261YVIAgD9x2j6A06lf//rXGjt2rOrq6jRu3DhlZWVp\
9OjR7cusWbNGxcXFKi4u1pYtW3T33Xdry5YtNk4NALCb7Vtg8fHxGjt2rCSpT58+SklJUVlZ2UnL\
5Ofna968eXI4HJo0aZJqa2t14MABO8YFAPgJ2wP2dXv37tW2bds0ceLEk+4vKyvT0KFD22+73e4O\
kQMA9C6270L8h/r6es2ePVtPPPGEYmJiTnrMsqwOyzscjg735eXlKS8vT5K0a9cuJScn98ywABCg\
9u7dq4MHD9o9Rpf4RcBaWlo0e/ZszZ07VzfccEOHx91ut0pKStpvl5aWyuVydVguNzdXubm5kiSP\
x6PCwsKeGxoAApDH47F7hC6zfReiZVm68847lZKSovvvv7/TZXJycvTss8/Ksixt3rxZsbGxio+P\
9/GkAAB/YvsW2MaNG/WnP/1JY8aMUWZmpiTpF7/4hfbv3y9JWrhwobKzs7V69WolJiYqMjJSy5cv\
t3NkAIAfsD1gl19+eafHuL7O4XDo6aef9tFEAAAT2L4LEQCAc0HAAABGImAAACMRMACAkQgYAMBI\
BAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEA\
jETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgY\
AMBIBAwAYCQCBgAwEgEDABjJ9oAtWLBAcXFxSktL6/TxDRs2KDY2VpmZmcrMzNQjjzzi4wkBAP7I\
afcAd9xxh+677z7NmzfvlMtcccUVeu2113w4FQDA39m+BTZ58mT179/f7jEAAIaxPWBdsWnTJmVk\
ZGj69OnauXOn3eMAAPyA7bsQz2Ts2LHat2+foqOjtXr1as2aNUvFxcWdLpuXl6e8vDxJUnV1tS/H\
BAD4mN9vgcXExCg6OlqSlJ2drZaWFh08eLDTZXNzc1VYWKjCwkINGjTIl2MCAHzM7wNWUVEhy7Ik\
SQUFBfJ6vRowYIDNUwEA7Gb7LsRbb71VGzZs0MGDB+V2u/Xwww+rpaVFkrRw4UK9+OKLWrZsmZxO\
pyIiIrRy5Uo5HA6bpwYA2M1h/WPzJsB4PB4VFhbaPQYAGMWk106/34UIAEBnCBgAwEgEDABgJAIG\
ADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYi\
YAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABg\
JAIGADASAQMAGImAAQCMRMAAAEayPWALFixQXFyc0tLSOn3csiwtWrRIiYmJSk9P19atW308IQDA\
H9kesDvuuENr16495eNr1qxRcXGxiouLlZeXp7vvvtuH0wEA/JXtAZs8ebL69+9/ysfz8/M1b948\
ORwOTZo0SbW1tTpw4IAPJwQA+COn3QOcSVlZmYYOHdp+2+12q6ysTPHx8TZOBQBd09rmlcPhUHCQ\
Q4fqmrT3YL1a2iy1tnnV6rXU2mbpksSBigp36lB9kw7XNykqLER9wp2KDHMqOMhh91/Bb/l9wCzL\
6nCfw9H5/9C8vDzl5eVJkqqrq3t0LgCQTrxGtXktOYOD9FnZEb1cWKJD9c2qrmvUobom1TQ063ff\
naTRQ2L1QXG1Fufv7PA9nrvnUl0Y3kfrtx/QE2s/P+mxPuFOrVh4qVz9IvTp/hrtqW6Qu3+khvaP\
1MA+YQrqxYHz+4C53W6VlJS03y4tLZXL5ep02dzcXOXm5kqSPB6PT+YD0Hu0eS0VVxzVjtIj2l1Z\
py8r6/VVVb1+dn2arkoZrOMtbfrbF9Ua2CdMA6PDlBwfo4F9wtQ3MlSSdMmoQXr6jvFyBjvkDHIo\
JDhIzuAgDekXIUm6IilOg2Mj1NDUqrrjLapvatWRY80a2CdMkvT2zkqt3LyvfZ6I0GAlu2L0xLfG\
KSwkWM2tXoU6bT8y5DN+H7CcnBwtXbpUc+bM0ZYtWxQbG8vuQwA+4fVa2l1VL2ewQyMHRWv/oQbd\
8d+bJZ3YMrpwcB9Nz4jXBbHhkqSxI/pr9QNXn/L7DewT1h6jzgzpH6kh/SNP+fh9Uy/SzZOGqfTw\
cZUePqavqupVdbRRYSHBkqR/ffET7So/qlR3X2UM66tLLxok92m+n+lsD9itt96qDRs26ODBg3K7\
3Xr44YfV0tIiSVq4cKGys7O1evVqJSYmKjIyUsuXL7d5YgCB7OjxFr23q0obv6jW1r2HdeRYi/7p\
4iH66aw0jRgYpUdvylCaO1aDY8NPeTijpziDg+TqFylXv0hNuHBAh8cvT4qTMzhIO0pr9dbOCv3H\
ml26MjlOj996saQTQQ6kXY4Oq7ODTAHA4/GosLDQ7jEAGODru95u+s37Kjl0THEx4fIk9Ne4kf3l\
Gdlfg2MjbJ7y7JQePqaNX1QrOtypGZlD1Nzq1ewn39MYd19dNXqwJifFKTw0uMPXmfTaafsWGADY\
oaGxVW8XVeitnRXaXVmvl//PZDmDg/T9aUnqFxWq0UNifb6F1Z3c/SN1y6Th7bePNbXqksSB+qD4\
oN4uqlRkWLCuHX2B5l42QiMGRds46bkjYAB6lf0HG/TcB3u1bvsBHW9u05B+Ebouw6WmVq+cwUG6\
PCnO7hF7RN+oUP14Zpq8Xkvb9tVozSflemtnhWZ53JKk8ppjavOatUOOgAEIeMebW9XU4lXfqFBV\
1zVq7aflmpoWr5ket1IN39I6W0FBDo0beWLX6A+zUxQWcmLX6Yr39+iDYrPefsQxMAABq+zwMb2w\
aZ/WfFKuGZku3Z+dIsuyVN/Yqj4RIXaP51eqjjSq5PAx3XXTVGNeO9kCAxBwdlfW6dm/7dGbOyoU\
5JCuTb1AU8ecePuNw+EgXp2Iiw1X3N/fDmAKAgYg4Dz/wV69t6tKt0warlsvGa5BMWa9MKNrCBgA\
4xV+dUh/fO8r3Zt1kVKGxOruKRdp0bQkxf79ChgITAQMgLE+P3BUT6//QgW7D2lgnzAdrG+SpNNe\
7QKBg4ABMNLjf92plwtLFRMRou9PS9IN44e2X1IJvQMBA2CMo8db1CfcKYfDofi+EZp3+UjdfvlI\
TsropQgYAL/X0urVnzfv0x/f/0o/m5WmK1MGa94VCXaPBZsRMAB+7aM9h/XL14u0t7pBl100SMMG\
Rtk9EvwEAQPgt55Yu0srN+1TfN8I/eq2iwP2Mk84NwQMgF9pbfNKOvHRIanuWC24MkHzrkhQOCdo\
4BsIGAC/sbO0Vo//tUjT0l2ae9kIZaXx4bU4NQIGwHZNLW367Ttf6vkP9mpAnzC5+5v12VuwBwED\
YKtd5Uf185c+1d7qBuWMHaJF05IUHc5p8TgzAgbAVk2tbWpsadMTt4/TpMSBdo8DgxAwAD63s7RW\
H++r1dzLRihjWD+t+t4VCnEG2T0WDEPAAPhMa5tXf3h3t/743leKiwnXLI9bUWFO4oVzQsAA+ER5\
zXH92/9+qu0ltcrOdOn+6cmKCuMlCOeOfz0Aelxjc5u+87vNamrx6t9vTFfWGE6Px/kjYAB6THOr\
V6HOIIWHBuuBGaOVFN9Hrn6Rdo+FAMGOZwA9Ylf5Ec39r41at/2AJOnq0YOJF7oVW2AAupVlWXqx\
YL+efONz9Y8K0yA+XBI9hIAB6DbHmlq15K87tW57hS67aJD+9fo0xUaG2j0WAhQBA9BtCvcc1ps7\
KrTw2lGad/lIBQU57B4JAYyAAThvB2qPK75vhCYnx2nlfZfzmV3wCU7iAHDOWtu8emLtLt3y1N/0\
ZWWdJBEv+AxbYADOyaG6Jv34Lx/rk/21umniMA0fQLjgWwQMwFnbVX5UD76wTUePt+iRG9M1lTcm\
wwYEDMBZe6eoUkEOKe/OCbooPsbucdBL+cUxsLVr1yopKUmJiYlasmRJh8c3bNig2NhYZWZmKjMz\
U4888ogNUwK9m9drqbzmuCQp95pErVh4CfGCrWzfAmtra9O9996r9evXy+12a/z48crJydHo0aNP\
Wu6KK67Qa6+9ZtOUQO/W0Niqf3vpU+0qP6rn771MMREhvL8LtrN9C6ygoECJiYlKSEhQaGio5syZ\
o/z8fLvHAvB3pYeP6bu/36JNxQd1xxUJ6hNu+++9gCQ/CFhZWZmGDh3aftvtdqusrKzDcps2bVJG\
RoamT5+unTt3+nJEoNf6eF+NFuRt1sG6Jj15+zjdOHGYHA7enAz/YPuvUpZldbjvmz8gY8eO1b59\
+xQdHa3Vq1dr1qxZKi4u7vB1eXl5ysvLkyRVV1f3zMBAL/LCB3vVLypUv547Vu7+XIgX/sX2LTC3\
262SkpL226WlpXK5XCctExMTo+joaElSdna2WlpadPDgwQ7fKzc3V4WFhSosLNSgQYN6dnAgQFmW\
pYbGVknSv14/Rnl3TiBe8Eu2B2z8+PEqLi7Wnj171NzcrJUrVyonJ+ekZSoqKtq31AoKCuT1ejVg\
wAA7xgUCWkurV//+8g7dt+JDNbW0KSrcycka8Fu270J0Op1aunSppk2bpra2Ni1YsECpqal65pln\
JEkLFy7Uiy++qGXLlsnpdCoiIkIrV65kPzzQzY4ca9aP/vyxtu6tUe7ViQp12v77LXBaDquzg1AB\
wOPxqLCw0O4xACOUHj6mHzy3VeU1x/STWWm6Lt115i9CQDLptdP2LTAA9rIsS4+8vF01Dc16av54\
ZQ7vZ/dIQJcQMKCXczgc+vkNY9TaZnEleRiFndxAL/XatjI9+soOeb2WXP0iiReMQ8CAXsayLC1/\
d7cefWWHKo80qrnVa/dIwDlhFyLQi7R5Lf3H6s/0vx+WaFp6vH46M00hnG0IQxEwoBdZnL9Dqz8u\
17cuG6F7plykoCDejgJzETCgF8nOcCkpPka3TBpu9yjAeWPfARDgDtU3ac0n5ZIkT8IA4oWAwRYY\
EMDKa45p0bOFOlTfrAkJAzSgT5jdIwHdhoABAWp3ZZ2+/6eP1NzapqfmeYgXAg4BAwLQ9pJa3f8/\
Hyk8JFjPLJiohLhou0cCuh0BAwLQ5+VHFRsZqt/M88jVL8LucYAeQcCAAHLkWLNiI0N148RhmnGx\
SxGh/IgjcHEWIhAgXv2oVLOffF/FFUcliXgh4BEwIACs3LRXv3h1p9LcfTW0P9c0RO/Ar2iAwSzL\
0h/e3a3fvrNbV48erEdmp3NpKPQaBAww2Js7KvTbd3ZrRqZLP8pJlTOYeKH3IGCAwa4ePVg/zknV\
P108hOsaotfh1zXAMK1tXj217nMdqmuSMzhIOePcxAu9EgEDDNLc6tWP//KJntu4Vxu/qLZ7HMBW\
7EIEDNHY3KaH/rxNm788pB9mpyhnnNvukQBbETDAAA1NrXrg+a3atq9GP5mZqn8eS7wAAgYYoKXV\
q7rGVj08O11Tx8TbPQ7gFwgY4MeOHGtWZKhTfaNCtTx3EqfJA1/DTwPgpw7VNeme5R/q0fwdkkS8\
gG/gJwLwQ1VHGnX38gKV1x7XP188xO5xAL/ELkTAz5TXHNd9Kz5U7bFmPXH7OGUM62f3SIBfImCA\
H/F6LT3wwlbVHW/RU/M8SnX3tXskwG8RMMCPBAU59KN/TlWIM0hJ8TF2jwP4NY6BAX5gd2Wd/rJ5\
nyQpbWhf4gV0AVtggM0+P3BUi54tVGhwkKZnuNQnIsTukQAjsAUG2Kio7Iju++OHiggJ1rIFE4gX\
cBb8ImBr165VUlKSEhMTtWTJkg6PW5alRYsWKTExUenp6dq6dasNUwLd69P9NfreikL1iQjRsgUT\
5O4fafdIgFFsD1hbW5vuvfderVmzRkVFRXrhhRdUVFR00jJr1qxRcXGxiouLlZeXp7vvvtumaYHu\
s6e6QQOiQ/XMtycovm+E3eMAxrE9YAUFBUpMTFRCQoJCQ0M1Z84c5efnn7RMfn6+5s2bJ4fDoUmT\
Jqm2tlYHDhywaWLg/DQ0tkqSZo5z6093X6q42HCbJwLMZHvAysrKNHTo0PbbbrdbZWVlZ70MYIIP\
iqt1/RPv6dP9NZKksJBgmycCzGV7wCzL6nCfw+E462UkKS8vTx6PRx6PR9XVfNgf/Mt7u6r0f1/Y\
pgv6hmv4wCi7xwGMZ3vA3G63SkpK2m+XlpbK5XKd9TKSlJubq8LCQhUWFmrQoEE9NzRwlt4uqtCP\
/vyxRl3QR0vnj1dsZKjdIwHGsz1g48ePV3Fxsfbs2aPm5matXLlSOTk5Jy2Tk5OjZ599VpZlafPm\
zYqNjVV8PJ+JBDNsL6nVz1Z9qtFDYvWbeR7FcKo80C1sfyOz0+nU0qVLNW3aNLW1tWnBggVKTU3V\
M888I0lauHChsrOztXr1aiUmJioyMlLLly+3eWqg60YPidVd1yRq9oRhigqz/UcOCBgOq7MDTAHA\
4/GosLDQ7jHQi635pFxjR/TT4FhOkYc5THrttH0XIhCI/rJ5nx5+abtWvL/H7lGAgMX+DKCbPbdx\
j55a94WuTI7Tv1yXbPc4QMAiYEA3Wv7ubv3321/q2tQL9PDsMXIGs5MD6CkEDOgmjS1teqeoUtel\
x+uns9KIF9DDCBhwnizLUmubpfCQYD19x3hFhjkVHNTxjfYAuhe/IgLnweu19OvVn+mhP3+s1jav\
+kSEEC/ARwgYcI7avJYee3WnXiwo0YiBUYQL8DF2IQLnoLXNq0de3q512yt055UX6jtXX9jp9TkB\
9BwCBpyDx18r0rrtFbpnyijNuyLB7nGAXomAAedg9vhhSoqP0Y0Thtk9CtBrcQwM6KJjTa1a/fGJ\
z6FLdhEvwG5sgQFdUHe8Rfc/t1U7S2uV7IpVQly03SMBvR4BA87gcH2T/uVPH+mr6notvjmTeAF+\
goABp1F1pFHfe7ZQFUeO61e3jdWkxIF2jwTg7wgYcBo7Smt1uL5JT97uUebwfnaPA+BrCBjQicaW\
NoWHBOua1As0bmR/xUaG2j0SgG/gLETgG4rKjuimJ9/Xh18dkiTiBfgpAgZ8zda9h3Xfig/lDA6S\
qy+fpAz4M3YhAn/33q4q/XTVJ3L1i9Bv5nkUFxNu90gAToOAAZJ2ltbqoZXblDIkVv8xdyy7DQED\
EDBA0ughsfre1CTNHOdWZBg/FoAJOAaGXsuyLP3xva9UeviYHA6Hbr10BPECDELA0Cu1eS0t+WuR\
nnmrWGs+Kbd7HADngF830es0tbTp4Ze26+2iSt0xOUHfuepCu0cCcA4IGHqV+sYWPfjCNm3dW6Pv\
T0vSrZeOsHskAOeIgKFXCQ5yqNVr6eHZYzQt3WX3OADOAwFDr7DvYIMG9glTVJhTz3x7goKCHHaP\
BOA8cRIHAt7H+2r03d9t1i9fK5Ik4gUECAKGgLbhs0p9/9lC9Y0MVe41iXaPA6AbsQsRAevFgv36\
9erPlDokVr+6baz6RnF1DSCQEDAEpPrGFv3xva906ahBWnxThsJDg+0eCUA3I2AIKI0tbQoNDlJ0\
eIjy7pyguJhwOYPZUw4EIlt/sg8fPqysrCyNGjVKWVlZqqmp6XS5ESNGaMyYMcrMzJTH4/HxlDDF\
obom3bO8QE+v/0KS5OoXSbyAAGbrT/eSJUt07bXXqri4WNdee62WLFlyymXfeecdffzxxyosLPTh\
hDDFV1X1uvO3m/VVVYMyhvezexwAPmBrwPLz8zV//nxJ0vz58/XKK6/YOQ4MVbD7kL77uy1q9Vp6\
ZsF4TU6Os3skAD5ga8AqKysVHx8vSYqPj1dVVVWnyzkcDk2dOlXjxo1TXl6eL0eEnztyrFkPrdym\
C/qG6/ffnahkV6zdIwHwkR4/iWPKlCmqqKjocP/ixYu7/D02btwol8ulqqoqZWVlKTk5WZMnT+6w\
XF5eXnvgqqurz31o+D2v11JQkEOxkaH65W0XKzk+VlHhnJME9CYOy7Isu548KSlJGzZsUHx8vA4c\
OKCrrrpKn3/++Wm/5uc//7mio6P1wx/+8LTLeTwejpcFqCPHmvWTVZ9oRuYQTc/geoZAdzLptdPW\
XYg5OTlasWKFJGnFihWaOXNmh2UaGhpUV1fX/ud169YpLS3Np3PCf3xVVa8FeZv1yb7Oz1gF0HvY\
GrCHHnpI69ev16hRo7R+/Xo99NBDkqTy8nJlZ2dLOnGc7PLLL1dGRoYmTJigGTNm6LrrrrNzbNjk\
/c+r9J3fblZjS5uWfXsCW19AL2frLsSeZNJmMM5sT1W9bvuvjUqOj9Hjt16suJhwu0cCApJJr50c\
9YZf+8fJGiPjovXIjem6IilO4SFcFgoAV6OHH9tTVa/5/71JRWVHJElZafHEC0A7tsDgl9ZtP6DH\
Xt2piNBgNbd67R4HgB8iYPArLa1e/Wbd51q1Zb8yhvXVozdlaBDHuwB0goDBr7y6tVSrtuzXnEuG\
676si7gYL4BTImDwC/WNLYoOD9Esz1ANGxil8QkD7B4JgJ/j11vYqqXVq9+88blueepvOlTfpOAg\
B/EC0CVsgcE2+w826GcvfqrPDxzVDeOHKiqMf44Auo5XDPjGc89JP/mJtH+/rKFDtS33Af1AyQoJ\
DtLjczJ1ZcpguycEYBh2IaLnPfeclJsr7dsnWZYc+/cr7ZEHdPu+D/Q/d19KvACcEwKGnveTn0jH\
jp10V2hzo779xu8VF8sp8gDODQFDj7P27+/0fkdJiY8nARBICBh61Na9h1XdN67zB4cN8+0wAAIK\
AUOPebuoQvcs/1DPz/iu2iIiTn4wMlI6i0/lBoBvImDodo3NbZKkSxIH6jtXXai7fv9vCv7tb6Xh\
wyWH48R/8/KkuXNtnhSAyTiNHt2mpqFZT6//QttLarVi4SWKCHXqO1cnnnhw7lyCBaBbETCctzav\
pVc/KtWyt75QQ1Obbr1kuBSQH5MKwJ8QMJyXw/VN+uHzW1VUdlRjR/TTAzNGa2RctN1jAegFCBjO\
yT8+KTk2MlQDosP089ljNG1MvBwOh92jAeglOIkDZ6Wl1as/b96nW5/eqJqGZgUHOfTL28bqunQX\
8QLgU2yBoUu8Xktv7azQsreKVV5zXJ6R/VXf2KJ+UaF2jwaglyJgOKPG5jbdvbxAn5UfVeLgaP3n\
t8ZqUuJAtrgA2IqA4ZSqjjYqLiZc4aHBShvaVzdNHKZp6S4FBxEuAPYjYOjgk/01WvHeV9qy+5Ce\
u+dSjRgUrR9kp9g9FgCchIBBkmRZlrbsPqQV732lbftq1DcyRN+56kINiA6zezQA6BQBgyTpcEOz\
Hnh+q/pHh+n/TE/WzLFuhYcG2z0WAJwSAeulDtU16a/byvRlZZ0evSlDA6LD9PQd45XiilWIk3dX\
APB/ARuww/VNKq44qlEXxNg9it/wei0V7jmsVwpL9O6uKrV5LXlG9ldjc5vCQ4OVPqyf3SMCQJcF\
bMCq6pp0+7JNShwcrezMIZo2Jl4D+vTO4zmWZcnhcGjNp+X695d3KCYiRLdMGq5Z49waNjDK7vEA\
4JwEbMBGDe6jH85I0eqPy/WbNz7X0+u/0K9uu1iXjBpk92g+UXWkUe8UVeqtogpNTYvXjROH6ark\
wQqe7dDVKYMVFsLxLQBmC9iABQc5dOOEYbpxwjDtra7Xmk8OKH3oiV1kL27Zr43F1brsokG67KJB\
iu8bcYbvZgbLsvSXzfv15s4KbS+plSRdODhaUeEn/jdHhTt1XbrLzhEBoNvYerR+1apVSk1NVVBQ\
kAoLC0+53Nq1a5WUlKTExEQtWbLkrJ9nxKBo3T1lVPsLucMhlRxq0K9e/0zX/+d7uu3pjXrmrWJZ\
llmfAVLT0Ky3dlbouY17JEkOh0NvF1WosaVNd12TqD9/73I9d89lmp5BtAAEHlu3wNLS0vTSSy/p\
rrvuOuUybW1tuvfee7V+/Xq53W6NHz9eOTk5Gj169Dk/7+wJw3TD+KHaf+iYNn5RrQ++qFZR2ZH2\
SyMtzt+hqFCnUt2xSnX3VXzfcL+5bNLO0lq98ekBfbT3sHZX1kuSYiJCdPPE4QpxBumJ28cpIjRg\
N6wBoJ2tr3QpKWe+ukNBQYESExOVkJAgSZozZ47y8/PPK2DSia2V4QOjNHxglG67dIS83hNbX5Zl\
6UDtcW0vqdXKzfskSf2jQ/Wty0bqtktHyLIsfbTnsIb0j1RcTHi3X1bJ67VUc6xZ+w42aHdlnb6s\
rNfuyjo9dkumBsWEa+veGuVvLVX60H7KujZenpH9leyKkTP4xMY08QLQW/j9q11ZWZmGDh3aftvt\
dmvLli3d/jxBfw+Rw+HQ0vnj1drm1e6qeu0oqdXO0iOK/PubemsamnXfihO7O0OCHXL1i1R833Dd\
MH6YJifH6cixZr1SWKqocKf6hDsV6gxWq9er1CGxcvWL1MG6Jm34rFJtbZbqGlt0qL5JB+uatODK\
C5UyJFZvF1Xqp6s+aZ8rJqEsEbYAAAtaSURBVCJEiYOjVd/UqkGSrve4dcuk4QrlvVoAerkeD9iU\
KVNUUVHR4f7Fixdr5syZZ/z6zo5LnWp3Xl5envLy8iRJ1dXVZznpyZzBQUqKj1FSfIxmT/j/90eF\
OfX0HR6VHj6u0sPHVHr4mCqPHFdTS5skqfJIo5a9Vdzh+/10Vppc/SJVVnNMv3r9s/b7+0WFakB0\
qBqaWiVJo4fE6AfZyRo6IEoXxkVrYJ+wk/6+0eEh5/X3AoBA0eMBe/PNN8/r691ut0pKStpvl5aW\
yuXq/KSE3Nxc5ebmSpI8Hs95Pe+phIUEa9zIARo3svPHL4qP0bs/naL6plbVN7aqubVNzqAgDYo5\
8R600a5YrX7gKgUHORQZ6uxw1QtXv0jdNHF4j8wOAIHE73chjh8/XsXFxdqzZ4+GDBmilStX6vnn\
n7d7rNMKCwlWWEhwpxfCDXEGqT8XyAWA82brgZSXX35ZbrdbmzZt0owZMzRt2jRJUnl5ubKzsyVJ\
TqdTS5cu1bRp05SSkqKbb75Zqampdo4NAPADDsu0Nz91kcfjOe17ywAAHZn02smpbAAAIxEwAICR\
CBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMA\
GImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEw\
AICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEayNWCrVq1SamqqgoKCVFhYeMrlRowYoTFj\
xigzM1Mej8eHEwIA/JXTzidPS0vTSy+9pLvuuuuMy77zzjsaOHCgD6YCAJjA1oClpKTY+fQAAIMZ\
cQzM4XBo6tSpGjdunPLy8uweBwDgB3p8C2zKlCmqqKjocP/ixYs1c+bMLn2PjRs3yuVyqaqqSllZ\
WUpOTtbkyZM7LJeXl9ceuOrq6vMbHADg13o8YG+++eZ5fw+XyyVJiouL0/XXX6+CgoJOA5abm6vc\
3FxJ4mQPAAhwfr8LsaGhQXV1de1/XrdundLS0myeCgBgN1sD9vLLL8vtdmvTpk2aMWOGpk2bJkkq\
Ly9Xdna2JKmyslKXX365MjIyNGHCBM2YMUPXXXednWMDAPyAw7Isy+4heoLH4znte8sAAB2Z9Nrp\
97sQAQDoDAEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETA\
AABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBI\
BAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCRbA/bAAw8oOTlZ6enp\
uv7661VbW9vpcmvXrlVSUpISExO1ZMkSH08JAPBHtgYsKytLO3bs0KeffqqLLrpIjz32WIdl2tra\
dO+992rNmjUqKirSCy+8oKKiIhumBQD4E1sDNnXqVDmdTknSpEmTVFpa2mGZgoICJSYmKiEhQaGh\
oZozZ47y8/N9PSoAwM/4zTGwP/zhD5o+fXqH+8vKyjR06ND22263W2VlZb4cDQDgh5w9/QRTpkxR\
RUVFh/sXL16smTNntv/Z6XRq7ty5HZazLKvDfQ6Ho9PnysvLU15eniRpx44d8ng85zO6T1RXV2vQ\
oEF2j3FGzNl9TJhRYs7uZsqcu3btsnuELuvxgL355punfXzFihV67bXX9NZbb3UaJrfbrZKSkvbb\
paWlcrlcnX6v3Nxc5ebmSpI8Ho8KCwvPY3LfYM7uZcKcJswoMWd3M2lOU9i6C3Ht2rV6/PHH9eqr\
ryoyMrLTZcaPH6/i4mLt2bNHzc3NWrlypXJycnw8KQDA39gasPvuu091dXXKyspSZmamFi5cKEkq\
Ly9Xdna2JMnpdGrp0qWaNm2aUlJSdPPNNys1NdXOsQEAfqDHdyGezpdfftnp/S6XS6tXr26/nZ2d\
3R60rvrHrkR/x5zdy4Q5TZhRYs7uxpzdz2F1dpYEAAB+zm9OowcA4GwETMBMuSzVqlWrlJqaqqCg\
oNOekTRixAiNGTNGmZmZtpwV1NU57Vyfhw8fVlZWlkaNGqWsrCzV1NR0upxd6/JM68ayLC1atEiJ\
iYlKT0/X1q1bfTbb151pzg0bNig2NlaZmZnKzMzUI4884vMZFyxYoLi4OKWlpXX6uL+syzPN6Q/r\
UpJKSkp09dVXKyUlRampqXryySc7LOMv6/S0rADxxhtvWC0tLZZlWdaDDz5oPfjggx2WaW1ttRIS\
Eqzdu3dbTU1NVnp6urVz506fzllUVGTt2rXLuvLKK60PP/zwlMsNHz7cqq6u9uFkJ+vKnHavzwce\
eMB67LHHLMuyrMcee6zT/+eWZc+67Mq6ef31163rrrvO8nq91qZNm6wJEyb4dMauzvnOO+9YM2bM\
8PlsX/fuu+9aH330kZWamtrp4/6wLi3rzHP6w7q0LMsqLy+3PvroI8uyLOvo0aPWqFGj/PLf55kE\
zBaYKZelSklJUVJSkk+f81x0ZU6712d+fr7mz58vSZo/f75eeeUVnz33mXRl3eTn52vevHlyOBya\
NGmSamtrdeDAAb+b0x9MnjxZ/fv3P+Xj/rAupTPP6S/i4+M1duxYSVKfPn2UkpLS4QpH/rJOTydg\
AvZ1gXBZKofDoalTp2rcuHHtVxfxN3avz8rKSsXHx0s68QNZVVXV6XJ2rMuurBu719/ZzLBp0yZl\
ZGRo+vTp2rlzpy9H7BJ/WJdd5W/rcu/evdq2bZsmTpx40v0mrFNbT6M/W768LFVPz3kmGzdulMvl\
UlVVlbKyspScnKzJkyf71Zy+WJ+nm7GrfLEuv6kr68ZX/x5PpyszjB07Vvv27VN0dLRWr16tWbNm\
qbi42Fcjdok/rMuu8Ld1WV9fr9mzZ+uJJ55QTEzMSY+ZsE6NCpgvL0vVk3N2xT/miouL0/XXX6+C\
goJuf9E93zl9sT5PN+PgwYN14MABxcfH68CBA4qLi+t0OV+sy2/qyrrx1b/H0+nKDF9/YcvOztY9\
99yjgwcPauDAgT6b80z8YV12hT+ty5aWFs2ePVtz587VDTfc0OFxE9ZpwOxCDKTLUjU0NKiurq79\
z+vWrTvlWU12snt95uTkaMWKFZJO/PLS2VajXeuyK+smJydHzz77rCzL0ubNmxUbG9u+S9RXujJn\
RUVF+2/jBQUF8nq9GjBggE/nPBN/WJdd4S/r0rIs3XnnnUpJSdH999/f6TJGrFNbTh3pARdeeKHl\
drutjIwMKyMjw7rrrrssy7KssrIya/r06e3Lvf7669aoUaOshIQE69FHH/X5nC+99JI1ZMgQKzQ0\
1IqLi7OmTp3aYc7du3db6enpVnp6ujV69Gi/ndOy7F2fBw8etK655horMTHRuuaaa6xDhw51mNHO\
ddnZulm2bJm1bNkyy7Isy+v1Wvfcc4+VkJBgpaWlnfasVDvnfOqpp6zRo0db6enp1sSJE62NGzf6\
fMY5c+ZYF1xwgeV0Oq0hQ4ZYv/vd7/xyXZ5pTn9Yl5ZlWe+//74lyRozZkz7a+brr7/ul+v0dLgS\
BwDASAGzCxEA0LsQMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgY\
AMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJ\
gAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACA\
kQgYAMBIBAwAYCQCBgAwEgEDABjp/wGOgzHSv5GReQAAAABJRU5ErkJggg==\
"
frames[16] = "data:image/png;base64,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\
"
frames[17] = "data:image/png;base64,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\
"
frames[18] = "data:image/png;base64,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\
"
frames[19] = "data:image/png;base64,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\
ewBAkAv4XYhNTU1qaGjo+PvatWuVlZVl81QAALvZGrAXX3xRbrdbGzZs0MyZMzV9+nRJUlVVlfLz\
8yVJ+/bt0+TJk5WTk6MJEyZo5syZuvrqq+0cGwAQAByWZVl2D9EbPB7PKV9bBgDozKTnzoDfhQgA\
QFcIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIB\
AwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAj\
ETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAj2Rqwe+65R+np6crOztY111yj\
+vr6Lpdbs2aN0tLSlJqaqqVLl/p5SgBAILI1YHl5edq6das++eQTXXDBBXrwwQc7LdPe3q4777xT\
q1evVmlpqZ555hmVlpbaMC0AIJDYGrBp06bJ6XRKkiZNmqSKiopOyxQXFys1NVUpKSkKDw/X3Llz\
VVRU5O9RAQABJmCOgf3hD3/QjBkzOt1fWVmp5OTkjttut1uVlZX+HA0AEICcvf0Fpk6dqurq6k73\
L1myRLNmzer4u9Pp1Lx58zotZ1lWp/scDkeXX8vr9crr9UqStm7dKo/Hcy6j+0Vtba0GDx5s9xin\
xZw9x4QZJebsaabMuX37drtH6LZeD9gbb7xxysdXrFihV155RW+++WaXYXK73SovL++4XVFRIZfL\
1eXnKiwsVGFhoSTJ4/GopKTkHCb3D+bsWSbMacKMEnP2NJPmNIWtuxDXrFmjhx56SC+//LKio6O7\
XGb8+PEqKyvTzp071dLSopUrV6qgoMDPkwIAAo2tAbvrrrvU0NCgvLw85ebmatGiRZKkqqoq5efn\
S5KcTqeWLVum6dOnKyMjQzfccIMyMzPtHBsAEAB6fRfiqXz55Zdd3u9yubRq1aqO2/n5+R1B666/\
70oMdMzZs0yY04QZJebsaczZ8xxWV2dJAAAQ4ALmNHoAAM5E0ATMlMtSPffcc8rMzFRISMgpz0ga\
MWKExowZo9zcXFvOCurunHauz4MHDyovL0+jRo1SXl6e6urqulzOrnV5unVjWZYWL16s1NRUZWdn\
a/PmzX6b7etON+e6desUHx+v3Nxc5ebm6v777/f7jAsXLlRiYqKysrK6fDxQ1uXp5gyEdSlJ5eXl\
uuKKK5SRkaHMzEw98sgjnZYJlHV6SlaQeO2116zW1lbLsizrBz/4gfWDH/yg0zJtbW1WSkqKtWPH\
Dqu5udnKzs62tm3b5tc5S0tLre3bt1uXXXaZ9cEHH5x0ueHDh1u1tbV+nOxE3ZnT7vV5zz33WA8+\
+KBlWZb14IMPdvl/bln2rMvurJtXX33Vuvrqqy2fz2dt2LDBmjBhgl9n7O6cb7/9tjVz5ky/z/Z1\
77zzjvXhhx9amZmZXT4eCOvSsk4/ZyCsS8uyrKqqKuvDDz+0LMuyDh8+bI0aNSogvz9PJ2i2wEy5\
LFVGRobS0tL8+jXPRnfmtHt9FhUVacGCBZKkBQsW6KWXXvLb1z6d7qyboqIizZ8/Xw6HQ5MmTVJ9\
fb327t0bcHMGgilTpighIeGkjwfCupROP2egSEpK0tixYyVJ/fr1U0ZGRqcrHAXKOj2VoAnY1wXD\
ZakcDoemTZumcePGdVxdJNDYvT737dunpKQkScd/IGtqarpczo512Z11Y/f6O5MZNmzYoJycHM2Y\
MUPbtm3z54jdEgjrsrsCbV3u2rVLW7Zs0cSJE0+434R1autp9GfKn5el6u05T2f9+vVyuVyqqalR\
Xl6e0tPTNWXKlICa0x/r81Qzdpc/1uU/6s668df346l0Z4axY8dq9+7dio2N1apVqzR79myVlZX5\
a8RuCYR12R2Bti4bGxs1Z84cPfzww4qLizvhMRPWqVEB8+dlqXpzzu74+1yJiYm65pprVFxc3ONP\
uuc6pz/W56lmHDJkiPbu3aukpCTt3btXiYmJXS7nj3X5j7qzbvz1/Xgq3Znh609s+fn5uuOOO7R/\
/34NGjTIb3OeTiCsy+4IpHXZ2tqqOXPmaN68ebr22ms7PW7COg2aXYjBdFmqpqYmNTQ0dPx97dq1\
Jz2ryU52r8+CggKtWLFC0vFfXrraarRrXXZn3RQUFOjJJ5+UZVnauHGj4uPjO3aJ+kt35qyuru74\
bby4uFg+n08DBw7065ynEwjrsjsCZV1alqVbb71VGRkZuvvuu7tcxoh1asupI73g/PPPt9xut5WT\
k2Pl5ORYt912m2VZllVZWWnNmDGjY7lXX33VGjVqlJWSkmI98MADfp/zhRdesIYOHWqFh4dbiYmJ\
1rRp0zrNuWPHDis7O9vKzs62Ro8eHbBzWpa963P//v3WlVdeaaWmplpXXnmldeDAgU4z2rkuu1o3\
y5cvt5YvX25ZlmX5fD7rjjvusFJSUqysrKxTnpVq55yPPvqoNXr0aCs7O9uaOHGitX79er/POHfu\
XOu8886znE6nNXToUOv3v/99QK7L080ZCOvSsizrvffesyRZY8aM6XjOfPXVVwNynZ4KV+IAABgp\
aHYhAgD6FgIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImA\
AQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICR\
CBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMA\
GImAAQCMRMAAAEYiYAAAI/0/nr41UCERUv4AAAAASUVORK5CYII=\
"
frames[20] = "data:image/png;base64,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\
/T9OwiVKE+PH3gAAAABJRU5ErkJggg==\
"
frames[21] = "data:image/png;base64,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\
yS8Uy4Y14AAAAABJRU5ErkJggg==\
"
frames[22] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU9b3/8fckkz0kECCYZNhiMISE\
JMKwqIgbAQn3BhQXlBYsthGX0t/PW/3Z5d5bvVLx0eW64MWmvaXYn4rFq8YqUHBBLQIxggpENCJL\
9gRIIAlknfP7gzY/aQIESObMd/J6/iMzc5L5cCTzylnmjMOyLEsAABgmwO4BAAA4HwQMAGAkAgYA\
MBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJg\
AAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAk\
AgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAA\
RiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAj2R6wkpISXXPNNUpJ\
SVFqaqqefPLJTstYlqUlS5YoKSlJ6enp2r59uw2TAgB8idP2AZxO/epXv9K4ceNUX1+v8ePHKysr\
S2PGjOlYZt26dSouLlZxcbG2bdumu+++W9u2bbNxagCA3WzfAouLi9O4ceMkSf369VNKSorKyspO\
WSY/P18LFiyQw+HQ5MmTVVdXp4qKCjvGBQD4CNsD9k379+/Xjh07NGnSpFPuLysr09ChQztuu1yu\
TpEDAPQttu9C/LuGhgbNnTtXTzzxhKKiok55zLKsTss7HI5O9+Xl5SkvL0+StGfPHo0ePbp3hgUA\
P7V//34dOnTI7jG6xScC1traqrlz52r+/Pm68cYbOz3ucrlUUlLScbu0tFTx8fGdlsvNzVVubq4k\
ye12q7CwsPeGBgA/5Ha77R6h22zfhWhZlu68806lpKTo/vvv73KZnJwcPffcc7IsS1u3blV0dLTi\
4uK8PCkAwJfYvgW2efNm/fGPf9TYsWOVmZkpSfr5z3+ugwcPSpIWL16s7OxsrV27VklJSQoPD9fK\
lSvtHBkA4ANsD9iUKVO6PMb1TQ6HQ88884yXJgIAmMD2XYgAAJwPAgYAMBIBAwAYiYABAIxEwAAA\
RiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQM\
AGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxE\
wAAARiJgAAAjETAAgJEIGADASLYHbNGiRYqNjVVaWlqXj2/atEnR0dHKzMxUZmamHnnkES9PCADw\
RU67B7jjjjt03333acGCBadd5sorr9Qbb7zhxakAAL7O9i2wqVOnKiYmxu4xAACGsT1g3bFlyxZl\
ZGRo5syZ2r17t93jAAB8gO27EM9m3LhxOnDggCIjI7V27VrNmTNHxcXFXS6bl5envLw8SVJNTY03\
xwQAeJnPb4FFRUUpMjJSkpSdna3W1lYdOnSoy2Vzc3NVWFiowsJCDR482JtjAgC8zOcDVllZKcuy\
JEkFBQXyeDwaOHCgzVMBAOxm+y7E2267TZs2bdKhQ4fkcrn08MMPq7W1VZK0ePFivfzyy1qxYoWc\
TqfCwsK0evVqORwOm6cGANjNYf1988bPuN1uFRYW2j0GABjFpNdOn9+FCABAVwgYAMBIBAwAYCQC\
BgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABG\
ImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwA\
YCQCBgAwEgEDABiJgAEAjETAAABGsj1gixYtUmxsrNLS0rp83LIsLVmyRElJSUpPT9f27du9PCEA\
wBfZHrA77rhD69evP+3j69atU3FxsYqLi5WXl6e7777bi9MBAHyV7QGbOnWqYmJiTvt4fn6+FixY\
IIfDocmTJ6uurk4VFRVenBAA4Iucdg9wNmVlZRo6dGjHbZfLpbKyMsXFxdk4FQB0T1u7Rw6HQ4EB\
Dh2ub9b+Qw1qbbfU1u5Rm8dSW7uly5IGKSLUqcMNzTrS0KyIkCD1C3UqPMSpwACH3X8Fn+XzAbMs\
q9N9DkfX/0Pz8vKUl5cnSaqpqenVuQBAOvka1e6x5AwM0OdlR/VqYYkON7Sopr5Jh+ubVdvYot99\
b7LGJETrw+IaLc3f3el7PH/P5bo4tJ827qzQE+u/OOWxfqFOrVp8ueIHhOmzg7XaV9MoV0y4hsaE\
a1C/EAX04cD5fMBcLpdKSko6bpeWlio+Pr7LZXNzc5WbmytJcrvdXpkPQN/R7rFUXHlMu0qPam9V\
vb6qatDX1Q361xvSdHXKEJ1obddfv6zRoH4hGhQZotFxURrUL0T9w4MlSZeNGqxn7pggZ6BDzgCH\
ggID5AwMUMKAMEnSlcmxGhIdpsbmNtWfaFVDc5uOHm/RoH4hkqR3dldp9dYDHfOEBQdqdHyUnvjW\
eIUEBaqlzaNgp+1HhrzG5wOWk5Oj5cuXa968edq2bZuio6PZfQjAKzweS3urG+QMdGjk4EgdPNyo\
O36zVdLJLaOLh/TTzIw4XRQdKkkaNyJGax+45rTfb1C/kI4YdSUhJlwJMeGnffy+6ZfolsnDVHrk\
hEqPHNfX1Q2qPtakkKBASdK/vfyp9pQfU6qrvzKG9dfllwyW6wzfz3S2B+y2227Tpk2bdOjQIblc\
Lj388MNqbW2VJC1evFjZ2dlau3atkpKSFB4erpUrV9o8MQB/duxEq97fU63NX9Zo+/4jOnq8Vf90\
aYJ+OidNIwZF6NGbM5TmitaQ6NDTHs7oLc7AAMUPCFf8gHBNvHhgp8enJMfKGRigXaV1ent3pX69\
bo+uGh2rx2+7VNLJIPvTLkeH1dVBJj/gdrtVWFho9xgADPDNXW83P/WBSg4fV2xUqNyJMRo/Mkbu\
kTEaEh1m85TnpvTIcW3+skaRoU7NykxQS5tHc598X2Nd/XX1mCGamhyr0ODATl9n0mun7VtgAGCH\
xqY2vVNUqbd3V2pvVYNe/d9T5QwM0A9mJGtARLDGJER7fQurJ7liwnXr5OEdt483t+mypEH6sPiQ\
3imqUnhIoK4bc5HmXzFCIwZH2jjp+SNgAPqUg4ca9fyH+7VhZ4VOtLQrYUCYrs+IV3ObR87AAE1J\
jrV7xF7RPyJYP56dJo/H0o4DtVr3abne3l2pOW6XJKm89rjaPWbtkCNgAPzeiZY2Nbd61D8iWDX1\
TVr/Wbmmp8VpttulVMO3tM5VQIBD40ee3DX6w+wUhQSd3HW66oN9+rDYrLcfcQwMgN8qO3JcL245\
oHWflmtWZrzuz06RZVlqaGpTv7Agu8fzKdVHm1Ry5Ljuunm6Ma+dbIEB8Dt7q+r13F/36a1dlQpw\
SNelXqTpY0++/cbhcBCvLsRGhyr2b28HMAUBA+B3Xvhwv97fU61bJw/XbZcN1+Aos16Y0T0EDIDx\
Cr8+rD+8/7XuzbpEKQnRunvaJVoyI1nRf7sCBvwTAQNgrC8qjumZjV+qYO9hDeoXokMNzZJ0xqtd\
wH8QMABGevzPu/VqYamiwoL0gxnJunHC0I5LKqFvIGAAjHHsRKv6hTrlcDgU1z9MC6aM1LenjOSk\
jD6KgAHwea1tHr209YD+8MHX+tc5aboqZYgWXJlo91iwGQED4NM+3ndEv3izSPtrGnXFJYM1bFCE\
3SPBRxAwAD7rifV7tHrLAcX1D9Mvb7/Uby/zhPNDwAD4lLZ2j6STHx2S6orWoqsSteDKRIVyggb+\
AQED4DN2l9bp8T8XaUZ6vOZfMUJZaXx4LU6PgAGwXXNru3777ld64cP9GtgvRK4Ysz57C/YgYABs\
taf8mH72ymfaX9OonHEJWjIjWZGhnBaPsyNgAGzV3NauptZ2PfHt8ZqcNMjucWAQAgbA63aX1umT\
A3Waf8UIZQwboDXfv1JBzgC7x4JhCBgAr2lr9+j37+3VH97/WrFRoZrjdikixEm8cF4IGACvKK89\
oX//n8+0s6RO2Znxun/maEWE8BKE88e/HgC9rqmlXd/93VY1t3r0HzelK2ssp8fjwhEwAL2mpc2j\
YGeAQoMD9cCsMUqO66f4AeF2jwU/wY5nAL1iT/lRzf+vzdqws0KSdM2YIcQLPYotMAA9yrIsvVxw\
UE/+5QvFRIRoMB8uiV5CwAD0mOPNbVr2593asLNSV1wyWP92Q5qiw4PtHgt+ioAB6DGF+47orV2V\
WnzdKC2YMlIBAQ67R4IfI2AALlhF3QnF9Q/T1NGxWn3fFD6zC17BSRwAzltbu0dPrN+jW5/+q76q\
qpck4gWvYQsMwHk5XN+sH//pE316sE43Txqm4QMJF7yLgAE4Z3vKj+nBF3fo2IlWPXJTuqbzxmTY\
gIABOGfvFlUpwCHl3TlRl8RF2T0O+iifOAa2fv16JScnKykpScuWLev0+KZNmxQdHa3MzExlZmbq\
kUcesWFKoG/zeCyV156QJOVem6RViy8jXrCV7Vtg7e3tuvfee7Vx40a5XC5NmDBBOTk5GjNmzCnL\
XXnllXrjjTdsmhLo2xqb2vTvr3ymPeXH9MK9VygqLIj3d8F2tm+BFRQUKCkpSYmJiQoODta8efOU\
n59v91gA/qb0yHF977+3aUvxId1xZaL6hdr+ey8gyQcCVlZWpqFDh3bcdrlcKisr67Tcli1blJGR\
oZkzZ2r37t3eHBHosz45UKtFeVt1qL5ZT357vG6aNEwOB29Ohm+w/Vcpy7I63fePPyDjxo3TgQMH\
FBkZqbVr12rOnDkqLi7u9HV5eXnKy8uTJNXU1PTOwEAf8uKH+zUgIli/mj9OrhguxAvfYvsWmMvl\
UklJScft0tJSxcfHn7JMVFSUIiMjJUnZ2dlqbW3VoUOHOn2v3NxcFRYWqrCwUIMHD+7dwQE/ZVmW\
GpvaJEn/dsNY5d05kXjBJ9kesAkTJqi4uFj79u1TS0uLVq9erZycnFOWqays7NhSKygokMfj0cCB\
A+0YF/BrrW0e/ceru3Tfqo/U3NquiFAnJ2vAZ9m+C9HpdGr58uWaMWOG2tvbtWjRIqWmpurZZ5+V\
JC1evFgvv/yyVqxYIafTqbCwMK1evZr98EAPO3q8RT966RNt31+r3GuSFOy0/fdb4IwcVlcHofyA\
2+1WYWGh3WMARig9clz/8vx2ldce10/mpOn69PizfxH8kkmvnbZvgQGwl2VZeuTVnaptbNHTCyco\
c/gAu0cCuoWAAX2cw+HQz24cq7Z2iyvJwyjs5Ab6qDd2lOnR13bJ47EUPyCceME4BAzoYyzL0sr3\
9urR13ap6miTWto8do8EnBd2IQJ9SLvH0q/Xfq7/+ahEM9Lj9NPZaQribEMYioABfcjS/F1a+0m5\
vnXFCN0z7RIFBPB2FJiLgAF9SHZGvJLjonTr5OF2jwJcMPYdAH7ucEOz1n1aLklyJw4kXvAbbIEB\
fqy89riWPFeoww0tmpg4UAP7hdg9EtBjCBjgp/ZW1esHf/xYLW3tenqBm3jB7xAwwA/tLKnT/f/3\
Y4UGBerZRZOUGBtp90hAjyNggB/6ovyYosOD9dQCt+IHhNk9DtArCBjgR44eb1F0eLBumjRMsy6N\
V1gwP+LwX5yFCPiJ1z8u1dwnP1Bx5TFJIl7wewQM8AOrt+zXz1/frTRXfw2N4ZqG6Bv4FQ0wmGVZ\
+v17e/Xbd/fqmjFD9MjcdC4NhT6DgAEGe2tXpX777l7NyozXj3JS5QwkXug7CBhgsGvGDNGPc1L1\
T5cmcF1D9Dn8ugYYpq3do6c3fKHD9c1yBgYoZ7yLeKFPImCAQVraPPrxnz7V85v3a/OXNXaPA9iK\
XYiAIZpa2vXQSzu09avD+mF2inLGu+weCbAVAQMM0Njcpgde2K4dB2r1k9mp+udxxAsgYIABWts8\
qm9q08Nz0zV9bJzd4wA+gYABPuzo8RaFBzvVPyJYK3Mnc5o88A38NAA+6nB9s+5Z+ZEezd8lScQL\
+Af8RAA+qPpok+5eWaDyuhP650sT7B4H8EnsQgR8THntCd236iPVHW/RE98er4xhA+weCfBJBAzw\
IR6PpQde3K76E616eoFbqa7+do8E+CwCBviQgACHfvTPqQpyBig5LsrucQCfxjEwwAfsrarXn7Ye\
kCSlDe1PvIBuYAsMsNkXFce05LlCBQcGaGZGvPqFBdk9EmAEtsAAGxWVHdV9f/hIYUGBWrFoIvEC\
zoFPBGz9+vVKTk5WUlKSli1b1ulxy7K0ZMkSJSUlKT09Xdu3b7dhSqBnfXawVt9fVah+YUFasWii\
XDHhdo8EGMX2gLW3t+vee+/VunXrVFRUpBdffFFFRUWnLLNu3ToVFxeruLhYeXl5uvvuu22aFug5\
+2oaNTAyWM9+Z6Li+ofZPQ5gHNsDVlBQoKSkJCUmJio4OFjz5s1Tfn7+Kcvk5+drwYIFcjgcmjx5\
surq6lRRUWHTxMCFaWxqkyTNHu/SH+++XLHRoTZPBJjJ9oCVlZVp6NChHbddLpfKysrOeRnABB8W\
1+iGJ97XZwdrJUkhQYE2TwSYy/aAWZbV6T6Hw3HOy0hSXl6e3G633G63amr4sD/4lvf3VOv/vLhD\
F/UP1fBBEXaPAxjP9oC5XC6VlJR03C4tLVV8fPw5LyNJubm5KiwsVGFhoQYPHtx7QwPn6J2iSv3o\
pU806qJ+Wr5wgqLDg+0eCTCe7QGbMGGCiouLtW/fPrW0tGj16tXKyck5ZZmcnBw999xzsixLW7du\
VXR0tOLi+EwkmGFnSZ3+dc1nGpMQracWuBXFqfJAj7D9jcxOp1PLly/XjBkz1N7erkWLFik1NVXP\
PvusJGnx4sXKzs7W2rVrlZSUpPDwcK1cudLmqYHuG5MQrbuuTdLcicMUEWL7jxzgNxxWVweY/IDb\
7VZhYaHdY6APW/dpucaNGKAh0ZwiD3OY9Npp+y5EwB/9aesBPfzKTq36YJ/dowB+i/0ZQA97fvM+\
Pb3hS101Olb/6/rRdo8D+C0CBvSgle/t1W/e+UrXpV6kh+eOlTOQnRxAbyFgQA9pam3Xu0VVuj49\
Tj+dk0a8gF5GwIALZFmW2tothQYF6pk7Jig8xKnAgM5vtAfQs/gVEbgAHo+lX639XA+99Ina2j3q\
FxZEvAAvIWDAeWr3WHrs9d16uaBEIwZFEC7Ay9iFCJyHtnaPHnl1pzbsrNSdV12s715zcZfX5wTQ\
e9gCA7rj+eelESOkgABpxAj9+YFfaMPOSt0zbZS+d20S8QJsQMCAs3n+eSk3VzpwQLIs6cABzX72\
YT0Z+IUWXJlo93RAn0XAgLP5yU+k48dPuSvgxAlN+v2vbRoIgETAgLM7ePDc7gfgFQQMOIt219Cu\
Hxg2zLuDADgFAQPOoPpok565eqGagkJOfSA8XFq61J6hAEgiYMAZ7Sqt059TrlLlL56Shg+XHI6T\
/83Lk+bPt3s8oE/jfWBAF5pa2xUaFKhrUy/S+JExig6/TvpBrt1jAfgGtsCAf1BUdlQ3P/mBPvr6\
sCQpOjzY5okAdIWAAd+wff8R3bfqIzkDAxTfn09SBnwZuxCBv3l/T7V+uuZTxQ8I01ML3IqNCrV7\
JABnQMAASbtL6/TQ6h1KSYjWr+ePY7chYAACBkgakxCt709P1uzxLoWH8GMBmIBjYOizLMvSH97/\
WqVHjsvhcOi2y0cQL8AgBAx9UrvH0rI/F+nZt4u17tNyu8cBcB74dRN9TnNrux5+ZafeKarSHVMT\
9d2rL7Z7JADngYChT2loatWDL+7Q9v21+sGMZN12+Qi7RwJwnggY+pTAAIfaPJYenjtWM9Lj7R4H\
wAUgYOgTDhxq1KB+IYoIcerZ70xUQACfoAyYjpM44Pc+OVCr7/1uq37xRpEkES/ATxAw+LVNn1fp\
B88Vqn94sHKvTbJ7HAA9iF2I8FsvFxzUr9Z+rtSEaP3y9nHqH8HVNQB/QsDglxqaWvWH97/W5aMG\
a+nNGQoNDrR7JAA9jIDBrzS1tis4MECRoUHKu3OiYqNC5QxkTzngj2z9yT5y5IiysrI0atQoZWVl\
qba2tsvlRowYobFjxyozM1Nut9vLU8IUh+ubdc/KAj2z8UtJUvyAcOIF+DFbf7qXLVum6667TsXF\
xbruuuu0bNmy0y777rvv6pNPPlFhYaEXJ4Qpvq5u0J2/3aqvqxuVMXyA3eMA8AJbA5afn6+FCxdK\
khYuXKjXXnvNznFgqIK9h/W9321Tm8fSs4smaOroWLtHAuAFtgasqqpKcXFxkqS4uDhVV1d3uZzD\
4dD06dM1fvx45eXleXNE+Lijx1v00Ooduqh/qP77e5M0Oj7a7pEAeEmvn8Qxbdo0VVZWdrp/6dKl\
3f4emzdvVnx8vKqrq5WVlaXRo0dr6tSpnZbLy8vrCFxNTc35Dw2f5/FYCghwKDo8WL+4/VKNjotW\
RCjnJAF9icOyLMuuJ09OTtamTZsUFxeniooKXX311friiy/O+DU/+9nPFBkZqR/+8IdnXM7tdnO8\
zE8dPd6in6z5VLMyEzQzg+sZAj3JpNdOW3ch5uTkaNWqVZKkVatWafbs2Z2WaWxsVH19fcefN2zY\
oLS0NK/OCd/xdXWDFuVt1acHuj5jFUDfYWvAHnroIW3cuFGjRo3Sxo0b9dBDD0mSysvLlZ2dLenk\
cbIpU6YoIyNDEydO1KxZs3T99dfbOTZs8sEX1frub7eqqbVdK74zka0voI+zdRdibzJpMxhnt6+6\
Qbf/12aNjovS47ddqtioULtHAvySSa+dHPWGT/v7yRojYyP1yE3pujI5VqFBXBYKAFejhw/bV92g\
hb/ZoqKyo5KkrLQ44gWgA1tg8Ekbdlbosdd3Kyw4UC1tHrvHAeCDCBh8SmubR09t+EJrth1UxrD+\
evTmDA3meBeALhAw+JTXt5dqzbaDmnfZcN2XdQkX4wVwWgQMPqGhqVWRoUGa4x6qYYMiNCFxoN0j\
AfBx/HoLW7W2efTUX77QrU//VYcbmhUY4CBeALqFLTDY5uChRv3ry5/pi4pjunHCUEWE8M8RQPfx\
igGvsyxLb35Srl+t/VxBgQF6fF6mrkoZYvdYAAxDwGCL9/dUKyU+Sj+7MV2x0ZxlCODcETB4zcf7\
jmhwVIiGDYzQv984VqFBgQoMcNg9FgBDcRIHet2Jljb98s3Pde8fPtJ/b9orSYoIcRIvABeELTD0\
qu37j2jpa7tUVntCt0waprunjbJ7JAB+goCh17xTVKkfv/SpXDFhWvGdCbp0RIzdIwHwIwQMPa6p\
pV2hwYG6LGmQvnv1xZp/xQiFBfNPDUDP4hgYekxtY4sefW2XFv5mi5pa2xUW7NR3r0kiXgB6Ba8s\
uGDtHkuvf1yqFW9/qcbmdt122XDJLz8mFYAvIWC4IEcamvXDF7arqOyYxo0YoAdmjdHI2Ei7xwLQ\
BxAwnJe/f1JydHiwBkaG6Gdzx2rG2Dg5HJwaD8A7OAaGc9La5tFLWw/otmc2q7axRYEBDv3i9nG6\
Pj2eeAHwKrbA0C0ej6W3d1dqxdvFKq89IffIGDU0tWpARLDdowHoowgYzqqppV13ryzQ5+XHlDQk\
Uv/5rXGanDSILS4AtiJgOK3qY02KjQpVaHCg0ob2182ThmlGejyXgALgEwgYOvn0YK1Wvf+1tu09\
rOfvuVwjBkfqX7JT7B4LAE5BwCDp5Gd0bdt7WKve/1o7DtSqf3iQvnv1xRoYGWL3aADQJQIGSdKR\
xhY98MJ2xUSG6H/PHK3Z41wKDQ60eywAOC0C1kcdrm/Wn3eU6auqej16c4YGRobomTsmKCU+WkFO\
3l0BwPf5bcCONDSruPKYRl0UZfcoPsPjsVS474heKyzRe3uq1e6x5B4Z03Hx3fRhA+weEQC6zW8D\
Vl3frG+v2KKkIZHKzkzQjLFxGtivbx7PsSxLDodD6z4r13+8uktRYUG6dfJwzRnv0rBBEXaPBwDn\
xW8DNmpIP/1wVorWflKup/7yhZ7Z+KV+efulumzUYLtH84rqo016t6hKbxdVanpanG6aNExXjx6i\
wLkOXZMyRCFBHN8CYDa/DVhggEM3TRymmyYO0/6aBq37tELpQ0/uInt520FtLq7RFZcM1hWXDFZc\
/zCbp+0ZlmXpT1sP6q3dldpZUidJunhIpCJCT/5vjgh16vr0eDtHBIAeY+vR+jVr1ig1NVUBAQEq\
LCw87XLr169XcnKykpKStGzZsnN+nhGDI3X3tFEdL+QOh1RyuFG/fPNz3fCf7+v2Zzbr2beLZVlm\
fQZIbWOL3t5dqec375MkORwOvVNUqabWdt11bZJe+v4UPX/PFZqZQbQA+B9bt8DS0tL0yiuv6K67\
7jrtMu3t7br33nu1ceNGuVwuTZgwQTk5ORozZsx5P+/cicN044ShOnj4uDZ/WaMPv6xRUdnRjksj\
Lc3fpYhgp1Jd0Up19Vdc/1CfuWzS7tI6/eWzCn28/4j2VjVIkqLCgnTLpOEKcgboiW+P5wMkAfQJ\
tr7SpaSc/eoOBQUFSkpKUmJioiRp3rx5ys/Pv6CASSe3VoYPitDwQRG6/fIR8nhObn1ZlqWKuhPa\
WVKn1VsPSJJiIoP1rStG6vbLR8iyLH2874gSYsIVGxXa45dV8ngs1R5v0YFDjdpbVa+vqhq0t6pe\
j92aqcFRodq+v1b520uVPnSAsq6Lk3tkjEbHR8kZeHJjmngB6Ct8/tWurKxMQ4cO7bjtcrm0bdu2\
Hn+egL+FyOFwaPnCCWpr92hvdYN2ldRpd+lRhf/tTb21jS26b9XJ3Z1BgQ7FDwhXXP9Q3ThhmKaO\
jtXR4y16rbBUEaFO9Qt1KtgZqDaPR6kJ0YofEK5D9c3a9HmV2tst1Te16nBDsw7VN2vRVRcrJSFa\
7xRV6adrPu2YKyosSElDIkz42yIAAAtWSURBVNXQ3KbBkm5wu3Tr5OEK5r1aAPq4Xg/YtGnTVFlZ\
2en+pUuXavbs2Wf9+q6OS51ud15eXp7y8vIkSTU1Nec46amcgQFKjotSclyU5k78//dHhDj1zB1u\
lR45odIjx1V65Liqjp5Qc2u7JKnqaJNWvF3c6fv9dE6a4geEq6z2uH755ucd9w+ICNbAyGA1NrdJ\
ksYkROlfskdr6MAIXRwbqUH9Qk75+0aGBl3Q3wsA/EWvB+ytt966oK93uVwqKSnpuF1aWqr4+K5P\
SsjNzVVubq4kye12X9Dznk5IUKDGjxyo8SO7fvySuCi999NpamhuU0NTm1ra2uUMCNDgqJPvQRsT\
H621D1ytwACHwoOdna56ET8gXDdPGt4rswOAP/H5XYgTJkxQcXGx9u3bp4SEBK1evVovvPCC3WOd\
UUhQoEKCAru8EG6QM0AxXCAXAC6YrQdSXn31VblcLm3ZskWzZs3SjBkzJEnl5eXKzs6WJDmdTi1f\
vlwzZsxQSkqKbrnlFqWmpto5NgDABzgs09781E1ut/uM7y0DAHRm0msnp7IBAIxEwAAARiJgAAAj\
ETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYA\
MBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJg\
AAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYydaArVmzRqmpqQoICFBhYeFplxsxYoTGjh2rzMxM\
ud1uL04IAPBVTjufPC0tTa+88oruuuuusy777rvvatCgQV6YCgBgAlsDlpKSYufTAwAMZsQxMIfD\
oenTp2v8+PHKy8uzexwAgA/o9S2wadOmqbKystP9S5cu1ezZs7v1PTZv3qz4+HhVV1crKytLo0eP\
1tSpUzstl5eX1xG4mpqaCxscAODTej1gb7311gV/j/j4eElSbGysbrjhBhUUFHQZsNzcXOXm5koS\
J3sAgJ/z+V2IjY2Nqq+v7/jzhg0blJaWZvNUAAC72RqwV199VS6XS1u2bNGsWbM0Y8YMSVJ5ebmy\
s7MlSVVVVZoyZYoyMjI0ceJEzZo1S9dff72dYwMAfIDDsizL7iF6g9vtPuN7ywAAnZn02unzuxAB\
AOgKAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYi\
YAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABg\
JAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJFsD9sADD2j06NFKT0/XDTfc\
oLq6ui6XW79+vZKTk5WUlKRly5Z5eUoAgC+yNWBZWVnatWuXPvvsM11yySV67LHHOi3T3t6ue++9\
V+vWrVNRUZFefPFFFRUV2TAtAMCX2Bqw6dOny+l0SpImT56s0tLSTssUFBQoKSlJiYmJCg4O1rx5\
85Sfn+/tUQEAPsZnjoH9/ve/18yZMzvdX1ZWpqFDh3bcdrlcKisr8+ZoAAAf5OztJ5g2bZoqKys7\
3b906VLNnj27489Op1Pz58/vtJxlWZ3uczgcXT5XXl6e8vLyJEm7du2S2+2+kNG9oqamRoMHD7Z7\
jLNizp5jwowSc/Y0U+bcs2eP3SN0W68H7K233jrj46tWrdIbb7yht99+u8swuVwulZSUdNwuLS1V\
fHx8l98rNzdXubm5kiS3263CwsILmNw7mLNnmTCnCTNKzNnTTJrTFLbuQly/fr0ef/xxvf766woP\
D+9ymQkTJqi4uFj79u1TS0uLVq9erZycHC9PCgDwNbYG7L777lN9fb2ysrKUmZmpxYsXS5LKy8uV\
nZ0tSXI6nVq+fLlmzJihlJQU3XLLLUpNTbVzbACAD+j1XYhn8tVXX3V5f3x8vNauXdtxOzs7uyNo\
3fX3XYm+jjl7lglzmjCjxJw9jTl7nsPq6iwJAAB8nM+cRg8AwLnwm4CZclmqNWvWKDU1VQEBAWc8\
I2nEiBEaO3asMjMzbTkrqLtz2rk+jxw5oqysLI0aNUpZWVmqra3tcjm71uXZ1o1lWVqyZImSkpKU\
np6u7du3e222bzrbnJs2bVJ0dLQyMzOVmZmpRx55xOszLlq0SLGxsUpLS+vycV9Zl2eb0xfWpSSV\
lJTommuuUUpKilJTU/Xkk092WsZX1ukZWX7iL3/5i9Xa2mpZlmU9+OCD1oMPPthpmba2NisxMdHa\
u3ev1dzcbKWnp1u7d+/26pxFRUXWnj17rKuuusr66KOPTrvc8OHDrZqaGi9OdqruzGn3+nzggQes\
xx57zLIsy3rssce6/H9uWfasy+6smzfffNO6/vrrLY/HY23ZssWaOHGiV2fs7pzvvvuuNWvWLK/P\
9k3vvfee9fHHH1upqaldPu4L69Kyzj6nL6xLy7Ks8vJy6+OPP7Ysy7KOHTtmjRo1yif/fZ6N32yB\
mXJZqpSUFCUnJ3v1Oc9Hd+a0e33m5+dr4cKFkqSFCxfqtdde89pzn0131k1+fr4WLFggh8OhyZMn\
q66uThUVFT43py+YOnWqYmJiTvu4L6xL6exz+oq4uDiNGzdOktSvXz+lpKR0usKRr6zTM/GbgH2T\
P1yWyuFwaPr06Ro/fnzH1UV8jd3rs6qqSnFxcZJO/kBWV1d3uZwd67I768bu9XcuM2zZskUZGRma\
OXOmdu/e7c0Ru8UX1mV3+dq63L9/v3bs2KFJkyadcr8J69TW0+jPlTcvS9Xbc57N5s2bFR8fr+rq\
amVlZWn06NGaOnWqT83pjfV5phm7yxvr8h91Z91469/jmXRnhnHjxunAgQOKjIzU2rVrNWfOHBUX\
F3trxG7xhXXZHb62LhsaGjR37lw98cQTioqKOuUxE9apUQHz5mWpenPO7vj7XLGxsbrhhhtUUFDQ\
4y+6FzqnN9bnmWYcMmSIKioqFBcXp4qKCsXGxna5nDfW5T/qzrrx1r/HM+nODN98YcvOztY999yj\
Q4cOadCgQV6b82x8YV12hy+ty9bWVs2dO1fz58/XjTfe2OlxE9ap3+xC9KfLUjU2Nqq+vr7jzxs2\
bDjtWU12snt95uTkaNWqVZJO/vLS1VajXeuyO+smJydHzz33nCzL0tatWxUdHd2xS9RbujNnZWVl\
x2/jBQUF8ng8GjhwoFfnPBtfWJfd4Svr0rIs3XnnnUpJSdH999/f5TJGrFNbTh3pBRdffLHlcrms\
jIwMKyMjw7rrrrssy7KssrIya+bMmR3Lvfnmm9aoUaOsxMRE69FHH/X6nK+88oqVkJBgBQcHW7Gx\
sdb06dM7zbl3714rPT3dSk9Pt8aMGeOzc1qWvevz0KFD1rXXXmslJSVZ1157rXX48OFOM9q5Lrta\
NytWrLBWrFhhWZZleTwe65577rESExOttLS0M56VauecTz/9tDVmzBgrPT3dmjRpkrV582avzzhv\
3jzroosuspxOp5WQkGD97ne/88l1ebY5fWFdWpZlffDBB5Yka+zYsR2vmW+++aZPrtMz4UocAAAj\
+c0uRABA30LAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMR\
MACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAw\
EgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAA\
ACMRMACAkQgYAMBIBAwAYKT/BzmmKC7f/F5QAAAAAElFTkSuQmCC\
"
frames[23] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU5aH/8e8kkz0kECCYybDFYBIS\
kgjDoiJuBCTcG0BcUCpYbCMutfd6qz+73Vu9UvHV5brgxZvaWuxPpcWrxipQcEEtAjGCC0Q0IksW\
sgAJJIGsc35/UPMTEyBsc+aZfN7/wMw8yXx5yJxvznPOnHFYlmUJAADDBNkdAACA00GBAQCMRIEB\
AIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCM\
RIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESB\
AQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEA\
jESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMZHuBlZWV\
6YorrlBaWprS09P12GOPdRljWZbuvvtuJScnKzMzU5s3b7YhKQDAnzhtD+B06je/+Y1Gjx6thoYG\
jRkzRjk5ORo5cmTnmFWrVqm0tFSlpaXatGmTbr/9dm3atMnG1AAAu9m+B5aQkKDRo0dLkvr06aO0\
tDRVVFQcM6awsFDz5s2Tw+HQhAkTVF9fr71799oRFwDgJ2wvsG/atWuXtmzZovHjxx9zf0VFhQYP\
Htx52+12dyk5AEDvYvsS4tcaGxs1e/ZsPfroo4qJiTnmMcuyuox3OBxd7isoKFBBQYEkafv27UpN\
TT03YQEgQO3atUv79u2zO0aP+EWBtbW1afbs2Zo7d66uueaaLo+73W6VlZV13i4vL5fL5eoyLj8/\
X/n5+ZIkj8ej4uLicxcaAAKQx+OxO0KP2b6EaFmWbr31VqWlpemee+7pdkxeXp6effZZWZaljRs3\
KjY2VgkJCT5OCgDwJ7bvga1fv15/+tOfNGrUKGVnZ0uSfvnLX2rPnj2SpIULFyo3N1crV65UcnKy\
IiMj9cwzz9gZGQDgB2wvsIkTJ3Z7jOubHA6HnnzySR8lAgCYwPYlRAAATgcFBgAwEgUGADASBQYA\
MBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADAS\
BQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUG\
ADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwku0FtmDBAsXHxysjI6Pbx9etW6fY2FhlZ2crOztb\
Dz74oI8TAgD8kdPuALfccovuuusuzZs377hjLr30Ur322ms+TAUA8He274FNmjRJcXFxdscAABjG\
9gLriQ0bNigrK0vTpk3Ttm3b7I4DAPADti8hnszo0aO1e/duRUdHa+XKlZo5c6ZKS0u7HVtQUKCC\
ggJJUm1trS9jAgB8zO/3wGJiYhQdHS1Jys3NVVtbm/bt29ft2Pz8fBUXF6u4uFgDBw70ZUwAgI/5\
fYFVVVXJsixJUlFRkbxer/r3729zKgCA3WxfQrzxxhu1bt067du3T263Ww888IDa2tokSQsXLtSL\
L76opUuXyul0KiIiQsuXL5fD4bA5NQDAbg7r692bAOPxeFRcXGx3DAAwiknbTr9fQgQAoDsUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEi2F9iCBQsUHx+vjIyMbh+3LEt33323kpOT\
lZmZqc2bN/s4IQDAH9leYLfccotWr1593MdXrVql0tJSlZaWqqCgQLfffrsP0wEA/JXtBTZp0iTF\
xcUd9/HCwkLNmzdPDodDEyZMUH19vfbu3evDhAAAf+S0O8DJVFRUaPDgwZ233W63KioqlJCQYGMq\
AOiZ9g6vHA6HgoMc2t/Qol37GtXWYam9w6t2r6X2DksXJQ9QVLhT+xtbdKCxRVFhIeoT7lRkmFPB\
QQ67/wl+y+8LzLKsLvc5HN3/hxYUFKigoECSVFtbe05zAYB0dBvV4bXkDA7SZxUH9XJxmfY3tqq2\
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\
l5JUVlamK664QmlpaUpPT9djjz3WZYy/zOkJWQHib3/7m9XW1mZZlmXdd9991n333ddlTHt7u5WU\
lGTt2LHDamlpsTIzM61t27b5NGdJSYm1fft267LLLrM++OCD444bOnSoVVtb68Nkx+pJTrvn8957\
77Uefvhhy7Is6+GHH+72/9yy7JnLnszN66+/bl199dWW1+u1NmzYYI0bN86nGXua8+2337amT5/u\
82zf9M4771gffvihlZ6e3u3j/jCXlnXynP4wl5ZlWZWVldaHH35oWZZlHTp0yBoxYoRf/nyeTMDs\
gZlyWaq0tDSlpKT49DlPR09y2j2fhYWFmj9/viRp/vz5euWVV3z23CfTk7kpLCzUvHnz5HA4NGHC\
BNXX12vv3r1+l9MfTJo0SXFxccd93B/mUjp5Tn+RkJCg0aNHS5L69OmjtLS0Llc48pc5PZGAKbBv\
CoTLUjkcDk2ZMkVjxozpvLqIv7F7Pqurq5WQkCDp6Auypqam23F2zGVP5sbu+TuVDBs2bFBWVpam\
TZumbdu2+TJij/jDXPaUv83lrl27tGXLFo0fP/6Y+02YU1tPoz9Vvrws1bnOeTLr16+Xy+VSTU2N\
cnJylJqaqkmTJvlVTl/M54ky9pQv5vLbejI3vvp5PJGeZBg9erR2796t6OhorVy5UjNnzlRpaamv\
IvaIP8xlT/jbXDY2Nmr27Nl69NFHFRMTc8xjJsypUQXmy8tSncucPfF1rvj4eM2aNUtFRUVnfaN7\
pjl9MZ8nyjho0CDt3btXCQkJ2rt3r+Lj47sd54u5/LaezI2vfh5PpCcZvrlhy83N1R133KF9+/Zp\
wIABPst5Mv4wlz3hT3PZ1tam2bNna+7cubrmmmu6PG7CnAbMEmIgXZaqqalJDQ0NnX9fs2bNcc9q\
spPd85mXl6dly5ZJOvrLS3d7jXbNZU/mJi8vT88++6wsy9LGjRsVGxvbuSTqKz3JWVVV1fnbeFFR\
kbxer/r37+/TnCfjD3PZE/4yl5Zl6dZbb1VaWpruueeebscYMae2nDpyDpx//vmW2+22srKyrKys\
LOu2226zLMuyKioqrGnTpnWOe/31160RI0ZYSUlJ1kMPPeTznC+99JKVmJhohYaGWvHx8daUKVO6\
5NyxY4eVmZlpZWZmWiNHjvTbnJZl73zu27fPuvLKK63k5GTryiuvtPbv398lo51z2d3cLF261Fq6\
dKllWZbl9XqtO+64w0pKSrIyMjJOeFaqnTmfeOIJa+TIkVZmZqY1fvx4a/369T7POGfOHOu8886z\
nE6nlZiYaD399NN+OZcny+kPc2lZlvXee+9ZkqxRo0Z1bjNff/11v5zTE+FKHAAAIwXMEiIAoHeh\
wAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAA\
AEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABG\
osAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLA\
AABGosAAAEaiwAAARvp/XfAkLSJO1ToAAAAASUVORK5CYII=\
"
frames[24] = "data:image/png;base64,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\
91u7srIyDRs2rPO22+3Wtm3bzvvzBP29iBwOh1Ysmqj2Dq/2VDdqZ0m9dpUeVuTf39Rb19Sqe1cf\
X+4MCXbINSBSCf3Ddf3E4Zo2Jl6Hj7bqlcJSRYU71S/cqVBnsNq9XqUOjZVrQKQONrRo02dV6uiw\
1NDcpkONLTrY0KLFV1yolIeKwj4AAAtkSURBVKGxequoSj954ePOXDERIUoaEq3GlnYNlnSdx62b\
p4xQKO/VAtDH9XqBTZ8+XZWVlV3uX7ZsmebMmXPar+/uuNTJlvPy8vKUl5cnSaqpqTnDpCdyBgcp\
OSFGyQkxmjfp/98fFebUU7d7VFp7TKW1R1Vae1RVh4+ppa1DklR1uFkr3yzu8v1+MjdNrgGRKqs7\
ql++/lnn/QOiQjUwOlRNLe2SpLFDY/Sv2WM0bGCULoyP1qB+YSf8e6PDQ87p3wUAgaLXC+yNN944\
p693u90qKSnpvF1aWiqXq/uTEnJzc5WbmytJ8ng85/S8JxMWEqwJowZqwqjuH78oIUbv/GS6Glva\
1djcrtb2DjmDgjQ45vh70Ma6YrX2/isVHORQZKizy1UvXAMidePkEb2SHQACid8vIU6cOFHFxcXa\
u3evhg4dqjVr1ui5556zO9YphYUEKywkuNsL4YY4gxTHBXIB4JzZeiDl5Zdfltvt1pYtWzR79mzN\
nDlTklReXq7s7GxJktPp1IoVKzRz5kylpKTopptuUmpqqp2xAQB+wGGZ9uanHvJ4PKd8bxkAoCuT\
tp2cygYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw\
EgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIF\
BgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwkq0F9sILLyg1\
NVVBQUEqLCw86biRI0dq3LhxyszMlMfj8WFCAIC/ctr55GlpaXrppZd05513nnbs22+/rUGDBvkg\
FQDABLYWWEpKip1PDwAwmBHHwBwOh2bMmKEJEyYoLy/P7jgAAD/Q63tg06dPV2VlZZf7ly1bpjlz\
5vToe2zevFkul0vV1dXKysrSmDFjNG3atC7j8vLyOguupqbm3IIDAPxarxfYG2+8cc7fw+VySZLi\
4+N13XXXqaCgoNsCy83NVW5uriRxsgcABDi/X0JsampSQ0ND5983bNigtLQ0m1MBAOxma4G9/PLL\
crvd2rJli2bPnq2ZM2dKksrLy5WdnS1Jqqqq0tSpU5WRkaFJkyZp9uzZuvbaa+2MDQDwAw7Lsiy7\
Q/QGj8dzyveWAQC6Mmnb6fdLiAAAdIcCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAY\
iQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkC\
AwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMA\
GIkCAwAYydYCu//++zVmzBilp6fruuuuU319fbfj1q9fr+TkZCUlJWn58uU+TgkA8Ee2FlhWVpZ2\
7typTz75RBdddJEeeeSRLmM6Ojp0zz33aN26dSoqKtLzzz+voqIiG9ICAPyJrQU2Y8YMOZ1OSdKU\
KVNUWlraZUxBQYGSkpKUmJio0NBQzZ8/X/n5+b6OCgDwM35zDOz3v/+9Zs2a1eX+srIyDRs2rPO2\
2+1WWVmZL6MBAPyQs7efYPr06aqsrOxy/7JlyzRnzpzOvzudTi1YsKDLOMuyutzncDi6fa68vDzl\
5eVJknbu3CmPx3Mu0X2ipqZGgwcPtjvGaZHz/DEho0TO882UnLt377Y7Qo/1eoG98cYbp3x89erV\
eu211/Tmm292W0xut1slJSWdt0tLS+Vyubr9Xrm5ucrNzZUkeTweFRYWnkNy3yDn+WVCThMySuQ8\
30zKaQpblxDXr1+vRx99VK+++qoiIyO7HTNx4kQVFxdr7969am1t1Zo1a5STk+PjpAAAf2Nrgd17\
771qaGhQVlaWMjMztWTJEklSeXm5srOzJUlOp1MrVqzQzJkzlZKSoptuukmpqal2xgYA+IFeX0I8\
lS+//LLb+10ul9auXdt5Ozs7u7PQeuofS4n+jpznlwk5TcgokfN8I+f557C6O0sCAAA/5zen0QMA\
cCYCpsBMuSzVCy+8oNTUVAUFBZ3yjKSRI0dq3LhxyszMtOWsoJ7mtHM+a2trlZWVpdGjRysrK0t1\
dXXdjrNrLk83N5ZlaenSpUpKSlJ6erq2b9/us2xfd7qcmzZtUmxsrDIzM5WZmamHHnrI5xkXL16s\
+Ph4paWldfu4v8zl6XL6w1xKUklJia666iqlpKQoNTVVTzzxRJcx/jKnp2QFiL/+9a9WW1ubZVmW\
9cMf/tD64Q9/2GVMe3u7lZiYaO3Zs8dqaWmx0tPTrV27dvk0Z1FRkbV7927riiuusD744IOTjhsx\
YoRVU1Pjw2Qn6klOu+fz/vvvtx555BHLsizrkUce6fb/3LLsmcuezM3rr79uXXvttZbX67W2bNli\
TZo0yacZe5rz7bfftmbPnu3zbF/3zjvvWB9++KGVmpra7eP+MJeWdfqc/jCXlmVZ5eXl1ocffmhZ\
lmUdOXLEGj16tF/+fJ5OwOyBmXJZqpSUFCUnJ/v0Oc9GT3LaPZ/5+flatGiRJGnRokV65ZVXfPbc\
p9OTucnPz9fChQvlcDg0ZcoU1dfXq6Kiwu9y+oNp06YpLi7upI/7w1xKp8/pLxISEjR+/HhJUr9+\
/ZSSktLlCkf+MqenEjAF9nWBcFkqh8OhGTNmaMKECZ1XF/E3ds9nVVWVEhISJB3/hayuru52nB1z\
2ZO5sXv+ziTDli1blJGRoVmzZmnXrl2+jNgj/jCXPeVvc7lv3z7t2LFDkydPPuF+E+bU1tPoz5Qv\
L0vV2zlPZ/PmzXK5XKqurlZWVpbGjBmjadOm+VVOX8znqTL2lC/m8pt6Mje++nk8lZ5kGD9+vPbv\
36/o6GitXbtWc+fOVXFxsa8i9og/zGVP+NtcNjY2at68eXr88ccVExNzwmMmzKlRBebLy1L1Zs6e\
+Eeu+Ph4XXfddSooKDjvG91zzemL+TxVxiFDhqiiokIJCQmqqKhQfHx8t+N8MZff1JO58dXP46n0\
JMPXN2zZ2dm6++67dfDgQQ0aNMhnOU/HH+ayJ/xpLtva2jRv3jwtWLBA119/fZfHTZjTgFlCDKTL\
UjU1NamhoaHz7xs2bDjpWU12sns+c3JytHr1aknHX7x0t9do11z2ZG5ycnL0zDPPyLIsbd26VbGx\
sZ1Lor7Sk5yVlZWdr8YLCgrk9Xo1cOBAn+Y8HX+Yy57wl7m0LEt33HGHUlJSdN9993U7xog5teXU\
kV5w4YUXWm6328rIyLAyMjKsO++807IsyyorK7NmzZrVOe7111+3Ro8ebSUmJloPP/ywz3O+9NJL\
1tChQ63Q0FArPj7emjFjRpece/bssdLT06309HRr7NixfpvTsuydz4MHD1pXX321lZSUZF199dXW\
oUOHumS0cy67m5uVK1daK1eutCzLsrxer3X33XdbiYmJVlpa2inPSrUz55NPPmmNHTvWSk9PtyZP\
nmxt3rzZ5xnnz59vXXDBBZbT6bSGDh1q/e53v/PLuTxdTn+YS8uyrPfee8+SZI0bN65zm/n666/7\
5ZyeClfiAAAYKWCWEAEAfQsFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADAS\
BQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUG\
ADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw\
EgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw0v8DW/I145CRIY0AAAAASUVORK5CYII=\
"
frames[25] = "data:image/png;base64,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\
rXwxc0/Sml0AAAAASUVORK5CYII=\
"
frames[26] = "data:image/png;base64,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\
gJEIGADASP8P3RUpWipeisIAAAAASUVORK5CYII=\
"
frames[27] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3xU9YH38e8kk3tIIEAww3CLwSQk\
JBGGize8EZDwbEBRi9KCxTaiWLqPW33cbXe3Wqn4at3ViotN3SL2UWlx1VgFCiqoRSBGvAARjcgl\
F3IBEkgC5Dbn+YM2j5gAAZI585t83v/AzPyS+fIjc745v3PmjMOyLEsAABgmyO4AAACcDwoMAGAk\
CgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoM\
AGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABg\
JAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQK\
DABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAkCgwAYCQKDABgJAoMAGAk2wus\
tLRU1157rVJTU5WWlqYnn3yywxjLsrRo0SIlJSUpIyND27ZtsyEpAMCfOG0P4HTq8ccf15gxY1Rf\
X6+xY8cqOztbo0aNah+zZs0alZSUqKSkRFu3btXdd9+trVu32pgaAGA32/fAEhISNGbMGElSnz59\
lJqaqvLy8lPGFBQUaO7cuXI4HJo4caLq6up04MABO+ICAPyE7QX2TXv37tXHH3+sCRMmnHJ/eXm5\
hgwZ0n7b7XZ3KDkAQO9i+xLi3zU0NGjWrFl64oknFBMTc8pjlmV1GO9wODrcl5+fr/z8fEnSrl27\
lJKS0jNhASBA7d27VwcPHrQ7Rpf4RYG1tLRo1qxZmjNnjm666aYOj7vdbpWWlrbfLisrk8vl6jAu\
Ly9PeXl5kiSPx6OioqKeCw0AAcjj8dgdoctsX0K0LEt33nmnUlNTdd9993U6Jjc3V88//7wsy9KW\
LVsUGxurhIQEHycFAPgT2/fANm3apD/84Q8aPXq0srKyJEm//OUvtX//fknSggULlJOTo9WrVysp\
KUmRkZFavny5nZEBAH7A9gK78sorOz3G9U0Oh0NPP/20jxIBAExg+xIiAADngwIDABiJAgMAGIkC\
AwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMA\
GIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJ\
AgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABjJ9gKbP3++4uPjlZ6e3unjGzduVGxsrLKyspSV\
laWHH37YxwkBAP7IaXeAO+64Q/fee6/mzp172jFXXXWV3njjDR+mAgD4O9v3wCZNmqS4uDi7YwAA\
DGN7gXXF5s2blZmZqWnTpmnnzp12xwEA+AHblxDPZsyYMdq3b5+io6O1evVqzZw5UyUlJZ2Ozc/P\
V35+viSppqbGlzEBAD7m93tgMTExio6OliTl5OSopaVFBw8e7HRsXl6eioqKVFRUpIEDB/oyJgDA\
x/y+wCorK2VZliSpsLBQXq9X/fv3tzkVAMButi8h3nbbbdq4caMOHjwot9uthx56SC0tLZKkBQsW\
6OWXX9ayZcvkdDoVERGhlStXyuFw2JwaAGA3h/X33ZsA4/F4VFRUZHcMADCKSdtOv19CBACgMxQY\
AMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASLYX2Pz58xUfH6/09PROH7csS4sWLVJS\
UpIyMjK0bds2HycEAPgj2wvsjjvu0Nq1a0/7+Jo1a1RSUqKSkhLl5+fr7rvv9mE6AIC/sr3AJk2a\
pLi4uNM+XlBQoLlz58rhcGjixImqq6vTgQMHfJgQAOCPnHYHOJvy8nINGTKk/bbb7VZ5ebkSEhJs\
TAUAXdPa5pXD4VBwkEOH6pu092CDWtostbZ51eq11Npm6bKkAYoKd+pQQ5MONzQpKixEfcKdigxz\
KjjIYfc/wW/5fYFZltXhPoej8//Q/Px85efnS5Jqamp6NBcASCe3UW1eS87gIH1efkSvFpXqUEOz\
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\
ZS7PltMf5lKSSktLde211yo1NVVpaWl68sknO4zxlzk9IytA/OUvf7FaWlosy7KsBx54wHrggQc6\
jGltbbUSExOt3bt3W01NTVZGRoa1c+dOn+YsLi62du3aZV199dXWhx9+eNpxw4YNs2pqanyY7FRd\
yWn3fN5///3Wo48+almWZT366KOd/p9blj1z2ZW5efPNN60bbrjB8nq91ubNm63x48f7NGNXc27Y\
sMGaPn26z7N907vvvmt99NFHVlpaWqeP+8NcWtbZc/rDXFqWZVVUVFgfffSRZVmWdfToUWvkyJF+\
+fN5NgGzB2bKZalSU1OVnJzs0+c8H13Jafd8FhQUaN68eZKkefPm6bXXXvPZc59NV+amoKBAc+fO\
lcPh0MSJE1VXV6cDBw74XU5/MGnSJMXFxZ32cX+YS+nsOf1FQkKCxowZI0nq06ePUlNTO1zhyF/m\
9EwCpsC+KRAuS+VwODRlyhSNHTu2/eoi/sbu+ayqqlJCQoKkky/I6urqTsfZMZddmRu75+9cMmze\
vFmZmZmaNm2adu7c6cuIXeIPc9lV/jaXe/fu1ccff6wJEyaccr8Jc2rrafTnypeXperpnGezadMm\
uVwuVVdXKzs7WykpKZo0aZJf5fTFfJ4pY1f5Yi6/rStz46ufxzPpSoYxY8Zo3759io6O1urVqzVz\
5kyVlJT4KmKX+MNcdoW/zWVDQ4NmzZqlJ554QjExMac8ZsKcGlVgvrwsVU/m7Iq/54qPj9eNN96o\
wsLCbt/oXmhOX8znmTIOGjRIBw4cUEJCgg4cOKD4+PhOx/liLr+tK3Pjq5/HM+lKhm9u2HJycnTP\
Pffo4MGDGjBggM9yno0/zGVX+NNctrS0aNasWZozZ45uuummDo+bMKcBs4QYSJelamxsVH19ffvf\
161bd9qzmuxk93zm5uZqxYoVkk7+8tLZXqNdc9mVucnNzdXzzz8vy7K0ZcsWxcbGti+J+kpXclZW\
Vrb/Nl5YWCiv16v+/fv7NOfZ+MNcdoW/zKVlWbrzzjuVmpqq++67r9MxRsypLaeO9ICLL77Ycrvd\
VmZmppWZmWndddddlmVZVnl5uTVt2rT2cW+++aY1cuRIKzEx0XrkkUd8nvOVV16xBg8ebIWGhlrx\
8fHWlClTOuTcvXu3lZGRYWVkZFijRo3y25yWZe98Hjx40LruuuuspKQk67rrrrMOHTrUIaOdc9nZ\
3CxbtsxatmyZZVmW5fV6rXvuucdKTEy00tPTz3hWqp05n3rqKWvUqFFWRkaGNWHCBGvTpk0+zzh7\
9mzroosuspxOpzV48GDr2Wef9cu5PFtOf5hLy7Ks999/35JkjR49un2b+eabb/rlnJ4JV+IAABgp\
YJYQAQC9CwUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADAS\
BQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUG\
ADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw\
EgUGADASBQYAMBIFBgAwEgUGADDS/wOmJiOGX0DaAgAAAABJRU5ErkJggg==\
"
frames[28] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU5aH/8e8kkz0krMGEYYvBJCQk\
EYbFDTcCEu4NKC4oFSy2EZfS+/PW/rxt773VKxVfXa5WvNipLcW+VCxeNa0CBRfUIhAjuEBEI7Jk\
T4AEkkDWOb8/qPlJEyBAMmeeyef9D8zMk5kvD8n55jznzBmHZVmWAAAwTJDdAQAAOBcUGADASBQY\
AMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASLYXWElJ\
ia6++mqlpqYqLS1NTzzxRKcxlmVpyZIlSkpKUkZGhrZv325DUgCAP3HaHsDp1C9/+UuNHz9e9fX1\
mjBhgrKzszV27NiOMevWrVNxcbGKi4u1bds23X333dq2bZuNqQEAdrN9Dyw+Pl7jx4+XJPXr10+p\
qakqKys7aUx+fr4WLFggh8OhKVOmqK6uThUVFXbEBQD4CdsL7Jv27dunHTt2aPLkySfdX1ZWpuHD\
h3fcdrlcnUoOANC32L6E+LWGhgbNnTtXjz/+uGJiYk56zLKsTuMdDken+zwejzwejyRp9+7dSklJ\
6Z2wABCg9u3bp4MHD9odo1v8osBaW1s1d+5czZ8/XzfccEOnx10ul0pKSjpul5aWKiEhodO4vLw8\
5eXlSZLcbrcKCwt7LzQABCC32213hG6zfQnRsizdeeedSk1N1f3339/lmNzcXD377LOyLEtbt25V\
bGys4uPjfZwUAOBPbN8D27x5s/74xz9q3LhxysrKkiT97Gc/04EDByRJixcvVk5OjtauXaukpCRF\
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\
ssDy8vKUl5cnSZzsAQABzu+XEBsbG1VfX9/x9w0bNig9Pd3mVAAAu9laYK+88opcLpe2bNmiWbNm\
acaMGZKk8vJy5eTkSJKqqqp0+eWXKzMzU5MmTdKsWbN03XXX2RkbAOAHHJZlWXaH6A1ut/u07y0D\
AHRm0rbT75cQAQDoCgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw\
EgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIF\
BgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADCSrQX2\
wAMPKCUlRRkZGbr++utVV1fX5bj169crOTlZSUlJWrZsmY9TAgD8ka0Flp2drZ07d+qTTz7RRRdd\
pEcffbTTmPb2dt17771at26dioqK9MILL6ioqMiGtAAAf2JrgU2fPl1Op1OSNGXKFJWWlnYaU1BQ\
oKSkJCUmJio0NFTz5s1Tfn6+r6MCAPyM3xwD+/3vf6+ZM2d2ur+srEzDhw/vuO1yuVRWVubLaAAA\
P+Ts7ReYNm2aKisrO92/dOlSzZ49u+PvTqdT8+fP7zTOsqxO9zkcji5fy+PxyOPxSJJ27twpt9t9\
PtF9oqamRkOGDLE7xhmRs+eYkFEiZ08zJefu3bvtjtBtvV5gb7zxxmkfX7VqlV577TW9+eabXRaT\
y+VSSUlJx+3S0lIlJCR0+Vx5eXnKy8uTJLndbhUWFp5Hct8gZ88yIacJGSVy9jSTcprC1iXE9evX\
67HHHtOf//xnRUZGdjlm4sSJKi4u1t69e9XS0qLVq1crNzfXx0kBAP7G1gK77777VF9fr+zsbGVl\
ZWnx4sWSpPLycuXk5EiSnE6nli9frhkzZig1NVU333yz0tLS7IwNAPADvb6EeDpffvlll/cnJCRo\
7dq1HbdzcnI6Cq27vl5K9Hfk7Fkm5DQho0TOnkbOnuewujpLAgAAP+c3p9EDAHA2AqbATLks1Zo1\
a5SWlqagoKDTnpE0atQojRs3TllZWbacFdTdnHbO5+HDh5Wdna0xY8YoOztbtbW1XY6zay7PNDeW\
ZWnJkiVKSkpSRkaGtm/f7rNs33SmnJs2bVJsbKyysrKUlZWlhx9+2OcZFy1apLi4OKWnp3f5uL/M\
5Zly+sNcSlJJSYmuvvpqpaamKi0tTU888USnMf4yp6dlBYi//vWvVmtrq2VZlvXDH/7Q+uEPf9hp\
TFtbm5WYmGjt2bPHam5utjIyMqxdu3b5NGdRUZG1e/du68orr7Q++OCDU44bOXKkVVNT48NkJ+tO\
Trvn84EHHrAeffRRy7Is69FHH+3y/9yy7JnL7szN66+/bl133XWW1+u1tmzZYk2aNMmnGbub8+23\
37ZmzZrl82zf9M4771gffvihlZaW1uXj/jCXlnXmnP4wl5ZlWeXl5daHH35oWZZlHT161BozZoxf\
fn+eScDsgZlyWarU1FQlJyf79DXPRXdy2j2f+fn5WrhwoSRp4cKFevXVV3322mfSnbnJz8/XggUL\
5HA4NGXKFNXV1amiosLvcvqDqVOnauDAgad83B/mUjpzTn8RHx+v8ePHS5L69eun1NTUTlc48pc5\
PZ2AKbBvCoTLUjkcDk2fPl0TJkzouLqIv7F7PquqqhQfHy/pxA9kdXV1l+PsmMvuzI3d83c2GbZs\
2aLMzEzNnDlTu3bt8mXEbvGHuewuf5vLffv2aceOHZo8efJJ95swp7aeRn+2fHlZqt7OeSabN29W\
QkKCqqurlZ2drZSUFE2dOtWvcvpiPk+Xsbt8MZf/qDtz46vvx9PpTobx48dr//79io6O1tq1azVn\
zhwVFxf7KmK3+MNcdoe/zWVDQ4Pmzp2rxx9/XDExMSc9ZsKcGlVgvrwsVW/m7I6vc8XFxen6669X\
QUFBj290zzenL+bzdBmHDh2qiooKxcfHq6KiQnFxcV2O88Vc/qPuzI2vvh9PpzsZvrlhy8nJ0T33\
3KODBw9q8ODBPst5Jv4wl93hT3PZ2tqquXPnav78+brhhhs6PW7CnAbMEmIgXZaqsbFR9fX1HX/f\
sGHDKc9qspPd85mbm6tVq1ZJOvHLS1d7jXbNZXfmJjc3V88++6wsy9LWrVsVGxvbsSTqK93JWVlZ\
2fHbeEFBgbxerwYNGuTTnGfiD3PZHf4yl5Zl6c4771Rqaqruv//+LscYMae2nDrSCy688ELL5XJZ\
mZmZVmZmpnXXXXdZlmVZZWVl1syZMzvGvf7669aYMWOsxMRE65FHHvF5zpdfftkaNmyYFRoaasXF\
xVnTp0/vlHPPnj1WRkaGlZGRYY0dO9Zvc1qWvfN58OBB65prrrGSkpKsa665xjp06FCnjHbOZVdz\
s2LFCmvFihWWZVmW1+u17rnnHisxMdFKT08/7VmpduZ88sknrbFjx1oZGRnW5MmTrc2bN/s847x5\
86wLLrjAcjqd1rBhw6xnnnnGL+fyTDn9YS4ty7Lee+89S5I1bty4jm3m66+/7pdzejpciQMAYKSA\
WUIEAPQtFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBI\
FBgAwEgUGADASBQYAMBIFBgAwEj/DzRxLKqTfm7JAAAAAElFTkSuQmCC\
"
frames[29] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU5aH/8e8kkz0kECCYybCIwSQk\
JBGGxQ03AhLuDSguKLdgsY241N7rrf7sdm/1SsVX23td8GKni8W+VKz+1FgFihtqEYgRXCCiEVmy\
J0ACSSDrnN8ftPlJEyBCMmeeyef9D8ycJ5kvD8l85zznzBmHZVmWAAAwTIjdAQAAOB0UGADASBQY\
AMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASLYXWFlZ\
mS677DKlp6crIyNDjzzySLcxlmXpzjvvVEpKirKysrR161YbkgIAAonT9gBOp371q19p4sSJamxs\
1KRJk5Sbm6vx48d3jVm7dq1KS0tVWlqqLVu26NZbb9WWLVtsTA0AsJvte2BJSUmaOHGiJGnQoEFK\
T09XRUXFcWMKCwu1aNEiORwOTZs2TQ0NDaqqqrIjLgAgQNheYF+3Z88ebdu2TVOnTj3u/oqKCo0c\
ObLrttvt7lZyAICBxfYlxL9ramrS/Pnz9fDDDysuLu64bZZldRvvcDi63ef1euX1eiVJO3fuVFpa\
Wv+EBYAgtWfPHu3fv9/uGL0SEAXW3t6u+fPna+HChbr66qu7bXe73SorK+u6XV5eLpfL1W1cQUGB\
CgoKJEkej0fFxcX9FxoAgpDH47E7Qq/ZvoRoWZZuvvlmpaen66677upxTH5+vp566ilZlqXNmzcr\
Pj5eSUlJfk4KAAgktu+Bbdy4UX/84x81YcIE5eTkSJJ+/vOfa9++fZKkpUuXKi8vT2vWrFFKSoqi\
o6P15JNP2hkZABAAbC+wiy66qMdjXF/ncDj0+OOP+ykRAMAEti8hAgBwOigwAICRKDAAgJEoMACA\
kSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEo\
MACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAA\
gJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRbC+wJUuWKDExUZmZmT1u37Bhg+Lj45WTk6OcnBzd\
f//9fk4IAAhETrsD3HTTTbrjjju0aNGiE465+OKL9eqrr/oxFQAg0Nm+BzZ9+nQlJCTYHQMAYBjb\
C6w3Nm3apOzsbM2ePVs7duywOw4AIADYvoR4KhMnTtTevXsVGxurNWvWaN68eSotLe1xrNfrldfr\
lSTV1dX5MyYAwM8Cfg8sLi5OsbGxkqS8vDy1t7dr//79PY4tKChQcXGxiouLNXz4cH/GBAD4WcAX\
WHV1tSzLkiQVFRXJ5/Np6NChNqcCANjN9iXEG264QRs2bND+/fvldrt13333qb29XZK0dOlSvfDC\
C1q5cqWcTqeioqK0evVqORwOm1MDAOzmsP6+exNkPB6PiouL7Y4BAEYx6bkz4JcQAQDoCQUGADAS\
BQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUG\
ADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw\
EgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwku0FtmTJEiUmJiozM7PH7ZZl6c4771RKSoqy\
srK0detWPycEAAQi2wvspptu0rp16064fe3atSotLVVpaam8Xq9uvfVWP6YDAAQq2wts+vTpSkhI\
OOH2wsJCLVq0SA6HQ9OmTVNDQ4Oqqqr8mBAAEIicdgc4lYqKCo0cObLrttvtVkVFhZKSkmxMBQC9\
09Hpk8PhUGiIQwcaW7Vnf5PaOy11dPrU4bPU0Wnp/JRhiol06kBTqw42tSomIkyDIp2KjnAqNMRh\
9z8hYAV8gVmW1e0+h6Pn/1Cv1yuv1ytJqqur69dcACAde47q9Flyhobos4pDeqm4TAea2lTX2KID\
ja2qb27Tb787TeOT4/V+aZ2WFe7o9j2evu0CnRM5SK9/WqWH131+3LZBkU6tWnqBXEOi9Mm+eu2u\
a5Y7IVojE6I1bFCEQgZwwQV8gbndbpWVlXXdLi8vl8vl6nFsQUGBCgoKJEkej8cv+QAMHJ0+S6XV\
h7W9/JB21TTqy5omfVXbpJ9elalL00foaHun/vpFnYYNitCw2AilJcVp2KAIDY4OlySdP264Hr9p\
spyhDjlDHAoLDZEzNETJQ6IkSRenJmpEfJSaWzvUeLRdTa0dOnSkTcMGRUiS3tpRo9Wb93bliQoP\
VZorTg//yyRFhIWqrcOncKftR4b8JuALLD8/XytWrNCCBQu0ZcsWxcfHs3wIwC98Pku7apvkDHXo\
7OGx2negWTf9erOkY3tG54wYpNnZSTorPlKSNHFMgtbcfdkJv9+wQRFdZdST5IRoJSdEn3D7HTPP\
1XXTRqn84FGVHzyir2qbVHu4RRFhoZKk/3jhY+2sPKwM92BljxqsC84dLvdJvp/pbC+wG264QRs2\
bND+/fvldrt13333qb29XZK0dOlS5eXlac2aNUpJSVF0dLSefPJJmxMDCGaHj7br3Z212vhFnbbu\
OahDR9r1T+cl6yfzMjVmWIweuDZbme54jYiPPOHhjP7iDA2Ra0i0XEOiNeWcod22X5SaKGdoiLaX\
N+jNHdX677U7dUlaoh664TxJxwo5mJYcHVZPB5mCgMfjUXFxsd0xABjg60tv1z76nsoOHFFiXKQ8\
YxM06ewEec5O0Ij4KJtTfjPlB49o4xd1io10ak5Osto6fJr/yLua4B6sS8eP0PTUREWGh3b7OpOe\
O23fAwMAOzS3dOitkmq9uaNau2qa9NK/TZczNETfn5WqITHhGp8c7/c9rL7kTojW9dNGd90+0tqh\
81OG6f3S/XqrpEbREaG6YvxZWnjhGI0ZHmtj0tNHgQEYUPbtb9bT7+/R+k+rdLStU8lDonRltkut\
HT45Q0N0UWqi3RH7xeCYcP1obqZ8Pkvb9tZr7ceVenNHteZ53JKkyvoj6vSZtSBHgQEIekfbOtTa\
7tPgmHDVNbZo3SeVmpmZpLketzIM39P6pkJCHJp09rGl0R/kpSsi7NjS6ar3duv9UrPefsQxMABB\
q+LgET27aa/WflypOTku3ZWXLsuy1NTSoUFRYXbHCyi1h1pUdvCIbrl2pjHPneyBAQg6u2oa9dRf\
d+uN7dUKcUhXZJylmROOvf3G4XBQXj1IjI9U4t/eDmAKCgxA0Hnm/T16d2etrp82WjecP1rD48x6\
YkbvUGAAjFf81QH94d2vdHvuuUpPjtetM87VnbNSFf+3K2AgOFFgAIz1edVhPf76FyradUDDBkVo\
f1OrJJ30ahcIHhQYACM99Ocdeqm4XHFRYfr+rFRdPXlk1yWVMDBQYACMcfhouwZFOuVwOJQ0OEqL\
Ljpb37robE7KGKAoMAABr73Dp+c279Uf3vtKP52XqUvSR2jRxWPtjgWbUWAAAtqHuw/qF6+VaE9d\
sy48d7hGDYuxOxICBAUGIGA9vG6nVm/aq6TBUfrljecF7WWecHooMAABpaPTJ+nYR4dkuOO15JKx\
WnTxWEVyggb+AQUGIGDsKG/QQ38u0awslxZeOEa5mXx4LU6MAgNgu9b2Tv3m7S/1zPt7NHRQhNwJ\
Zn32FuxBgQGw1c7Kw/rZi59oT12z8icm685ZqYqN5LR4nBoFBsBWrR2damnv1MPfmqRpKcPsjgOD\
UGAA/G5HeYM+2tughReOUfaoIXr+excrzBlidywYhgID4DcdnT79/p1d+sO7XykxLlLzPG7FRDgp\
L5wWCgyAX1TWH9V//t9P9GlZg/JyXLprdppiIngKwunjpwdAv2tp69R3frtZre0+/dc1WcqdwOnx\
OHMUGIB+09bhU7gzRJHhobp7znilJg2Sa0i03bEQJFh4BtAvdlYe0sL/3aj1n1ZJki4bP4LyQp9i\
DwxAn7IsSy8U7dMjf/lcCTERGs6HS6KfUGAA+syR1g4t//MOrf+0WheeO1z/cVWm4qPD7Y6FIEWB\
AegzxbsP6o3t1Vp6xTgtuuhshYQ47I6EIEaBAThjVQ1HlTQ4StPTErX6jov4zC74BSdxADhtHZ0+\
Pbxup65/7K/6sqZRkigv+A17YABOy4HGVv3oTx/p430NunbqKI0eSnHBvygwAN/YzsrDuufZbTp8\
tF33X5OlmbwxGTagwAB8Y2+X1CjEIXlvnqJzk+LsjoMBKiCOga1bt06pqalKSUnR8uXLu23fsGGD\
4uPjlZOTo5ycHN1///02pAQGNp/PUmX9UUlSweUpWrX0fMoLtrJ9D6yzs1O33367Xn/9dbndbk2e\
PFn5+fkaP378ceMuvvhivfrqqzalBAa25pYO/eeLn2hn5WE9c/uFiosK4/1dsJ3te2BFRUVKSUnR\
2LFjFR4ergULFqiwsNDuWAD+pvzgEX33d1u0qXS/brp4rAZF2v66F5AUAAVWUVGhkSNHdt12u92q\
qKjoNm7Tpk3Kzs7W7NmztWPHDn9GBAasj/bWa4l3s/Y3tuqRb03SNVNHyeHgzckIDLa/lLIsq9t9\
//gLMnHiRO3du1exsbFas2aN5s2bp9LS0m5f5/V65fV6JUl1dXX9ExgYQJ59f4+GxITrVwsnyp3A\
hXgRWGzfA3O73SorK+u6XV5eLpfLddyYuLg4xcbGSpLy8vLU3t6u/fv3d/teBQUFKi4uVnFxsYYP\
H96/wYEgZVmWmls6JEn/cdUEeW+eQnkhINleYJMnT1Zpaal2796ttrY2rV69Wvn5+ceNqa6u7tpT\
Kyoqks/n09ChQ+2ICwS19g6f/uul7bpj1Qdqbe9UTKSTkzUQsGxfQnQ6nVqxYoVmzZqlzs5OLVmy\
RBkZGXriiSckSUuXLtULL7yglStXyul0KioqSqtXr2YdHuhjh4606YfPfaSte+pVcFmKwp22v74F\
Tsph9XQQKgh4PB4VFxfbHQMwQvnBI/r3p7eqsv6IfjwvU1dmuU79RQhKJj132r4HBsBelmXp/pc+\
VX1zmx5bPFk5o4fYHQnoFQoMGOAcDod+dvUEdXRaXEkeRmGRGxigXt1WoQde3i6fz5JrSDTlBeNQ\
YMAAY1mWnnxnlx54ebtqDrWorcNndyTgtFBgwEDw9NPSmDGyQkJ0eESydj/i1aysJP33womKDA+1\
Ox1wWjgGBgS7p5+WCgqkI0fkkBRfV6WfrnlUoVdnKcSZZXc64LSxBwYEux//WDpy5Li7wlpbFPKT\
H9sUCOgbFBgQ5Kx9+3recKL7AUNQYEAQq6w/orrBiT1vHDXKv2GAPkaBAUFqV02jCn5XpN/lLpEv\
Kur4jdHR0rJl9gQD+ggFBgShT8satPT3RXJIuv6xHynkN7+RRo+WHI5jf3q90sKFdscEzghnIQJB\
6PPKw4qPDtejizxyDYk6VlYUFoIMBQYEkUNH2hQfHa5rpo7SnPNcigrnVxzBiyVEIEi88mG55j/y\
nkqrD0sS5YWgR4EBQWD1pj36+Ss7lOkerJEJXNMQAwMv0QCDWZal37+zS795e5cuGz9C98/PUhgf\
RIkBggIDDPbG9mr95u1dmpPj0g/zM+QMpbwwcFBggMEuGz9CP8rP0D+dl6yQEIfdcQC/4uUaYJiO\
Tp8eW/+5DjS2yhkaovxJbsoLAxIFBhikrcOnH/3pYz29cY82flFndxzAViwhAoZoaevUvc9t0+Yv\
D+gHeenKn+S2OxJgKwoMMEBza4fufmartu2t14/nZuifJ1JeAAUGGKC9w6fGlg7dNz9LMyck2R0H\
CAgUGBDADh1pU3S4U4NjwvVkwTROkwe+ht8GIEAdaGzVbU9+oAcKt0sS5QX8A34jgABUe6hFtz5Z\
pMqGo/rn85LtjgMEJJYQgQBTWX9Ud6z6QA1H2vTwtyYpe9QQuyMBAYkCAwKIz2fp7me3qvFoux5b\
5FGGe7DdkYCARYEBASQkxKEf/nOGwpwhSk2KszsOENA4BgYEgF01jfrT5r2SpMyRgykvoBfYAwNs\
9nnVYd35VLHCQ0M0O9ulQVFhdkcCjMAeGGCjkopDuuMPHygqLFQrl0yhvIBvICAKbN26dUpNTVVK\
SoqWL1/ebbtlWbrzzjuVkpKirKwsbd261YaUQN/6ZF+9vreqWIOiwrRyyRS5E6LtjgQYxfYC6+zs\
1O233661a9eqpKREzz77rEpKSo4bs3btWpWWlqq0tFRer1e33nqrTWmBvrO7rllDY8P1xLenKGlw\
lN1xAOPYXmBFRUVKSUnR2LFjFR4ergULFqiwsPC4MYWFhVq0aJEcDoemTZumhoYGVVVV2ZQYODPN\
LR2SpLmT3PrjrRcoMT7S5kSAmWwvsIqKCo0cObLrttvtVkVFxTceA5jg/dI6XfXwu/pkX70kKSIs\
1OZEgLlsLzDLsrrd53A4vvEYSfJ6vfJ4PPJ4PKqr48P+EFje3Vmr//PsNp01OFKjh8XYHQcwnu0F\
5na7VVZW1nW7vLxcLpfrG4+RpIKCAhUXF6u4uFjDhw/vv9DAN/RWSbV++NxHGnfWIK1YPFnx0eF2\
RwKMZ3uBTZ48WaWlpdq9e7fa2tq0evVq5efnHzcmPz9fTz31lCzL0ubNmxUfH6+kJD4TCWb4tKxB\
P33+E41PjtejizyK41R5oE/Y/kZmp9OpFStWaNasWers7NSSJUuUkZGhJ554QpK0dOlS5eXlac2a\
NUpJSVF0dLSefPJJm1MDvTc+OV63XJ6i+VNGKSbC9l85IGg4rJ4OMAUBj8ej4uJiu2NgAFv7caUm\
jhmiEfGcIg9zmPTcafsSIhCM/rR5r+578VOtem+33VGAoMV6BtDHnt64W4+t/0KXpCXqX69MszsO\
ELQoMKAPPfnOLv36rS91RcZZum/+BDlDWeQA+gsFBvSRlvZOvV1SoyuzkvSTeZmUF9DPKDDgDFmW\
pY5OS5FhoXr8psmKjnAqNKT7G+0B9C1eIgJnwOez9Ks1n+ne5z5SR6dPg6LCKC/ATygw4DR1+iw9\
+MoOvVBUpjHDYiguwM9YQgROQ0enT/e/9KnWf1qtmy85R9+57Jwer88JoP9QYMBpeOjVEq3/tFq3\
zRinRRePtTsOMCBRYMBpmD95lFKT4nTNlFF2RwEGLI6BAb10pLVDaz469jl0aS7KC7Abe2BALzQe\
bdddT2/VjvIGpbniNTYx1u5IwIBHgQGncLCpVf/6xw/1VV2Tll2XQ3kBAYICA06i9lCLvvdUsaoP\
HdUvb5yoaSnD7I4E4G8oMOAktpc36GBTqx75lkc5o4fYHQfA11BgQA9a2jsVGRaqyzPO0qSzExQf\
HW53JAD/gLMQgX9QUnFI1z7ynj746oAkUV5AgKLAgK/Zuueg7lj1gZyhIXIN5pOUgUDGEiLwN+/u\
rNVPnv9YriFRenSRR4lxkXZHAnASFBggaUd5g+5dvU3pyfH674UTWTYEDECBAZLGJ8frezNTNXeS\
W9ER/FoAJuAYGAYsy7L0h3e/UvnBI3I4HLrhgjGUF2AQCgwDUqfP0vI/l+iJN0u19uNKu+MAOA28\
3MSA09reqfte/FRvldTopulj9Z1Lz7E7EoDTQIFhQGlqadc9z27T1j31+v6sVN1wwRi7IwE4TRQY\
BpTQEIc6fJbumz9Bs7JcdscBcAYoMAwIe/c3a9igCMVEOPXEt6coJMRhdyQAZ4iTOBD0Ptpbr+/+\
drN+8WqJJFFeQJCgwBDUNnxWo+8/VazB0eEquDzF7jgA+hBLiAhaLxTt06/WfKaM5Hj98saJGhzD\
1TWAYEKBISg1tbTrD+9+pQvGDdeya7MVGR5qdyQAfYwCQ1Bpae9UeGiIYiPD5L15ihLjIuUMZaUc\
CEa2/mYfPHhQubm5GjdunHJzc1VfX9/juDFjxmjChAnKycmRx+Pxc0qY4kBjq257skiPv/6FJMk1\
JJryAoKYrb/dy5cv1xVXXKHS0lJdccUVWr58+QnHvv322/roo49UXFzsx4QwxVe1Tbr5N5v1VW2z\
skcPsTsOAD+wtcAKCwu1ePFiSdLixYv18ssv2xkHhiradUDf/e0WdfgsPbFksqanJdodCYAf2Fpg\
NTU1SkpKkiQlJSWptra2x3EOh0MzZ87UpEmT5PV6/RkRAe7QkTbdu3qbzhocqd99d6rSXPF2RwLg\
J/1+EseMGTNUXV3d7f5ly5b1+nts3LhRLpdLtbW1ys3NVVpamqZPn95tnNfr7Sq4urq60w+NgOfz\
WQoJcSg+Oly/uPE8pSXFKyaSc5KAgcRhWZZl14OnpqZqw4YNSkpKUlVVlS699FJ9/vnnJ/2an/3s\
Z4qNjdUPfvCDk47zeDwcLwtSh4606cfPf6w5Ocmanc31DIG+ZNJzp61LiPn5+Vq1apUkadWqVZo7\
d263Mc3NzWpsbOz6+/r165WZmenXnAgcX9U2aYl3sz7e2/MZqwAGDlsL7N5779Xrr7+ucePG6fXX\
X9e9994rSaqsrFReXp6kY8fJLrroImVnZ2vKlCmaM2eOrrzySjtjwybvfV6r7/xms1raO7Xy21PY\
+wIGOFuXEPuTSbvBOLXdtU268X83Ki0pTg/dcJ4S4yLtjgQEJZOeOznqjYD295M1zk6M1f3XZOni\
1ERFhnFZKABcjR4BbHdtkxb/epNKKg5JknIzkygvAF3YA0NAWv9plR58ZYeiwkPV1uGzOw6AAESB\
IaC0d/j06PrP9fyWfcoeNVgPXJut4RzvAtADCgwB5ZWt5Xp+yz4tOH+07sg9l4vxAjghCgwBoaml\
XbGRYZrnGalRw2I0eexQuyMBCHC8vIWt2jt8evQvn+v6x/6qA02tCg1xUF4AeoU9MNhm3/5m/fSF\
T/R51WFdPXmkYiL4cQTQezxjwO8sy9JrH1XqV2s+U1hoiB5akKNL0kfYHQuAYSgw2OLdnbVKd8Xp\
Z1dnKTGeswwBfHMUGPzmw90HNTwuQqOGxug/r56gyLBQhYY47I4FwFCcxIF+d7StQ7987TPd/ocP\
9LsNuyRJMRFOygvAGWEPDP1q656DWvbydlXUH9V1U0fp1hnj7I4EIEhQYOg3b5VU60fPfSx3QpRW\
fnuyzhuTYHckAEGEAkOfa2nrVGR4qM5PGabvXHqOFl44RlHh/KgB6FscA0OfqW9u0wMvb9fiX29S\
S3unosKd+s5lKZQXgH7BMwvOWKfP0isflmvlm1+oubVTN5w/WgrKj0kFEEgoMJyRg02t+sEzW1VS\
cVgTxwzR3XPG6+zEWLtjARgAKDCclr9/UnJ8dLiGxkboZ/MnaNaEJDkcnBoPwD84BoZvpL3Dp+c2\
79UNj29UfXObQkMc+sWNE3VllovyAuBX7IGhV3w+S2/uqNbKN0tVWX9UnrMT1NTSriEx4XZHAzBA\
UWA4pZa2Tt36ZJE+qzyslBGx+p9/mahpKcPY4wJgKwoMJ1R7uEWJcZGKDA9V5sjBunbqKM3KcnEJ\
KAABgQJDNx/vq9eqd7/Sll0H9PRtF2jM8Fj9e1663bEA4DgUGCQd+4yuLbsOaNW7X2nb3noNjg7T\
dy49R0NjI+yOBgA9osAgSTrY3Ka7n9mqhNgI/dvsNM2d6FZkeKjdsQDghCiwAepAY6v+vK1CX9Y0\
6oFrszU0NkKP3zRZ6a54hTl5dwWAwBe0BXawqVWl1Yc17qw4u6MEDJ/PUvHug3q5uEzv7KxVp8+S\
5+yErovvZo0aYndEAOi1oC2w2sZWfWvlJqWMiFVeTrJmTUjS0EED83iOZVlyOBxa+0ml/uul7YqL\
CtP100Zr3iS3Rg2LsTseAJyWoC2wcSMG6Qdz0rXmo0o9+pfP9fjrX+iXN56n88cNtzuaX9QeatHb\
JTV6s6RaMzOTdM3UUbo0bYRC5zt0WfoIRYRxfAuA2YK2wEJDHLpmyihdM2WU9tQ1ae3HVcoaeWyJ\
7IUt+7SxtE4XnjtcF547XEmDo2xO2zcsy9KfNu/TGzuq9WlZgyTpnBGxiok89t8cE+nUlVkuOyMC\
QJ+x9Wj9888/r4yMDIWEhKi4uPiE49atW6fU1FSlpKRo+fLl3/hxxgyP1a0zxnU9kTscUtmBZv3y\
tc901f+8qxsf36gn3iyVZZn1GSD1zW16c0e1nt64W5LkcDj0Vkm1Wto7dcvlKXruexfp6dsu1Oxs\
SgtA8LF1DywzM1MvvviibrnllhOO6ezs1O23367XX39dbrdbkydPVn5+vsaPH3/ajzt/yihdPXmk\
9h04oo1f1On9L+pUUnGo69JIywq3KybcqQx3vDLcg5U0ODJgLpu0o7xBf/mkSh/uOahdNU2SpLio\
MF03dbTCnCF6+FuT+ABJAAOCrc906emnvrpDUVGRUlJSNHbsWEnSggULVFhYeEYFJh3bWxk9LEaj\
h8XoxgvGyOc7tvdlWZaqGo7q07IGrd68V5KUEBuuf7nwbN14wRhZlqUPdx9UckK0EuMi+/yySj6f\
pfojbdq7v1m7ahr1ZU2TdtU06sHrczQ8LlJb99SrcGu5skYOUe4VSfKcnaA0V5ycocd2pikvAANF\
wD/bVVRUaOTIkV233W63tmzZ0uePE/K3InI4HFqxeLI6On3aVduk7WUN2lF+SNF/e1NvfXOb7lh1\
bLkzLNQh15BoJQ2O1NWTR2l6WqIOHWnTy8Xliol0alCkU+HOUHX4fMpIjpdrSLT2N7Zqw2c16uy0\
1NjSrgNNrdrf2Koll5yj9LVSfqUAAAthSURBVOR4vVVSo588/3FXrrioMKWMiFVTa4eGS7rK49b1\
00YrnPdqARjg+r3AZsyYoerq6m73L1u2THPnzj3l1/d0XOpEy3ler1der1eSVFdX9w2THs8ZGqLU\
pDilJsVp/pT/f39MhFOP3+RR+cGjKj94ROUHj6jm0FG1tndKkmoOtWjlm6Xdvt9P5mXKNSRaFfVH\
9MvXPuu6f0hMuIbGhqu5tUOSND45Tv+el6aRQ2N0TmKshg2KOO7fGxsZdkb/LgAIFv1eYG+88cYZ\
fb3b7VZZWVnX7fLycrlcPZ+UUFBQoIKCAkmSx+M5o8c9kYiwUE06e6gmnd3z9nOT4vTOT2aoqbVD\
TS0dauvolDMkRMPjjr0HbbwrXmvuvlShIQ5Fhzu7XfXCNSRa104d3S/ZASCYBPwS4uTJk1VaWqrd\
u3crOTlZq1ev1jPPPGN3rJOKCAtVRFhojxfCDXOGKIEL5ALAGbP1QMpLL70kt9utTZs2ac6cOZo1\
a5YkqbKyUnl5eZIkp9OpFStWaNasWUpPT9d1112njIwMO2MDAAKAwzLtzU+95PF4TvreMgBAdyY9\
d3IqGwDASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBI\
FBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQY\
AMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIthbY888/r4yM\
DIWEhKi4uPiE48aMGaMJEyYoJydHHo/HjwkBAIHKaeeDZ2Zm6sUXX9Qtt9xyyrFvv/22hg0b5odU\
AAAT2Fpg6enpdj48AMBgRhwDczgcmjlzpiZNmiSv12t3HABAAOj3PbAZM2aourq62/3Lli3T3Llz\
e/U9Nm7cKJfLpdraWuXm5iotLU3Tp0/vNs7r9XYVXF1d3ZkFBwAEtH4vsDfeeOOMv4fL5ZIkJSYm\
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\
"
frames[30] = "data:image/png;base64,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\
"
frames[31] = "data:image/png;base64,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\
ffXVSk1NVVpamp544olOy/jLOj0lK0D87W9/s1pbWy3LsqwHHnjAeuCBBzot09bWZiUmJlq7du2y\
mpubrYyMDGvHjh0+nbO4uNjauXOndeWVV1offvjhSZcbNmyYVVNT48PJTtSdOe1en/fff7/16KOP\
WpZlWY8++miX/+eWZc+67M66ef31163rrrvO8nq91oYNG6zx48f7dMbuzvnOO+9Y06dP9/lsX/Xu\
u+9aH330kZWWltbl4/6wLi3r9HP6w7q0LMuqqKiwPvroI8uyLOvIkSPWyJEj/fL783QCZgvMlMtS\
paamKjk52afPeTa6M6fd67OgoEDz5s2TJM2bN0+vvPKKz577dLqzbgoKCjR37lw5HA5NnDhRdXV1\
2r9/v9/N6Q8mTZqk2NjYkz7uD+tSOv2c/iI+Pl5jxoyRJPXt21epqamdrnDkL+v0VAImYF8VCJel\
cjgcmjJlisaOHdtxdRF/Y/f6rKqqUnx8vKTjP5DV1dVdLmfHuuzOurF7/Z3JDBs2bFBmZqamTZum\
HTt2+HLEbvGHddld/rYu9+zZoy1btmjChAkn3G/COrX1NPoz5cvLUvX0nKezfv16uVwuVVdXKzs7\
WykpKZo0aZJfzemL9XmqGbvLF+vy67qzbnz1/Xgq3ZlhzJgx2rt3r6KiorRq1SrNnDlTJSUlvhqx\
W/xhXXaHv63LhoYGzZo1S48//riio6NPeMyEdWpUwHx5WaqenLM7/jlXXFycrr/+ehUWFp73F91z\
ndMX6/NUMw4ePFj79+9XfHy89u/fr7i4uC6X88W6/LrurBtffT+eSndm+OoLW05Oju6++24dOHBA\
AwcO9Nmcp+MP67I7/Gldtra2atasWZozZ45uuOGGTo+bsE4DZhdiIF2WqrGxUfX19R1/Xrt27UnP\
arKT3eszNzdXy5cvl3T8l5euthrtWpfdWTe5ubl65plnZFmWNm7cqJiYmI5dor7SnTkrKys7fhsv\
LCyU1+vVgAEDfDrn6fjDuuwOf1mXlmXpjjvuUGpqqu67774ulzFindpy6kgPuPDCCy23221lZmZa\
mZmZ1p133mlZlmWVl5db06ZN61ju9ddft0aOHGklJiZajzzyiM/nfOmll6yEhAQrNDTUiouLs6ZM\
mdJpzl27dlkZGRlWRkaGNWrUKL+d07LsXZ8HDhywrrnmGispKcm65pprrIMHD3aa0c512dW6Wbp0\
qbV06VLLsizL6/Vad999t5WYmGilp6ef8qxUO+d88sknrVGjRlkZGRnWhAkTrPXr1/t8xtmzZ1sX\
XHCB5XQ6rYSEBOsPf/iDX67L083pD+vSsizr/ffftyRZo0eP7njNfP311/1ynZ4KV+IAABgpYHYh\
AgB6FwIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCM\
RMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgA\
wEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImA\
AQCMRMAAAEYiYAAAI/0/z4Q0XWMsU+IAAAAASUVORK5CYII=\
"
frames[32] = "data:image/png;base64,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\
"
frames[33] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deWBU5aH38d8kkz0krMFMhsUYTEJC\
EmFY3HAjIOHegOKC0oJFG0Gtvddbfe1y761eqfi2vVcrvti0txT7qli8aqwCBRfUIhAjuEBEI7Jk\
IRskkASyznn/wOYVEyBAmDPP5Pv5R2bOk8yPR3J+Oc85c8ZhWZYlAAAME2R3AAAAzgQFBgAwEgUG\
ADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw\
EgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIF\
BgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYA\
MBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwku0FVlpa\
qquuukqpqalKS0vTE0880WWMZVm69957lZSUpIyMDG3dutWGpAAAf+K0PYDTqV//+tcaO3asGhoa\
NG7cOGVnZ2v06NGdY9asWaOSkhKVlJRoy5YtWrRokbZs2WJjagCA3Ww/AouPj9fYsWMlSf369VNq\
aqrKy8uPG1NQUKB58+bJ4XBo0qRJqq+v1/79++2ICwDwE7YX2Dft2bNH27Zt08SJE497vry8XMOG\
Det87Ha7u5QcAKBvsX0J8e8aGxs1e/ZsPf7444qJiTlum2VZXcY7HI4uz+Xn5ys/P1+StHPnTqWk\
pJybsAAQoPbs2aPa2lq7Y/SIXxRYW1ubZs+erblz5+r666/vst3tdqu0tLTzcVlZmVwuV5dxeXl5\
ysvLkyR5PB4VFRWdu9AAEIA8Ho/dEXrM9iVEy7J0++23KzU1Vffdd1+3Y3Jzc/XMM8/Isixt3rxZ\
sbGxio+P93FSAIA/sf0IbOPGjfrTn/6kMWPGKCsrS5L0i1/8Qvv27ZMkLVy4UDk5OVq9erWSkpIU\
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\
y5MkLvYAgADn90uITU1Namho6PzzunXrlJ6ebnMqAIDdbC2wl19+WW63W5s2bdKMGTM0bdo0SVJF\
RYVycnIkSVVVVbrsssuUmZmpCRMmaMaMGbr22mvtjA0A8AMOy7Isu0OcCx6P56TvLQMAdGXSvtPv\
lxABAOgOBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIF\
BgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYA\
MBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMJKtBXb//fcrJSVF\
GRkZuu6661RfX9/tuLVr1yo5OVlJSUlasmSJj1MCAPyRrQWWnZ2t7du365NPPtGFF16oRx99tMuY\
jo4O3X333VqzZo2Ki4v1/PPPq7i42Ia0AAB/YmuBTZ06VU6nU5I0adIklZWVdRlTWFiopKQkJSYm\
KjQ0VHPmzFFBQYGvowIA/IzfnAP7wx/+oOnTp3d5vry8XMOGDet87Ha7VV5e7stoAAA/5DzXLzBl\
yhRVVlZ2eX7x4sWaOXNm55+dTqfmzp3bZZxlWV2eczgc3b5Wfn6+8vPzJUnbt2+Xx+M5m+g+UVNT\
oyFDhtgd45TI2XtMyCiRs7eZknPnzp12R+ixc15gb7zxxkm3r1ixQq+99prefPPNbovJ7XartLS0\
83FZWZlcLle33ysvL095eXmSJI/Ho6KiorNI7hvk7F0m5DQho0TO3mZSTlPYuoS4du1aPfbYY3r1\
1VcVGRnZ7Zjx48erpKREu3fvVmtrq1auXKnc3FwfJwUA+BtbC+yee+5RQ0ODsrOzlZWVpYULF0qS\
KioqlJOTI0lyOp1aunSppk2bptTUVN10001KS0uzMzYAwA+c8yXEk/nyyy+7fd7lcmn16tWdj3Ny\
cjoLraf+vpTo78jZu0zIaUJGiZy9jZy9z2F1d5UEAAB+zm8uowcA4HQETIGZcluqVatWKS0tTUFB\
QSe9ImnkyJEaM2aMsrKybLkqqKc57ZzPgwcPKjs7W6NGjVJ2drbq6uq6HWfXXJ5qbizL0r333quk\
pCRlZGRo69atPsv2TafKuWHDBsXGxiorK0tZWVl6+OGHfZ5xwYIFiouLU3p6erfb/WUuT5XTH+ZS\
kkpLS3XVVVcpNTVVaWlpeuKJJ7qM8Zc5PSkrQPz1r3+12traLMuyrAceeMB64IEHuoxpb2+3EhMT\
rV27dlktLS1WRkaGtWPHDp/mLC4utnbu3GldccUV1gcffHDCcSNGjLBqamp8mOx4Pclp93zef//9\
1qOPPmpZlmU9+uij3f4/tyx75rInc/P6669b1157reX1eq1NmzZZEyZM8GnGnuZ8++23rRkzZvg8\
2ze988471ocffmilpaV1u90f5tKyTp3TH+bSsiyroqLC+vDDDy3LsqzDhw9bo0aN8st/n6cSMEdg\
ptyWKjU1VcnJyT59zTPRk5x2z2dBQYHmz58vSZo/f75eeeUVn732qfRkbgoKCjRv3jw5HA5NmjRJ\
9fX12r9/v9/l9AeTJ0/WwIEDT7jdH+ZSOnVOfxEfH6+xY8dKkvr166fU1NQudzjylzk9mYApsG8K\
hNtSORwOTZ06VePGjeu8u4i/sXs+q6qqFB8fL+nYD2R1dXW34+yYy57Mjd3zdzoZNm3apMzMTE2f\
Pl07duzwZcQe8Ye57Cl/m8s9e/Zo27Ztmjhx4nHPmzCntl5Gf7p8eVuqc53zVDZu3CiXy6Xq6mpl\
Z2crJSVFkydP9qucvpjPk2XsKV/M5bf1ZG589e/xZHqSYezYsdq7d6+io6O1evVqzZo1SyUlJb6K\
2CP+MJc94W9z2djYqNmzZ+vxxx9XTEzMcdtMmFOjCsyXt6U6lzl74u+54uLidN1116mwsLDXd7pn\
m9MX83myjEOHDtX+/fsVHx+v/fv3Ky4urttxvpjLb+vJ3Pjq3+PJ9CTDN3dsOTk5uuuuu1RbW6vB\
gwf7LOep+MNc9oQ/zWVbW5tmz56tuXPn6vrrr++y3YQ5DZglxEC6LVVTU5MaGho6/7xu3boTXtVk\
J7vnMzc3VytWrJB07JeX7o4a7ZrLnsxNbm6unnnmGVmWpc2bNys2NrZzSdRXepKzsrKy87fxwsJC\
eb1eDRo0yKc5T8Uf5rIn/GUuLcvS7bffrtTUVN13333djjFiTm25dOQcuOCCCyy3221lZmZamZmZ\
1p133mlZlmWVl5db06dP7xz3+uuvW6NGjbISExOtRx55xOc5X3rpJSshIcEKDQ214uLirKlTp3bJ\
uWvXLisjI8PKyMiwRo8e7bc5Lcve+aytrbWuvvpqKykpybr66qutAwcOdMlo51x2NzfLli2zli1b\
ZlmWZXm9Xuuuu+6yEhMTrfT09JNelWpnzieffNIaPXq0lZGRYU2cONHauHGjzzPOmTPHOu+88yyn\
02klJCRYv//97/1yLk+V0x/m0rIs67333rMkWWPGjOncZ77++ut+Oacnw504AABGCpglRABA30KB\
AQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEA\
jESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxE\
gQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEB\
AIxEgQEAjESBAQCM9P8ANXUn8+Pu3k8AAAAASUVORK5CYII=\
"
frames[34] = "data:image/png;base64,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\
tdLS0pSenq4nnnii0zL+sk5PywoQf/nLX6zW1lbLsizrgQcesB544IFOy7S1tVlJSUnW7t27rebm\
ZiszM9PauXOnT+csLi62du3aZV155ZXWBx98cMrlRowYYdXU1PhwspN1Z0671+f9999vPfroo5Zl\
Wdajjz7a5f+5ZdmzLruzbl5//XXruuuus7xer7V582Zr4sSJPp2xu3O+/fbb1syZM30+29e98847\
1ocffmilp6d3+bg/rEvLOvOc/rAuLcuyKioqrA8//NCyLMs6evSoNXr0aL/8/jyTgNkCM+WyVGlp\
aUpJSfHp1zwX3ZnT7vVZUFCgBQsWSJIWLFigV155xWdf+0y6s24KCgo0f/58ORwOTZ48WYcPH9aB\
Awf8bk5/MGXKFMXFxZ3ycX9Yl9KZ5/QXCQkJGjdunCSpX79+SktL63SFI39Zp6cTMAH7ukC4LJXD\
4dC0adM0fvz4jquL+Bu712dVVZUSEhIknfiBrK6u7nI5O9Zld9aN3evvbGbYvHmzsrKyNGPGDO3c\
udOXI3aLP6zL7vK3dbl3715t375dkyZNOul+E9aprafRny1fXpaqt+c8k02bNikxMVHV1dXKyclR\
amqqpkyZ4ldz+mJ9nm7G7vLFuvym7qwbX30/nk53Zhg3bpz27dun6OhorVmzRrNnz1ZJSYmvRuwW\
f1iX3eFv67KhoUFz5szR448/rpiYmJMeM2GdGhUwX16Wqjfn7I6/zxUfH6/rr79ehYWFPf6ke75z\
+mJ9nm7GIUOG6MCBA0pISNCBAwcUHx/f5XK+WJff1J1146vvx9Ppzgxff2LLzc3V3XffrdraWg0a\
NMhnc56JP6zL7vCnddna2qo5c+Zo3rx5uuGGGzo9bsI6DZhdiIF0WarGxkbV19d3/H39+vWnPKvJ\
Tnavz7y8PK1cuVLSiV9eutpqtGtddmfd5OXl6ZlnnpFlWdqyZYtiY2M7don6SnfmrKys7PhtvLCw\
UF6vVwMHDvTpnGfiD+uyO/xlXVqWpTvuuENpaWm67777ulzGiHVqy6kjveDCCy+0XC6XlZWVZWVl\
ZVl33nmnZVmWVV5ebs2YMaNjuddff90aPXq0lZSUZD3yyCM+n/Oll16yhg4daoWGhlrx8fHWtGnT\
Os25e/duKzMz08rMzLTGjBnjt3Nalr3rs7a21rrmmmus5ORk65prrrEOHjzYaUY712VX62b58uXW\
8uXLLcuyLK/Xa919991WUlKSlZGRcdqzUu2c88knn7TGjBljZWZmWpMmTbI2bdrk8xnnzp1rXXDB\
BZbT6bSGDh1q/e53v/PLdXmmOf1hXVqWZb333nuWJGvs2LEdz5mvv/66X67T0+FKHAAAIwXMLkQA\
QN9CwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEI\
GADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAY\
iYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAA\
gJEIGADASAQMAGCk/w/+LCsLgbO7/gAAAABJRU5ErkJggg==\
"
frames[35] = "data:image/png;base64,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\
sC4lqbi4WFdddZWSk5OVkpKiJ554os0y/rJOT8sKEH/961+tpqYmy7Is6/7777fuv//+Nss0Nzdb\
w4YNs3bt2mU1NDRYaWlp1o4dO3w6Z2FhobVz507riiuusD766KNTLjd48GCrqqrKh5OdrCNz2r0+\
77vvPuuRRx6xLMuyHnnkkXb/zy3LnnXZkXXz5ptvWtdee63l9XqtjRs3WmPHjvXpjB2d891337Wm\
TZvm89m+7b333rM+/vhjKyUlpd3H/WFdWtaZ5/SHdWlZllVWVmZ9/PHHlmVZ1pEjR6zhw4f75ffn\
mQTMFpgpl6VKTk5WYmKiT7/muejInHavz7y8PM2dO1eSNHfuXL322ms++9pn0pF1k5eXpzlz5sjh\
cGj8+PE6dOiQ9u/f73dz+oOJEyeqd+/ep3zcH9aldOY5/UV8fLxGjRolSerRo4eSk5PbXOHIX9bp\
6QRMwL4tEC5L5XA4NHnyZI0ePbr16iL+xu71WVFRofj4eEknfiArKyvbXc6OddmRdWP3+jubGTZu\
3Kj09HRNnTpVO3bs8OWIHeIP67Kj/G1d7tmzR1u3btW4ceNOut+EdWrrafRny5eXperqOc9kw4YN\
crlcqqysVGZmppKSkjRx4kS/mtMX6/N0M3aUL9bld3Vk3fjq+/F0OjLDqFGjtHfvXkVHR2vVqlWa\
MWOGioqKfDVih/jDuuwIf1uXdXV1mjlzph5//HHFxMSc9JgJ69SogPnyslRdOWdH/H2uuLg4XXfd\
dcrPz+/0J93zndMX6/N0M/bv31/79+9XfHy89u/fr7i4uHaX88W6/K6OrBtffT+eTkdm+PYTW1ZW\
lu6++25VV1erb9++PpvzTPxhXXaEP63LpqYmzZw5U7Nnz9b111/f5nET1mnA7EIMpMtS1dfXq7a2\
tvXva9euPeVZTXaye31mZ2dr+fLlkk788tLeVqNd67Ij6yY7O1vPPfecLMvSpk2bFBsb27pL1Fc6\
Mmd5eXnrb+P5+fnyer3q06ePT+c8E39Ylx3hL+vSsizdfvvtSk5O1r333tvuMkasU1tOHekCF154\
oeV2u6309HQrPT3duvPOOy3LsqzS0lJr6tSprcu9+eab1vDhw61hw4ZZDz/8sM/nfOWVV6wBAwZY\
oaGhVlxcnDV58uQ2c+7atctKS0uz0tLSrBEjRvjtnJZl7/qsrq62rr76aishIcG6+uqrrQMHDrSZ\
0c512d66Wbp0qbV06VLLsizL6/Vad999tzVs2DArNTX1tGel2jnnk08+aY0YMcJKS0uzxo0bZ23Y\
sMHnM86aNcu64IILLKfTaQ0YMMB65pln/HJdnmlOf1iXlmVZH3zwgSXJGjlyZOtz5ptvvumX6/R0\
uBIHAMBIAbMLEQDQvRAwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICR\
CBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMA\
GImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEw\
AICRCBgAwEgEDABgJAIGADASAQMAGOn/A0NEL5LNrvkQAAAAAElFTkSuQmCC\
"
frames[36] = "data:image/png;base64,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\
"
frames[37] = "data:image/png;base64,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\
"
frames[38] = "data:image/png;base64,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\
"
frames[39] = "data:image/png;base64,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\
"
frames[40] = "data:image/png;base64,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\
pKQoNTVVTzzxRJcxvjKnZ2T5ib/85S9WW1ubZVmW9cADD1gPPPBAlzHt7e1WQkKCtW/fPqulpcVK\
T0+39uzZ49WcRUVF1t69e62rrrrK+uCDD047btSoUVZNTY0Xk52qJzntns/777/fevTRRy3LsqxH\
H3202/9zy7JnLnsyN6+//rp1/fXXWx6Px9q6das1adIkr2bsac63337bmjVrltezfd0777xjffjh\
h1Zqamq3j/vCXFrW2XP6wlxalmWVl5dbH374oWVZlnXs2DFrzJgxPvn7eTZ+swdmymWpUlJSlJSU\
5NXnPBc9yWn3fObn52vhwoWSpIULF+qVV17x2nOfTU/mJj8/XwsWLJDD4dCUKVNUX1+viooKn8vp\
C6ZOnaqYmJjTPu4LcymdPaeviIuL0/jx4yVJAwYMUEpKSpcrHPnKnJ6J3xTY1/nDZakcDoemT5+u\
CRMmdF5dxNfYPZ9VVVWKi4uTdPIPsrq6uttxdsxlT+bG7vn7Jhm2bt2qjIwMzZw5U3v27PFmxB7x\
hbnsKV+bywMHDmjnzp2aPHnyKfebMKe2nkb/TXnzslR9nfNstmzZovj4eFVXVysrK0vJycmaOnWq\
T+X0xnyeKWNPeWMu/15P5sZbv49n0pMM48eP18GDBxUZGal169Zpzpw5Ki4u9lbEHvGFuewJX5vL\
xsZGzZ07V48//riioqJOecyEOTWqwLx5Waq+zNkTf8sVGxurG264QQUFBb2+0T3fnN6YzzNlHDZs\
mCoqKhQXF6eKigrFxsZ2O84bc/n3ejI33vp9PJOeZPj6hi07O1v33HOPamtrNWTIEK/lPBtfmMue\
8KW5bGtr09y5czV//nzdeOONXR43YU79ZgnRny5L1dTUpIaGhs6vN27ceNqzmuxk93zm5ORo9erV\
kk6+eOlur9GuuezJ3OTk5OiZZ56RZVnatm2boqOjO5dEvaUnOSsrKztfjRcUFMjj8Wjw4MFezXk2\
vjCXPeErc2lZlu68806lpKTovvvu63aMEXNqy6kjfeCiiy6yXC6XlZGRYWVkZFh33XWXZVmWVVZW\
Zs2cObNz3Ouvv26NGTPGSkhIsB555BGv53zppZes4cOHW8HBwVZsbKw1ffr0Ljn37dtnpaenW+np\
6dbYsWN9Nqdl2TuftbW11rXXXmslJiZa1157rXX48OEuGe2cy+7mZuXKldbKlSsty7Isj8dj3XPP\
PVZCQoKVlpZ2xrNS7cz55JNPWmPHjrXS09OtyZMnW1u2bPF6xnnz5lkXXHCB5XQ6reHDh1u/+93v\
fHIuz5bTF+bSsizrvffesyRZ48aN69xmvv766z45p2fClTgAAEbymyVEAED/QoEBAIxEgQEAjESB\
AQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEA\
jESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxE\
gQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEB\
AIz0/wHH+0gx3gawQwAAAABJRU5ErkJggg==\
"
frames[41] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3xU9Z3/8fckkyshgQDBDMMtBpOQ\
kEQYLirijYCE3YDiBaUFi23ES+n+3OrPbbu71ZWKj7a7WnFx024p9qdicdVYBQpeUItADKACEY3I\
JRdyARLIhVzn/P6gZsUEiBDmzHfyev4jM3OS+Xgg88q5zBmHZVmWAAAwTJDdAwAAcC4IGADASAQM\
AGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxE\
wAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADA\
SAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYAB\
AIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARrI9YCUlJbrmmmuU\
kpKi1NRUPfnkk52WsSxLixcvVmJiotLT07V9+3YbJgUA+BOn7QM4nfr1r3+tsWPHqq6uTuPGjVNW\
VpZGjx7dsczatWtVXFys4uJibd26VXfffbe2bt1q49QAALvZvgUWHx+vsWPHSpL69u2rlJQUlZWV\
nbJMfn6+5s+fL4fDoUmTJqm2tlaHDh2yY1wAgJ+wPWBft3//fu3YsUMTJ0485f6ysjINHTq047bb\
7e4UOQBA72L7LsSv1NfXa86cOXriiScUHR19ymOWZXVa3uFwdLovLy9PeXl5kqQ9e/YoOTn5wgwL\
AAFq//79Onz4sN1jdItfBKy1tVVz5szRvHnzdOONN3Z63O12q6SkpON2aWmpXC5Xp+Vyc3OVm5sr\
SfJ4PCosLLxwQwNAAPJ4PHaP0G2270K0LEt33nmnUlJSdP/993e5TE5Ojp599llZlqUtW7YoJiZG\
8fHxPp4UAOBPbN8C27Rpk/74xz9qzJgxyszMlCT94he/0MGDByVJixYtUnZ2ttasWaPExERFRkZq\
xYoVdo4MAPADtgds8uTJXR7j+jqHw6Gnn37aRxMBAExg+y5EAADOBQEDABiJgAEAjETAAABGImAA\
ACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQC\
BgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABG\
ImAAACMRMACAkQgYAMBIBAwAYCTbA7Zw4ULFxcUpLS2ty8c3btyomJgYZWZmKjMzU4888oiPJwQA\
+COn3QPccccduu+++zR//vzTLnPllVfq9ddf9+FUAAB/Z/sW2JQpUxQbG2v3GAAAw9gesO7YvHmz\
MjIyNGPGDO3evdvucQAAfsD2XYhnM3bsWB04cEBRUVFas2aNZs+ereLi4i6XzcvLU15eniSpurra\
l2MCAHzM77fAoqOjFRUVJUnKzs5Wa2urDh8+3OWyubm5KiwsVGFhoQYNGuTLMQEAPub3AauoqJBl\
WZKkgoICeb1eDRgwwOapAAB2s30X4m233aaNGzfq8OHDcrvdevjhh9Xa2ipJWrRokV566SUtX75c\
TqdTERERWrVqlRwOh81TAwDs5rC+2rwJMB6PR4WFhXaPAQBGMem10+93IQIA0BUCBgAwEgEDABiJ\
gAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACA\
kQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgED\
ABiJgAEAjETAAABGImAAACMRMACAkWwP2MKFCxUXF6e0tLQuH7csS4sXL1ZiYqLS09O1fft2H08I\
APBHtgfsjjvu0Lp16077+Nq1a1VcXKzi4mLl5eXp7rvv9uF0AAB/ZXvApkyZotjY2NM+np+fr/nz\
58vhcGjSpEmqra3VoUOHfDghAMAf2R6wsykrK9PQoUM7brvdbpWVldk4EYBe67nnpBEjpKCgk/99\
7rmzfklbu1ftXkuSdKSuWdv2HdGWLw7rr59VaeOnlXpzV4UamtpOPl7frOKK4yqvOaG6E60dX4eu\
Oe0e4Gwsq/NfoMPh6HLZvLw85eXlSZKqq6sv6FwAepnnnpNyc6XGxpO3DxyQcnNlSWqfe5ucwUH6\
tOyYXiks0ZH6FlXXNelIXbNqGlr0ux9M0ughMfqguFpL8nd3/tb3XK6Lw/tqw85DemLdZ6c81jfc\
qZWLLperf4Q+OVijfdUNcsdGamhspAb2DVNQUNevh72B3wfM7XarpKSk43ZpaalcLleXy+bm5io3\
N1eS5PF4fDIfgF7ipz/933h9pbFRlffdrz1jp+rqlME60dquv35erYF9wzQwKkzJ8dEa2DdM/SJD\
JUmXjRqkp+8YL2ewQ84gh0KCg+QMDtKQ/hGSpCuT4jQ4JkINzW2qO9Gq+uY2HWts0cC+YZKkt3dX\
atWWAx1PHxEarGRXtJ74zjiFhQSrpc2rUKff71jrMX4fsJycHC1btkxz587V1q1bFRMTo/j4eLvH\
AtALeL2W9lbVyxns0MiDB7tcZvCxatXGhEuSxo6I1ZoHrjnt9xvYN6wjRl0ZEhupIbGRp338vmmX\
6JZJw1R69IRKjzbqy6p6VR1vUlhIsCTpX176WHvKjyvV3U8Zw/rp8ksGyX2G72c62wN22223aePG\
jTp8+LDcbrcefvhhtba2SpIWLVqk7OxsrVmzRomJiYqMjNSKFStsnhhAIDt+olXv7anSps+rtX3/\
UR1rbNXfXTpEPxs27ORuw29wDBumZFeMT2ZzBgfJ1T9Srv6RmnDxgE6PT06KkzM4SLtKa/XW7gr9\
+9o9uio5To/fdqmkk0EOpF2ODqurg0wBwOPxqLCw0O4xABjg67vebv7N+yo50qi46HB5EmI1bmSs\
PCNjNfj1l089BiZJkZFSXp40b55Nk59e6dFGbfq8WlHhTs3MHKKWNq/mPPmexrj76erRgzUlKU7h\
ocGdvs6k107bt8AAwA4NTW16u6hCb+2u0N7Ker3yf6bIGRykH01PUv8+oRo9JObUE8a+itRPfyod\
PCgNGyYtWeKX8ZIkd2ykbp00vON2Y3ObLkscqA+KD+vtokpFhgXrutEXad4VIzRiUJSNk547Agag\
Vzl4uEHPfbBf63ce0omWdg3pH6HrM1xqbvPKGRykyUlxp//iefP8Nlhn069PqH4yK01er6UdB2q0\
9uNyvbW7QrM9bklSeU2jcaftEzAAAe9ES5uaW73q1ydU1XVNWvdJuaalxWuWx63Ub25pBbigIIfG\
jTy5a/TH2SkKCzm563Tl+/v0QbFZbz/iGBiAgFV2tFEvbD6gtR+Xa2amS/dnp8iyLNU3talvRIjd\
4/mVqmNNKjnaqLtunmbMaydbYAACzt7KOj371316c1eFghzSdakXadqYk2+/cTgcxKsLcTHhivvb\
2wFMQcAABJznP9iv9/ZU6dZJw3XbZcM1KNqsF2Z0DwEDYLzCL4/oD+99qXuzLlHKkBjdPfUSLZ6e\
pJi/XQEDgYmAATDWZ4eO6+kNn6tg7xEN7Bumw/XNknTGq10gcBAwAEZ6/M+79UphqaIjQvSj6Um6\
cfzQjksqoXcgYACMcfxEq/qGO+VwOBTfL0LzJ4/UdyeP5KSMXoqAAfB7rW1evbjlgP7w/pf659lp\
uiplsOZfmWD3WLAZAQPg17btO6pfvlGk/dUNuuKSQRo2sI/dI8FPEDAAfuuJdXu0avMBxfeL0K9u\
v/TMl3lCr0PAAPiVtnavpJMfHZLqjtHCqxI0/8oEhXOCBr6BgAHwG7tLa/X4n4s0Pd2leVeMUFYa\
H16L0yNgAGzX3Nqu377zhZ7/YL8G9A2TOzbC7pFgAAIGwFZ7yo/r5y9/ov3VDcoZO0SLpycpKpzT\
4nF2BAyArZrb2tXU2q4nvjtOkxIH2j0ODELAAPjc7tJafXSgVvOuGKGMYf21+odXKsQZZPdYMAwB\
A+Azbe1e/f7dvfrDe18qLjpcsz1u9QlzEi+cEwIGwCfKa07oX//nE+0sqVV2pkv3z0hWnzBegnDu\
+NcD4IJramnX93+3Rc2tXv3bTenKGsPp8Th/BAzABdPS5lWoM0jhocF6YOZoJcX3lat/pN1jIUCw\
4xnABbGn/Jjm/ecmrd95SJJ0zejBxAs9ii0wAD3Ksiy9VHBQT/7lM8X2CdMgPlwSFwgBA9BjGpvb\
tPTPu7V+Z4WuuGSQ/uWGNMVEhto9FgIUAQPQYwr3HdWbuyq06LpRmj95pIKCHHaPhABGwACct0O1\
JxTfL0JTkuO06r7JfGYXfIKTOACcs7Z2r55Yt0e3PvVXfVFZJ0nECz7DFhiAc3Kkrlk/+dNH+vhg\
rW6eOEzDBxAu+BYBA/Ct7Sk/rgdf2KHjJ1r1yE3pmsYbk2EDAgbgW3unqFJBDinvzgm6JD7a7nHQ\
S/nFMbB169YpKSlJiYmJWrp0aafHN27cqJiYGGVmZiozM1OPPPKIDVMCvZvXa6m85oQkKffaRK1c\
dBnxgq1s3wJrb2/Xvffeqw0bNsjtdmv8+PHKycnR6NGjT1nuyiuv1Ouvv27TlEDv1tDUpn99+RPt\
KT+u5++9QtERIby/C7azfQusoKBAiYmJSkhIUGhoqObOnav8/Hy7xwLwN6VHG/WD/96qzcWHdceV\
CeobbvvvvYAkPwhYWVmZhg4d2nHb7XarrKys03KbN29WRkaGZsyYod27d/tyRKDX+uhAjRbmbdHh\
umY9+d1xumniMDkcvDkZ/sH2X6Usy+p03zd/QMaOHasDBw4oKipKa9as0ezZs1VcXNzp6/Ly8pSX\
lydJqq6uvjADA73ICx/sV/8+ofr1vLFyx3IhXvgX27fA3G63SkpKOm6XlpbK5XKdskx0dLSioqIk\
SdnZ2WptbdXhw4c7fa/c3FwVFhaqsLBQgwYNurCDAwHKsiw1NLVJkv7lhjHKu3MC8YJfsj1g48eP\
V3Fxsfbt26eWlhatWrVKOTk5pyxTUVHRsaVWUFAgr9erAQMG2DEuENBa27z6t1d26b6VH6q5tV19\
wp2crAG/ZfsuRKfTqWXLlmn69Olqb2/XwoULlZqaqmeeeUaStGjRIr300ktavny5nE6nIiIitGrV\
KvbDAz3sWGOL/unFj7R9f41yr0lUqNP232+BM3JYXR2ECgAej0eFhYV2jwEYofRoo/7xue0qr2nU\
T2en6fp019m/CAHJpNdO27fAANjLsiw98spO1TS06KkF45U5vL/dIwHdQsCAXs7hcOjnN45RW7vF\
leRhFHZyA73U6zvK9Oiru+T1WnL1jyReMA4BA3oZy7K04t29evTVXao81qSWNq/dIwHnhF2IQC/S\
7rX072s+1f98WKLp6fH62aw0hXC2IQxFwIBeZEn+Lq35qFzfuWKE7pl6iYKCeDsKzEXAgF4kO8Ol\
pPho3TppuN2jAOeNfQdAgDtS36y1H5dLkjwJA4gXAgZbYEAAK69p1OJnC3WkvkUTEgZoQN8wu0cC\
egwBAwLU3so6/eiP29TS1q6n5nuIFwIOAQMC0M6SWt3//7YpPCRYzyycqIS4KLtHAnocAQMC0Gfl\
xxUTGarfzPfI1T/C7nGAC4KAAQHkWGOLYiJDddPEYZp5qUsRofyII3BxFiIQIF7bVqo5T76v4orj\
kkS8EPAIGBAAVm3er1+8tltp7n4aGss1DdE78CsaYDDLsvT7d/fqt+/s1TWjB+uROelcGgq9BgED\
DPbmrgr99p29mpnp0j/lpMoZTLzQexAwwGDXjB6sn+Sk6u8uHcJ1DdHr8OsaYJi2dq+eWv+ZjtQ1\
yxkcpJxxbuKFXomAAQZpafPqJ3/6WM9t2q9Nn1fbPQ5gK3YhAoZoamnXQy/u0JYvjujH2SnKGee2\
eyTAVgQMMEBDc5seeH67dhyo0U9npervxxIvgIABBmht86quqU0Pz0nXtDHxdo8D+AUCBvixY40t\
igx1ql+fUK3IncRp8sDX8NMA+Kkjdc26Z8WHejR/lyQRL+Ab+IkA/FDVsSbdvaJA5bUn9PeXDrF7\
HMAvsQsR8DPlNSd038oPVdvYoie+O04Zw/rbPRLglwgY4Ee8XksPvLBddSda9dR8j1Ld/eweCfBb\
BAzwI0FBDv3T36cqxBmkpPhou8cB/BrHwAA/sLeyTn/ackCSlDa0H/ECuoEtMMBmnx06rsXPFio0\
OEgzMlzqGxFi90iAEdgCA2xUVHZM9/3hQ0WEBGv5wgnEC/gW/CJg69atU1JSkhITE7V06dJOj1uW\
pcWLFysxMVHp6enavn27DVMCPeuTgzX64cpC9Y0I0fKFE+SOjbR7JMAotgesvb1d9957r9auXaui\
oiK98MILKioqOmWZtWvXqri4WMXFxcrLy9Pdd99t07RAz9lX3aABUaF65nsTFN8vwu5xAOPYHrCC\
ggIlJiYqISFBoaGhmjt3rvLz809ZJj8/X/Pnz5fD4dCkSZNUW1urQ4cO2TQxcH4amtokSbPGufXH\
uy9XXEy4zRMBZrI9YGVlZRo6dGjHbbfbrbKysm+9DGCCD4qrdcMT7+mTgzWSpLCQYJsnAsxle8As\
y+p0n8Ph+NbLSFJeXp48Ho88Ho+qq/mwP/iX9/ZU6f++sEMX9QvX8IF97B4HMJ7tAXO73SopKem4\
XVpaKpfL9a2XkaTc3FwVFhaqsLBQgwYNunBDA9/S20UV+qcXP9Koi/pq2YLxiokMtXskwHi2B2z8\
+PEqLi7Wvn371NLSolWrViknJ+eUZXJycvTss8/Ksixt2bJFMTExio/nM5Fghp0ltfrn1Z9o9JAY\
/Wa+R9GcKg/0CNvfyOx0OrVs2TJNnz5d7e3tWrhwoVJTU/XMM89IkhYtWqTs7GytWbNGiYmJioyM\
1IoVK2yeGui+0UNidNe1iZozYZj6hNn+IwcEDIfV1QGmAODxeFRYWGj3GOjF1n5crrEj+mtwDKfI\
wxwmvXbavgsRCER/2nJAD7+8Uyvf32f3KEDAYn8G0MOe27RPT63/XFclx+kfrk+2exwgYBEwoAet\
eHev/uvtL3Rd6kV6eM4YOYPZyQFcKAQM6CFNre16p6hS16fH62ez04gXcIERMOA8WZaltnZL4SHB\
evqO8YoMcyo4qPMb7QH0LH5FBM6D12vp12s+1UMvfqS2dq/6RoQQL8BHCBhwjtq9lh57bbdeKijR\
iIF9CBfgY+xCBM5BW7tXj7yyU+t3VujOqy7W96+5uMvrcwK4cAgYcA4ef71I63dW6J6pozT/ygS7\
xwF6JQIGnIM544cpKT5aN00YZvcoQK/FMTCgmxqb27Tmo5OfQ5fsIl6A3dgCA7qh7kSr7n9uu3aX\
1irZFaOEuCi7RwJ6PQIGnMXR+mb9wx+36cvqei25JZN4AX6CgAFnUHWsST98tlAVx07oV7eP1aTE\
gXaPBOBvCBhwBrtKa3W0vllPftejzOH97R4HwNcQMKALTa3tCg8J1rWpF2ncyFjFRIbaPRKAb+As\
ROAbisqO6eYn39eHXx6RJOIF+CkCBnzN9v1Hdd/KD+UMDpKrH5+kDPgzdiECf/Penir9bPXHcvWP\
0G/mexQXHW73SADOgIABknaX1uqhVTuUMiRG/z5vLLsNAQMQMEDS6CEx+uG0JM0a51ZkGD8WgAk4\
BoZey7Is/eG9L1V6tFEOh0O3XT6CeAEGIWDoldq9lpb+uUjPvFWstR+X2z0OgHPAr5vodZpb2/Xw\
yzv1dlGl7piSoO9ffbHdIwE4BwQMvUp9U6sefGGHtu+v0Y+mJ+m2y0fYPRKAc0TA0KsEBznU5rX0\
8Jwxmp7usnscAOeBgKFXOHC4QQP7hqlPmFPPfG+CgoIcdo8E4DxxEgcC3kcHavSD323RL18vkiTi\
BQQIAoaAtvHTSv3o2UL1iwxV7rWJdo8DoAexCxEB66WCg/r1mk+VOiRGv7p9rPr14eoaQCAhYAhI\
9U2t+sN7X+ryUYO05OYMhYcG2z0SgB5GwBBQmlrbFRocpKjwEOXdOUFx0eFyBrOnHAhEtv5kHz16\
VFlZWRo1apSysrJUU1PT5XIjRozQmDFjlJmZKY/H4+MpYYojdc26Z0WBnt7wuSTJ1T+SeAEBzNaf\
7qVLl+q6665TcXGxrrvuOi1duvS0y77zzjv66KOPVFhY6MMJYYovq+p152+36MuqBmUM72/3OAB8\
wNaA5efna8GCBZKkBQsW6NVXX7VzHBiqYO8R/eB3W9XmtfTMwvGakhxn90gAfMDWgFVWVio+Pl6S\
FB8fr6qqqi6XczgcmjZtmsaNG6e8vDxfjgg/d6yxRQ+t2qGL+oXrv38wUcmuGLtHAuAjF/wkjqlT\
p6qioqLT/UuWLOn299i0aZNcLpeqqqqUlZWl5ORkTZkypdNyeXl5HYGrrq4+96Hh97xeS0FBDsVE\
huqXt1+q5PgY9QnnnCSgN3FYlmXZ9eRJSUnauHGj4uPjdejQIV199dX67LPPzvg1P//5zxUVFaUf\
//jHZ1zO4/FwvCxAHWts0U9Xf6yZmUM0I4PrGQI9yaTXTlt3Iebk5GjlypWSpJUrV2rWrFmdlmlo\
aFBdXV3Hn9evX6+0tDSfzgn/8WVVvRbmbdHHB7o+YxVA72FrwB566CFt2LBBo0aN0oYNG/TQQw9J\
ksrLy5WdnS3p5HGyyZMnKyMjQxMmTNDMmTN1/fXX2zk2bPL+Z1X6/m+3qKm1Xcu/N4GtL6CXs3UX\
4oVk0mYwzm5fVb1u/89NSo6P1uO3Xaq46HC7RwICkkmvnRz1hl/76mSNkXFReuSmdF2ZFKfwEC4L\
BYCr0cOP7auq14L/2qyismOSpKy0eOIFoANbYPBL63ce0mOv7VZEaLBa2rx2jwPADxEw+JXWNq9+\
s/4zrd56UBnD+unRmzM0iONdALpAwOBXXtteqtVbD2ruZcN1X9YlXIwXwGkRMPiF+qZWRYWHaLZn\
qIYN7KPxCQPsHgmAn+PXW9iqtc2r3/zlM9361F91pL5ZwUEO4gWgW9gCg20OHm7QP7/0iT47dFw3\
jh+qPmH8cwTQfbxiwOcsy9IbH5Xr12s+VUhwkB6fm6mrUgbbPRYAwxAw2OK9PVVKcUXr5zemKy6G\
swwBfHsEDD6zbd9RDYoO07ABffSvN45ReEiwgoMcdo8FwFCcxIEL7kRLm371xqe69w8f6r837pUk\
9QlzEi8A54UtMFxQ2/cf1ZJXd6ms5oRumThMd08dZfdIAAIEAcMF83ZRhX7y4sdyx0Zo+ffG69IR\
sXaPBCCAEDD0uKaWdoWHBuuyxIH6/tUXa94VIxQRyj81AD2LY2DoMTUNLXr01V1a8F+b1dTarohQ\
p75/TSLxAnBB8MqC89butfTatlItf+tzNTS367bLhksB+TGpAPwJAcN5OVrfrB8/v11FZcc1dkR/\
PTBztEbGRdk9FoBegIDhnHz1SckxkaEaEBWmn88Zo+lj4uVwcGo8AN/gGBi+ldY2r17cckC3Pb1J\
NQ0tCg5y6Je3j9X16S7iBcCn2AJDt3i9lt7aXaHlbxWrvOaEPCNjVd/Uqv59Qu0eDUAvRcBwVk0t\
7bp7RYE+LT+uxMFR+o/vjNWkxIFscQGwFQHDaVUdb1JcdLjCQ4OVNrSfbp44TNPTXVwCCoBfIGDo\
5OODNVr53pfauveInrvnco0YFKV/zE6xeywAOAUBg6STn9G1de8RrXzvS+04UKN+kSH6/tUXa0BU\
mN2jAUCXCBgkSUcbWvTA89sVGxWm/zMjWbPGuhUeGmz3WABwWgSslzpS16w/7yjTF5V1evTmDA2I\
CtPTd4xXiitGIU7eXQHA/wVswI7WN6u44rhGXRRt9yh+w+u1VLjvqF4tLNG7e6rU7rXkGRnbcfHd\
9GH97R4RALotYANWVdes7y7frMTBUcrOHKLpY+I1oG/vPJ5jWZYcDofWflKuf3tll6IjQnTrpOGa\
Pc6tYQP72D0eAJyTgA3YqMF99eOZKVrzUbl+85fP9PSGz/Wr2y/VZaMG2T2aT1Qda9I7RZV6q6hC\
09LiddPEYbo6ebCC5zh0TcpghYVwfAuA2QI2YMFBDt00YZhumjBM+6vrtfbjQ0ofenIX2UtbD2pT\
cbWuuGSQrrhkkOL7Rdg8bc+wLEt/2nJQb+6u0M6SWknSxYOj1Cf85F9zn3Cnrk932TkiAPQYW4/W\
r169WqmpqQoKClJhYeFpl1u3bp2SkpKUmJiopUuXfuvnGTEoSndPHdXxQu5wSCVHGvSrNz7VDf/x\
nm5/epOeeatYlmXWZ4DUNLTord0Vem7TPkmSw+HQ20UVampt113XJurFH07Wc/dcoRkZRAtA4LF1\
CywtLU0vv/yy7rrrrtMu097ernvvvVcbNmyQ2+3W+PHjlZOTo9GjR5/z886ZMEw3jh+qg0catenz\
an3webWKyo51XBppSf4u9Ql1KtUdo1R3P8X3C/ebyybtLq3VXz45pG37j2pvZb0kKToiRLdMHK4Q\
Z5Ce+O44PkASQK9g6ytdSsrZr+5QUFCgxMREJSQkSJLmzp2r/Pz88wqYdHJrZfjAPho+sI9uv3yE\
vN6TW1+WZelQ7QntLKnVqi0HJEmxUaH6zhUjdfvlI2RZlrbtO6ohsZGKiw7v8csqeb2WahpbdOBw\
g/ZW1umLynrtrazTY7dmalB0uLbvr1H+9lKlD+2vrOvi5RkZq2RXtJzBJzemiReA3sLvX+3Kyso0\
dOjQjttut1tbt27t8ecJ+luIHA6Hli0Yr7Z2r/ZW1WtXSa12lx5T5N/e1FvT0KL7Vp7c3RkS7JCr\
f6Ti+4XrxvHDNCU5TscaW/RqYan6hDvVN9ypUGew2rxepQ6Jkat/pA7XNWvjp5Vqb7dU19SqI/XN\
OlzXrIVXXayUITF6u6hSP7Kz5McAAAthSURBVFv9ccdc0REhShwcpfrmNg2SdIPHrVsnDVco79UC\
0Mtd8IBNnTpVFRUVne5fsmSJZs2addav7+q41Ol25+Xl5SkvL0+SVF1d/S0nPZUzOEhJ8dFKio/W\
nAn/e3+fMKeevsOj0qMnVHq0UaVHG1V57ISaW9slSZXHmrT8reJO3+9ns9Pk6h+psppG/eqNTzvu\
798nVAOiQtXQ3CZJGj0kWv+YnayhA/ro4rgoDewbdsr/b1R4yHn9fwFAoLjgAXvzzTfP6+vdbrdK\
Sko6bpeWlsrl6vqkhNzcXOXm5kqSPB7PeT3v6YSFBGvcyAEaN7Lrxy+Jj9a7P5uq+uY21Te1qaWt\
Xc6gIA2KPvketNGuGK154GoFBzkUGersdNULV/9I3Txx+AWZHQACid/vQhw/fryKi4u1b98+DRky\
RKtWrdLzzz9v91hnFBYSrLCQ4C4vhBviDFIsF8gFgPNm64GUV155RW63W5s3b9bMmTM1ffp0SVJ5\
ebmys7MlSU6nU8uWLdP06dOVkpKiW265RampqXaODQDwAw7LtDc/dZPH4znje8sAAJ2Z9NrJqWwA\
ACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQC\
BgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABG\
ImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGsjVgq1evVmpqqoKCglRYWHja\
5UaMGKExY8YoMzNTHo/HhxMCAPyV084nT0tL08svv6y77rrrrMu+8847GjhwoA+mAgCYwNaApaSk\
2Pn0AACDGXEMzOFwaNq0aRo3bpzy8vLsHgcA4Acu+BbY1KlTVVFR0en+JUuWaNasWd36Hps2bZLL\
5VJVVZWysrKUnJysKVOmdFouLy+vI3DV1dXnNzgAwK9d8IC9+eab5/09XC6XJCkuLk433HCDCgoK\
ugxYbm6ucnNzJYmTPQAgwPn9LsSGhgbV1dV1/Hn9+vVKS0uzeSoAgN1sDdgrr7wit9utzZs3a+bM\
mZo+fbokqby8XNnZ2ZKkyspKTZ48WRkZGZowYYJmzpyp66+/3s6xAQB+wGFZlmX3EBeCx+M543vL\
AACdmfTa6fe7EAEA6AoBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAY\
iYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAA\
gJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkWwP2wAMP\
KDk5Wenp6brhhhtUW1vb5XLr1q1TUlKSEhMTtXTpUh9PCQDwR7YGLCsrS7t27dInn3yiSy65RI89\
9linZdrb23Xvvfdq7dq1Kioq0gsvvKCioiIbpgUA+BNbAzZt2jQ5nU5J0qRJk1RaWtppmYKCAiUm\
JiohIUGhoaGaO3eu8vPzfT0qAMDP+M0xsN///veaMWNGp/vLyso0dOjQjttut1tlZWW+HA0A4Iec\
F/oJpk6dqoqKik73L1myRLNmzer4s9Pp1Lx58zotZ1lWp/scDkeXz5WXl6e8vDxJ0q5du+TxeM5n\
dJ+orq7WoEGD7B7jrJiz55gwo8ScPc2UOffs2WP3CN12wQP25ptvnvHxlStX6vXXX9dbb73VZZjc\
brdKSko6bpeWlsrlcnX5vXJzc5WbmytJ8ng8KiwsPI/JfYM5e5YJc5owo8ScPc2kOU1h6y7EdevW\
6fHHH9drr72myMjILpcZP368iouLtW/fPrW0tGjVqlXKycnx8aQAAH9ja8Duu+8+1dXVKSsrS5mZ\
mVq0aJEkqby8XNnZ2ZIkp9OpZcuWafr06UpJSdEtt9yi1NRUO8cGAPiBC74L8Uy++OKLLu93uVxa\
s2ZNx+3s7OyOoHXXV7sS/R1z9iwT5jRhRok5expz9jyH1dVZEgAA+Dm/OY0eAIBvI2ACZsplqVav\
Xq3U1FQFBQWd8YykESNGaMyYMcrMzLTlrKDuzmnn+jx69KiysrI0atQoZWVlqaampsvl7FqXZ1s3\
lmVp8eLFSkxMVHp6urZv3+6z2b7ubHNu3LhRMTExyszMVGZmph555BGfz7hw4ULFxcUpLS2ty8f9\
ZV2ebU5/WJeSVFJSomuuuUYpKSlKTU3Vk08+2WkZf1mnZ2QFiL/85S9Wa2urZVmW9eCDD1oPPvhg\
p2Xa2tqshIQEa+/evVZzc7OVnp5u7d6926dzFhUVWXv27LGuuuoq68MPPzztcsOHD7eqq6t9ONmp\
ujOn3evzgQcesB577DHLsizrscce6/Lv3LLsWZfdWTdvvPGGdf3111ter9favHmzNWHCBJ/O2N05\
33nnHWvmzJk+n+3r3n33XWvbtm1Wampql4/7w7q0rLPP6Q/r0rIsq7y83Nq2bZtlWZZ1/Phxa9So\
UX757/NsAmYLzJTLUqWkpCgpKcmnz3kuujOn3eszPz9fCxYskCQtWLBAr776qs+e+2y6s27y8/M1\
f/58ORwOTZo0SbW1tTp06JDfzekPpkyZotjY2NM+7g/rUjr7nP4iPj5eY8eOlST17dtXKSkpna5w\
5C/r9EwCJmBfFwiXpXI4HJo2bZrGjRvXcXURf2P3+qysrFR8fLykkz+QVVVVXS5nx7rszrqxe/19\
mxk2b96sjIwMzZgxQ7t37/bliN3iD+uyu/xtXe7fv187duzQxIkTT7nfhHVq62n035YvL0t1oec8\
m02bNsnlcqmqqkpZWVlKTk7WlClT/GpOX6zPM83YXb5Yl9/UnXXjq3+PZ9KdGcaOHasDBw4oKipK\
a9as0ezZs1VcXOyrEbvFH9Zld/jbuqyvr9ecOXP0xBNPKDo6+pTHTFinRgXMl5elupBzdsdXc8XF\
xemGG25QQUFBj7/onu+cvlifZ5px8ODBOnTokOLj43Xo0CHFxcV1uZwv1uU3dWfd+Orf45l0Z4av\
v7BlZ2frnnvu0eHDhzVw4ECfzXk2/rAuu8Of1mVra6vmzJmjefPm6cYbb+z0uAnrNGB2IQbSZaka\
GhpUV1fX8ef169ef9qwmO9m9PnNycrRy5UpJJ3956Wqr0a512Z11k5OTo2effVaWZWnLli2KiYnp\
2CXqK92Zs6KiouO38YKCAnm9Xg0YMMCnc56NP6zL7vCXdWlZlu68806lpKTo/vvv73IZI9apLaeO\
XAAXX3yx5Xa7rYyMDCsjI8O66667LMuyrLKyMmvGjBkdy73xxhvWqFGjrISEBOvRRx/1+Zwvv/yy\
NWTIECs0NNSKi4uzpk2b1mnOvXv3Wunp6VZ6ero1evRov53Tsuxdn4cPH7auvfZaKzEx0br22mut\
I0eOdJrRznXZ1bpZvny5tXz5csuyLMvr9Vr33HOPlZCQYKWlpZ3xrFQ753zqqaes0aNHW+np6dbE\
iROtTZs2+XzGuXPnWhdddJHldDqtIUOGWL/73e/8cl2ebU5/WJeWZVnvv/++JckaM2ZMx2vmG2+8\
4Zfr9Ey4EgcAwEgBswsRANC7EDAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAj\
ETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYA\
MBIBAwAYiYABAIxEwAAARiJgAAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAYiYABAIxEwAAARiJg\
AAAjETAAgJEIGADASAQMAGAkAgYAMBIBAwAY6f8DqLk91deYdQ0AAAAASUVORK5CYII=\
"
frames[42] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3xU5YH/8e8kk3tIuAYzDLcYTEJC\
EmG4qIg3AhJ2A4palBYsthEvpftzqz972d3qSsVX212tuNi0W4r9oVhcNVaBghfUIhAjqEBEI3LJ\
hdwggSRAbnN+f6BZaQJESObMM/m8/4GZeZL58pCc75znnDnjsCzLEgAAhgmyOwAAAOeDAgMAGIkC\
AwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMA\
GIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJ\
AgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQID\
ABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGMn2Aisp\
KdE111yjlJQUpaam6oknnugwxrIsLV68WImJiUpPT9f27dttSAoA8CdO2wM4nfr1r3+tsWPHqr6+\
XuPGjVNWVpZGjx7dPmbdunUqLi5WcXGxtm3bprvuukvbtm2zMTUAwG6274HFx8dr7NixkqQ+ffoo\
JSVFZWVlp43Jz8/X/Pnz5XA4NGnSJNXV1enQoUN2xAUA+AnbC+zr9u/frx07dmjixImn3V9WVqah\
Q4e233a73R1KDgDQu9i+hPiVhoYGzZkzR48//rhiYmJOe8yyrA7jHQ5Hh/vy8vKUl5cnSdqzZ4+S\
k5N7JiwABKj9+/erpqbG7hhd4hcF1tLSojlz5mjevHm68cYbOzzudrtVUlLSfru0tFQul6vDuNzc\
XOXm5kqSPB6PCgsLey40AAQgj8djd4Qus30J0bIs3XHHHUpJSdF9993X6ZicnBw988wzsixLW7du\
VWxsrOLj432cFADgT2zfA9u8ebP+9Kc/acyYMcrMzJQk/eIXv9DBgwclSYsWLVJ2drbWrl2rxMRE\
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\
FxentLS0Th/3l7k8V05/mEtJKikp0TXXXKOUlBSlpqbqiSee6DDGX+b0rKwA8de//tVqaWmxLMuy\
HnjgAeuBBx7oMKa1tdVKSEiw9u7dazU1NVnp6enW7t27fZqzqKjI2rNnj3XVVVdZ77///hnHDR8+\
3KqurvZhstN1Jafd83n//fdbjz76qGVZlvXoo492+n9uWfbMZVfm5rXXXrOuv/56y+v1Wlu2bLEm\
TJjg04xdzfnWW29ZM2fO9Hm2r3v77betDz74wEpNTe30cX+YS8s6d05/mEvLsqzy8nLrgw8+sCzL\
so4dO2aNGjXKL38+zyVg9sBMuSxVSkqKkpKSfPqc56MrOe2ez/z8fC1YsECStGDBAr388ss+e+5z\
6crc5Ofna/78+XI4HJo0aZLq6up06NAhv8vpD6ZMmaL+/fuf8XF/mEvp3Dn9RXx8vMaOHStJ6tOn\
j1JSUjpc4chf5vRsAqbAvi4QLkvlcDg0bdo0jRs3rv3qIv7G7vmsrKxUfHy8pFO/kFVVVZ2Os2Mu\
uzI3ds/fN8mwZcsWZWRkaMaMGdq9e7cvI3aJP8xlV/nbXO7fv187duzQxIkTT7vfhDm19TT6b8qX\
l6Xq6ZznsnnzZrlcLlVVVSkrK0vJycmaMmWKX+X0xXyeLWNX+WIu/15X5sZXP49n05UMY8eO1YED\
BxQdHa21a9dq9uzZKi4u9lXELvGHuewKf5vLhoYGzZkzR48//rhiYmJOe8yEOTWqwHx5WaqezNkV\
X+WKi4vTDTfcoIKCgm7f6F5oTl/M59kyDh48WIcOHVJ8fLwOHTqkuLi4Tsf5Yi7/Xlfmxlc/j2fT\
lQxf37BlZ2fr7rvvVk1NjQYOHOiznOfiD3PZFf40ly0tLZozZ47mzZunG2+8scPjJsxpwCwhBtJl\
qRobG1VfX9/+9w0bNpzxrCY72T2fOTk5WrlypaRTL14622u0ay67Mjc5OTl65plnZFmWtm7dqtjY\
2PYlUV/pSs6Kior2V+MFBQXyer0aMGCAT3Oeiz/MZVf4y1xalqU77rhDKSkpuu+++zodY8Sc2nLq\
SA+4+OKLLbfbbWVkZFgZGRnWnXfeaVmWZZWVlVkzZsxoH/faa69Zo0aNshISEqxHHnnE5zlffPFF\
a8iQIVZoaKgVFxdnTZs2rUPOvXv3Wunp6VZ6ero1evRov81pWfbOZ01NjXXttddaiYmJ1rXXXmsd\
Pny4Q0Y757KzuVm+fLm1fPlyy7Isy+v1WnfffbeVkJBgpaWlnfWsVDtzPvnkk9bo0aOt9PR0a+LE\
idbmzZt9nnHu3LnWRRddZDmdTmvIkCHW73//e7+cy3Pl9Ie5tCzLevfddy1J1pgxY9q3ma+99ppf\
zunZcCUOAICRAmYJEQDQu1BgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNR\
YAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAA\
ACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAj\
UWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAj/X9nvj2qWH1dWAAAAABJRU5ErkJggg==\
"
frames[43] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3xU5YH/8e8kk3tIuAYzDLcYSEJC\
EmG4eMMbAQm7AUUtSgsWbcRL6f5s9Wdvu+pKxVfbXa242LRbil0Vi6vGKlDwgloEYgQViGhELrmS\
AAkkgVzn/P6gzU9MgAjJnHkmn/c/MDNPMl8ekvOd85wzZxyWZVkCAMAwQXYHAADgXFBgAAAjUWAA\
ACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAj\
UWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1Fg\
AAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAA\
I1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAj2V5gJSUl\
uuqqq5SSkqLU1FQ98cQTHcZYlqXFixcrMTFR6enp2rZtmw1JAQD+xGl7AKdTv/71rzVu3DjV1dVp\
/PjxysrK0pgxY9rHrF27VsXFxSouLtbWrVt15513auvWrTamBgDYzfY9sPj4eI0bN06S1KdPH6Wk\
pKisrOyUMfn5+Zo/f74cDocmT56s2tpaVVRU2BEXAOAnbC+wr9q3b5+2b9+uSZMmnXJ/WVmZhg4d\
2n7b7XZ3KDkAQO9i+xLiP9TX12vOnDl6/PHHFRMTc8pjlmV1GO9wODrcl5eXp7y8PEnS7t27lZyc\
3DNhASBA7du3T4cOHbI7Rpf4RYG1tLRozpw5mjdvnq6//voOj7vdbpWUlLTfLi0tlcvl6jAuNzdX\
ubm5kiSPx6PCwsKeCw0AAcjj8dgdoctsX0K0LEu33XabUlJSdO+993Y6JicnR88884wsy9KWLVsU\
Gxur+Ph4HycFAPgT2/fANm3apD/96U8aO3asMjMzJUm/+MUvdODAAUnSokWLlJ2drTVr1igxMVGR\
kZFasWKFnZEBAH7A9gK77LLLOj3G9VUOh0NPPfWUjxIBAExg+xIiAADnggIDABiJAgMAGIkCAwAY\
iQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkC\
AwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMA\
GIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABjJ9gJbuHCh4uLilJaW1unjGzduVGxsrDIzM5WZmamH\
H37YxwkBAP7IaXeAW2+9Vffcc4/mz59/2jGXX365XnvtNR+mAgD4O9v3wKZMmaL+/fvbHQMAYBjb\
C6wrNm/erIyMDM2YMUO7du2yOw4AwA/YvoR4NuPGjdP+/fsVHR2tNWvWaPbs2SouLu50bF5envLy\
8iRJ1dXVvowJAPAxv98Di4mJUXR0tCQpOztbLS0tOnToUKdjc3NzVVhYqMLCQg0aNMiXMQEAPub3\
BVZZWSnLsiRJBQUF8nq9GjBggM2pAAB2s30J8eabb9bGjRt16NAhud1uPfTQQ2ppaZEkLVq0SC++\
+KKWL18up9OpiIgIrVq1Sg6Hw+bUAAC7Oax/7N4EGI/Ho8LCQrtjAIBRTNp2+v0SIgAAnaHAAABG\
osAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLA\
AABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAA\
RqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARrK9wBYuXKi4uDilpaV1+rhlWVq8eLESExOV\
np6ubdu2+TghAMAf2V5gt956q9atW3fax9euXavi4mIVFxcrLy9Pd955pw/TAQD8le0FNmXKFPXv\
3/+0j+fn52v+/PlyOByaPHmyamtrVVFR4cOEAHCenn1WGjFCCgo6+eezz9qdKCA47Q5wNmVlZRo6\
dGj7bbfbrbKyMsXHx9uYCgC6pu1P/6OgRXfIcfz4yTv271fb7d9TccUxVc68Xq1tli5OHKiocKcO\
1zfpSH2TosJC1Cfcqcgwp4KDHPb+A/yY3xeYZVkd7nM4Ov8PzcvLU15eniSpurq6R3MBgHRyG9Xm\
teQMDtKnZUf1cmGJDtc3q7quUYfrmvT7JT9U/D/K6++CG08o9pEHdWtdgiTp2bsu0YXhfbRhR4Ue\
X/fZKWP7hDu1ctElcvWL0CcHarS3ukHu/pEa2j9SA/uEKagXF5zfF5jb7VZJSUn77dLSUrlcrk7H\
5ubmKjc3V5Lk8Xh8kg9A79HmtVRceUw7S49qz8E6fXGwXl9W1evn16XpypTBOtHSpr99Xq2BfcI0\
MDpMyfExuuBY5y+mLzhWrWcWXSxncJCG9IuQJF2eFKfBsRFqaGpV3YkW1Te16ujxZg3sEyZJemvX\
Qa3asr/9e0SEBivZFaPHvz1eYSHBam71KtRp+5Ehn/H7AsvJydGyZcs0d+5cbd26VbGxsSwfAvAJ\
r9fSnqp6OYMdGjkoWgcON+jW326RdHLP6MLBfTQjI14XxIZLksaN6K8191116jcZNkzav//r31qO\
YcM0Oj7mlPuG9I/UkP6Rp81zz7TRumnyMJUeOaHSI8f1ZVW9qo41KiwkWJL0ry9+rN3lx5Tq7quM\
YX11yehBcp/h+5nO9gK7+eabtXHjRh06dEhut1sPPfSQWlpaJEmLFi1Sdna21qxZo8TEREVGRmrF\
ihU2JwYQyI6daNG7u6u06fNqbdt3REePt+ifLhqin81O04iBUXrkxgyluWM1ODb8tIczTrFkiZSb\
K311GTEy8uT935AzOEiufpFy9YvUxAsHdHj8sqQ4OYODtLO0Vm/uqtR/rN2tK5Lj9NjNF0k6WciB\
tOTosDo7yBQAPB6PCgsL7Y4BwABfXXq78TfvqeTwccXFhMuT0F/jR/aXZ2R/DY6NOPcnePZZ6ac/\
lQ4cOLlHtmSJNG9eN6XvXOmR49r0ebWiw52amTlEza1ezXniXY1199WVYwZrSlKcwkODO3ydSdtO\
CgxAr9TQ2Kq3iir15q5K7TlYr5f/zxQ5g4P0t8+q1C8qVGOGxHZtD8sQtQ3N+q83Ptf7xYd0qK5J\
kWHBumbMBZp36QiNGBTdPs6kbaftS4gA4EsHDjXo2ff3af2OCp1obtOQfhG6NsOlplavnMFBuiwp\
zu6IPaJvVKh+MitNXq+l7ftrtPbjcr25q1KzPW5JUnnNcbV5zdqfocAABLwTza1qavGqb1Soqusa\
te6Tck1Li9csj1upAbandTZBQQ6NH3lyafRH2SkKCzm5dLryvb16v9istx+xhAggYJUdOa7nN+/X\
2o/LNTPTpXuzU2RZluobW9UnIsTueH6l6mijSo4c1x03TjNm28keGICAs+dgnZ752169sbNSQQ7p\
mtQLNG3sybffOBwOyqsTcbHhivv72wFMQYEBCDjPvb9P7+6u0rcmD9fNFw/XoBizNszoGgoMgPEK\
vzysP777pe7OGq2UIbG6c+poLZ6epNjIULujoQdRYACM9VnFMT214XMV7DmsgX3CdKi+SZLaL72E\
wEaBATDSY3/ZpZcLSxUTEaIfTE/S9ROGtl9SCb0DBQbAGMdOtKhPuFMOh0PxfSM0/7KR+s5lIzkp\
o5eiwAD4vZZWr17Ysl9/fO9L/Xx2mq5IGaz5lyfYHQs2o8AA+LUP9x7RL18v0r7qBl06epCGDYyy\
OxL8BAUGwG89vm63Vm3er/i+EfrVLRcF7GWecG4oMAB+pbXNK+nkR4ekumO18IoEzb88QeGcoIGv\
ocAA+I1dpbV67C9Fmp7u0rxLRygrjQ+vxelRYABs19TSpt+9/YWee3+fBvQJk7v/eXz2FnoNCgyA\
rXaXH9ODL32ifdUNyhk3RIunJyk6nNPicXYUGABbNbW2qbGlTY9/Z7wmJw60Ow4MQoEB8LldpbX6\
aH+t5l06QhnD+mn19y9XiDPI7lgwDAUGwGda27z6wzt79Md3v1RcTLhme9yKCnNSXjgnFBgAnyiv\
OaF/+99PtKOkVtmZLt07I1lRYWyCcO746QHQ4xqb23T777eoqcWrf78hXVljOT0e548CA9Bjmlu9\
CnUGKTw0WPfNHKOk+D5y9Yu0OxYCBAvPAHrE7vKjmvdfm7R+R4Uk6aoxgykvdCv2wAB0K8uy9GLB\
AT3x18/UPypMg/hwSfQQCgxAtzne1Kqlf9ml9TsqdenoQfrX69IUGxlqdywEKAoMQLcp3HtEb+ys\
1KJrRmn+ZSMVFOSwOxICGAUG4LxV1J5QfN8ITUmO06p7LuMzu+ATnMQB4Jy1tnn1+Lrd+taTf9MX\
B+skifKCz7AHBuCcHK5r0k/+/JE+PlCrGycN0/ABFBd8iwID8I3tLj+m+5/frmMnWvTwDemaxhuT\
YQMKDMA39nbRQQU5pLzbJmp0fIzdcdBL+cUxsHXr1ikpKUmJiYlaunRph8c3btyo2NhYZWZmKjMz\
Uw8//LANKYHezeu1VF5zQpKUe3WiVi66mPKCrWzfA2tra9Pdd9+tDRs2yO12a8KECcrJydGYMWNO\
GXf55Zfrtddesykl0Ls1NLbq3176RLvLj+m5uy9VTEQI7++C7WzfAysoKFBiYqISEhIUGhqquXPn\
Kj8/3+5YAP6u9Mhxfe+/t2pz8SHdenmC+oTb/roXkOQHBVZWVqahQ4e233a73SorK+swbvPmzcrI\
yNCMGTO0a9cuX0YEeq2P9tdoYd4WHapr0hPfGa8bJg2Tw8Gbk+EfbH8pZVlWh/u+/gsybtw47d+/\
X9HR0VqzZo1mz56t4uLiDl+Xl5envLw8SVJ1dXXPBAZ6keff36d+UaH69bxxcvfnQrzwL7bvgbnd\
bpWUlLTfLi0tlcvlOmVMTEyMoqOjJUnZ2dlqaWnRoUOHOnyv3NxcFRYWqrCwUIMGDerZ4ECAsixL\
DY2tkqR/vW6s8m6bSHnBL9leYBMmTFBxcbH27t2r5uZmrVq1Sjk5OaeMqaysbN9TKygokNfr1YAB\
A+yICwS0llav/v3lnbpn5QdqamlTVLiTkzXgt2xfQnQ6nVq2bJmmT5+utrY2LVy4UKmpqXr66acl\
SYsWLdKLL76o5cuXy+l0KiIiQqtWrWIdHuhmR48368cvfKRt+2qUe1WiQp22v74FzshhdXYQKgB4\
PB4VFhbaHQMwQumR4/rhs9tUXnNcP52dpmvTXWf/IgQkk7adtu+BAbCXZVl6+OUdqmlo1pMLJihz\
eD+7IwFdQoEBvZzD4dCD149Va5vFleRhFBa5gV7qte1leuSVnfJ6Lbn6RVJeMA4FBvQylmVpxTt7\
9MgrO3XwaKOaW712RwLOCUuIQC/S5rX0H2s+1f9+UKLp6fH62aw0hXC2IQxFgQG9yJL8nVrzUbm+\
fekI3TV1tIKCeDsKzEWBAb1IdoZLSfEx+tbk4XZHAc4bawdAgDtc36S1H5dLkjwJAygvBAz2wIAA\
Vl5zXIufKdTh+mZNTBigAX3C7I4EdBsKDAhQew7W6Qd/+lDNrW16cr6H8kLAocCAALSjpFb3/s+H\
Cg8J1tMLJykhLtruSEC3o8CAAPRZ+THFRobqN/M9cvWLsDsO0CMoMCCAHD3erNjIUN0waZhmXuRS\
RCi/4ghcnIUIBIhXPyzVnCfeU3HlMUmivBDwKDAgAKzavE+/eHWX0tx9NbQ/1zRE78BLNMBglmXp\
D+/s0e/e3qOrxgzWw3PSuTQUeg0KDDDYGzsr9bu392hmpks/zkmVM5jyQu9BgQEGu2rMYP0kJ1X/\
dNEQrmuIXoeXa4BhWtu8enL9Zzpc1yRncJByxrspL/RKFBhgkOZWr37y54/17KZ92vR5td1xAFux\
hAgYorG5TQ+8sF1bvjisH2WnKGe82+5IgK0oMMAADU2tuu+5bdq+v0Y/nZWqfx5HeQEUGGCAllav\
6hpb9dCcdE0bG293HMAvUGCAHzt6vFmRoU71jQrVitzJnCYPfAW/DYCfOlzXpLtWfKBH8ndKEuUF\
fA2/EYAfqjraqDtXFKi89oT++aIhdscB/BJLiICfKa85oXtWfqDa4816/DvjlTGsn92RAL9EgQF+\
xOu1dN/z21R3okVPzvco1d3X7kiA36LAAD8SFOTQj/85VSHOICXFx9gdB/BrHAMD/MCeg3X685b9\
kqS0oX0pL6AL2AMDbPZZxTEtfqZQocFBmpHhUp+IELsjAUZgDwywUVHZUd3zxw8UERKs5QsnUl7A\
N+AXBbZu3TolJSUpMTFRS5cu7fC4ZVlavHixEhMTlZ6erm3bttmQEuhenxyo0fdXFqpPRIiWL5wo\
d/9IuyMBRrG9wNra2nT33Xdr7dq1Kioq0vPPP6+ioqJTxqxdu1bFxcUqLi5WXl6e7rzzTpvSAt1n\
b3WDBkSH6unvTlR83wi74wDGsb3ACgoKlJiYqISEBIWGhmru3LnKz88/ZUx+fr7mz58vh8OhyZMn\
q7a2VhUVFTYlBs5PQ2OrJGnWeLf+dOcliosNtzkRYCbbC6ysrExDhw5tv+12u1VWVvaNxwAmeL+4\
Wtc9/q4+OVAjSQoLCbY5EWAu2wvMsqwO9zkcjm88RpLy8vLk8Xjk8XhUXc2H/cG/vLu7Sv/3+e26\
oG+4hg+MsjsOYDzbC8ztdqukpKT9dmlpqVwu1zceI0m5ubkqLCxUYWGhBg0a1HOhgW/oraJK/fiF\
jzTqgj5atmCCYiND7Y4EGM/2ApswYYKKi4u1d+9eNTc3a9WqVcrJyTllTE5Ojp555hlZlqUtW7Yo\
NjZW8fF8JhLMsKOkVj9f/YnGDInVb+Z7FMOp8kC3sP2NzE6nU8uWLdP06dPV1tamhQsXKjU1VU8/\
/bQkadGiRcrOztaaNWuUmJioyMhIrVixwubUQNeNGRKrO65O1JyJwxQVZvuvHBAwHFZnB5gCgMfj\
UWFhod0x0Iut/bhc40b00+BYTpGHOUzadtq+hAgEoj9v2a+HXtqhle/ttTsKELBYzwC62bOb9urJ\
9Z/riuQ4/cu1yXbHAQIWBQZ0oxXv7NFv3/pC16ReoIfmjJUzmEUOoKdQYEA3aWxp09tFB3Vterx+\
NjuN8gJ6GAUGnCfLstTaZik8JFhP3TpBkWFOBQd1fKM9gO7FS0TgPHi9ln695lM98MJHam3zqk9E\
COUF+AgFBpyjNq+lR1/dpRcLSjRiYBTFBfgYS4jAOWht8+rhl3do/Y5K3XbFhbr9qgs7vT4ngJ5D\
gQHn4LHXirR+R6XumjpK8y9PsDsO0CtRYMA5mDNhmJLiY3TDxGF2RwF6LY6BAV10vKlVaz46+Tl0\
yS7KC7Abe2BAF9SdaNG9z27TrtJaJbtilRAXbXckoNejwICzOFLfpH/504f6srpeS27KpLwAP0GB\
AWdQdbRR33+mUJVHT+hXt4zT5MSBdkcC8HcUGHAGO0trdaS+SU98x6PM4f3sjgPgKygwoBONLW0K\
DwnW1akXaPzI/oqNDLU7EoCv4SxE4GuKyo7qxife0wdfHpYkygvwUxQY8BXb9h3RPSs/kDM4SK6+\
fJIy4M9YQgT+7t3dVfrZ6o/l6heh38z3KC4m3O5IAM6AAgMk7Sqt1QOrtitlSKz+Y944lg0BA1Bg\
gKQxQ2L1/WlJmjXercgwfi0AE3AMDL2WZVn647tfqvTIcTkcDt18yQjKCzAIBYZeqc1raelfivT0\
m8Va+3G53XEAnANebqLXaWpp00Mv7dBbRQd165QE3X7lhXZHAnAOKDD0KvWNLbr/+e3atq9GP5ie\
pJsvGWF3JADniAJDrxIc5FCr19JDc8ZqerrL7jgAzgMFhl5h/6EGDewTpqgwp57+7kQFBTnsjgTg\
PHESBwLeR/tr9L3fb9EvXyuSJMoLCBAUGALaxk8P6gfPFKpvZKhyr060Ow6AbsQSIgLWiwUH9Os1\
nyp1SKx+dcs49Y3i6hpAIKHAEJDqG1v0x3e/1CWjBmnJjRkKDw22OxKAbkaBIaA0trQpNDhI0eEh\
yrttouJiwuUMZqUcCES2/mYfOXJEWVlZGjVqlLKyslRTU9PpuBEjRmjs2LHKzMyUx+PxcUqY4nBd\
k+5aUaCnNnwuSXL1i6S8gABm62/30qVLdc0116i4uFjXXHONli5detqxb7/9tj766CMVFhb6MCFM\
8WVVvW773RZ9WdWgjOH97I4DwAdsLbD8/HwtWLBAkrRgwQK98sordsaBoQr2HNb3fr9VrV5LTy+c\
oCnJcXZHAuADthbYwYMHFR8fL0mKj49XVVVVp+McDoemTZum8ePHKy8vz5cR4eeOHm/WA6u264K+\
4frv701SsivW7kgAfKTHT+KYOnWqKisrO9y/ZMmSLn+PTZs2yeVyqaqqSllZWUpOTtaUKVM6jMvL\
y2svuOrq6nMPDb/n9VoKCnIoNjJUv7zlIiXHxyoqnHOSgN7EYVmWZdeTJyUlaePGjYqPj1dFRYWu\
vPJKffbZZ2f8mgcffFDR0dH60Y9+dMZxHo+H42UB6ujxZv109ceamTlEMzK4niHQnUzadtq6hJiT\
k6OVK1dKklauXKlZs2Z1GNPQ0KC6urr2v69fv15paWk+zQn/8WVVvRbmbdHH+zs/YxVA72FrgT3w\
wAPasGGDRo0apQ0bNuiBBx6QJJWXlys7O1vSyeNkl112mTIyMjRx4kTNnDlT1157rZ2xYZP3PqvS\
7b/bosaWNi3/7kT2voBeztYlxJ5k0m4wzm5vVb1u+a9NSo6P0WM3X6S4mHC7IwEByaRtJ0e94df+\
cbLGyLhoPXxDui5PilN4CJeFAsDV6OHH9lbVa8FvN6uo7KgkKSstnvIC0I49MPil9Tsq9OiruxQR\
GqzmVq/dcQD4IQoMfqWl1avfrP9Mq7ceUMawvnrkxgwN4ngXgE5QYPArr24r1eqtBzT34uG6J2s0\
F+MFcFoUGPxCfWOLosNDNNszVMMGRmlCwgC7IwHwc7y8ha1aWr36zV8/07ee/JsO1zcpOMhBeQHo\
EvbAYJsDhxr08xc/0WcVx3T9hKGKCuPHEUDXscWAz1mWpdc/Ktev13yqkOAgPTY3U1ekDLY7FgDD\
UGCwxbu7q5TiitGD16crLpazDAF8cxQYfObDvUc0KCZMwwZE6d+uH6vwkGAFBznsjgXAUJzEgR53\
orlVv3r9U939xw/03xv3SJKiwpyUF4Dzwh4YetS2fUe05JWdKqs5oZsmDdOdU0fZHQlAgKDA0GPe\
KqrUT174WO7+EVr+3Qm6aER/uyMBCCAUGLpdY3ObwkODdXHiQN1+5YWad+kIRYTyowage3EMDN2m\
pqFZj7yyUwt+u1mNLW2KCHXq9qsSKS8APYItC85bm9fSqx+Wavmbn6uhqU03XzxcCsiPSQXgTygw\
nJcj9U360XPbVFR2TONG9NN9M8doZFy03bEA9AIUGM7JPz4pOTYyVAOiw/TgnLGaPjZeDgenxgPw\
DY6B4RtpafXqhS37dfNTm1TT0KzgIId+ecs4XZvuorwA+BR7YOgSr9fSm7sqtfzNYpXXnJBnZH/V\
N7aoX1So3dEA9FIUGM6qsblNd64o0Kflx5Q4OFr/+e1xmpw4kD0uALaiwHBaVccaFRcTrvDQYKUN\
7asbJw3T9HQXl4AC4BcoMHTw8YEarXz3S23dc1jP3nWJRgyK1g+zU+yOBQCnoMAg6eRndG3dc1gr\
3/1S2/fXqG9kiG6/8kINiA6zOxoAdIoCgyTpSEOz7ntum/pHh+n/zEjWrHFuhYcG2x0LAE6LAuul\
Dtc16S/by/TFwTo9cmOGBkSH6albJyjFFasQJ++uAOD/ArbAjtQ3qbjymEZdEGN3FL/h9Voq3HtE\
rxSW6J3dVWrzWvKM7N9+8d30Yf3sjggAXRawBVZV16TvLN+sxMHRys4coulj4zWgT+88nmNZlhwO\
h9Z+Uq5/f3mnYiJC9K3JwzV7vFvDBkbZHQ8AzknAFtiowX30o5kpWvNRuX7z18/01IbP9atbLtLF\
owbZHc0nqo426u2ig3qzqFLT0uJ1w6RhujJ5sILnOHRVymCFhXB8C4DZArbAgoMcumHiMN0wcZj2\
Vddr7ccVSh96consxa0HtKm4WpeOHqRLRw9SfN8Im9N2D8uy9OctB/TGrkrtKKmVJF04OFpR4Sf/\
m6PCnbo23WVnRADoNrYerV+9erVSU1MVFBSkwsLC045bt26dkpKSlJiYqKVLl37j5xkxKFp3Th3V\
viF3OKSSww361euf6rr/fFe3PLVJT79ZLMsy6zNAahqa9eauSj27aa8kyeFw6K2iSjW2tOmOqxP1\
wvcv07N3XaoZGZQWgMBj6x5YWlqaXnrpJd1xxx2nHdPW1qa7775bGzZskNvt1oQJE5STk6MxY8ac\
8/POmThM108YqgOHj2vT59V6//NqFZUdbb800pL8nYoKdSrVHatUd1/F9w33m8sm7Sqt1V8/qdCH\
+45oz8F6SVJMRIhumjRcIc4gPf6d8XyAJIBewdYtXUrK2a/uUFBQoMTERCUkJEiS5s6dq/z8/PMq\
MOnk3srwgVEaPjBKt1wyQl7vyb0vy7JUUXtCO0pqtWrLfklS/+hQffvSkbrlkhGyLEsf7j2iIf0j\
FRcT3u2XVfJ6LdUcb9b+Qw3ac7BOXxys156DdXr0W5kaFBOubftqlL+tVOlD+ynrmnh5RvZXsitG\
zuCTO9OUF4Dewu+3dmVlZRo6dGj7bbfbra1bt3b78wT9vYgcDoeWLZig1jav9lTVa2dJrXaVHlXk\
39/UW9PQrHtWnlzuDAl2yNUvUvF9w3X9hGGakhyno8eb9UphqaLCneoT7lSoM1itXq9Sh8TK1S9S\
h+qatPHTg2prs1TX2KLD9W7l8C0AAAttSURBVE06VNekhVdcqJQhsXqr6KB+tvrj9lwxESFKHByt\
+qZWDZJ0ncetb00erlDeqwWgl+vxAps6daoqKys73L9kyRLNmjXrrF/f2XGp0y3n5eXlKS8vT5JU\
XV39DZOeyhkcpKT4GCXFx2jOxP9/f1SYU0/d6lHpkRMqPXJcpUeO6+DRE2pqaZMkHTzaqOVvFnf4\
fj+bnSZXv0iV1RzXr17/tP3+flGhGhAdqoamVknSmCEx+mF2soYOiNKFcdEa2CfslH9vdHjIef27\
ACBQ9HiBvfHGG+f19W63WyUlJe23S0tL5XJ1flJCbm6ucnNzJUkej+e8nvd0wkKCNX7kAI0f2fnj\
o+Nj9M7Ppqq+qVX1ja1qbm2TMyhIg2JOvgdtjCtWa+67UsFBDkWGOjtc9cLVL1I3ThreI9kBIJD4\
/RLihAkTVFxcrL1792rIkCFatWqVnnvuObtjnVFYSLDCQoI7vRBuiDNI/blALgCcN1sPpLz88sty\
u93avHmzZs6cqenTp0uSysvLlZ2dLUlyOp1atmyZpk+frpSUFN10001KTU21MzYAwA84LNPe/NRF\
Ho/njO8tAwB0ZNK2k1PZAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAA\
RqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEai\
wAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAAAEaiwAAARqLAAABGosAA\
AEaytcBWr16t1NRUBQUFqbCw8LTjRowYobFjxyozM1Mej8eHCQEA/spp55OnpaXppZde0h133HHW\
sW+//bYGDhzog1QAABPYWmApKSl2Pj0AwGBGHANzOByaNm2axo8fr7y8PLvjAAD8QI/vgU2dOlWV\
lZUd7l+yZIlmzZrVpe+xadMmuVwuVVVVKSsrS8nJyZoyZUqHcXl5ee0FV11dfX7BAQB+rccL7I03\
3jjv7+FyuSRJcXFxuu6661RQUNBpgeXm5io3N1eSONkDAAKc3y8hNjQ0qK6urv3v69evV1pams2p\
AAB2s7XAXn75Zbndbm3evFkzZ87U9OnTJUnl5eXKzs6WJB08eFCXXXaZMjIyNHHiRM2cOVPXXnut\
nbEBAH7AYVmWZXeInuDxeM743jIAQEcmbTv9fgkRAIDOUGAAACNRYAAAI1FgAAAjUWAAACNRYAAA\
I1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNR\
YAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAAACNRYAAAI1FgAAAjUWAA\
ACNRYAAAI1FgAAAjUWAAACPZWmD33XefkpOTlZ6eruuuu061tbWdjlu3bp2SkpKUmJiopUuX+jgl\
AMAf2VpgWVlZ2rlzpz755BONHj1ajz76aIcxbW1tuvvuu7V27VoVFRXp+eefV1FRkQ1pAQD+xNYC\
mzZtmpxOpyRp8uTJKi0t7TCmoKBAiYmJSkhIUGhoqObOnav8/HxfRwUA+Bm/OQb2hz/8QTNmzOhw\
f1lZmYYOHdp+2+12q6yszJfRAAB+yNnTTzB16lRVVlZ2uH/JkiWaNWtW+9+dTqfmzZvXYZxlWR3u\
czgcnT5XXl6e8vLyJEk7d+6Ux+M5n+g+UV1drUGDBtkd46zI2X1MyCiRs7uZknP37t12R+iyHi+w\
N95444yPr1y5Uq+99prefPPNTovJ7XarpKSk/XZpaalcLlen3ys3N1e5ubmSJI/Ho8LCwvNI7hvk\
7F4m5DQho0TO7mZSTlPYuoS4bt06PfbYY3r11VcVGRnZ6ZgJEyaouLhYe/fuVXNzs1atWqWcnBwf\
JwUA+BtbC+yee+5RXV2dsrKylJmZqUWLFkmSysvLlZ2dLUlyOp1atmyZpk+frpSUFN10001KTU21\
MzYAwA/0+BLimXzxxRed3u9yubRmzZr229nZ2e2F1lX/WEr0d+TsXibkNCGjRM7uRs7u57A6O0sC\
AAA/5zen0QMA8E0ETIGZclmq1atXKzU1VUFBQWc8I2nEiBEaO3asMjMzbTkrqKs57ZzPI0eOKCsr\
S6NGjVJWVpZqamo6HWfXXJ5tbizL0uLFi5WYmKj09HRt27bNZ9m+6mw5N27cqNjYWGVmZiozM1MP\
P/ywzzMuXLhQcXFxSktL6/Rxf5nLs+X0h7mUpJKSEl111VVKSUlRamqqnnjiiQ5j/GVOz8gKEH/9\
61+tlpYWy7Is6/7777fuv//+DmNaW1uthIQEa8+ePVZTU5OVnp5u7dq1y6c5i4qKrN27d1tXXHGF\
9cEHH5x23PDhw63q6mofJjtVV3LaPZ/33Xef9eijj1qWZVmPPvpop//nlmXPXHZlbl5//XXr2muv\
tbxer7V582Zr4sSJPs3Y1Zxvv/22NXPmTJ9n+6p33nnH+vDDD63U1NROH/eHubSss+f0h7m0LMsq\
Ly+3PvzwQ8uyLOvYsWPWqFGj/PLn82wCZg/MlMtSpaSkKCkpyafPeS66ktPu+czPz9eCBQskSQsW\
LNArr7zis+c+m67MTX5+vubPny+Hw6HJkyertrZWFRUVfpfTH0yZMkX9+/c/7eP+MJfS2XP6i/j4\
eI0bN06S1KdPH6WkpHS4wpG/zOmZBEyBfVUgXJbK4XBo2rRpGj9+fPvVRfyN3fN58OBBxcfHSzr5\
C1lVVdXpODvmsitzY/f8fZMMmzdvVkZGhmbMmKFdu3b5MmKX+MNcdpW/zeW+ffu0fft2TZo06ZT7\
TZhTW0+j/6Z8eVmqns55Nps2bZLL5VJVVZWysrKUnJysKVOm+FVOX8znmTJ2lS/m8uu6Mje++nk8\
k65kGDdunPbv36/o6GitWbNGs2fPVnFxsa8idok/zGVX+Ntc1tfXa86cOXr88ccVExNzymMmzKlR\
BebLy1L1ZM6u+EeuuLg4XXfddSooKOj2je755vTFfJ4p4+DBg1VRUaH4+HhVVFQoLi6u03G+mMuv\
68rc+Orn8Uy6kuGrG7bs7GzdddddOnTokAYOHOiznGfjD3PZFf40ly0tLZozZ47mzZun66+/vsPj\
JsxpwCwhBtJlqRoaGlRXV9f+9/Xr15/2rCY72T2fOTk5WrlypaSTL14622u0ay67Mjc5OTl65pln\
ZFmWtmzZotjY2PYlUV/pSs7Kysr2V+MFBQXyer0aMGCAT3OejT/MZVf4y1xalqXbbrtNKSkpuvfe\
ezsdY8Sc2nLqSA+48MILLbfbbWVkZFgZGRnWHXfcYVmWZZWVlVkzZsxoH/f6669bo0aNshISEqxH\
HnnE5zlfeukla8iQIVZoaKgVFxdnTZs2rUPOPXv2WOnp6VZ6ero1ZswYv81pWfbO56FDh6yrr77a\
SkxMtK6++mrr8OHDHTLaOZedzc3y5cut5cuXW5ZlWV6v17rrrrushIQEKy0t7YxnpdqZ88knn7TG\
jBljpaenW5MmTbI2bdrk84xz5861LrjgAsvpdFpDhgyxfv/73/vlXJ4tpz/MpWVZ1nvvvWdJssaO\
Hdu+zXz99df9ck7PhCtxAACMFDBLiACA3oUCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkC\
AwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMA\
GIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJ\
AgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAY6f8Bnn1ENb0o+VcAAAAASUVO\
RK5CYII=\
"
frames[44] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU5aH/8e8kk4UkJBAgmGHYYjAJ\
CUmECeCGGwEJ9wYUF5QWLLYRl9L789b+7HZv9UrFV9t7teLFpgvF/lQsXjVWgeKGWgRiABeIaESW\
7AmQQBayzvn9QZsrJkCAJGeeyef9D8zMk8yXh+R85zznzBmHZVmWAAAwTIDdAQAAOBcUGADASBQY\
AMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASLYXWHFx\
sa6++molJSUpOTlZjz/+eKcxlmVp6dKlio+PV2pqqnbs2GFDUgCAL3HaHsDp1K9+9StNnDhRdXV1\
mjRpkjIzMzV+/PiOMevXr1dRUZGKioq0bds23XXXXdq2bZuNqQEAdrN9Dyw2NlYTJ06UJA0cOFBJ\
SUkqLS09aUxeXp4WLlwoh8OhqVOnqra2VuXl5XbEBQD4CNsL7Kv279+vnTt3asqUKSfdX1paqpEj\
R3bcdrvdnUoOANC/2L6E+A/19fWaN2+eHnvsMUVGRp70mGVZncY7HI5O9+Xm5io3N1eStGfPHiUm\
JvZOWADwU/v379ehQ4fsjtEtPlFgra2tmjdvnhYsWKAbbrih0+Nut1vFxcUdt0tKSuRyuTqNy8nJ\
UU5OjiTJ4/GooKCg90IDgB/yeDx2R+g225cQLcvSHXfcoaSkJN13331djsnOztbTTz8ty7K0detW\
RUVFKTY2to+TAgB8ie17YJs3b9af/vQnTZgwQenp6ZKkn//85zp48KAkacmSJcrKytK6desUHx+v\
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\
e7hcLklSTEyMrr/+euXn53dZYDk5OcrJyZEkTvYAAD/n80uIDQ0Nqqur6/j7xo0blZKSYnMqAIDd\
bC2wl156SW63W1u2bNHs2bM1c+ZMSVJZWZmysrIkSZWVlbr88suVlpamyZMna/bs2bruuuvsjA0A\
8AEOy7Isu0P0Bo/Hc9r3lgEAOjNp2+nzS4gAAHSFAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQID\
ABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAY\
iQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkC\
AwAYiQIDABiJAgMAGMnWArv//vuVmJio1NRUXX/99aqtre1y3IYNG5SQkKD4+HgtX768j1MCAHyR\
rQWWmZmpXbt26eOPP9ZFF12kRx55pNOY9vZ23XPPPVq/fr0KCwv13HPPqbCw0Ia0AABfYmuBzZgx\
Q06nU5I0depUlZSUdBqTn5+v+Ph4xcXFKTg4WPPnz1deXl5fRwUA+BifOQb2hz/8QbNmzep0f2lp\
qUaOHNlx2+12q7S0tC+jAQB8kLO3n2D69OmqqKjodP+yZcs0Z86cjr87nU4tWLCg0zjLsjrd53A4\
unyu3Nxc5ebmSpJ27dolj8dzPtH7RHV1tYYNG2Z3jDMiZ88xIaNEzp5mSs49e/bYHaHber3A3njj\
jdM+vnr1ar366qt68803uywmt9ut4uLijtslJSVyuVxdfq+cnBzl5ORIkjwejwoKCs4jed8gZ88y\
IacJGSVy9jSTcprC1iXEDRs26NFHH9Urr7yisLCwLsdkZGSoqKhI+/btU0tLi9asWaPs7Ow+TgoA\
8DW2Fti9996ruro6ZWZmKj09XUuWLJEklZWVKSsrS5LkdDq1YsUKzZw5U0lJSbr55puVnJxsZ2wA\
gA/o9SXE0/niiy+6vN/lcmndunUdt7OysjoKrbv+sZTo68jZs0zIaUJGiZw9jZw9z2F1dZYEAAA+\
zmdOowcA4Gz4TYGZclmqtWvXKjk5WQEBAac9I2nMmDGaMGGC0tPTbTkrqLs57ZzPI0eOKDMzU+PG\
jVNmZqZqamq6HGfXXJ5pbizL0tKlSxUfH6/U1FTt2LGjz7J91Zlybtq0SVFRUUpPT1d6eroeeuih\
Ps+4ePFixcTEKCUlpcvHfWUuz5TTF+ZSkoqLi3X11VcrKSlJycnJevzxxzuN8ZU5PS3LT/z1r3+1\
WltbLcuyrB/84AfWD37wg05j2trarLi4OGvv3r1Wc3OzlZqaau3evbtPcxYWFlp79uyxrrzySuuD\
Dz445bjRo0db1dXVfZjsZN3Jafd83n///dYjjzxiWZZlPfLII13+n1uWPXPZnbl57bXXrOuuu87y\
er3Wli1brMmTJ/dpxu7mfPvtt63Zs2f3ebaveuedd6zt27dbycnJXT7uC3NpWWfO6QtzaVmWVVZW\
Zm3fvt2yLMs6duyYNW7cOJ/8+TwTv9kDM+WyVElJSUpISOjT5zwX3clp93zm5eVp0aJFkqRFixbp\
5Zdf7rPnPpPuzE1eXp4WLlwoh8OhqVOnqra2VuXl5T6X0xdMmzZN0dHRp3zcF+ZSOnNOXxEbG6uJ\
EydKkgYOHKikpKROVzjylTk9Hb8psK/yh8tSORwOzZgxQ5MmTeq4uoivsXs+KysrFRsbK+nEL2RV\
VVWX4+yYy+7Mjd3zdzYZtmzZorS0NM2aNUu7d+/uy4jd4gtz2V2+Npf79+/Xzp07NWXKlJPuN2FO\
bT2N/mz15WWpejvnmWzevFkul0tVVVXKzMxUYmKipk2b5lM5+2I+T5exu/piLr+uO3PTVz+Pp9Od\
DBMnTtSBAwcUERGhdevWae7cuSoqKuqriN3iC3PZHb42l/X19Zo3b54ee+wxRUZGnvSYCXNqVIH1\
5WWpejNnd/wjV0xMjK6//nrl5+f3+Eb3fHP2xXyeLuPw4cNVXl6u2NhYlZeXKyYmpstxfTGXX9ed\
uemrn8fT6U6Gr27YsrKydPfdd+vQoUMaOnRon+U8E1+Yy+7wpblsbW3VvHnztGDBAt1www2dHjdh\
Tv1mCdGfLkvV0NCgurq6jr9v3LjxlGc12cnu+czOztbq1aslnXjx0tVeo11z2Z25yc7O1tNPPy3L\
srR161ZFRUV1LIn2le7krKio6Hg1np+fL6/XqyFDhvRpzjPxhbnsDl+ZS8uydMcddygpKUn33Xdf\
l2OMmFNbTh3pBRdeeKHldruttLQ0Ky0tzbrzzjsty7Ks0tJSa9asWR3jXnvtNWvcuHFWXFyc9fDD\
D/d5zhdffNEaMWKEFRwcbMXExFgzZszolHPv3r1WamqqlZqaao0fP95nc1qWvfN56NAh65prrrHi\
4+Ota665xjp8+HCnjHbOZVdzs3LlSmvlypWWZVmW1+u17r77bisuLs5KSUk57VmpduZ84oknrPHj\
x1upqanWlClTrM2bN/d5xvnz51sXXHCB5XQ6rREjRli/+93vfHIuz5TTF+bSsizrvffesyRZEyZM\
6Nhmvvbaaz45p6fDlTgAAEbymyVEAED/QoEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEB\
AIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCM\
RIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESB\
AQCMRIEBAIxEgQEAjESBAQCMRIEBAIxEgQEAjESBAQCMRIEBAIz0/wHnxUJ6qMPriAAAAABJRU5E\
rkJggg==\
"
frames[45] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3xU5YH/8e8kk3tIIEAww3CLwSQk\
JBEmgIp4IyBhN6CoRWnBYhvxUtp1a9fedquViq+2u1pxsWm3FPtTsbhqrAIFrahFIEZQgYhG5JIL\
IQkkkARynfP7A5tVEyACmTPP5PP+x8zMk8yXx+R85zznzBmHZVmWAAAwTJDdAQAAOBsUGADASBQY\
AMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADA\
SBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgU\
GADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgA\
wEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASLYXWFlZ\
ma666iqlpqYqLS1Njz76aJcxlmVp8eLFSkpKUkZGhrZt22ZDUgCAP3HaHsDp1K9//WuNGzdODQ0N\
Gj9+vHJycjRmzJjOMWvXrlVpaalKS0u1detW3XHHHdq6dauNqQEAdrN9DywhIUHjxo2TJPXr10+p\
qamqqKj4wpjCwkLNnz9fDodDkyZNUn19vQ4ePGhHXACAn7C9wD5v37592r59uyZOnPiF+ysqKjRs\
2LDO2263u0vJAQD6FtuXEP+hsbFRc+bM0SOPPKKYmJgvPGZZVpfxDoejy30FBQUqKCiQJO3evVsp\
KSm9ExYAAtS+fftUW1trd4we8YsCa2tr05w5czRv3jxdf/31XR53u90qKyvrvF1eXi6Xy9VlXH5+\
vvLz8yVJHo9HxcXFvRcaAAKQx+OxO0KP2b6EaFmWbrvtNqWmpuqee+7pdkxeXp6efPJJWZalLVu2\
KDY2VgkJCT5OCgDwJ7bvgW3atEl/+tOfNHbsWGVlZUmSfvGLX+jAgQOSpEWLFik3N1dr1qxRUlKS\
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\
Aw884POMCxcuVHx8vNLT07t93F/m8kw5/WEuJamsrExXXXWVUlNTlZaWpkcffbTLGH+Z09OyAsRf\
//pXq62tzbIsy/rBD35g/eAHP+gypr293UpMTLT27NljtbS0WBkZGdauXbt8mrOkpMTavXu3dcUV\
V1jvvPPOKceNGDHCqqmp8WGyL+pJTrvn895777Ueeughy7Is66GHHur2/7ll2TOXPZmbV155xbr2\
2mstr9drbd682ZowYYJPM/Y05+uvv27NnDnT59k+74033rDeffddKy0trdvH/WEuLevMOf1hLi3L\
siorK613333XsizLOnbsmDV69Gi//P08k4DZAzPlslSpqalKTk726XOejZ7ktHs+CwsLtWDBAknS\
ggUL9OKLL/rsuc+kJ3NTWFio+fPny+FwaNKkSaqvr9fBgwf9Lqc/mDJliuLi4k75uD/MpXTmnP4i\
ISFB48aNkyT169dPqampXa5w5C9zejoBU2CfFwiXpXI4HJo2bZrGjx/feXURf2P3fB46dEgJCQmS\
Tv5BVldXdzvOjrnsydzYPX9fJcPmzZuVmZmpGTNmaNeuXb6M2CP+MJc95W9zuW/fPm3fvl0TJ078\
wv0mzKmtp9F/Vb68LFVv5zyTTZs2yeVyqbq6Wjk5OUpJSdGUKVP8Kqcv5vN0GXvKF3P5ZT2ZG1/9\
Pp5OTzKMGzdO+/fvV3R0tNasWaPZs2ertLTUVxF7xB/msif8bS4bGxs1Z84cPfLII4qJifnCYybM\
qVEF5svLUvVmzp74R674+Hhdd911KioqOu8b3XPN6Yv5PF3GIUOG6ODBg0pISNDBgwcVHx/f7Thf\
zOWX9WRufPX7eDo9yfD5DVtubq7uvPNO1dbWatCgQT7LeSb+MJc94U9z2dbWpjlz5mjevHm6/vrr\
uzxuwpwGzBJiIF2WqqmpSQ0NDZ1fr1+//pRnNdnJ7vnMy8vTypUrJZ188dLdXqNdc9mTucnLy9OT\
Tz4py7K0ZcsWxcbGdi6J+kpPclZVVXW+Gi8qKpLX69XAgQN9mvNM/GEue8Jf5tKyLN12221KTU3V\
Pffc0+0YI+bUllNHesGFF15oud1uKzMz08rMzLRuv/12y7Isq6KiwpoxY0bnuFdeecUaPXq0lZiY\
aD344IM+z/n8889bQ4cOtUJDQ634+Hhr2rRpXXLu2bPHysjIsDIyMqwxY8b4bU7Lsnc+a2trrauv\
vtpKSkqyrr76auvw4cNdMto5l93NzfLly63ly5dblmVZXq/XuvPOO63ExEQrPT39tGel2pnzscce\
s8aMGWNlZGRYEydOtDZt2uTzjHPnzrUuuOACy+l0WkOHDrV+//vf++VcnimnP8ylZVnWW2+9ZUmy\
xo4d27nNfOWVV/xyTk+HK3EAAIwUMEuIAIC+hQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAY\
iQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkC\
AwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMA\
GIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABiJAgMAGIkCAwAYiQIDABjp/wOF2URGQbKGpwAAAABJ\
RU5ErkJggg==\
"
frames[46] = "data:image/png;base64,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\
RYsWKSYmRqmpqV0+7ivr8mxz+sK6lKTi4mJdffXVSk5OVkpKip544olOy/jKOj0jy0/89a9/tVpb\
Wy3Lsqwf//jH1o9//ONOy7S1tVnx8fHWvn37rObmZistLc3as2ePV+csLCy09u7da1155ZXWBx98\
cNrlRo4caVVXV3txslN1Z0671+f9999vPfLII5ZlWdYjjzzS5f+5ZdmzLruzbl5//XXruuuuszwe\
j7VlyxZr0qRJXp2xu3O+/fbb1qxZs7w+29e988471vbt262UlJQuH/eFdWlZZ5/TF9alZVlWWVmZ\
tX37dsuyLOvYsWPWmDFjfPL782z8ZgvMlMtSJScnKzEx0atf81x0Z06712deXp4WLlwoSVq4cKFe\
eeUVr33ts+nOusnLy9OCBQvkcDg0ZcoU1dXVqby83Ofm9AVTp07VwIEDT/u4L6xL6exz+orY2FiN\
Hz9ektSvXz8lJyd3usKRr6zTM/GbgH2dP1yWyuFwaPr06ZowYULH1UV8jd3rs7KyUrGxsZJO/kBW\
VVV1uZwd67I768bu9fdtZtiyZYvS09M1c+ZM7dmzx5sjdosvrMvu8rV1eeDAAe3cuVOTJ08+5X4T\
1qmtp9F/W968LFVvz3k2mzdvVlxcnKqqqpSZmamkpCRNnTrVp+b0xvo804zd5Y11+U3dWTfe+n48\
k+7MMH78eB08eFCRkZFau3at5syZo6KiIm+N2C2+sC67w9fWZUNDg+bOnavHH39cUVFRpzxmwjo1\
KmDevCxVb87ZHV/NFRMTo+uvv175+fk9/qR7vnN6Y32eacahQ4eqvLxcsbGxKi8vV0xMTJfLeWNd\
flN31o23vh/PpDszfP2JLSsrS3fffbdqamo0ePBgr815Nr6wLrvDl9Zla2ur5s6dq/nz5+uGG27o\
9LgJ69RvdiH602WpGhsbVV9f3/H3DRs2nPasJjvZvT6zs7O1atUqSSd/eelqq9GuddmddZOdna1n\
nnlGlmVp69atio6O7tgl6i3dmbOioqLjt/H8/Hx5PB4NGjTIq3OejS+sy+7wlXVpWZbuuOMOJScn\
67777utyGSPWqS2njvSCCy+80HK5XFZ6erqVnp5u3XnnnZZlWVZpaak1c+bMjuVef/11a8yYMVZ8\
fLz18MMPe33Ol156yRo2bJgVHBxsxcTEWNOnT+805759+6y0tDQrLS3NGjt2rM/OaVn2rs+amhrr\
mmuusRISEqxrrrnGOnz4cKcZ7VyXXa2bFStWWCtWrLAsy7I8Ho919913W/Hx8VZqauoZz0q1c84n\
n3zSGjt2rJWWlmZNnjzZ2rx5s9dnnDdvnnXBBRdYTqfTGjZsmPX73//eJ9fl2eb0hXVpWZb13nvv\
WZKscePGdTxnvv766z65Ts+EK3EAAIzkN7sQAQB9CwEDABiJgAEAjETAAABGImAAACMRMACAkQgY\
AMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJ\
gAEAjETAAABGImAAACMRMACAkQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACA\
kQgYAMBIBAwAYCQCBgAwEgEDABiJgAEAjETAAABGImAAACMRMACAkf4/X15EdCQ5hq8AAAAASUVO\
RK5CYII=\
"
frames[47] = "data:image/png;base64,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\
x223260tW7b0+PMEfVFEDodDSxdMUFu7V7urG7SjtE47y44q8os39dY2tuieFSeXO0OCHXINiFRC\
/3DdMGG4pqTE6+jxFr1cVKaocKf6hTsV6gxWm9ertKGxcg2I1KH6Zm34pErt7Zbqm1p1uKFZh+qb\
tfDKC5U6NFZvFlfpZ6s+6gz0brIAAAtYSURBVMgVExGipCHRamhu02BJ13vc+tbkEQrlvVoA+rhe\
L7CpU6eqsrKy0/2LFy/WrFmzzvr9XR2XOt1yXn5+vvLz8yVJNTU13zDpqZzBQUpOiFFyQozmTPz/\
90eFOfXUbR6VHTmhsiPHVXbkuKqOnlBza7skqepok5a9UdLp5/1sdrpcAyJVXntcv3rtk477B0SF\
amB0qBqb2yRJY4bG6F9yUjRsYJQujI/WoH5hp/x7o8NDzuvfBQCBotcL7PXXXz+v73e73SotLe24\
XVZWJper65MS8vLylJeXJ0nyeDzn9bynExYSrPGjBmr8qK4fvyghRm//bKoamtvU0NSmlrZ2OYOC\
NDjm5HvQxrhitfr+qxQc5FBkqLPTVS9cAyJ106QRvZIdAAKJ3y8hTpgwQSUlJdq7d6+GDh2qlStX\
6rnnnrM71hmFhQQrLCS4ywvhhjiDFMcFcgHgvNl6IOWll16S2+3Wpk2bNHPmTE2fPl2SVFFRoZyc\
HEmS0+nU0qVLNX36dKWmpurmm29WWlqanbEBAH7AYZn25qdu8ng8Z3xvGQCgM5O2nZzKBgAwEgUG\
ADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAw\
EgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIF\
BgAwEgUGADASBQYAMBIFBgAwEgUGADASBQYAMBIFBgAwEgUGADCSrQW2atUqpaWlKSgoSEVFRacd\
N3LkSI0dO1ZZWVnyeDw+TAgA8FdOO588PT1dL774ou64446zjn3rrbc0aNAgH6QCAJjA1gJLTU21\
8+kBAAYz4hiYw+HQtGnTNH78eOXn59sdBwDgB3p9D2zq1KmqrKzsdP/ixYs1a9asbv2MjRs3yuVy\
qbq6WtnZ2UpJSdGUKVM6jcvPz+8ouJqamvMLDgDwa71eYK+//vp5/wyXyyVJio+P1/XXX6/CwsIu\
CywvL095eXmSxMkeABDg/H4JsbGxUfX19R1fr1u3Tunp6TanAgDYzdYCe+mll+R2u7Vp0ybNnDlT\
06dPlyRVVFQoJydHklRVVaXLL79cmZmZmjhxombOnKnrrrvOztgAAD/gsCzLsjtEb/B4PGd8bxkA\
oDOTtp1+v4QIAEBXKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICR\
KDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgw\
AICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJFsLbD7\
779fKSkpysjI0PXXX6+6uroux61du1bJyclKSkrSkiVLfJwSAOCPbC2w7Oxs7dixQx9//LEuuugi\
Pfroo53GtLe36+6779aaNWtUXFys559/XsXFxTakBQD4E1sLbNq0aXI6nZKkyZMnq6ysrNOYwsJC\
JSUlKTExUaGhoZo7d64KCgp8HRUA4Gf85hjYH/7wB82YMaPT/eXl5Ro2bFjHbbfbrfLycl9GAwD4\
IWdvP8HUqVNVWVnZ6f7Fixdr1qxZHV87nU7Nmzev0zjLsjrd53A4unyu/Px85efnS5J27Nghj8dz\
PtF9oqamRoMHD7Y7xlmRs+eYkFEiZ08zJeeuXbvsjtBtvV5gr7/++hkfX7FihV599VW98cYbXRaT\
2+1WaWlpx+2ysjK5XK4uf1ZeXp7y8vIkSR6PR0VFReeR3DfI2bNMyGlCRomcPc2knKawdQlx7dq1\
euyxx/TKK68oMjKyyzETJkxQSUmJ9u7dq5aWFq1cuVK5ubk+TgoA8De2Ftg999yj+vp6ZWdnKysr\
S4sWLZIkVVRUKCcnR5LkdDq1dOlSTZ8+Xampqbr55puVlpZmZ2wAgB/o9SXEM/n888+7vN/lcmn1\
6tUdt3NycjoKrbu+XEr0d+TsWSbkNCGjRM6eRs6e57C6OksCAAA/5zen0QMA8E0ETIGZclmqVatW\
KS0tTUFBQWc8I2nkyJEaO3assrKybDkrqLs57ZzPI0eOKDs7W6NHj1Z2drZqa2u7HGfXXJ5tbizL\
0r333qukpCRlZGRo69atPsv2VWfLuWHDBsXGxiorK0tZWVl6+OGHfZ5x4cKFio+PV3p6epeP+8tc\
ni2nP8ylJJWWlurqq69Wamqq0tLS9MQTT3Qa4y9zekZWgPjb3/5mtba2WpZlWQ888ID1wAMPdBrT\
1tZmJSYmWrt377aam5utjIwMa+fOnT7NWVxcbO3atcu68sorrffff/+040aMGGHV1NT4MNmpupPT\
7vm8//77rUcffdSyLMt69NFHu/w/tyx75rI7c/Paa69Z1113neX1eq1NmzZZEydO9GnG7uZ86623\
rJkzZ/o821e9/fbb1gcffGClpaV1+bg/zKVlnT2nP8ylZVlWRUWF9cEHH1iWZVnHjh2zRo8e7Ze/\
n2cTMHtgplyWKjU1VcnJyT59znPRnZx2z2dBQYEWLFggSVqwYIFefvllnz332XRnbgoKCjR//nw5\
HA5NnjxZdXV1OnjwoN/l9AdTpkxRXFzcaR/3h7mUzp7TXyQkJGjcuHGSpH79+ik1NbXTFY78ZU7P\
JGAK7KsC4bJUDodD06ZN0/jx4zuuLuJv7J7PqqoqJSQkSDr5B1ldXd3lODvmsjtzY/f8fZMMmzZt\
UmZmpmbMmKGdO3f6MmK3+MNcdpe/zeW+ffu0bds2TZo06ZT7TZhTW0+j/6Z8eVmq3s55Nhs3bpTL\
5VJ1dbWys7OVkpKiKVOm+FVOX8znmTJ2ly/m8uu6Mze++n08k+5kGDdunPbv36/o6GitXr1as2fP\
VklJia8idos/zGV3+NtcNjQ0aM6cOXr88ccVExNzymMmzKlRBebLy1L1Zs7u+DJXfHy8rr/+ehUW\
Fvb4Rvd8c/piPs+UcciQITp48KASEhJ08OBBxcfHdznOF3P5dd2ZG1/9Pp5JdzJ8dcOWk5Oju+66\
S4cOHdKgQYN8lvNs/GEuu8Of5rK1tVVz5szRvHnzdMMNN3R63IQ5DZglxEC6LFVjY6Pq6+s7vl63\
bt1pz2qyk93zmZubqxUrVkg6+eKlq71Gu+ayO3OTm5urZ555RpZlafPmzYqNje1YEvWV7uSsrKzs\
eDVeWFgor9ergQMH+jTn2fjDXHaHv8ylZVm6/fbblZqaqvvuu6/LMUbMqS2njvSCCy+80HK73VZm\
ZqaVmZlp3XHHHZZlWVZ5ebk1Y8aMjnGvvfaaNXr0aCsxMdF65JFHfJ7zxRdftIYOHWqFhoZa8fHx\
1rRp0zrl3L17t5WRkWFlZGRYY8aM8duclmXvfB46dMi65pprrKSkJOuaa66xDh8+3CmjnXPZ1dws\
W7bMWrZsmWVZluX1eq277rrLSkxMtNLT0894VqqdOZ988klrzJgxVkZGhjVp0iRr48aNPs84d+5c\
64ILLrCcTqc1dOhQ6/e//71fzuXZcvrDXFqWZb377ruWJGvs2LEd28zXXnvNL+f0TLgSBwDASAGz\
hAgA6FsoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgw\
AICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACA\
kSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEoMACAkSgwAICRKDAAgJEo\
MACAkSgwAICRKDAAgJEoMACAkf4fKLg3fuCh/HQAAAAASUVORK5CYII=\
"
frames[48] = "data:image/png;base64,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\
xl/W6WlZAeKvf/2r1draalmWZf3oRz+yfvSjH3Vapq2tzUpKSrJ2795tNTc3W5mZmdbOnTt9OmdJ\
SYm1a9cu68orr7Tef//9Uy43fPhwq6amxoeTfV135rR7fd5///3WI488YlmWZT3yyCNd/p9blj3r\
sjvr5rXXXrOuu+46y+v1Wps2bbLGjx/v0xm7O+dbb71lzZgxw+ezfdXbb79tffDBB1Z6enqXj/vD\
urSsM8/pD+vSsiyrsrLS+uCDDyzLsqxjx45ZI0eO9MvvzzMJmC0wUy5LlZaWppSUFJ8+57nozpx2\
r8/CwkLNnz9fkjR//ny9/PLLPnvuM+nOuiksLNS8efPkcDg0ceJE1dXV6cCBA343pz+YPHmy4uLi\
Tvm4P6xL6cxz+ouEhASNGTNGktSvXz+lpaV1usKRv6zT0wmYgH1VIFyWyuFwaOrUqRo7dmzH1UX8\
jd3r8+DBg0pISJB08geyurq6y+XsWJfdWTd2r7+zmWHTpk3KysrS9OnTtXPnTl+O2C3+sC67y9/W\
5d69e7Vt2zZNmDDha/ebsE5tPY3+bPnyslS9PeeZbNy4US6XS9XV1crJyVFqaqomT57sV3P6Yn2e\
bsbu8sW6/KburBtffT+eTndmGDNmjPbt26fo6GitXr1as2bNUmlpqa9G7BZ/WJfd4W/rsqGhQbNn\
z9Zjjz2mmJiYrz1mwjo1KmC+vCxVb87ZHX+fKz4+Xtdff72Kiop6/EX3fOf0xfo83YxDhgzRgQMH\
lJCQoAMHDig+Pr7L5XyxLr+pO+vGV9+Pp9OdGb76wpabm6u7775bhw4d0qBBg3w255n4w7rsDn9a\
l62trZo9e7bmzp2rG264odPjJqzTgNmFGEiXpWpsbFR9fX3Hn9etW3fKs5rsZPf6zMvL04oVKySd\
/OWlq61Gu9Zld9ZNXl6enn76aVmWpc2bNys2NrZjl6ivdGfOqqqqjt/Gi4qK5PV6NXDgQJ/OeSb+\
sC67w1/WpWVZuuOOO5SWlqb77ruvy2WMWKe2nDrSCy666CLL7XZbWVlZVlZWlnXnnXdalmVZFRUV\
1vTp0zuWe+2116yRI0daSUlJ1sMPP+zzOV988UUrMTHRCg0NteLj462pU6d2mnP37t1WZmamlZmZ\
aY0aNcpv57Qse9fnoUOHrGuuucZKTk62rrnmGuvw4cOdZrRzXXa1bpYtW2YtW7bMsizL8nq91t13\
320lJSVZGRkZpz0r1c45n3jiCWvUqFFWZmamNWHCBGvjxo0+n3HOnDnWBRdcYDmdTisxMdH6/e9/\
75fr8kxz+sO6tCzLevfddy1J1ujRozteM1977TW/XKenw5U4AABGCphdiACAvoWAAQCMRMAAAEYi\
YAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABg\
JAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAA\
AEYiYAAAIxEwAICRCBgAwEgEDABgJAIGADASAQMAGImAAQCMRMAAAEYiYAAAIxEwAICRCBgAwEj/\
HzTfMSNONzF1AAAAAElFTkSuQmCC\
"
frames[49] = "data:image/png;base64,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\
"
/* set a timeout to make sure all the above elements are created before
the object is initialized. */
setTimeout(function() {
anim8226524996754530b0a76ff66d8e515c = new Animation(frames, img_id, slider_id, 50.0,
loop_select_id);
}, 0);
})()
</script>
この動画はJupyter Notebook上でも表示可能で、再生速度調整、反転再生など可能で便利です。Matplotlibで制作したアニメーションをto_jshtml()でJavaScriptに変換して、それをhtmlファイルとして外部保存して、このページにJavascriptとして埋め込んでいます。<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="o" style="color: #666666; margin: 0px; padding: 0px;">%</span><span class="n" style="margin: 0px; padding: 0px;">matplotlib</span> <span class="n" style="margin: 0px; padding: 0px;">inline</span>
<span class="kn" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">import</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">matplotlib.pyplot</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">as</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">plt</span>
<span class="kn" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">import</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">numpy</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">as</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">np</span>
<span class="kn" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">import</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">matplotlib.animation</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">as</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">animation</span>
<span class="kn" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">from</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">IPython.display</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">import</span> <span class="n" style="margin: 0px; padding: 0px;">HTML</span>
<span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">np</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">linspace</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">50</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">y</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">np</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">sin</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">fig</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">plt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">figure</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">figsize</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">6</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">6</span><span class="p" style="margin: 0px; padding: 0px;">))</span>
<span class="n" style="margin: 0px; padding: 0px;">plt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">axis</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'equal'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ims</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">)):</span>
<span class="n" style="margin: 0px; padding: 0px;">ln</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">plt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="n" style="margin: 0px; padding: 0px;">y</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">color</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'#377eb8'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">linestyle</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'--'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">dot</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">plt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">plot</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="n" style="margin: 0px; padding: 0px;">y</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">],</span> <span class="n" style="margin: 0px; padding: 0px;">color</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'red'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">marker</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'o'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ims</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ln</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">dot</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">ani</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">animation</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">ArtistAnimation</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">fig</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="n" style="margin: 0px; padding: 0px;">ims</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="n" style="margin: 0px; padding: 0px;">interval</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">50</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;">#ani.save("ani.gif", writer = "imagemagick") # save as GIF Animation</span>
<span class="n" style="margin: 0px; padding: 0px;">plt</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">close</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># save as JavaScript/Html file</span>
<span class="n" style="margin: 0px; padding: 0px;">f</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">open</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s2" style="color: #ba2121; margin: 0px; padding: 0px;">"ani.html"</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="s2" style="color: #ba2121; margin: 0px; padding: 0px;">"w"</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">f</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">write</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ani</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">to_jshtml</span><span class="p" style="margin: 0px; padding: 0px;">())</span>
<span class="n" style="margin: 0px; padding: 0px;">f</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">close</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;">#HTML(ani.to_html5_video())</span>
<span class="n" style="margin: 0px; padding: 0px;">HTML</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ani</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">to_jshtml</span><span class="p" style="margin: 0px; padding: 0px;">())</span></pre>
<br />
<b><span style="font-size: large;">方法:</span></b><span style="font-size: large;"><b>(Python 3.6、Jupyter Notebook使用</b></span><b style="font-size: x-large;">)</b><br />
・アニメーション(変数:ani)をつくったら、ani.to_jshtml()でJavascriptに変換。<br />
・f=open(), f.write()でJavaScript/htmlファイルとして外部保存。<br />
・外部保存したani.htmlファイルをエディタで開きJavaScriptをWebページにコピペ。<br />
<br />
制作された動画は「base64」というデータ形式に変換されているようです。画像などをbase64に変換してそのままHTML内に埋め込むことができるようですが、このbase64データというのは以下のような記号の羅列で、この動画のデータだと約10000行もありかなり膨大です。<br />
<br />
frames[0] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\<br />
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\<br />
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deVxVZeI/8M8VRMUV10BMM1wQRFIu\<br />
4FqNIm5hLplmo40lo9m3PYdvTfOzma8TbaM11BjTZpvM5EySJigqWq6IimmUkWGyCZiau8Dl/v54\<br />
<br />
ページをスクロールしてもなかなか下へ辿りつけないので、この点だけ注意。上の場合はpng画像50枚分が埋め込んでいるのでアップロードするときもやや時間がかかります。<br />
あと、コード内のコメント欄などに日本語が含まれているとエンコード/デコードでエラーがでるかもしれません。</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-48249840216023074642019-06-05T10:13:00.001+09:002019-09-30T21:50:16.708+09:00TSP LP Lazy Subtour Elimination Constraints:巡回セールスマン問題 逐次組込制約による部分巡回路除去<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-linear-programming-subtour.html" target="_blank">前回</a>は<a href="https://pythonhosted.org/PuLP/" target="_blank">Pulp</a>(オープンソース最適化ソルバー/モデラー)を使ってTSP(巡回セールスマン問題)の厳密解をMTZ(Miller-Tucker-Zemlin)部分巡回路除去法で求めてみました。<a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dpbit-dp.html" target="_blank">前々回</a>に試したDP(動的計画法)よりはMTZのほうが高速でしたが、せいぜい数十ノード程度が限界でした。<br />
<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<b><span style="font-size: large;">Lazy Constraints(逐次組込制約):</span></b><br />
そして今回もLPで厳密解を求めますが、Lazy Constraintsという制約式を使ってみようと思います。Lazy Constraintsの日本語訳が検索してもあまりでてこないので(<a href="https://www.octobersky.jp/news/20120504.html" target="_blank">ここくらい</a>)、逐次組込制約と呼ぶことにしました。あるいは切除平面法と呼ばれているのかもしれません。<br />
Lazy Constraintsの特長として、最初に基本的な制約だけを与えて一度結果を出し、その結果からその都度必要な制約を追加していき、何回かのループで答えを出します。予め全ての組み合わせの計算をしない分早く収束してくれるときがあります。必要なら計算するという方法が意外に効果的でこれまでの結果を圧倒してくれました。最適化ソルバー<a href="https://pythonhosted.org/PuLP/" target="_blank">Pulp</a>のおかげかもしれませんが、これまでのアルゴリズムではせいぜい20ノードが限界でしたが、今回は100ノード以上でも短時間で厳密解を求めることができました。<br />
実際、厳密解かどうかは不安なので<a href="https://github.com/jvkersch/pyconcorde" target="_blank">Pyconcorde</a>(TSP専用ソルバー)で求めた解と比較することにしました。<br />
<br />
<br />
<b><span style="font-size: large;">これまでの厳密解アルゴリズム比較:</span></b><span style="font-size: large;"><b>(Python 3.6、Jupyter Notebook使用</b></span><b style="font-size: x-large;">)</b><br />
<table rules="none">
<tbody>
<tr>
<td><a href="https://cnc-selfbuild.blogspot.com/2019/01/tsp.html" target="_blank">全探索法</a></td><td>:20ノード未満で限界</td>
</tr>
<tr>
<td><a href="http://dp%28functools.lru_cache%29/">DP(functools.lru_cache)</a></td><td>:20ノード:50.9s</td>
</tr>
<tr>
<td><a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dp.html" target="_blank">DP(自前のmemoization)</a></td><td>:20ノード:57.7s</td>
</tr>
<tr>
<td><a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dpbit-dp.html" target="_blank">DP(ビットDP)</a></td><td>:20ノード:55.8s</td>
</tr>
<tr>
<td><a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-linear-programming-subtour.html" target="_blank">LP(MTZ部分巡回路除去)</a></td><td>:20ノード:12.9s</td>
</tr>
<tr>
<td>LP(Lazy Constraints)</td><td>:20ノード:0.73s、100ノード:23.9s</td>
</tr>
<tr>
<td><a href="https://github.com/jvkersch/pyconcorde" target="_blank">Pyconcorde</a>(TSPソルバー)</td><td>:20ノード:0.23s、100ノード:0.597s</td>
</tr>
</tbody></table>
<br />
20ノード以上になると極端に時間がかかっていましたが、今回のLazy Constraintsでは100ノードでも数十秒で計算可能でした。もちろんTSP専用ソルバーの<a href="https://github.com/jvkersch/pyconcorde" target="_blank">Pyconcorde</a>なら100ノードでも1秒もかかりません。<br />
ただ、Lazy Constraintsだと状況に応じてその都度制約を追加していくので、早く解決するときもあれば多少時間がかかるときもあり時間にばらつきがあります。今回200ノードまでは数分で厳密解を求めることができましたが、200ノードを越えるとRAMが足りないためなのか途端に処理が遅くなってしまいました。<br />
<br />
<br />
<b><span style="font-size: large;">Lazy Constraintsアルゴリズム:</span></b><br />
アルゴリズムにおいては、<a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-linear-programming-subtour.html" target="_blank">前回のMTZ</a>と比較してもそれほど複雑なことをしているという感じでもありませんでした(<a href="https://techblog.aimms.com/2015/05/26/solving-a-tsp-using-lazy-constraints/" target="_blank">ここを参考</a>)。<br />
基本はLPなので、<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">LpProblem</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">name</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'TSP_LP'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">sense</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="n" style="margin: 0px; padding: 0px;">LpMinimize</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># node i to node j: distance between i and j</span>
<span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">dict</span><span class="p" style="margin: 0px; padding: 0px;">({(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">):</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="nb" style="color: green; margin: 0px; padding: 0px;">abs</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">XY</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="n" style="margin: 0px; padding: 0px;">XY</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">]))</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">!=</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">})</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># 1: the tour includes the edge from i to j, 0: if not included</span>
<span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">LpVariable</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">dicts</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'x'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">LpBinary</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># the objective to be minimumized</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">*</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">])</span> </pre>
<div>
<a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-linear-programming-subtour.html" target="_blank">前回</a>同様、各二点間(i, j)をディクショナリーのキーとして登録しておき、それぞれ値に距離を入れておきます。各ノードの座標は事前にランダム生成してあるので、その座標から距離を求めることができます。x(i, j)は0か1のバイナリで、最終的な巡回路にiからjへの経路が採用されれば1、不採用なら0になります。つまり採用された(i, j)の組だけが距離distとして合算されていきます。<br />
そして最小化する式、<br />
<br />
Σ(dist(i, j) * x(i, j))<br />
<br />
を解いていきます。</div>
<div>
<br /></div>
<div>
ベースの制約として、これも前回同様iを基準としてiからjへの移動x(i, j)、あるいはその反対であるjからiへの移動における組み合わせではそれぞれ一通りずつなので、以下の制約式を加えておきます。</div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">!=</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">!=</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span></pre>
</div>
<div>
前回はこのあとMTZの部分巡回路除去の制約を加えていましたが、今回は一旦ここでこの問題を解いてみます。当然中途半端な答えがでてくるので、その答えを見ながら次に必要な制約式を加えていきます。ここがLazyと言われる部分なのでしょう。</div>
<div>
<br /></div>
<div>
この状態で解かせると、大体は以下のように二点間だけの巡回路がたくさんできてしまいます。「0→23→0」など単なる二点間の往復経路ばかり。</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="728" data-original-width="756" height="382" src="https://1.bp.blogspot.com/-Dhsi3CQlrvU/XPcB94fkGTI/AAAAAAAAN8g/9caGQDLCacMsYUnsr0EE_M8rLtaGZSSggCLcBGAs/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-06-05%2B8.42.11.png" width="400" /></div>
<div>
100ノードの場合。</div>
<div>
最初の二つの制約は、(i, j)マトリクスで考えれば横軸上での組み合わせの中から一つ選び、縦軸上の組み合わせから一つ選ぶという二重制約です。</div>
<div>
前回書いた以下のマトリクス(6x6の場合)、</div>
<div>
<pre style="background-color: white; color: #222222; font-size: 13.2px; overflow: scroll;">------- x(0, 1) x(0, 2) x(0, 3) x(0, 4) x(0, 5)
x(1, 0) ------- x(1, 2) x(1, 3) x(1, 4) x(1, 5)
x(2, 0) x(2, 1) ------- x(2, 3) x(2, 4) x(2, 5)
x(3, 0) x(3, 1) x(3, 2) ------- x(3, 4) x(3, 5)
x(4, 0) x(4, 1) x(4, 2) x(4, 3) ------- x(4, 5)
x(5, 0) x(5, 1) x(5, 2) x(5, 3) x(5, 4) -------</pre>
</div>
<div>
仮にx(1, 2)を選ぶと、同じ横軸上のx(1, 0)、x(1, 3)、x(1, 4)、x(1, 5)は選べなくなり、同様に縦軸上のx(0, 2)、x(3, 2)、x(4, 2)、x(5, 2)も選べなくなるという制約。常に横軸上からひとつ、縦軸上から一つという条件を満たしていないといけません。<br />
<br />
以下はシミューレータ(<a href="https://editor.p5js.org/" target="_blank">editor.p5js.org</a>で作成)。グリッド上の(i, j)のどれかを選ぶと次に選ぶことができない組み合わせができます。<br />
<br />
グレー:選択可能な(i, j)<br />
黒 :選択不可能な(i, j)<br />
ピンク:選択した(i, j)<br />
<br /></div>
<div>
<iframe height="440" src="https://editor.p5js.org/mirrornerror/embed/-MkrkMTVp" width="400"></iframe>
<br />
条件:<br />
・選択した(i, j)と同じ横軸上の(i, j')は選択不可。<br />
例えば(1, 2)を選択したら(1, 0)〜(1, 9)は選択不可。<br />
・選択した(i, j)と同じ縦軸上の(i', j)は選択不可。<br />
例えば(1, 2)を選択したら(0, 2)〜(9, 2)は選択不可。<br />
・選択した(i, j)を反転した(j, i)は選択不可。<br />
例えば(1, 2)を選択したら(2, 1)は選択不可。<br />
・二つ以上(かつ全ノード数未満)選択して部分巡回路が{i, j, k}となったとき(k, i)は選択不可。<br />
例えば(1, 2)、(2, 4)を選択したら(4, 1)は選択不可。また(1, 2)、(2, 4)、(4, 5)を選択したら(5, 1)は選択不可。<br />
<br />
<br />
<b><span style="font-size: large;">選べない経路(i, j)の組み合わせを考える:</span></b></div>
<div>
この条件だけでは、二点間最短距離のペアばかりできてしまいます。いわゆるグラフ理論における最小マッチングのようなものでしょうか。</div>
<div>
これではちょっと先行き不安なので、もう一つだけ簡単な制約式を自分なりに考えて加えておきました。</div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)]])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span></pre>
</div>
<div>
これは、先ほどのマトリクス上で考えると、対角線上に線対称な組み合わせも選べないという制約です。たとえばx(1, 2)を選んだらその横軸と縦軸だけでなくx(2, 1)も選べないということです。これは先ほどの二点間のみの巡回路を制約しており、x(i, j)とx(j, i)は同時に存在しないので、x(i, j)+x(j, i)は1以下になるということです。<br />
<br /></div>
<div>
この制約を加えてまた一旦解かせてみると、</div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="724" data-original-width="758" height="381" src="https://1.bp.blogspot.com/-Qw9LIMRQwQA/XPcGb8Dz1sI/AAAAAAAAN8s/JqVeMXCCMts0JVRICq6zHW-QfNsVYAM7ACLcBGAs/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-06-05%2B9.01.36.png" width="400" /></div>
<div>
このように最低でも三点以上の巡回路になります。</div>
<div>
少し改善されたように見えますが、実際効率が上がるのかは検証していないので不明。簡単な制約式なのでそれほど計算にも時間かからないのではと思って追加しただけです。かえって時間かかるようであれば、この制約がなくても解くことはできます。<br />
ちなみに、三角形の経路を制約する場合、<br />
<br />
lpSum(x[i, j] + x[j, k] + x[k, i]) <= 2<br />
<br />
をさらに追加すると最低でも四角形の経路になりますが、3変数もあるのでかえって演算に時間がかかってしまいそうです。今回は2変数だけにして二点間往復路だけを制約してみました。<br />
<br /></div>
<div>
個人的に興味深いと思ったことは、道順と距離を求めることが目的なのにもかかわらず、それとは別に二点間のマトリクス上でのありえない組み合わせを探しているという部分です。TSPをそのような組み合わせパズルとして見たことはなかったので新鮮な視点が得られた感じがしました。これは一種の抽象的な思考方法なのかもしれませんが、こうやって別の角度から新たなルールを導き出しつつ解答に近くことができるのかもしれません。</div>
<div>
<br /></div>
<div>
ここまでが前準備で、そして以下からがLazy ConstraintsによるSubtour Elimination(部分巡回路除去)です。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Lazy Constraints Subtour Elimination:</span></b></div>
<div>
制約式としては以下の部分だけです。</div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">st</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">nots</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">[:</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">nots</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">[:</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">nots</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span></pre>
</div>
<div>
先ほどの100ノードの場合であれば、部分巡回路は19個できてしまいました。この19個の部分巡回路のうち、全体のノード数の半分未満の部分巡回路に対して制約式を与えていきます。全体のノード数の半分以上の大きな部分巡回路を母体として残しておいて、全体のノード数の半分未満の小さな部分巡回路だけに変化(制約)を与えるということです。<br />
今回は、全体のノード数の半分未満の小さな部分巡回路全てに制約を与えますが、代表的なひとつの部分巡回路だけに制約を与えていっても解けるようです。</div>
<div>
<br /></div>
<div>
制約の原理として、例えば「0→23→64→0」という三角形の部分巡回路がありますが、この部分巡回路に必要なのは最低でも一個以上のノードが他の部分巡回路のノードへつながらないといけない(そうしないと現状のまま閉じてしまうので)ということです。三角形内の辺x(0, 23)に対しては、i=0をそのままにしておいてj=23を他の巡回路へつないでもらうために、23が所属している部分巡回路(0, 23, 64)以外のノードをつなげたときに1になるような条件にします。notsという変数は、j=23であれば23が所属している部分巡回路(0, 23, 64)以外の他のノード全部ということです。</div>
<div>
つまり、一度解いて出てきた結果x(0, 23)に対して、</div>
<div>
<br />
x(0はそのまま, 23は{0, 23, 64}以外の全てのノード)<br />
<br /></div>
<div>
へつなげてみたらどうかという制約になります。</div>
<div>
同様に、iとjを反転した場合の制約も加えておきます。</div>
<div>
この制約で一発で解決するわけではないのですが、繰り返し解いてはその結果から他のノードへつながるよう(部分巡回路として閉じてしまわないように)仕向けて、最終的に一つの大きな部分巡回路ができあがれば、それが答えとなるわけです。</div>
<div>
<br /></div>
<div>
ちなみにmatplotlibでその経過をアニメーションにしてみました。</div>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/
css/font-awesome.min.css" rel="stylesheet"></link>
<script language="javascript">
function isInternetExplorer() {
ua = navigator.userAgent;
/* MSIE used to detect old browsers and Trident used to newer ones*/
return ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;
}
/* Define the Animation class */
function Animation(frames, img_id, slider_id, interval, loop_select_id){
this.img_id = img_id;
this.slider_id = slider_id;
this.loop_select_id = loop_select_id;
this.interval = interval;
this.current_frame = 0;
this.direction = 0;
this.timer = null;
this.frames = new Array(frames.length);
for (var i=0; i<frames.length; i++)
{
this.frames[i] = new Image();
this.frames[i].src = frames[i];
}
var slider = document.getElementById(this.slider_id);
slider.max = this.frames.length - 1;
if (isInternetExplorer()) {
// switch from oninput to onchange because IE <= 11 does not conform
// with W3C specification. It ignores oninput and onchange behaves
// like oninput. In contrast, Mircosoft Edge behaves correctly.
slider.setAttribute('onchange', slider.getAttribute('oninput'));
slider.setAttribute('oninput', null);
}
this.set_frame(this.current_frame);
}
Animation.prototype.get_loop_state = function(){
var button_group = document[this.loop_select_id].state;
for (var i = 0; i < button_group.length; i++) {
var button = button_group[i];
if (button.checked) {
return button.value;
}
}
return undefined;
}
Animation.prototype.set_frame = function(frame){
this.current_frame = frame;
document.getElementById(this.img_id).src =
this.frames[this.current_frame].src;
document.getElementById(this.slider_id).value = this.current_frame;
}
Animation.prototype.next_frame = function()
{
this.set_frame(Math.min(this.frames.length - 1, this.current_frame + 1));
}
Animation.prototype.previous_frame = function()
{
this.set_frame(Math.max(0, this.current_frame - 1));
}
Animation.prototype.first_frame = function()
{
this.set_frame(0);
}
Animation.prototype.last_frame = function()
{
this.set_frame(this.frames.length - 1);
}
Animation.prototype.slower = function()
{
this.interval /= 0.7;
if(this.direction > 0){this.play_animation();}
else if(this.direction < 0){this.reverse_animation();}
}
Animation.prototype.faster = function()
{
this.interval *= 0.7;
if(this.direction > 0){this.play_animation();}
else if(this.direction < 0){this.reverse_animation();}
}
Animation.prototype.anim_step_forward = function()
{
this.current_frame += 1;
if(this.current_frame < this.frames.length){
this.set_frame(this.current_frame);
}else{
var loop_state = this.get_loop_state();
if(loop_state == "loop"){
this.first_frame();
}else if(loop_state == "reflect"){
this.last_frame();
this.reverse_animation();
}else{
this.pause_animation();
this.last_frame();
}
}
}
Animation.prototype.anim_step_reverse = function()
{
this.current_frame -= 1;
if(this.current_frame >= 0){
this.set_frame(this.current_frame);
}else{
var loop_state = this.get_loop_state();
if(loop_state == "loop"){
this.last_frame();
}else if(loop_state == "reflect"){
this.first_frame();
this.play_animation();
}else{
this.pause_animation();
this.first_frame();
}
}
}
Animation.prototype.pause_animation = function()
{
this.direction = 0;
if (this.timer){
clearInterval(this.timer);
this.timer = null;
}
}
Animation.prototype.play_animation = function()
{
this.pause_animation();
this.direction = 1;
var t = this;
if (!this.timer) this.timer = setInterval(function() {
t.anim_step_forward();
}, this.interval);
}
Animation.prototype.reverse_animation = function()
{
this.pause_animation();
this.direction = -1;
var t = this;
if (!this.timer) this.timer = setInterval(function() {
t.anim_step_reverse();
}, this.interval);
}
</script>
<style>
.animation {
display: inline-block;
text-align: center;
}
input[type=range].anim-slider {
width: 374px;
margin-left: auto;
margin-right: auto;
}
.anim-buttons {
margin: 8px 0px;
}
.anim-buttons button {
padding: 0;
width: 36px;
}
.anim-state label {
margin-right: 8px;
}
.anim-state input {
margin: 0;
vertical-align: middle;
}
</style>
<br />
<div class="animation">
<img id="_anim_imgd629f51141be4e8e985842ea13715b5f" />
<br />
<div class="anim-controls">
<input class="anim-slider" id="_anim_sliderd629f51141be4e8e985842ea13715b5f" max="1" min="0" name="points" oninput="animd629f51141be4e8e985842ea13715b5f.set_frame(parseInt(this.value));" step="1" type="range" value="0" />
<br />
<div class="anim-buttons">
<button onclick="animd629f51141be4e8e985842ea13715b5f.slower()"><i class="fa fa-minus"></i></button>
<button onclick="animd629f51141be4e8e985842ea13715b5f.first_frame()"><i class="fa fa-fast-backward">
</i></button>
<button onclick="animd629f51141be4e8e985842ea13715b5f.previous_frame()">
<i class="fa fa-step-backward"></i></button>
<button onclick="animd629f51141be4e8e985842ea13715b5f.reverse_animation()">
<i class="fa fa-play fa-flip-horizontal"></i></button>
<button onclick="animd629f51141be4e8e985842ea13715b5f.pause_animation()"><i class="fa fa-pause">
</i></button>
<button onclick="animd629f51141be4e8e985842ea13715b5f.play_animation()"><i class="fa fa-play"></i>
</button>
<button onclick="animd629f51141be4e8e985842ea13715b5f.next_frame()"><i class="fa fa-step-forward">
</i></button>
<button onclick="animd629f51141be4e8e985842ea13715b5f.last_frame()"><i class="fa fa-fast-forward">
</i></button>
<button onclick="animd629f51141be4e8e985842ea13715b5f.faster()"><i class="fa fa-plus"></i></button>
</div>
<form action="#n" class="anim-state" name="_anim_loop_selectd629f51141be4e8e985842ea13715b5f">
<input id="_anim_radio1_d629f51141be4e8e985842ea13715b5f" name="state" type="radio" value="once" />
<label for="_anim_radio1_d629f51141be4e8e985842ea13715b5f">Once</label>
<input checked="" id="_anim_radio2_d629f51141be4e8e985842ea13715b5f" name="state" type="radio" value="loop" />
<label for="_anim_radio2_d629f51141be4e8e985842ea13715b5f">Loop</label>
<input id="_anim_radio3_d629f51141be4e8e985842ea13715b5f" name="state" type="radio" value="reflect" />
<label for="_anim_radio3_d629f51141be4e8e985842ea13715b5f">Reflect</label>
</form>
</div>
</div>
<script language="javascript">
/* Instantiate the Animation class. */
/* The IDs given should match those used in the template above. */
(function() {
var img_id = "_anim_imgd629f51141be4e8e985842ea13715b5f";
var slider_id = "_anim_sliderd629f51141be4e8e985842ea13715b5f";
var loop_select_id = "_anim_loop_selectd629f51141be4e8e985842ea13715b5f";
var frames = new Array(6);
frames[0] = "data:image/png;base64,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\
eF4Y0/hkpLRKx5dJV9l4PIeLeeU4KuU8MMyXhSMDGRHoYZdzic19htUKiYUjA8Vn2IJs9djZHBHA\
ulB+fj4JCQksXboUuVzO+vXrmTNnDlu3bmX69On069ePpKQkiouLmTJlSrtfp7JWz4i39lKrb9pJ\
WqWQsfUXY+mncRbV6u1MS+nghkwmE2eulrLpeDbbT1+jUmsg3MeFhSMDmT/cn17ODl086vZp7TOs\
Vso4+dp08fm1EFs8drZEXId3oYKCAgICAlAqlchkMoKCgrh48SKFhYUEBQUB0L9/f1JSUjr0OvWV\
zptTqzfy0IeHGfHWXt7Yloze0PQAIdimOzc8N0eSJKL6evDn+UM59ttp/PWnQ3ByUPDWjguM/tM+\
nv88iR/TCzHeMa/WFZuk70Vrn2HZrfsFQZzCdCFvb2/2799PVVUVSqWS9PR0fH198fb2JjU1lYiI\
CC5cuEBZWVmHXqe1iX/AnJKx9F6iO7XlCkLoPC4qBQtHBrJwZCAX88rYmJjDl0m5fH3mGoGeTiwc\
2ZefRPmx+kCGzc2VtvYZrtIZ2Xwih8Xjg/F2FU1bezKbSCHu2rWLlStXYjAY+PnPf86vf/3rRveX\
lpby2GOPkZ2djV6v55e//CVPP/10q89pq5fBp06d4vjx4zg4OODl5YVCoSAmJoadO3dSXV1NeHg4\
iYmJvPrqqx16nTe2JbPpeDY1+tbfXgeFxDfPT0DjosJJJcdBLuv0+RJbXlDS09ToDOw+n8fGxByO\
ZBQhAZIEDWOFrcyVNjcH5iCX8HZTk1tSjUIm8cAwP5aMD2aQn7sVR9q92OqxszlWD2AGg4Hw8HD2\
7t1LQEAAI0eO5PPPP2fgwNsNGf/0pz9RWlrKX//6VwoKChgwYAB5eXk4OLScz7eHN2Hfvn24ubkx\
cuRI821FRUVs3bqVpUuXdui59QYjv0o4yxdJuSjlEjpD295mhUzCyUGOi0qBk0qBs4McJwcFzqo7\
/nWQ3+V+BU6quuf50zcX2HLyqlhQYmMuXCvlgX8cormPhi3MM7W2eCWnuJp1P2ay5eRVqrQGRgd7\
smR8MFMjfZC3kHoU2sYejp31rJ7HSUxMJDQ0lP79+wOwaNEitm3b1iiASZJEeXk5JpOJiooKPD09\
zTXz7E1lZSXOzs6UlpaSkpLCkiVLzLeZTCYOHDhATExMh19HIZfx9PhgvkjK5Um3CxRVGTEAJiS+\
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\
"
frames[1] = "data:image/png;base64,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\
"
frames[2] = "data:image/png;base64,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\
"
frames[3] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAAGwCAYAAADITjAqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0\
dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeUDUdf748ednDhgYLjnlEpBD8FY8\
8D4SKy0xU7O+laWruXbtb9vao9q2bY+23XWrba1sd23DzAMtzdS0zCsPUBFFFEGQy4NDua85Pr8/\
kBHkEBSYGXg//ilmhuEFfubz+nzex+slybIsIwiCIAhWRmHuAARBEAThTogEJgiCIFglkcAEQRAE\
qyQSmCAIgmCVRAITBEEQrJJIYIIgCIJVEglMEARBsEoigQmCIAhWSSQwQRAEwSqJBCYIgiBYJZHA\
BEEQBKskEpggCIJglUQCEwRBEKySSGCCIAiCVRIJTBAEQbBKIoEJgiAIVkkkMEEQBMEqiQQmCIIg\
WCWRwARBEASrJBKYIAiCYJVEAhMEQRCskkhggiAIglUSCUwQBEGwSiKBCYIgCFZJJDBBEATBKokE\
JgiCIFglkcAEQRAEqyQSmCAIgmCVRAITBEEQrJJIYIIgCIJVEglMEARBsEoigQmCIAhWSSQwQRAE\
wSqJBCYIgiBYJZHABEEQBKskEpggCIJglUQCEwRBEKySSGCCIAiCVRIJTBAEQbBKIoEJgiAIVkkk\
MEEQBMEqqcwdgCAI5vPuu+9ia2uLJEkoFAqWLl1qeu7QoUPs3r2bl19+GXt7ezNGKQjNEwlMEHq4\
hQsXNklQJSUlZGRk4OzsbKaoBOH2xBCiIAhNfPvtt0ybNs3cYQhCq8QdmCD0YJIkERsbiyRJREZG\
EhkZSWpqKo6OjvTu3dvc4QlCq0QCE4QebNGiRTg6OlJRUUFsbCzu7u4cOHCAxx9/3NyhCcJtSbIs\
y+YOQhAsnV6vZ/Xq1RgMBoxGIxEREUyZMoUrV67wzTffUFtbi4uLC3PmzMHW1tbc4d6RvXv3IkkS\
8fHxqNVqAEpLS3F0dGTJkiU4ODiYOUJBaMzsCWzRokVs27YNT09PkpOTmzwvyzIvvvgi27dvx97e\
nk8//ZThw4ebIVKhJ5NlGZ1Oh42NDQaDgdWrV3PfffexY8cOoqOjCQwMJDExkevXrzN16lRzh9sm\
tbW1yLKMra0ttbW1xMbGMmnSJEJCQkyveffdd1m6dKlYhShYJLMv4njqqafYuXNni8/v2LGDtLQ0\
0tLSWLVqFT/96U+7MDpBqCNJEjY2NgAYjUYMBgMAhYWFBAQEANC3b1/Onj1rthjbq6KigtWrV/PR\
Rx/x73//m9DQ0EbJSxAsndnnwCZOnMjFixdbfH7Lli08+eSTSJJEVFQUxcXFXL58GW9v764LspMZ\
jUY++eQTHB0deeyxx6iqqiIuLo7i4mJcXFyYO3cudnZ25g6zxzMajaxatYpr164xcuRI/Pz88PT0\
JDU1lfDwcFJSUigtLTV3mG3Wq1cvli1b1uprfvazn3VRNILQfma/A7udvLw8/P39TV/7+fmRl5dn\
xog63tGjR3F3dzd9ffDgQYKCgnj++ecJCgri4MGDZoxOqKdQKFi2bBk///nPuXTpEvn5+cTExJCQ\
kMCqVauoqalBqVSaO0xB6DHMfgd2O81N0UmS1OxrV61axapVqwA4d+4c4eHhnRpbR9BoNAwdOpS0\
tDSCg4NZsWIFU6ZM4dChQ9TU1GBra8vYsWP59a9/be5QhQbCwsL45ptvyMjIMD2m1WoZNmwYI0aM\
MGNkgnB3Ll68SGFhobnDaBOLT2B+fn7k5OSYvs7NzcXHx6fZ1y5dutRUCmfEiBEcO3asS2K8Gxs2\
bGD8+PHU1tZy6NAhVq5cydtvv82PP/5oes1f/vIXq/hdurOKigqUSiUajQadTseaNWsYN24cvr6+\
aLVaZFnmq6++IjAwkHfffdfc4baqokbP1dJqvJw0aG0t/hQgdDFrugCz+KN31qxZfPDBByxYsICj\
R4/i7Ozcbea/zp8/j1arxcfHp9V5QMH8ysvL+eqrrzAajciyzIABAwgLC+PIkSMkJCQAEBERwdCh\
Q80cacv0BiNvbUthXUIOKoWE3iizYKQ/rz/QH5XS4mcTBKEJsyewRx99lL1791JYWIifnx9vvvkm\
Op0OgGXLljFjxgy2b99OSEgI9vb2rF692swRd5zs7GxSU1NJS0tDr9dTU1PD5s2bcXBwoKysDEdH\
R8rKytBqteYOtcfz8vLimWeeafJ4VFQUUVFRZoio/d78+gwbj+VQo5epufHYhmN1oxtvxgw0X2CC\
cIfMvg+ss1jLEGK9ixcvcujQIR577DF27dqFvb0948eP5+DBg1RVVREdHW3uEAULI8sypVV6Citq\
KCqv5VpFDYXltRSV11J047HC8hqKKur+W1ypa/Z9NGoFx1+LFsOJ3VhLG/HrNew8MHHiRKs5d4oj\
1gKNHz+euLg4EhMTcXZ2Zt68eeYOqcfq6vmiqlqDKfkUNUxIDRJR/XPXKmrRGZq//nS2U+PmYIO7\
1pZQTwf6ezux4/RldMamr1cAV0ur6eshKm10V0qlkoULFzbaiB8aGoqfn59Vdx4QCcxCBAYGEhgY\
CIC9vT1PPvmkeQOyAoWFhcTFxZm+vn79OlOmTCEwMJBt27ah1+tRKBTMnDkTX1/fdr13R80X6Q1G\
rlXWJ6GGSemWJHUjaVXWGpp9H41agbuDLW4Otng7axjo64Sbgy1uWpsbj9vgprXF3cGGXlob1LfE\
WFGj59szV6CZBFalM4oE1s21tBEfbnYeWLdunbnCu2MigQlWy93d3bQR12g0smLFCsLDw/n666+Z\
NGkSoaGhpKWlsXv3bp566ql2vfdb21LYcCyHGr2x0XyRLMu8ND3cNGxXVF5DYUXThHTtxmPXWxi2\
Uyok3LQ2uDnUJZ1AN/u6hHTjrslVa1P3/zces7e5u4+q1lbFgpH+bDiWQ5XOaHrcVimhUil44j/x\
/Or+cBaPD2pxm4pg3ZrbiG/tnQdEAjMTsZS5Y2VmZuLq6oqLiwuSJFFTU5d2qqurcXR0bNd7VdTo\
WZdQl7waqtIZ+exINp8dyW72+1zs1aakFOblgFtfN1y1Nrg72JjuluoTlpNGjULRtYni9Qf6A7D+\
WA5KScIgyzwywp8X7gnl15tP84dvznIk4xp/mzcYF3ubLo3N2mzZssW0inj58uUA7Nq1i/Pnz6NU\
KnF1dSUmJgaNRmPmSG+q34hfXV3N+vXruXr1qtV3HhCLOLqYWMrcObZs2YK3tzejRo2ioKCANWvW\
AHULHRYtWoSLi0ub3+uHc1dZ8tlx9M0Mt6kVEj+Z2Jd+Xo63HbazVM1dPMmyzKeHLvKn7WfxdNTw\
/qPDiAzoZeZILVdWVhY2NjZ8+eWXpgR24cIFgoKCUCgU7N69G8BiF1+11nkgLi6u0T5USyYu/btY\
S0NTIJYyN3T48GESExOBuiXsMTEx7Nmzp9krXIPBQGpqKvfccw8Ax44d495776V///6cOXOGrVu3\
3nZOUW8wsjvlKp8dzuJwRlGLr1MqJZ6bEmLVd81aW1WT+S5Jknh6XBDD+/TiuS9O8MjHh3n53n4s\
mdC3y+8UrUFAQADFxcWNHgsODjb9v5+fn0UVdr51I35mZibjxo3j5ZdfNr2mvvPA559/bsZI28d6\
P4VWqLWhqfXHcnjlvnCrPjF2lNLSUuLj41m+fDlqtZqNGzeSnJxMcHAw06ZNM13hHjhwgOjoaNLS\
0vD29jb1q0pKSuK+++4DoH///mzdurXFn5VfVs26+BzWHs3mSmk1vi52vHJfP7IKK9iadKnRfJGd\
WsH8Ef7d+t9oiL8L256fwK82neLPO85xNPMaf5s3BFetGFJsj5MnTzJgwABzh2HS0kZ8a9d9P4kW\
6GppNS1dzColSawEa8BoNKLX61Eqleh0OhwdHVu8wk1OTmbgwJt3r46OjmRlZREYGEhmZiZubm6N\
3luWZY5lXeezw1nsTL6MziAzIdSdt2YPZGq4J0qFhN5gRKNWNpovmj/C3zSP1J0526lZ+X/DiT2S\
xR+2nWXm+wf456PDGBHoau7QrML+/ftRKBQMGjTI3KGYtLQRvyFr7DwgElgXOnOptNEVfUMGWcbL\
yXImfM3JycmJMWPG8I9//AO1Wk1wcHCj5AU3r3B1Oh0ZGRk88MADpucefPBBdu7cidFoRKVSmZ6r\
rNXzVeIlYo9kcfZyKY4aFU9EBfJ4VJ8mFw4qpYI3Ywbyyn3hPXKxjSRJPDkmkOF9evHs2hM8suoI\
L00PY9nEYDGk2IqTJ0+SlpZmagEldK6e84k0I53ByDs7z/HJgUzctDaU1+io0d9cINAThqbao6qq\
itTUVF588UU0Gg0bN27k1KlTDB48GGh8hStJEq+88kqj7+/Tp4+pqDNARkE5b359hrjjuZRV64nw\
duLPcwYRM9TntsvTm5sv6kkG+jrz9fPj+fXm07yzM5WjGddYMX8Ibg625g7N4qSnp/Pjjz/y1FNP\
mRZGmFt3X+3c/X4jC3O5pIrn1iZyPOs6T0QF8Kv7+/HOzlTWJWRTo5dRKmj30NStDTC7m4yMDFxc\
XEw1ICMiIsjJyWHw4MFtvsI1GGX2nMvns8MXOZBWiFopcf9Ab54cE0BkQC9xddwOTho1Hzw6jDF9\
3fj9thRmvH+A9xcMY3Rft9t/cze1adMmLl68SGVlJStWrGDy5MkcPHgQg8FAbGwsUDfM3XBkoCu1\
tNq5V+Z32NraIkkSCoWCpUuXNmmgaynJty1EAutE+88X8LP1J6nRGXj/0WHMGlLXBqZ+aOrJ/xyl\
tFrf7tWH9Q0w6/c6dTfOzs7k5eWh0+lQqVRkZmbi7e1tusKd/9jj5BTX4OUkNbmqLCqvYf2xHD4/\
kk1ecRW9nTT8PDqMBaP88XQUQ7R3SpIkHo8KYFgfF55bm8ijnxzh59FhLJ8c0iOHFB9++OEmjw0f\
PtwMkTSvpdXOj9jpeGXpUuzt7U2vrW+gW197NSQkxDxB3wGRwDqBwSjz3nfn+ecP6YR5OrLy8eEE\
3zIMpbVVET2gN2/vOGe6xW+L0tJS0tLSmDBhAocPH+6M8M3Oz8+PiIgIPv74YxQKBd7e3kRGRrJy\
5UqulVfzx/fqmpYWGrUER07ktZkRJF8qJfZwFttOXabWYGRMXzdemxlBdH8vsb+uAw3wqRtS/M3m\
0/xt13mOZl7jH48MxV0MKVqMiho9X8RnU3tLncwqnZEKpZ6KGj0N8hepqaksXLgQgCFDhlhVVQ6R\
wDpYQVkNL65L5NCFIuZG+vFWzEDsbJpvMz8+xB2Ag2mFPBzp16b337lzJ9OmTaO2trbDYrZEU6ZM\
aVQtG6AoYGqTUkhH47PZduoyRRW1ONiqWDDKnyeiAgj1al/1DaHtHGxVvLdgKGOC3fjd1jPMeO8A\
7y0YxphgyxlSPHLkCCdOnADq7oyioqIsvlLG7ciyTGm1noKyGvLLquv+W1pDQXkN+aXV5JfVkF9W\
w9XS6ibJ6yaJdWs/x1atJDIyksjISMrLy03VahwdHU01E62BSGAd6GhGEc9/kUhJlY535g5m/gj/\
Vl/f39sJN60NB9MbJ7CSkhK++uorysvLkSTJ9AH87rvvyMzM5OzZs8ycObOzfx2L0tIeOp1B5lpF\
La/NjGDBqD44dOBEdXMnwbi4OFO79erqajQajakeY08iSRKPjurDUH8Xnl17gv/79xFevCeM56aG\
oOyAIcXm/vZnzpxh3759FBQUsGTJkhY7s+fn53PixAmWLFmCUqlkzZo1hIaGtriPsD06Y1GEwShT\
VHEjGTVMTjcSVH5Z9Y0kVdPk+AewUSnwdLTF09GWYA8tIwJ6sfF4LoZmKsl8Z4jg4E9mgr6G2NhY\
3N3dO+R3MBeRwDqA0Sjz0f4L/O3bVALdtPxv0SgivJ1u+30KhcTYEHcOphciy7JpYYFCoWD69Ol4\
e3tTU1PDqlWrCA4OprKyEqVSiVKp5Pvvv0ev17N582bmzJnT2b9il2npBHG5pKrF77FTK5ga7tmh\
yav+JOjt7U1aWhp79uwhNDSUuXPncuXKFbZt24ZOp8NgMJCXl9fuavfdRYS3E18/N57XvkrmH9+d\
52hmEe8uGHpX840tJSBPT0/mz5/Ptm3bWv3+goIC/Pz8TIsRAgICOHfuHOPGjTO9pr2VMu6kBFy1\
ztByQqr/uqyGovKa5poE4KRR4eFoi6ejhuF9euHpaGv62tPRFk8nWzwcNDjZqZosSrJVKZqMVtip\
FcwaEVz3ubJVER4eTl5eXpMGutY0uiMS2F0qrqzlpQ1JfH8un5mDvXl7ziAcNW1fxTMh1J2vky6R\
erWM8N51Sc/R0dF0S29ra4uHhwelpaXMmjULgE8//ZSBAwdy/vz5bpO8WjpB/GxaKFtOXuJ/h7Oa\
vfoEMEKH76GrPwkOGTKEqKgo1qxZYzoJ7t69m4kTJ/LNN98wceLEO6p2351obVWsmD+EMX3d+O3W\
ZGa8d5D3FgxlXMidXd23JQG1xtPTkz179lBZWYlarSY9PR1vb+9Gr2lvpYzmFkV8EZ9NRkE5E8I8\
Ggzl1SWo/LIayqr1Td5HIYGbg63pjmmgj3NdUnKyvZGgNKZEpVE3P/XQFvWrmutXO6sUEvOHefNK\
dN1+ytraWi5cuMCkSZMICwsjKSmJ8ePHk5SUxJUrV+7453a1Hp/AmhuqqL/Cvl0/qZM5xTz7+Qny\
y6r5fcwAnogKaPfy7AmhN+fB6hNYQ8XFxVy+fBk/v7bNkVmr5k4Qa45msTY+G51BZoi/C+ND3Dh2\
8RrVXbCHrv4kOG3aNCoqKqitraWkpASoGz7Ly8tDq9ViY2PT7mr33ZEkScwf6c+QG0OKj//nKM9P\
DeXFe0LbPaTYlgTUGg8PD8aNG0dsbCw2NjZ4eXmhUNy8S2pvpYyKGr3pOGyo1iBzIL2IA+lF2KoU\
N5KQhjAvR8aFuN9IUho86u+cnGxx09p2yBDr7dRvxH9pej+G/n4Xi8YF8dOxvYn97H9A3VacgQMH\
EhISgo+PT6MGuunp6Z0eX0fp0QmspaGK3bt3t9pPSpZl/nfoIn/cfhYvJw1xy8YyxL/t1c4b8na2\
I9hDy4G0Qn4yoW+j52pra9mwYQP33XcftraNV3n5+PgwYsSIO/qZlqal+S2DEWRJ5osloxkT7G66\
S+uK8k4NT4IKhQKVSmU6Cd5777188sknprmURYsWdfjPt1b9ejuy9blxvP7VGd7/Po34zCLeXzAM\
z3bcId8uAbXF8OHDTcvav//+e5yc6i4O21Mpo1pn4JtTl1n9Y2aLna/t1ArWPzOGQb7OFrm30MlO\
jbezHQXlNfTq1avZ+dpbG+i+//77XRniXenRCayloYrW+kmVVev41abTfHP6MtMiPPn7vKE429/d\
xr8JoR43bvUN2Krqhg0MBgMbNmxg0KBBRERE3NX7W7qrpdWoFBLN7WpTKyQ0N/4mXV3eqf4kWFxc\
zKpVq0w1FRMSElAoFCxfvpycnJw2VbvvSextVPx9/hCi+rry2y1nmPH+Af7xyFAmhHq0+T1aSkBt\
VVFRgVarpaSkhLNnz7J48eI2V8o4d6WUdfE5bD6RS2m1nkA3e5QKqdlFETIQ7OFgkcmrnm8vO/KK\
W55DtmY9OoG1NFRx7733smbNGnbv3m3qJwWQcqmU5Z8fx6E0kyVupfSqyOK7HdnExMSwf/9+UlNT\
kSQJrVbL7Nmz2zy0ND7EnU8PXeT4xeuMDXFHlmW2bt2Ku7s7Y8aM6cw/gUXwctI023sLoMYgM+ej\
QwzydWZiqAeT+nkw1N+lS8o71Z8ES0tLqa2tNRUMPnnyJN7e3jg5Od222n1PNm+Ev2mV4pP/jefZ\
ySH8bFpom/blNZeA2mPDhg2mRU8zZszAzs6O7du3t1gpo6rWwLZTl/giPpsT2cXYKBXcP6g3j47q\
w+ggV3639UyziyKsoQScr4sdCRevmTuMTmHZf/lO1tJQRXP9pGwjJvPbLWfwsjMy0aWE//fCc41a\
fYwbN46pU6cCdZUy9u3b1+YyMlHBbqgUEgfSCxkb4k5OTg6nTp3C09OTjz76CKMsM2jkOBxtFOz5\
bheVlZWsXbuW3r17W3U31XottbvXqCSmhnvRr7cT+9MKWLk3nQ9+SMfRVsXYEDcmhnkwMdQDf1f7\
Vt79ztWfBAEcHByws7MD6laJ1i/hbq7avXBTqJcjW54dzxtbk/ngh3TiM6/x/qPD6O3c+pBicwno\
7Nmz7Nixo03H/9NPP93ksRdeeKHJYymXSvkiPpuvEvMoq9ET7KHltZkRPDzcj14NWsg0183aWroT\
+LhouFJSTdrVMnxc7Cw+4baH6MjcQP1Qxffff88vf/lLJEmiokbHX995h08rhjI+xJ0/zAzmy3Wx\
LFu2DFtbW9atW8fo0aMbVUs/cOAAJSUl7aqDNu+jQ1TrjHz9/HjTY3favbm5dud79+7lxIkTphIy\
99xzD6Ghoe36+3Sm5ua3HhnR+HctqdJxKL2Q/WkF7D9faBoW6euhrbs7C/NgdF/X2xbobY+GNe+0\
Wi2TJ0/G3d29UbX7GTNmtLgnSbjpy8RcXv0yGY1ayYr5Q5jcz9MscVTU6Nl26hJr43NIyinGRqXg\
gUHePDq6DyNuUyfT2orj6g1GHv/PUY5kXMNOrcAoc9tziKV2s29Oj09gDYcqYmNjWbx4Mf/973+Z\
OXMmens3fv2/7+ldnkbwhBien1q3ourIkSPs2bPH1Oqjfin7999/z6lTp7C1tWXhwoWmYrRt8f73\
afzju/OceC3adOX3xpbkFoctWquf2Fy7871792JjY8PYsWPbHJM5tPUEIcsyFwrK2Xe+kP3nCzia\
WUS1zoiNUsHIoF6m4cZ+Xo4WPT/R06Tnl/Pc2hOcu1LGTycH81J0WIeW+mrt+EnOK+GL+Gy2nLxE\
eY2eUE8HHhvdh4eG+eJibz3VJ9rjjS3JTcpK3e4cIhKYBWjrP8Lq1atNQxXTp0+nb9++ZGdns27z\
Vi4XVyFLCqLvu4+Zo+v2jFRVVbFhwwbmzp1ravXRv39/U6sPqLsD0+v1TUohteZE9nXmrDzEB48N\
44HBPlTU6Bn+1u5m9z5p1AqOvxbd6gm+uLiYtWvXWl0Cu1PVOgMJF6+x/3wB+84XcP5qOQBeTrZM\
CPVgYpgHE0LcGw0LNcfarrCtUbXOwJtfn+GL+BxGBPTi/UeH4eNSNzx7p3//lkYr/l90GNtPX+GL\
+GxO55Vgq1LwwGAfHhvtz/A+3bsrwZ2eQ6wpgfX4T+itY+XVOgMfHy/h8ytBjAzsxT8fHd5ovL61\
Vh/1Bg0axNq1a9uVwAb7OuOoUfHDuXz6eztRVWvo8O7N8fHxJCUl4ePjw/Tp001zOt2BRq1kQqgH\
E0I9eHVmXeWOA+cL2ZdWwO6Uq8Qdz0WS6v7Ok8LqEtpQfxfT1f+dDtcK7adRK/nznMFE9XXjN5tP\
M+P9A/z14cEcTC+8479/s/sIj2Tx+dFs9EaZ8N6OvDlrALOH+t71qmFrcbW0GmU37wDf4xNYQ9lF\
lSxfe5zkvFKemdSXX0zvh/qWD09LrT6KiopMk/mpqal3VGOsl72aTSfy2H7qEjojLa7Mu5PuzSNG\
jGDixIlIksSePXvYtWsXMTEx7Y7RWng72zF/pD/zR/pjMMok5Raz/3wB+88X8MEP6by/Jx1HjYpx\
we5MDPPgeNY1tp++3OgEuC4hB51B5k9zuqY1fEs1MLtr/cWYob4M8nXm2bWJLIk9jkoBeiON2n8A\
t2031OI+QhmUyKz9yWjGBLt167ut5ng5aVqsXtNdOsCLBHbDt2eu8IuNSUjAJ0+OILq/V7Ova6nV\
x+bNmyksLESSJFxcXNpdbPetbSlcLq4GoKpBpQkFdaWSGoqO8Gr38JaDw80rrcjISNauXduu77dm\
SoXE8D69GN6nFz+bFkZJpY4fLxSaEtrOM82XzqnRG1kbnw3I/D5mYKffibVUA3Pu3Lmm13z77bdW\
VUH9dvp6OPD54lGM+ON33HqurdIZWX8sh1fuC2/1eG9tH6FGraS3s6bHJS+A1KtlGGVQSnXJvJ61\
LP9vC+v/De5Q/Vi7q9aGD/ak8++DmQz2c+Zfjw2/7bLs5lp9zJ8//65iWZeQg66ZOy5JIWGrAJVC\
gd5oRCEpSMotoaRKh7Nd24dC6ot1Apw9exZPT/OsALMEzvZqZgzyZsYgb2RZ5ofUfJbFHm+xBcWm\
E7mob2yi7kwt1cD08KjbACzLMikpKd1u03RxlQ47tZKKWkOT59oy1NXaPsLucqfRXhU1en6+/iQ+\
LnZMDHXny5N5Vrf8vy16XAJrONehkKBaZ0QGnogK4LUHIkyVMLpSq1eQKgUbnhmDnY0SLycN566U\
8sjHR3hpw0lWPTGi2W64zbU7z8rKMhXpdHFxMVurc0sjSRKjg+qHl1rYTK2X23Qn0JGaq4GZnZ2N\
VqvtdvvO7jYBaW1VzIv0Y83R7EaPd6c7jfb64/azZF2rZN2SKEb3deO1B/p3y8VJ3ec3aaO3tqWw\
/kaF5npqpYRCwizJC27/AQ5015oOusgAV16bGcHvvk7hw30XeHZK0/bflt7u3NLUb6Rubh6lnsEo\
c/ZyKSMCXTs9npZqYJ4+fdpUDaQ7aWkje3sS0NhgN9YczUatlLBRKrrdnUZ77Dl3lbVHs3lmUl9G\
96272NHaqqx+wUZzetTyqvqhuobVzKGuKeK6hGwqapq2P2j4vRkF5a2+5k7Vf4Dt1I3/OezUCh5p\
5gO8cGwgs4b48PddqRxIK+jweHqi1x/oz8PDW674rzPIPLLqCIs+TWDH6cvU6JsOd3WElmpgGo1G\
zp071y0TGNT9/eeP8Ed9Y9mcjVJqVwKKO5GHl5Mtx16dxtfPj+f4a9G82QXzlpamqLyGV+JOE97b\
kZ9Hh5k7nE7Xo+7AWhuqq9HLTFuxj/Eh7kT1dSMq2A1fF7suW17dnlI1kiTx9sODSL1SxgtfJLLt\
hQn4unSfJfHmoFIqbqw2lNl0IrfRHbqdWsG9A3rj42LH5hN5/PTcCVzs1cwe6svcSD8G+Dh1yCKB\
1mpgZmRk4O7u3u6ittaivrMRnI4AACAASURBVFDzwrGBTP37Pl6a3o9nJgXf/hup+1zvTc3np5OD\
cba3wbmbbkq+HVmW+fXm05RW6YhdPMpsI0pdqUclsNaG6lQKif7eTuxKucrG47kA+LvaYaNUkH2t\
Ep1Bbvfy3vZob6V1exsVHz4+nJgPfmT5muN8+vQorlfWdrsx7q72+5iBqJWKZi8kVEoFL03vx8H0\
QjYey2FtfDafHrpIeG9H5kb6MXuYL+4Otrf/IS24tQYm3Cz5lZyc3G3vvhrq6+GAp6Mt566Utfl7\
4o7nYpRhXqR/J0Zm+eKO57Ir5Sq/mRHepo7w3UGPq8Rxu/JMRqNM6tUyjmQU8WN6Id+dzW/2/dtS\
DaMrbD91ieVrE1FIYKdWig24HaQtFSFKKnVsPXWJuOO5JOUUo1JITAn3ZG6kH1PDPZvsIewo1dXV\
bN26lfz8fCRJYtasWVy4cMGia122x5LPjnEhv5w9v5h829fKssyUv+3Fy0nD+me6f+eGluRcq+T+\
9w4wwMeJtUui7qpppqjEYcFuN1SnUEhEeDsR4e3EpDAPDqUXUqlrOrFvKTvZj2ZeM20ArV+G3Bl3\
iD1NWya9ne3VPBEVwBNRAZy/Wsam47lsTsxjd8pV3LQ2xAz1Zd4Ivw6/Gt65cychISHMnz8fg8GA\
TqfjwoULREVFdYtSYUP9XdidcpWSSt1tq2bEZ17jYlElz0+1zmTdEQxGmZc2JAHw9/lDuqTjs6Xo\
cQmsPUN1Xk4aWtgaZBH7S+oXpdzpBlCh44R5OfLrGRG8fG8/9qcVsPFYLrFHLvLfHzMZ4OPEvEg/\
Zg31xbWZWoztqf9XU1NDVlaWqYqKUqlEqexecx1D/Oq6m5/KK75tE8wNx3JxsFUxY5B3V4Rmkf59\
IIP4i9f4+7wh+PXqnNZClqrHnt3acoXd0vJetVJqdnVgV2ttUYql3CH2NCqlgqnhXkwN9+J6RS1b\
ky6x8XgOv/s6hT9uP8u0CC/mRvoxKazuxNzeBULXr1/H3t6eLVu2cPXqVby9vbnvvvuA7lPrcpCf\
MwCncktaTWBl1Tq2n77M7GG+2Nl0ryTeVimXSvnbrlTuH9ibOcN9zR1Ol+uxCaytGg45Kqi7u3G0\
VfHazIjWv7ELiAoElq2X1oaFYwNZODaQs5dLiTuey1eJeexIvoK7gy1ejrakF5RRo2/7AiGj0cjl\
y5e5//778fPzY8eOHRw8eJBRo0Z1m1qXznZq+rprOZlT3Orrtp26TJXOwPwRLW9/6M6qdQZ+vuEk\
LvY2/PGhQT2yXJaY5b+N+iHH469Fs+2FCbw1eyDXKnUcyjB/i+6W9o9pVJZxhyjcFOHtxOsP9OfI\
b+5h1RORDPFz5szl0kbL9eHm8G9L+w2dnJxwcnIyVejo378/V65cwcHBAYVCgSRJREZGkpeX1+m/\
U2ca4u/CyZxiWltjtj4hhzAvB4b6u3RhZJZjxe7znLtSxjtzBzc7NN0TiDNcG9UPOfr1sueDPel8\
tPeCaRjInBreISJDtd7IyEDXJvvHWqp0DnD06FESEhJQKBSEhoYSHR3d5b9HT6FWKpg+oDchng4c\
vtD+BUIODg44OztTWFiIu7s7mZmZuLu7d7tal0P8nPkyMY8rpdV4O98cCj18+DCJiYnU6o04F8jM\
vOc+JEnqccfw4QtFfHIgg8ej+jDFTJ2tLYFIYO1ko1LwkwlB/OGbs5zMKTb71V/DRSmXS6p49JOj\
ONqpm8yhtFTpvLy8nNTUVJYtW4ZKpaKiosJMv0nP0toCIb3R2Orw7/3338/mzZsxGAz06tWLmJgY\
du7c2a1qXQ6+8blKyikxJbDS0lLi4+NZvnw57+xKQ1H4HRGaYjIzM3vUMVxareMXG5MIdNPymxnm\
n8owJ5HA7sCCUX345427sI+eiDR3OEDdHWKIpyPT+3vxZWIe1ToDGvXNie2WKp2fOHGC8ePHo1LV\
HQr1jTqFztXSAiEAB1s1lbWGFoeAe/fuzdKlSxs99tBDD3VarObQ39sJlUIiKbeY+wb2Nj1uNBqp\
rK7ly+O5RDuq8fZw5dixYz3qGP7d1jNcKa0mbtkY7G169im8Z//2d8jBVsWTYwL44Id0LhSUE2xB\
K/2mD+jN50ezOXShkKnhzfc0Ky4uJiMjg+zsbGpra3F3d2fPnj2UlZWhVCqxsbFBq9Uye/ZsU9IT\
Ol5zexLH9nXjcMY1Hlr5I58+PZIQz679+7c01FxVVUVcXBzFxcW4uLgwd+7cTl3lqFErifB2IqnB\
Qg4nJyfGjBnD+++9S7QR/N2DCA4OZvfu3WRlZbFnzx5UKhXR0dH4+nbPFXnbT19m84k8XrwnlGF9\
epk7HLMTizju0FNjA7FVKVi1L8PcoTQypq8bjrYqdp252uzz9ZXOx48fzxNPPAHUVXZYvHgxs2fP\
RpZlnnnmGcLCwti3b1+nxLhlyxb++te/snLlykaPHz16lA8++ICVK1eye/fuTvnZlqThAqH6ArT/\
fXoU65+JolpnZM7KQxzJKOrSmOqHmp999lkWL15MQkICBQUFHDx4kKCgIJ5//nmCgoI4ePBgp8cy\
xN+Z07klGG+stK2qqiI1NZUs70n8oB5JL43EqVOnMBqNpmM4OjqauLi4Vhd/WKv80mp+8+Vphvg5\
89zUpl0oeiKRwO6Qm4Mt80f4szkxlysl1eYOx8RGpWByuCffnb2K4ZYl9g0rnU+cOBE7OzsUCgUR\
ERFIkkRQUBCSJFFZWUltbW2nxTh06FAef/zxRo81nMdYvnx5t6go0Vb1C4TqhwwH+7nw5fKxeDpp\
eOI/R/kqsW5FYWd2RKjn6OiIt3fdpuCGQ82pqakMGTIEgCFDhpCamtppMdQb7OdCWY2ejMK6Oa2M\
jAw0Wkf2pJfw8Ig+9O/fn5ycHJycnEzHsK+vr+kY7k5kWebluFNU6wyseGRop5Upszbir3AXlkzo\
i1GG/xy0rLuw6f29KCyvJTH7uumxliqd29rakpmZCUBRUREVFRV8/PHHnD59uknX6Y4SEBDQZPip\
p81j3I6/qz2blo1leJ9e/Gz9SR76148M+/0uHvznQYa/tZs3tiSjNzTfu6yjNGyqWV5ebhpOdnR0\
7JKFEkNNCznqhhGdnZ1Jy8xGkg3MHe5nWoEZHh7e6Bg2GAymmpDdxZqj2ew7X8BvZkRY1JSFuYk5\
sLvg72rPA4O9WXs0m+emhN62bltXmdzPA7VSYlfKVVMDxuYqnY8ePRqNRsP169dZuXIlSqWSBQsW\
EBQUxIEDB4iPj++0JHaroqKiHjOP0VbO9mo+WzyK+989QOKNk3itoWvqXbbUVLMrBXs4oLVRkpRb\
zMORfvj6+pJe68wjDqns2JiLt7c3kZGRSJLEli1bTMfw7Nmzu9Wm3oyCcv74TQoTwzx4IirA3OFY\
FJHA7tKyScFsOXmJ2CMXec5CCoo6atSMDXbn2zNX+PX94UiSRJ8+fXjjjTcava64uJjDhw8zZ86c\
Ju8xaNAg1q5d22UJrOE8xqVLl4iLi+OFF17oVieiO6E3yORebzoc1pn1Lptrqung4GDaa1ZWVtYl\
d8hKhcQgP2eSckuAusK9e8s8+fu8aB6ObFx9o7ljuDvQG4z8vw1J2KqU/HXu4B7/ebiVGEK8SxHe\
Tkzu58HqHy9SreucLr13YvoAL7KKKknLL2/z9xQV3VwwkJqairu7e2eE1qyeMI9xJ66WVrc431Gr\
NxJ7JKtDj7uWhprDwsJISqqreJ6UlES/fv067Ge2ZoifC2cvlVKjN/TIwr3/+uECSTnF/OmhQaI0\
XDPEHVgH+OmkYB5ZdYSNx3J4YkygucMBIDrCi1e/TGZb0iVmD/NtUul806ZNXLx4kcrKSlasWMHk\
yZNJT0+nsLAQSZJwcXFh5syZXRZv/TxGYGBgt53HuBOt1buUZXh7xzn+9UM6Dw3zZcHIPvT3ubvW\
LS011Rw/fjxxcXEkJibi7OzMvHnz7urntNUQfxdqDUa2JV3qcYV7k3KKeX9PGg8N82Xm4J6TtNuj\
xzW07AyyLPPwh4coKK/hh5cmW0QjSb3ByJg/f09heS32NpbV6LJh8tRqtUyePJkhQ4awZcsWrly5\
glKpZPr06QQFBZk1TkvRUhPWeZF+zBjsw7r4bLYnX6FWb2SwnzMLRvbhwSHeOGosY072TukNRn65\
6RSbTuShlMAgw4yBvXn/0WFmP4Y7W1WtgZnvH6BaZ2DHzybibNd1/5bW1NBSJLAOsuvMFZbGHue9\
BUOJGdry4oMjR45w4sQJANMm0StXrvDNN99QW1uLi4sLc+bMueuJ8ze2JPP50exGV+8NO08L1kNv\
MPLWtpRGG54fGdH4YqSkUseXibmsS8jh3JUy7NRKHhzizSMj+zC8j4tVzp28sSWZ9QnZVDcoeKxR\
STwysk+3P4Z/uyWZzw5nsXbJaMYGd91QPogEZhG6+h/BaJSZ/u5+1EoF218Y3+wJIz8/n7i4OJYs\
WYJSqWTNmjXMnDmTzZs3Ex0dTWBgIImJiVy/fp2pU6fecSwVNXqGv7Wbmls7XQK2KgWbfzqWQHet\
qFZvZdrS+FKWZZJyS1ifkM3Wk5eoqDUQ5uXAIyP7MGeYL72spGp5a8ewRq3g+GvR3fb43Zuaz1Or\
E/jJ+CBeu6Uod1ewpgTWve/Du5BCIfHMxL6cvVzKvvMFzb6moKAAPz8/1Go1CoWCgIAAzp07R2Fh\
IQEBdctj+/bty9mzZ+8qlvpGl82p0RuZ+9GhLttLJHScWzc8N0eSJIb6u/DnOYM5+uo0/vLwIOxt\
VLy1LYXRf/qe579I5Mf0QlN1i3pdsUm6PVo7huur9XdH1ytqeSXuFGFeDvzi3q5ZKGPNuucljJnE\
DPVlxe7zfLTvApObaXHg6enJnj17qKysRK1Wk56ejre3N56enqSmphIeHk5KSgqlpaV3FUdrE/+A\
aS6ls/cS3aotdxBCx3GwVfHIyD48MrIP566Usi4+hy8T8/g66RJ9XO15ZKQ/Dw314eP9Ge3qCt0V\
emKzVlmWefWr01yvrGX10yMbFeMWmmcRd2A7d+6kX79+hISE8Pbbbzd5vqSkhAcffJAhQ4YwYMAA\
Vq9ebYYob89GpWDx+CCOZFxrVAWjnoeHB+PGjSM2NpY1a9bg5eWFQqEgJiaGhIQEVq1aRU1NDUrl\
3R24LTW6vNXtmid2FL3ByBtbkhn+1u4urSQh3BTe24nfzRrA0d/cw3sLhuLrYsdfv01l3F9+IPZI\
FjV6IxW1Bmr0RjYcy+GtbSlmjbelY9hOrei2zVq/OpnH9tNX+Hl0Pwb4OJs7HKtg9gRmMBh49tln\
2bFjBykpKXzxxRekpDT+8PzrX/+if//+JCUlsXfvXl566aVOrdV3Nx4d1QdnOzUf7bvQ7PPDhw/n\
mWee4emnn8bOzg43Nzfc3d154oknWLp0KYMGDaJXr7uvMv36A/2ZP8IfjVqBXStXcl0xHPPWthQ2\
HMuxuJNkT6RRK4kZ6ssXS6PY/sJ4FBLceqPTVRc2t9PwGNbaKNHcWIR0a7PW7iCvuIrffnWGkYG9\
WDqxr7nDsRpmv4yJj48nJCSEvn3r/tEWLFjAli1b6N//5kEqSRJlZWXIskx5eTmurq6mmnmWRmur\
YuGYAP75Qzrp+eWEeDauW1ZRUYFWq6WkpISzZ8+yePFi02OyLLN//35GjBhx13E0bHS58oP3uVSq\
xwDISHxd05/J6gs4KapRSBJb1pzDzk7DsmXL7vrn3qqiRs8X8dnU3tK9sTMrSQhto1ErUSkVGJpZ\
KNFaV+iu0vAY7s5Dz0ajzEsbTmKUZVbMH4qyhbk/oSmzHw15eXn4+/ubvvbz8+Po0aONXvPcc88x\
a9YsfHx8KCsrY/369SgUZr95bNHCsYGsOpDBqv0XeGfukEbPbdiwgcrKSpRKJTNmzMDOzo4jR46Q\
kJAAQEREBEOHDu2wWLS2KtRKBU6D7+Hz41dN8wp7dcGmZfX9NXloNB07p2AwyhxIK+DTHy82SV71\
LOEk2ZP9mF7Y7Co/sKx5pvrFK93Vf3/M5EjGNd55eDD+rmLzfnuYPYE1t4r/1iXo3377LUOHDmXP\
nj1cuHCB6OhoJkyYgJNT46oDq1atYtWqVUDdij9zcXOwZcHIPnx+NIv/Fx1maokO8PTTTzd5fVRU\
FFFRUZ0a00vT+7H1TBHFVTrs1UoMssz8Ef68NjOCD/65myeffLJDfk5GQTkbj+ey+UQuV0trcLFX\
mzah3sqSTpI9iSzLvP99Ov/47jw+zhquVdQ02mtVf2HTHe92zKGwsJC4uDjT19evX2fKlClERUWR\
eqWMd3amEt3fi3kj/Fp5F6E5Zj9C/fz8yMnJMX2dm5uLj49Po9esXr2aX/3qV0iSREhICEFBQZw7\
d45Ro0Y1et3SpUtNrdY7YhjubiweH0TskSz+ezCTV2ead8xekiRW/y+W8YZyQoYM4sF7xpuGY7Ky\
stBqtbi5ud3x+5dV6/jm1GU2Hs/leNZ1FBJM7ufJ7x70Y2qEJ3/65myzlSTESbLr6Q1GXt+SzBfx\
OcwZ7ssfZw/k7R3nGm2S7q7zTObi7u5uGp43Go2sWLGC8PBwavQGfrb+JE52Kv48Z5BVbjY3N7Of\
PUaOHElaWhqZmZn4+vqybt061q5d2+g1ffr04fvvv2fChAlcvXqV1NRU05yZpfJ3tWfWEB+LaLWy\
aNEi/nkglx8unafftUyUlRFoPer2nZ0+fZqBA9u/jN5olDmSUUTc8Vy2J1+mWmck2EPLr+4PZ84w\
Xzwb3FnVnwzXJWRTq5eRJMRJ0gyqag08/8UJvjubz7NTgvnF9H5IktQj5pksRWZmJq6urri4uPD2\
jnOcvVzKv58cgbuDeVrWWDuzH6kqlYoPPviAe++9F4PBwKJFixgwYICpkOiyZct4/fXXeeqppxg0\
aBCyLPOXv/ylSyul36lnJvXly8Q8/nMwo9mCul3FXuvAlpN5RPXzYWCAM3l5eQQEBGA0Gjl37pzp\
rrUtcq5VEnc8l00ncsm9XoWjrYo5w/2YF+nHUP/mSxY1nIz/1aZTfH8un1dnmr8mY09yraKWRZ8m\
kJRbzFsxA5oUne7u80yWIjk5mYEDB5Jw8Rof77/Ao6P8mdbfy9xhWS2zJzCAGTNmMGPGjEaPNVwR\
5+Pjw65du7o6rLsW4uGAn4sd7+9J598HMjDIdPkm0draWg5fKORqaQ2v3ufFhcTdTJo0Cahr0e7u\
7t5kLvFWVbUGdiRfZuOxXA5nFCFJMC7YnZfv7ce9A3q3ecOl1lbFg0N8+PrUZY5lXevyGm89VXZR\
JQtXx3OpuIoP/y+S+wb2NndIPZLBYCA1NZXR4ycy99+J+Pey5zUzTy9YO4tIYN3VW9tSyC+r22NV\
aa7qFxUVfL9lPQ9p9GQfvsjgQYMICQkBbl4NNkeWZY5nXSfueC7bTl2mvEZPH1d7fh4dVtcd18Wu\
2e+7nbEh7qiVEvtSC0QC6wLJeSU8tToBncHI5z8ZberQLXS9tLQ0vL29WfFDNpeKq9i4bIwYrr1L\
4q/XSSpq9KxLyDH7/ieN1olNlRE8MNiH5+YObvTc7Nmzm7z+Skk1m07ksul4LhmFFdjbKJkxyJu5\
kX6MCnRFcZd7VBxsVYwKcuWH1Hx+PSPirt5LaN2+8wUsX3McF3sb1i0dTYino7lD6tGSk5PB1Z8N\
B3J5bkoIkQHiYuJuiQTWSeqLkdY081xX7n/alXKFiloDs4e13OKlWmfgu7NX2XgslwNpBRhlGBXo\
yrLJwcwY5I1DByfayWGe/HH7WfKKq+74Tk5o3abjufxy0ylCvRz59OmRYruCmel0OtIvXGBzjZaB\
vk68cE+ouUPqFkQC6ySWUoz0q8Q8fJw1jA5qfLUnyzKn80qIO57LlpOXKKnS4e2sYfnkEOZG+hHo\
ru20mKaEe/DH7WfZm5rP/40O6LSf0xPJsszKvRfq6hyGuPHR45FW39iyO1CpVKR5TaUkvZDP5w/F\
RiUWMHUEkcA6SX0x0lsb8nXl/qesogr2nS9g0bgg09BfYXkNXyXmsfFYLqlXy7BRKbh3QG/mRfox\
LsS9S8rYBHs44Otix97UgmYT2LvvvoutrS2SJKFQKFi6dGmnNP3sbgxGmd9tPUPskSxmD/XhnblD\
xInSQqxLyOH7c/m88WB/Qr3EUG5HEQmsE73+QH+KK2vZknQZW6WEpJC6ZP9TfQffNUezMcrw6aFM\
LhSUo1RI7E0tQG+UGeLvwh9mD+TBwT5dvkdNkiSmhHuw+UQeNXoDtqqmqxgXLlyIvf3Nsjpff/11\
o6afP/744101/bQGzXXvBjh69CgJCQkoFApCQ0OJjo6mWmfghS8S2ZVylWcm9eWX94bf9Xyl0DEu\
Flbw1rYUxoe4s/CW7QvC3REJrBOplAoeHOLLlqTLrHhkKJP7eXbJnVd99XfDjSFMvRF+SC1Ao1aw\
aHwQcyP9CDPzVeDkME/WHMnm2MXrjAu5/WrEW5t+rlmzplsnsPz8fE6cONGoe3doaCilpaWkpqay\
bNkyVCoVFRUVXK+o5SefHeNE9nXeeLA/T48LMnf4AnULuS4VV/Fy3ClUCom/zhssLio6mEhgnSzr\
WiUAY4LduyR51a9+bK5IqyzLvHhPqEUs3R0b4oaNUsHe1PwmCUySJGJjY5EkicjISCIjIzu86ael\
a9i9GzB177506RLjx483dWO4Xiux8L+HyLlexb8eG86MQd7mDFvg5gjIuoQcjLKMziAzMdQdD1Ft\
o8OZ/0zWzWUXVeBoq6JXFw3Ttbb6UaVQWEz1d3sbFaP7uvJDagGvzmz83KJFi3B0dKSiooLY2Fjc\
3d2JiYlhx44d7N+/n7CwsLtu+mnpWureXVRURFZWFnv27KHGAF8VuFGgtyd20ShG973zepZCx2nY\
/65ewsVrvLUtpcv2f/YUYoa3k2Vdq6SPm32XFeq0lNWPbTEpzIP0/HJybtyl1nN0rBve1Gq1hIeH\
k5eX1ylNPy1ZS927jUYj1dXVhE+KYd2lXgw3pLJx2RiRvCxEff+7hoWrwXKahHY3IoF1suyiSgLc\
uq7HjzW1Yp8S7gnA3vM3W9/U1tZSU1Nj+v8LFy7g6elJRUUFQIc2/bR0zXXvdnJyokjlztOfJmDv\
4oGXsx1+jt37btSanL1capp7vlVXdD/vaSznbNYNGYwyOdcrmT6ga2vP1a9ytPQWGX3dtfi72rEv\
NZ8nouoWaFRUVLB+/XqgrvXEwIEDCQkJ6dSmn5bq1u7dixYt4mBaIfv3JRIZMIi3Zwbx5YbjjVZr\
CuYhyzJbky7x2y1nmu19B5Y3AtIdSHJzHSW7gREjRnDs2DGzxnCxoJS/ffAxvs62OGtUREREMGXK\
FOLi4igsLASguroajUbTqHhxR6mo0Vt8i4zfbklm47FcEn8b3eaiwD3F6tWrTd27p0VHs+ZMNZ8d\
yuARz6v4aWpRKZVMnz6doCCx6tCc8kurefWrZHanXGVYHxcCXO359syVZvvfWcMcmCWcO9vKMs9q\
3URecQ07a/rx2ayxjA7qxerVqwkNDWXu3Lmm13z77bdoNJ1zVWYNLTIm9/Pgs8NZJFy8xoRQD3OH\
Y1Hqu3dX6wz8fMNJtp++wuLxwbw64wGxHNsCyLLMVyfz+N3WFKp1Bl6dEcGi8UHIsoyzndriR0C6\
A5HAOlH29Sr0KOnjZo/RaMRgMDR6XpZlUlJSePLJJ80UofmN6euOjUrB7pSr+LrYWfTdojmUVOpY\
EnuM+MxrvDYzgp9MsOxGrj3F1dJqXv3yNN+dzScyoBfvzB1MsOliUTQJ7Srir9qJsooqsVHCtvWf\
ce3aNUaOHImfn5/p+ezsbLRaLW5uPXcFmVop4a61IfZwFpuO56I3yl3eM82SNBz2LanSsfC/8WQV\
VfL+o8OYNcTH3OH1eLIss+lEHr//+gy1BiOvP9Cfp8YGNluCzRpGQKydSGCdKPtaBb69tCxbtozq\
6mrWr19Pfn4+np51q+9Onz7dYj+unuKtbSkUlNUgAxW1dXeoXd0zzRI03PyqUkjUGoyolQoUksSn\
i0aK3ml3obCwkLi4ONPX169fZ8qUKURFRTVblqslV0qq+fXmU/yQWsDIwF68M3cIQZ1Y9Fq4PZHA\
OlFWUSV9XOtWiGk0GgICAkhPT8fT0xOj0ci5c+dYunSpmaM0n/qqITqjeXumWYKGm1/rN6HrDAYe\
HOwtktddcnd3Ny2SMhqNrFixgvDwcDIzM5uU5WqOLMtsPJ7LW9tS0Btk3niwPwvHBIp5SAvQ88Zo\
uogsy1wpKiHAue4ErNPpyMzMxN297mSUkZGBu7s7Tk5O5gzTrOqrhjSnJ+2ZqU/kt25+Bdh99qrY\
/NqBMjMzcXV1xcXFhWPHjjUqy6XVNr2bulRcxcLVCbwSd4r+3k7s/NkEnm7Q3UEwr55xeWsG1yt1\
GGur0Fw8yIcfHkWWZQYMGEBYWBhQ1521pw8fWlPVkM5kKc1Pe4KGn7uGZblUKhXR0dH4+tY1fpVl\
mfUJOfzhm7MYZZnfxwzg8dEBInFZGJHAOklWUQXXZXtG3v8I0f29mjw/e/ZsM0RlWeqrhmw4ltPs\
npmeMnwoEnnnqp8Dk2WZgoICzpw5Y1oVfPLkSZRKJXZ2dmzcuJEXX3yRSyXV/GrTKQ6kFTKmrxt/\
eXgwfbqwmo7QdmIIsZNk36jv15VlpKzR6w/0Z/4IfyRAqZDQ3EhePWnPTEvlvzQqyeLKf1mj+jmw\
KVOmEBQUhI2NDeHh4ej1ekJCQnjhhReIiIigurqa2IPnmb5iHyeyrvOH2QP5/CejRfKyYOKT0Qne\
ffddynQwy7aWH77KI+yZuoUa7Vnx1FOolArejBnIgbRC+rja86//G94jT9gNy38ZjTK1Bpkp4V49\
KpF3tuTkZLy8vNDpdLi4uKDT6UztamxdPKmuqeW336QxLsSdt+cMxt9VJC5L1/POFF2kyDuKHy+W\
8eenpgC0ecVTjyWBsDqFugAAIABJREFUVqPqkckLbibyV+4L52JhBQs+OYJaqeiRe+E6g06nIyMj\
g5CQENMcmE6no6Kikj/9/T3yy2pxQOJPDw3m0VH+XdY9Qrg74tPRwfQGI8WVOnYmX+F6RS3D39rN\
G1uSSUhIuO2Kp55OnDLqhhMH+DozL9Kf7acvk99DVmJ2NrVazUsvvUR6ejr9+9ff1UpsLPJmVUEI\
Rf4T0WrUPDa6j0heVkQksA721rYUKmr1TLdNY6ZNCgHyVTYcyyEl8xJZWVn8+9//5tNPPyUvL8/c\
oVqWbllS+s49OSYAgyzz+dFsc4fSbaSlpeHt7Y29vZb/HbpIYY3EhbxC/vLwIP41LwJHB7HS09r0\
zPGaTlK/n0ehD6cKGzTouNf2PCU6DSVVtZRVVLJ48WIuXbpEXFwcL7zwgrjau0EGJEni8OHDJCYm\
AuDl5UVMTAwHDx7kxIkTprYh99xzD6GhoWaMtvMFumuZHObB2vhsnp0Sgo1KXGvereTkZLwDQ1nw\
yRHiM6/xkKc3bw5yYMbIPhw8eJB+/fqZO0ShnUQC60D1+3kqsAGgGjVZBhc8FBVUYYO7X18kScLX\
1xdJkqisrBRDiQ0odVXExyewfPly1Go1GzduJDk5GYCoqCjGjh1r5gi71sKxgTy1OoEdyZeJGepr\
7nCsTsO6kiqMnE1NY0OSLSht+OvcwcyIcGXTpk3885//xNnZmXnz5pk7ZKGdRALrQF5OGmSjHhVG\
9ChRYcBXUcpJvQ8YVZQVXAIiKCoqwmAwiEaEDdS3pTMajej1epRKJTqdDkdHR4qLi80cnXlMDPUg\
yF3Lp4cuigTWDs3Vlexlb0N+2WCmhnvyp4cG0du5bm9dT+4E0R2IBNaBtLYqHh7kTmnKfgAkZDIM\
rlxT9mLaMF8qytJZuXIlSqWS2bNni+HDW8g2dowZM4Z//OMfqNVqgoODCQ4OJicnh/j4eJKSkvDx\
8WH69OnY2dmZO9xOp1BIPDkmgDe/TuFUbjGD/VzMHZJVaK6uZH5ZDeND3PjPwhHic9eNiATWwe6P\
DOGxxCLUSgkbpQKDJPPIiPr2IIPNHZ7FkgHJUEtqaiovvvgiGo2GjRs3curUKUaMGMHEiRORJIk9\
e/awa9cuYmJizB1yl5gb6cffvk3l00MXWTF/qLnDsXj189A1+qZ1JY9lXaey1tBjt2p0R+JfsoPt\
OZePjVLBwV9OobxGL5rZtYO6shAXTxfTvGBERAQ5OTkMHnwz8UdGRrJ27VpzhdjlHDVqHo70Y118\
Dr+ZEYG7g625Q+o0rbU9ATh06BC7d+/m5ZdfbnH4XdSV7FnE0qYOJMsyu89eZUywG55OGvp6OIjk\
1UayDEaVHXl5eeh0OmRZNlXvLysrM73u7Nmzpn5qPcWTYwKpNRj5opsvqa8v+bRs2TKWLl2KWq0m\
PDwcgJKSEjIyMnB2dm71PVqrK1mtN+KmtenwuAXzEQmsA53OKyGrqJKJoaJ/050w2rsSERHBxx9/\
zIcffogsy0RGRvLdd9/x4Ycf8uGHH3Lx4kXuvfdec4fapUI8HZgQ6s6ao1noDE2Hxrqjhm1PAL79\
9lumTZt22++rryvZXIdkZJkVu893dKiCGYnbgw5Qv+ppzY0r5L/sPEf2tcob817iGqEt5Bs7madM\
mcKUKVMaPffQQw+ZIySL8tTYQBb/7xjfnrnCA4N9zB1Op2vY9iQ1NRVHR0d69+7dpu/9eXQYnx3O\
avK4QaZHNErdsmUL58+fR6vVsnz5cnOH06m6779iF6pf9WS4MXRRa5DZcCwHgDdjurbnV2sHb1vm\
EO5GdXU1W7duJT8/H0mSmDVrFqWlpezbt4+CggKWLFmCj0/LJ1+xNqxlk/t50sfVnv8duthqAjty\
5AgnTpwAYPjw4URFRbFnzx5SU1P5/+ydeVgUV76w3+odmn0VRUARFFCjKIq7xj2akHESY0yiRqNx\
nJkksyQzcyczuXOd784aMzPJTRSTGONOTFwTTYjGXVHcFWQRBERBQGSnl+r+/kBalm4WZafe5+Gh\
u+pU9anuqvM757cKgoBWq+Xpp5/G0dGxrbrebERRJCkpicmTJ2MwGDh69Cgvvvhik441iia2nsmy\
ub8l7GDW7vPExESSk5ORy+W4ubkRFRWFRtM+ZXCGDBnCiBEj2LFjR7t8flsiCbBHxJbXU4XB1C6z\
PVs3b1NtCI/C/v376devH3PnzkUURQwGAxqNhrlz57J3794GjzVLqaQaRH7fpf7PXydy9VYRYT3r\
/4537tzh3LlzLF26FLlczsaNGwkKCmLMmDE8/vjjQFVFhMOHDzN79uy2voQmU53yycHBgdzcXAoL\
C1m9ejUAxcXFrFmzhqVLl+JQI/WTzijy1blsPjp0ncy75TYnQy1RX83afa7X65kyZQoymYzY2FiO\
Hj3abtUm/P39u03spKTfekSqvZ6sIZrMJN4ubtP++Pv7W42RaqoN4WHR6XRkZGQwdOhQAORyORqN\
Bk9PTzw8GrcJmsxmSnVGynTGVutjZ+fZ4b2xU8pZf+KG1f15eXn4+vqiVCqRyWT4+/tz7do11OoH\
not6vb6Nevvw1FQfent78+abb/LGG2/wxhtv4OTkxKuvvmoRXhV6kXXH05n4j0P87qvLuNoriX5p\
GC9F+tWrr2anlD1yfTVb93lgYCAyWdXn+fr61nI8kmg9pBXYI9KQ15NBNDNv7Smmh/XghZF+jOrr\
3i5BlM21ITwMhYWF2Nvbs2vXLnJzc/Hx8WHGjBmoVA17fVXbD2/dq+ROsY7wlbHMi+gt2Q+t4Gyn\
5Efhvfjy7E1+NzME1zoedV5eXhw8eJDy8nKUSiWpqan4+PgAcODAAS5duoRarWbhwoXt0f0mUV32\
pLEVYqnOyIaTGXxyLI38Uj0j+rjxtx8PZlyQB4Ig8PgALwRBYFt8FnJBQDSbW6RQalPu8wsXLhAW\
FvZInyPRNCQB9ohUez3FxGdRYXigRrRTypge1gN3BzXbz97k60u36euhZf5IP34c7ltv8GktmmtD\
eFhMJhO3b99m5syZ+Pr6sm/fPo4dO2ZRXdmi2n4IYDSZMZraz37YGVg4KoDNcZlsPZPFTyYG1trn\
6enJmDFj2LBhAyqVCm9vb8uqYPLkyUyePJmjR49y+vTpeo4yHQWlUslbb71lc/+iZStYc/wGn524\
QVGFgfHBnvxsUj9G9HGr1a5mfbXqfIgtocpv7D4/cuQIMpmMQYMGPfJnSTSOJMBagJrVdOvO9hRy\
GW9O7883l2+zKS6TP3+dyN+/TeKJgT14IdKf4f6urboqu3v3bpNsCI+Kk5MTTk5O+Pr6AhAaGsrx\
48cbPKaj2Q87A/17ODKqrzsbT2WwdFyfeqvU8PBwwsPDgapVl5OTU639gwYNYvPmzR1WgNkir0TH\
J8fS2XDyBmV6kWmh3vx0Uj8e691wei2tWtGigcsN3ecXLlwgJSWFBQsWSOmq2ghpdGgBGpvtaZRy\
5oT7Mifcl2s5xWyOy2THuWx2XrhFkJcDL4z040fhvjjbKVu8b9U2hGr+9a9/sWzZshb3QnRwcMDZ\
2Zn8/Hw8PDwsQcgNIWVNeDgWjg5g+cazfJ94hxkDa6uFy8rK0Gq1FBUVkZiYyJIlSygoKMDd3R2o\
Uic3xSbZUbhdVMGaw2lsOZ2JQTQxe3BPVkwKZEAPp8YPbgVs3eepqakcP36cRYsWoVS2/HPcHL78\
8ktu3LhBeXk5q1atYuLEiZZJTVdDMJu7pv/X8OHDiY+Pb+9u2KRcb2TPxVtsjsvk4s0iNEoZTw7u\
yfyRfgzp7fLQM7iaN69Wq61387aWAAPIyclh9+7diKKIq6srUVFR3Lhxg3379lFeXo5Go6FHjx4W\
dWaZzkj4ylirees0Shln354qrcCsYBRNTPjHIfzc7NmyLLLWvnXr1lFeXo5cLmfatGn07duXmJgY\
8vPzEQQBFxcXZs2aVW9l1t7ULH2iVSvIKChj9eHrbD97E7MZ5oT34icT+9HHo/3LD1m7z9euXYso\
ihYHKl9f3w7t6dkQHX3srIkkwDoAV7KL2BSXya4L2ZTrRUJ9nHgh0o+oIb1w6OID+Du7rrDp1A2e\
UCVQblbxvT4IO6WMuf46PCtvIpPJCAoKajeX5I7KR4eu87f919j/xrh2W420BNZKn/R2tedGQRkK\
uYx5Eb1ZNr4vvq5S6aG2ojONnZIA60CUVBrYdeEWm+IySbxdjFYlJ2poL+aP8GNgr9aL32pPdAaR\
Z/9nPW5CGWqZicNiMM/1V9NXvMkLL8xHoVBY1GISDygs0xP5lwPMCfflL3M6r8PAO7uusO1MJpXG\
2sNQmI8T616OwOsRY7a6E3VXsQ9LZxo7u/b0vpPhqFHyYqQ/L4z040LWPTbFZfLVuZtsjsvksd4u\
vDDCj9mP+WCvqv+ztdTN29acTc3GR7jHqNFjMOYks+r5qXyzewfDho1Foai6Dkl41cdVqyJqSE92\
ns/mtzMG4GzfvnaXh+GBE0/9OXTC7WJe23qeHk4aPB3VeDqq8XBQW157OqhxtVchsxGD2Rp97ajP\
V91VrNFk7jahKB3rl5AAQBAEhvq5MtTPlT/MCuWr81VC7K0vL7Hy6wTmDO3F/JH+9O/h2O4376M+\
2IcOfM9Zoy8/9Xfjyl05WrWCgoICMjIyOHjwIAqFgqlTp9Krl1SRuC4LRwcQE3+TjacymDmoR4cc\
XBuiIScemQAllUZu3bvHnZJKKg317aRymYCHg+qBYKsh4GoJO0c1jmrFQ9mV2/v5agrWCnh2l1CU\
znO3d1Oc7ZW8PKYPi0YHcOZGIZvjMthyOov1JzMY7u+KRikj/sZddEZzm968LfFgJycnk1NupmfP\
njjV8MA0mUxUVlayZMkSbt26xfbt23nttdck1+Q69Pd2xMtRzT++S+L/fkhBNNPhBteGaCgJgFIh\
I+bVUWjVCsxmM2V6kbwSHXklOvJLdZbXeSU68u6/T8opIa9EZ/WcaoXM6iqupsDzuv9ao5Rbjmsv\
4WAymdGLJgyiCaNoxiCa7r+//9pYta+k0sjmuEwMda65u4SidN0r62IIgsCIPm6M6OPGH5/U8+XZ\
m2yMyyCjoLxe2wqDic2nM4ns6469WoFcEJDJqlzT5TIBmUx48Pr+f7kM5DLZg7b328hq/re8hj/v\
TeCL+KxHEpyp6TfQlOcyXLzL9u0COp2Or776CicnJ0JCQhAEgV69eiEIgsWrUuIBK/cmcK+8KjVU\
+f0VSmeaeTeUBGBujZRPgiDgoFbgoFY06oVoMpkpqjBYhFo9gVeqI+tuOecyCrlbrreag9NRrcDT\
UY2bVsW5zELqysMKg4lNcZm42FclIzDcFzTVwqX6tV40YTDWeV/9ZzRjMNV4bRFQVW1FG4K9OXSH\
UBRJgHVC3LQqlo7vy6QBnsz+zzEqrbihG0QzP9l0rk371dxZn9x3MDGVBrYuiKSHrIQTJ04wZ84c\
4uPjSU9PJyAggIKCAkRRbBW3/85Mtf1IL3bumXdDSQAeBplMwFWrwlWrIti74Yz7RtHE3TI9d2qs\
4moKvKy75TaTTBtNZv59IAUAhUxAKZehlAuoFLL7r6veK+UyyzaFrEoQ19pX3VZR+72i1n4B5f1z\
qGqeWyFDFM38ZNNZDGL9jjYncXHNDPsTJ04kKysLpVLJ119/jV6vx8XFhTlz5tTKq9kR6Ph3uIRN\
fJztsDVPUykE1r88ApVChmiqSixsMlfN7ESzGZPJXGNb1c0umkyIpqpZrGg21z6mRtv80ko+P5lh\
9aFpzqzvaEoeWpWccD9Xbt18kPx06NCh7Nq1iw8//BC5XM7TTz8tqQ/r0FWCwFsr5VNTP9vLSWPT\
07GhOEW1QuDU76bgYq9s93tz/gi/eqtYAYh6rGeTv8uaGfYjIiL485//zIYNG5g6dSoBAQGcP3+e\
48ePN5oarq2RBFgnpjEVzKjA1sm4UKYzsvFUJlgRn82Z9R1NyWdUoDsqhYyAgAACAgKAqgzfc+bM\
acEedz0ash8ZTaZHLhnS1rR0yqeWoLHnq63ymTZG3VWsQayaiKbll2EQTSgbsYdWZ9iPiooCwGw2\
o9FoyM/Px9/fH4C+ffuycePGDifAOr6lV6JB/jA7lLnDe6NRytCq5GjuP1yPmnW7Iaof7EcpV5FR\
UEZGQTnjgjxbq5tdGlu/AYBSLqOwvOOXTekMtMfz1VyqV7Fn357Knp+P5fwfp7Hqucc4c6OQP+25\
2ujxNTPsr1mzhsGDB6PX6/Hy8iIpKQmAhIQEiovbtjRUU5BWYJ2c9lLBVD/AW89kojOaUciEJj/Y\
ZTojX53LBmBcUOfJy9fRsGY/mjzAiyMp+cyLPsWWpZH0dpNsh49Ce6o4m0vNVWzUkF4k3C5mzeE0\
QnyceGGkv83j6mbYP3HiBMeOHSMqKop9+/Zx5MgRgoODkcvlNs/RXnTMX0Ki2bS1Cqbmgz3pn4cY\
5u/aqOdbTdd7o1ilkvnseDp/fDKsU7h9dzRsDa6Xbt7jxY/jmBd9iq3LJCHWEnREFWdjvDV9AEk5\
Jbyz6yr9PB0Y2dfdaru6GfZv375NTk4Ojz/+OC+99BIABQUFpKSktFnfm4o0akg8Elq1gogANy5n\
FzXatmZMTbX/xxdnb7Jyb0Ir97JrUz24Vq8MBvu6sOmVSEp1RuZFnyLrbv1QC4muj1wm8O95Q/Fz\
t+cnm85xs9D6fVAzwz6Ah4cHHh4elJWVAVU2sSNHjjB8+PA263tT6RACbP/+/fTv359+/frx17/+\
1WqbQ4cOMWTIEMLCwpgwYUIb91CiIYb6uXCzsII7JZU221S7fVcYrNf+KtMZW7ub3YpBvs5semWk\
RYhlWokXlOj6ONspWbtgOAbRxNLPz1Kut/6czZw5k6+++oqPPvoIZ2dnxo0bx+XLl3n//ff54IMP\
cHR0ZMiQIW3c+8Zp92S+oigSHBxMbGwsvr6+REREsGXLFkJDH9hS7t27x+jRo9m/fz9+fn7cuXMH\
Ly+vBs/bmRJSdnbOZtzlxx+dZM1Lw5ge1sNqm7S8Up58/xhlerHePq1Kzp6fj+10KprOwJXsIl78\
JA57pZyty0bh5y6pE7sjPyTdYfFnZ3hioA8fzB/aoOt/Zxo7230Fdvr0afr160ffvn1RqVTMmzeP\
Xbt21WqzefNm5syZg5+fH0CjwkuibQnr6YxSLnA+857NNg25fTfH9V6ieQzsVbUSKzeIPBd9koyC\
svbukkQ7MKm/F7+dMYCvL9/m/35Ibe/utBjtLsCys7Pp3bu35b2vry/Z2dm12iQnJ1NYWMjEiRMZ\
NmwYn3/+eVt3U6IBNEo5oT2dOZ9ZaLONLbdvmQBzh/l2WM+urkBYzyohVmEQmRd9ihv5khDrjiwb\
35cfDe3FP79LJjYhlzKdkbS80k6tvm/3UcOaBrPu8tZoNHL27FkOHDhARUUFo0aNIjIykuDg4Frt\
oqOjiY6OBiAvL6/1Oi1Rj6G9Xdh237vQlkdhXbdvndGE0WS26R0l0XKE9XRm8yuRvPDxKYt3YsBD\
Vjc+efIk58+fB8Db25uoqCh27txpcQKorKxEo9GwfPnyFuu/xKMjCAJ/mTOI1Dul/GTjWQQBVHJZ\
h8yw31TaXYD5+vqSlZVleX/z5k169uxZr42HhwdarRatVsv48eO5ePFiPQG2bNkyli1bBtAhPWa6\
MkP9XPjsxA2ScksI62m9+GZdt293rYrn18bxP3sTGBfsiZOm89W06kyE9nRi89JIXvg4jueiT7J1\
2ahGk+PWpbi4mNOnT7NixQqUSiVffPEFV65c4ZlnnrG0+fbbb9FoJJVwR0SjlNPf28HiNWwQq2zS\
nSkJdE3aXdxGRESQkpJCeno6er2erVu38tRTT9VqExUVxdGjRzEajZSXlxMXF0dISEg79VjCGuF+\
rgCca8AOVk2127ezvYq/zBlEXomOd79Nau0uSgAhPk5sXjoSg2hmXvRJ0vJKm30Ok8mE0WjEZDJh\
MBhwdHyQNNdsNpOQkMDAgZ1rIOwulOmM7Ll0u972zuoN3O4CTKFQ8MEHHzB9+nRCQkKYO3cuYWFh\
rF69mtWrVwMQEhLCjBkzGDx4MCNGjOCVV16RHpAOhq+rHR4O6gbtYNZ4rLcLC0YF8PmpjGYfK/Fw\
DOjhxJalkRhFM/OiTzVLiDk5OTFq1Cjee+893n33XTQaDYGBgZb9mZmZaLVa3N0ltXBHJLe4ErkN\
B8TqJNCdiXZ3o28tOpMraFdh6efxXL9TysFfT2zWcSWVBqauOoKLvZI9Px/baPJRiZYhKaeE+WtP\
IZcJbFkWSWATwhgqKiqIiYnhmWeeQaPR8MUXXxAaGsrgwYMB2Lt3L25ubowePbq1uy/xEHyfkMvS\
z+OtVrHQKGWcfXsqE8ZEdpqxUxopJFqMoX4upOWXUVjWvESyjhol//1UGNdySlh3PL2VeidRl/49\
HNmyLBKTuWollnqn8ZVYWloaLi4uaLVa5HI5ISEhFhu2yWTi2rVrknakA3LrXgU/3XSOVz6Px0Gt\
QFVnGdacRNwdCUmASbQYQ3tX2cEuZNW2g+3atYt//OMffPjhh5ZtOTk5fPLJJ3z00Uds2bKFSUGu\
TA315r3YFCn1URsS7O3IlqWRmM3w/NrGhZizszPZ2dkYDAbMZjPp6el4eFQlZE5LS8PDwwMnJ6e2\
6LpEE9AbTXx06DqT3z3MgWu5/GpqMKd+9zjPj/Dr0Bn2m4qkQpRoMcr1Rga+8y0/m9SPX07rb9me\
kZGBSqVix44drFixAoC1a9fWKpZXWFjIgPBRTFl1mJF93Ph0UUSjhQJrVpEVBIGnnnqKlJQUkpKS\
EAQBrVbL008/XcvJQMI6qXdKmBcdB8DWZSPp52X7O/vhhx+4evUqMpkMHx8fnnzySRQKBTt37sTX\
11fyAO4gHE3J453dV0nLK2NaqDd/mB1aK7Fzmc5oNcN+Zxo7O9d6UaJDY69SMKCHE+frrMD8/f25\
d6/2NlvF8n41rT8r9ybw9eXbzB5cO5yiLjWryIqiiMFgwMvLy1J0Ly4ujsOHDzN79uwWvMquST8v\
R7YuG8m86DhLKZYgb+tCbNKkSUyaNKne9qeffrq1uynRBLLvVfDnvQnsu5JDgLs9n70cwcT+9bMX\
dcYM+3WRBJhEizLUz4XdF25hMpmRyWyvoKqL5Q0YMKBWsbxFowPYeT6bP+1JYFyQJ8521mPD6laR\
lcvl9eoV6fVSUcfmUCXEInl+7SmeX3uKzUsjCbYhxCRaDmuB4fn5+ezduxej0YhMJmPWrFn06tWr\
wfPojCIfH03ng4OpmDHz62nBLB3fF7Wi49XxaikkG5hEizLUz5USnZHrjbhmR0VFcebMGaKjo9Hp\
dBbhI5dVZQsoKNXx9/3XbB5ft4rs7t27LQLrwIEDvPfee1y+fNnqSkHCNv28HNi6LBKZIPB89CmS\
c0vau0tdmurA8KVLl7JixQpMJhNXrlwhNjaWCRMmsHz5ciZNmkRsbGyD5zmcnMeMfx3lH98mMSHY\
k+9/OYGfPR7UpYUXSAJMooUZ6ucCwLlGYro8PDx46aWXWLZsGYMGDcLV1dWyb2AvZ14e04dNcZmc\
zbB+nuoqssOHD+fVV19FqVRy7NgxACZPnswvfvELBg0axOnTp1voyroPgZ4ObFkWiVxWJcSSckq6\
RN68joq1wHBBENDpdECVrdeWHfdmYTmvbohn4adV9/n6xSNY/dIwfF27R9UBSYUo0aL09dDibKfk\
fOY9novws9rGaDTyySefYDabMZlMCIJAZGQkUGW3OnPmDK6CwEStmv/66jJ7X6sfG1a3imxoaCjH\
jx+v1WbQoEFs3rxZWoU9BIGeVSux56NP8dQHxzCZzZ0+b15HpGZguFKpJDAwkMDAQJycnNi4cSOx\
sbGYzWYWL15c6zidUWTtkTQ++CEVAYE3p/fnlXF9uvyKqy6SAJNoUQRBYKifS63SKl9++SU3btyg\
vLycVatWMWHCBMLCwjh//jxmsxmDwYCHhwfp6ekkJSWxfPlyFAoFX5+7wU9jrrL2aBorJvar9Tk1\
q8hWH+vh4UFBQYElC0RSUpLFxVui+fT1dGB0oDs7LtwCOn/evI5IRUUFSUlJvP7665bA8EuXLpGd\
nc306dMJDQ3l6tWr7N69mwULFgBVtb3+tPsqNwrKeWJQD34/K5ReLnbtfCXtQ7cQYPn5+Wzfvt3y\
vrCwkEmTJlFcXExycjJyuRw3NzeioqKkJKQtwNDerhxOTqak0oCjRsmPf/xjq+3Gjh2LwWDg008/\
RRAE4uPjGTt2LApF1W05KzyAPVcL+Pf3Kcwe1LNeMcbqKrKiKOLq6kpUVBR79uwhPz8fQRBwcXFh\
1qxZrX69XZUynZFvruTU216dN++tGQM6XeBrR6NmYDhgCQy/fPkyM2bMAKq0C7t37ybrbjn/szeB\
2IRc+npq2bBkBOOCPNuz++1Ot7j7PDw8LKUdTCYTq1atYsCAARQUFDBlyhRkMhmxsbEcPXqUqVOn\
AlBUVMTOnTspLS1FEATCw8OJjIwkJyeHr7/+Gr1ej4uLC3PmzEGtVrfn5XU4hvq5YDbDxawixgZZ\
XwGZTCaio6O5e/cuERER+Pr6UlBQQEZGBgcPHkShUDB16lT++6kwjq3K5/c7L/P54hG1YsN69Ohh\
qT5Qzdy5c1v12roTucWVKGQCOiv7qvPmdXY37PamZmC4QqEgPT0dHx8fHB0dycjIICAggKSU64hK\
LVNWHUYuE/jNjAEsGdsHlUJS4XYLAVaT9PR03NzccHFxwcXFxbLd19eXxMREy3uZTMa0adPw8fFB\
p9MRHR1NYGAge/bsqRWAe/z4cUvckUQVj/Wu+l7j0gvo6aKpFygJVd/v8uXLqaysZNu2bdy5cweT\
yURlZSVLlizh1q1bbN++nddee41fTwvmv/cksPviLaKGNOxKLNF0jEYj69atQxRFTCYTISEhteyF\
3k4aDKLJ6rGCcieLAAAgAElEQVRSFe2WwdfXl5CQENasWWMJDB82bBg+Pj7s37+f4nI9t0r0HC73\
Zcogb96eFYKPc/dUF1qj2wmwK1euWM3VduHCBcLCwizvHR0dLZ4/arUaT09PiouLbQbgSjxAq5Lj\
bKfk/35I5dNj6Q0a/jUaDf7+/qSmpuLk5ERISAiCINCrVy8EQaC8vJyXRgWw43w2K/cmMNzfFZ3R\
ZFUoSjQPuVzOwoULUalUiKLIunXrCAoKsjjGqBQy3B3U3C6qnaHc7n7qIen7bxmsBYYLDh6cVofz\
fVougZ5a/j1voE1tRnemW92BoiiSlJTE5MmTa20/cuQIMpmMQYMGWT3u3r173L59G19fX5sBuBIP\
WLk3gdJKAyYzlOnrG/7LysqQy+VoNBoMBgPp6emMGTMGlUpFeno6AQEBFBQUIIoi9vb2CILAyqiB\
RP3fccb9/QfslPJu4Q1nMplYu3Ytjo6OzJ8/n+3bt7do1WNBEFCpVJbPEu87aUBVXa8/7LzC7aJK\
xgS6czazELkgIJrNnTZvXmeg0iCy+vB1Pjp0HblM4HczB/DyGEldaItuJcBSUlLw8fHBweGB3v7C\
hQukpKSwYMECBEGoN2js37+f+Ph4HBwc2LlzJzNmzODgwYMcOXKE4ODgetkfujtlOiNbz2Qh1smw\
WdPwX1pays6dOzGZTJjNZsLCwggODkYURXbt2sWHH36IXC7n6aeftti8vjx3E7kMjCbrQrErEhcX\
h4eHhyUeqDWqHluzRQKsOZLG1jNZ/GxSP349vb/NvHkSD4e17/NAYi5/2pNA5t1yZg/24feSurBR\
utWdWFd9mJqayvHjx1m0aBFKZVXKopqDhiiKZGZmMmnSJMaMGUNsbCwJCQm89NJLABQUFJCSktIu\
19JRaZLh39ubV199tf5+uZw5c+bU214tFI11zDFd2RuuuLiYlJQUxo0bx8mTJ2vtq656XO1W/ShY\
s0XG54r8dd81Zg/24ZdTg4GukTevI2AUTazcm8DWM1koZAJGk5lZg3pQWG7gh6Q8+nk5sPmVkYzu\
J6kLm0LXeuobwGAwkJaWViux6zfffIMoimzYsAGoys9XWlpqGTR2796Nn58fY8aMAaoMrpcvXwaq\
BpEjR45Imbfr4O2kwWiyXuDgYQz/OqPIrgvZiDbO2VW94fbv38+UKVOs5nNsjarH1bbIw2cu8/ZJ\
PcP8Xfnns481mM9Sovms3JtATHwWOqPJMsn76vwtFDKB3z8RwqIxAVJB12bQbQSYUqnkrbfeqrXt\
tddeq/U+JibGMmhUVFSQkpKCl5cXq1evBqpWCO7u7rz//vtAVczGkCFD2uYCOglatYJ5Eb2Jic+i\
wvBgyaRRCE0umFeqM3Io6Q7fXs3lh2t3KG0gfVFX9IZLTk5Gq9XSs2dPbty4UW//5cuXW6RoZF1b\
5LXkVHbnOuLt5EX0S8PQKCX1eEtSrUnQ1VUlAHIZlJ7dzcdX1QiCgEwmY9myZRw8eFAqD9QA3UaA\
NUbdQcPOzo533nnHsv/IkSPcvn2bH/3oR43WqeruVBv4t8VnIVCl6vN01PCLKUGk5ZVataPcLdPz\
fUIu+6/mcCw1H73RhLtWxezBPkwP68GBxFy+PHezllDsqt5wmZmZJCUlkZKSgtFoRKfT8dVXXzFn\
zhxL1eO68W8PQ01bpGgyca7YgZuiC18tisDdQYptbGkaUq8rZDJEs5mFCxdib/8gYH/MmDFSeaAG\
6FpP/iPQ0KBR19FDomEUchl/ihrIWzMGkFtcyd6Lt1j1fQrD/98B1IoH+fSWjO3DgWt32H8lhzM3\
7mIyQy8XO14c6c+MgT0Y5u+K/L4Ka1yQB3KZwLb4rC7vDTdlyhSmTJkCwI0bNzhx4oTFNtiSVY+9\
79siDaKJxZ+d4WR2AZ8vHkY/r66lju0oNKZel1sZW2omSZDKA9WnSwuw5nhO1Rw0EpOvc/zECabP\
esqqo4dE06g2/OeV6pAJYDSZMd73IPz8VAbrT2YAEOztwM8m9WNaWA/CejpZnSTUFYrd1RvOVhzj\
w2I2m/njrqscTcnn788MlpwHWhFb6vVqTYLsRjIbNmxAEASGDRvGsGHDgKryQJcuXUKtVrNw4cL2\
6n6HRDCbzdanBJ2cnv3CcJz3T4unT1Nihqo9hA7GXyVUnsMhYzDPa6/ipJZjb1/lzurr6yst4ZtB\
mc5I+MpYq3p/hUxg98/GENrTuR161n2pObHbFJfB/35zjZ9OCuTN6QPau2tdngdeiJnojGYUMoEX\
Rvrxh9mhVJSX4ejoSFlZGRs2bGDmzJmWpAkAR48exWg0tnp1heHDhxMfH9+qn9FSdNkpbGG5HlUN\
T5+mxAxVewhVGBzIMvQDTGwrD2NuaG9+2UVjjVqbhvT+aoVMchRoQ+q6cOuMpvtu3D78amr/9u5e\
t6CmJmH8339gTD8Py5hU7Zyh1WoZMGAA2dnZtQSYVB6oPl1WgNVVNVcYTGw4lUFhuQGtWoFGKUOt\
kKNWyFArZQjAprjMejrqrhxr1Ba0tFt9V6a1g4WtuXALArjYKSR3+TZGq1Yw2NeZpJyqitd6vR6z\
2YxarUav13P9+nUmTJgglQdqhG41IpvNVQlmRVNVfJHOaEJvRbVVl64aa9QWNKb3lyYF1oNbHyVN\
ltlsplRn5F65gXvlBgrL9eQWV1qdoJnN8OX5bP5rVqj0W7QxA3s5cyQln0qDSEVZGdu2bQOqsqMM\
HDiQfv36ERMTI5UHaoBudceqlTIO/mpirQfVZDJTWK4nJbeU+WtPYU2cSSuFR6OmW31X9yB8GKyt\
jKpV3r97IoSiiiohVFhm4F65nnv331cJKD2Ftf4bKKrQY6iby6sBpAla+xDW0xnRZOZaTglDerta\
zWsplQdqmC4rwOpqRKwF0tac+ZrNZkyAANR89KWVwqMjeRDaxlZwa4XBxPqTDzw1raFWyHC1V+Fi\
r8TFXkmQl8P91ypc7/93sVPiqlWhVsh45qMT6K0INmmC1j4M7FUVCnElu4ghvV0aaS1hjS47irja\
q9Dct21VGEz08XCoN+OvOfOtRhBABmiUcmml0MJI+fTq03Bwq8DC0f709XTAxe6BUHLVKnGxU2Gn\
ap4DzPMj/CRVbgeil4sdznZKLmTdY3SguzSxewi67LfV08WOw29PJbe4kg8PXWfXhWxuF1XS260q\
yt3WzNdkrprZxrw6igAPrXRDSbQqDTm5yGXwy6n9W+welFS5HQvRZMZeJefLszfZd/l2tygR1NJ0\
6dG5esb/q2nB7Ll4i/e+T2bV3KrchY3NfO1Uckl4SbQ6tpxcoEqL0JJBmpIqt2Oxcm8CeSWVmOk+\
JYJamm4h5n2c7Vg0uqqqb7XbquTeLdFR+MPsUOYO741GKUOrkqNRyhjXz528Uj0vfhxHUbmhRT+v\
emInCa/2o7ESQWUNJLCWeEC3EGAAyycE4qBS8M/vkoAHM187Ze2vwE4pa3LWdAmJlqB6ZXT27ans\
+flYzr49lQ2vRPLhC+Ek3Cpm3tpT5Jda0xVIdFZyiiqqYhisUO0VKtE43UaAuWpVvDqhL7EJuZzN\
KAQezHxV8iqXRaVckGwCEu1G3ZXR9LAefLxwOOn5pcxdc5LbRRXt3EOJluB0+l3e2HYRnY1QB0kD\
1HS6jQADeHlMHzwc1Pxt/zXMZrNl5nv691PQquREDenFn6IGSgZUiQ7D+GBPNiwZSV6xjmdXnySj\
oKy9uyTxkKTllbLs83jmrjlJXomOMYHuaBS1430kDVDz6FYjtVat4LXJ/TidfpfDyXmW7S72KsYF\
eXIiNZ8umttYohMTEeDG5qWRlOqMPLv6JCm5Je3dJYlmUFCq451dV5j23hGOp+bz62nB/PDriaxf\
PILnIvxq2T4lDVDz6LLZ6G1lVNYbTUxedQgnjZI9PxtryQG35XQmv/vqMrG/GE+Qt1TxVKLjkZRT\
woufxCGazHy+eAQDe0lZ/DsylQaRdcdv8OEPqZQbRJ4f0ZvXJwfj6Vi7WGhr58BsLp0pG323WoEB\
qBQyfjk1mKu3ivn68m3L9vHBngC1VmYSEh2J/j0c+eLVUdgp5TwffYqzGXfbu0sSVjCZzOw8n83k\
dw/zt/3XGNnXjW/fGMefnx5UT3iB5BX6KHTLb+ypx3qx5nAa736XxIyBPVDKZfRysaOflwOHk/N4\
ZVzf9u6ihIRVAjy0xCwfxYsfx/Hix6dZu2A4Y4OkDOXNpaioiJ07d1JaWoogCISHhxMZGcmhQ4c4\
d+4c9vZVCQ8mT55MUFBQk8974no+//tNIleyixnYy4l/PDuY0YHS79NadEsBJpcJvDm9P0vWxxMT\
n8ULI6tq7kwI9mTDqQwq9GKz0/RISLQVvVzs2PZqJAs+Oc3iz87w4QvhTAn1bu9udSpkMhnTpk3D\
x8cHnU5HdHQ0gYGBAERGRjJ69OhmnS/1Tgl/3XeN7xPv0NNZw3vPPUbUY72kMjWtTLdTIVbz+AAv\
hvu78u/vU6i4HwU/PtgTvdFEXHpBO/dOQqJhvBw1bF0WSYiPI8s3nmX3xVvt3aVOhaOjIz4+PgCo\
1Wo8PT0pLi5u9nnySnT8fsdlpv/rKHFpd/nNjAEc/PVEfjTUVxJebUC3XIEBCILAb2YO4NnVJ1l/\
8gbLJwQyso8baoWMw8l5TOzv1d5dlJBoEBd7FRtfGcmS9fG8vvU85Toj80b4PdS5jEYj69atQxRF\
TCYTISEhTJo0iYqKCrZv3869e/dwcXHhmWeewc7OroWvpH25d+8et2/fxtfXl6ysLE6fPs3Fixfp\
2bMn06ZNs3q9FXqRT46l8dGh6+iMJl4c6cdrk4Nwd6hv45JoPbqtAIMq9+RJ/T358IdUno/ww9le\
SWRfd8mRQ6LT4KhRsv7lESzfeJbffnWZMr3IkrF9mn0euVzOwoULUalUiKLIunXrCAoKIjExkT59\
+jB27FiOHTvGsWPHmDp1aitcSfug1+uJiYlhxowZqNVqhg8fzvjx4xEEgYMHD/Ldd98RFRVlaS+a\
zOw4n80/v00ip7iS6WHe/GbGAKnKQjvRbVWI1bw5fQDFlUbWHLkOVKkR0/LKyLpb3s49k5BoGnYq\
OdELhjEjrAcr9ybw/oGUZsczCoKASqUCqioCi2KVWj0pKYnHHnsMgMcee4ykpKSW7Xw7IooiMTEx\
DBo0iJCQEAAcHByQyWQIgsCwYcPIzs62tD+Wks+T7x/j119cxNtJTcyro1jz0nBJeLUj3XoFBhDa\
04moIT359Hg6i0YHMCHYk5XAkZQ8i3NHNZWVlezevZs7d+4gCAJPPfUUvXv3bp+OS0jUQK2Q88H8\
oby1/RLvxiZTqjfy2xkDEISm22FMJhPR0dHcvXuXiIgIfH19KS0txdGxKi7S0dGRsrKukQnEbDaz\
e/duPDw8GDVqlGV7SUmJ5XoTExPx8vIiKaeEv+xL5FBSHr6udvzn+aHMHuQj2bg6AN1egAH8cmow\
X1+6zX8OprAyaiC9XOw4nFRfgO3fv59+/foxd+5cRFHEYGjZLOESEo+CQi7jn88+hr1azprDaZTr\
RP70VFiTB1qZTMby5cuprKxk27Zt3Llzp5V73H5kZWVx6dIlvLy8WL16NVDlMn/lyhVycnIAsHNw\
4poyiLf+fQQHtYLfPxHCgtH+qBWSh3JHQRJggL+7ludH+LHldCZLx/VlfLAney7ewiCaUN7Pi6jT\
6cjIyLDow+VyOXK5dCNLdCxkMoGVUQPRqhSsOZJGmd7I3388uFn5PTUaDf7+/qSmpuLg4GBZlZSU\
lKDValux922Hn58f77zzTr3tQUFBlOuNRB9J4/0jaRjEfBaN7sPPH++Hq1bVDj2VaIhubwOr5ueP\
90MhF1gVm8yEYE9KdUbO3c9aD1BYWIi9vT27du1izZo17N69G71e3449lpCwjiAI/HbmAH41NZiv\
zmXz8y3n0dctPFWHsrIyKiurSngYDAbS09Px8PAgODiYixcvAnDx4kX69+/f6v1vL0STmW1nMpn4\
j0P86/sUJvb3JPYXE/jjk6GS8OqgSCuw+3g5aVg8pg8fHrrOCyP9UMgEDifnMbKvO1BlH7h9+zYz\
Z87E19eXffv2cezYMR5//PF27rmERH0EQeDnk4OwVytYuTeB8s/jWf3iMJsB+qWlpezcuROTyYTZ\
bCYsLIzg4GB8fX3Zvn0758+fx9nZmWeffbaNr6RtOJycx/9+nUhSbgnhfi589GI4w/zd2rtbEo0g\
CbAavDohkE1xmXx06Drhfq4cTs7jrRkDAHBycsLJyQlfX18AQkNDOX78eHt2V0KiUZaM7YNWJed3\
Oy6zaN1pPlkUgYOVnHve3t68+uqr9bbb29uzYMGCtuhqm1A3cW7CrWL+si+Royn5+LnZ8+EL4cwc\
2KNZzi8S7YckwGrgbKfkJxMD+eu+a8yL6M3WM1nklejwdFTj4OCAs7Mz+fn5eHh4WFQsEhIdnXkj\
/LBTyfllzEVe+DiO9S9H4GLfvVRiRtHEyr0JbD2ThUImYBBN+LnZcz2/DGc7JX+YHcpLkf6oFJJV\
pTMhCbA6LBwVwLrj6VzMugfA0ZQ85oRXrbpmzpzJV199hSiKuLq6EhUVRX5+Ptu3b7ccX1hYyKRJ\
k7h58yb5+flAlfu9RqNh+fLlbX9BEhJA1JBe2KsU/HTTOeZFn2LDkpFWM6N3VVbuTSAmPgud0YTu\
/rbUvDLCfJzYvDQSZ3tlu/ZP4uGQBFgd7FRyXpscxO93XMFRo+Bw8gMB1qNHD5YtW1a7vZ2dRTCZ\
TCZWrVrFgAEDiIyMtLT59ttv0WikEuES7cvUUG8+XRTB0s/jeW7NSTa+MhJnO2WHqkXVGpTpjGw5\
nYlerB/cfT2/FIVcUhd2VqT1shXmDu9NgLs9AnA0OR+TqWlZDdLT03Fzc8PFxcWyzWw2k5CQwMCB\
A1uptxISTWdskAcblozgTomOqe8dZuj/fMeT7x8jfGUs7+y6glFs2FuxMxJ/4y5GG8+wXBDILa5s\
4x5JtBSSALOCUi7jV9P6U1xp5G65nm+v5lCmMzZ63JUrV+oJqszMTLRaLe7u7q3VXQmJZjE8wI2J\
wR6U6UT0opkyvYjOaCImPouVexPau3stRqVBZNV3SbzyeTy25qCi2Yy3k6Qd6axIAswG00O9cbmv\
F39ty/lGZ6iiKJKUlERoaGit7ZcvX5ZWXxIdijKdkdjE+lk2KgwmtsVnNWmy1tE5lHSH6f86wn8O\
pjJrkA9zh/lip6w93NkpZTw3vHeXVZ12B6Rfzgb/75tEyu8/yAaTGUxmYuKzAPhTVH2BlJKSgo+P\
Dw4ODxJ7mkwmrl27Vs9uJiHRnuQUVdjcV61S66wJanOKKvmfvVf55nIOfT21bH5lJKP7eWAUTdip\
5GyLz0IuCIhmM3OH9+YPs0MbP6lEh0USYFYo0xnZeiarntG3eob61owB9WZt1tSHaWlpeHh44OTk\
1Op9lpBoCsm5Jfxx1xV0NjJzdFaVmlE08dmJG7wXm4zRZObX04JZOr6vJW+hQi7jT1EDeWvGgC7v\
tNKd6BC/4P79+3n99dcRRZFXXnmF3/72t1bbnTlzhsjISLZt28YzzzzTav3JLa5EIRMs7rY1sTZD\
NRgMpKWlMXv27FptrQk1ifbBWiUBDw+PLl+ssZqiCgP/+j6Zz09m4KBWMCLAlUs371FpfDBJs1PK\
mNsJVWpnM+7y+x1XuJZTwqT+nvzpqYH4udtbbatVKzrt6lKiPu1+p4qiyE9/+lNiY2Px9fUlIiKC\
p556qp4tSRRFfvOb3zB9+vRW75O3k8am15K1GapSqeStt96q1/bpp59ulf5JNB9rlQSOHj3apYs1\
QnV+vyz++V0S98r1PD/Cj19N64+TpirFVFur1GxVfs7JyWHv3r0YjUZkMhmzZs2iV69eDZ6rsEzP\
3/ZfY+uZLHycNax+cRjTw7ylLBrdiHYXYKdPn6Zfv3707dsXgHnz5rFr1656Auz999/nxz/+MWfO\
nGn1PmnVCuZF9CYmPosKwwNVS2edoXZ3bFUSSEpKYuHChUBVscb169d3KQEWf+Mu7+y+ytVbxYwI\
cOOdp0IJ6+ls2d8eKjVblZ9/+OEHJkyYQFBQECkpKcTGxrJo0SKr5zCZzGw/e5O/7EukuNLIsvF9\
eX1ykPRcdkPa/RfPzs6uVRTS19eXuLi4em127NjBwYMH20SAAZaZqGT07fzUrCSQm5uLj48PM2bM\
6LLFGnOKKvnLvkR2XbiFj7OG958fyuzBPlZXJm2tUrNV+VkQBHS6KqV9ZWWl5Xepy7WcYt7ecYX4\
jEKG+7vy5x8NZEAPycbcXWl3AWat9HndB+2NN97gb3/7W6P1t6Kjo4mOjgYgLy/vkfrVmNG3blJQ\
iY6LrUoCXY1Kg8gnx9L5vx9SMZrM/PzxfvxkYiD2qo51f1qr/Dx9+nQ2btxIbGwsZrOZxYsX1zqm\
TGfk3wdS+ORYOk4aBX9/ZjDPhPtKVZG7Oe1+Z/v6+pKVlWV5f/PmTXr27FmrTXx8PPPmzQMgPz+f\
b775BoVCUc/GtGzZMovL+vDhw1ukf3VnqHWTghpNZuZFVK3MmlM0UKLtsFVJoKsUazSbzcQm5PLn\
rxPJvFvO9DBv3p4VSm83644M7Y21ys9nz55l+vTphIaGcvXqVXbv3s2CBQswm818ezWX/9lzlVtF\
lcyL6M1vZgyQ6nNJAB1AgEVERJCSkkJ6ejq9evVi69atbN68uVab9PR0y+tFixYxe/bsdnOQsJYU\
tKH4MIn2x1YlAQ8PDy5evMjYsWPbtFjjqVOnOHfuHADh4eFERkZy6NAhzp07h719ldCZPHkyQUFB\
jZ4r9U4Jf9qTwNGUfIK8HNi4ZCRjgzpHlYSalZ8vXrzIjBkzgKoJxu7du8m6W847u69y8NodBvRw\
5P35Q6UaXRK1aHcBplAo+OCDD5g+fTqiKLJ48WLCwsJYvXo1QIfK4F4dH1Y3hqah+DCJjoG1SgJm\
s7nNizXeuXOHc+fOsXTpUuRyORs3brQIqsjISEaPHt2k8xRXGvj39ymsP3EDO5Wcd54M5cVIf5Qd\
XAtQVlaGXC5Ho9FYKj+PGTMGR0dHMjIyCAgIIDn1OqJKy5RVh1HIBN6eFcKi0QGShkOiHh1itH3i\
iSd44oknam2zJbg+++yzNuiRdZobHybRcbBWSQBo82KNeXl5+Pr6olRWpSnz9/fn2rVrTT7eZDLz\
xdks/r4/ibvleuZF+PHracG4O3SO0ii2Kj9rNBr2799PSYWeW8V6DpX7MnmgF3+YHYqPc+eOzTt5\
8iTnz58HqgqHRkVFYTAYuk0MYmvSIQRYZ8HbSYPBRi5Eo8nUKTMYSLQtXl5eHDx4kPLycpRKJamp\
qfj4+GBvb8/p06e5ePEiPXv2ZNq0afUGtLMZd/nv3Qlczi5imL8r658awcBezjY+qWNiq/KzxtWL\
BKcIdqbdws/NnnfnhjGxv1eLfa41tW01J06cIDY2ljfffNOiwm0piouLOX36NCtWrECpVPLFF19w\
5coV8vLyWiUG0Vac3cGDB0lKSkIQBLRaLU8//bRNT8/OhCTAmoFWrSDQ04HEnJJ6+/zctGiUDXtJ\
SrQtHdFT1NPTkzFjxrBhwwZUKhXe3t7IZDKGDx/O+PHjEQSBgwcP8t1331ni1nKLK/nrvmvsOJ+N\
t5Oaf88bwlOP9ewSAbuiycymuAz+8W0SOoOJ1yYHsWJiYIs+S7bUtu7u7hQVFZGWloazc+tNBEwm\
E0ajEblcjsFgwNHRkWPHjrVKDKKtOLsxY8bw+OOPAxAXF8fhw4frZQ7qjHSMp7qTcD2vlJQ7pQR7\
O5B5txy5IGA0mRjQw4mLN4v4ZcwF/vnsYx3eDtHV6eieouHh4YSHhwNw4MABnJycaiWBHjZsGJs3\
b0ZnrHKL/+BgKkbRzE8nBbJiYr8OI4ybg7XJxKWb93h75xUu3SxiTD93VkYNbBUVvC217ZgxY/j2\
22+ZMmUKW7dubfHPhSoP2FGjRvHee++hVCoJDAwkMDCw1WIQbcXZqdUPVMx6vb5FPqsj0PmehHbk\
f79OxE4pZ/PSSOyU8loP5IeHUvn7/iQqDSLvPx+OStH+A2V3paN7ipaVlaHVaikqKiIxMZElS5ZY\
3PkBEhMTMWucmPbeETIKypka6s3bs0Lwd+98bv7WJhNzhvZCLhPYdDoTDwc1/3l+KE/aCLRuCWyp\
bZOSknB0dKRHjx6t8rkAFRUVJCUl8frrr6PRaPjiiy+4dOlSq30eWI+zg6rJ0qVLl1Cr1ZbVX2dH\
EmBN5FhKPgeu3eG3Mwfgcd9gXnO2uGJiP+yUcv60J4FlG+JZ/eIwSaXYDjTkKbrlTGZVHkA7ZTv1\
roqYmBjKy8uRy+U88cQT2NnZsWPHDnJyctAbTWSXy9hT2IOengKfLx7B+GDPdu3vo2BtMrHlTBYC\
sHB0AL+cFoyTpnV/D1tq26NHj/Liiy+26menpaXh4uJiiTEMCQkhKyurVWMQrcXZeXl5MXnyZCZP\
nszRo0c5ffo0kyZNarHPbC8kAdYERJOZP3+dQG83O14eE2Cz3ctj+qBRyvmvHZd5ed0ZPl44vFOq\
ezozaXmlmKxkdwHQG81E/L/vCfZ2JNjbkf49HOjfw4n+3o54O6nbzKb08ssv19s2eeZs3j+Qwrrj\
N7BTyvnVrCAWjg7o1OpoW5MJAKVC4M3p/dvs+airttVqtVy+fNkSrlNcXMyaNWtYunQpGo3GqiPE\
w8TqOTs7k52djcFgQKFQkJ6ejo+PD0qlstVjEGvG2Xl5PXCIGTRoEJs3b5YEWHchJj6LazklfPhC\
uKW+kC2eH+GHRinjVzEXWfDpada9HPHQM0xrJUB69+5NXFwcZ86cQSaTERQU1KUS0D4spToj60/c\
IPpIGgbRugBTyAWei+hNWl4ZR1Ly+PLcTcs+J42C/j2qBdv9/96OrZ7xwWQys/3cTf6+/xoFZXrm\
DuvNm/DhkZUAACAASURBVDP6W1b5nZmGwk6UMlmbhp1YU9vW9ET817/+xbJly7C3t8dsNlt1hIDm\
xepBVaahkJAQ1qxZg0wmw8fHh2HDhqHX61slBtFWnF1BQQHu7u4AJCUl4eHROYLdG0MSYI1QUmng\
3e+SiAhwZebApunKfzTUF7VCzmtbzvPC2jg+XzzioQZCayVA0tPTSUpKYvny5SgUik6RgLaoqIid\
O3dSWlqKIAgWN+bvvvuO5ORk5HI5bm5uREVFodE0LxShWnCtPZrGvXIDk/p7Yq+Sc/DaHauVBGra\
wO6W6UnOLSE5t4SknKr/ey7eYlOc0dLG01FN/xortmBvR4K8HXFo5srBmhPD+cxC/nv3VS7eLCLc\
z4VPF0Uw2NelWeftyDS3LFFrYk1tawtbjhAPy6RJk+qtdhQKRavEINqKs4uJiSE/Px9BEHBxcWHW\
rFkt/tntgWC2lk23CzB8+HDi4+Mf+Tx/23+Njw5dZ9dPx/BY7+YNLgev5bJ84zn6emjZsGQkno5N\
n1XrdDpWr17Na6+9Vku19cUXXzBs2DBL+ZnOQElJCaWlpfj4+KDT6YiOjmbevHkUFxfTp08fZDIZ\
sbGxAE1eTZbpjKw/eYO1R9IoLDcwsb8nb0wJZkhvF4vjQM1KAs8Nb5oXotlsJrdYR1JuCck5JVX/\
7/9V1hCIvq529L+/WqtesfX11NZboVtzYnjqMR+MJthxPhsvRzW/nTmAp4f06pKJad/ZdaVeWSKA\
qSFerF0Y0ezz2ZoMtTR1HSGmTp3KoUOHuHDhAmq12masXlegpcbOtkASYA2QdbecyasOM3uQD6ue\
G/JQ5ziWks/Sz+PxcdGw+ZVIejg3bdaZk5PDnj178PT0rFUC5NNPP6V///5cv34dhULB1KlTGy38\
19HYunUrERERBAYGWrYlJiaSmJjInDlzGjy2TGdkw6kMoo+kcbdMz4RgT96YEsRQP1erbVsqDkw0\
mblZWM61nNqCLS2vzLLKkMsE+nhoa63Y9l/JYf+V27UqHwPIBFg2PpCfPd6v2au5zkTdyYTRZMJe\
paBcL/LpogjG9GueKsvWZMjTs3UcXaodIWbOnIm9vT329vaWWL3S0lJLrF5XojMJsK775LQAf91/\
DZkAb854eAPr2CAP1i8eweLPzjB3zUk2vTKySVnCbZUAMZlMVFZWsmTJEm7dusX27dvrrdI6Mvfu\
3eP27dsW195qLly4QFhYmM3jyvVGNpzMYM19wTX+vuAKtyK4qmnJWldymYC/uxZ/dy3Twx6okvVG\
E+n5ZbVWbFduFfHNlds0NDVUyAV+/njnjOlqDtbKEumMJuavPcWS9Wf4dGEEo5shxBwdHS3hBmq1\
Gk9PT4qLi60KsJaYwNR0hKhp+6qO1bNFRwyi74pI36wN4m/c5etLt3l9ctAj52Ib0ceNja+MZMEn\
ccxdc5LNSyPp49Gw26ytEiBOTk6EhIQgCAK9evVCEATKy8s7RSkQvV5PTEwMM2bMqBVYeeTIEWQy\
GYMGDap3TLneyMZTGaw5nEZBmZ5xQR68MSWYYf62BVdbolLILGpEHnuwvVxv5HBSHq9vPY/eilNJ\
WzsxtDc1JxNaNWx6ZSTz18axeP0ZPl0UwejA5jsV2JoMPWoguy1HiLqxejU9+1rqsx+F7ig0u8dV\
NhOTyczKrxPxdlLz6oSWsTUN6e3C1mWjePG+ENv0ykiCvW3nIrNVAsTNzY309HQCAgIoKChAFMUW\
z9/WGoiiSExMDIMGDSIkJMSy/cKFC6SkpLBgwYJaq8gKvVgluI5cJ7+0SnC9PjmI4QGdo5yGvUrB\
+GDP+9dUX4C1tRNDR8PdQc2mpSOZv/YUiz87w7pFIxgV6N7k421NhuDRA9ltOUJUx+oBuLi4WE3F\
1BpB9CaTibVr1+Lo6Mj8+fPr5TWc/eRT/OtwVofNPNOaSDYwK+w8n80b2y7w7rOP8eNhvo0f0AxS\
75Qwf20cBtHEhiUjG0zGmpOTw+7du2uVAFGpVOzatYucnBzkcjnTpk2jT58+LdrHlsZsNrNz507s\
7OwsNZ8AUlNT+fbbb1m0aJFlBVmhF9kUl8Hqw2nkl+oY28+D16cEEdFJBFddrDkxWPOI7K7kl+qY\
v/YUWXcrWPdyBJF9GxdioiiyZcsWAgMDGTVqVK19ZToj4StjrcaeaZQyzr49tdVWJ8UVBob9OdZq\
GIcABHk7oFUrsFPKsVPK0ajkltd2Kjma6tdKGXYqOXaqqrZ5qZcpu5eHyWhg6pNzkJuNODvYo1HK\
uXD2DPvjk9mW69li91hnsoFJAqwOFXqRx989hIeDml0/HdMqnmE38st44eM4iisNrF88okE7Tlcg\
MzOTdevW4eXlZVllTZ48mX379iGKInZ2dpjNUKZ0ZluuJ3klOkYHuvPGlGBG9OmcgquaR/GI7C7k\
l+p4PvoUNwsbF2K2JkPVpOWVMvs/Ryk31Bdg9koZe18b16JqW51R5HhqPt9eyWX/1RyKKgxW28ll\
ApF93ZAJApUGkQqDSIVepNJgsryuMNR317dHzzhVOpeMPoQpcvleXztwerDiNlpBz0mDf71jH1Zg\
SwKsA/CwP8J/DqSwKjaZmFdHtergebOwnBc+jiO/RMcni5o28+yKVBpENsdl8tHh6+SV6BjV1503\
pgQxsot9H93RPtEc8kp0PL/2FNmFFXz2coTN39/WZKg60PhIch4LPz1tRWlbxXMRvXl5TAADejg9\
dF9LdUZ+uHaHb6/mcCgpj1KdEUe1gnHBHnx3Nddq7FtThInZbH4g0O4LtUP7dhEwcBhl5ZXcSDhP\
wMhpVOhFbifGU3r7OqKgIOZeH8rN9ZMlaFVy9vx8bLMFtiTAOgCN/Qi7du0iOTkZrVbLihUrAMi4\
U8hf/+8zPNRGgnv3aPUic7nFlbzwcRw3C8uJfmk444M9u81AV2kQ2XI6k48OXedOiY7Ivm68MSW4\
2wpyCbhTUsnz0ae4XVTJZy+PaNYE8m6Znr/uSyQm/iZalRyDaKrlPKOWC/i62XOzsAKd0UREgCsv\
RvozY2CPWrF7tp6/u2V6vk+oWmUdS81HbzTh4aBiaqg308J6MDrQHbVC3qIq4+TkZFJSUpg1axY3\
btzgxIkTzJ8/v1abdV/uY9f5LC4Y64fSSCuwTkxjP0JGRgYqlYodO3ZYBNjvP9jE1dxK/vPG82Qm\
nqOioqLV0zQVlOp48ZPTpN4pYWw/D05cL+gyhlhrg0GlQWTbmSw+PJRKbrGOEX3c+MWU4GYZ8CW6\
LjWF2PrFIxq1fZrNZr44e5O/fJNISaWRV8b1ZcXEvrz7XbJVtW1JpZHtZ2+yKS6DGwXluGtVzI3o\
zXPDfVl3/EYtR4gnB/sQ4uNEbGIup9PvYjJDLxc7ZgzswfSwHgzzd0Vex8TQkirj77//nkuXLiGT\
yTAajeh0OkJCQiyxkrsuZPPHmNNMUafwtWFgrVhDyQbWyWnKj3Dv3j02b97MihUruJJdxKfRH+Ex\
dBr/9XQ4JSUlrF+/np/97Get3teicgOTVx0iv7R2nZ6Obuyv6x1VzbFjxzlw4Hu+NAxFlKkwmsw8\
O8yXQC8H1hxOI6e4khEBbrwxNYhRfd07TQybRNtwp7iS/8/eeYdHVad/+56WTNqkkN4IkJ4QSiih\
ifSmNBVdFVBEFnFtuz/d3XfddVfc1W3K2kVdVBAVWBEMAkaQXkIPKSSBhDTSSW/TzvtHmCGBCSRk\
JjOTzH1dXpKZkznPOTlznvN9yud56ONjlF5zYiNCPAw+DGWV1vHy1lSSL19lRH93/rpgcGs7wzVu\
Fc3QagUOXaxgw7E8fsooRSu0NpcbUr4K93FmRkyr04rxV3TqejV2JKXtCqyyspKt6TW8tiODmd71\
jPcVyHaKNVqe1ZocWO+NUXUBQRBYnZhOmFjNr2a29iIZc8jc7ZBKRNQaSP42qbR8c7KAl2ZGWmQ4\
8fjx43h6etLScl2utaamhp+SU2gU7K6VErcmpr88no8AjAxx581FQxgzyOa4bBjGWyHn6ycTeGjt\
MZb+N5m7wjzZm1muXxndPzwAZ7mMTw/l4iyX8o/74rg/PvCmgqtbNbKLxSLuCvfirnAvLpbVMeOt\
AxjSgLaTiti6alyXv3/GbKJviyAIvPflVq5WVvKoq4xIH1/m3nMPCoWiXbO4Jd4vTEHfOMrbsDut\
lOO5V4l1EZt8NpEhSmubkUnEKA2IhkpEojtqeL1xdVRSUsKOHTtQKpW4ubmxcOHCm/pnukJtbS3Z\
2dlMmDCBo0eP6l/fsXMXO696M0FS3W57AZBJRKx7bCTOZjjHNqwLb4Wcr1YkMO3N/exMKwXQ91Vt\
TC5AAB6ID+T3s6Pw6ObEALFIhFwmoUF58/fPUhrOQ0JCCAgK5jebz/HtFT8eTRjNX+bGtgthmspp\
WjLWmVwxIgLw+s4Mwn2ccVO0DpcDjD5k7laYQrVbtzrS8f333zNlyhSeeuopIiMjOXz48B3bC61K\
+VOnTm23isrMzERi50C92PB5s5OIKaszNFzDho2bcbaX0mygtFwA7CQi/jw3ptvOCyxLNb8jGpVq\
nvziJN+eLuLX08JZPS/2pvxbX6TPO7DqRiV5lY38YU40ERERnDt3DsBkQ+YM4WQv5aGRQTjI2v85\
HGRiHhwR1OVwgG51pBvgB1BRUUH//q29IgMHDiQjI+OO7dVVb/r7++tfU6lUHDx4kGlTJlv8zcCG\
daCLTBhCJmldGRkDY3//jM3VBiUPf3ycA1nl/G3BYJ6dEmYLv1+jz4YQ//e//5GTm4uyvpHFzudx\
qfdj5PjxJhky1xn+eE80AF+fyKdFLSARwaJridiuolsdKZXXi0K8vb3JzMwkMjKS9PR0amtr79jW\
/Px8MjMzyc7O1ldHbd26laqqKr5Y9wm/cFQhKJXMtc8gsSWKJmT6ghRz3wxsWA89uTLSfc/aFkLc\
6fevu7QtAKlqVLLkv8kUVjXxwaPx7YSkbfTxKsQ/fpfKxuR8dj8/gVDvjnUJe5KGFjXLPz9JaW0z\
e//v7i7/fke9IxUVFezcuZOmpibCw8NJTk7mpZde6ra9hvpT1Botr/3933zbGE6tWopYBIsT+lt1\
S4AN89DTUlzm7MO8UQhYqdEiFYuRSkR8smREjzX326oQrYDs0jo2JufzyOhgi3Fe0BrOGBfaj3/9\
mEVNkwpXh64VPBhaHX377bcsXLiQxYsXA1BZWUl2drYpzAdaR2i4OcrY89QkXk7M4uilSv4wx+a8\
bHSdnl4ZmbMQwpAQsEqjYW6UX69TpjEWfc6B6Z6wXk1Mx9FOwvNTw81t0k0MDWrVRkwprGZCWNcG\
9U2dOpWpU6cC11dHCxcupKGhAScnJwRB4MCBA4wYMcIotoaEhBASEnLT688//zwAD8QHsTutlKM5\
lUwMv/lYjh49ypkzZwDw8fFh3rx5SKWtl+WRI0dISkrixRdftArFfRvGx9A8sd4Yhm5oUfP1iQKD\
IsQ/ZpTS0KLulcfdXfrMGWm7PAdoUWsZ0d8dhdzyTkFckCsiEZzJ77oD64jz589z4sQJAKKiohg6\
9M4mTHeV8WGeONlJ2JVacpMDq62tJTk5mVWrViGTydi8eTOpqakMHTqUmpoacnJycHXtWK3fRt+h\
t5eIl9Y2IxWLMFSje6etNH0By7t7m4i2y3MdqUXVrE5MtzilC4VcRqiXM2cLqm+/8S1ouzpKSEgg\
ISGh27Z1NUcgl0mYFOlNUnoJr82/ufRXq9WiVquRSCSoVCr9wMDdu3czdepUvv76627bbInc2KeX\
lpbG/v37KS8v58knn2xX4Wmj92MNpfyWSJ9wYB0tz5vVgsUqXQwLdiMpvRRBENqVzK5ZswZ7e3tE\
IhFisZgVK1b0iD3dmTQ7K9aPxJRiTl6+2i6Wr1AoGDNmDG+99RYymYxBgwYxaNAgMjMzcXFxwde3\
91Zc3ahi4u3tzaJFi0hMTDSzZTbMga6Uv6OCFUu7P1kKfeKsWOPyfGiQO5tOFpJ/tZH+/do3Bi9d\
utRgTsiUFVTdmTR7d4QXdlIxO1NL2jmwpqYmMjMzee6555DL5WzevJlz585x4sQJHn30UaPab0kY\
UjHx8jJOqNiG9dK2YEWjEVBpBe4bHmiWUn5roU84MGtcng8NcgNa82A3OrAb6c7q6Ea0WoHqJhVX\
G5TX/muhuLqZDcfz0dxwDjur1ehkL+WuMC92p5Xwyr3R+hVlTk4Obm5uesWTqKgozp49S1VVFR9+\
+CHQerP/6KOPePLJJ3F2tqyHjDvFUJ+eDRttC1a2nCrkle1pLIwPtFXv3oI+4cCscXke7uOMo52E\
swXVzB92fdaPSCRi/fr1iEQi4uPjiY+Pv+Xq6OV7oqlqUFJ5zSFVNii5Wt/C1UYVVxtaWl+rV+od\
VlWj0qAid0eIoVMr2FmxvvyUUcq5whq9c3Z1daWoqAiVSoVUKiU3N5fIyEiWLl2q/701a9awYsUK\
q6tCNFRdWVFRwZYtW2hsbESj0RAfH29mK/sWhsLvlph7dLKXMivWl1e2p3E6r6rdxHZDx7Bv3z5O\
nz6t/460HfDZ27G8O7eJaLc81wqoNAJTo3xuuTw3dLGUlJSQmJiIWq1GLBYzZ84cAgJuHibXXaQS\
MYMDXDlzQyHHsmXL9Er569evx0nhbjC/16TS8vnRPD4/mmfw80UicHOQ4eFkRz8newZ5OTNygB39\
nOzwuPZfPyd7PJzskMvEzFxzoN2AwLb7SbtSywBPp1vK20yN8kEqFrErtUTvwAIDA4mKiuKjjz5C\
LBbj5+fXK27qHVVXnjhxAj8/P/Ly8igoKCA3NxdBEPR9ejZMz43hd0vNPXor5AS4Odz0/QfDKYSE\
hATGjh3bU+ZZDH3GgbVdnl8qq+fhT46jEYTbLs9vvFiSkpKYOHEiYWFhZGdnk5SUxGOPPWYSm4cF\
u/PpoRyaVRrkstapsboqPScnJyIjI8nOzeswvycVi3g0IZhB3i56x9TPyQ53JzvcHe26JAb6i1HB\
N61gZRIRcqmEZ746w0cHLvH8lHCmRHkbdGSujjLGDOrHrtRifjszQr/NpEmTmDRpUof71fWTWRuG\
qisrKipYvnw5IpGImpoa1q1bh7e3t815mRFLzj0OC3bjTH73KpF7O33GgelwspcSF+TGY2NDeG/f\
RbJL6wjz6bwSh0gk0leONTc36x2KKRga5IZKI5BeXMvwYHeUSiWCIGBvb49SqeTSpUuMHjsetTbH\
4O9LJSJenGGcCktDiggPjgji97Mi+T6lmHf2XmT5FycZHODK81PDmBx5syObGevLH7amkllaR6Sv\
ots2WSodVVfeqEfZdt5cRkYGO3fupLGxkY0bN+Lr69urC1nMgaHwuyUzLNidxJRifWEWdHwMycnJ\
nDt3Dn9/f6ZPn46Dg4M5Te8x+pwD07Fs/AD+eziX9/dd4q0HDTf1GrpYZsyYwYYNG0hKSkIQBJYt\
W2YyG4cFXy/kGB7sTkNDA9988w3Q+oQfGxtLbFQED41U8eXxPNpGEY2d37uVIsIDI4KYPyyArWeK\
eGdvNk98fpK4wFZHNiniuiObFu3Dy9+lsiu1pFc4sJqaGr777jvq6+sRiUQMHz6chIQEfXXl2LFj\
2b9/P01NTaSkpDBv3jx27tzJgQMHCA8PRyaT6TUko6KiiIqKMstx3EoNpTdxY/jd09NTP6HBEmn7\
/Z8Z29pSYugYRowYwV133YVIJGLv3r38+OOPzJs3z5ym9xi97yrtJB5Odjya0J9PDubw3JQwQjxv\
rvQzdLGkp6czY8YMoqOjSUtLY/v27SxZssQkNvoo5Pi7yvUNze7u7qxcufKm7f54TzQ/pJZQUd+C\
o0xiUr24jhQRZJJWh7lgWABbTxfxzs/ZLPvsJEMCXXl+ajh3R3jh7SJnZH8PfjhfzNwh/lYvCyQW\
i5k+fTp+fn60tLSwdu1aBg0aRFlZGU5OThQWFuLq6kpYWBgFBQXExcX1mB5lZ7mVGkpv48bwe1FR\
0W0dmK7wRkdVVRWTJk2isbGRzMxMRCIRTk5OzJ8/3+jRmBh/BXYSMWcKqvQO7HbHEB8fz8aNG41q\
hyXTp+szl08YgFQi5oN9lwy+b+hiOXfunP5JOTo6mqKiIpPaODTYjbMFVR2+r1ar+fTTTxirPM1j\
blm8NlrEqZensShUxNqPPuQvf/kLV65cMamNbZFJxCwaGcTe39zN3+8bTGWDksc/O8H894+wJ70U\
raAlq7SeOW8fZPjqJF7Zlopac7P+mzXg4uKCn58fAPb29nh5eVFbW4urqyvZ2dlMnDgRQRDIz8/H\
09NTHzI0th5ld9Hl67RabTs1lN6EUqnUh/514Xdvb+/b/p6npycrV65k5cqVrFixAplMRmRkJOPG\
jeOpp55i5cqVhIeHs3//fqPbbC+VEO2v0OfBOjoG3RBeaA1Fd+a4egvW+/hrBLxd5PxiZBBfHs/n\
2alhBLhdjxsbyjdNnDgRFxcX8vLyCAkJITc3l379TKsSPSzInR/Ot66uPJ3tb3pfIpEwaMwcXv/y\
LOsfGUHmge+pKi8xe3WVTCLmwZHBLBgWyLenC3ln70We+OL6iAZdMUhnm6EtnerqaoqLiwkMDOTy\
5ct4enqybds26uvrEQSB+Ph4jhxL5uTJk0jFIqKje06P8lZ0lK/rbRgKv4eGhnYp95ibm4uHhwdu\
bm7tXjdlP9+wYDe+Ss5HrdF2eAxbt26lpKQEADc3N+655x6T2WNp9GkHBrBi4iA2Jufz4b5LrJ5/\
/Sba0cViZ2fHrl270Gq1SKVSk18sQ6/FwXelFrNgWOBNITeRSMSxvBrspGKGBrqSrmkdwW4p1VV2\
UjEPjQpmRowvI//6000N5Z1thrZklEolmzZtYubMmYjFYg4ePMjixYuRy+WsWbOGGTNnsXrHBb4+\
UYNUHN7aaN7fl7u1AlKJeSfrGlJDSUlJIS4uzqx2GZuOwu9dyT2mpqYSG3v9HrFnzx5SUlKwt7dv\
17toTIYFu7Pu8GUulNQRG2D4GBYsWGCSfVsD1nnHMCIBbg7cNzyQb04W8KvJofpqn44u+ODg4B7V\
H/zudCEAf9mezurEDIMKG0cuVnCfQwbvrDnDyJEjCQwM7BH7ukJVoxJ7qRi1UnPTe5Yq59UZNBoN\
mzZtYvDgwURFRVFaWnqTksib77zP9qYIWtTSLstwmRpDaii6fJ2N62g0GjIzM5kyZYr+tSlTpjBl\
yhQOHjxIcnLyLdtB7pRhOkWegmpiA2yTGW6kT+fAdKy6OxSNVuDjA4bL0c3F6sR0vj3TmmNTaQVa\
1Fo2nSxgdWK6fpurDUrSS+rwT7iXX//611y5coWysjJzmdwh1ijndTsEQWD79u14enoyZswYGlrU\
NIidWPXsCzz//PM8//zzuLgo+F9DBFWq9s+KupVnQ4vaTNa30lYNRRAEcnNz8fT0NKtNlkh2djZ+\
fn4G5cwGDx5MRkaGSfYb6O6Ap7M9J3KvklNeb/brxdLo8yswgOB+jswb4s+Xx/NZOjYElUZr9gq5\
jhT0bwy5Hb1UCcDYUE/kcjn9+/fn4sWLFpfItUY5r9tRUFBASkoK3t7e/Pnva6huUnFeG0Sh1pWH\
RgaxeEx/qpuUBhVMwDJWnr1VDaUtxhC5vjF8WFlZqc9/Z2Zmmszpa7QCDjIx35+7wp6M0m7pnPZG\
rO+uYSJW3DWQb88Ucfc/f0Yuk5j9Qumsgv6RzCLc7WFIoCsqlYrc3FzGjRvX4/Z2hp4eD29qgoOD\
eeWVV3hlWyqbrrR1zFrWH2uV8ZKKY9GKBDDgwyxl5Xk7NRRrxVgi1yqVipycnHb57j179lBRUYFI\
JMLNzY05c+aY4hBYnZhOcU0zAtBwLfxuKeFnS8DmwK7xVXI+EhFoBMu4UDobcjuXW8Js+2w+XpuP\
IAjExMQQHh5ukcoOvXE8fEcrZa3QKuX1068nsu5w7k0rT7lUxINWuvK0FlYnpvPNiXxa1EK3co8y\
mYyXXnqp3WuLFi0ylpkdoru2emPhk7Ho20d/Dd2FcmOkx5wXSkchN4kI/Y3vSnUTqVdFzJ8zj+UT\
Brb7fXMqO9yO3jQevrS2mY4KCe2lYrSC0G7lKWgFWjQCY0M9zbryNOXsOEvg+oOF9d78rXGOYU9j\
2X/BHsJSL5QbQ27Nag0aLdwf31pleESX/xpkS7r3NDoH0Pp3MdyIrVspt115FlU1snTdCeqa1WYJ\
TRtzdpwlc6sHC5Vay8bjeTw4KhiFXGZwG0tw8L2x8MnY2BwYlnuh3Bhyk8skzPrPQf75YxZfLBvF\
kYsVeDjZEenb+5QTLJW2DkAsgmaVFgH0zkCHoeIUJ3sp4b4KVtw1kL98n87Jy1cZEeLRo/Z3Z7K2\
NeGjkN/iwQL++sMF/rE7k4SB/ZgR48v0aB+8FXKLcvAdRWFs4efr9J5Hrm6gu1AcZO1Ph4NMbBEX\
ii7k5u/mwDOTQzmQVc6PacUcyC5nVIgH4i6MRbHRPdo6gKZrzksmhlBvJ+QyMU52EuTXnFdHIcIH\
Rwbh7ijjw/2GJcxMhS6s1vZmCJZT0m9M9mWWX8tDtn/dQSZmSUIw/3tqDMvGDaDgaiMvf5fK6Nf3\
sPD9wzz40VG+PpFPi1pLg1JjsHWlJ/njPdEsGhGEXCbW358C3B2ttvDJ2IgEQejC/F3rYcSIEZw8\
efL2G17j+pNXa9JXKhbxyOhgiwutNLSoGP23PdS3tBaaWKqdvZGGFjXDVyfdVLABIJeJOfDiJOpb\
1J0KO635KYs1P2Xz4wt3Ed7BOJ9t27aRlZWFk5MTq1atAmDLli1UVFQAreN85HK5wYZ7Q+SU13PP\
2wdpVN1sv5OdhO+fGd8rciqFVY3M+s9BBno6ERfgyubThe1GALX9rgiCQFZpPbvTStiVWsLF4quM\
s8vDTdQEwCFVCDGSUtwkLYT7OKNsaenSOTcWupDmV8n5fHwwl29WJDB6oGlk7Lp67zQntjXoNXTh\
rFE7EwAAIABJREFUuhdnRDDmjb3MivW1yJDKP3ZltruBqrVCrwwBWSK3yqtIRCLqW9SddgBLx4Tw\
0f4cPtqfw78XDTG4zdChQxk1ahRbt27Vv3b//ffr/717927k8s6Ft5tVGnakFBt0XtB7cipqjZbn\
vj6LIMA7vxhOcD9Hfjc7qsN8lkgkIsLXhQhfF+6J8+PVdz+jUK3gZ80gxGiRomWfdhBOIgnP3j+e\
7NOHO33OjYkuCvPraRH8cL6EP25LZcezE5D18YfWvn30BnCWy4jyVZBT3nD7jXsYXQhIpTFcWdWb\
QkCWiJez/W0LNjqLu5MdD44MYtvZIq5UNxncpn///h0OJhQEgfT09HbNtQbtuvaAM+lf+/h3UhYB\
bg7YS9t7YUsJlRuDt/dkcyqvir8uiCW4X+skdd3N/3bH52YvwktUR7amtShKixjltWd8jSDg7WLf\
qXNuShzsJPxlbgxZpfX891Cu2eywFGwOzADhvs5kltZhadFVXbWkIXTVkjZMx+dHL6MVQCY2jgNY\
PmEAAvDpHdyI8vPzcXJy6nAagiAIJKWXMnPNAV7akoK3Qs5XTyaw/8W7eWhkMHKZGBEgFmHVzeRt\
OXqpknd+vsj98YHMGxrQ5d9XNtbh5OTEBLvLzLVPY5zsMlI0+r9vZemVW57znmJqtA9To3xY81N2\
hw8/fQXrf+QyARG+Cuqa8ymuacbfzXJGc1tqtWRf4EBWOf9OymLuEH/cHKRsOlXYbTWRQHdH5g7x\
56vkfJ6ZHIqbo12nf/f8+fMdrgROXr7KGzsvcDKvioGeTnzwyHBmxvrqJ2PrKluf+PwE5XUtVhN6\
7mi4ZHNzMydPnaK4XuB+R1gSc2fjYLRaLeKmanKEKIpVjoyxK2CYfSnRw8fwx3ui2bXzB7Ouvtry\
yr3RTHtrP69+n86Hi3uX9FdXsDkwA0RcS6pnltZZlAPrjXqC1kDB1Uae/foMET4uvHHfYBztpPx2\
Vsd5la7wy4kD2XqmiC+O5vHslLBO/Y5Wq+XChQs3TUXILq3jH7szSUovxcvFnr8tGMwDIwIN5kmc\
7KWMGtCPd/dm06hU42hn+deObrgktJ6DN998k8jISM6cOUORXSCJShe2rhp3x6rtCoUCe0dniioc\
WfPgUHzEg8g+f5Il82I7POfmIsjDkWcmh/HP3Zn8fKGMSZGWpX3aU1hECHHXrl1EREQQGhrKG2+8\
cdP7X375JXFxccTFxTF27FjOnTtnUnvCfVoT8VkldbfZsudpW1bbmZJtG92jWaVh1Zen0WgFPnw0\
Xn+j72xe5XZE+iqYHOnNZ0cu02Rg1IwhcnJy8PT0RKFQAFBc08Rvt6QwY80Bjl2q5MUZEex/8W4e\
Hh18yyT/4ABXtAJkFNd26xjMQdvhkimFNWSX1vPbmZHdGjni7OxMg2CHr72KmbG+tFSV4HtNFPvG\
c24JPDlhIIO8nHhlexrNqs5dO70Nsz92aTQann76aZKSkggMDGTkyJHMnTuX6OjrN+QBAwawf/9+\
3N3d2blzJytWrOD48eMms8nN0Q4fhT2ZFujAeqOeoCXz5+1pnC+q4eMlIwjxdDLJPlZOHMSij46y\
+VQBS8aE6F//3//+x+XLl2lsbOTNN9/k7rvvZvjw4Xpl9JpGFR/sv8S6w7kIAjw+bgBPTwrFw6lz\
ocjYgNab8fnCGuL792xDdXfRnYMLJbUcyC5nqLwKVeputl31Z/r06R0Wv9wKpVrLvsYApjleZt0n\
a3F3d2fevHnt9mdJ2EnFrJ4Xy8OfHOf9ny/y6+kR5japxzH7nS85OZnQ0FAGDmzV8nvooYfYtm1b\
Owc2duxY/b8TEhIoLCw0uV0RvgoySy3PgenoTXqClsrXyfl8faKAX00KZVq0j8n2MzLEneHBbqw9\
kMPDo4L1PUr33Xefwe1nzrmXL45e5ol//kxts4oFQwN4YVo4QR6OXdqvr0KOp7MdqVesawWmGy45\
7q67+cW6MzTIAvjg2UfxcpGzd+9efvzxR73j6QqHL1aQ32TH3Yt+wZSo9n/v+fPnG8t8ozI21JP5\
Q/35cH8O84cF3PaeYKi3MC0tjf3791NeXs6TTz7ZE2YbDbOHEIuKiggKCtL/HBgYSFFRUYfbf/rp\
p8yaNcvkdkX4OJNdVo+mg6IJG72blMJq/rQ9jQlhnrwwLdyk+xKJRKycOIjCqiZ2nC/ucDuNVmDz\
yQIm/2sff/vhAsOC3djxzATefHBol52Xbr8x/q6kFtV0x/weRzdc8s19+WSX1fPGgyPxVjggEomI\
j4+/5f3jVnx/7goKuZQJYV5Gtti0/L85UdhLxfxpW9ptK6eHDh1601QKb29vFi1aRP/+/U1ppkkw\
+wrM0AnXVUvdyM8//8ynn37KoUOHDL6/du1a1q5dC0B5eXm37Ar3cUGp1pJX2WBb6fQxrjYoeWrD\
abyc7fnPQ8OQ9IBU19QoH0K9nflwfw5TIr0pq2vRh4cFQWBPRhn/2H2BrNJ6hgS68q9FQ4wi4jw4\
wJVDFytoVmmQyyRGOBLTk5qaiuAWxMbD+fzyroEM87tefZuRkXFHw1yv1rewK62EGTG+2N2oP2Xh\
eLvI+b8ZEbyyPY0d54u5J86/w2379+9PdXV1u9e8vKzLYbfF7A4sMDCQgoIC/c+FhYX4+9/8B0hJ\
SWH58uXs3Lmzwz6MFStW6KuERowY0S27Iq4J5GaV1tkcWB9CoxV47uszlNe1sOWpMZ3OJ3UXsVjE\
kxMG8Nv/nWfYq0nYScWotQKTI70or1NyMq+KAZ5OvP/IcGa1KYnvLrEBCjRagYziWoYFuxvlM02J\
SqXi4qVLbGpyIC7Qld9Mj2DH99soKSkBwM3Nrd3gyduhk5D78ng+aq1A4rVVmLVJsz2a0J9NJwt4\
9ft0JoZ74dKByn5vw+wObOTIkWRnZ5Obm0tAQABff/01GzdubLdNfn4+CxcuZP369YSHmzacoyPM\
2wWRCC6U1DEz1q9H9mnD/Kz5KYuD2RW8sXAwcYFuPbrv84U1iACVVkB1rSJxZ2opcpmY1+bH8uDI\
IKNLB+mq9lKvWIcDE4klnHa9i5aGGt5+aBh2UjELFiy448/TiTPr+itVVirNJhGLeG1+LAs/OMKa\
n7L7TFWy2R2YVCrl3XffZcaMGWg0GpYtW0ZMTAwffvghACtXruTVV1+lsrJSn3SUSqUmF5t0sJPQ\
38ORLAsu5LBhXH5KL+WdvRd5cEQQD40K7tF9N7So2XyqEEMZDEEQWDAswCS6dwFuDrg7ykgttI48\
2Ls/XyT58lXeenBIt6tCO5qmbU1DL3WsWbMGe3t7lri1UHYinfThgRSmHiMrKwuJRIKHhwfz5s0z\
i46jKbGIv87s2bOZPXt2u9faqj1/8sknfPLJJz1tFuE+LhZZSm/D+FyuaOCFTWeJDVDwl3kxPb7/\
Ww1VlYrFJhuqKhKJiA1w5bwFF3LolNgLq5p4e082C4cFsGBYYLc/91bnXKMVOJ5byaQIb6OFa03N\
0qVLUSFj8r/3UfTdef4+bSBTp05FLBaTlJTEwYMHmTZtmrnNNCoW4cAslQhfF/ZcKLOqBLeNrtOk\
1LBywykkYhEfPBJvlr+1OWXCYgNc+fhADi1qDfZSy7nO2w6XlIigUaXFRS7lT/caJzx2q3Ou0ggs\
++wkQR4OTI7wZnKUD6MHeFj8fcDVUcbvZ0fxf5vPcbo6iDBx66o9MDCQjIwMg72FDg4O7Ny5k8bG\
RjZu3Mjo0aPNfBSdx+bAbkGErwsarcCl8npi/O+8w98QHem6hYSEsGPHDpRKJW5ubixcuBB7e3uj\
7tvGdQRB4P9tPU9maR3rHht5R+XoxsCcMmGx/q6otQKZJXU9nve7FW2Hh+pQqjS8lZRllPzUrc75\
nMF+DO/vwd4LpXxzsoDPj+bhIJMwPsyTyZHeTI70tijtUZFIxPr16xGJRAwfPpxRIR68vvMC06J9\
8XCy4+zZs8TExBAXF2fw96OiovT/7m4BXE9ic2C3QKeJmFVaZ3QH1pGu2+bNm5k2bRohISGcOXOG\
w4cPM3nyZKPu28Z11h/LY+uZIn49LZy7I8yrJ6dLvH9zsqDbQsFdYbCukKOo1mIcWEf5qRaNYNT8\
1K3OuVQi5uHRwTSrNBzNqWRvRhl7L5SRlF4KtFZw6lZncQGuZp2MvmzZMlxcXGhoaGD9+vU8M2oi\
j22p4h+7LjDbqxqxWMzgwYPNZp+psDmwWxDi6YRMIiKzpN6k+2mr61ZRUaFvKBw4cCAbNmywOTAT\
cSrvKq9+n87kSG9+NSnU3OaYTSYsyMMBhVxqUXmwW+WndKODjJET7Mw5l8skTIrwZlKEN69em+C8\
50IpP18o492fL/L23ot4Ottxd4Q3UyK9GR/m2eNl7C4urQ/bTk5OREZGImmu4onxA9h7OBm/gGaW\
LllCbkVDr5Oe6z1HYgJkEjGDvJxNXonYVmfN29ubzMxMIiMjSU9Pp7bWumR+rIXyuhZWfXkafzcH\
3lo01KxPzzfS0zJhukKOtCuW48B6OifY2XPedoLzqrtDqWpQsj+rnL0XyvgxrYQtpwqRSUSMGuDB\
5EgfJkd6M8BEGpo6lEolgiBgb2+PUqnk0qVLTJw4kbnuGq6eKGVjeQzvvf4zMklrb+FDI4Osrs+t\
I2wO7DZE+Lpw8nKVyT5fp+s2ZcoUAObNm8fOnTs5cOAA4eHhSCSWnTS2RtQaLb/aeJrqRhVbV43C\
1bFvNH3eitgAVz47fBmlWmsRShS6/NRXyfko20wgt7TRQe5OdswfFsD8YQGoNVpO51ez50IpezPK\
WJ2YzurEdAZ6OjEpsnV1NiLEw+jnt6GhgW+++QZoTUfExsYSGhrK22+/jYNEYLQqDaRQrnXmqLq/\
Vfa5dYRlXAUWTLiPC9vOXqGuWaUPC6jVatatW4dGo0Gr1RIVFcWkSZP48ccfu9x3odN1c3Zuffrz\
9PRk8eLFAFRWVpKdnW3aA+yD/GN3Jsdzr/LvB4YQ7W854zHMSWyAK0qNluwy4+d775Q/3hNN2pVa\
TuZV4SATI2DZ06OlEjGjBngwaoAHv58VRcHVRvZeaM2brT+ax6eHcnGxlzIh3JPJkT7cHeGFp3P3\
C7Tc3d3btR3peOKXqxj26o/tHgDAOvvcOsK6re8Brhdy1BPfv1WpQCKRsHTpUuzs7NBoNKxbt46w\
sDAGDRrU5b6LG8c0NDQ04OTkhCAIHDhwwKoqgqyBH84Xs/ZADosT+nNffPd7iXoL1ws5aizGgUkl\
YnwUcvzd5Gx4YrTV5W+CPBxZOjaEpWNDaGhRc/hiBT9ntjq0H86XIBLBkEA3pkR6MynSmxh/hVF7\
zkpqmhCLRGCgPd6YeURzYj1Xg5loq4moc2AikQg7u1aNPK1Wi0bTKvszaND1Uea6votboVKpyMnJ\
aafddv78eU6cOAG0lrYOHTrUeAfTx7lYVseLm88xLNjNYp/izUV/D0ec7aWkFtXy4Mjrrx89epQz\
Z84A4OPjw7x588jMzGw3fsOQdqmxOJ1fxYgQD6u/0TrZS5ke48v0GF8EQSDtSq1+dfbmT1n8OykL\
X4WcSZFeTI70YVxov25NyT6Vd5U3dl6g+YYqTh2m7i3sKWwO7DYEuDngaCe5SZFDq9Wydu1arl69\
ysiRIwkMbP80r+u7uBUymYyXXnqp3WsJCQkkJCQYx3gbeupb1Pxy/SnkMgnvPzLcIvI8loRYLCLG\
X9GuErG2tpbk5GRWrVqFTCZj8+bNpKamEhAQwKJFi0hMTDSpTcU1TRTXNDMsyDJK+42FrmgmNsCV\
Z6eEUV7Xwr7MMn7OLOP7c8V8lVyAnVTMmIH9mBLVWv3YUX+iTqVEtzpNv1LLv3/MZM+FMjyd7RgV\
4k5KYTXNasvNI3YH6z8CEyMWiwj3cbmpElEsFrNy5Uqam5v55ptvKCsr049xOHDgQK/tu7BEampq\
+O6776ivr9c3ciYkJLB3714yMzMRiUTk12ooqfLn4+UT8HPt+rTevkBsgCsbjuWh1mj1FWparRa1\
Wo1EIkGlUuHi4tJj4zfO5LeO/Rje3/JFhruDl4s9D4wI4oERQSjVWk5evsqea6uzP21LA9II93HW\
VzUOD2516DqVEqlYhFKjJcDNgcuVjSjkUl6aGcFjY0Owk4hZnZje472FPYXNgXWCCB8XfsooNfie\
XC6nf//+XLx4EW9vb86ePUt2djZLliwxGM++8YnJRvcRi8VMnz4dPz8/WlpaWLt2LYMGDWLcuHFM\
njyZjw/kcGb3PpYOaDLKDK3eyuAAV1rUWi6W1xPpq0ChUDBmzBjeeustZDIZgwYNahcmNzVn8quw\
k4qJ9us7hTZ2UjFjQz0ZG+rJH++JJqe8Xh9q/ORgDh/uv4SrgwwPJxmFVU2oNIK+V+5yZSODAxRs\
WJ6Aq8P1ylpz9Bb2FL3nSExIuK8L35wsoKK+BU9nexoaGpBIJMjlclQqFbm5uYwbN46LFy9y+PBh\
HnvsMWSy9qXZbXXdpGJRr+vHMCcuLi76Rk57e3u8vLyora3Fy8uLo5cqeWPXBeb7OhHtb9p+HGsn\
NqDVUZwvrCHSV0FTUxOZmZk899xzyOVyNm/eTEpKSodyRMbmdH41gwNc+3S4d6CXMwO9nFk+YSC1\
zSoOZVfwY1oJ3529YnD77LJ6pAZ6Gnu6t7CnsDmwTqCvRCypwzPUnvr6er777ju0Wi2CIBATE0N4\
eDhvv/02Go2G9evXA62FHLoCjba6bronpt7Uj2EpVFdXU1xcTGBgICU1zbz35VYWySsIkLgwaVLn\
Bx32RQZ4OuNoJyHtSi0PADk5Obi5ueHk1Or4o6KiKCgo6BEHplRrOV9Uw5IE6xtzbyoUchmzB/sR\
6evCj2klNKpuLtDoLdWFncXmwDqBrhIxs7SOsaGe+Pj48Mtf/vKm7Z599lmDv9/Qor6pIRN6Vz+G\
JaBUKtm0aRMzZ85EJJGx6sujXFAH8srTD1KSdZbk5GQmTZpkbjMtFolYRLTf9UIOV1dXioqKUKlU\
SKVScnNz8fPrmeGu6cW1KNXaXp//uhN8FHI0hkVKek11YWex3TU7gaezHR5Odl2eDaYrl91wLA9V\
B1dcpLiUj9d+iJ1ErC8+aGpqYsuWLVRXV+Pm5sb999+Pg4Ot8OBWaDQaNm3axODBg4mKiuKVbamc\
zq/m3YeHEebjgpf9YDZu3GhzYLchNsCVb04UoNEKBAYGEhUVxUcffYRYLMbPz4/4+HgyMjLajd/w\
9fXl0UcfNaodZ/Jb1W+GBfeuCkRjYM7JBZZG3znSbiASiQj3cSazE5qIgiCQUVzHjvNX2JFSzOXK\
RqRiESIRCDf4MDdREwNEZTz2+DMoHO3ZsGEDYWFhnD59mgEDBjB+/HgOHTrEoUOHrG4QXXNzM9u3\
b6esrAyRSMTcuXMJCgoC4MiRIyQlJfHiiy/i6Nj98SWCILB9+3Y8PT0ZM2YMW88U8vnRPJ4Y4ck9\
ca09SpmZmXh62go4bsfgAFc+O3KZnPJ6wnxcmDRp0k1OPyoqqt34DVNwOr8aP1e5rWK0A8w1ucDS\
sDmwThLh48LmU4VcKqvD19XhpqecrNI6ElOKSUy5Qk55AxKxiLGD+rFy4iBmxPiy5qesm56YvGUt\
uPbzwc259Uvav39/Lly4QGZmJkuXLgVgyJAhfP7551bnwHbt2kVoaCiLFi1Co9GgUqmA1pL3nJwc\
XF2Np/ZQUFBASkoK3t7e/Ofd98mtaGCyfwRhmsu8//4pRCIRbm5uzJkzx2j77K3E6hQ5rtQQdi33\
aw7O5FfZVl+3wFyTCyyNvnfEd4BaoyWrtI5GpYZ73jmEVoCHRgbxyOhgdqWVkphyhazSekQiSBjQ\
j2XjBjAr1pd+bXTOdE9G64/lIQD2UjFjYgbQr+wUjY2NyGQyLl68iJ+fH/X19fqqOt2MH2uipaWF\
vLw85s2bB7RKb+lEiXfv3s3UqVP5+uuvjba/4OBgXnnlFWqaVMx99xBNMg2Jj4/H26Xv5AKMxSAv\
J+QyMecLa1kwzDw2lNU1U1jVxGNjQ8xjgBXRW6sLO4vNgXWC1YnpnMprjcnrVlBfHM3j86N5iEQw\
sr8Hf5kbw6zBvh3eNHVPTM0qLbvSSjjyu8k42Us5fVrO+vXrsbOzw8fHB7HY+kuGq6qqcHR0ZNu2\
bZSWluLn58fMmTPJzc3FxcUFX19fo+9TqxX4zaazFFU18fWKBJvzukOkEjFRfgrOFVaTU15vlid7\
XQOzbQVm43bYHNht0E2GvbGCUACkYhE/vnBXl56AfFzl1DarsL/W2zJ8+HCGDx8OwJ49e1AoFDg7\
O1NXV4eLiwt1dXX6MmZrQavVUlxczKxZswgMDGTnzp3s27eP/Px8oyf7dY3h350p4qeMMv58bzQj\
QjyMuo++hFqjpbFFQ2ZpHfe8fRDNtWhDT/YrnkhOZoH9BY4mXkYVH2+TVrPRIdb/uG9idJNhDWF/\
Bw2Wns52CAJUNbbmhHThwZqaGjIyMoiNjSU8PJxz584BcO7cOSIiIu7QevOgULSqOOj0IaOjoykp\
KaGqqooPP/yQNWvWUFtby0cffUR9/Z1Nu1ZrtLyyLZXhq5OY9Z+DvL33IgM8HXlkdLAxD6XPsTox\
nZyK1r9Jo0pLi1rLppMFrE5M75H9l5WV0XAli1yvBFY99RRZWVlUVlb2yL5tWB+2FdhtMPZk2H5O\
rXmxyoYWvFzs2bRpE42NjUgkEmbPno2DgwPjx49ny5YtnDlzBldXVx544IFuH0dP4uzsjKurKxUV\
FXh6epKbm4uvry9LlizRb7NmzRpWrFhxx1WIbRvDdRRXN/HajgxbY/gdoos23Njy0ZP9iqWlZRQp\
HRnWvx9isVhf2DRu3DiT7teGdWJzYLfB2D0Xns6tY1gq65UAPP744zdt4+jo2O5mb43MmjWLb7/9\
Fo1Gg7u7u76gwxjobrQtN4yKaFYLtsbwblBa20xH06h6SuGhTuSEJ7UM9nVApVLpC5ts2DCE7Vve\
CYzZc6GrTKyob7nNltaNr68vK1as6PD9559//o4/WxfWNXQG+5qUjrEQBIHElGKzz4+6VCfivNqX\
gSd2syFV3msKm2yYBpsD6wTG7Lm4cQVmo+sYO6zb16lvUfPi5nPsTC0hpJ8jJTVNZpsfdTq/mmrH\
QJ5+agoikUhf2GTDhiFsjzZdQNdz0Z0vskIuQyoWcam8noYWtRGt6zvowroOsvaXr4NMzIN9TEqn\
u1wqr2f+e4fZnVbCH2ZHkfTCXTw4Mhi5TIyTnQT5NefVUwoPZ/KrGBHggEgkalfYZMOGIWzf9B5E\
N1JFrRX45kQBW04V9qqRKj0566xtYzi0zlHqi1I63WF3Wgm/2XQOO6mYDU+MZmxoq9SWuRQeKutb\
uFzZyHRZBu+9d7ZdYZMNG4awObAeRFc5B6DWCqi1Qq8YqWKOWWe6sG5Vo4pjOZX8/H9321ZenUSj\
FXgzKZP3fr7EkEBXPng0Hn+39k7CHAoPZwtaG5inznuIUQNsvXw2bo/tG99DdFQ51xtGqphz1lmg\
uwNXG5Q4yCQm3Y8lotVq+fjjj3FxceHhhx+mpKSExMRE1Go1YrGYOXPmEBAQ0O53qhqUPPfNWQ5k\
lfPQyCD+PDcGuYWcu9P5VUjFIgYHGE8n00bvxvrjVlZCaW0zkg5qlHWVc9aIzjE3qQw7ZlPn+Xxd\
Wws6Khp6d1WnIY4fP95OYT8pKYmJEyeycuVKJk2aRFJSUrvtU4tquPfdQxy7VMnrCwfzxn1xFuO8\
oFVCKspPgYOd5dhkw7KxObAewtvF3uwlyqbgVr1DCJjcMfteO28lNdb5AHCn1NbWkp2drZchg9ax\
Py0trY68ublZLwgN8O3pQu774AgarcCmlWP4xSjLUiypbVJxJr+a2ABbxaGNzmOdMSsLw9DsK5lM\
1i6cU+s1GK0AUjG09WPWPoTuxOWrHTrmZrWW936+yMtzonF3sjPJ/n1drzuwuECT7MIi2bVrF1On\
TkWpvN6OMWPGDDZs2EBSUhKCILBs2TKUai1/3ZHO50fzSBjowbsPD8ezzZQEc6PLn25MzkelEdh8\
shA7ibjXFDbZMC3Wede0MAzNvtq8eTMTJ04kLCyM/+44wsXjR7hv+BSc7CRsOlVo9UPoBEHgg/2X\
+MeuTHwU9tQ0Ktv1DsmlIgZ5ufDd2SvsvVDG72dFcX98IOIOdCXvFN0KzFpDsHdCVlYWTk5O+Pv7\
c/nyZf3rJ0+eZMaMGURHR5OWlsaWb79jZ0s4p/KqeHLCAH47M7LHnMKN+bl9+/Zx+vRpvXTYlClT\
CAsL0+dPdfJVvaWwyUbPYHNg3aSj2Ve6cM6+zDK+PHqJYa4uvH5fHDKJmN/OirLqIXRqjZY/bkvj\
q+R85g31528LYvnHrsx2SiUPXnPMF8vreXlrKi/9L4VNJwt4bUEskb7GCxP1c7ZHKhZR3IdCiPn5\
+WRmZpKdnY1araalpYVvv/2WrKwsZs6cCUCDoy+XCwrJ0Pjyzi+Gce8Q/x61UZef04U0ARISEhg7\
dqz+595c2GSjZ7BdHd2ko9lXM2bMYN3n66msbyHBDp5eugLZtadfax5C19Ci5lcbT/NzZjlPTxrE\
b6ZFIBaLOuwdivRVsOmXY9hyupDXf8hgztuHWDYuhOenhhvl5iQRi/B2saekzQrs4sWL7Nq1C61W\
y/Dhwxk/fny392NJTJ06lalTpwJw+fJljhw5wsKFC3nvvfe4fPkyB4pFfLzjGAn2DmxdNY4I356d\
rKzLz02YMIGjR492uF1nCpus9Xtio2ewObBuYmj21aFDh6isaeBgkz9X5d78c4o7P+3aYfUCvWW1\
zSz7/AQZxXX8bcFgHr5hdElHjlksFrFoRBDTonz4+64LfHwwl8SUYl65N5oZMb6IRN0LK/q4yvUh\
RK1Wyw8//MDixYtRKBR8/PHHRERE4OXl1a19WAPTZ85m3TfbqGlScpezHY899ADhPey8wHATFp8x\
AAATZElEQVR+DiA5OZlz587h7+/P9OnTUaq1N1Wv6rDmwiYbPYfNgXUTQ7Ov9u0/yMXcy+Qzkv8t\
G8kgL2f2/7TLzJZ2j6zSOh5fd4KqRiWfLB3BpAjvLn+Gu5Mdb9wXxwMjAvnD1lRWbjjNpAgv/jI3\
luB+dzZWBcDPVc6FkjoAioqK8PDwwN3dHYCYmBguXLjQax1YSEgIISEhFFxt5LnEQjJqwnhhaji/\
mhRq9HxjZ+goPzdixAjuuusuRCIRe/fu5atvE3kvx+1aVEJoNzDW2gubbPQctjKfbtJ29hVA9sVL\
nChV0yDI+PsMP0K9XcjNzaVfv35mtvTOOXKpgvs+OIJKo2XTL8fckfNqS3x/DxKfGc/Lc6JIzr3K\
tLf2886ebFrUmjv6PB+FnNJrObC6urp24q8KhYK6urpu2Wvp7M8q5553DlFY1ch/l47k2SlhZnFe\
cD0/t2bNGrZs2UJubi7ffvstzs7OiMViRCIR1Y6BnM/OxVkuJfGZcfxilPm0F21YN7ZHHCPQdvZV\
fr2IpKt+vDp9CPkpx/jw7BGkUin33HOPuc28I7aeKeSlLSkM8HRi3eOjCHAzji6dVCJm+YSBzInz\
Y3ViOv9OymLr2SJemxer1+TrLL4KOQ1KDXXNKgTBsEp9b6Gt3qSDTML7+y7y76QsInxc+GhxPP37\
OZnVvo7yc3V1dTg7O/P+vkvs+OkQES4Ktq4ah4eTndm0F21YP7YrxQj4+vry5JNP8pfv0/nqyGX+\
dE80D44fAJOGmds0ACoqKtiyZYv+56qqKiZNmoSLiwv79++nvLycJ598En//65VqgiDw7t7Wm+OY\
gf34cHE8rg4yo9vm5+rA+4/Esy+zjD9tS+PhT44zb6g/f5gThbdL53IgbXvBFAoFtbW1+vdqa2vb\
NfRaKzfqTao0WnwUcgqqmpg31J83FsZZtILF7h+TOJ+dR3WTimHuCl544iE82vQGWnNhkw3zYXNg\
RuLTQ7l8duQyy8cPYNn4AeY2px2enp6sXLkSaC1yePPNN4mMjESlUrFo0SISExPbba/SaHl5ayrf\
nCxg4bAA3rgvDjupaaPNd0d48+ML/Xh/3yU+3HeJvRfKeHFGBI+M7o/kNuEwvRpHbTPjBgVQWVlJ\
VVUVCoWCtLQ0Fi5caFLbewJDepMFVU2MCnFnzYNDu10IYwp0+bmaRhXfXvXnSLU9z04J44WpYRZp\
rw3rw+bAjMD3567w2o4M5sT58f9mR5nbnFuSm5uLh4cHbm5uBt+va1bx9MYzHMgq59nJobwwLbzH\
bjZymYRfTwtn/lB//rQtjT9tS2PzyUL+uiCWuEDD9kL7FZhYLGb27Nls2LABQRAYOnQo3t7dy9mZ\
m476pQBSimpoVGosNuyWX9nI458lk3+1kX8/MIT74vuQXIoNk2OZV70VoMtF5F9t5DebzjEqxIN/\
PzDEbMnzzpKamtrhgMCSmmYe/+wEWaV1/OO+OBaNDOph61oZ6OXM+idGkZhSzOrEdOa9d5hHR/fn\
/2ZEGAxj+tyghxgWFkZYWFiP2mxKSmubkYpFGJIrvpN+qZqaGr777jvq6+sRiUQMHz6chISETqnZ\
d4VTeVWs+OIkaq3A+idGkzDQeguZbFgmNgfWRdrmIsRAk1qLq4OM9x8ZZlHK3obQaDRkZmYyZcqU\
m967XFnPbz7PoLZJxX8fG8nEcPOWnYtEIu4d4s/ECC/e/DGLL45eZmdqMX+YE8X8oQHtVoVymQR3\
R1m7ZubehI+iVXHfEGqttsv9UmKxmOnTp+Pn50dLSwtr165l0KBBejX7sLAwsrOzSUpK4rHHHuv0\
57YtMPk5s4xfbzqHn6uc/z7W2kpiw4axsTmwLtI2F6GjWaXmnb0XLV67LTs7Gz8/P5yd299MappU\
/G7LebT2rmxaOYYYf8uZx6SQy/jz3Bjujw/kD9+l8sI359h0opDV82MJ9b52HHV1+GiaKD2dCnVn\
YMEC6AWFGzqc7KU8NDKITSdvHlsT6uWCYxeLN1xcXPSFLfb29nh5eVFbW3tLNftb0fahTiKCFo2A\
RisQ39+dj5eMaFesYcOGMbH1gXWBjmZftagFvkzO53hOJc2qO+tl6gkMhQ+3nCrkQkkdXi72bF01\
zqKcV1tiA1z59qmxvDY/lrQrNcz6zwH+uesCTX97A3x88MtMobiwHJ5+Gnx84PXXoReV1P/xnmgW\
jQjS90vZS0VE+DiTVlzLy9+lou1ghXY7qqurKS4uJjAwkBkzZpCUlMRbb71FUlKSwZW6Ido+1DWq\
tGi0AhIRRPm62JyXDZNiW4F1gVvlItQagQfXHkMiFhHq5UyMv4Loa//F+Lni6mj8EvSuoFKpyMnJ\
0fejCYLAvzb9THnGMbzFagYKGexNrObRRx81q523QiIW8WhCf2bE+PL6Dxm8t+8S22p8+It/LL7V\
ZZz3GgD19a0bv/Za6/9//3vzGWxEpBLxTf1SjnYS3th1gY/259Co1PDP++O6pDavVCrZtGkTM2fO\
xN7e/iY1++3bt99W/qyhRc1XyfntlDQANAJsOV3I72dHWWyBiQ3rx3ZldYFb5SLspCL+fl8cl8oa\
SC+u5fClCr49U6R/P8DNodWZ+SuI8Xcl2l+Bv6u8xyr8ZDIZL730EgBKtZb/t/U8W840cX/8HF5e\
OFgvNGwNeLnY8+bsQSx6eTkvT3yCJ+5/hUEVBVQ4uaMUS7HTqqGxsdWJPfMMOPee/MuN/VK/mxmJ\
i72Uf/2YRaNSzdu/GIa99PYhRY1Gw6ZNmxg8eDBRUa2Vs+fOndOr2UdHR7N9+/ZbfkZlfQsf7Luk\
H4VyIzZBXhumxubAukBHuQiddtuCYe1LhCvqW0i/UkvalVrSi2tJu1LDTxml+siWm6OMaD+FfrUW\
4+/KQE8nk85sqm1WsWrDaQ5drOCFqeE8OyXUOntytm4loSSTH9Y9yycj5/Pm+EcAODhgGFMunWjd\
RiyGrVth8WIzGmpaRCIRv5ochqOdlFcT01n++UnWLh5xy6ZmQRDYvn07np6ejBkzRv+6i4sLeXl5\
hISEdCh/JggCp/Or2XAsjx0pxSg1WkQiwIAPswny2jA1NgfWRXQabW1nX3Wk3ebpbM9d4V7c1aai\
r1GpJqO4jvTiWtKv1JB+pZbPj+ahvFYUYi8VE+nrQvS1VVqMv4IoX4VRVBaKa5p4fN0JLpbV868H\
hnC/NffklJRAczN2WjWrjm8hpvQS/xn3C2JLLl7fprkZiovNZ2MPsmz8AJztpfz22xSW/jeZTx8b\
gYvccNi6oKCAlJQUvL29+fDDD4HWAZP33nuvfgzNjfJnTUoN284Wsf5YHmlXanG2l/KLUUE8mtCf\
DcfyOnyos4UPbZgSkdBLxeNGjBjByZMnTfb5bUuGu/slVWu0XCpvIL24hrQi3WqtlpomFQBiEQzw\
dNKHHmP8FUT7KejXidHwOjurGpWs+vI0jS0aPng0nvFhXdMbtDi++KK1YEOX8zKEszO8/36vXoHd\
yPfnrvDCN2eJ9lfw+eOjcO9mEUVOeT0bjuWz5VQBtc1qInxcWDymP/OHBeB87brXVSEaGmjaUxOg\
bRgPU987jYnNgVkogiBQVN3ULgSZfqWWouom/Ta+Cnmb8KOCaD9XgjwcEIlE7UqbAVrUWhztJGz+\
5RhiAiyz0rBL1NW1Vhs2NXW8jaMjlJb2qhxYZ/gpvZRVG08T0s+RDU+MxruLYTy1RsveC2WsP5bH\
wewKpGIRM2N9WTImhJEh7h2GnI35UGfDfFjTvdPmwKyM6kblTXm1S+UNaK4Vl7jIpUT7KahtUnGx\
vL5dgl0uFfHgyGCL71frNK+/3lqo0dh483uOjvDyy72mCrGrHL5YwZNfnMTbxZ4Ny0cT6H77eWvl\
dS1sOlnAl8fyuFLTjK9CzsOjg3loVFCnhZVtWD/WdO+0ObBeQLNKQ2ZJ3TWnVsP5whrOFdYY3FYu\
E3Pq5Wm94wlZEOCNN2D1apBIWnNecjloNPDHP8LvfgfWWKBiJE7lVfHYumRc7KVsWD66dW7aDSsk\
QRA4lVfF+mN5/HC+GJVGYFxoPxYn9GdqlI8tBNgHsaZ7p82B9UJyyuu55+2DNBoY1+5kJ+H7Z8b3\
rtLmujr47rvWgg0/v1Yljj4WNuyI1KIaFn96nCaVBo1WwE4iRq0VuG94ANF+Cr5MLiCjuBYXeyn3\
xQfyaEL/6wonNvok1nTvtIjH8F27dvHcc8+h0WhYvnw5v/vd79q9LwgCzz33HD/88AOOjo589tln\
DB8+3EzWWj4+CjkdtOb0ztJmF5c+VajRFWIDXLkrzItt564AoNK0KsVsTG7NjUb6uvC3BYOZN9S/\
d6zKbfQpzB4f0Gg0PP300+zcuZP09HS++uor0tPT222zc+dOsrOzyc7OZu3atTz11FNmstY60PWr\
Ocja/3kdZGIetJU29ykaWtTsSisx+J6dRMSWlWN4eHSw7ZqwYZWY3YElJycTGhrKwIEDsbOz46GH\
HmLbtm3tttm2bRtLlixBJBKRkJCg12+z0TE3aufJr/XlGOpXs9F70cmfGUImEVNWZ0gYzYYN68Ds\
j11FRUUEBV2fOxUYGMjx48dvu01RURF+fn49Zqe1YUg7z/aU3fe4lfxZrwwn2+hTmP2OZqiG5MY+\
k85sA7B27VrWrl0LtCqvjxgxwkhWWjfl5eV4eZl3vpel0BfPRV11E1WNStr6MbEI7NUNTNzpbz7D\
LIi+eF10xIULF8xtQqcxuwMLDAykoKBA/3NhYSH+/v5d3gZgxYoVrFixArCuShpTYzsX17Gdi+vY\
zsV1bOfiOtb04G/2HNjIkSPJzs4mNzcXpVLJ119/zdy5c9ttM3fuXL744gsEQeDYsWO4urrawoc2\
bNiw0ccx+wpMKpXy7rvvMmPGDDQaDcuWLSMmJkYvMrpy5Upmz57NDz/8QGhoKI6Ojqxbt87MVtuw\
YcOGDXNjdgcGMHv2bGbPnt3utZUrV+r/LRKJeO+997r0mbpQog3buWiL7Vxcx3YurmM7F9expnPR\
a5U4bNiwYcNG78bsOTAbNmzYsGHjTrB6B7Zr1y4iIiIIDQ3ljTfeuOl9QRB49tlnCQ0NJS4ujtOn\
T5vByp7hdufiyy+/JC4ujri4OMaOHcu5c+fMYGXPcLtzoePEiRNIJBK2bNnSg9b1LJ05F/v27WPo\
0KHExMQwceLEHrawZ7jdeaipqeHee+9lyJAhxMTE9Opc+7Jly/D29iY21vBkCqu5bwpWjFqtFgYO\
HChcunRJaGlpEeLi4oS0tLR22+zYsUOYOXOmoNVqhaNHjwqjRo0yk7WmpTPn4vDhw8LVq1cFQRCE\
H374oU+fC912kyZNEmbNmiVs3rzZDJaans6ci6qqKiEqKkrIy8sTBEEQSktLzWGqSenMefjrX/8q\
vPTSS4IgCEJZWZng7u4utLS0mMNck7N//37h1KlTQkxMjMH3reW+adUrMJsM1XU6cy7Gjh2Lu7s7\
AAkJCRQWFprDVJPTmXMB8M4773Dffffh7e1tBit7hs6ci40bN7Jw4UKCg4MBeuX56Mx5EIlE1NXV\
IQgC9fX1eHh4IJVaRJ2b0bnrrrvw8PDo8H1ruW9atQPrSGKqq9v0Brp6nJ9++imzZs3qCdN6nM5e\
F1u3bm1X7dob6cy5yMrKoqqqirvvvpv4+Hi++OKLnjbT5HTmPPzqV78iIyMDf39/Bg8ezH/+8x/E\
Yqu+Rd4x1nLftOrHC8GIMlTWTleO8+eff+bTTz/l0KFDpjbLLHTmXDz//PP8/e9/RyKR9JRZZqEz\
50KtVnPq1Cn27NlDU1MTY8aMISEhgfDw8J4y0+R05jzs3r2boUOHsnfvXi5dusS0adOYMGECCoWi\
p8y0GKzlvmnVDsyYMlTWTmePMyUlheXLl7Nz50769evXkyb+/3bukKW1MAzg+KOsrS6NlaFFhjaN\
BpPRqMkFw/ATWIbM5qfwS4jZYrOIIibFJmxG0wnvbd5rEA5ctsOjv1/e4OGBnT/jfTkLU2cXt7e3\
sb+/HxERs9ksrq6uotVqxd7e3kJnnbe6v5FOpxPtdjva7XZsb2/H3d3djwpYnT1cXFzEyclJLC0t\
xerqavT7/Xh6eoqtra1Fj9u4NM/N5o7f/l9VVaXf75fn5+fPg9mHh4cvn7m8vPxyGLm5udnQtPNV\
Zxevr69lZWWl3NzcNDTlYtTZxb8ODw9/7CWOOrt4fHwsOzs7paqq8vHxUQaDQbm/v29o4vmos4fR\
aFROT09LKaW8vb2VbrdbptNpA9MuxsvLy7eXOLI8N1P/A/Maqr/q7OLs7Cze39/j+Pj48zs/8QWm\
dXbxW9TZxdraWuzu7sbGxkYsLy/H0dHRt9ers6qzh/F4HMPhMNbX16OUEufn59HpdBqefD4ODg7i\
+vo6ZrNZ9Hq9mEwmUVVVROR6bnoTBwAp/c4rNgCkJ2AApCRgAKQkYACkJGAApCRgAKQkYACkJGAA\
pCRgAKQkYACkJGAApCRgAKQkYACkJGAApCRgAKQkYACkJGAApCRgAKQkYACkJGAApCRgAKQkYACk\
JGAApCRgAKQkYACkJGAApCRgAKQkYACkJGAApCRgAKQkYACkJGAApCRgAKQkYACkJGAApCRgAKQk\
YACkJGAApPQHzuzg0qsfvFYAAAAASUVORK5CYII=\
"
frames[4] = "data:image/png;base64,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\
SxYuXNhtkzg6Mhbp6enC+PHjBaVSKdTW1grh4eHCmTNnTGRx19CRcVi2bJnw+uuvC4IgCCUlJYKv\
r69QXl5uAmuNQ25ubptJHJYyb1r0DkyUobpOR8bijTfe4PLlyyxfvlz3M91RwLQjY9FT6MhYhIWF\
MWXKFKKiopBKpSxZsqTN9GpLpSPj8Nprr7Fo0SIiIyMRBIF33nkHd3d3E1veNTzwwAPs3buXS5cu\
4e/vz9/+9jeUSiVgWfOmqMQhIiIiImKR9MwUGxERERERi0d0YCIiIiIiFonowERERERELBLRgYmI\
iIiIWCSiAxMRERERsUhEByYiIiIiYpGIDkxERERExCIRHZiIiIiIiEUiOjAREREREYtEdGAiIiIi\
IhaJ6MBERERERCwS0YGJiIiIiFgkogMTEREREbFIRAcmIiIiImKRiA5MRERERMQiER2YiIiIiIhF\
IjowERERERGLRHRgIiIiIiIWiejAREREREQsEtGBiYiIiIhYJKIDExERERGxSEQHJiIiIiJikYgO\
TERERETEIhEdmIiIiIiIRSI6MBERERERi0R0YCIiIiIiFonowERERERELBLRgYmIiIiIWCSiAxMR\
ERERsUhEByYiIiIiYpGIDkxERERExCIRHZiIiIiIiEUiOjAREREREYtEdGAiIiL/v706IAEAAAAQ\
9P91OwI9ISwJDIAlgQGwJDAAlgQGwFKq7yJ8OQ+DogAAAABJRU5ErkJggg==\
"
frames[5] = "data:image/png;base64,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\
AAAASUVORK5CYII=\
"
/* set a timeout to make sure all the above elements are created before
the object is initialized. */
setTimeout(function() {
animd629f51141be4e8e985842ea13715b5f = new Animation(frames, img_id, slider_id, 800.0,
loop_select_id);
}, 0);
})()
</script>
<br />
<div>
<br />
100ノードの場合です。この場合だと6回のループで最適解が求まりました。普通のノートパソコンで23.9sかかりました。</div>
<div>
動画が自動ループしているとどこが始まりかわかりにくいですが、最初は細かい三角形や四角形の部分巡回路ばかりで、少しずつ繋がってはまた分解し全体としては徐々に大きい経路へと成長していきます。</div>
<div>
一気に解決するような強力なアルゴリズムではなく、必要に応じて徐々に解決していくという部分が面白いと思います。結果的には無駄なことをあまりしていないので早く解決できるのと、その都度計算も重くならないのか100ノードでも現実的な時間内で解決できます。Lazyなのにすごい。</div>
<div>
<br /></div>
<div>
繰り返しループ処理させる部分については、以下のような感じです。<br />
<br />
<pre style="border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">ED</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">while</span> <span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">True</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># Find edges as x(i, j) = 1</span>
<span class="n" style="margin: 0px; padding: 0px;">E</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">x</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">varValue</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">ED</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">E</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># Connect the edges to form subtours</span>
<span class="n" style="margin: 0px; padding: 0px;">ST</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">n</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">n</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">sum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">[]):</span>
<span class="n" style="margin: 0px; padding: 0px;">subtour</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">n</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">_</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">E</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">elif</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">subtour</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Subtours:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">))</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'</span><span class="se" style="color: #bb6622; font-weight: bold; margin: 0px; padding: 0px;">\n</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">OPT TOUR:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'SOLVED'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">break</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># Lazy constraints: for the minor subtours(the number of nodes in the subtour is less than half of the whole nodes)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># Either of (i, j) in the subtour has to connect to a node in the other subtour,</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># hence 'i' stays in the subtour and 'j' has to be changed to one in the other subtour, and vice versa for (j, i)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">st</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">num</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">/</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">:</span> <span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># case of being less than half of the whole node</span>
<span class="n" style="margin: 0px; padding: 0px;">nots</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">path</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">[:</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">nots</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+=</span> <span class="n" style="margin: 0px; padding: 0px;">lpSum</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">st</span><span class="p" style="margin: 0px; padding: 0px;">[:</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">j</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">nots</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">j</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">x</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span>
<span class="n" style="margin: 0px; padding: 0px;">prob</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">solve</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="n" style="margin: 0px; padding: 0px;">T</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">ST</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span></pre>
<br />
最初のEDという変数はアニメーション用の配列なので無視して構いません。<br />
<div>
<br /></div>
<div>
whileですべての部分巡回路がひとつながりになるまでループします。</div>
<div>
・最初の最適化された結果からx(i, j)=1の辺を探します。</div>
<div>
・そして、それらのばらばらの辺(i, j)をつなぎ合わせてすべての部分巡回路(subtour=[0, 23, 64, 0]など)を配列でつくります。</div>
<div>
・さらに各部分巡回路を全体用の配列STに入れていきます。len(ST)で何個の部分巡回路があるのかわかります。最終的に1になれば一つの大きな部分巡回路=正解の巡回路というわけです。</div>
<div>
・まだ複数の部分巡回路があるうちは、全ノード数の半分未満の小さな部分巡回路stに対してその内容にあわせてLasy Constraintsを与えていきます。各部分巡回路内のx(i, j)に対してiは現状と同じノードでjだけ現在の所属する部分巡回路以外のノードを入れてみるということを繰り返していきます。</div>
<div>
・同様に反転したx(j, i)についても制約を与えていきます。</div>
<div>
・1ループごとにprob.solve()で暫定的な答えを出してみます。</div>
<div>
・全体の部分巡回路の数が一つになるまで上記の繰り返し。</div>
<div>
最終的には最適解がでてきます。1ループごとに部分巡回路の状況を出力させています。それをもとにアニメーションをつくりました。</div>
<div>
<br /></div>
今回は冒頭でも書いたように、本当に最適化されているのかどうかをTSP専用ソルバーである<a href="https://github.com/jvkersch/pyconcorde" target="_blank">Pyconcorde</a>でも同じ条件で解かせてその結果を比較するということにしました。一応結果は一致したのでアルゴリズム的には機能しているようです。TSP専用ソルバーと比べればまだまだですが、これまでの方法よりも圧倒的に早くかつ解決できるノード数も上回ったので、とりあえずひと段落ついたところです。<br />
<br />
次へ:<a href="https://cnc-selfbuild.blogspot.com/2019/07/tsp-lp-us48-cities.html" target="_blank">TSP LP: US48 cities / 巡回セールスマン問題 線形計画法</a></div>
関連:<a href="https://cnc-selfbuild.blogspot.com/p/tsp.html" target="_blank">Traveling Salesman Problem:巡回セールスマン問題について(まとめ)</a><br />
<br />
<br />
<script src="https://gist.github.com/mirrornerror/a23dbc4a1ce8b1c22b03065066e759ea.js"></script>
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-88870251211108196262019-06-02T23:36:00.001+09:002019-06-17T09:16:23.671+09:00TSP LP (Linear Programming):線形計画法による巡回セールスマン問題 / Subtour Elimination 部分巡回路除去 <div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dpbit-dp.html" target="_blank">前回はDP(動的計画法)</a>でTSP(巡回セールスマン問題)の厳密解を求めてみましたが、今回はLP(線形計画法)で厳密解を求めてみます。〜計画法と名前は似ていますが全く異なるアルゴリズムです。線形計画法は最大値や最小値を求める最適化計算のようで、大体は最適化ソルバーを使って計算するそうです。有償ソルバとしてIBMのCPLEXやGurobiなどありますが、今回はオープンソースの<a href="https://pythonhosted.org/PuLP/" target="_blank">Pulp</a>を使ってみます(Python 3.6、Jupyter Notebook使用)。<br />
追記:<br />
<span style="font-size: x-small;">IBMのCPLEXは「pip install cplex」でインストールできますが、無償版のためリミッターがついているらしく、ノード数を20以上にするとストップしてしまいました。</span><br />
<span style="font-size: x-small;"><a href="https://www.cvxpy.org/" target="_blank">cvxpy</a>というオープンソースのソルバーも使ってみました。cvxpyでもソルバーとしてCPLEXを選択できますが、やはりノード数を増やすとストップしてしまいます。</span><br />
<span style="font-size: x-small;">TSPの場合MIP(混合整数線形計画法)でなければいけないようで選択できるソルバーも限られているみたいです。その点PulpはデフォルトでもMIPに対応したCOINというソルバーを使っているようで(CPLEXにも変更可)問題なく解くことができました。</span><br />
<br />
<br />
TSPの場合、経路合計距離が短いほどいいので最小化する式を考えなければいけません。<br />
訪問先の都市(ノード)を<br />
<br />
S = {0, 1, 2, 3, 4, 5}<br />
<br />
とし二点間の経路を<br />
<br />
x(i, j)<br />
<br />
にしておきます。iもjも0〜5の値が入りi≠jとなります。<br />
各経路には固有の距離があるので、その距離を<br />
<br />
dist(i, j)<br />
<br />
にしておきます(配列や辞書など使って事前に二点間の距離を記録しておきます)。<br />
iとjの組み合わせは6*5=30通りありますが、最終的な経路として採用されるのは、例えば、<br />
<br />
x(0, 1) → x(1, 2) → x(2, 3) → x(3, 4) → x(4, 5) → x(5, 0)<br />
<br />
のような30通りあるうちの6つとなります。<br />
そうすると、<br />
<br />
x(i, j) = 1:経路として採用<br />
<br />
x(i, j) = 0:経路として不採用<br />
<br />
というように0と1で表し、それに距離を掛けて全体の経路長は以下のように表すことができます。<br />
<br />
Σ dist(i, j) * x(i, j)<br />
<br />
これを線形計画法で最小化していくようです。要は二点間(i, j)の距離に(i, j)が経路に含まれている場合は1を掛けて、含まれていない場合は0を掛けて全ての(i, j)の組み合わせを合算していき、最小となる組み合わせを探すというわけです。意外に簡単な式でTSPの特徴を表すことができます。<br />
<br />
ただし、いくつか条件が必要になってきます。<br />
例えば、0を起点に他の地点へ向かう組み合わせx(0, j)は5つあり、そのうちどれか一つが採用されることになります。採用された経路は1で残りは0となるので、<br />
<br />
x(0, 1) + x(0, 2) + x(0, 3) + x(0, 4) + x(0, 5) = 1<br />
<br />
という式が成り立ちます。<br />
もしx(0, 1)とx(0, 2)が採用されてしまうと、0から1と2へ向かう分岐点が出来てしまうので矛盾してしまいます。よって、これらを足し合わせると必ず1になり、0から向かうことができる地点は1箇所しかないという制約になります。<br />
<br />
他の地点に関しても同様で、<br />
<br />
<pre>x(0, 1) + x(0, 2) + x(0, 3) + x(0, 4) + x(0, 5) = 1 (i≠j)
x(1, 0) + x(1, 2) + x(1, 3) + x(1, 4) + x(1, 5) = 1 (i≠j)
x(2, 0) + x(2, 1) + x(0, 3) + x(0, 4) + x(0, 5) = 1 (i≠j)
x(3, 0) + x(3, 1) + x(3, 2) + x(0, 4) + x(0, 5) = 1 (i≠j)
x(4, 0) + x(4, 1) + x(4, 2) + x(4, 1) + x(0, 5) = 1 (i≠j)
x(5, 0) + x(5, 1) + x(5, 2) + x(5, 3) + x(5, 4) = 1 (i≠j)
</pre>
<br />
となり、for文を使えば、<br />
<br />
<pre>for i in S:
sum([x(i, j) for j in S if i != j]) == 1
</pre>
<br />
となります。<br />
上記はiからjへの移動に関する制約ですが、その反対であるjからiへの移動についても同じ制約があります。<br />
<br />
<pre>x(1, 0) + x(2, 0) + x(3, 0) + x(4, 0) + x(5, 0) = 1 (i≠j)
x(0, 1) + x(2, 1) + x(3, 1) + x(4, 1) + x(5, 1) = 1 (i≠j)
x(0, 2) + x(1, 2) + x(3, 2) + x(4, 2) + x(5, 2) = 1 (i≠j)
x(0, 3) + x(1, 3) + x(2, 3) + x(4, 3) + x(5, 3) = 1 (i≠j)
x(0, 4) + x(1, 4) + x(2, 4) + x(3, 4) + x(5, 4) = 1 (i≠j)
x(0, 5) + x(1, 5) + x(2, 5) + x(3, 5) + x(4, 5) = 1 (i≠j)
</pre>
<br />
同様にfor文で書けば、<br />
<br />
for j in S:<br />
sum([x(i, j) for i in S if i != j]) == 1<br />
<br />
となります。<br />
<br />
二つの制約をiとjのマトリクス(以下)で考えれば、<br />
<br />
<pre>------- x(0, 1) x(0, 2) x(0, 3) x(0, 4) x(0, 5)
x(1, 0) ------- x(1, 2) x(1, 3) x(1, 4) x(1, 5)
x(2, 0) x(2, 1) ------- x(2, 3) x(2, 4) x(2, 5)
x(3, 0) x(3, 1) x(3, 2) ------- x(3, 4) x(3, 5)
x(4, 0) x(4, 1) x(4, 2) x(4, 3) ------- x(4, 5)
x(5, 0) x(5, 1) x(5, 2) x(5, 3) x(5, 4) -------
</pre>
横軸で見るか縦軸で見るかの違いになります。つまり横軸の中からは一つしか選べず、同様に縦軸からも一つしか選べないということになります。<br />
<div>
仮にx(0, 1)を選べば、次を選ぶ場合、横軸内x(0, 2), x(0, 3), x(0, 4), x(0, 5)はどれも選べず、同様に縦軸内x(2, 1), x(3, 1), x(4, 1), x(5, 1)も選べないことになります。よってこのような二重の制約内で経路を探すことになります。<br />
<br /></div>
<div>
追記:<br />
以下はノード数10の場合、どの経路が選べるかというシミュレータです(<a href="https://editor.p5js.org/" target="_blank">editor.p5js.org</a>で作成)。
</div>
<iframe height="440" src="https://editor.p5js.org/mirrornerror/embed/-MkrkMTVp" width="400"></iframe>
<br />
<div>
グレー:選択可能な(i, j)の組み合わせ<br />
黒 :選択不可能<br />
ピンク:選択した(i, j)<br />
<br />
条件:<br />
・選択した(i, j)と同じ横軸上の(i, j')は選択不可。<br />
例えば(1, 2)を選択したら(1, 0)〜(1, 9)は選択不可。<br />
・選択した(i, j)と同じ縦軸上の(i', j)は選択不可。<br />
例えば(1, 2)を選択したら(0, 2)〜(9, 2)は選択不可。<br />
・選択した(i, j)を反転した(j, i)は選択不可。<br />
例えば(1, 2)を選択したら(2, 1)は選択不可。<br />
・二つ以上(かつ全ノード数未満)選択して部分巡回路が{i, j, k}となったとき(k, i)は選択不可。<br />
例えば(1, 2)、(2, 4)を選択したら(4, 1)は選択不可。また(1, 2)、(2, 4)、(4, 5)を選択したら(5, 1)は選択不可。<br />
<br />
<br /></div>
<div>
<b><span style="font-size: large;">Subtour Elimination(部分巡回路除去):</span></b></div>
<div>
しかしながら先ほどの二つの条件だけだと、ひとつながりの経路ではなく、</div>
<div>
<br /></div>
<div>
0 → 2 → 0</div>
<div>
<br /></div>
<div>
3 → 1 → 4 → 5 → 3</div>
<div>
<br /></div>
<div>
のような複数の巡回路ができてしまう場合があり、まだ制約としては十分ではないようです。</div>
<div>
そこでSubtour elimination(部分巡回路除去)という制約を追加しなければいけません。これにはいくつかのアルゴリズムがあるようで、今回はまずMTZ(Miller-Tucker-Zemlin)の方法を試してみることにしました。</div>
<div>
以下が追加の制約式です。一見わかりにくいですが、(i, j)の二点間における制約です。</div>
<div>
<br /></div>
<div>
ui - uj <= N * (1 - x(i, j)) - 1 (i≠0, j≠0, i≠j)</div>
<div>
<br /></div>
<div>
<div>
Nはすべてのノード数:N=|{0, 1, 2, 3, 4, 5}|=6。uiとujは、x(i, j)の2点間経路における経路順を表す値です。x(i, j)はiからjへ向かうという意味なので、仮にiが巡回路上の3番目(ui=3)にある地点だとすれば、jはその次の4番目(uj=4)となり、</div>
</div>
<div>
<br /></div>
<div>
ui - uj = 3 - 4 = -1</div>
<div>
<br /></div>
<div>
になります。iは常にjの一つ手前なのでui-ujが-1になるのは当然ですが、一周回って最後のときではiが6番目でjが1番目なので、</div>
<div>
<br /></div>
<div>
ui - uj = 6 - 1 = 5</div>
<div>
<br /></div>
<div>
になってしまいます。<br />
<br />
5 <= 6 * (1 - 1) -1 = -1<br />
<br />
となるので右辺と左辺の計算が合いません。<br />
右辺の(1 - x(i, j))の部分は、巡回路に(i, j)が含まれれば1-1=0で、含まれなければ1-0=1となるという意味で、その結果にノード総数を掛けて、</div>
<div>
<br /></div>
<div>
N * (1 - x(i, j)) - 1 = -1</div>
<div>
<br /></div>
<div>
になります。もしx(i, j)が巡回路になければN-1=5となり、-1か5の値をとるということがわかります。</div>
<div>
<br /></div>
<div>
この制約式にはi≠0, j≠0, i≠j(あるいは1から始まるのであればi≠1, j≠1, i≠j)という条件があるので、スタート地点0を含まない方の部分巡回路で検証してみます。</div>
<div>
<br /></div>
<div>
3 → 1 → 4 → 5 → 3</div>
<div>
<br /></div>
<div>
に対してuiを割り当てると</div>
<div>
<br /></div>
<div>
u3, u1, u4, u5, u3</div>
<div>
<br /></div>
<div>
となり、それぞれの部分巡回路内での道順の値を入れると、地点3が1番目なのでu3=1、地点1が2番目なのでu1=2という感じで(多分最初を0番目としても構わない)、</div>
<div>
<br /></div>
<div>
u3=1, u1=2, u4=3, u5=4, u3=1</div>
<div>
<br /></div>
<div>
となります。まず3から1への移動において制約式に代入してみます。x(i, j)の部分は経路に含まれている場合は1で含まれていない場合は0ですが、この部分巡回路には含まれているので1となります。</div>
<div>
<br /></div>
<div>
u3 - u1 + 6 * x(3, 1) <= 6 - 1</div>
<div>
<br /></div>
<div>
1 - 2 + 6 * 1 <= 6 - 1</div>
<div>
<br /></div>
<div>
5 <= 5</div>
<div>
<br /></div>
<div>
となり問題ありません。</div>
<div>
次に、1から4へ移動するx(1, 4)を制約式に代入してみます。</div>
<div>
<br /></div>
<div>
u1 - u4 + 6 * x(1, 4) <= 6 - 1</div>
<div>
<br /></div>
<div>
2 - 3 + 6 * 1 <= 6 - 1</div>
<div>
<br /></div>
5 <= 5<br />
<br />
これも問題ありません。同様に4から5へ移動するx(4, 5)を代入しても問題ありません。<br />
しかし、最後の5から3への移動x(5, 3)を代入してみると、<br />
<br />
u5 - u3 + 6 * x(5, 3) <= 6 - 1<br />
<br />
4 - 1 + 6 * 1 <= 6 - 1<br />
<br />
9 <= 5(不適合)<br />
<br />
最後の不等式の辻褄が合わないためこの経路については無効となり除外されてしまいます。<br />
<br />
もし仮に正解の巡回路が以下だとします。<br />
<br />
0 → 2 → 3 → 1 → 4 → 5 → 0<br />
<br />
最後の5 → 0の部分を検証してみると(スタート地点0を1番目、地点5を6番目とすると)<br />
<br />
u5 = 6, u0 = 1<br />
<br />
u5 - u0 + 6 * x(5, 0) = 5 - 1 + 6 * 1 = 10<br />
<br />
となって、左辺と右辺を比較してみると、<br />
<br />
10 < 6 - 1<br />
<br />
となって適合しませんが、制約式の条件がi≠0, j≠0, i≠jなのでスタート地点を含んでいる場合は検証する必要がありません。どうやらこれはスタート地点を除いた他の地点に関する制約のようです。uiが巡回路に沿って追いかけていき、いずれ終点(スタート地点でもある)に到着したときに必ず制約式に違反してしまいます。しかしながら、スタート地点を含む巡回路に適用しないということで、その結果、他の部分巡回路を排除するという感じでしょうか。<br />
このMTZの部分巡回路除去の制約式は便利そうですが、ノード数が増えるほどN^2-Nのバイナリ計算量が必要となるので、せいぜい数十個程度のものにしか適用できないようです。<br />
<br />
<br />
<b><span style="font-size: large;">Pulpで実装:</span></b><br />
最適化ソルバーPulpを使ってこのアルゴリズムを書いてみました(<a href="https://nbviewer.jupyter.org/github/cochoa0x1/intro-mathematical-programming/blob/master/05-routes-and-schedules/traveling_salesman.ipynb#" target="_blank">ここを参考</a>)。<br />
Pulpではまず最適化(今回は最小化)するProblemを用意します。<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;"><span class="n" style="box-sizing: border-box;">prob</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">LpProblem</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">name</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'TSP_LP'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">sense</span><span class="o" style="box-sizing: border-box; color: #666666;">=</span><span class="n" style="box-sizing: border-box;">LpMinimize</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<br />
二点間の距離はマトリクスで表すよりも、二点間を辞書のキーに登録して、値にその距離を割り当てておきます。<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;"><span class="n" style="box-sizing: border-box;">dist</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">dict</span><span class="p" style="box-sizing: border-box;">({(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">):</span> <span class="p" style="box-sizing: border-box;">(</span><span class="nb" style="box-sizing: border-box; color: green;">abs</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">XY</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">XY</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">]))</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">num</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">j</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">num</span><span class="p" style="box-sizing: border-box;">)</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">if</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">!=</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">})</span></pre>
<br />
N*(N-1)通りの組み合わせがあります。<br />
そして、最適化する変数Variable: xを用意しますが、これも辞書型を利用して下限値0、上限値1のバイナリなので、<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;"><span class="n" style="box-sizing: border-box;">x</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">LpVariable</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">dicts</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'x'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">dist</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">LpBinary</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<br />
になります。なんとなくTensorflowの書き方似ています。<br />
<div>
次に、最適化(最小化)する式を用意します。</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;"><span class="n" style="box-sizing: border-box;">prob</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">lpSum</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">dist</span><span class="p" style="box-sizing: border-box;">[(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)]</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">[(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span><span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)]</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">dist</span><span class="p" style="box-sizing: border-box;">])</span></pre>
</div>
<br />
二点間の距離とその経路の有無(1か0)を掛けて合計したものが最小になればいいということです。Loss関数のような感じです。<br />
<br />
そしてベースとなる制約式です。<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;"><span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">path</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">prob</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">lpSum</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">[(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)]</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">j</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">path</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">if</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">!=</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">])</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">j</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">path</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">prob</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">lpSum</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">[(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)]</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">path</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">if</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">!=</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">])</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span></pre>
<br />
iから向かう他の地点は1箇所、同様に他からiに向かう地点も1箇所という制約です。<br />
さらに、部分巡回路除去のMTZの制約を加えると、<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;"><span class="n" style="box-sizing: border-box;">u</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="n" style="box-sizing: border-box;">LpVariable</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">dicts</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'u'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">path</span><span class="p" style="box-sizing: border-box;">,</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">num</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">path</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">j</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">path</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">if</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">!=</span> <span class="n" style="box-sizing: border-box;">j</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">and</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">!=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">and</span> <span class="n" style="box-sizing: border-box;">j</span> <span class="o" style="box-sizing: border-box; color: #666666;">!=</span> <span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">)</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">and</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="n" style="box-sizing: border-box;">prob</span> <span class="o" style="box-sizing: border-box; color: #666666;">+=</span> <span class="n" style="box-sizing: border-box;">u</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">u</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">]</span> <span class="o" style="box-sizing: border-box; color: #666666;"><=</span> <span class="n" style="box-sizing: border-box;">num</span> <span class="o" style="box-sizing: border-box; color: #666666;">*</span> <span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">[(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)])</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span></pre>
<br />
となります。前述したようにこの制約はスタート地点0には適用しないので、i!=0, j!=0になっています。<br />
あとは、これをソルバーに解かせるだけです。<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;">prob.solve()</pre>
<br />
問題がなければ、<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;"><span class="n" style="box-sizing: border-box;">LpStatus</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">prob</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">status</span><span class="p" style="box-sizing: border-box;">]</span></pre>
<br />
で、<br />
<br />
Optimal<br />
<br />
が出力されます。<br />
<br />
x[(i, j)].valValueでどの(i, j)の組み合わせが1になっているかわかります。1になっている(i, j)が今回経路として選ばれたことになるので、それを数珠つなぎに経路用配列Tへ入れていきます。<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 2px; border: none; box-sizing: border-box; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 0px; word-break: break-all;"><span class="n" style="box-sizing: border-box;">T</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="p" style="box-sizing: border-box;">[</span><span class="mi" style="box-sizing: border-box; color: #666666;">0</span><span class="p" style="box-sizing: border-box;">]</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">while</span> <span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; color: #666666;"><</span> <span class="n" style="box-sizing: border-box;">num</span> <span class="o" style="box-sizing: border-box; color: #666666;">+</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">:</span>
<span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">if</span> <span class="n" style="box-sizing: border-box;">x</span><span class="p" style="box-sizing: border-box;">[(</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)]</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">varValue</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">and</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">==</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">[</span><span class="o" style="box-sizing: border-box; color: #666666;">-</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">]:</span>
<span class="n" style="box-sizing: border-box;">T</span><span class="o" style="box-sizing: border-box; color: #666666;">.</span><span class="n" style="box-sizing: border-box;">append</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">j</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">tour_dist</span> <span class="o" style="box-sizing: border-box; color: #666666;">=</span> <span class="nb" style="box-sizing: border-box; color: green;">sum</span><span class="p" style="box-sizing: border-box;">([</span><span class="n" style="box-sizing: border-box;">dist</span><span class="p" style="box-sizing: border-box;">[(</span><span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span> <span class="o" style="box-sizing: border-box; color: #666666;">-</span> <span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">],</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">[</span><span class="n" style="box-sizing: border-box;">i</span><span class="p" style="box-sizing: border-box;">])]</span> <span class="k" style="box-sizing: border-box; color: green; font-weight: 700;">for</span> <span class="n" style="box-sizing: border-box;">i</span> <span class="ow" style="box-sizing: border-box; color: #aa22ff; font-weight: 700;">in</span> <span class="nb" style="box-sizing: border-box; color: green;">range</span><span class="p" style="box-sizing: border-box;">(</span><span class="mi" style="box-sizing: border-box; color: #666666;">1</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nb" style="box-sizing: border-box; color: green;">len</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">))])</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'tour :'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="nb" style="box-sizing: border-box; color: green;">print</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #ba2121;">'tour distance:'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="n" style="box-sizing: border-box;">tour_dist</span><span class="p" style="box-sizing: border-box;">)</span>
<span class="n" style="box-sizing: border-box;">plot_path</span><span class="p" style="box-sizing: border-box;">(</span><span class="n" style="box-sizing: border-box;">T</span><span class="p" style="box-sizing: border-box;">)</span></pre>
<br />
全体の距離はdist[(i, j)]を積算すればでてきます。<br />
plot_path()は事前に用意しておいた描画ファンクションです。<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="734" data-original-width="756" height="388" src="https://1.bp.blogspot.com/-tQ9qRubMU1s/XPPW5HumOXI/AAAAAAAAN8U/kfrDFAoy-zA6w14elY_ZJJixnX27daISgCLcBGAs/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-06-02%2B23.01.55.png" width="400" /></div>
ノード数20で計算させてみました。5秒ほどかかりましたが、ソルバーのおかげなのか<a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dpbit-dp.html" target="_blank">前回の動的計画法(DP)</a>よりは速いです。<br />
Subtour Elimination(部分巡回路削除)の方法にいくつかあるようなので、他のアルゴリズムも試してみようと思います。<br />
<br />
続き:<br />
<a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-lazy-subtour-elimination.html" target="_blank">TSP LP Lazy Subtour Elimination Constraints:巡回セールスマン問題 逐次組込制約による部分巡回路除去</a><br />
<br />
関連:<a href="https://cnc-selfbuild.blogspot.com/p/tsp.html" target="_blank">Traveling Salesman Problem:巡回セールスマン問題について(まとめ)</a><br />
<br />
<br /></div>
<script src="https://gist.github.com/mirrornerror/2c8b583b36aff61a5c716c069a9247be.js"></script>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-46588444676169500322019-05-23T19:06:00.002+09:002019-06-17T09:15:38.282+09:00TSP DP(その2) bit DP / 巡回セールスマン問題 / 動的計画法<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dp.html" target="_blank">前回</a>のTSP DP(動的計画法による巡回セールスマン問題)では、訪問先を表現するためにset()関数を用いましたが、今回はbit DPで試してみました。<br />
bit演算させたほうが高速になるのと、メモ化ライブラリである<a href="https://docs.python.org/ja/3/library/functools.html" target="_blank">functools.lru_cache</a>も使えるようになります。<br />
<br />
ビット演算でどこを訪れていて、どこを訪れていないか(訪問フラグ)は以下のように表すようです。<br />
まず訪問先を0, 1, 2, 3とすれば4桁の二進数になります。Pythonでは左側に0bをつければ二進数となります。<br />
<br />
S = 0b0001<br />
<br />
0ビット目(一番右側)を1にしておいて、ここが出発点となります。<br />
つぎに2に訪れたら(右から0番目、1番目、2番目)、<br />
<br />
S = 0b0101<br />
<br />
となり、すでに訪れた場所の状態がわかります。<br />
次に1に訪れて、<br />
<br />
S = 0b0111<br />
<br />
つぎに3に訪れて、<br />
<br />
S = 0b1111<br />
<br />
最終的にすべてが1になれば完了というわけです。<br />
ビット演算用の記号を使いますが、実際は整数としても認識するので、<br />
<br />
S = 1 | 1 << 2 = 0b0101<br />
<br />
こんな感じになります。<br />
<br />
ということから二進数を用いて前回のTSPを書き直してみました。<br />
<br />
<br />
<b><span style="font-size: large;">functools.lru_cacheを使った場合:</span></b><span style="font-size: large;"><b>(Python 3.6、Jupyter Notebook使用</b></span><b style="font-size: x-large;">)</b><br />
メモ化ライブラリである<a href="https://docs.python.org/ja/3/library/functools.html" target="_blank">functools.lru_cache</a>を使うと以下のようになります。<br />
ちなみにこれは合計最短経路のみの出力です。尚、TSP/DPのアルゴリズムについては<a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dp.html" target="_blank">前回</a>の方が詳しく説明してあるかと。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="kn" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">from</span> <span class="nn" style="color: blue; font-weight: bold; margin: 0px; padding: 0px;">functools</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">import</span> <span class="n" style="margin: 0px; padding: 0px;">lru_cache</span>
<span class="nd" style="color: #aa22ff; margin: 0px; padding: 0px;">@lru_cache</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">maxsize</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">None</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">TSP_lru</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">all_visited</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_lru</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">),</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># @lru_cache(maxsize=None)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># def TSP_lru(S, pos): # same as the above</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># if S == all_visited:</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># return dist[pos][0]</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;">#</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># d_min = float('inf')</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># for i in range(num):</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># if S & (1 << i) == 0: # if not visited </span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># d = dist[pos][i] + TSP_lru(S | (1 << i), i)</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># if d < d_min:</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># d_min = d</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># return d_min</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># Solve by TSP with functools.lru_cache</span>
<span class="o" style="color: #666666; margin: 0px; padding: 0px;">%</span><span class="n" style="margin: 0px; padding: 0px;">time</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Total Distance:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_lru</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">))</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">TSP_lru</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">cache_info</span><span class="p" style="margin: 0px; padding: 0px;">())</span> <span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># show cache info</span>
<span class="n" style="margin: 0px; padding: 0px;">TSP_lru</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">cache_clear</span><span class="p" style="margin: 0px; padding: 0px;">()</span> <span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># clear cache otherwise same outputs as before</span></pre>
メモ化されていないファンクションの上に@マークのデコレータをつけるだけでメモ化されます。<br />
maxsize=Noneでメモリ制限なしにしています。デコレータなしだとメモ化しないためかなり遅くなります。<br />
ただし、<a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dp.html" target="_blank">前回</a>のようなset関数やリストを引数にしている場合はこのlru_cacheが使えません。タプルを引数にするなら大丈夫だと思います。今回は訪問先の集合をビットで表したので使うことができるというわけです。おそらくビット演算にするだけでも、少しは高速になっているのではないでしょうか。<br />
それから、一度runするとcacheに内容が保持されたままになるので、再度TSR_lru(1, 0)をrunすると、前回と同じ答えを出してしまいます。ノード数を変えて試してみたい場合は、毎回cache_clear()する必要があります。何度も同じ答えを呼び出すには高速ですが、キャッシュクリアしないかぎりは同じ答えを出し続けるので、他のプログラムで使うときには注意したほうがいいと思います。<br />
<br />
<br />
<b><span style="font-size: large;">memoize関数を使った場合:</span></b><br />
自前で書いたmemoize関数をデコレータにすることもできるようです(<a href="https://www.python-course.eu/python3_memoization.php" target="_blank">こちらを参考</a>)。<br />
合計最短経路のみの出力。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">memoize</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">f</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="n" style="margin: 0px; padding: 0px;">cache</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">{}</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">func</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">*</span><span class="n" style="margin: 0px; padding: 0px;">args</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="n" style="margin: 0px; padding: 0px;">args</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">cache</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">cache</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">args</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">f</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">*</span><span class="n" style="margin: 0px; padding: 0px;">args</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">cache</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">args</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">func</span>
<span class="nd" style="color: #aa22ff; margin: 0px; padding: 0px;">@memoize</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">TSP_memo</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">):</span> <span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># re-run this function to clear cache otherwise same outputs as before</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">all_visited</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_memo</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">),</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># Solve by TSP with memoization decorator</span>
<span class="o" style="color: #666666; margin: 0px; padding: 0px;">%</span><span class="n" style="margin: 0px; padding: 0px;">time</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Total Distance:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_memo</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">))</span></pre>
これも先ほどのlru_cacheと同じようなものです。<br />
この場合もキャッシュクリアしない限りは同じ答えを出すので、TSP_memo(1, 0)をrunさせる場合は、def TSP_memo():も一緒に(jupyter上のこのセルごと)runさせたほうがいいです(このキャッシュクリアの方法がわからない)。<br />
<br />
<br />
<b><span style="font-size: large;">リストを使ったDPメモ化:</span></b><br />
ビット化した以外はほぼ<a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dp.html" target="_blank">前回</a>と同じです。<br />
最後にメモ化した内容から経路順を割り出します。<br />
<div class="input" style="-webkit-box-align: stretch; -webkit-box-orient: horizontal; align-items: stretch; break-inside: avoid; display: flex; flex-direction: row; margin: 0px; padding: 0px;">
<div class="inner_cell" style="-webkit-box-align: stretch; -webkit-box-flex: 1; -webkit-box-orient: vertical; align-items: stretch; display: flex; flex-direction: column; flex: 1 1 0%; margin: 0px; padding: 0px;">
<div class="input_area" style="background: rgb(247, 247, 247); border-radius: 4px; border: 1px solid rgb(207, 207, 207); line-height: 1.21429em; margin: 0px; padding: 0px;">
<div class=" highlight hl-ipython3" style="background: transparent; border: none; margin: 0.4em; padding: 0px;">
<pre style="background-color: transparent; border-radius: 4px; border: none; color: #333333; font-size: inherit; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">TSP_BDP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># if visited before</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">dp</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">>=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dp</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># if all visited </span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">all_visited</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">dp</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dp</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># if not visited yet</span>
<span class="n" style="margin: 0px; padding: 0px;">dp</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_BDP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">),</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dp</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># Solve TSP by bit DP (15 nodes: 0.75 sec, 18 nodes: 8.42 sec, 20 nodes: 44 sec)</span>
<span class="n" style="margin: 0px; padding: 0px;">dp</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">*</span> <span class="n" style="margin: 0px; padding: 0px;">num</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">_</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># initialize memoization</span>
<span class="o" style="color: #666666; margin: 0px; padding: 0px;">%</span><span class="n" style="margin: 0px; padding: 0px;">time</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Total Distance:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_BDP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">))</span></pre>
</div>
</div>
</div>
</div>
基本的に、<br />
<br />
dp[現在訪問状態][現在地] = dist[現在地][移動先] + TSP_BDP(次の訪問状態, 移動先)<br />
<br />
を毎回記録/計算しています。forループのi(移動先)は、未訪問の地点があるかどうか確かめてから、あればそこへ移動する場合の距離を計算しmin()によって最短経路を選択します。<br />
具体的な値を入れてみると、<br />
<br />
dp[0b1011][3] = dist[3][2] + TSP_BDP(0b1011 | (1 << 2), 2)<br />
<br />
Sについて2ビット目が0となっているので(右から数えて0,1,2番目)、まだ訪れていない地点は2ビット目だけということになり、forループでi=2のときこの処理がなされます。<br />
そうすると、<br />
<br />
dp[0b1011][3] = dist[3][2] + TSP_BDP(0b1111, 2)<br />
<br />
右辺においてS=0b1111(全て訪問済み)となり、あとは現在地3から2までの距離と残りTSP_BDP(0b1111, 2)による距離を足して左辺のdp[0b1011][3] へ記録することになります。<br />
しかし、dp[0b1011][3] へ記録する前に、TSP_BDP(0b1111, 2)を計算しなければいけないので、TSP_BDP(0b1111, 2)は次の再帰ループに突入してif S == all_visited:の条件分岐により、<br />
<br />
dp[0b1111][2] = dist[2][0]<br />
<br />
になり距離テーブルdist[2][0]から値を得てdp[0b1111][2]に記録します。このとき再帰ループで一つ先に移動しているので現在地pos=2、移動先は0になっています。距離が記録されたのちdp[0b1111][2](= dist[2][0])がリターンされたのでTSP_BDP(0b1111, 2)に戻ります。<br />
この結果、<br />
<br />
dp[0b1011][3] = dist[3][2] + TSP_BDP(0b1111, 2)<br />
<br />
この式の右辺側にあるTSP_BDP(0b1111, 2)は、<br />
<br />
TSP_BDP(0b1111, 2) = dist[2][0]<br />
<br />
とわかったので、それを代入すると<br />
<br />
dp[0b1011][3] = dist[3][2] + dist[2][0]<br />
<br />
つまり、<br />
<br />
未訪問2で現在地3 = 3から2までの距離 + 2から0(ゴール)までの距離<br />
<br />
となってゴールから二歩手前までの距離が求まります。<br />
<br />
訪問フラグと距離の関係(4ビットの場合、posはその時の現在地):<br />
dp[ob1111][pos](4ビット1の場合)ゴールから一歩手前までの距離<br />
dp[0b1011][pos](3ビット1の場合)ゴールから二歩手前までの距離<br />
dp[0b0011][pos](2ビット1の場合)ゴールから三歩手前までの距離<br />
dp[0b0001][pos](1ビット1の場合)ゴールからスタートまでの距離<br />
<br />
ということから、この仕組みを理解して経路の生成を以下で行いました。<br />
<br />
<br />
<b><span style="font-size: large;">経路の生成:</span></b><br />
上で記録した二次元配列dpを元に経路の順番を生成します。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">gen_dp_tour</span><span class="p" style="margin: 0px; padding: 0px;">():</span>
<span class="n" style="margin: 0px; padding: 0px;">tour</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">while</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">tour</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">np</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">inf</span>
<span class="n" style="margin: 0px; padding: 0px;">pos</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">None</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">&</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">d</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">tour</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]][</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">dp</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">)][</span><span class="n" style="margin: 0px; padding: 0px;">i</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">d</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">d_min</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">d</span>
<span class="n" style="margin: 0px; padding: 0px;">pos</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">i</span>
<span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|=</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><<</span> <span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">tour</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">pos</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">tour</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># Generate Tour</span>
<span class="n" style="margin: 0px; padding: 0px;">Tour</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">gen_dp_tour</span><span class="p" style="margin: 0px; padding: 0px;">()</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Tour:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">Tour</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">plot_path</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">Tour</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
基本的には最短経路を求めるコードと似ています。前のコードのforループ内のTSP_BDP()の部分をdp[][]に置き換えて距離を計算させるかわりに直接メモリから呼び出します。再帰ループの代わりにwhileループにしています。最初出発点にいる状態から全てを訪問するまで、min関数で得た最短距離と同時に現在地も記録しておき、それをtour配列に入れていきます。<br />
先ほどの訪問フラグと距離の関係から、dp[0b0001]にはスタートからゴールまでの合計最短距離が記録されています。これを一つずつ分解していく感じです。<br />
<br />
dp[0b0001][pos] = dist[pos][i] + dp[S | (s << i)][i]<br />
<br />
というのは、<br />
<br />
dp[現在訪問状態][現在地] = dist[現在地][移動先] + dp[次の訪問状態][移動先]<br />
<br />
なので、初期状態は0ビット目にいるため0b0001になり現在地pos=0になります。次の移動先iは複数の可能性があるのでforループで各パターンを確かめます。min()関数を使ってdist[][] + dp[][]の合計距離で最短の地点iを次の移動先にしますが、この時最短のiを経路用配列tourにappendしていきます。次のループでは再度訪問フラグをチェックして、複数ある未訪問の地点iについてまたdist[][] + dp[][]の合計距離を調べます。あとはそれの繰り返しとなります。尚、現在地posはその都度追加していった経路用配列tourの最後の値tour[-1]を参照すればいいことになります。初期状態では0から出発することになるので、tour=[0]にしています。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="706" data-original-width="688" height="400" src="https://4.bp.blogspot.com/-cm-rWqLWQ1c/XOZu5a8gSvI/AAAAAAAAN78/xUX8QufdlMcHjwvGuCY6QGIyA0n2orcCACLcBGAs/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-05-23%2B18.58.35.png" width="388" /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
次へ:<a href="https://cnc-selfbuild.blogspot.com/2019/06/tsp-lp-linear-programming-subtour.html" target="_blank">TSP LP (Linear Programming):線形計画法による巡回セールスマン問題 / Subtour Elimination 部分巡回路除去</a></div>
<div class="separator" style="clear: both; text-align: left;">
関連:<a href="https://cnc-selfbuild.blogspot.com/p/tsp.html" target="_blank">Traveling Salesman Problem:巡回セールスマン問題について(まとめ)</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
<script src="https://gist.github.com/mirrornerror/79442d72b7003be1d31ae930c550ac21.js"></script>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1792314461918221946.post-41402829153724295662019-05-19T14:55:00.000+09:002019-06-17T09:15:12.187+09:00TSP DP: 巡回セールスマン問題 / 動的計画法 / メモ化再帰<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://cnc-selfbuild.blogspot.com/2019/03/dpdynamic-programming.html" target="_blank">前回の再帰関数と動的計画法</a>の続きとして、今回は巡回セールスマン問題(TSP/Travelling Salesman Problem)の厳密解を求める動的計画法(DP/Dynamic Programming)を試してみました。<br />
<div>
再帰関数の例題によく出てくるフィボナッチ数などは単純なので分かりやすいのですが、TSPになると途端に難しくなり、中身を理解するのに予想以上に時間がかかってしまいました。</div>
<div>
今回もまた理解した内容をできるだけ自前でプログラミングしてみたので、正式な動的計画法になっているかはわかりませんが一応機能します(DPといってもいろいろやり方があるようなので、どれがいいのかよく分からない)。</div>
<div>
調べてみると、ビッド演算子を使うbit DPという方法が便利そうですが、今回はビッド演算子を使わず通常のforループとset()関数で試してみました。<br />
<br />
<br /></div>
<div>
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4791767101/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank"><img alt="驚きの数学 巡回セールスマン問題" src="https://images-fe.ssl-images-amazon.com/images/I/51Fv8O--IfL._SL160_.jpg" style="border: none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4791767101/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">驚きの数学 巡回セールスマン問題</a><br />
<div class="amazlet-powered-date" style="font-size: 80%; line-height: 120%; margin-top: 5px;">
posted with <a href="http://www.amazlet.com/" target="_blank" title="amazlet">amazlet</a> at 19.05.19</div>
</div>
<div class="amazlet-detail">
ウィリアム・J・クック <br />
青土社 <br />
売り上げランキング: 100,713</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4791767101/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jpで詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
<br /></div>
<div>
<span style="font-size: large;"><b><br /></b></span>
<span style="font-size: large;"><b>下準備:(Python 3.6、Jupyter Notebook使用</b></span><b style="font-size: x-large;">)</b></div>
<div>
まずノードの集合(簡単に4ノード)として、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">}</span></pre>
</div>
<div>
<br /></div>
<div>
をPythonの<a href="https://docs.python.org/ja/3/library/stdtypes.html?highlight=set#set" target="_blank">セット関数</a>(集合関数)で用意します。</div>
<div>
0からスタートして残りの{1, 2, 3}を巡って最後にまた0に戻ってくることにします。同時に各ノード間の距離テーブルdist[a][b]も用意しておきます。</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">dist</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">5</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">4</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">6</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">5</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">4</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">6</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]]</span></pre>
</div>
<div>
<br /></div>
<div>
そして距離を求める再帰関数として、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
<br /></div>
<div>
を用意します。aからスタートして、ノード集合S-{a}を全て巡ってbに戻るという設定です。</div>
<div>
実際の数値を代入すれば、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
<br /></div>
<div>
になります。</div>
<div>
<br /></div>
<div>
S-{a}というのは集合関数で、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">}</span></pre>
</div>
<div>
<br /></div>
<div>
となり、集合Sから要素{0}を除去するという意味です。ちなみに要素を付け足すにはプラス(+)ではなくS.add(0)になります。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">TSP DPの考え方:</span></b></div>
<div>
DPの特長として、全体を部分に切り分けて答えを求めていく「分割統治法」というのがあります。その際、部分的な答えを記憶保存しておく「メモ化」というテクニックを使います。<br />
その際求めたい答え(TSPなら全体的な道順)を後回しにして、とりあえず目先の部分的な処理(次の行き先)だけを考えますが、この再帰的な仕組みが理解しにくい。必ずしも再帰ループを使わなくてもいいらしいですが、部分を解いて結果的に全体を解くという流れにすると再帰的になってしまいます。再帰的な途中処理の結果をメモ化で記録して再利用することで効率があがるようです。<br />
まずは、最短経路の合計距離だけを求める式を考えてみます(道順についてはあとで求めます)。<br />
<br /></div>
<div>
先ほど用意した</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
<br /></div>
<div>
というのは、左の0から出発し、次に順番はどうであれ中継地点{1, 2, 3}をそれぞれ一回ずつ通って目的地0に到着するということを表現しています。<br />
<br />
TSP(出発地, {中継地点}, 目的地)<br />
<br />
というわけです。最終的にはこの式から距離が求まりますが再帰的な処理をしていくので、いきなりは答えがでてきません。<br />
{1, 2, 3}の道順の組み合わせは6通りありますが、とりあえず次に向かう先だけを考えます。そうすると1か2か3の3通りだけを考えることになります。残り2つは気になるけど後回しにしておきます。<br />
<br /></div>
<div>
次の手続きとして、もし中継地点のうち1に移動すると0から1までの距離dist[0][1]と、次の出発点1として残り{2, 3}が中継地点となります。</div>
<div>
それを式に表すと、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
<br /></div>
<div>
ということになります。全体の道順をいきなり解くというより、次の行き先だけを解いて残りは保留(後で解く)という感じです。次の行き先までの距離dist[0][1]は距離テーブルから求められますが、TSP(1, {2, 3}, 0)の距離はこのままでは計算できません。ちなみに、この段階では出発点0から最も近い中継地点に向かうことがベストとは限りません。出発点0から一番遠い地点であっても残りの経路TSP(1, {2, 3}, 0)で挽回することがありうるので、とりあえず式だけ組んでおくという感じです。<br />
そして次の可能性を考えますが、もし1の次に2に向かうなら、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
<br /></div>
<div>
と表すことができます。これは1から2へ向かって(距離は計算可能で確定)、2から3へ向かうということになります(予定)。このように確定と予定の二つで式をつくっていきます。あとは中継地点が{3}しかないので、3を次の出発点にして0へ向かうということになりますが、同様の手順を踏んでTSP(2, {3}, 0)の部分を、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
<br /></div>
<div>
と表すことができ、さらに</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span></pre>
</div>
<div>
<br /></div>
<div>
となり、中継地点はないので3から0へ直接移動するということになります。<br />
この一連の流れでは、{}内の要素が一つずつ減っていき空集合になるまで進めていくと、最終的にはdist[a][b]として距離を求められます。また、中継地点のうちどれか一つが次のステップでの出発点となり、左側の変数aは変化し続けます。右側の変数bは最終目的地(出発地でもある)なのでずっと固定値です。<br />
こうやって未定の部分を可能性として掘り下げていくと距離テーブルをつかって実際の値を求めていくことができます。{}内の要素がゼロになったとき、この再帰ループが終わるので、それを終了条件としておけばいいことになります。<br />
<span style="font-size: x-small;">あとで気づきましたが、TSP(2, {3}, 0)を求める段階でこの距離はdist[2][3] + dist[3][0]とわかるので、{}内の要素が一つのとき再帰ループの終了条件とし、それ以降のTSP(3, {}, 0)までループさせる必要がないかもしれません。</span></div>
<div>
<br /></div>
<div>
しかし、上記で行ったのは一つのパターンであって、実際はもっと多くの組み合わせがあります。最初のTSP(0, {1, 2, 3}, 0)のときは、0から次に向かう先は1か2か3の3通りあり、そのうちの最短経路を求めたいのでmin()関数を使って書き換えると、</div>
<div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">),</span>
<span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">),</span>
<span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">))</span></pre>
</div>
</div>
<div>
<br /></div>
<div>
になります。これらのうちの最小のものを採用することになります。</div>
<div>
しかし、このままではTSP()の部分が計算できないので、先ほどやったように以下のパターン全てを掘り下げて計算していきます。</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">),</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">))</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">),</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">))</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="margin: 0px; padding: 0px;"><span style="color: #333333;">{</span><span style="color: #666666;">1</span></span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> 2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">),</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">))</span></pre>
</div>
<div>
<br /></div>
<div>
同様に右辺式後半の各TSP()部分が未確定なので、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;"><span style="color: #333333;">(</span><span style="color: #666666;">1</span></span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;">
</span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">dist</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">[2</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">][1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">]</span><span style="color: #333333;"> </span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span><span style="color: #333333;"> </span><span class="n" style="color: #333333; margin: 0px; padding: 0px;">TSP</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">(1</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">,</span><span style="color: #333333;"> </span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">{},</span><span style="color: #333333;"> </span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="color: #333333; margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
<br /></div>
<div>
となり、さらに</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">3</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="p" style="margin: 0px; padding: 0px;">{},</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span></pre>
</div>
<div>
<br /></div>
<div>
となり、{}が空集合になるまで繰り返すと最後はdist[a][b]だけで値を求められます。あとはここから元に戻っていけば最初の答えがわかるというわけです。このときメモ化をつかって、各段階でTSP(a, S-{a}, b)を記録しておきます。そうすることで、一度計算したパターンについては、また掘り下げて計算しなくて済むようになります。その分計算量が減ってより高速になるというわけです。今回の例ではノード数が少ないため重複する部分も少ないですが(今回の場合は最後の3パターンが一つ前の段階で重複しているだけ)、ノード数が増えるほど重複計算も増えるので効果がでてきます。</div>
<div>
実際は以下のようにfor文や再帰処理を使うので、ここまで書き出す必要はなくなります。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">TSP(再帰):</span></b><br />
まずはメモ化なしで再帰的な処理だけで組んでみます。</div>
<div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">float</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'inf'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">s</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">}:</span>
<span class="n" style="margin: 0px; padding: 0px;">d</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">d</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">d_min</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">d</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">d_min</span>
<span class="o" style="color: #666666; margin: 0px; padding: 0px;">%</span><span class="n" style="margin: 0px; padding: 0px;">time</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Total Length:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">))</span></pre>
</div>
</div>
<div>
<br /></div>
<div>
関数内の最初の処理としては、len(S)で中継地点の数をカウントし、もしゼロ(空集合)であれば、dist[a][b]の値を返すようにしてあります(再帰ループの終了条件)。ここで一旦リターンされますが、内部的にまだ再帰処理が残っている場合は、残りの処理を続けるためにまたループし始めます。<br />
Sが空集合でない場合は、続くforループで複数のパターンを処理させます。<br />
関数TSP(a, S, b)の部分は、最初TSP(0, {0,1,2,3}, 0)であり、関数内でS-{a}={0,1,2,3}-{0}={1,2,3}にしてからforループさせています。次の処理となるforループ内では、S-{a, s}={0,1,2,3}-{0,s}で前回の出発点0と次の目的地sを差し引いて処理し最小値を取り出しています。<br />
もっと完結に書けば、</div>
<div>
<br /></div>
<div>
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">s</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">}])</span>
<span class="o" style="color: #666666; margin: 0px; padding: 0px;">%</span><span class="n" style="margin: 0px; padding: 0px;">time</span> <span class="n" style="margin: 0px; padding: 0px;">TSP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">)</span></pre>
</div>
<div>
<br /></div>
<div>
このくらいシンプルになりますが、手順が分かりにくいので最初のほうが理解しやすいかと。<br />
再帰処理の場合、終了条件(今回の場合は中継地点Sが空集合になるまで)がなければ無限ループになってしまうので、まずは終了条件を何にするのか、そして内部処理では、終了条件に向かうために何かを変化させていけなければいけないのですが、その部分を何にするかというのが最初は分かりにくいという感じです。終了条件さえ決められれば、while文でループさせてもいいかもしれませんが、自己代入で再帰的に処理するほうが余計な変数など減っていいのかもしれません。<br />
<br /></div>
<div>
ちなみに、このコードでは最短経路の合計距離(厳密解)だけを求めています。再帰的とはいえ結局はすべてのパターンを計算しています。</div>
<div>
このままだと計算量は(n - 1)!なので、10ノードだと1秒くらいかかってしまいます(遅い)。ということから、<a href="https://cnc-selfbuild.blogspot.com/2019/03/dpdynamic-programming.html" target="_blank">前回参考にしたメモ化</a>(Memoization)を加えて計算が重複しないように工夫してみました。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">TSP DP(メモ化):</span></b></div>
<div>
先ほどのコードにメモ化を追加して、一度計算した内容は遡って計算しないように記録しておき、その都度直接呼び出せるようにします。これで一応動的計画法になるようです。<br />
例えば、TSP(1, {2, 3}, 0)の値は、TSP(2, {3}, 0)とTSP(3, {2}, 0)、TSP(3, {}, 0)やTSP(2, {}, 0)、そしてdist[3][0]とdist[2][0]まで遡りつつ比較最小値をとらなければいけませんが、一度最小値の計算結果を求めてあれば、その値をmemoから直接一回で呼び出せます。<br />
<pre style="border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: scroll; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">memo</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">{}</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">TSP_DP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">tuple</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">}),</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">float</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'inf'</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">s</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">}:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">tuple</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">}),</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">not</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">tuple</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">}),</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_DP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="n" style="margin: 0px; padding: 0px;">d</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">tuple</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">}),</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">d</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">d_min</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">d</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">d_min</span>
<span class="o" style="color: #666666; margin: 0px; padding: 0px;">%</span><span class="n" style="margin: 0px; padding: 0px;">time</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Total Length:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_DP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">))</span></pre>
今回はPythonの辞書機能を使用して、キーをそのままTSP()の引数にしています。辞書dict()では、任意の数や文字を直接キーに割り当てられますが、リスト[]やセット{}は登録できないようです。タプル()なら登録できるので、セット{}をタプル()に変えて登録しています。</div>
<br />
結果的には、10ノードで1秒もかかっていた処理速度が34.5 msまで短縮できました。理論上の計算量は2ˆn * nˆ2になるそうです。(n - 1)!よりは高速ですが、ノード数15を超えたあたりからきつくなってくるので、DPとはいえ数十、数百ノードのTSPを処理させることは不可能です。<br />
<br />
追記:<br />
その後少しメモ化の部分を変更してみました(以下)。<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">memo</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">{}</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">def</span> <span class="nf" style="color: blue; margin: 0px; padding: 0px;">TSP_DP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">}</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">tuple</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">),</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">tuple</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">),</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">tuple</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">),</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)]</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">min</span><span class="p" style="margin: 0px; padding: 0px;">([</span><span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">][</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_DP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">s</span><span class="p" style="margin: 0px; padding: 0px;">},</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">s</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">[(</span><span class="n" style="margin: 0px; padding: 0px;">a</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">tuple</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">),</span> <span class="n" style="margin: 0px; padding: 0px;">b</span><span class="p" style="margin: 0px; padding: 0px;">)]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">d_min</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">return</span> <span class="n" style="margin: 0px; padding: 0px;">d_min</span>
<span class="o" style="color: #666666; margin: 0px; padding: 0px;">%</span><span class="n" style="margin: 0px; padding: 0px;">time</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Total Distance:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">TSP_DP</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">))</span></pre>
辞書機能を使っているのは同じですが、最小値を得たあとに記憶させておくことにしました。この方が効率がいいかもしれません。今回はmin()関数を使い一行forループにし、それとS = S - {a}を最初の方で書いておきもう少しすっきりさせました。<br />
<br />
メモ化するためのライブラリ<a href="https://docs.python.org/ja/3/library/functools.html" target="_blank">functools.lru_cache</a>もありますが、集合関数set()や{}あるいはlist[]を含めてしまうと適用できないようでbit DPにして整数で集合を表現した方がよさそうです(その方がより高速になる)。<br />
<br />
<br />
<div>
<b><span style="font-size: large;">経路の出力:</span></b></div>
先ほどのコードでは最短距離(厳密解)しか求められないので、経路も求められるコードを追加してみました。経路順はメモ化した内容から割り出せます。最短候補のノードを一つずつ拾い上げてつなげていく感じです。<br />
<br />
<div>
<div class="input" style="-webkit-box-align: stretch; -webkit-box-orient: horizontal; align-items: stretch; break-inside: avoid; display: flex; flex-direction: row; margin: 0px; padding: 0px;">
<div class="inner_cell" style="-webkit-box-align: stretch; -webkit-box-flex: 1; -webkit-box-orient: vertical; align-items: stretch; display: flex; flex-direction: column; flex: 1 1 0%; margin: 0px; padding: 0px;">
<div class="input_area" style="background: rgb(247, 247, 247); border-radius: 4px; border: 1px solid rgb(207, 207, 207); line-height: 1.21429em; margin: 0px; padding: 0px;">
<div class=" highlight hl-ipython3" style="background: transparent; border: none; margin: 0.4em; padding: 0px;">
<pre style="background-color: transparent; border-radius: 4px; border: none; color: #333333; font-size: inherit; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="n" style="margin: 0px; padding: 0px;">P</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span> <span class="c1" style="color: #408080; font-style: italic; margin: 0px; padding: 0px;"># starting from to "0"</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">range</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">num</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span> <span class="mi" style="color: #666666; margin: 0px; padding: 0px;">2</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">):</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">np</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">inf</span>
<span class="n" style="margin: 0px; padding: 0px;">p_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="kc" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">None</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">for</span> <span class="n" style="margin: 0px; padding: 0px;">m</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">in</span> <span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">P</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">d</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">dist</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">P</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">-</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">]][</span><span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]]</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="n" style="margin: 0px; padding: 0px;">memo</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="n" style="margin: 0px; padding: 0px;">d</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;"><</span> <span class="n" style="margin: 0px; padding: 0px;">d_min</span><span class="p" style="margin: 0px; padding: 0px;">:</span>
<span class="n" style="margin: 0px; padding: 0px;">d_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">d</span>
<span class="n" style="margin: 0px; padding: 0px;">p_min</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">=</span> <span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]</span>
<span class="n" style="margin: 0px; padding: 0px;">P</span><span class="o" style="color: #666666; margin: 0px; padding: 0px;">.</span><span class="n" style="margin: 0px; padding: 0px;">append</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">p_min</span><span class="p" style="margin: 0px; padding: 0px;">)</span>
<span class="nb" style="color: green; margin: 0px; padding: 0px;">print</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="s1" style="color: #ba2121; margin: 0px; padding: 0px;">'Tour:'</span><span class="p" style="margin: 0px; padding: 0px;">,</span> <span class="n" style="margin: 0px; padding: 0px;">P</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span>
<span class="n" style="margin: 0px; padding: 0px;">plot_path</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">P</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">+</span> <span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">])</span></pre>
</div>
</div>
</div>
</div>
</div>
<div>
<br />
S={0,1,2,3}の場合のmemoの中身は、<br />
<pre style="background-color: white; border-radius: 0px; border: 0px; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;">{(1, (), 0): 0.5761741880674179,
(1, (2,), 0): 0.6102626177520184,
(1, (2, 3), 0): 1.8033372646495835,
(1, (3,), 0): 1.5373375235172968,
(2, (), 0): 0.3706271783270686,
(2, (1,), 0): 0.8158096274923677,
(2, (1, 3), 0): 1.7769729629422466,
(2, (3,), 0): 1.5637018252246337,
(3, (), 0): 0.7446829688310912,
(3, (1,), 0): 1.3688287427536237,
(3, (1, 2), 0): 1.4029171724382241,
(3, (2,), 0): 1.189646034720611}</pre>
となっており、最初の状態(0, {1,2,3}, 0)以降の状態が記録されています。実際for m in memoで呼び出されるのは、(1, (2, 3), 0)というキーの部分だけですが、そのキーを入力すれば対応する距離(計算結果)を一発で呼び出せます。{}がタプルに変換されて()になっています。ちなみに各キーに対応する値(dist[a][b]による距離の計算結果)はnp.random.random()で生成した値を使っているので(以下のGistに記載してあります)このページ最初に設定した値とは異なっています。<br />
最初の出発地点は0、中継地点は{1,2,3}になるので、次の移動先は{1,2,3}のどれかになります。<br />
つまり次のメモ化内容は、出発地が{1,2,3}のどれかで、中継地点の数が2個のものになります。<br />
中継地点{1,2,3}の3通り分だけforループ処理して、さらに検索条件として中継地点の数が2個len(S)==2のものを抜き出します。そうすると、<br />
<pre style="background-color: white; border-radius: 0px; border: 0px; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;">(1, (2, 3), 0): 1.8033372646495835
(2, (1, 3), 0): 1.7769729629422466
(3, (1, 2), 0): 1.4029171724382241</pre>
のうちどれかになります。<br />
TSPの経路として最小値を選択するには、これらの距離だけでは判断できません。これらに一つ前の距離(開始点0からの距離)を足した合計距離で最短のものを選択します。よって式は、<br />
<pre style="border-radius: 0px; border: 0px; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;">dist[0][1] + memo[(1, (2, 3), 0)]: 1.8033372646495835
dist[0][2] + memo[(2, (1, 3), 0)]: 1.7769729629422466
dist[0][3] + memo[(3, (1, 2), 0)]: 1.4029171724382241
</pre>
となり、dist[i][j]は距離テーブルから実際の値が求まるので、それにmemo[m]から呼び出した距離を合計して最短経路を選びます。<br />
この結果、最小値のものが、<br />
<pre style="border-radius: 0px; border: 0px; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;">dist[0][3] + memo[(3, (1, 2), 0)]: 1.4029171724382241</pre>
となったとします。<br />
memo[(出発点, (中継地点), 最終到着点)]であるので、出発点3は前回のステップから見れば0からの移動先です。この値3を配列Pにappendしておき最終的な経路を記録していきます。<br />
ということから、さらに次の移動先は中継地点の数が1個で、もうすでに訪れた3が含まれていないということが条件になります。今回の検索条件は<br />
<pre style="background-color: #f7f7f7; border-radius: 4px; border: none; color: #333333; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap; word-break: break-all;"><span class="k" style="color: green; font-weight: bold; margin: 0px; padding: 0px;">if</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">len</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">i</span> <span class="ow" style="color: #aa22ff; font-weight: bold; margin: 0px; padding: 0px;">and</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">P</span><span class="p" style="margin: 0px; padding: 0px;">)</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="p" style="margin: 0px; padding: 0px;">{</span><span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">0</span><span class="p" style="margin: 0px; padding: 0px;">]}</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">|</span> <span class="nb" style="color: green; margin: 0px; padding: 0px;">set</span><span class="p" style="margin: 0px; padding: 0px;">(</span><span class="n" style="margin: 0px; padding: 0px;">m</span><span class="p" style="margin: 0px; padding: 0px;">[</span><span class="mi" style="color: #666666; margin: 0px; padding: 0px;">1</span><span class="p" style="margin: 0px; padding: 0px;">])</span> <span class="o" style="color: #666666; margin: 0px; padding: 0px;">==</span> <span class="n" style="margin: 0px; padding: 0px;">S</span><span class="p" style="margin: 0px; padding: 0px;">:</span></pre>
としています。mはforループで抜き出したmemo内のキーです。(m[0], m[1], 0)は(出発地, 中継地点, 到着地)に対応しているので、len(m[1])は中継地点の数となります。set(P) | {m[0]} | set(m[1]) == Sの部分は、格納した経路地点と出発地と中継地点を合わせれば常に{0,1,2,3} == Sになるという条件です。
そうすると、次のステップは中継地点数が1個のもので、最終経路の一部としてPに格納されている3が含まれていないもので、出発地が1か2のもの、中継地点も1か2のものとなります。そうすると、<br />
<pre style="background-color: white; border-radius: 0px; border: 0px; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;"> (1, (2,), 0): 0.6102626177520184
(2, (1,), 0): 0.8158096274923677</pre>
次の移動先はこれら二つに絞られ、さらにこれらにdist[i][j]を加えてから最小値の方を選択します。よって距離の合計式は、<br />
<pre style="border-radius: 0px; border: 0px; color: #222222; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: scroll; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;"> dist[3][1] + memo[(1, (2,), 0)]: 0.6102626177520184
dist[3][2] + memo[(2, (1,), 0)]: 0.8158096274923677</pre>
となって、<br />
<pre style="border-radius: 0px; border: 0px; font-size: 14px; line-height: inherit; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;">dist[3][1] + memo[(1, (2,), 0)]: 0.6102626177520184</pre>
が選ばれたとします。
そうすると1が次の移動先となり、1を配列Pにappendしておきます。いまのところ0→3→1となります。つぎは消去法で2が移動先になりますが、一応先ほどと同じ条件で検索してみます。
次の条件は中継地点数が0個のもので、Pに格納されている[0,3,1]以外のものとなります。そうすると<br />
<pre style="background-color: white; border-radius: 0px; border: 0px; color: #222222; font-size: 14px; line-height: inherit; overflow-wrap: break-word; overflow: scroll; padding: 0px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all;">(2, (), 0): 0.8158096274923677</pre>
が抜き出され、Pには2がappendされて[0,3,1,2]になります。
最後に0を加えて[0,3,1,2] + [0] = [0,3,1,2,0]にして最終的な巡回経路にします。<br />
<br />
以下はn=10で試したものです。一応厳密解の経路が形成されました。
<br />
<div class="separator" style="clear: both; text-align: left;">
<img border="0" data-original-height="706" data-original-width="694" height="400" src="https://3.bp.blogspot.com/-avFoIjaIFZY/XODoqusfpDI/AAAAAAAAN7Y/wsP6h2Fc9Rk4teXEy3LZ0ecsPGBZQ_s1gCLcBGAs/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2019-05-19%2B14.24.27.png" width="393" /></div>
<div>
画像上部のTour:が経路順です。厳密解を見つけることができるのでいいのですが、TSPの規模が大きくなると無理なので、今回はTSPを材料に動的計画法やメモ化について学んでみたという感じです。他のことに応用できるか分かりませんが、それなりの収穫があったと思います。</div>
<div>
TSPに関してはこれまでいくつかのヒューリスティックな方法を試しましたが、次は整数計画法を試してみたいです。<br />
<br /></div>
<div>
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839941068/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank"><img alt="プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~" src="https://images-fe.ssl-images-amazon.com/images/I/41bHxtpurqL._SL160_.jpg" style="border: none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839941068/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~</a><br />
<div class="amazlet-powered-date" style="font-size: 80%; line-height: 120%; margin-top: 5px;">
posted with <a href="http://www.amazlet.com/" target="_blank" title="amazlet">amazlet</a> at 19.05.19</div>
</div>
<div class="amazlet-detail">
秋葉拓哉 岩田陽一 北川宜稔 <br />
マイナビ <br />
売り上げランキング: 10,015</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839941068/kousakukousak-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jpで詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
<br />
この↑「プログラミングコンテストチャレンジブック(通称:蟻本)」には様々なアルゴリズムが書いてあります。TSP DPについても書いてありますが、やはりbit DPを使うと便利らしい。<br />
以下のGitの最後には<a href="https://www.python-course.eu/python3_memoization.php" target="_blank">memoization</a>とbit DPを使ったコードも書いておきました。<br />
<br />
続き:<a href="https://cnc-selfbuild.blogspot.com/2019/05/tsp-dpbit-dp.html" target="_blank">TSP DP(その2) bit DP / 巡回セールスマン問題 / 動的計画法</a><br />
関連:<a href="https://cnc-selfbuild.blogspot.com/p/tsp.html" target="_blank">Traveling Salesman Problem:巡回セールスマン問題について(まとめ)</a><br />
<br />
<br /></div>
<script src="https://gist.github.com/mirrornerror/f9f0169ca72cc48711e96fc8666740ca.js"></script>
<br />
<div>
<br /></div>
</div>
</div>
Unknownnoreply@blogger.com0