Files
Barrier-free-Traverse/Cover.ipynb
GL-LinGood 41310eaa15 代码
2021-03-13 22:48:52 +08:00

2449 lines
507 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 计算距离矩阵"
]
},
{
"cell_type": "code",
"execution_count": 333,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import math\n",
"import numpy as np\n",
"def Distance(x1, y1, x2, y2):\n",
" return math.sqrt(pow((x1- x2), 2) + pow((y1- y2), 2))\n",
"n = 6\n",
"x = []\n",
"y = []\n",
"\n",
"dx = [-1, -1, 0, 1, 1, 1, 0, -1] # 方向数组\n",
"dy = [0, -1, -1, -1, 0, 1, 1, 1]\n",
"node = [-1, -(n + 1), -n, -(n - 1), 1, n + 1, n, n - 1]\n",
"for i in range(n):\n",
" for j in range(n):\n",
" x.append(j + 0.5)\n",
" y.append(i + 0.5)\n",
"x = np.array(x)\n",
"y = np.array(y)\n",
"num = len(x)\n",
"distance = np.zeros([num,num])\n",
"\n",
"INF = 1000\n",
"for i in range(num):\n",
" for j in range(num):\n",
" distance[i, j] = INF\n",
"for i in range(len(x)):\n",
" for j in range(8):\n",
" new_x = x[i] + dx[j]\n",
" new_y = y[i] + dy[j]\n",
" if new_x > 0 and new_y > 0 and new_x < n and new_y < n:\n",
" distance[i, i + node[j]] = Distance(x[i], y[i], new_x, new_y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 设置障碍"
]
},
{
"cell_type": "code",
"execution_count": 334,
"metadata": {},
"outputs": [],
"source": [
"# remove_n = [14, 20, 11, 17, 23, 31, 32, 33, 21]\n",
"# remove_n = [4, 6, 7, 12, 14, 16, 17, 19]\n",
"# remove_n = np.random.randint(1, num, size = 16)\n",
"# remove_n = [25, 26, 27, 35, 41, 42, 43]\n",
"remove_n = [1, 2, 9, 14, 20, 23, 29, 35]\n",
"# remove_n = [2, 5, 16, 27, 38, 41, 53, 62]\n",
"# remove_n = [3, 9, 11, 13, 14, 21, 22, 25, 26, 27, 37, 38, 39, 41, 43, 49, 51,53, 54, 59]\n",
"# remove_n = [7, 8, 9, 11, 14, 15, 17, 19, 20, 21, 23, 31, 32, 33, 34]\n",
"# remove_n = [1, 2, 3, 4, 15, 20, 23, 24, 27, 32, 33, 34]\n",
"# remove_n = [4, 7, 8, 20, 19, 16, 22, 30, 31]\n",
"obstacle_x = []\n",
"obstacle_y = []\n",
"for i in range(len(remove_n)):\n",
" obstacle_x.append(x[remove_n[i]])\n",
" obstacle_y.append(y[remove_n[i]])\n",
"x = np.delete(x, remove_n)\n",
"y = np.delete(y, remove_n)\n",
"distance = np.delete(distance, remove_n, 0)\n",
"distance = np.delete(distance, remove_n, 1)\n",
"num = len(x)"
]
},
{
"cell_type": "code",
"execution_count": 338,
"metadata": {},
"outputs": [],
"source": [
"x2 = x\n",
"y2 = y\n",
"obstacle_x2 = obstacle_x\n",
"obstacle_y2 = obstacle_y"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"with open(\"C:/Users/lenovo/Desktop/distance.txt\", \"w\") as f: #打开文件\n",
" for i in range(distance.shape[0]):\n",
" for j in range(distance.shape[1]):\n",
" f.write(str(distance[i, j])) #读取文件\n",
" f.write(' ')\n",
" f.write('\\n')"
]
},
{
"cell_type": "code",
"execution_count": 332,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x55ba396d08>"
]
},
"execution_count": 332,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(x, y)"
]
},
{
"cell_type": "code",
"execution_count": 372,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.ticker import MultipleLocator, FormatStrFormatter\n",
"\n",
"n = 12\n",
"num = len(road1)\n",
"xx = []\n",
"yy = []\n",
"for i in range(num):\n",
" xx.append(x1[road1[i]])\n",
" yy.append(y1[road1[i]])\n",
"ax=plt.subplot(111) #注意:一般都在ax中设置,不再plot中设置\n",
"ax.fill_between(np.array([0, 1]),0,1,facecolor='red')\n",
"n_x1 = np.array(obstacle_x1) - 0.5\n",
"n_x2 = np.array(obstacle_x1) + 0.5\n",
"n_y1 = np.array(obstacle_y1) - 0.5\n",
"n_y2 = np.array(obstacle_y1) + 0.5\n",
"points = np.stack((x1, y1), axis=1)\n",
"for i, p in enumerate(points):\n",
" plt.text(*p, '%d' % i)\n",
"for i in range(len(n_x1)):\n",
" ax.fill_between(np.array([n_x1[i], n_x2[i]]), n_y1[i], n_y2[i],facecolor='green')\n",
"for i in range(num - 1):\n",
" ax.arrow(xx[i], yy[i], xx[i + 1] - xx[i], yy[i + 1] - yy[i],length_includes_head = True,head_width = 0.15,head_length = 0.15,ec = 'b')\n",
"\n",
"xx = []\n",
"yy = []\n",
"num = len(road2)\n",
"for i in range(num):\n",
" xx.append(x2[road2[i]] + 6)\n",
" yy.append(y2[road2[i]])\n",
"\n",
"ax.fill_between(np.array([6, 7]),0,1,facecolor='red')\n",
"n_x1 = np.array(obstacle_x2) + 6 - 0.5\n",
"n_x2 = np.array(obstacle_x2) + 6 + 0.5\n",
"n_y1 = np.array(obstacle_y2) - 0.5\n",
"n_y2 = np.array(obstacle_y2) + 0.5\n",
"points = np.stack((x2 + 6, y2), axis=1)\n",
"for i, p in enumerate(points):\n",
" plt.text(*p, '%d' % i)\n",
"for i in range(len(n_x1)):\n",
" ax.fill_between(np.array([n_x1[i], n_x2[i]]), n_y1[i], n_y2[i],facecolor='green')\n",
"for i in range(num - 1):\n",
" ax.arrow(xx[i], yy[i], xx[i + 1] - xx[i], yy[i + 1] - yy[i],length_includes_head = True,head_width = 0.15,head_length = 0.15,ec = 'b')\n",
"\n",
"xx = []\n",
"yy = []\n",
"num = len(road3)\n",
"for i in range(num):\n",
" xx.append(x3[road3[i]])\n",
" yy.append(y3[road3[i]] + 6)\n",
"\n",
"ax.fill_between(np.array([0, 1]),6,7,facecolor='red')\n",
"n_x1 = np.array(obstacle_x3) - 0.5\n",
"n_x2 = np.array(obstacle_x3) + 0.5\n",
"n_y1 = np.array(obstacle_y3) + 6 - 0.5\n",
"n_y2 = np.array(obstacle_y3) + 6 + 0.5\n",
"points = np.stack((x3, y3 + 6), axis=1)\n",
"for i, p in enumerate(points):\n",
" plt.text(*p, '%d' % i)\n",
"for i in range(len(n_x1)):\n",
" ax.fill_between(np.array([n_x1[i], n_x2[i]]), n_y1[i], n_y2[i],facecolor='green')\n",
"for i in range(num - 1):\n",
" ax.arrow(xx[i], yy[i], xx[i + 1] - xx[i], yy[i + 1] - yy[i],length_includes_head = True,head_width = 0.15,head_length = 0.15,ec = 'b')\n",
"\n",
"xx = []\n",
"yy = []\n",
"num = len(road4)\n",
"for i in range(num):\n",
" xx.append(x4[road4[i]] + 6)\n",
" yy.append(y4[road4[i]] + 6)\n",
"\n",
"ax.fill_between(np.array([6, 7]),6,7,facecolor='red')\n",
"n_x1 = np.array(obstacle_x4) + 6 - 0.5\n",
"n_x2 = np.array(obstacle_x4 )+ 6 + 0.5\n",
"n_y1 = np.array(obstacle_y4) + 6 - 0.5\n",
"n_y2 = np.array(obstacle_y4) + 6 + 0.5\n",
"points = np.stack((x4 + 6, y4 + 6), axis=1)\n",
"for i, p in enumerate(points):\n",
" plt.text(*p, '%d' % i)\n",
"for i in range(len(n_x1)):\n",
" ax.fill_between(np.array([n_x1[i], n_x2[i]]), n_y1[i], n_y2[i],facecolor='green')\n",
"for i in range(num - 1):\n",
" ax.arrow(xx[i], yy[i], xx[i + 1] - xx[i], yy[i + 1] - yy[i],length_includes_head = True,head_width = 0.15,head_length = 0.15,ec = 'b')\n",
"\n",
"plt.xlim(0, n)\n",
"plt.ylim(0, n)\n",
"\n",
"ax.xaxis.set_major_locator(MultipleLocator(1))#设置y主坐标间隔 1\n",
"ax.yaxis.set_major_locator(MultipleLocator(1))#设置y主坐标间隔 1\n",
"ax.xaxis.grid(True,which='major')#major,color='black'\n",
"ax.yaxis.grid(True,which='major')#major,color='black'\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 弓字形遍历"
]
},
{
"cell_type": "code",
"execution_count": 343,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAW0AAAD8CAYAAAC8TPVwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXwTdf7H8dd3kjRp0pO2lKPcR7kEuVHkUkFFRUW8b91ldfGW9djfquvuursqeKDreru6KIIc6qooqOAtyg2CoCJHy1UopXeTmfn8/hgQUbBpSJMUvs/HIw+SZjLzJpn55DvfzHxHiQiapmlaw2DEO4CmaZoWPl20NU3TGhBdtDVN0xoQXbQ1TdMaEF20NU3TGhBdtDVN0xqQsIq2UuompdTXSqmVSqkpSilffQfTNE3TfqnWoq2Uag5cD/QRkW6ACzi/voNpmqZpvxRu94gbSFZKuQE/sLn+ImmapmkH465tAhEpVEpNADYCVcAcEZnz8+mUUmOBsQA+n693y5Yto501qkJWiJAdineMWnkMj84ZRT6XD8NI/J9ybNvWOaOoIeRcu3btDhHJqW06Vdtp7EqpTGAGcB5QArwKTBeRyQd7TX5+vqxZs6ZuiWNs4pSJjF87Pt4xajWh4wSdM4rmDZnH0KFD4x2jVvPnz9c5o6gh5FRKLRKRPrVNF85Xz4nADyJSJCIhYCZw7KEG1DRN0+ounKK9ERiglPIrpRRwArC6fmNpmqZpB1Jr0RaRBcB0YDGwYs9rnqrnXJqmadoB1PpDJICI3A3cXc9ZNE3TtFok9s+pmqZp2n500dY0TWtAdNHWNE1rQHTR1jRNa0B00dY0TWtAdNHWtCjbvh2efFL4+JPYXjRbBB7/t80770AwWPv069fDgw8Ja9bENmdNDUx80OaTT8C2f31aEVi5Eu6/32b79tjk26u42Fnu0qVOjkQR1iF/mqb9usJCmDFDeOFlk1UrDVzplRx7tI85b3liliEYhGvHKRq1KaWqKMApI4VLLnAzYgQkJzvTrF0L0161mTzFYtMmhe2tZstWPw/cp2KWc+1a+OOdNoFG1UiVl7POgovOdzFkCLjdToFcvBhemWYzZZpNabmNadvk5Pi44oqYxeSDD+Duf4S4dwIEfC7OO8fg/HMN+vUDFbu36xcSvqUdDMKNN9phtRw0LdZ+8xsTlRSiRWuL2x/fwqbmS2l89Ry83X9g7tselCKi26JFdX+Nzwciip3r0qgsczFjqpszzwS/H5L9NiopRKejQvxzagElRy0i+3dzcDcrZsL9Rkxzdu8OwUo3uwr8lOx08fwzLk48ETweSE23MJJM+g2u4ckP1mMN/oLMK+cSEpMrr4wsY6Q5zzkHqku8lBZ52bLJzcMPGgwYAIYBrdtYWFZ81rmEb2lfd4PFU0+4qA5ZPPEvV7zjaNqPFi+GZ591gxIwbOwyP1a5D7vag3I7+/2HMrBcXV8r4tyMQDXYBmIaYLlQQFoq2BUQqjawy/yY5T6SQi6Ux4x5zr1dIkagGiwDsQwwXRgGpKcpqkM2VsiFVZaMVeZDssswvFZ8chqCkVzj5DRdiGWggA0bFH+6y+Yf98a+3ZvQLe2pU4WXpzvDfU6eajJtWgJ1LGlHtF274LQznYLn8gc59jhh8iMZDE7rTPELw6j6rBPDR4awLCK69e5d99dUVYFSQsCvaJJjcNMNBgu+UJimYts2g5pyDzuLXDx+dxbdg93Y/tSJhL5rzvhb7ZjmXL4cPD4Ln9tF2zaKP99psGqVk7Ngk0Go0kPBejf3XduEVlt7UPTkCFRFMs89F1nGSHO++ip4/SZJeOhxlOLBBwzuvw9SGlfT7Lcf8ugTJrNnx74mJWxLe80a+M3vbAKjFlL+3+NIOWUhV40dwNFHu+jYMd7ptCOZbcO5F5gEmxbCplYYKdV8vQmWrUhh1qtuampg7lwX7drFNldSErz+uqJVKy9HHXXgftfMTLj8csXll7spK4PZs10MGhTbnF26wH//46JvXxdt2x54mmbN4NprFdde66GoCObMcTFqVGxzjhwJzz7h4YQToEkTF0uXwnFDTdLGfIkns5KUkxdywcX9WbbYRatWscuVkC1tEacVEwqUUv1DNgDV67MIBUo59QwzoX7J1Y48kx6z+eB9A9NTA4BV5sPKLOZvfzX49FPB64XTToPOnWObSyk4/XSnzzicH8pSU+Hcc6Fp0/rP9lMuF5x3Hgct2D+XkwMXXeTkjSW/31lukyZgmnDaGSZm2m6qvs2laFYvagoaUeUp58wxZkxzJWRLWym44VqDDRvTCQXTeeQTuLxPRzzHQutW8f3lVtOOO1Zx880CtGfCp2BXevndCa3gBKFdO71yHo7cbrj5RoMtWzPZsjmTlz4y+P2ZuTAAOnaIcZbYLi58145zdgIqK+GRh+Hv9xr4/XEOpWlAnz6KPn2c4jzhfudwugfuS8idVi2Kbr7J+YyXLoWXJsfvM9drmqZpWgOii7amaVoDoou2pmlaA6KLtqZpWgNSa9FWSuUrpZb+5FaqlLoxFuE0TdO0/dV69IiIrAGOBlBKuYBCYFY959I0TdMOoK7dIycA34vIhvoIo2mapv26uhbt84Ep9RFE0zRNq52SMM8JV0olAZuBriKy7QDPjwXGAuTk5PSeNm1aVALaNixZAj17HtoIXz9XXl5OSkpK9GZYT3TO6Ip2zkWLnPWyZ8+ozRKAbcXbKKgpiO5M60F+av4R97lXVcGqVc4gVNE0bNiwRSLSp7bp6lK0zwDGiciI2qbNz8+XNWvWhDXf2lRWQiAAFRVE9YzI+fPnM3To0OjNsJ7onNEV7ZxKOWdEVlZGbZYATJwykfFrx0d3pvVg3pB5R9znvnSp8yUd7TGQlFJhFe26tF0vQHeNaJqmxVVYRVsp5QeGAzPrN46maZr2a8IaMEpEKoGses6iaZqm1UKfEalpmtaA6KKtaZrWgOiirWma1oAk7EUQpk2DggIIBp3HkyY518DLy3MukaRp8fLNN/D22/seV1XBgw8696+4wrkOo3b4mTwZtm+HjRudx3s/87Zt4cwzY5cjIYu2CPzhdpPt1RX4W+7CnZnNA6/toHJjJo19Ac45x60vOabFzWuv2/zfnyCj1ya8eSm4U4L89UWbkmXN6dVLGDpUr5yHG9OEm8ZbVLjL8DYuA1rw92nrKf8hi7a5yZx5ZuxKaUJ2jygFr81w46oI4DtqPc3Hfoiv2wZcFQFem+EU7NJSmDPHudR9LFVVwdy5UFMT3vRFRTB/fvQPxK/Njh3w4Yfhvz8bNsCXX9ZvpgNZt845qzCc90cEvv7aORst1pYtg73ni42/xaBPPxvlDdHkoi/IGrUYo8bL76+zdMGuB1VVzra+d687VkzTWW5FhXONyNdmuDDKU/B1c4ZeSuq8CU+Nn5nTYtv2TciiDc4ZRw9OMCh/qx9WuZfyt/py718Nli0Tjj8pROOmFqeNsnj//djmevZZOPUMk0bZFmeOMZk585dnw23eDI8+KvQ5JkTLNhYnDhc2xHiIrT/eaTFipEmjHItLr7SYMwdCof2n+fZbuPfvNp2OCtGpm8nA42J/mftLrggxcIhJkzyT626w+PxzZ+iCvURg8WK49Xablm1Nevc3Oe3M2F79GmDESJMevU3adAzx53ts/vk3N7KmNVXf51D6WQdapWbw8ERXzHMdrsrKYOrUPdtajsXpZ1q8/HJsM7z+Opx2hkV2rsWIU03Wr4fbxhtUvO+MWVD2Vl+efsKgU6fY5gr7NPa6iOZp7OdfZDF1quBxGZimwp0cQnw1uPxBQlsycCkXkQwpcNdd8/nLX4bW+XW7dkGg41Yyh6+k8ttcqlbnUbM1jYxGQrMcFz9sEKoqwZUcguQaDF+Qmk3ZBAJOn3wsc2YMXY0/fwuVa5pSvTqP0C4/jRqB16PYudsiFILkjltI7rwZb7NdbHrwlIj7Yw8lpydnN8ptY1d6odoLtiI3V+H22GzdLtguk+T8zfg7bUa5bbY8PzguOZOaFYNlYFd5kSovSoEZApdH2LDORfPmkWU6kCP1NPbLLhPeeFMoLVG4fCbiq8blD2LuTMOu9pCREdl8I/ncS0vBnVVGzvmfU/VdLlWr8qguzMDltglVefjdNRZPPB69L+pwT2NPyD7tn3ruaRdvv2VTttvZKQhVJEFFEuZO53kbZ4OqK8uK7HUAwZJkXCk1+FrtxKpKIljio7goibJdQijo5LTLvVDu/fE1FRXOLZY5rQov7vQqfK12YFUmEdzdgqJtbhADlCK57Xa8rYvwNi1BGc6Xd8TLOoScoaL0X/ytsABwCYhBoNMOfK2LSMotJViUGrecwc2NDvj3CfcR1YJ9pJo+XXjxRdjbAWBXeqDSg1m8b5pYf+52sR9Xcghfy51YVR6Cu72EdvtplG0y6eH4lM+E7R7Zy++H0hKDqipnd+Wc800CqRaN2pSRnFnDO+84u9B1vfXuHdnrJk0CNy52Tx5G1axBjOnUnjmvJROqcRGsMSgpcX5lHjHSxBewyM7fRVKyxbp1sc151VgLc3Mjdj1/Isa8Y/jt4DZccbGbpIDTR5LXwuLv1zamfXF3tj85nIrZ/XC5JaJlHUrO/oNCpLTZiT89RPvOTtfDqlV7njfdfP+twV2XNyfn214UPTmCqs8606pdKOY5s5uYZOTvwBew6Nk3xEMPCRs3Os/dqK/jdMjWroUrf2vTeMxXJGcEuece4dIrLNIyLTJbVJCcU8Fzz0X22UX6ub/6KvjSg5S9MoTdU4ZwSvOOvD45hepKg51F7oj2nKMh4Vvae/l8MGoUjBrlJhiEDz5IZe77Nn1q3ZmIrlNOgQ0b/Zx1psExx/xyuNj0dLjoIrjoIjcVFTB7diYLF9s0bRrbnJdfqsjNSeO8cw2OOgrmzhVGn2/ibllEcFUeVdnbmPdxLp996GHXLnj99Sw2b7WB2PbL3ny9wQ/fZ3LOOQZt2/7y+bZt4dY/KG79g4eCApg5MwufX2KaEeCuPylcKovRoxVNmui+62iqrISRo0y8/b8huV0RyruQiQ/3Z+kiF889DZ98EuCNN21OOCG2uQYOhKsv93LqKQZDhjg/RiaCBIlRN0lJcPLJcPLJsd9RaN8eJjwQ3nIDARgzBsaMiX3O4wYaHDfQuV9YCGefa+PK3/hj94JqsZXZs3N5ZJLNjTcYXHGFItYFG+DcMeEvMy8Prr9eAbE/QuO6cbpQ15erxpoU7qomtVsV5SubYySHsHKKGDkqm2WL3AwZAkOGxH4batrUORgi0TTIoq3VjccDvfvaWHZLPvnSA0Cnsu5wjOBPtWkAvWTaYaxZc+jTzQu7juaTDzy0bmeS30rIbpQ4rdtEot+SI0DjxjB/rlOsO3d2zuj7+H1PnFNpmmPiffvKkFLw1z+7ufjiOAZKcLqJpWma1oDooq1pmtaA6KKtaZrWgOiirWma1oDooq1pmtaAhHth3wyl1HSl1DdKqdVKqWPqO5imaZr2S+Ee8vcI8I6IjFFKJQH+esykaZqmHUStRVsplQYMBi4HEJEgEOORbTVN0zQIY2hWpdTRwFPAKqAHsAi4QUQqfjbdWGAsQE5OTu9p06bVS+BoKS8vJyWSMV1jLNo5v/4aqqudAXSiaVvxNgpqCqI703qQn5p/RH7u9SXaORctgjZtoNGBB1SMWENYP8dfOD6soVnDKdp9gC+AgSKyQCn1CFAqInce7DXRHE+7vsyfPz+q4wDXl2jn3HtGZC0fe50dqeM/15cjdf1UCv77X6J+RmSDWD//TFhFO5wfIguAAhFZsOfxdKDXoWTTNE3TIlNr0RaRrcAmpVT+nj+dgNNVommapsVYuEePXAe8tOfIkXXAFfUXSdM0TTuYsIq2iCwFYny5AU3TNO3n9BmRmqZpDYgu2pqmaQ2IvgjCEcC2Yd485zC/4j1Xtn7vPeffTp2cy3hpWrysWgWbN+97vHQpNGkCqanQv3/8ciUqXbSPACtWwIknQmbrMipNF+DnwmtLKNmYwiUXK559Sl//UIuf8y8y+W69RUpuFZDBs1PLeOolF6HdPnYVG/h88U6YWBps94gIbN2a+Mu1bdi2rf7yHIxpwo4dzv0ePeDSKyxUSiW5v5lHq9veQnVfS2qK4t6/6IJdH0pKoKoq9sstKgLLCn/67dvrNn20bN267wSvJx93o8SFZ+hiALyDV6AMeOghdME+gAZVtEVgyRK47Q6blm1NmjaFTz+NbYb//Me5SnPno0Lc+3ebb7/95TSWBR99BFePs2jczKR5nuy3+xcLt95hkZsr9DkmxGOPCXf/yUVjsihb2Aaz1EfF3J7Mmu6iSZPY5jqc7dgBzzwjDDo+RHaOcOmVZkyXHwxCi5Y2jXIsLrvSYs4cCIV+Od3GjfDQQ8LRfUM0aSr8/R92THN+9x00zxOa5Jlcd4PzjfGXuwwq3u4HQNVXHThlqJffjW1Q5SlmGkT3yAsvwOQpNl8ttAmJSVKHzfgGbSYl1IM//jGVdu3qPs8hQ+DKK+v+uq++An+LXRQmF/OPpzP5y9/SSEuDY/obtGppsHSFxeLFYASqcbcvJPm0LfDf47j2WhcZGbHL+dbbBt4OW1gbrOGO+zO5aXwq2VlQ8k0ndn/Vmr/9n4vBg+s+X21/338Pd90lfLbAomCTgS+nHHKK8XU2eOetvIg+O4jsc7csqKk2yLp0Hv9b24RZV+YR3OWnew/o3cNFUZHNZwtsduxQJOWWYuSU4Gvj55mnG/PDutjl3L4dPP4QrpO+YPKipjz/SnOoTsKX7DSr00KZPPe0C6Uiy3S4S/ii/cYbwuWXK8DA27yEjMFr8OYVowzYWpjKR4VOq7auunaF55+PNFUmbMr88dGOKvjfG4CyQVwkd9xCyjHfkZRbilJgBV3MmhXZkiLPqWBbs/3+snVPaz8nJYnbb9WtmENVXg75XUysoJu9m1J5YRoUpv04TaTr2KGsn57MSjz91xFst52yhW346vOWfPWFBeJi7851aEMmbHDW4Y1xyZlEUuMyPDllBNtup+TT9uxclwvK4tUpbvx68OeDSugtd/16uPgyZ9fNn2pxzbkZpC7tw46nRlD+XndSm1TyzjtOt0ldb717R/a6SZMg0LqY7B5b8QUsevQJ8eBDwsaNYFsGCxbA1afnoj44hl3Pn0jZh11ITjVZty62Oa8aa+HvuIXsLjvw+i0GHR/i6aeFoiLYttmtWzGHSAQuvtzE23Y73pwyzrvAZvhIE1/AIjt/F4GuBQwfGYros4v0c6+uBsMQSj/Jp+TF4wm+OZCLBjbnww/BDLnYuhX+/W9hwKAQXr9FdrciktttY/ytdkxzLl8Ogcwg5fO7UfzMcDyf9Of6c3NYvBhsy8WAAfH+dBNbwra0a2rg1DNMPD2/hXmd8fVZy5z3O7ByiYeCApg+vTlvz7HJz699XtHUrx/0bpvKeWe7GT1a0aSJ6xfP9+tnMPEBg+XL3Uyd1oqvMmyys2Ob88QTYOOmbC65wMPpp0NGhv7BMZomPWozf0E1Wecuw6708uaUQbzzpoee02D27Ez++3Iqw46P7Tej2w2nnG7RoV1bzp9o0LcvGD9pluXmwtVXK66+2sPOnfD669lMnmoyZHBsczZrBv36GBx3bAvOf86gS5eYLr7BS9iiffU4i4KyMlIGbHGKdoctFKxvwjXXpvHc0y5uu83gtttiv6PQvz98+L6n1umUco7a6NHDIB47NOef6+L8c3Whrg9ffAG33S5knLkCu9ILSvAOWM2os7qyeqWLMWNgzJjYb1ouF7z5WnjLzcqCK69UXHll7etytGVlwQdzErb0JLyEfOdEYPlKwV2RStUs59eyqlmDcStYtkIQQe/ea3Hz1SKbQKoQer8v27Y7m1CjxiaGC777TsjN1SunVn8SsmgrBYu+cKJVVkIgAAXr9Y8TWmK4bpzBdeOcvSelIDkZdm5LyE1JOwwl9A+RmqZp2v500dY0TWtAdNHWNE1rQHTR1jRNa0B00dY0TWtAwvrJWym1HigDLMAM5zLvmqZpWvTV5TilYSKyo96SaJqmabXS3SOapmkNiJK9I5H/2kRK/QDsAgR4UkSeOsA0Y4GxADk5Ob2nTZsWlYC27Yyh3bPn/uMoHKptxdsoqCmI3gzrSX5qPikpKfGOUavy8vIjMueiRc562bNn1GYJHLnvZ31pCNv7+AvHLwqn6zncot1MRDYrpRoDc4HrROSgA6Lm5+fLmjVr6hT4YPaeEVlRQVTPiJw4ZSLj146P3gzrybwh8xg6dGi8Y9Rq/vz5R2TOvWdEVlZGbZbAkft+1pcGsb3/mbCKdlhtVxHZvOff7cAsoN+hpdM0TdMiUWvRVkoFlFKpe+8DI4CV9R1M0zRN+6Vwjh7JBWYpZ1g9N/CyiLxTr6k0TdO0A6q1aIvIOqBHDLJomqZptdCH/GmapjUgumhrmqY1IAk7cvvu3c51IvceSrV9u3PIn9cL6enxzaYd2YJBKCnZ99i2nfUTIDs7uucTaNrPJeTqJQKduljktbLo2sMEoGsPk7xWFp26WoRxaLmm1Zu//9OmaVOhTQdn3aypgTYdTHJzYc4cvXJq9Sshi7ZScMvNCn9OFdm/nUur294i+7dz8edUMf5mpa8PWU/i8WUYyTLjnfPKyw1SM2xST/sKgKTc3ST3W0OnbiZDhzaslTNeDSDd8IpcQhZtgFtuNhjU20fF/G4AVMw/isF9fNx8U8JGbpA2bYKHHxaO7huifScz5su/7CqTlm1Nbr/DZsmSg2/Mq1fDPX+x6dAlxPCRodiGBI4ZZNL5qBD/+IdNMAivvGRQPrs3AHbIRWhRJ95+w43PF/NodWaa8MEH8JuxFlm5Jk8+Zcd0+QUFkJNrcfxJJi+8IOzaFdPFN3gJ26etFLz0gpuuPZqyfZaL7FBjXprn1q3sKFi9GmbMsHlpqsX69Qp/++0Yrbawc3Evyssjm6dtE9FrV68Rylp9x9Mfevn3c81J9rg4d4zBOWcbeL0wfYbNK6/aFJfYJLXbAnmlVK/pFPOc330H9P6aiTOzuPf+JjRuDD26uvjsE7B3+5k8S9GmTWSZYqG6GubOhZemmrz1psKTXoW0KiTU1Mfq1S1i+n4WFkLICLE86RvGP9Cc3/2+Eb362Fx8npuzzlI0bRpZliNFwhZtgLQ0mPBPN+ef34wHXoHU1HgnavguuMDmlVcMnJ0sZ6+lemkzWNoMiPw9njABTjghkld6yD69ikD/dcig1ZQva8Fj/+7Mo4/s3aPal7NiYSvAGbks9jndNGtRjOeoQgJDV1D8RTt++KwDIPTvD6efntitiREjbD7+2ODHTX53CmzMB+CR5fDIw5HNN/L300erroXQtRBvmZelc7rx+bgmjBsngOLsc01GnOBmwADo2hVcrsjyHY4Sumjv3g03/8EE3Nxyq8nJJ7v1kSOH4JNPYMbrNkktiunWJAPTFtasNkhpXwStNlP8Vk/MUGTF56OPwLLq/rpjBodYu9tP+fxu1HzXlIxUg9/cZHDySXDCCIu0gWuxKpKo2ZhNaGcKhi+IP8nF7h1JMc3ZuJlJ9YZsar7KovK7XFq1FP7wVzhnjKJjx8Qu2ADvv2/w0Ufw0hSLmbNAJdeg2hQQ3O3j6pPyuP++yLodI3k/V6yAwSOqKV+eh1qfR9mGDI49Trjkj8KCL4Unn1DMmOZm9ieleOwkqncn0bW7xT/vdTH8BN09mrBFWwTOu9CkuvFm2NSSquwtXHBxU956Q3eRRGLbNjjzbIvMUxfjbVHMd1OG8ODffIwcqZg5M5cXX84iu5OFYUS+SkRyqFvXLoodH7XjovNdnHeOQZcu/Pj53vUnxaQZGWSMXAxA1Q/Z7Hi9F4HMQzusLpLXdu4Mu7d35tIL3Yw5W9G6deTLjwePx2kRn3CCi2eegs8+8zNlajtenSHk58f2/czOhmS3h56urlx6p5tTT3X2qgHOP18xdbpFddoOKtflApDWrZA1q5pgm3rDhwQu2v+83+aLlVWkjV5F8aKWBAZ/zWczM7h/QoDb/qC/bevCNOGMs03ouJ7kdkUABE79khtuGUjv3m7GjVOMG+eJyy/6zz558C/hW242eOiRxtQUZlC5sgWlS1sC8O6bMQy4x0cfHD6NBcOA446D445z8dgkYv7/at4cthS4Drjc5GS45y7FPY+7CYxaxM43elO6sjn5+cJJJx0mH8AhSsjqJwKTHhUqtgbY/tRwALY/NZyKrQEefkT04UJ1tGoVLPjUTfniNmy471Q23Hcqu145jqpyF/96Yt++bTyK0q8tMzUVbr9Nse3lYzm9e3NmzHD+fvTR0LdvbFeCw6Vg/1y8/l+/ttzfjTVw787A/vxopk8XevcR1qxxDvV9//3YZUxUCdnSVgq+/cZFKOScEZmXB9+vdeH3O7t5h+sGVF+6d4fiYgAX/fo5R0Js3uT8suP3J/YvPH+4xeC8c6BtWyenCPTsJSxc6GzE8+ZBAxiDX6sDrxdWLnPh8UBGBpx9NixfDj16wIknQouWwvof1BF75mnC/rdTUiAz07nBvvsN4MpGCWnv++d27//Y641vrtq43dC27f5/W7JYsWSJc3/YMGjTRrBje6ixVs9ycpyCvVf37s4X9qmnwqaNCpcLpkyJX754StiirWm/5uijnY345JNh/XpnI47SZUm1BPbmm7Bhg3P/wgshPV0wY39OWFzpoq01aLNnw/r1zv3zzoPMTN3qPty1bOl8YV91FZSWKjweeDjC48wbIl20tQavVStnI778cigpcVrdjz4a71RafXvmGdi1C5QSbroJPB6J+gWWE5Eu2tph4/nnYedOAOH66yHJK1RXxzuVVp8yMsC2FXfeCaapCATg1lvjnap+hV20lVIupdQSpVQcjpLVtPA0agQiijvugFBQkZwMd9wR71RaffvLX6CqCrxe4YEHnNb3jh3xTlU/6tLSvgFYXV9BNC2a/v53ZyNOShL++U9nI3YOe9QOVz4fVFcr/vUvAEVODlx8cbxTRV9YRVsplQecCjxTv3E0LXp8PqipUUyaBKDIytr3o6V2+Pr9753xULKyhJde2nNehxnZWDWJSEkYpxcqpaYD/wBSgfEictoBphkLjMvvdpcAACAASURBVAXIycnpPS1Kx1/ZNixZAj17RvcyTtuKt1FQUxC9GdaT/NR8UqJ4cPrXXzvDdPbuHbVZAg3g/RRg69HkNa+ioCCFo46CpATejsvLy6P6udeXRM9ZUgLffw95eeWUlqbQoUO8Ex3csGHDFolIn9qmq7VoK6VOA0aKyO+VUkM5SNH+qfz8fFmzZk1d8h5UZSUEAlBR4VwjMlomTpnI+LXjozfDejJvyDyGRvGUv86d4Ztvon/lkIbyfs7sPo/Ro4cCcNJJ8M478c1zMPPnz4/q515fGkJO24bHH5/PddcNBeCrr6BPraUx9pRSYRXtcNquA4FRSqn1wCvA8UqpyYeYT9PiIjPT2XVu3UZ4911n13nv2ZXa4ckwoFs3+Phj53HfvtC9e8MdwKjWoi0id4hInoi0Bs4HPhCRw7B7XztSGAb8sE4xb57zuFcv6Nmz4W7EWniOO87Zw+w/QFixwhm7ZvbseKeqO32ctnbEGjrU2Yj79hWWLnU24rlz451Kq29ffK5YudK5P3IkNGvesM6irVPRFpH5tfVna1pD8+WXihUrnPsjRjijyDWkjViru65dnS/sM8+ELZuds2hffDHeqcKjW9qahtPnKQKjRkHBJmcjfumleKfS6tusWc6FhgEuuwxSUhN/ACpdtDXtJ15/HTZtcu5ffDGkHYGjyB1pmjVzvrCvuQYqyp0BqO6/P96pDk4XbU37mbw8ZyMeOxbK9owiN3Hi/tPoQn74efxx52LihiHcdhu43UJ5+b7nbZuE6DZLyKItAj16m2RkWTTNcy6H1TTPIiPLokdvU19urI6+/RYa5Tjv3zffOH/LyHIe33pHBJcmP0I8+eS+UeTGj3dGkSspgbv+bBNIsZk1S6+Ih5u0NLAsxV/+4vybmgo33QSrV0Ovfibt8s24f2EnZNFWCvr3U0h6KakXzqP5798j9YJ5SHopA/orfbmxOmrWDNIzBKPbdwS6OGct+kd9Rk1QGDY4IVeBhLF3FLm773ZGkcvMhIeeriBl6Epuuc3C0t95h6U774SaGvD5hIcfhi5doCDrG0op5z//ie+XdcJusY894qJVRirVq/Jwp9ZQvboFrTNTefThxL6mYSIKBGD2/9yElrXHNp33r/rjo7jpBoNTTtHfgLURgZJSi+S0EEagmvLNqRS/15VdNZVMnbr/BlxaCi+/DCefZjLhodhWdMuCk041ueZai48/5le/ULZtgyeeEAYODfH6G7EtQjt2wKBhJrffYbN06a+fnbt+PTwwQRgwyGTx4phFBPacLesx8TUppemVH5LScwOe/qv4v7stgsHYZvmphC3aSUnw5mtuQss6sPvzdpjL2vPma+6EHi8ikXXqBE8/YRDamANA1xYp/PWehP34E4pS8OnnglnjIiPbIrXTVrBclGxMY9z1Ntu2wXPPCUOHh2jc1OKGe3fyycYtzHkvth2gpgnvveNi2vLvOePCSrJzLa74jcV77znPFRbCpElC7/4hWrezuPOJ7SzZvJNPPo1t0d6yBZYst3n6w/UMOamGZi1NbrrFZsECp4CvWQN//ZtNfrcQXXuY3P9KIas2lbNsWUxj8tnnNjU1iuCuZIrndqPk0/ZIyMUuq4KHHo5fazusAaPqKppjj7z4onDZZc4xlJdcEr1WYUMZKyPaY48MGmzz6SeK7dsV2dlRm+0R8X5WVcHixfDFF8J7H5q8/66LUNAABOU1yRy6mkDnLRhek9JFrdj1XreIc06YMJ/x4yPL+WtcqVVkHr8Kf/vtKLdN0axeVK5tGvH86iunJ6eUzONX4WtZjDKEjQ+ehITcEc8v6jmVzY4ig6ysKM4yzLFHIn8XYiAUgkceswA3Dz9mcsEF7h+vJq5F5uOPDCorozv41pEiORkGDoSBAxW33OIBYOFCeOIJ+HQBfD+/K/YPzXB1KEC5bTKzbC65KLK9mcaN4frr6/Ya03SOgMgc9jXBLZlQ1Ai7Ook+faBvb4OiIuHjL9wUzjka8/vteDoU4s6qoEMHibibLJKcW7fC62+Z+Hp9h7ktA3tbI9zKxbEDFD26G3y/zuaTL5Ipeas3wQ5bSeqwmbR2xXRt1DjigZ4iybliBXz5TTnuNlswt2ZibssgJaCoroIqVcXoc33Mm+uO6uij4UjoEnjLrRbrdu8Gsli3aze33JrBIw/qPu1DpQt29PTpA888owAPJSXwv/9l88LL6Xz0gYuzxtg88khkW/T8+XDJJXV7TTAIz//HhpX5XHi24sLzXAwaBK4fNxkn55YtMHNmE158OZuFC9zc+lfh//4YWdGOJOf338P0GS6yNrbnwvMMzj/XoFcvfnKAgQEYfPcdTJ/enBenNGH1Nx5umQGjR0cUM6Kcc+bASSel0LFRay6+wsW55xj8836L1xfsIOuURayYOZC770mNeTdjwhbtmTOF5yebpJ+3mJK1wwkMX8xzLw5m6CCDs87SP55piScjwykMl1zioawMkpJiuzEnJUHBJoOMDONXW39Nm8K4cYpx4zwUF0NGRmy3p3btYNtWRVaW+1ePBGvfHm6/3eD22w127CCq3XnhGDECioogO9vZq3rhBWHGW0EyLliKcgn+U77ioUcHc9yxHk46KXbvYUL+EiUC11xrIyLUvNsfgJo5/RGEq8fZ+jhtLeGlpoLXG/vlNmpUt4uF1HX6aMnOpk6H7sa6YP98uaYJ190giK2ofOMYNtx3KsE5/RCE318X26OEErKlrRS8966L4mIX1dU+Tj4ZJj+Whs/nrGT6OG1N02LJ7YaP5hvs3u1j7VofY8fCq0+nAU5/eUyzxHZx4TvqKOffykrn30GDdF+spmnxc/TRzr/p6c6/Q4bEJ0dCdo9omqZpB6aLtqZpWgOii7amaVoDoou2pmlaA1Jr0VZK+ZRSXyqllimlvlZK3ROLYJqmadovhXP0SA1wvIiUK6U8wCdKqdki8kU9Z9M0TdN+ptaiLc6IUnuv3+DZc9Ont2iapsVBWKP8KaVcwCKgPfAvEbntANOMBcYC5OTk9J42bVpUAto2LFkCPXtG98ytbcXbKKgpiN4M60meN0/njKL81HxSUlLiHaNW5eXlOmcURTNnVRWsWgW9e0dldj8aNmxYWKP81WloVqVUBjALuE5EVh5sumgOzVpZ6QziX1ER3ZNrGspQohM6TtA5oyjaQ93Wl/nz5+ucURTNnEuXOo3IaA+nEe7QrHVqu4pICTAfODnCXJqmadohCOfokZw9LWyUUsnAicA39R1M0zRN+6Vwjh5pCrywp1/bAKaJyJv1G0vTNE07kHCOHlkO9IxBFk3TNK0W+oxITdO0BkQXbU3TtAZEF21N07QGJGEvgnDR5SG+XweWBeBhyPAQLhe0awsv/ccT73iaph1BRGDMBSEKN0PpbgAPAwaHADiqm+Lpx2NXShOyaIvA5kLFig2lpAz4luxRHjb6QpR/0YGALw0RfckxTdNix7Zh00bFqu278HXZBMt78UPTxZR/2onc7EBMsyRk94hSMGOqm1QrDTvoJtB5C3aN8/jVV379Cs6aFk8isHIl3Hm3zczXYnvBV9uGO/5k8eyzws6dtU/7+edw4y02X34Z26GEysvhxpstpk1z7v+aUAjmzoVrr7dYvz4m8X60ebOz3NmznT3+N2a68ZY2AnEKkFXuI9sbYPILsW37JmRLG5wL+L75mpuhJ/ZAuWyq5vfgw/fdNGoU72Satj8RWLwYXplmM2WaTWm5jZ1SxrEL0xh9pitmOUIhuO8fBlldixh3fRZH97S59EI3o0crmjRxCs/HH8PLUy1mzBRsd4hqavC40+jXL3YtoR9+gCefsXlp9m7Krkhn8BCbSy/0cPrpzvUXa2qcQj35FZO33lQkZVZRVano3TPAFVfELCaffQbPTwnyylshqooCnHyKcPMNbu69rxsA1Z925cNP3aSmxi4TJHDRBujTB/58p8EfxvdhwkSJ+gAtmnaonnjC5ppr9u6wGvy487oji7nrI+/GmzABhg2L5JWKwMivSA4ZrFvXmPET8xg3rjGG28I2927ue79I3EAyE+6HCffHOqeH3DM+x1ftZvG3uXx4WyuCl2bg8dqEqn+aD9jtDPR05ZXOLaY5XUnkXPUBvjIv879twhsPtsYsdwZBeuIxF127RpbnUCR00RaBzxcIYPD5Alv3ZWsJp18/gzZthYICQZSg/NUYKdXYQTehbek0bhzZfN1u6vxaESgqAjENqjdkU722KcHCLFIbmbRq7qK42GbbNoXhscBfhRGowSpNxiwJxDRndTWUlgp2jZvqdY2pWdsMqyiNzByTti3cbCyw2blD4fKZkFyFK6UGsygdapIi3tOOJGdJCajMCqyKJKq+b0z1muZIWTI5TSxOOsHg4ovjU4wSumj/+wmb9z6tBgLM+biGJ570cc3VCdkNrx2hevWCdd8rbFvx5ZcwZVoyU6d52VWqOPl0k9lvRLaJzZ8P27bV7TU1NZCcLGx/YgSdu9pcNtbpGmnRYt80oRDMn+/mpVf8vPaan8oa4dbbbe77R2TbVSQ5v/4aehwtbH/qRPofY3PZHW7OOEORlbW3ha2orIR33/Xw3ymKd2cHUBY8/QxcdllEMSPKOXMmnH9hgJ3PH8+Jw4VLJrg55RRISYldl9eBJGzRXrgQbr3DJm3MQkqfHULKyK8Yf9tA+vYx6FPr4IWaFluGAQMGwIABBg9PNFiyBJo0iW0GrxcWLFC0bOkiN/fAhcXjgeHDYfhwF9ZTzo+RPXrENmeXLjDvA4Pu3SE9/cA5/X446yw46yw3NTVO//Jxx8U25xlnwLuzXQwYAMnJsV32r0nIoi0CZ51jYvsrqVnWBoCaZW2w/ZWcdY6fjev0ESRa4lLKaYHHQ9++4U/rcsW+EILz/gwaFP70Xm+k/eaHxuWKz3Jrk5BFWyl4ZKKbwsI0gsE0xi+EP57fkqQkaN5c92trmnbkSsiiDTB6tPNvZSWMHw/XXBPdK9domqY1RPpXPU3TtAZEF21N07QGRBdtTdO0BkQXbU3TtAYknAv7tlBKzVNKrVZKfa2UuiEWwTRN07RfCufoERO4RUQWK6VSgUVKqbkisqqes2mapmk/U2tLW0S2iMjiPffLgNVA8/oOpmmapv2SEgl/LF2lVGvgI6CbiJT+7LmxwFiAnJyc3tOmTYtKQNuGJUugZ0/nVOFoKS8vJyUlJXozrCc6Z3TpnNGlc0bPsGHDFolI7YN0iEhYNyAFWASMrm3ajh07SrRUVIiA8280zZs3L7ozrCc6Z3TpnNGlc0YPsFDCqMVhtV2VUh5gBvCSiMyM/LtE0zRNOxThHD2igGeB1SLyYP1H0jRN0w4mnJb2QOAS4Hil1NI9t5H1nEvTNE07gFoP+RORTwA9rp6maVoC0GdEapqmNSC6aGuapjUgumhrmqY1IAl7EYQHH7bZsMG5ECkYjL/VxuOBVq3g5hv1d42maUemhCzaIvDUMzbrd5WR3HEr/i5pTPm6lKq1TWidmcpNNxj6kmOaph2RErLJqhS8+ZqbpMo0fC12knP6UnwtikmqTOPN15yL+q5fD//5j1BdHdtsxcXOcrdvr31aEVi5El5+WbDt+s/2U+vWCVOmQGlp7dPaNnzxBbz+evhDGkTLwoXC//5HWJ9jKARz58KHH8Y+53vvCfPmgWnWPm1lJcyaBStWxDanCMyYISxc6Nyvza5dMHkybNoU25ymCf/9r/DNN+FNv2ULPP+8sHt3/eb6uYoKZ7mbNsV2ubUK57TJut6idRr7jBm2pGRVS7PfzJOUrGp57DFb/vo3S/K7BiU5LSTeQEjeeSeyeUd6WuukSSLe9GrxBUzp1T8okybZUlCw73nbFlm4UGT8rZY0bx2SlKwacSdZsm5dbHNeNdYUX6Mq8fpNGTo8JM89Z8vOnfueN02R+fNFxl5jSqPGIUlvUikutx1ZyEPI2X9QUAI5lZKcYsqo0SGZPl2kvHzf89XVIv/7n8h5F4UkJd2U1NxKadU+GPOc2U1CkppbKWmZplxyuSnvvCMS/EmM0lKRKVNETjk9JL6AKf7sShk+MrY5q6tFlLIlPbdKcpqGZNx1pnzyiYhl7Ztm+3aRJ5+0ZeCQoHj9pngzqmT8rdbBZ1oPOZcvF/H4TAlk1kir9iH54/9ZsmyZs+3stX69yISJtnTvHRRfwBRfWo0891zEMSPK+eqrIt7UoCSnhqRLj6D885+WfP995BlqQ5insSd00RYRufZ6U1CWoGwBW5TLEuUJiUoKCtjitCnqfpswYV7Er/W1KpKWt7wtOaO/FH/+ZlGekLh8QWmca4lStqB+njOy5RxqzvSBa6TFje9I1mmLxdd6uyi3KR5/UDIyLee9U7Yolxn3nDlnfyl5186RRictF2+zYlEuU5JTQhII7PnMjT05k0KiPKG45Wx+9fvS7HfvS8aQVeLJLhXlNiU1PSRJ3r05LVFuU1RSUJTbjFvOlre+KU2v/FDSjlkr7vQKMTymNMoxxeX+ZU4MK645m1z8iaT2Wicuf7UYSSFp0tQSw/hpzj3rpop8Wz+UnO60Cmk5/i1pfO4XEui2SYykoBjeoPTpY+33JRMN4RbthOwe+akHJ7ho0UJAFKAQy0BCbiToIV7n/IhpgGFjeE0MXxAMG8uCqmpBRIH8PGd8iG2gXHtzhkAJodDeroi9OV1xz4mtUG4bI8lEeUMIUBMSamqcnGLvyRl0I6H4/QwjAkaSheELYSSFEIGaoBAM7s1pIKYLCXoQ0xW3nEqBkeR85irJxLahutrGMtUvcmLHtwSovTk9FmIrqmpsbPunOfesmxKfbd02XWCI8356Q+C2sS3FwoUGEybGuM9zr3Aqe11v0Wxp72XbIl99JXLLeEuatgxJak61+FKDceke8WVWij89KB26BOWev1iyevW+50MhkQ8+EPnNWFMys03JaF4hHm98ukeSc8rFFzClZ7+gPPywLRs37nu+qkrkjTdEzr0gJIE0Uxq1Lo1b90hKszLx+k0ZfHxQnnnGlh079j2/e7fISy+JnHSq0+2QllcqrdrFp3sko2WpJAdMOe3MkEybJlJWtu/5bdtEnnjClmMGO90OgSZlceseadSqTFIzTLnwkpC8/bZITc2+adatE7n/AVu69QyKLyUkvuzyuHSPJCWbkt60UrJzQ3LNtaZ8/LHTZSfibOsrVoj86U5L2nQMSiAjKL6Mqrh0j/jSqyWlUY20bBuS2++w5IEHbEnOrBYQCaSH5OOPI8/0cxwu3SMHYtsiy5aJPPywLaWlkc0j0o1382aRRx6xw+rbsiyRTz8V+de/bAmFIlpcxDlXrLDl3/+2ZcuW2qcNBkXefVfkhRdiX7TnzbNl8mSRkpLapy0vF5k+XeSNN2Kfc/p0W157TaSysvZpd+4Uef55Wz77LLY5bVvkmWdsef99CWt9KygQeewxW9aujW3OmhqRRx+1ZcECCauLYc0aZ1svKqp7vr0iyblrl8hDD9ny9dfO47VrRVIzTMkZ84WASOMxCySrsSlbt0ae66fCLdoJechfbZSC7t2he/fY7zI1bQrXXx/ecg0Djj0Wjj029jm7dVN06xbetB4PjBgB8ehuGjo0/GUGAnD22RCPnGefHf4yGzWCyy+PfUal4Kqrwl9u8+YwblzscyYlwbXXhr/cjh2hY8fY58zIgBtvdJZrmnDK6SZmRgmhHanO38p8VLrKGX1ugE8/jF0pbZBFW9M0LZbcbhh9lqJwcwY7ijKZA5yc2wWGQ5fOsf1C0UVb0zQtDPf/w/lxeelSmDMbXnohPuUz4Y8e0TRN0/bRRVvTNK0B0UVb0zStAdFFW9M0rQEJ58K+zymltiulVsYikKZpmnZw4bS0/wOcXM85NE3TtDDUWrRF5COgOAZZNE3TtFroPm1N07QGRDmnvNcykVKtgTdF5KAnRiulxgJjAXKys3tPu/32KEWsH+X5+aSkpMQ7Rq3Ky8t1zijSOaPrSMxZVQWrVkHv3lGZ3Y+GDRu2SET61DphOAOUAK2BleFMKyJ0zMuLfODbGN0iHTgo1nTO6NI5o+tIzLlkyZ6h9qKMw2U8bU3TNG2fcA75mwJ8DuQrpQqUUlfVfyxN0zTtQGod8URELohFEE3TNK12untE0zStAdFFW9M0rQHRRVvTNK0B0RdB0DRNC8Pbb8OOHfDDD87jF190/m3ZEoYOjV0OXbQ1TdNqYZpw8aUWQW8lyTkVoHIZ/8hWyjelkZflZe3q2JVS3T1SR6YJS5aAbYc3fWUlrIzD+IgVFfD1186ZROHYtQvWrq3fTAeyfTusXx/+9Fu2wKZN9RbnoNavd7KG67vvoDgOI/Z88w2UloY3rQgsXw7V1fWb6UDqslzLgsWLw9/mokXEWa5pOteIfOm/BlR58R63kla3vo2n1xpUjZcpk2Pb9tVFu46eeQb69rPJaWryu99bfPihs1L9VFkZvPIKjBxlktXYosfREvNC84fbLLofbdOircmtt9ssXvzLAl5UBE8/LRw3LETT5jbde8R4qwDOuTBE+442nY4K8bd77QN+cWzYABMfFHr0CdGytc0JJ5kxzzlwiEleS5s+x4R49FGhsPCX06xaBX++x6ZdpxCduthcdlVscwaD0LWb0LipxbARJs8/L7/44hCBBQvgpltsmrU06dnb5q9/C/ObPUpWr4aevYRGORZnnG0yY4bTyPgp04T334erfmuRnWvRr7/Nyy/HNCZvvAH9+ttkNba49AoLw1Bce7Wb8rf7YNe4KX+7HxPuM6J+Onttwhp7pK7yW7SQNQUFUZvf/ziNd6I8Omz/F7qyYMHQOr/uzTehLGMzyX2/pfrbJsgPeVjlPs46C6rKXXz2pcmWzYrk5rtJyi/A32ErBY+OoG1b8PvrnvOaa+bz73/XPefXXwtJzXbhClRj7Q5glwZwK4P27RXp6bB2ncnOIgN/m5148wvwtd5BwaQRdDvo6DL1k3PlSkhutw2UYJcGsEr8JCdDh/YGbrfw7Q8WZaUKf4dt+PILMQI1bH1hUFxy+jsXYtd4oDRAaHcy6elCx/YG1TXC9+ttakI2yflb8OVvxir3suONXjHNadvOF0dK942EdiejylII7vaS01jI72Cwc5fNuh8E8YTwdirEn7+FyrVNqPyqPfn5kV1RPJKcpaWwqcDG36UQc7cfVRYgVJ5Es+bQqaPB+gKTDesV7rQqZxvK30LpB91w78whLy+imBHl3LIFyoI1uFsUYe32Q2kKVrUbl1sIicWYs1y88pILFaWLsSulwhp7pEH0aT/CDbzPiVGdZ9ui+Tz+eGSv9VWnkpZdjuHfSGVyDfaydkx+MRnlDmFWe/C12U5yrw0kt96Bcjut13XrIltWVVWk3SuKmsJG+/0lBKxYDhgm2G4CXQvxd9+EN68YxFnzIu3KiTwnVH2fu9/jsiAsXgQYNuAitdd6/F0LScotJbgtLW45K1c33+9x8Q74YoeTU7mFtH4/EOi8BU+jCsoWt4pbzvLlLfd7vG2Lc0MpXP4Qab3X4e+4BXdqDbsXtCUUUnHIaVCxssV+f9m0AQoLBNty4W5UTnKvdSR32IYrOUTl5jTsKigpiXVOL8FV+39TmCFI9iuef8aIWsGuk3AGKKnr7XAeMGrSJJHkZiWS1aFEkgOmnHpGSKZOFSkrc57fsEHkwYdsObpvUHwBU7K6bxFvICTr1kW0uIhzXjXWlOTWRdKoVZmkpJtywcUheestkepq5/lVq0T+fI8l7TsHxZ8elEa9NonLbUcW8hBy9h8UlEDHLZLetFKyc0Ny9ThTPvpIxDRFbFvkyy9Fbh5vSdOWIUnNqZa0rpulVbtgzHNmNwlJ+lGFktKoRlq0Ccltt1uyeLGTMRQSef99kat+a0pmtikZzSvE336rDB8Z25zV1SLKsCWrV6Ekp4ak81FBuffvlqxd6zxfWSny+usiY84PSSDVlEZtSsXbYoeMv9WKac7ly0WS04KSfdRW8QVM6XNMUB591JbCQuf5khKRyZNFRowMic9vSVbHYvE3LZXnnos4ZkQ5X31VJJBbLtmddorXb8qwESF5/nlbiosjz/FrCHPAqAbR0k4kw4bB6IUBzhntZsQISE7e//mWLeGmGxU33ehh61aYNSuXLxdZ5OYeeH71ZcxohUgmF57nYsgQ54eUn+rcGe6+y+DuuwzWrYNXX21G4WCLWO98XXGpwTffNOaCcw369uUXLZe+faFvX4MJ9xusWOFm6rRcAqmx7YMFuOZqUDThvHMMunTZ/zm3G44/Ho4/3sVTT8Dnn/uZMtXLgAGxbYZ5PDD2aouO7Zsy5mxFy/0b3CQnw6hRMGqUm2AQ5s1L5eVpFqefGtucLVvCmLMVg45pzJlnKnJyXPs9n54OF10EF13kpqICZs/OZObrJgMHxjQmffvCqOFeRp0a4NT/b+9uQqWq4zCOf5/U8CXDoAjLwIIIpEWFaCVIZUVRVEuFWrSpRUUvi6g20T6iTQSillEppgUR0gtUVIvetKJMC7O3m5ZGlBmRWU+LOcJNz3iPda7/c+T5wHBn4H+Zh2Hmx5nfOb//XAXTpx/Z5x+qSWU/3NvRfKR9pCVnu5KzXcnZHrI1a0TE0SdFOyKiR1K0IyJ6JEU7IqJHUrQjInokRTsiokdStCMieqRR0ZZ0haTPJG2VdM94h4qIiHpNfo19AvAIcCUwB1giac6h/ysiIsZDkyPtecBW29ts7wVWA9eOb6yIiKjTZKOJU4HRu0GPAPMPXCTpJuCm6uEfggJb/x+Giy8+EfixdIwGkrNdydmu5GzPWU0WNSnadbvJHLRjj+2lwFIASe+7wb6wJfUhIyRn25KzXcnZHknvN1nXpD0yAoze+HYWsP2/hIqIiP+nSdF+DzhT0umSjgUWA8+Pb6yIiKgzZnvE9j5JtwIvAROAFbY3jfFvS9sIN876kBGSs23J2a7kbE+jjOPyG5ERETE+MhEZqNFa3QAAA1pJREFUEdEjKdoRET3SatHuw7i7pBWSdkrq9HXkkk6T9JqkzZI2Sbq9dKY6kiZLelfSR1XOB0pnGkbSBEkfSHqhdJZhJH0l6WNJHza9BKwESTMkrZW0pXqPXlA604EknVW9jvtvuyXdUTpXHUl3Vp+fTyStkjR56Nq2etrVuPvnwGUMLhN8D1hi+9NWnqAlkhYCe4AnbJ9dOs8wkmYCM21vlDQd2ABc18HXU8A023skTQLeAm63/XbhaAeRdBcwFzje9tWl89SR9BUw13anB0EkrQTetL2suqpsqu2fS+capqpP3wHzbX9dOs9okk5l8LmZY/t3SWuA9bYfr1vf5pF2L8bdbb8B/FQ6x1hs77C9sbr/K7CZwXRqp1S/SbqnejipunXu7LakWcBVwLLSWfpO0vHAQmA5gO29XS7YlUXAF10r2KNMBKZImghM5RCzMG0W7bpx984VmT6SNBs4F3inbJJ6VdvhQ2An8IrtLuZ8GLgb+Lt0kDEYeFnShmpriC46A9gFPFa1m5ZJmlY61BgWA6tKh6hj+zvgQeAbYAfwi+2Xh61vs2g3GnePwyPpOGAdcIft3aXz1LH9l+1zGEzLzpPUqbaTpKuBnbY3lM7SwALb5zHYVfOWqp3XNROB84BHbZ8L/AZ08hwWQNW+uQZ4pnSWOpJOYNCVOB04BZgm6fph69ss2hl3b1nVI14HPGX72dJ5xlJ9RX4duKJwlAMtAK6p+sWrgUskPVk2Uj3b26u/O4HnGLQdu2YEGBn1jWotgyLeVVcCG23/UDrIEJcCX9reZftP4FngwmGL2yzaGXdvUXWCbzmw2fZDpfMMI+kkSTOq+1MYvAG3lE31b7bvtT3L9mwG78tXbQ89kilF0rTqpDNVu+FyOrhbpu3vgW8l7d+VbhHQqRPkB1hCR1sjlW+A8yVNrT73ixicw6rVZJe/Rv7juPsRJ2kVcBFwoqQR4H7by8umqrUAuAH4uOoXA9xne33BTHVmAiurs/PHAGtsd/aSuo47GXhu8LllIvC07RfLRhrqNuCp6gBtG3Bj4Ty1JE1lcEXbzaWzDGP7HUlrgY3APuADDjHSnjH2iIgeyURkRESPpGhHRPRIinZERI+kaEdE9EiKdkREj6RoR0T0SIp2RESP/APt8FIWk55JywAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"class Solution(object):\n",
" def numIslands(self, grid):\n",
" \"\"\"\n",
" :type grid: List[List[str]]\n",
" :rtype: int\n",
" \"\"\"\n",
" m = len(grid)\n",
" n = len(grid[0])\n",
" road = []\n",
" mark = [[0] * n for i in range(m)]\n",
" for i in range(m):\n",
" for j in range(n):\n",
" if mark[i][j] == 0 and grid[i][j] == 0:\n",
" self.dfs(mark, grid, road, i, j)\n",
" return road\n",
"\n",
" # 深度优先搜索:时间优于宽度优先搜索\n",
" def dfs(self, mark, grid, road, x, y):\n",
" mark[x][y] = 1\n",
"# road.append([x, y])\n",
" dx = [-1, 1, 0, 0, -1, -1, 1, 1] # 方向数组\n",
" dy = [0, 0, 1, -1, 1, -1, -1, 1]\n",
" m = len(grid)\n",
" n = len(grid[0])\n",
" p = 0\n",
" # 遍历上下左右四个方向\n",
" for i in range(8):\n",
" newx = dx[i] + x\n",
" newy = dy[i] + y\n",
" if newx < 0 or newx >= m or newy >= n or newy < 0:\n",
" continue\n",
" if mark[newx][newy] == 0 and grid[newx][newy] == 0:\n",
" road.append([x, y])\n",
" self.dfs(mark, grid, road, newx, newy)\n",
"# p += 1\n",
"# if p > 2:\n",
"# road.append([x, y])\n",
"# if [newx, newy] not in road:\n",
" road.append([newx, newy])\n",
"\n",
"n = 8\n",
"s = Solution()\n",
"# nums = xy\n",
"flag = np.zeros([n, n])\n",
"a = np.random.randint(1,n,size=15)\n",
"b = np.random.randint(1,n,size=15)\n",
"# a = [1, 1, 2, 3, 3, 3, 3, 2]\n",
"# b = [3, 5, 3, 3, 4, 5, 5, 5]\n",
"flag[a, b] = 1\n",
"road = np.array(s.numIslands(flag))\n",
"X = []\n",
"Y = []\n",
"for i in range(len(road)):\n",
" X.append(road[i, 0] + 0.5)\n",
" Y.append(road[i, 1] + 0.5)\n",
"num = len(X)\n",
"ax=plt.subplot(111) #注意:一般都在ax中设置,不再plot中设置\n",
"ax.fill_between(np.array([0, 1]),0,1,facecolor='red')\n",
"n_x1 = np.array(a)\n",
"n_x2 = np.array(a) + 1\n",
"n_y1 = np.array(b)\n",
"n_y2 = np.array(b) + 1\n",
"# for i, p in enumerate(road):\n",
"# plt.text(*p, '%d' % i)\n",
"for i in range(len(n_x1)):\n",
" ax.fill_between(np.array([n_x1[i], n_x2[i]]), n_y1[i], n_y2[i],facecolor='green')\n",
"for i in range(num - 1):\n",
" ax.arrow(X[i], Y[i], X[i + 1] - X[i], Y[i + 1] - Y[i],length_includes_head = True,head_width = 0.15,head_length = 0.15,ec = 'b')\n",
"plt.xlim(0, n)\n",
"plt.ylim(0, n)\n",
"\n",
"ax.xaxis.set_major_locator(MultipleLocator(1))#设置y主坐标间隔 1\n",
"ax.yaxis.set_major_locator(MultipleLocator(1))#设置y主坐标间隔 1\n",
"ax.xaxis.grid(True,which='major')#major,color='black'\n",
"ax.yaxis.grid(True,which='major')#major,color='black'\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 356,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([[0, 0],\n",
" [1, 0],\n",
" [2, 0],\n",
" [3, 0],\n",
" [4, 0],\n",
" [5, 0],\n",
" [6, 0],\n",
" [7, 0],\n",
" [7, 1],\n",
" [6, 1],\n",
" [5, 1],\n",
" [4, 1],\n",
" [3, 1],\n",
" [2, 1],\n",
" [1, 1],\n",
" [0, 1],\n",
" [0, 2],\n",
" [1, 2],\n",
" [2, 2],\n",
" [3, 2],\n",
" [4, 2],\n",
" [5, 2],\n",
" [6, 2],\n",
" [7, 2],\n",
" [7, 3],\n",
" [6, 3],\n",
" [5, 3],\n",
" [4, 3],\n",
" [4, 4],\n",
" [5, 4],\n",
" [6, 4],\n",
" [7, 4],\n",
" [7, 5],\n",
" [6, 5],\n",
" [5, 5],\n",
" [4, 5],\n",
" [4, 6],\n",
" [5, 6],\n",
" [6, 6],\n",
" [7, 6],\n",
" [7, 7],\n",
" [6, 7],\n",
" [5, 7],\n",
" [4, 7],\n",
" [3, 7],\n",
" [2, 7],\n",
" [1, 7],\n",
" [0, 7],\n",
" [0, 6],\n",
" [1, 6],\n",
" [1, 5],\n",
" [0, 5],\n",
" [0, 4],\n",
" [1, 4],\n",
" [2, 4],\n",
" [2, 5],\n",
" [2, 4],\n",
" [1, 3],\n",
" [0, 3],\n",
" [1, 3]])"
]
},
"execution_count": 356,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"road"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# A*"
]
},
{
"cell_type": "code",
"execution_count": 367,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"搜索成功!\n"
]
}
],
"source": [
"# 版本1.32018—04—11\n",
"# 所有节点的g值并没有初始化为无穷大\n",
"# 当两个子节点的f值一样时程序选择最先搜索到的一个作为父节点加入closed\n",
"# 对相同数值的不同对待导致不同版本的A*算法找到等长的不同路径\n",
"# 最后closed表中的节点很多如何找出最优的一条路径\n",
"# 撞墙之后产生较多的节点会加入closed表此时开始删除closed表中不合理的节点1.1版本的思路\n",
"# 1.2版本思路建立每一个节点的方向指针指向f值最小的上个节点\n",
"# 参考《无人驾驶概论》、《基于A*算法的移动机器人路径规划》王淼驰,《人工智能及应用》鲁斌\n",
"\n",
"\n",
"import numpy\n",
"from pylab import *\n",
"import copy\n",
"\n",
"# 定义一个含有障碍物的20×20的栅格地图\n",
"# 10表示可通行点\n",
"# 0表示障碍物\n",
"# 7表示起点\n",
"# 5表示终点\n",
"map_grid = numpy.full((20, 20), int(10), dtype=numpy.int8)\n",
"map_grid[3, 3:8] = 0\n",
"map_grid[3:10, 7] = 0\n",
"map_grid[10, 3:8] = 0\n",
"map_grid[17, 13:17] = 0\n",
"map_grid[10:17, 13] = 0\n",
"map_grid[10, 13:17] = 0\n",
"map_grid[5, 2] = 7\n",
"map_grid[15, 15] = 5\n",
"\n",
"\n",
"class AStar(object):\n",
" \"\"\"\n",
" 创建一个A*算法类\n",
" \"\"\"\n",
"\n",
" def __init__(self):\n",
" \"\"\"\n",
" 初始化\n",
" \"\"\"\n",
" # self.g = 0 # g初始化为0\n",
" self.start = numpy.array([5, 2]) # 起点坐标\n",
" self.goal = numpy.array([15, 15]) # 终点坐标\n",
" self.open = numpy.array([[], [], [], [], [], []]) # 先创建一个空的open表, 记录坐标方向g值f值\n",
" self.closed = numpy.array([[], [], [], [], [], []]) # 先创建一个空的closed表\n",
" self.best_path_array = numpy.array([[], []]) # 回溯路径表\n",
"\n",
" def h_value_tem(self, son_p):\n",
" \"\"\"\n",
" 计算拓展节点和终点的h值\n",
" :param son_p:子搜索节点坐标\n",
" :return:\n",
" \"\"\"\n",
" h = (son_p[0] - self.goal[0]) ** 2 + (son_p[1] - self.goal[1]) ** 2\n",
" h = numpy.sqrt(h) # 计算h\n",
" return h\n",
"\n",
" # def g_value_tem(self, son_p, father_p):\n",
" # \"\"\"\n",
" # 计算拓展节点和父节点的g值\n",
" # 其实也可以直接用1或者1.414代替\n",
" # :param son_p:子节点坐标\n",
" # :param father_p:父节点坐标也就是self.current_point\n",
" # :return:返回子节点到父节点的g值但不是全局g值\n",
" # \"\"\"\n",
" # g1 = father_p[0] - son_p[0]\n",
" # g2 = father_p[1] - son_p[1]\n",
" # g = g1 ** 2 + g2 ** 2\n",
" # g = numpy.sqrt(g)\n",
" # return g\n",
"\n",
" def g_accumulation(self, son_point, father_point):\n",
" \"\"\"\n",
" 累计的g值\n",
" :return:\n",
" \"\"\"\n",
" g1 = father_point[0] - son_point[0]\n",
" g2 = father_point[1] - son_point[1]\n",
" g = g1 ** 2 + g2 ** 2\n",
" g = numpy.sqrt(g) + father_point[4] # 加上累计的g值\n",
" return g\n",
"\n",
" def f_value_tem(self, son_p, father_p):\n",
" \"\"\"\n",
" 求出的是临时g值和h值加上累计g值得到全局f值\n",
" :param father_p: 父节点坐标\n",
" :param son_p: 子节点坐标\n",
" :return:f\n",
" \"\"\"\n",
" f = self.g_accumulation(son_p, father_p) + self.h_value_tem(son_p)\n",
" return f\n",
"\n",
" def child_point(self, x):\n",
" \"\"\"\n",
" 拓展的子节点坐标\n",
" :param x: 父节点坐标\n",
" :return: 子节点存入open表返回值是每一次拓展出的子节点数目用于撞墙判断\n",
" 当搜索的节点撞墙后,如果不加处理,会陷入死循环\n",
" \"\"\"\n",
" # 开始遍历周围8个节点\n",
" for j in range(-1, 2, 1):\n",
" for q in range(-1, 2, 1):\n",
"\n",
" if j == 0 and q == 0: # 搜索到父节点去掉\n",
" continue\n",
" m = [x[0] + j, x[1] + q]\n",
"# print(m)\n",
" if m[0] < 0 or m[0] > 19 or m[1] < 0 or m[1] > 19: # 搜索点出了边界去掉\n",
" continue\n",
"\n",
" if map_grid[int(m[0]), int(m[1])] == 0: # 搜索到障碍物去掉\n",
" continue\n",
"\n",
"\n",
"\n",
" record_g = self.g_accumulation(m, x)\n",
" record_f = self.f_value_tem(m, x) # 计算每一个节点的f值\n",
"\n",
" x_direction, y_direction = self.direction(x, m) # 每产生一个子节点,记录一次方向\n",
"\n",
" para = [m[0], m[1], x_direction, y_direction, record_g, record_f] # 将参数汇总一下\n",
"# print(para)\n",
"\n",
" # 在open表中则去掉搜索点但是需要更新方向指针和self.g值\n",
" # 而且只需要计算并更新self.g即可此时建立一个比较g值的函数\n",
" a, index = self.judge_location(m, self.open)\n",
" if a == 1:\n",
" # 说明open中已经存在这个点\n",
"\n",
" if record_f <= self.open[5][index]:\n",
" self.open[5][index] = record_f\n",
" self.open[4][index] = record_g\n",
" self.open[3][index] = y_direction\n",
" self.open[2][index] = x_direction\n",
"\n",
" continue\n",
"\n",
" # 在closed表中,则去掉搜索点\n",
" b, index2 = self.judge_location(m, self.closed)\n",
" if b == 1:\n",
"\n",
" if record_f <= self.closed[5][index2]:\n",
" self.closed[5][index2] = record_f\n",
" self.closed[4][index2] = record_g\n",
" self.closed[3][index2] = y_direction\n",
" self.closed[2][index2] = x_direction\n",
" self.closed = numpy.delete(self.closed, index2, axis=1)\n",
" self.open = numpy.c_[self.open, para]\n",
" continue\n",
"\n",
" self.open = numpy.c_[self.open, para] # 参数添加到open中\n",
"# print(self.open)\n",
"\n",
" def judge_location(self, m, list_co):\n",
" \"\"\"\n",
" 判断拓展点是否在open表或者closed表中\n",
" :return:返回判断是否存在,和如果存在,那么存在的位置索引\n",
" \"\"\"\n",
" jud = 0\n",
" index = 0\n",
" for i in range(list_co.shape[1]):\n",
"\n",
" if m[0] == list_co[0, i] and m[1] == list_co[1, i]:\n",
"\n",
" jud = jud + 1\n",
"\n",
" index = i\n",
" break\n",
" else:\n",
" jud = jud\n",
" # if a != 0:\n",
" # continue\n",
" return jud, index\n",
"\n",
" def direction(self, father_point, son_point):\n",
" \"\"\"\n",
" 建立每一个节点的方向便于在closed表中选出最佳路径\n",
" 非常重要的一步不然画出的图像参考1.1版本\n",
" x记录子节点和父节点的x轴变化\n",
" y记录子节点和父节点的y轴变化\n",
" 如01表示子节点在父节点的方向上变化0和1\n",
" :return:\n",
" \"\"\"\n",
" x = son_point[0] - father_point[0]\n",
" y = son_point[1] - father_point[1]\n",
" return x, y\n",
"\n",
" def path_backtrace(self):\n",
" \"\"\"\n",
" 回溯closed表中的最短路径\n",
" :return:\n",
" \"\"\"\n",
" best_path = [15, 15] # 回溯路径的初始化\n",
" self.best_path_array = numpy.array([[15], [15]])\n",
" j = 0\n",
" while j <= self.closed.shape[1]:\n",
" for i in range(self.closed.shape[1]):\n",
" if best_path[0] == self.closed[0][i] and best_path[1] == self.closed[1][i]:\n",
" x = self.closed[0][i]-self.closed[2][i]\n",
" y = self.closed[1][i]-self.closed[3][i]\n",
" best_path = [x, y]\n",
" self.best_path_array = numpy.c_[self.best_path_array, best_path]\n",
" break # 如果已经找到,退出本轮循环,减少耗时\n",
" else:\n",
" continue\n",
" j = j+1\n",
"# return self.best_path_array\n",
"\n",
" def main(self):\n",
" \"\"\"\n",
" main函数\n",
" :return:\n",
" \"\"\"\n",
" best = self.start # 起点放入当前点,作为父节点\n",
" h0 = self.h_value_tem(best)\n",
" init_open = [best[0], best[1], 0, 0, 0, h0] # 将方向初始化为00g_init=0,f值初始化h0\n",
" self.open = numpy.column_stack((self.open, init_open)) # 起点放入open,open初始化\n",
"\n",
" ite = 1 # 设置迭代次数小于200防止程序出错无限循环\n",
" while ite <= 1000:\n",
"\n",
" # open列表为空退出\n",
" if self.open.shape[1] == 0:\n",
" print('没有搜索到路径!')\n",
" return\n",
"\n",
" self.open = self.open.T[numpy.lexsort(self.open)].T # open表中最后一行排序(联合排序)\n",
"\n",
" # 选取open表中最小f值的节点作为best放入closed表\n",
"\n",
" best = self.open[:, 0]\n",
"# print('检验第%s次当前点坐标*******************' % ite)\n",
"# print(best)\n",
" self.closed = numpy.c_[self.closed, best]\n",
"\n",
" if best[0] == 15 and best[1] == 15: # 如果best是目标点退出\n",
" print('搜索成功!')\n",
" return\n",
"\n",
" self.child_point(best) # 生成子节点并判断数目\n",
"# print(self.open)\n",
" self.open = numpy.delete(self.open, 0, axis=1) # 删除open中最优点\n",
"\n",
" # print(self.open)\n",
"\n",
" ite = ite+1\n",
"\n",
"\n",
"\n",
"def draw_direction_point(a):\n",
" \"\"\"\n",
" 从终点开始,根据记录的方向信息,画出搜索的路径图\n",
" :return:\n",
" \"\"\"\n",
" print('打印direction长度')\n",
" print(a.best_path_array.shape[1])\n",
" map_direction = copy.deepcopy(map_grid)\n",
" for i in range(a.best_path_array.shape[1]):\n",
" x = a.best_path_array[:, i]\n",
"\n",
" map_direction[int(x[0]), int(x[1])] = 6\n",
"\n",
" plt.imshow(map_direction, cmap=plt.cm.hot, interpolation='nearest', vmin=0, vmax=10)\n",
" # plt.colorbar()\n",
" xlim(-1, 20) # 设置x轴范围\n",
" ylim(-1, 20) # 设置y轴范围\n",
" my_x_ticks = numpy.arange(0, 20, 1)\n",
" my_y_ticks = numpy.arange(0, 20, 1)\n",
" plt.xticks(my_x_ticks)\n",
" plt.yticks(my_y_ticks)\n",
" plt.grid(True)\n",
" plt.show()\n",
"\n",
"\n",
"if __name__ == '__main__':\n",
"\n",
" a1 = AStar()\n",
" a1.main()\n",
" a1.path_backtrace()\n",
" path = []\n",
" for i in range(a1.best_path_array.shape[1]):\n",
" path.append(a1.best_path_array[:, i])\n",
"# draw_direction_point(a1)"
]
},
{
"cell_type": "code",
"execution_count": 371,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"15.0"
]
},
"execution_count": 371,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"path[0][0]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"class Solution(object):\n",
" def numIslands(self, grid):\n",
" \"\"\"\n",
" :type grid: List[List[str]]\n",
" :rtype: int\n",
" \"\"\"\n",
" n = grid.shape[0]\n",
" road = []\n",
" mark = [[0] * n for i in range(n)]\n",
" dx = [-1, 1, 0, 0, -1, -1, 1, 1] # 方向数组\n",
" dy = [0, 0, 1, -1, 1, -1, -1, 1]\n",
" road.append([0, 0])\n",
" mark[0][0] = 1\n",
" for i in range(n):\n",
" if i % 2 == 0:\n",
" for j in range(n):\n",
" if mark[i][j] == 0 and grid[i][j] == 0:\n",
" # 遍历8个方向\n",
" for k in range(8):\n",
" newx = dx[k] + j\n",
" newy = dy[k] + i\n",
" if newx < 0 or newx >= m or newy >= n or newy < 0:\n",
" continue\n",
" if mark[newx][newy] == 0 and grid[newx][newy] == 0:\n",
" road.append([j, i])\n",
" mark[newx][newx] = 1\n",
" break\n",
" else:\n",
" for j in range(n - 1, -1, -1):\n",
" if mark[i][j] == 0 and grid[i][j] == 0:\n",
" # 遍历8个方向\n",
" for k in range(8):\n",
" newx = dx[k] + j\n",
" newy = dy[k] + i\n",
" if newx < 0 or newx >= m or newy >= n or newy < 0:\n",
" continue\n",
" if mark[newx][newy] == 0 and grid[newx][newy] == 0:\n",
" road.append([j, i])\n",
" mark[newx][newx] = 1\n",
" break\n",
" return road\n",
"\n",
"n = 8\n",
"s = Solution()\n",
"# nums = xy\n",
"flag = np.zeros([n, n])\n",
"a = np.random.randint(1,n,size=15)\n",
"b = np.random.randint(1,n,size=15)\n",
"# a = [1, 1, 2, 3, 3, 3, 3, 2]\n",
"# b = [3, 5, 3, 3, 4, 5, 5, 5]\n",
"flag[a, b] = 1\n",
"road = np.array(s.numIslands(flag))\n",
"X = []\n",
"Y = []\n",
"for i in range(len(road)):\n",
" X.append(road[i, 0] + 0.5)\n",
" Y.append(road[i, 1] + 0.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 动态规划"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-45-3c00bfee21f0>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 23\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnum\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 24\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m&\u001b[0m \u001b[0mi\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;31m#非零表示结点k在集合中\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 25\u001b[1;33m \u001b[0mtemp\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdistance\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mk\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mF\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mi\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 26\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mtemp\u001b[0m \u001b[1;33m<\u001b[0m \u001b[0mMin\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 27\u001b[0m \u001b[0mMin\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtemp\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"import datetime\n",
"start = datetime.datetime.now()\n",
"num = len(x)\n",
"b = (int)(pow(2,num-1))\n",
"F = np.zeros([num,b]) #n行b列的二维数组存放阶段最优值\n",
"M = np.zeros([num,b], dtype = 'int') #n行b列的二维数组存放最优策略\n",
"\n",
"#初始化F[][]和M[][]\n",
"for i in range(b):\n",
" for j in range(num):\n",
" F[j][i] = -1\n",
" M[j][i] = -1\n",
"\n",
"#给F的第0列赋初值\n",
"for i in range(num):\n",
" F[i, 0] = distance[i, 0]\n",
"\n",
"#遍历并填表\n",
"for i in range(1, b - 1): #最后一列不在循环里计算\n",
" for j in range(1, num):\n",
" if ((int)(pow(2,j-1)) & i) == 0: #结点j不在i表示的集合中\n",
" Min=65535.0\n",
" for k in range(1, num):\n",
" if (int)(pow(2,k-1)) & i: #非零表示结点k在集合中\n",
" temp = distance[j, k] + F[k, i-(int)(pow(2,k-1))]\n",
" if temp < Min:\n",
" Min = temp\n",
" F[j, i] = Min #保存阶段最优值\n",
" M[j, i] = k #保存最优决策\n",
"\n",
"\n",
"#最后一列,即总最优值的计算\n",
"Min=65535.0\n",
"for k in range(1, num):\n",
" #b-1的二进制全1表示集合{1,2,3,4,5}从中去掉k结点即将k对应的二进制位置0\n",
" temp = distance[0, k] + F[k, b-1 - (int)(pow(2,k-1))]\n",
" if temp < Min:\n",
" Min = temp\n",
" F[0, b-1] = Min #总最优解\n",
" M[0, b-1] = k\n",
"\n",
"print(\"最短路径长度:\", F[0, b-1]) #最短路径长度\n",
"\n",
"\n",
"#回溯查表M输出最短路径(编号0~n-1)\n",
"print(\"最短路径(编号0—n-1)0\")\n",
"i = b - 1\n",
"j = 0\n",
"road = []\n",
"road.append(0)\n",
"while i > 0: #i的二进制是5个1表示集合{1,2,3,4,5}\n",
" j = M[j, i] #下一步去往哪个结点\n",
" road.append(j)\n",
" i = i - (int)(pow(2,j-1)) #从i中去掉j结点\n",
" print(\"->\", j)\n",
"print(\"->0\")\n",
"road.append(0)\n",
"end = datetime.datetime.now()\n",
"print(end-start)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 遗传算法"
]
},
{
"cell_type": "code",
"execution_count": 161,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020.2426406871193\n",
"[6, 8, 9, 11, 13, 19, 7, 10, 12, 18, 20, 17, 16, 15, 14, 5, 4, 3, 2, 1]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib\n",
"import math\n",
"import random\n",
"matplotlib.rcParams['font.family']= 'STSong'\n",
"\n",
"num = len(x)\n",
" \n",
"#种群数\n",
"count=500\n",
"#改良次数\n",
"improve_count=1000\n",
"#进化次数\n",
"itter_time=700\n",
"\n",
"#设置强者的定义概率即种群前30%为强者\n",
"retain_rate=0.3\n",
" \n",
"#设置弱者的存活概率\n",
"random_select_rate=0.5\n",
" \n",
"#变异率\n",
"mutation_rate=0.1\n",
" \n",
"#设置起点和终点\n",
"start = 0\n",
"end = 0\n",
"index=[i for i in range(num)]\n",
"index.remove(start)\n",
"\n",
" \n",
"\n",
"# def get_path(x):\n",
"# graded = [[x[i], index[i]] for i in range(len(x))]\n",
"# graded_index = [t[1] for t in sorted(graded)]\n",
"# return graded_index\n",
"#总距离\n",
"def get_total_distance(x):\n",
" Distance=0\n",
" Distance+=distance[start][x[0]]\n",
" for i in range(len(x)):\n",
" if i==len(x)-1:\n",
" Distance += distance[end][x[i]]\n",
" else:\n",
" Distance += distance[x[i]][x[i+1]]\n",
" return Distance\n",
" \n",
"#改良\n",
"def improve(x):\n",
" i=0\n",
" Distance=get_total_distance(x)\n",
" while i<improve_count:\n",
" # randint [a,b]\n",
" u=random.randint(0,len(x)-1)\n",
" v = random.randint(0, len(x)-1)\n",
" if u!=v:\n",
" new_x=x.copy()\n",
" t=new_x[u]\n",
" new_x[u]=new_x[v]\n",
" new_x[v]=t\n",
" new_distance=get_total_distance(new_x)\n",
" if new_distance<Distance:\n",
" Distance=new_distance\n",
" x=new_x.copy()\n",
" else:\n",
" continue\n",
" i+=1\n",
"\n",
"#自然选择\n",
"def selection(population):\n",
" \"\"\"\n",
" 选择\n",
" 先对适应度从大到小排序,选出存活的染色体\n",
" 再进行随机选择,选出适应度虽然小,但是幸存下来的个体\n",
" \"\"\"\n",
" # 对总距离从小到大进行排序\n",
" graded = [[get_total_distance(p), p] for p in population]\n",
" graded = [p[1] for p in sorted(graded)]\n",
" # 选出适应性强的染色体\n",
" retain_length = int(len(graded) * retain_rate)\n",
" parents = graded[:retain_length]\n",
" # 选出适应性不强,但是幸存的染色体\n",
" for chromosome in graded[retain_length:]:\n",
" if random.random() < random_select_rate:\n",
" parents.append(chromosome)\n",
" return parents\n",
" \n",
"#交叉繁殖\n",
"def crossover(parents):\n",
" #生成子代的个数,以此保证种群稳定\n",
" target_count=count-len(parents)\n",
" #孩子列表\n",
" children=[]\n",
" while len(children)<target_count:\n",
" male_index = random.randint(0, len(parents) - 1)\n",
" female_index = random.randint(0, len(parents) - 1)\n",
" if male_index!=female_index:\n",
" male=parents[male_index]\n",
" female=parents[female_index]\n",
" \n",
" left=random.randint(0,len(male)-2)\n",
" right=random.randint(left+1,len(male)-1)\n",
" \n",
" #交叉片段\n",
" gene1=male[left:right]\n",
" gene2=female[left:right]\n",
" \n",
" child1_c=male[right:]+male[:right]\n",
" child2_c=female[right:]+female[:right]\n",
" child1=child1_c.copy()\n",
" child2= child2_c.copy()\n",
" \n",
" for o in gene2:\n",
" child1_c.remove(o)\n",
" \n",
" for o in gene1:\n",
" child2_c.remove(o)\n",
" \n",
" child1[left:right]=gene2\n",
" child2[left:right]=gene1\n",
" \n",
" child1[right:]=child1_c[0:len(child1)-right]\n",
" child1[:left] = child1_c[len(child1) - right:]\n",
" \n",
" child2[right:] = child2_c[0:len(child1) - right]\n",
" child2[:left] = child2_c[len(child1) - right:]\n",
" \n",
" children.append(child1)\n",
" children.append(child2)\n",
" \n",
" return children\n",
" \n",
"#变异\n",
"def mutation(children):\n",
" for i in range(len(children)):\n",
" if random.random() < mutation_rate:\n",
" child=children[i]\n",
" u=random.randint(1,len(child)-4)\n",
" v = random.randint(u+1, len(child)-3)\n",
" w= random.randint(v+1, len(child)-2)\n",
" child=children[i]\n",
" child=child[0:u]+child[v:w]+child[u:v]+child[w:]\n",
"\n",
"#得到最佳纯输出结果\n",
"def get_result(population):\n",
" graded = [[get_total_distance(p), p] for p in population]\n",
" graded = sorted(graded)\n",
" return graded[0][0],graded[0][1]\n",
" \n",
"#使用改良圈算法初始化种群\n",
"population=[]\n",
"for i in range(count):\n",
" #随机生成个体\n",
" c=index.copy()\n",
" random.shuffle(c)\n",
" improve(c)\n",
" population.append(c)\n",
"\n",
"register=[]\n",
"i=0\n",
"Distance, result_path = get_result(population)\n",
"while i<itter_time:\n",
" #选择繁殖个体群\n",
" parents=selection(population)\n",
" #交叉繁殖\n",
" children=crossover(parents)\n",
" #变异操作\n",
" mutation(children)\n",
" #更新种群\n",
" population=parents+children\n",
" \n",
" Distance,result_path=get_result(population)\n",
" register.append(Distance)\n",
" i=i+1\n",
"\n",
"print(Distance)\n",
"print(result_path)\n",
" \n",
"result_path=[start]+result_path+[end]\n",
"X=[]\n",
"Y=[]\n",
"for index in result_path:\n",
" X.append(x[index])\n",
" Y.append(y[index])\n",
"\n",
"plt.plot(X,Y,'-o')\n",
"plt.show()\n",
" \n",
"plt.plot(list(range(len(register))),register)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 151,
"metadata": {},
"outputs": [],
"source": [
"# road = result_path\n",
"road = opt_chr"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 蚁群算法"
]
},
{
"cell_type": "code",
"execution_count": 418,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"The shortest distance is 1056.8284271247462m and the best path is: city_0 -> city_1 -> city_2 -> city_3 -> city_11 -> city_12 -> city_4 -> city_5 -> city_13 -> city_21 -> city_26 -> city_27 -> city_22 -> city_14 -> city_6 -> city_7 -> city_15 -> city_23 -> city_28 -> city_35 -> city_40 -> city_48 -> city_56 -> city_55 -> city_47 -> city_39 -> city_34 -> city_33 -> city_38 -> city_37 -> city_45 -> city_46 -> city_54 -> city_53 -> city_52 -> city_44 -> city_43 -> city_51 -> city_50 -> city_49 -> city_41 -> city_42 -> city_36 -> city_29 -> city_30 -> city_31 -> city_32 -> city_25 -> city_20 -> city_19 -> city_18 -> city_10 -> city_9 -> city_17 -> city_24 -> city_16 -> city_8 ->city_0.\n",
"\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def creat_city():\n",
" \"\"\"\n",
" input:\n",
" num: 城市数量\n",
" scale: 城市坐标范围x,y in (0, scale)\n",
" return:\n",
" V城市的坐标集合\n",
" E城市的邻接矩阵\n",
" \"\"\"\n",
"\n",
"\n",
" V = np.stack((x,y), axis=1)\n",
"\n",
"# inner = -2 * V.dot(V.T)\n",
"# xx = np.sum(V**2, axis=1, keepdims=True)\n",
"# E = xx + inner + xx.T\n",
"# E = E**0.5\n",
" index = [i for i in range(num)]\n",
" E = distance\n",
" #为了防止蚂蚁出现自旋,邻接矩阵上的对角线取值尽量大一点。\n",
" E[index,index] = 9999999\n",
" return V,E\n",
"V, E = creat_city()\n",
"plt.scatter(V[:,0], V[:,1], alpha=0.6, c = \"r\") # 绘制散点图透明度为0.6(这样颜色浅一点,比较好看)\n",
"plt.show()\n",
"import heapq\n",
"import random\n",
"\n",
"def a_res(samples, m):\n",
" \"\"\"\n",
" :samples: [(item, weight), ...]\n",
" :k: number of selected items\n",
" :returns: [(item, weight), ...]\n",
" \"\"\"\n",
"\n",
" heap = [] # [(new_weight, item), ...]\n",
" for sample in samples:\n",
" wi = sample[1]\n",
" if wi==0:\n",
" continue\n",
" ui = random.uniform(0, 1)\n",
" ki = ui ** (1/wi)\n",
"\n",
" if len(heap) < m:\n",
" heapq.heappush(heap, (ki, sample))\n",
" elif ki > heap[0][0]:\n",
" heapq.heappush(heap, (ki, sample))\n",
"\n",
" if len(heap) > m:\n",
" heapq.heappop(heap)\n",
"\n",
" return [item[1] for item in heap]\n",
"def possibility(eta, gamma, other_city, cur_city):\n",
" \"\"\"\n",
" 返回候选城市集合中从start到各候选城市的概率只返回有路径的\n",
" \"\"\" \n",
" alpha = 1\n",
" beta = 5\n",
" start_city = cur_city[-1]\n",
"\n",
" t_i = gamma[start_city] \n",
" n_i = eta[start_city]\n",
" \n",
" temp = (t_i**alpha * n_i**beta)\n",
" temp[cur_city] = 0\n",
" add = temp.sum()\n",
" p_ij = temp/add\n",
" \n",
" return p_ij\n",
"def rotate(l, n):\n",
" '''\n",
" 旋转列表。\n",
" '''\n",
" return l[n:] + l[:n]\n",
"\n",
"def get_path_dis(root, E):\n",
" \"\"\"\n",
" 获取该路径距离。\n",
" \"\"\"\n",
" dis = E[root[:-1], root[1:]].sum()\n",
" return dis + E[root[0],root[-1]]\n",
"\n",
"def MMAS(V, E, M, num, islocal=True):\n",
" \"\"\"\n",
" 最大最小蚁群算法\n",
" V : 点集\n",
" E: 邻接矩阵,点之间的连接性,\n",
" M: 蚂蚁数量\n",
" num迭代次数\n",
" \"\"\"\n",
" #相关参数\n",
" global_best_path=None #当前最优路径\n",
" global_best_dis = 99999999\n",
" cur_city = None\n",
" other_city = [i for i in range(len(V))]\n",
" lo = 0.8 #信息素挥发率\n",
" e = num #精英路径权重\n",
" \n",
" tao_min = 0.1 / num\n",
" tao_max = 1\n",
"\n",
" #信息素启发值\n",
" eta = 1/E\n",
" eta[np.isinf(eta)] = 0\n",
" \n",
" #信息素浓度\n",
" E_mean = E[E>0].mean()\n",
" gamma = np.full(E.shape,tao_max) \n",
" \n",
" V_index = [i for i in range(len(V))]\n",
"\n",
" for i in range(num):\n",
" epoch_gamma = np.zeros_like(gamma) #保存每一轮的各路径信息素累积量\n",
" local_best_path=None #每一次迭代当前最优路径\n",
" local_best_dis = 99999999\n",
" for j in range(M):\n",
" cur_city = [j%len(V)]\n",
" other_city = [i for i in range(len(V))]\n",
" other_city.remove(cur_city[-1])\n",
" while(other_city):\n",
" p_ij = possibility(eta, gamma, other_city, cur_city)\n",
" next_city = int(a_res(np.stack((V_index,p_ij),axis=1), 1)[0][0])\n",
" if next_city not in other_city:\n",
" next_city = int(a_res(np.stack((V_index,p_ij),axis=1), 1)[0][0])\n",
" \n",
" epoch_gamma[cur_city[-1],next_city] += gamma[cur_city[-1],next_city]\n",
" cur_city.append(next_city)\n",
" other_city.remove(next_city)\n",
" epoch_dis = get_path_dis(cur_city, E)\n",
" if epoch_dis < local_best_dis:\n",
" local_best_dis = epoch_dis\n",
" local_best_path = cur_city\n",
"\n",
" if local_best_dis < global_best_dis:\n",
" global_best_dis = local_best_dis\n",
" global_best_path = local_best_path\n",
" #信息素更新 \n",
" gamma = (1 - lo) * gamma\n",
" if islocal:\n",
" for i,j in np.stack((local_best_path[1:] + local_best_path[:1], local_best_path), axis=1):\n",
" gamma[i,j] += e / local_best_dis\n",
" else:\n",
" for i,j in np.stack((global_best_path[1:] + global_best_path[:1], global_best_path), axis=1):\n",
" gamma[i,j] += e / global_best_dis\n",
" gamma[gamma>tao_max] = tao_max\n",
" gamma[gamma<tao_min] = tao_min\n",
" \n",
" print(\"The shortest distance is {}m and the best path is: \".format(global_best_dis), end=\"\")\n",
" best_path = rotate(global_best_path, global_best_path.index(0))\n",
" for index in best_path:\n",
" print(\" city_\" + str(index) + \" ->\", end=\"\")\n",
" print(\"city_0.\\n\")\n",
" \n",
" return best_path\n",
"root = MMAS(V, E, 50, 100)\n",
"path = V[root]\n",
"path = np.append(path, [path[0]], axis=0)\n",
"plt.plot(path[:,0], path[:,1], marker=\"o\", mfc=\"r\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 419,
"metadata": {},
"outputs": [],
"source": [
"road = np.hstack((root, 0))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 模拟退火"
]
},
{
"cell_type": "code",
"execution_count": 336,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:57: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"程序的运行时间是3.5285664729890414\n",
"最短路径29.65685424949238\n",
"0-->5-->10-->6-->1-->2-->3-->7-->8-->13-->12-->11-->16-->17-->22-->27-->26-->21-->20-->25-->24-->23-->18-->19-->15-->14-->9-->4-->0\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:107: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import time\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt \n",
"import pdb\n",
"import imageio\n",
"import shutil\n",
"import os\n",
"\n",
"def init():\n",
" alpha = 0.9\n",
" t = (1,100)\n",
" TIME = 1000\n",
" way = np.arange(N)\n",
" waydis = calWayDis(way)\n",
" return alpha,t,TIME,way,waydis\n",
"\n",
"# 计算路径长度\n",
"def calWayDis(way0):\n",
" waydis = 0\n",
" for i in range(N-1):\n",
" waydis +=dismat[way0[i]][way0[i+1]] \n",
" waydis += dismat[way0[N-1]][way0[0]]\n",
" return waydis\n",
"\n",
"def draw(way,dist):\n",
" global N,points ,TIMESIT, PNGFILE, PNGLIST\n",
" plt.cla()\n",
" plt.title('cross=%.4f' % dist)\n",
" xs = [points[i][0] for i in range(N)]\n",
" ys = [points[i][1] for i in range(N)]\n",
" plt.scatter(xs, ys, color='b')\n",
" xs = np.array(xs)\n",
" ys = np.array(ys)\n",
" # plt.plot(xs[[0, solutionpath[0]]], ys[[0, solutionpath[0]]], color='r')\n",
" # 连接路径\n",
" for i in range(N-1):\n",
" plt.plot(xs[[way[i], way[i + 1]]], ys[[way[i], way[i + 1]]], color='r')\n",
" # 将终点与起点连接\n",
" plt.plot(xs[[way[N - 1], 0]], ys[[way[N - 1], 0]], color='r')\n",
" plt.scatter(xs[0], ys[0], color='k', linewidth=10)\n",
" for i, p in enumerate(points):\n",
" plt.text(*p, '%d' % i)\n",
"\n",
"points = np.stack((x,y), axis=1)\n",
"N = points.shape[0]\n",
"dismat = distance\n",
"alpha,t,TIME,way,waydis=init()\n",
"t0 = t[1]\n",
"K=0.8\n",
"\n",
"\n",
"# 记录每次迭代的结果\n",
"result = []\n",
"tempway = way.copy()\n",
"bestway = way.copy()\n",
"bestdis = 10000\n",
"start = time.clock()\n",
"while t0>t[0]:\n",
" for i in range(TIME):\n",
" if np.random.rand() > 0.5:\n",
" # 两点交换\n",
" while True:\n",
" # 随机生成不同2个点\n",
" city1 = np.int(np.ceil(np.random.rand()*(N-1)))\n",
" city2 = np.int(np.ceil(np.random.rand()*(N-1)))\n",
" if city1!=city2:\n",
" break\n",
" # 交换\n",
" tempway[city1],tempway[city2]=tempway[city2],tempway[city1]\n",
" else:\n",
" # 3个点\n",
" while True:\n",
" city1 = np.int(np.ceil(np.random.rand()*(N-1)))\n",
" city2 = np.int(np.ceil(np.random.rand()*(N-1))) \n",
" city3 = np.int(np.ceil(np.random.rand()*(N-1)))\n",
" if((city1 != city2)&(city2 != city3)&(city1 != city3)):\n",
" break\n",
" # 下面的三个判断语句使得city1<city2<city3\n",
" if city1 > city2:\n",
" city1,city2 = city2,city1\n",
" if city2 > city3:\n",
" city2,city3 = city3,city2\n",
" if city1 > city2:\n",
" city1,city2 = city2,city1\n",
" #下面的三行代码将[city1,city2)区间的数据插入到city3之后\n",
" temp = tempway[city1:city2].copy()\n",
" tempway[city1:city3-city2+1+city1] = tempway[city2:city3+1].copy()\n",
" tempway[city3-city2+1+city1:city3+1] = temp.copy()\n",
"\n",
" tempdis = calWayDis(tempway)\n",
" if tempdis<waydis:\n",
" way = tempway.copy()\n",
" waydis = tempdis\n",
" if tempdis<bestdis:\n",
" bestway = tempway.copy()\n",
" bestdis = tempdis\n",
" draw(bestway,bestdis)\n",
" else:\n",
" if np.random.rand()<np.exp(-(tempdis-waydis)/(t0)):\n",
" way = tempway.copy()\n",
" waydis = tempdis\n",
" # 更新路径\n",
" else: tempway = way.copy()\n",
"\n",
" t0 *= alpha\n",
" result.append(bestdis)\n",
"end = time.clock()\n",
"print(\"程序的运行时间是:%s\"%(end-start))\n",
"print(\"最短路径:%s\"%np.array(result[-1]))\n",
"for i in bestway:\n",
" print(i,end=\"-->\")\n",
"print(bestway[0])"
]
},
{
"cell_type": "code",
"execution_count": 337,
"metadata": {},
"outputs": [],
"source": [
"road2 = np.hstack((bestway, 0))"
]
},
{
"cell_type": "code",
"execution_count": 268,
"metadata": {},
"outputs": [],
"source": [
"road4 = np.hstack((bestway, 0))"
]
},
{
"cell_type": "code",
"execution_count": 264,
"metadata": {},
"outputs": [],
"source": [
"road3 = np.hstack((bestway, 0))"
]
},
{
"cell_type": "code",
"execution_count": 335,
"metadata": {},
"outputs": [],
"source": [
"road1 = np.hstack((bestway, 0))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 分支限界"
]
},
{
"cell_type": "code",
"execution_count": 254,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:147: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"结果:\n",
"18.242640687119287\n",
"0\n",
"1\n",
"2\n",
"3\n",
"5\n",
"6\n",
"9\n",
"11\n",
"16\n",
"15\n",
"14\n",
"13\n",
"12\n",
"10\n",
"7\n",
"8\n",
"4\n",
"程序的运行时间是114.38316423400829\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:149: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead\n"
]
}
],
"source": [
"\"\"\"\n",
"分支限界法\n",
"name:JCH\n",
"date:6.8\n",
"\"\"\"\n",
"import pandas as pd\n",
"import numpy as np\n",
"import math\n",
"from queue import Queue\n",
"import time\n",
"\n",
"v = V\n",
"dist = distance\n",
"INF = 10000000\n",
"n = num\n",
"class Node:\n",
" def __init__(self):\n",
" self.visited=[False]*n\n",
" self.s=0\n",
" self.e=0\n",
" self.k=1\n",
" self.sumv=0\n",
" self.lb=0\n",
" self.listc=[]\n",
" \n",
" \n",
"pq = Queue() #创建一个优先队列\n",
"low=0 #下界\n",
"up=0#上界(使用贪心算法得出)\n",
"dfs_visited=[False]*n\n",
"dfs_visited[0]=True\n",
"def dfs(u,k,l):\n",
" if k==n-1 :\n",
" return (l+dist[u][0])\n",
" minlen=INF\n",
" p=0\n",
" for i in range(n):\n",
" if dfs_visited[i]==False and minlen>dist[u][i]:\n",
" minlen=dist[u][i]\n",
" p=i\n",
" dfs_visited[p]=True\n",
" return dfs(p,k+1,l+minlen)\n",
" \n",
"def get_up():\n",
" global up\n",
" up=dfs(0,0,0)\n",
"\n",
"def get_low():\n",
" global low\n",
" for i in range(n):\n",
" temp=dist[i].copy()\n",
" temp.sort()\n",
" #print(\"%s\"%(temp[0]))\n",
" low=low+temp[0]+temp[1]\n",
" low=low/2\n",
"\n",
"def get_lb(p):\n",
" ret=p.sumv*2\n",
" min1=INF #起点和终点连出来的边\n",
" min2=INF\n",
" #从起点到最近未遍历城市的距离 \n",
" for i in range(n):\n",
" if p.visited[i]==False and min1>dist[i][p.s]:\n",
" min1=dist[i][p.s]\n",
" \n",
" \n",
" #从终点到最近未遍历城市的距离\n",
" for j in range(n):\n",
" if p.visited[j]==False and min2>dist[p.e][j]:\n",
" min2=dist[p.e][j]\n",
" ret += min1 + min2\n",
" #进入并离开每个未遍历城市的最小成本\n",
" for i in range(n):\n",
" if p.visited[i]==False:\n",
" min1 = INF\n",
" min2 = INF\n",
" for j in range(n):\n",
" if min1 > dist[i][j]:\n",
" min1=dist[i][j]\n",
" for m in range(n):\n",
" if min2 > dist[m][i]:\n",
" min2=dist[i][m]\n",
" ret=ret+min1+min2\n",
" return ret/2.0 if ret % 2 == 0 else ret/2.0+1\n",
"\n",
"\n",
"def solve():\n",
" global up\n",
" get_up()\n",
" get_low() #获得下界\n",
" node=Node()\n",
" node.s=0 #起始点从1开始\n",
" node.e=0 #结束点到1结束(当前路径的结束点)\n",
" node.k=1 #遍历过得点数初始1个\n",
" node.visited=[False]*n #是否遍历过\n",
" node.listc.append(0)\n",
" for i in range(n):\n",
" node.visited[i]==False\n",
" node.visited[0]=True\n",
" node.sumv=0 #目前路径的距离和\n",
" node.lb=low #初始目标值等于下界\n",
" ret=INF #ret是问题的最终解\n",
" pq.put(node) #将起点加入队列\n",
" while pq.qsize()!=0: #如果已经走过了n-1个点\n",
" tmp=pq.get()\n",
" if tmp.k==n-1:\n",
" p=0 #最后一个没有走的点\n",
" for i in range(n):\n",
" if tmp.visited[i]==False:\n",
" p=i\n",
" break\n",
" ans=tmp.sumv+dist[tmp.s][p]+dist[p][tmp.e] #总的路径消耗\n",
" #如果当前的路径和比所有的目标函数值都小则跳出\n",
" #否则继续求其他可能的路径和,并更新上界\n",
" if ans <= 19:\n",
" ret=min(ans,ret)\n",
" tmp.listc.append(p)\n",
" break\n",
" else:\n",
" up=min(ans,up)#上界更新为更接近目标的ans值\n",
" ret=min(ret,ans)\n",
" tmp.listc.append(p)\n",
" continue\n",
" #当前点可以向下扩展的点入优先级队列\n",
" \n",
" for i in range(n):\n",
" if tmp.visited[i]==False:\n",
" next_node=Node()\n",
" next_node.s=tmp.s #沿着tmp走到next起点不变 \n",
" next_node.sumv=tmp.sumv+dist[tmp.e][i]\n",
" next_node.e=i #更新最后一个点 \n",
" next_node.k=tmp.k+1\n",
" next_node.listc=tmp.listc.copy()\n",
" next_node.listc.append(i)\n",
" #print(tmp.k)\n",
" #tmp经过的点也是next经过的点\n",
" next_node.visited=tmp.visited.copy()\n",
" next_node.visited[i] = True\n",
" next_node.lb = get_lb(next_node)#求目标函数\n",
" if next_node.lb>=up:\n",
" continue\n",
" pq.put(next_node)\n",
" #tmp.listc.append(4)\n",
" return ret,tmp\n",
" \n",
"if __name__ == \"__main__\":\n",
" start = time.clock()\n",
" sumpath,node=solve()\n",
" end = time.clock()\n",
" print(\"结果:\")\n",
" print(sumpath)\n",
" list1=node.listc.copy()\n",
" for i in list1:\n",
" print(i)\n",
" print(\"程序的运行时间是:%s\"%(end-start))"
]
},
{
"cell_type": "code",
"execution_count": 255,
"metadata": {},
"outputs": [],
"source": [
"road = np.hstack((list1, 0))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# MTSP"
]
},
{
"cell_type": "code",
"execution_count": 240,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeVxU1fvA8c+dYYBhFxGRVUXFDdxw3xVc0zSzr+277WX+UnPX1LQsMzMtTSttNTU0lxTc913ADc0FFVDcAIFhm7m/Py6iliYawx0u5/16+cpmYZ7jnXm4c+5zniPJsowgCIJgu3RqByAIgiD8O5GoBUEQbJxI1IIgCDZOJGpBEAQbJxK1IAiCjbOzxg/18vKSq1atao0fLQiCoEn79u27LMtypTvdZ5VEXbVqVfbu3WuNHy0IgqBJkiQl3u0+MfUhCIJg40SiFgRBsHEiUQuCINg4kagFQRBsnEjUgiAINk4kakEQBBtnlfK8BxF1IImpaxJITjPh62FkSNcQ+jTyUzssQRDuU3n8LFt7zDaRqKMOJDF8aTymfDMASWkmhi+NB9D8ARYELSmPn+XSGLNNJOqpaxIw5ZvRO53EscpvmLOrk3e9Ph+vkTR7cAVBi258lt8+8Budzu0rul1aKnHMTpszrdUKLPwsy+Tr7Bjd6mWOeQZhyjczdU2CthJ1cpoJAJ1DKjr7NCT9IQwe+8kw2zNkUwwRQRG09WuLk8FJ5UgFQfg3Nz7LwelJXHV0Y6tfWNF9r7YPVissq/pq00lc8kx0T9yFb+ZljnkGATf/LUqCTSRqXw8jSbcMKuvU/6FzuIh7xWPsvrCbP8/8iYPegda+rYkIiqBDQAdc7V1VjFgQhDu59bN8ztWb+fUeAsDPw8iY9zqpGZrVrClYjyXpHN0Td912u6+HscRewya+iwzpGoLRoL95g6zHPq8OY1qOYX3/9czvOp9+Nftx6MohRmwdQbtf2/FazGssPbGUaznX1AtcEITb/OOzDBgNeoZ0DVEpIusb0jUEBzvrjtkmzqhvzONM2rKLHMDH3ZFhkaFFtzf1aUpTn6YMazaM+MvxxCTGEJ0YzdjtY/lA+oDwyuFEBEXQObAzlZzu2HxKEIRScOMza1ivnAP6lYOqjz6N/DBcDIHVIGGdMUvW2Nw2PDxcfpDueb8c+4VJuyax8bGNVDRW/NfHyrLMsavHiE6MJuZsDKfTTyMh0dC7IRGBEUQEReDr4vugQxAE4T84/Wh/9BU9Cfz6a7VDKRV5Z89ysktXfD+agvvDDz/Qz5AkaZ8sy+F3us8mzqgfhCRJ1KlYhzoV6/B247c5mXZSSdqJMUzdO5Wpe6dSr2I9IoIiiAyKJMgtSO2QBUEQHkiZTdR/F+wRTLBHMK82eJWzGWeJORtDTGIMn+//nM/3f07NCjWJDIwkIiiCGh41kCRJ7ZAFQRCKRTOJ+laBboG8UP8FXqj/AheyLhTNac+Onc2s2FlUdatKRJAyPVLXs65I2oIg2DRNJupb+Tj78FTdp3iq7lNcNl1m/dn1RCdG8+2hb/km/hv8XPzoHNiZyKBIwiqFoZNsohBGEAShiOYT9a28jF48FvIYj4U8RlpOGhvObSDmbAw/H/uZBUcW4G30plNgJyKDImlcuTF2unL1zyMIgo0qt5nIw9GDvjX70rdmXzLzMtl0fhMxiTFE/RXFLwm/UMGhAh0DOxIRGEGLKi0w6A1qhywIQjlVbhP1rVzsXehZvSc9q/ckOz+bbcnbiE6MZs2ZNSw9sRRXgyvtA9oTERRBa9/WONo5qh2yIAjliEjUf+NkcCIyKJLIoEjyzHnsTNlJdGI0G85tYMWpFRjtjLT1a0tkUCTt/NuJ/iOCIFidSNT/wl5vTzv/drTzb0e+JZ+9F/YSkxhDzNkY1iauxV5nTyu/VkQGRdLevz3uDu5qhywIggaJRF1MBp2Blr4taenbkhHNR3Ag9UBRrfbGcxuxk+xoXqU5EUERdArshKejp9ohC4KgESJRPwC9Tk+4TzjhPuEMazqMQ5cPEX1WWRU5fsd4JuycQJPKTYgIVPqPVHaurHbIgiCUYcVK1JIknQGuA2ag4G7r0csjSZIIrRRKaKVQ3m38LsevHS9ayj5592Qm755Mg0oNiAxSVkX6uWi3OY0gCNZxP2fUHWVZvmy1SDRAkiRCPEMI8QzhzUZvcir9lDKnnRjDJ3s/4ZO9n1DHs05R0q7mXk3tkAVBKAPE1IcVVXevzsCwgQwMG8i56+dYl7iO6LPRzDgwgxkHZlDDo4aylD0wgloVaoml7IIg3FFxE7UMrJUkSQa+lmV5zt8fIEnSQGAgQGBgYMlFqBEBrgE8V/85nqv/HBeyLrDu7DpiEmOYEzeHr2K/ItA1sKjTX72K9UTSFgShSHETdWtZlpMlSfIGoiVJOibL8uZbH1CYvOeA0o+6hOPUFB9nH56s8yRP1nmSK6YrrD+3npjEGBYcXsD8Q/PxcfYp6qndsFJD9Dr9vX+oIAiaVaxELctycuF/UyVJ+h1oBmz+92cJxVHRWJH+tfrTv1Z/0nPT2XhuIzGJMSxKWMQPR3/Ay+hFp4BORARF0NSnqeg/Igjl0D0/9ZIkOQM6WZavF/69C/CB1SMrh9wd3Hm4xsM8XONhsvKz2Hx+M9GJ0fxx6g8WHV+Eu4M7HQM6EhkUSYsqLbDX26sdsiAIpaA4p2eVgd8L50ztgJ9kWf7TqlEJOBuc6V6tO92rdcdUYGJ70vaiWu2ov6JwMbjQzr8dkUGRtPZrjdGu5HY8FgTBttwzUcuyfApoUAqxCHdhtDPSOagznYM6F/UfWXd2HevPrmfV6VUY7Yy08WtDRGAE7fzb4WLvonbIgiCUIDHhWcbc2n9kdIvR7Lu4j+jEaNadXUd0YjQGnYFWvq2ICIqgY0BH0X9EEDRAJOoyzE6n9BdpXqU5I5qP4GDqwaKkven8JuwkO5r6NC3qP+Jl9FI7ZEEQHoBI1Bqhk3Q0rtyYxpUbM7TpUI5cOaIsZT8bw4SdE5i4cyKNKzcmMiiSzoGd8XH2UTtkQRCKSSRqDZIkiXpe9ajnVY93Gr/DibQTRRv8Ttk9hSm7pxDmFVa0wW+Aa4DaIQuC8C9EotY4SZKoVaEWtSrU4vWGr3Mm/QwxZ5WkPW3fNKbtm0Ztz9pEBCqrIqt7VFc7ZEEQ/kYk6nKmqntVXgp9iZdCXyIpM6moadTMgzOZeXAm1dyrFSXt2p61xVJ2QbABIlGXY34ufjxb71merfcsqdmpRf1H5h2ax9z4ufi7+BdNj4R6haKTdGqHLAjlkkjUAgDeTt48XvtxHq/9OFdzrrLh7Aaiz0bzw9Ef+O7wd3g7eRf1H2ns3Vj0HxGEUiQStfAPno6e9KvVj361+pGRl8Gmc5uIToxmyYkl/HTsJzwdPekU2InIwEiaVmmKQWdQO2RB0DSRqIV/5WbvRq/gXvQK7kV2fjabkzYTkxjDylMrWXx8MW72bnQI6EBkUCQtfVvioHdQO2RB0ByRqIViczI40a1qN7pV7UZOQQ7bk7cTkxjDhrMbWH5yOc4GZ9r5tSMiKII2fm1wMjipHbIgaILNJOqoA0l8uiUB3OGhL7YyLDKcPo20vb9g1IEkpq5JIDnNhK+HkSFdQ8rMmB3tHOkU2IlOgZ3IN+ez68IuYhJjWH92PavPrMZR70hrv9ZEBEXQ3r89rvauQNke84Mob+MFZcz2KRlculTAnCnry8WYo49cpDow+NdYjh11LfEx20SijjqQxPCl8RS45OPoDhfScxi+NB5Aswf4xphN+WYAktJMZXbMBr2BNn5taOPXhlEtRrH/4v6ipezrzq7DoDPQokoLKkrhLN7sjinXESjbYy4OLR3j4rox5ilmC9iVnzFPX5PAbJStsKwxZptI1FPXJGDKN3PrJSlTvpmpaxI0e3BvjLll8iHaJscW3X5tn56kumV7ebcf8BzwLI1Jy0njQlYKKVm7MBVs5F0k5AIXzDkBYFH6aWthzHdy7cgF3soz//N2jY4Xbo65StYV0hyULo7l4bPsnH39tttKesw2kaiT00z3dbsW3Bibf2YqrZLjcbAUFN2Xcerm4/ReXuicy+5cryNQFagqe5GYloqkzwGuY8lPAvnm289kTlUpQusJuJx91/u0OF64OeYMe2cOVKpVdLtWP8uyxUKTfdE8d2QVJr09Jyr4F91XkmO2iUTt62Ek6Q6D8vXQbjP8G2P+rVYnltZoT9WMFGpfO0vjzCQ6WFLJO30aAPOVK9hV8MCxQQOMYWEYGzTAoUYNJH3ZqWM+m3GWcTvGsedCMgVZIeSkPIKcX7Hofj8PI9ve76RihNbx7JT1d3xfa3W8cPcxa/GznHvyJCmjRvNa/AH2eofwRcN+pDp5Ft1fkmO2iUQ9pGuIMkd9y21Gg54hXUNUi8nabozZlG/GrNNz0sOf5EpBRD4SSnAjP8zp6Zji4jHFxWKKiyMzOob0xUsA0Dk54Vi/PsYGSuJ2DAvD4O2t8oj+qcBSwMIjC/ny4JfY6+zp4z+IxRt9kfMtRY/R8nG+9RjfoOXxQvkYs5yfz5V587j85Sx0Tk6kvDaUDy/5YCqw3vvaJhL1jXmcSVt2kQP4uDsyLDJUs3NacHPMd6sI0Lu749K2DS5t2wAgyzL5Z89iiovDdFBJ3le++x7y8wGwq1IFY9FZdxiOdeuiM6p3FpNwNYEx28dw5MoROgZ0ZFSLUXg7edPEs/xUQdzrGGuR1sdsOnSYlJEjyU1IwLV7N3xGjqSWlxeTrVzdI8myXGI/7Ibw8HB579699/28X479wqRdk9j42EYqGive+wnlnCU3l5wjR8iJi8MUG4cpNpb8pCTlTr0ex5AQHBuEYQxrgLFBA+yrBiHprNuvI8+cx9dxXzM/fj5uDm6MaD6CLkFdRHMnoUyz5ORweeZMrsz/FruKFfEZOwbXiIgSfQ1JkvbJshx+p/ts4oxaeDA6BwecGjXCqVGjotsKLl++OWUSG0vG8j9I+/kX5fFubhhDQ5Uz7wZhOIaFYVehQonFczD1IGO3j+VU+il6B/dmSPgQPBw9SuznC4Iasnbv5sLoMeQlJuLR/1G8hwxB7+ZWqjGIRK0xdl5euHbqiGunjoByVTrv1ClMsbHKWXdcHJe/+gosynyaIShQOeO+MWVSuzaSvf19vWZ2fjYzDszgp6M/4ePsw+yI2bTxa1PiYxOE0mTOzCT1k09I++VXDAEBBH47H+eWLVWJRSRqjZN0Ohxq1MChRg08+vUDwJKVhenw4cIpk1iyd+0i448/lMfb2+NYp44yZdJAmTIx+Pnddepie9J2xu8YT0pWCgNqD+Cdxu/gbHAutfEJgjVc37iRC+PGU5Caiudzz1Hp7bfQOalXJisSdTmkc3bGuVkznJs1K7ot/8KFoouUprhY0hb9xrUFCwHQV6xYdMZtDAvDMTSUTHsLU/dMZdnJZVR1q8r33b+nkXeju72kIJQJBVevcvHDyWSsWIFDzRr4fz4dY4MGaoclErWgMPj4YOjmg1u3roBSgpR74oSSuAsvVGZu2KDcJ0mkeOnwqyIzrmlbIsNfx9WzrprhC8J/IssyGStXcXHSJMyZmXi9+SZeA1++72lAaxGJWrgjyWDAsW5dHOvWpcKAAQBcvHiKBUvGkHXgAA0vO9HhrARxm0iatwnJaMRYWNvtWLgwx1C5ssqjEIR7y79wgQvjxpO5cSOODcIImjgRh5o11Q7rNiJRC/ckyzJRf0Uxde9U8tzyeP2d/+Ohus+gl/TknztXdJHSFBvLle8X3Kzt9vEpWk1pbBCGY716qtZ2C8KtZIuFtEWLSJ36CbLFQuXh71PhqadsctWvSNTCvzp3/Rwf7PiAnSk7aVK5CeNajqOqe9Wi++0DA7EPDMS910MAWPLyyD169LYqk+tr1yoP1utxqFWrcK5bSd721apZvbZbEP4u78wZUkaNJnvvXpxatqDKBx9gHxCgdlh3JRK1cEdmi5mfjv3EFwe+QCfpGN1iNI/WevSeG9zq7O2LqkVuKLh6VUnccXHkxMaSsWIlab/8qjze1RVjaOhtVSYlWdstCLeSCwq4+t13XPpiJpK9PVUmTcT9kUdsfkGWSNTCP/x17S/Gbh9L3OU42vm3Y3SL0fg4P3hbTjtPT1w7dsS14y213adPF12kNMXFcWXOXDAr/SEMAQG3LYd3qFMHnY1c1BHKrpxjx0gZMZKcI0dwieiMz+gxGCrbXo+cOxGJWiiSb87nm0PfMCduDi4GF6a0nUKPaj1K/GxD0ulwCA7GITgYj0f6AmDJzibn8OGiKpPsPXvIWLFCebzBgEPdOjcX5jRsgMHf3+bPggTbYMnN5fLs2Vz5Zh56d3f8pk/HtWvZamsgErUAQPyleMZsH8NfaX/Ro1oPhjUbhqej572fWEJ0Tk44NW2KU9OmRbflX7xYONcdS05sHGmLF3NtYWFtd4UKRUnbMUyp79a7upZavELZkL1/PymjRpN36hTuffrgPWxomZxaK3ailiRJD+wFkmRZfsh6IQmlyVRgYuaBmfxw9Ae8jF7M7DST9gHt1Q4LAEPlyhi6dMGtSxdAmV/MPXHitiqTzE2bih5vHxx8c2FOgwY41KyJZCfORcojS1YWqZ9N59qPP2JXxYeAuXOLOlGWRffzLn4HOAqUbjcSwWp2pexi3PZxnM88z2O1HmNQk0FFm9DaIsnOTlneXqcOFQb8DwDz9evkxMcXtX/N3LSJ9N9/Vx5vNOJYr27hfLdSZWLw0eYWWMJNmVu2cmHsWPJTUqjw5JNUGjQIvUvZbmtQrEQtSZI/0BOYBAy2akSC1WXkZTBt7zSWnFhCoGsg87vOp6lP03s/0QbpXV1xbtUK51atgMK+3UlJhcvhlSmTawsWcjV/PgB23t63dQ801q+vag8HoeSY09K4OOUj0qOisK9enaAff8CpcWO1wyoRxT2jng4MBe56uiVJ0kBgIEBgYOB/j0ywivVn1zNx50Su5Fzh+frP83qD13G0c1Q7rBIjSRL2/v7Y+/vj/lBPoLC2+9ix26pMrkdHK0/Q63GoWfO2hTn21auL2u4yRJZlrq9Zy4UJEzCnp1Px1Vfweu01dA4OaodWYu6ZqCVJeghIlWV5nyRJHe72OFmW5wBzQNk4oMQiFErEZdNlpuyewpoza6hVoRZfdPqCel711A6rVOjs7ZVEHBYGTz8FFNZ2x8UVbbqQsXo1aYsWKY93ccEYFlp4kVJJ3nYVxUYWtig/NZWLEyZwPToGx7p1CfxmLo516qgdVokrzhl1a6C3JEk9UDaVdpMk6QdZlp+ybmhCSZBlmRWnVvDRno/Izs/mrUZv8Xz95zHoDGqHpio7T09cO3TAtUMHoLC2+8yZwguVSqXJlbnf3Kzt9vcvqjIxhoXhULeuqO1WkSzLpC9dysUpHyHn5eE95D08n31WsxeP7zkqWZaHA8MBCs+o3xNJumxIyUxh/M7xbEvaRsNKDRnfajzVPaqrHZZNknQ6HKpXx6F6dTz69gHAYjKRc+RIUfvX7AMHyFi1SnmCwYBj7dpF0yXGsDAMgYFlqja3rMo7d46UMWPI3rETp/BwqkycgH3VqmqHZVXa/PVTzllkC78m/Mr0fdORkRnebDgDag+45/Jv4XY6oxGnJk1watKk6Lb8i6nKRcrCKZO0pUu59sMPAOg9PAr3qAzD2KAhxrDQUt+ySctks5mrCxdy6fMZSDodPuPG4fFY/3JxPeG+ErUsyxuBjVaJRCgRp9NPM277OPan7qe1b2vGtByDr4uv2mFphqGyN4bISNwiI4HC2u6TJ28uzImL4/LmLVC4abR9tWq3VZk41qqFZCjf004PIuf4cVJGjyYnNg6X9u3xGT+uXJVaijNqjci35PP94e+ZfXA2jnaOTGw9kd7BvcVXcSuT7OyU3d5DQqjw2GOAstdeTnx80cKczC1bSI+KUh7v6IhjvXq3VZnY+fiI43QXcl4el+fM5fLXX6N3ccH3k09w61nybQ1snUjUGnDkyhHGbh/LsavHiAyKZETzEXgZvdQOq9zSu7jg3LJl0UaoSm13MjmFFylNsXFc+/FHrn77LQB2lSrd7B4Y1gBj/XronMv2Ao2SYIqLI2XkKHJPnMDtoYeoPGI4dp6l19bAlohEXYblFOTwVexXfHf4Oyo4VmB6h+l0DuqsdljC3yi13X7Y+/vh1qMHoJwp5iQkFFWZ5MTGkRmzTnmCTndLbbeSwO2rV7fJhvbWYMnO5tKML7i6YAF2lSrhP3tWUefF8kok6jJq38V9jNs+jjMZZ3ik5iMMbjIYdwd3tcMSikmyt8cYGooxNBR4EoCCa9duTpnExpKxdi1pv/0GKBsSO4aG3lZlYuelvW9NWTt3kjJ6DPnnzuEx4H94v/ceehcXtcNSnUjUZUxmXibT90/n14Rf8XPxY07kHFr6tlQ7LKEE2FWogEu7dri0awfcqO1OvK3K5Mq8eVBQAIDB1/eW7oENcKxXt8yuxjNnZJA6dSppvy3GPiiIwAXf49ysmdph2QyRqMuQzec388GOD0jNTuXpuk/zZsM3cTKIPhVapdR2V8OhejXoU1jbnZOj1HYXnnVnHzxIxqrVyhMMBhxDQm5bmGMICrL5C2/X163jwrjxFFy5QsWXXsTrzTfROWqnrUFJEIm6DLiWc42P9nzEylMrCXYP5tMen9KgUoN7P1HQHJ2jI06NG9/WbCg/NbXojNsUF0d6VBTXfvoJAL27e2Ftd+GUSWgoeg8PtcK/TcHly1yYNInrq//EISQE/1mzMIbWVzssmyQStQ2TZZk/z/zJ5F2TuZ5/ndcavMZLoS9hrxdLl4WbDN7eGCIicI2IAJSFIbl/nbw5ZXIwlstbtt6s7a5aVanrLqwycQwp3dpuWZbJWL6cix9OxpKdTaVB71DxxRdFffm/EInaRl3IusCknZPYeH4j9SvWZ3zr8dSqUEvtsIQyQNLrcQyphWNILejfHwBzZhY5hw4VdQ/M3Lad9GXLlcc7OOBYt+7tFyp9fa0yZZKflETKuPFkbdmCsVEjqkycgENwcIm/jtaIRG1jLLKFJSeWMG3vNAosBbwX/h5P1XkKva58lGYJ1qF3cca5RXOcWzQHlLPaguTkoj0qTbGxXPv5Z65+953y+EpeN/eobNAAx/r1/1Pzfdli4drPP3Pp02nIQOVRo6jwxOPlYvl3SbCZRB11IIlPtySAOzz0xVaGRYbTp5Gf2mFZVdSBJKauSSA5zYSvh5EXOriyLX02ey7soblPc8a2HEuAW4DaYQoaJEkSBj8/DH5+uHXvDoCcn09OwnFMsQeL5rwz16278QQcatS4rcrEoUbwHWu7//6+HlnfSN2fZmLavx/nNm2oMn4cBj9tf7ZLmiTLJd86Ojw8XN67d2+xHx91IInhS+MpcNmKo88yMo+PwlHnzuRHQjWbrG+M2ZRvBswYPLfiUCkao50Dw1sMpW+NvjZ/tV7QPnNaGqai5fDKwhxzejqgbEjsGBp6W5XJivN5Re9rvcXMoyc28mTCWnRGJ/xHj8D94YfF+/ouJEnaJ8ty+J3us4kz6qlrEjDlm7n1UoIp38zUNQmaTdQ3xmzndgCj368A5F+vi132AB6p2Vfl6ARBoffwwKVtW1zatgUKl8MnJhbtUWmKi+PKt98W1XZ7OVdgkHsABTo7Op3fD8Bm3zCi2j7O6sISQ+H+2USiTk4z3dftWpCcfh37Sutx8FoPgOn8ExRcD+UC4mxDsF2SJGFftSr2Vavi3rs3cKO2+yimuFg2LVxDnatn8DalATCh2bNs9w1FylUz6rLPJhK1r4eRpDskZV8PowrRWN/B1IO4BX+BxXARs8kfU/L/kPMqAdods6BdSm13I5waN2LhhUCS0kw0uHQCk50Dxyso+6eK9/V/YxOXXId0DcFouP2ihNGgZ0jXEJUiso7s/Gw+2v0Rz6x+BlcnC+bkF8k+82ZRktbimIXy5cZnObZSzaIkLd7X/51NnFHfmIeetGUXOYCPuyPDIrV1IXF70nbG7xhPclYyA0IGMKjJIKIPpd12dXxI1xBNjVkof268f8X7umTZRNXHDb8c+4VJuyax8bGNVDRqY9fn9Nx0pu6ZyrKTy6jqVpVxrcbRpHKTez9REIRyxearPrQqOjGaSTsnkZabxkuhL/Fqg1dx0JfN7maCIKhHJGoruJR9iQ93fUjM2RjqeNZhdsRs6lSso3ZYgiCUUSJRlyBZlon6K4qpe6eSW5DLoMaDeKbeMxh0otmMIAgPTiTqEnL++nnG7xjPzpSdNPZuzLhW46jmXk3tsARB0ACRqP8js8XMz8d+ZsaBGUhIjGo+iv4h/dFJNlH5KAiCBohE/R+cTDvJmO1jiLsURxu/NoxpMYYqLlXUDksQBI0RifoB5JvzmXdoHnPi5uBscGZy28n0rNZTNJsRBMEqRKK+T4cuH2LM9jGcuHaC7lW7M6zZMM3UfAuCYJtEoi4mU4GJWQdnseDIArwcvZjRcQYdAzuqHZYgCOWASNTFsDtlN+N2jOPc9XM8WutRBjcZjKu9q9phCYJQTohE/S+u511n2r5pLD6+mADXAOZ1mUezKs3UDksQhHJGJOq72HB2AxN3TuRyzmWeq/ccrzd8HaOdaNUoCELpu2eiliTJEdgMOBQ+frEsy2OtHZharpiuMGX3FP488yc1K9Tk806fU9+rvtphCYJQjhXnjDoX6CTLcqYkSQZgqyRJq2VZ3mnl2EqVLMusOLWCj/Z8RFZ+Fm80fIMX67+IQS+WfwuCoK57JmpZ6YOaWfi/hsI/Jd8bVUUpmSl8sPMDtiZtJaxSGB+0+oBgj2C1wxIEQQCKOUctSZIe2AfUAL6UZXnXHR4zEBgIEBgYWJIxWo1FtrAoYRGf7fsMGZn3m73PgJAB6HX6ez9ZEAShlBQrUcuybAYaSpLkAfwuSVJ9WZYP/e0xc4A5oGwcUOKRlrDT6acZt30c+1P307JKS8a0HIO/q7/aYQmCIPzDfVV9yLKcJknSRqAbcOgeD7dJ+ZZ8vj/8PbMPzsbBzoEJrSfwcPDDYvm3IAg2qzhVH5WA/MIkbQQigI+sHpkVHL1ylDHbx3Ds6jEigyIZ0XwEXkYvtewSCWUAACAASURBVMMSBEH4V8U5o64CfF84T60DFsmyvMK6YZWsXHMusw/O5rvD3+Hh4MG0DtOIDIpUOyxBEIRiKU7VRxzQqBRisYr9F/czdvtYzmScoU+NPrwX/h7uDu5qhyUIglBsml2ZmJWfxfR90/kl4Rf8XPz4OvJrWvm2UjssQRCE+6bJRL3l/BY+2PkBF7Mu8lSdp3ir0Vs4GZzUDksQBOGBaCpRX8u5xsd7PmbFqRUEuwezoPsCGno3VDssQRCE/0QTiVqWZdacWcPk3ZPJyM3g1Qav8nLoy9jr7dUOTRAE4T8r84n6YtZFJu6ayMZzG6lXsR5zIucQ4hmidliCIAglpswmalmWWXJiCZ/u/ZQCSwHvhb/Hk3WexE5XZockCIJwR2Uyq53NOMv4HePZfWE3TX2aMq7lOALdykZ/EUEQhPtVphJ1gaWAH4/+yMwDM7HT2TG25Vj61ewnln8LgqBpZSZRH792nLHbxnLoyiE6BHRgVPNRVHaurHZYgiAIVmfziTrPnMecuDnMi5+Hm4MbU9tPpWtQV3EWLQhCuWHTifpg6kHGbh/LqfRT9Krei6FNh+Lh6KF2WIIgCKXKZhJ11IEkPt2SAO7w0Mx1hNaNZ+flZVR2rsyszrNo699W7RBLXNSBJKauSSA5zYSvh5EhXUPo08hP7bCEElQej3F5HLO12USijjqQxPCl8RS45OPoDhme09lx+TrNK/bi864jcTY4qx1iibsxZlO+GYCkNBPDl8YDiDe1RpTHY3z7mOVyMebSoFM7AICpaxKUAysXboFldiD7zCscPRShySQNt4z5FqZ8M1PXJKgUkVDSbhzjDrqDbHV4m/76jZjyCzR9jG+M+VPDLGYZPkfCIt7XJcAmzqiT00wA5GeEIVsMFFyvD7KBZJNJ5cisw5RnJintzmO72+1C2XPjfV1DSsJfusxUwxx667YzIv0llSOznptjTqaB7hRvWqL4wvxI0e3Cg7GJM2pfD6PyF4sjBRmNQDbcfruG7Dh5hW6fb77r/XY6id2nr5ZiRIK1/P39Oyn/CRrqTrLWYRjsnA0W812eWXb9fczv2i2hrS5Ok5/l0mQTiXpI1xCMhtt3/jYa9Azpqp2eHRk5+QxfGs/jc3cC8EaH4H+M2V6vw91o4LGvdzAqKp7rOflqhCqUkL+/r38yd6a35RPSKzeHP9+H+V0h9ZiKEZa8W8e8w1yX47I/MwxfMqatq8qRlW02MfVx4yKDVq8Uxxy5yMioeC5dz2Vgu+q8G1ELo72empVd/zHmLvUq8+na48zfdpp1R1P5sG8oHWt7qz0E4QHceP+eW7kaCsDX3cgb3Vri0/BJiF8Mq4fCV22g3RBo8y7Ylf1ujzfGbL9cx5UCez53HMZCyzC6Hnkfmq/WxBjVIMmyXOI/NDw8XN67d2+J/9yy5nJmLuP/OMIfscnU9nHlo35hNAgoXh34/rPXGLY4jhOpmfRp6MuYXvXwdBZv8jJp+xewdhQMPw8Ot5xZZl2G1cPg0GLwrgsPzwS/JurFWZLmdADnSvDkb3BkOSx6GpoNhB5T1Y7MZkmStE+W5fA73WcTUx9aI8syUQeSiJy2iT8PpTA4shbL32xT7CQN0DiwAivebsM7nWuyMj6FiGmbWB6bjDV+sQoqcfaCR+fB47+AKQ2+iYA1IyEvW+3ISlbd3tDyTdg9B+J+UzuaMkkk6hKWnGbihe/2MOjXg1T1cmbV2215u3NN7O3u/5/awU7Pu5G1+OOtNgRUMPL2zwd4ecFeUtLFFXRNCekOb+yExs/CjpkwuyWcvvsF5zIpYhwEtoQ/3obUo2pHU+aIRF1CLBaZhTvOEDltEztPXWVsr7osfrUVNSv/94sotX3cWPp6a0b1rMPWvy7TZdpmftp1FotFnF1rhqM79JoOz64ASQff94Llbytn2lqgN8Cj34K9C/z6NOReVzuiMkUk6hJw8lImA+bsZPSywzQOqsDad9vxfOtq6HUl1zhKr5N4qW111gxqR6i/OyN+j+eJb3Zy5nJWib2GYAOqtYVXt0Grt+HAQpjVAo6tUjuqkuFWBR6dD1dPwvK3QEzjFZtI1P9BvtnCrI1/0f3zLRy7kMHUR8NY8EIzAjytt+N5UEVnfnypOR/1C+VwcgZdp2/m600nKTBbrPaaQimzd4IuE+CldWD0hF8eh9+eh8xLakf231VrC53HwOHfYddXakdTZohE/YAOJaXT58ttfPxnAp1rexPzf+3pHx5QKu1XJUnif00DiRncnna1KjF59TH6ztrOkeQMq7+2UIr8GsPAjdBxFBxbAV82hdhfy/6ZaOtBENJTqYQ5u0vtaMoEkajvU06+mY//PMbDX27jYkYus59szOynmuDt6ljqsVR2c2TO00348onGpKSb6D1zK5+uTSC3QHsr3sotO3toPwRe2QIVa8LvA+HH/pB2Tu3IHpwkQZ9Z4B4Avz2rjW8KViYS9X3Yc+YqPT7fwqyNJ3mkkR/rBrene2gVVWOSJImeYVWIfrc9vRv68sX6v+g5Yyv7EsUydE3xrg0v/AndPoLEbcrc9e65YCmjU15GD3hsAZiuwZIXNLmcviSJRF0MmbkFjFl2iP5f7SDPbGHhi82Y2r8B7k4GtUMrUsHZnmmPNeS755tiyjPz6Fc7GLf8MFm5BWqHJpQUnR5avAqv7wT/prDqPfiuB1w+oXZkD6ZKGPT8VClF3DBJ7WhsmkjU97AhIZUu0zaxcGciL7SuxppB7Whbs5LaYd1VhxBv1rzbjmdaBPH9jjN0+Wwzm4+Lr5aaUiEInv4d+sxWapJnt4Yt08BcBnvDNHoKGj8DWz6FhD/VjsZmiUR9F9ey8hj860Ge/3YPTg52LH61FWN61cXZwSbao/wrFwc7xj9cn99eaYmDQccz83fz3m+xpGXnqR2aUFIkCRo+AW/shpBusG48zO0IKbFqR3b/uk8FnzBl/v3qabWjsUn3TNSSJAVIkrRBkqSjkiQdliTpndIITC2yLLMiLrloyfbbnWqw8u02NAmqoHZo9y28qier3m7Lmx1r8PuBJCKmbWZ1fIraYQklybWyMtf72ELITIU5HSFmHOSXodWrBkdlDACLnoH8HHXjsUHFOaMuAP5PluU6QAvgDUmS6lo3LHVczMhh4MJ9vPnTAfwqGPnjrTYM7hKCg53+3k+2UY4GPe91DWH5m63xcXfgtR/38+rCfaRmiA+DptTtDW/sgoaPw9bPlK58idvVjqr4PKtB3zlwIQ5WD1E7Gptzz0Qty3KKLMv7C/9+HTgKaKP/aCFZlvll91kipm1i8/FLjOhRm6WvtaJOFTe1Qysx9XzdiXq9Ne93r82GhFQipm1i0d5zosmTlhgrwMNfwtNRYM6Db7vDyv+DnDJSXx/SDdr+H+xfAAd+VDsam3Jfc9SSJFUFGgH/qFKXJGmgJEl7JUnae+lS2bl4lXgliyfm7uL9pfHU83VjzaB2DGwXjJ1ee9P3dnodr7YPZvU7baldxY2hi+N4et5uzl3VWLe28i64o1IZ0uJ12DMPZrWE42vVjqp4Oo6Eau1g5WC4EK92NDaj2NlIkiQXYAkwSJblf/yKlmV5jizL4bIsh1eqZLtVETeYLTJzN5+i6/TNHEpKZ/Ijofz0UguqemlzM91bVa/kwi8vt2Bin/ocPJdGl882M3/racyiyZN22DtDt8nwYjQ4uMBP/WHpQMi6onZk/06nh37zlW8Hvz6tnaZU/1GxErUkSQaUJP2jLMtLrRuS9R27kMEjs7YxadVR2tTwInpwex5vFoiuBJso2TqdTuKpFkGsfbcdLYMr8sGKIzz61XZOXBRdzTQloCm8shnaD4NDS+DLZsp/bXnKy6US9P8e0s9B1Ou2HWspKU7VhwTMA47KsjzN+iFZT26BmWnRx3loxlbOXzPxxeONmPtMOD7upb/821b4ehiZ92w4nw9oyJnLWfSYsYXPY06QV1BGV7wJ/2TnAB1HwMBN4BEAi1+AX56AjGS1I7u7wOYQOQESVsK2z9WORnXFOaNuDTwNdJIk6WDhnx5WjqvE7T97jYdmbGXGuhP0auBL9OD29GrgWypNlGydJEk83NCPmMHt6RFahc9ijtPri63EnhNfOzXFpz68GANdJsLJDfBlc9j7re0uQ2/xGtTto9SIn96idjSqKk7Vx1ZZliVZlsNkWW5Y+KfMNMjNzivggz+O0G/2drJyC/j2uaZ89r+GYv/BO6jo4sDnAxrxzTPhpJvy6TtrG5NWHsGUJ/owaIbeDlq9Ba9tgyoNYMUgWNAbrpxUO7J/kiRlH0nPYOVbwPULakekGu2VNtxi64nLyoWybad5qnkQa95tJ3b0LoaIupVZO7gdA5oFMnfLabpO38z2k5fVDksoSRWD4dk/oNfnymrG2a2VTXjNNtYbxsEV/rcQ8jLht+fK5jL5EqDJRJ2enc/QxbE8NW8X9nodi15pyYQ+9XF1tJ0mSrbOzdHAh31D+fnlFugkeGLuLoYvjSPdVD4/KJokSdDkOWWhTHBHpT/0vEi4eFjtyG7nXQd6zYCzO5RVl+WQ5hL1n4dSiPhsE0v2J/F6h2BWvdOWZtU81Q6rzGoZXJHV77TjlXbV+XXPObp8tonoIxfVDksoSW6+MOAnZU/DtLPwdTtYPwkKctWO7Kaw/tD0ZWXz3yPL1Y6m1GkmUadez+G1H/bx6g/7qeTiwLI3WjO0W20cDWV3+betMNrrGd6jDlFvtKaCkz0vL9jLmz/t53KmDX2Qhf9GkqD+I/DmHqj/KGz+GL5qC+d2qx3ZTV0ngV8TpWTv8l9qR1OqynyilmWZ3/aeI3LaZtYdS2VotxCWvdma+n7uaoemOWH+HvzxVhve61KLtYcvEjFtE0v3nxfL0LXEyRMe+RqeXAx5WTCvC6x+H3Iz1Y5MKTPs/72yo/mip5X4yokynajPXc3mmfm7GbI4jlqVXVj9Tlte71ADgwaXf9sKg17Hm51qsuqdNlT3cmbwolie+3YPSWllqFubcG81I+GNndD0Jdg1G2a3hJPr1Y5KqQPv943Sh3vF4HKzGKZMZjSzRebbbUo1wv7Ea0x4uB6/DmxJcCUXtUMrN2p4u/Lbq60Y16sue85cpcu0TSzYcQaLWIauHQ6u0PMTeH416O1hYV+IekPZPktNNTpDh+EQ9wvs+1bdWEpJmUvUJy5ep/9X2xn/xxGaVvVk7eD2PN2yarla/m0r9DqJ5wp3vWkcVIExyw7zvzk7OHnJBr4mCyUnqBW8ug3aDIbYn5WFMmpf0Gs3BGpEwOphkLRf3VhKQZlJ1HkFFr5Yd4KeM7Zy6nIWn/2vAd893xQ/D6PaoZV7AZ5OLHihGZ/0b8Dxi5l0/3wLX274i3yzja54E+6fwREixsLADeDircwR//o0XFepAking0fmgktlWPQsZGt7M+cykajjzqfRe+ZWPo0+Tpd6lYkZ3J6+jfzF8m8bIkkSjzbxJ3pwOyLqeDN1TQIPz9zGoaR0tUMTSlKVBvDyBug8Fo6vgS+bKr2j1ZgrdvKEx76HzAtKZ0BbXQpfAmw6UZvyzExedZQ+X27jWnYec55uwswnGuPl4qB2aMJdeLs6MuvJJnz1VBMuZeby8Jfb+OjPY+Tki2XomqE3QNvByjJ077qw7HVl/vramdKPxa+J0s71r2jY8knpv34pkaxRWhUeHi7v3bv3vp4TdSCJqWsSSE4z4ethpE8jX1bGpXDmSjaPNwvg/e51cDdqa2Xh38c8pGsIfRppZ/Oc9Ox8Plx1lF/3nqO6lzNT+oWRnGbS9Jj/LupAEudWfsxbBd8R6fATb3RrqK3xWiywd56yYlC2QOcxRNn3JOSPvqQUuDDaeaz1j7Esw++vQNwieGqJcrGxDJIkaZ8sy+F3vM8WEnXUgSSGL43H9LezrorO9nzxeCNa1fAq6RBVd6cxGw16Jj8Sqq0PMkrPleG/x3Huqgm9TrptgwKtjhluHuMnLcsZZfiRejnzsBhctDnetHOw4l34K5qDck28uMZxiz8v5A8tnWOclwVzO0PmRXh1C7j7W++1rOTfErVNTH1MXZPwjyQNYG+n02SShjuP2ZRvZuqaBJUisp42Nb1YM6gdzg76f+wio9Uxw81j7C3dbBer2fF6BMCTvzHe8A6BpOAv3WziVSpjtndWmjeZ85WLiwV51n29UmYTiTr5LoslLqRrd6fsuy0Qudu/RVlnr9eRlXvneWqtjjkvLYVZhukMtFvJLkttslGurWh1vEgS311vTmTuVH4s6MwqS/Oiu0plzF41lbaoSXth7Ujrv14pslM7AFB2GblT4vLVYOldZm4BH/957K73a3HMxy5kMGxx3F3v19yYZRkO/sQ6xyE4yHl8lD+AueYeyIXnRZob7y2UzzKMLHjxH7eXinp94PybSvOmgOYQ+mjpvK6V2cQZ9ZCuIRj/1jzJaNAzpGuIShFZx4aEVLpM28TCnYm0q+mFo93t//xaG3NugZlpaxOKtj57pmWQ5sfMtTNKBcSy18nzDKGP5WNmm3tTUHhOpLnx/o1NfJYjxkFgS1j+FqTe/aSoLLGJM+obFxnGLj9MuikfHzdH3u9eWzMXXK5l5TFhxRGWHkiihrcLi19tRZOgCkQdSGLo4jjyzBb8NFYBsS/xGsOWxPFXaiZ9G/kx+qG6eDrb0ziwgjarPixm2D0H1n0Akg56fIJX+Iu8EpuizfHexY2xqTpmvUFp2fp1W2VhzsvrleXwZZhNVH3csHDHGUYvO8zeURGaqJWWZZmV8SmMXab8Anq9QzBvdKqBg93NM47HvtqBXifx88AWKkZacrJyC/hkbQLfbT9DFTdHJvUN1f6uOqnHYPmbcH4P1IiEhz5TLq4J6jq9RdlmrO7DSuK28QVy/1b1YRNn1Fp0MSOHUVGHiD5ykVA/d354qTl1qripHZZVbTlxieFL4zl/zcTTLYIY2i1E27vqFOTBtumweSrYu0DfORD2mM0nhHKjWlvoNFrZHDegBbR4Ve2IHphI1CVMlmV+3XOOSauOkldgYUSP2rzQuhp2Gm69mp6dz8SVR/ht33mqezmz6JWW2t9VJ2kfLHsLUg9D/X7Q7SNwqaR2VMLftR6kfNNZOxJ8G0Fg83s/xwaJRF2CEq9k8f6SeHacukLzap581C+Mql7OaodlVX8eSmH0ssNczcrj9Q7BvN25prZ31cnLho0fwo4vlYZAA36G2j3Ujkq4G50O+syGOe2VzXFf2Vwmf6GKRF0CzBaZ+VtP82l0Agadjg/7hjKgaYCmW6+mXs9h7LLDrD50gbpV3Pj2uaba31Xn9GZY/jZcOw2Nn4XID8DooXZUwr0YPeCxhcrGvUtehKd/B13ZOpkQifo/ulEjHHs+nc61vZnYtz5V3LVbJyvLMov3nWfiyqOY8s0M6RrCwHbVtb2rTk46RI+Bfd9BharwzHKo3l7tqIT7USUMenyiXPTd8CF0Hq12RPdFJOoHlFtg5ssNJ5m14S/cjAZmPN6IXmFVNN169dzVbEb8Hs+WE5cJD6rAlH5h1PDW+K46CauVHhaZF6Hlm9BxJNg7qR2V8CAaPw3ndild9vybQkg3tSMqNpGoH8CBs0qN8PGLmfRp6MuYXvXwdLZXOyyrMVtkFuw4w9Q1CUjAhIfr8WTzIE1P7ZB5Cf4cBoeWgHc9GPCj0lJTKNt6TIWUg/D7QGW+ukJVtSMqFpGo70N2XgGfrj3O/G2n8XFz5Nvnmmq+RvjExesMWxLH/rNptK9ViQ8fCdX2rjqyDPG/KVs85V5XzqBbDwI77f4iLlcMRmW+ek57WPQMvLBW2b3GxolEXUy3tuosDzXCeQUWvt50ki/W/4WTg57P/teAPg39ND21Q/p5ZZrjxFrlq3HvL8C7jtpRCSXNsxr0/Rp+HgCrh0LvGWpHdE8iUd9DenY+k1YdYdHe81TzcubXgS1oXr2i2mFZVdz5NIYujuPYhes8FFaFcb3raWKl6F39vfl9tynQbGCZqwwQ7kNId2Wz3q3TlOZNjZ5UO6J/JRL1v/jz0AVGLzvE1aw8XusQzDsarxE25Zn5LOY432w5RSVXB+Y83YQu9XzUDsu6Lp9QSu7ObofqHaDX52Vm3lL4jzqOVBbDrBysVIX4hKod0V2JRH0HqddzGLf8MKviy0+N8I6TV3h/aRyJGt767DbmfNj+BWycosxRPvwlNHxSLP8uT/R28Oh8+LqdsqP6wI02Wxd/z0QtSdJ84CEgVZbl+tYPST2yLLNkfxITVhwpNzXCGTn5TF51jJ93nyXQ04mfXmqu2V11iqTEwrI34UIc1Oml1Ne6avybg3BnLt7Q/zv4ricsewP+94NN/rIuzhn1d8BMYIF1Q1FXeawRjjlykZFR8Vy6nsvLbasxODIEo712p3bIz4FNH8G2z8GpIjy2QOmsJpRvgS2UVaZrRsD2GdD6HbUj+od7JmpZljdLklTV+qGow2yRWbjjDB+Xoxrhy5m5jP/jCH/EJlPbx5U5T4fTIMA2v/KVmMQdyqq0K39Bw6egywRw0njjKKH4WryuLIaJGafUy1dto3ZEtymxOWpJkgYCAwECAwNL6sda1V+p1xm6uPzUCMuyzLKDyYz/4zCZuQUMjqzFq+2DsbfT7tQOudchZjzsmQsegfDUUqjRWe2oBFsjSdB7Jlw8DL89r+xkbkPTYSWWqGVZngPMAWXjgJL6udaQb7bw1cbyVSOcnGZi5O/xbEi4RKNADz7qF0atymV714t7OhENfwyCjCRo/hp0GgUO2p7OEv4DRzdlMcw3nZVk/exyZbcYG1Duqj5urRHuGVaF8RqvEbZYZH7cfZYpq45ikWHMQ3V5tlVV9Bqe2iH7Kvw5HOJ+Aa8QeHEtBDRTOyqhLKhcVynRXPqysuFAl4lqRwSUo0Sdk2/ms+jjzN1yCi8XB75+ugldNV4jfOpSJu8viWf3mau0qeHF5EdCCfDUcEMhWYbDv8OqIZCTBu2GQrv3wE67v4gFKwh7TJmv3v4F+DeDur3VjqhY5Xk/Ax0AL0mSzgNjZVmeZ+3AStLOU1d4f0kcZ8pJjXCB2cLcLaf5LOY4jnY6Pn40jP5N/DU9tUNGCqz8P0hYCVUawjPLwEfT1aSCNXX9EJIPQNTr4F0XvGqoGk5xqj4eL41ArCEjJ58pq4/x067yUyN8ODmdYUviOJSUQbd6PnzwcD283Wy/6cwDk2XYvwDWjgZzLkROUK7g68vNl0XBGuwcoP/3ymKYRc/ASzGqtrfV7Lt53dGLjPz9EKnXc8pFjXBOvpkv1p/gq02nqOBkz+wnG9M9tIraYVnX1VPK8u8zWyCojdJcp2Kw2lEJWuERAP3mwg+PKs26+n6l2mIYzSXqK4U1wstjkwmp7MpXTzehocZrhPecucqwJXGcupRF/yb+jOxZBw8nDbfltJhh5yxYP0m5Kv/QdGVrLJ2GywwFddSIgA7vw8bJysa44S+oEoZmErUsyyyPTWbccqVG+N2IWrzWQds1wpm5BXz85zEW7EjEv4KRBS80o12tsrdx5325eFhZ/p28H2p1g57TwN1P7agELWs3FM7tVnqUV2kIfo1LPQRNJOrkNBOjog6x/lgqDQM8+PhR7dcIb0hIZeTSeFIycniuVVWGdA3B2UETh/POCnJhy6fKH0d36DcP6vezyb4MgsbodPDI3ML56mfhlU2lvqq1TH+yLRaZn3afZcrqY5gtMqMfqstzGq8RvpaVx4QVR1h6IIngSs4sfrUlTYI0vhT63B5l+felYxD6mNIv2lnbPcEFG+Nc2BtmfldYOhCeWFSqU21lNlGfupTJ+0vj2X26fNQIy7LMyvgUxi47TLopn7c71eCNTjVwsNPuBVLysmD9RNg5G9x84YnfoFYXtaMSyiv/JtBtMqx6T9kgt/3QUnvpMpeoC8wWvtl6ms+ij+NQTmqEL2bkMCrqENFHLhLq584PLzWnThU3tcOyrpMb4I93IC0Rmr4EnccqS3wFQU1NX1Lmqzd8CP7hENypVF62TCXqW2uEu9arzISH62u6RliWZX7dc45Jq46SV2BhRI/avNC6GnYa7o+N6RqsHQUHfgDPYHhuFVRtrXZUgqCQJOg1HS7Ew+IXleZN7v5Wf9kykajLY41w4pUs3l8Sz45TV2hezZOP+oVR1ctZ7bCs6+gfyurCrMvQ5l1oP0zZNVoQbIm9M/xvIczpoFxcfH611Xept/lEvffMVYYW1gg/2sSfURqvETZbZOZvPc2n0QkYdDo+7BvKgKYBmu6PzfWLsHoIHFmm7Fv3xCLwbah2VIJwd141le3bfnsW1o6EHlOt+nI2k6ijDiTxydrjADw0YyuDImpyNCWDBTsT8XXXZo1w1IEkDp5LI89sofWU9TzZPJA1hy8Qez6dzrW9mdi3PlXctXVGGXUgialrEkhOM+Hr7siMusdocvRjyDdB5zHQ6m2baS1ZEm4br4eRIV1D6NNI23Xf5WbM9frAuTdg55fsMddk0OEaVhuzJMsl3zo6PDxc3rt3b7EfH3UgieFL4zHlm28GVvjfZzVaI3ynMQM4O+iZ/EgYvcKqaO4C6a1j9pcu8aHdN7TTx3PFszEVH/8aKtVSO8QSdadjbDTomfxIqDYTF+VwzOZ8rnzZBeOVw/TOm8BfsjJf/SBjliRpnyzL4Xe6zyay39Q1Cf9IWDLg5WLPuN711AnKyu40ZgBXBwO9G/iqEJH13Rjzk/oYRtj9iLOUy0FLMKsyWjLi/B44v0ftEEvU4ZVH6WnJw0OfySjDjzfvWFb4R4P6AH30gB4uye58VDAALHB45Vb6UEft8KxicUZtXpH285VhOr3zJpKNI6Z8M1PXJJTYLyebSNTJaaY73n4lM6+UIyk9dxvzxYycUo6k9CSnmTBQwEi7H3GScgFoqDtJw4IvNZm4RgJoZxbnvlWS0vnE8LXyPwVo8hgDvFL43xq6ZMJ0p9hpqQvc/TP+IGwiUft6WBWC0QAAA89JREFUGEm6w6B8Nbx/YXkec4vcmbhJ2UW3V3Z1ZMlrLVWMzDr6zd7BxevKL95Q6RTOkvL3CkZ7RvbU5tnlpJVHuWZSTrDSZBeOycr+qVo9xnDzOOfKdlyiQtHtJflZtolEPaRryB3ntYZ0DVExKusqz2POyHcmQ1ZKDY0GPe91D4UK2pu/fLq7XdExPi8rF8KNBj2Te4aCFudrgXrceY5aq8cYbj/ON5T0Z9kmEvWNeZxycaW4kBiz9sdc3sYLYsyarvoQBEEo7/6t6kPDa5EFQRC0QSRqQRAEGycStSAIgo0TiVoQBMHGiUQtCIJg40SiFgRBsHFWKc+TJOkSkFjiP9j6vIDLagdRisrbeEGMuTwoq+MNkmX5ji1CrZKoyypJkvberY5Ri8rbeEGMuTzQ4njF1IcgCIKNE4laEATBxolEfbs5agdQysrbeEGMuTzQ3HjFHLUgCIKNE2fUgiAINk4kakEQBBsnEjUgSdJ8SZJSJUk6pHYspUGSpABJkjZIknRUkqTDkiS9o3ZM1iZJkqMkSbslSYotHPN4tWMqDZIk6SVJOiBJ0gq1YykNkiSdkSQpXpKkg5IkaabXspijBiRJagdkAgtkWa6vdjzWJklSFaCKLMv7JUlyBfYBfWRZPqJyaFYjKVu6O8uynClJkgHYCrwjy/JOlUOzKkmSBgPhgJssyw+pHY+1SZJ0BgiXZbksLni5K3FGDciyvBm4qnYcpUWW5RRZlvcX/v06cBTQ7hYcgKzILPxfQ+EfTZ+lSJLkD/QEvlE7FuG/EYm6nJMkqSrQCNilbiTWVzgNcBBIBaJlWdb6mKcDQwGL2oGUIhlYK0nSPkmSBqodTEkRibockyTJBVgCDJJlOUPteKxNlmWzLMsNAX+gmSRJmp3mkiTpISBVluV9asdSylrLstwY6A68UTitWeaJRF1OFc7TLgF+lP+/XTtEiTiIozj+fVG2WEQWDDZvYNkmIovBbNDkKbyEN7AJmjQtmNQgCFrUogcQg8kbPMPOEXZ2Bv/vA8NMfOkxzPzs69Z5lsn2L/AATBtHqWkCHJQ32ytgR9JF20j12f4u+w9wA2y3TbQYKeoBKh9r58CH7bPWeZZB0pqk1XJeAXaBz7ap6rF9anvD9iZwCNzZPmocqypJo/I5jqQRsAf8i0muFDUg6RJ4ArYkfUk6aZ2psglwzPyW9VrWfutQlY2Be0nvwAvzN+pBjKwNyDrwKOkNeAZmtm8bZ1qIjOdFRHQuN+qIiM6lqCMiOpeijojoXIo6IqJzKeqIiM6lqCMiOpeijojo3B+BisMHhBd08AAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"import math\n",
"import copy\n",
"import random\n",
"#初始化城市\n",
"def xy():\n",
" li = []\n",
" for i in range(30):\n",
" x = np.random.randint(10, 4000)\n",
" y = np.random.randint(10, 4000)\n",
" li.append(np.array([x, y]))\n",
" li = np.array(li)\n",
" # return np.array(\n",
" # [[100, 200], [234, 1245], [423, 124], [123, 974], [578, 294], [1000, 500], [492, 2100], [320, 418], [836, 914]])\n",
" return li\n",
"\n",
"#计算城市间距离矩阵\n",
"def D(location1, location2):\n",
" return math.sqrt(pow(location1[0] - location2[0], 2) + pow(location1[1] - location2[1], 2))\n",
" \n",
"def DMAT(locations):\n",
" length = len(locations)\n",
" distance = np.ones([length, length])\n",
" # print(distance.shape)\n",
" for i in range(length):\n",
" for j in range(length):\n",
" distance[i, j] = D(locations[i], locations[j])\n",
" return distance\n",
"\n",
"#初始化种群\n",
"def init_population(length, num):\n",
" li = list(range(length))\n",
" print(li)\n",
" population = []\n",
" for i in range(num):\n",
" random.shuffle(li)\n",
" population.append(copy.deepcopy(li))\n",
" return population\n",
"\n",
"#适应度计算\n",
"def aimFunction(entity, DMAT, break_points):\n",
" \"\"\"\n",
" 目标函数\n",
" :param entity: 个体\n",
" :param DMAT: 距离矩阵\n",
" :param break_points: 切断点\n",
" :return:\n",
" \"\"\"\n",
" distance = 0\n",
" break_points.insert(0, 0)\n",
" break_points.append(len(entity))\n",
" routes = []\n",
" for i in range(len(break_points) - 1):\n",
" routes.append(entity[break_points[i]:break_points[i + 1]])\n",
" # print(routes)\n",
" for route in routes:\n",
" route.append(route[0])\n",
" for i in range(len(route)-1):\n",
" distance += DMAT[route[i],route[i+1]]\n",
"\n",
" return 1.0/distance\n",
"\n",
"\n",
"def fitness(population, DMAT, break_points, aimFunction):\n",
" \"\"\"\n",
" 适应度\n",
" :param population: 种群\n",
" :param DMAT: 距离矩阵\n",
" :param break_points:切断点\n",
" :param aimFunction: 目标函数\n",
" :return:\n",
" \"\"\"\n",
"\n",
" value = []\n",
" for i in range(len(population)):\n",
" value.append(aimFunction(population[i], DMAT, copy.deepcopy(break_points)))\n",
" # weed out negative value\n",
" if value[i] < 0:\n",
" value[i] = 0\n",
" return value\n",
"\n",
"#选择(物竞天择)\n",
"def selection(population, value):\n",
" # 轮盘赌选择\n",
" fitness_sum = []\n",
" for i in range(len(value)):\n",
" if i == 0:\n",
" fitness_sum.append(value[i])\n",
" else:\n",
" fitness_sum.append(fitness_sum[i - 1] + value[i])\n",
"\n",
" for i in range(len(fitness_sum)):\n",
" fitness_sum[i] /= sum(value)\n",
"\n",
" # select new population\n",
" population_new = []\n",
" for i in range(len(value)):\n",
" rand = np.random.uniform(0, 1)\n",
" for j in range(len(value)):\n",
" if j == 0:\n",
" if 0 < rand and rand <= fitness_sum[j]:\n",
" population_new.append(population[j])\n",
"\n",
" else:\n",
" if fitness_sum[j - 1] < rand and rand <= fitness_sum[j]:\n",
" population_new.append(population[j])\n",
" return population_new\n",
"\n",
"#交叉\n",
"def amend(entity, low, high):\n",
" \"\"\"\n",
" 修正个体\n",
" :param entity: 个体\n",
" :param low: 交叉点最低处\n",
" :param high: 交叉点最高处\n",
" :return:\n",
" \"\"\"\n",
" length = len(entity)\n",
" cross_gene = entity[low:high] # 交叉基因\n",
" not_in_cross = [] # 应交叉基因\n",
" raw = entity[0:low] + entity[high:] # 非交叉基因\n",
"\n",
"\n",
" for i in range(length):\n",
" if not i in cross_gene:\n",
" not_in_cross.append(i)\n",
"\n",
" error_index = []\n",
" for i in range(len(raw)):\n",
" if raw[i] in not_in_cross:\n",
" not_in_cross.remove(raw[i])\n",
" else:\n",
" error_index.append(i)\n",
" for i in range(len(error_index)):\n",
" raw[error_index[i]] = not_in_cross[i]\n",
"\n",
" entity = raw[0:low] + cross_gene + raw[low:]\n",
"\n",
" return entity\n",
"\n",
"\n",
"def crossover(population_new, pc):\n",
" \"\"\"\n",
" 交叉\n",
" :param population_new: 种群\n",
" :param pc: 交叉概率\n",
" :return:\n",
" \"\"\"\n",
" half = int(len(population_new) / 2)\n",
" father = population_new[:half]\n",
" mother = population_new[half:]\n",
" np.random.shuffle(father)\n",
" np.random.shuffle(mother)\n",
" offspring = []\n",
" for i in range(half):\n",
" if np.random.uniform(0, 1) <= pc:\n",
" # cut1 = np.random.randint(0, len(population_new[0]))\n",
" # if cut1 >len(father[i]) -5:\n",
" # cut2 = cut1-5\n",
" # else:\n",
" # cut2 = cut1+5\n",
" cut1 = 0\n",
" cut2 = np.random.randint(0, len(population_new[0]))\n",
" if cut1 > cut2:\n",
" cut1, cut2 = cut2, cut1\n",
" if cut1 == cut2:\n",
" son = father[i]\n",
" daughter = mother[i]\n",
" else:\n",
" son = father[i][0:cut1] + mother[i][cut1:cut2] + father[i][cut2:]\n",
" son = amend(son, cut1, cut2)\n",
" daughter = mother[i][0:cut1] + father[i][cut1:cut2] + mother[i][cut2:]\n",
" daughter = amend(daughter, cut1, cut2)\n",
"\n",
" else:\n",
" son = father[i]\n",
" daughter = mother[i]\n",
" offspring.append(son)\n",
" offspring.append(daughter)\n",
"\n",
" return offspring\n",
"\n",
"#变异\n",
"def mutation(offspring, pm):\n",
" for i in range(len(offspring)):\n",
" if np.random.uniform(0, 1) <= pm:\n",
" position1 = np.random.randint(0, len(offspring[i]))\n",
" position2 = np.random.randint(0, len(offspring[i]))\n",
" # print(offspring[i])\n",
" offspring[i][position1],offspring[i][position2] = offspring[i][position2],offspring[i][position1]\n",
" # print(offspring[i])\n",
" return offspring\n",
"\n",
"#主逻辑代码\n",
"def show_population(population):\n",
" # x = [i / 100 for i in range(900)]\n",
" x = [i / 100 for i in range(-450, 450)]\n",
" y = [0 for i in range(900)]\n",
" for i in range(900):\n",
" y[i] = aimFunction(x[i])\n",
"\n",
" population_10 = [decode(p) for p in population]\n",
" y_population = [aimFunction(p) for p in population_10]\n",
"\n",
" plt.plot(x, y)\n",
" plt.plot(population_10, y_population, 'ro')\n",
" plt.show()\n",
"\n",
"\n",
"if __name__ == '__main__':\n",
"\n",
" # x = [i / 100 for i in range(900)]\n",
" # y = [0 for i in range(900)]\n",
"\n",
" locations = np.stack((x,y), axis=1)\n",
" DMAT = DMAT(locations)\n",
" break_points = [6, 14, 20]\n",
" population = init_population(len(locations), 90)\n",
"\n",
" t = []\n",
" for i in range(4001):\n",
" # selection\n",
" value = fitness(population, DMAT, break_points, aimFunction)\n",
" population_new = selection(population, value)\n",
" # crossover\n",
" offspring = crossover(population_new, 0.65)\n",
" # mutation\n",
" population = mutation(offspring, 0.02)\n",
" # if i % 1 == 0:\n",
" # show_population(population)\n",
" result = []\n",
" for j in range(len(population)):\n",
" result.append(1.0 / aimFunction(population[j], DMAT, copy.deepcopy(break_points)))\n",
"\n",
" t.append(min(result))\n",
" if i % 400 == 0:\n",
" min_entity = population[result.index(min(result))]\n",
" plt.scatter(locations[:, 0], locations[:, 1])\n",
"\n",
" routes = []\n",
" break_points_plt = copy.deepcopy(break_points)\n",
" break_points_plt.insert(0, 0)\n",
" break_points_plt.append(len(min_entity))\n",
" for i in range(len(break_points_plt) - 1):\n",
" routes.append(min_entity[break_points_plt[i]:break_points_plt[i + 1]])\n",
" for route in routes:\n",
" route.append(route[0])\n",
" for route in routes:\n",
" a = locations[route, 0]\n",
" b = locations[route, 1]\n",
" plt.plot(a, b)\n",
"\n",
" plt.show()\n",
"\n",
" # print(min(result))\n",
"\n",
"# print(t)\n",
" plt.plot(t)\n",
"# plt.axhline(max(y), linewidth=1, color='r')\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 弓字形矩阵输出"
]
},
{
"cell_type": "code",
"execution_count": 213,
"metadata": {},
"outputs": [],
"source": [
"road = []\n",
"s = 0\n",
"a = np.zeros([n,n])\n",
"\n",
"for i in range(n):\n",
" if i % 2 != 0:\n",
" for j in range(n - 1, -1, -1):\n",
" a[i, j] = s\n",
" s += 1\n",
" else:\n",
" for j in range(n):\n",
" a[i, j] = s\n",
" s += 1\n",
"for i in range(n):\n",
" for j in range(n):\n",
" road.append(int(a[i, j]))"
]
},
{
"cell_type": "code",
"execution_count": 214,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/plain": [
"[0,\n",
" 1,\n",
" 2,\n",
" 3,\n",
" 4,\n",
" 5,\n",
" 11,\n",
" 10,\n",
" 9,\n",
" 8,\n",
" 7,\n",
" 6,\n",
" 12,\n",
" 13,\n",
" 14,\n",
" 15,\n",
" 16,\n",
" 17,\n",
" 23,\n",
" 22,\n",
" 21,\n",
" 20,\n",
" 19,\n",
" 18,\n",
" 24,\n",
" 25,\n",
" 26,\n",
" 27,\n",
" 28,\n",
" 29,\n",
" 35,\n",
" 34,\n",
" 33,\n",
" 32,\n",
" 31,\n",
" 30]"
]
},
"execution_count": 214,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"road"
]
},
{
"cell_type": "code",
"execution_count": 217,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.ticker import MultipleLocator, FormatStrFormatter\n",
"points = np.stack((x,y), axis=1)\n",
"num = len(x)\n",
"xx = []\n",
"yy = []\n",
"for i in range(num):\n",
" xx.append(x[road[i]])\n",
" yy.append(y[road[i]])\n",
"ax=plt.subplot(111) #注意:一般都在ax中设置,不再plot中设置\n",
"ax.fill_between(np.array([0, 1]),0,1,facecolor='red')\n",
"for i, p in enumerate(points):\n",
" plt.text(*p, '%d' % i)\n",
"for i in range(num - 1):\n",
" ax.arrow(xx[i], yy[i], xx[i + 1] - xx[i], yy[i + 1] - yy[i],length_includes_head = True,head_width = 0.15,head_length = 0.15,ec = 'b')\n",
"plt.xlim(0, n)\n",
"plt.ylim(0, n)\n",
"\n",
"ax.xaxis.set_major_locator(MultipleLocator(1))#设置y主坐标间隔 1\n",
"ax.yaxis.set_major_locator(MultipleLocator(1))#设置y主坐标间隔 1\n",
"ax.xaxis.grid(True,which='major')#major,color='black'\n",
"ax.yaxis.grid(True,which='major')#major,color='black'\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 绘图"
]
},
{
"cell_type": "code",
"execution_count": 185,
"metadata": {
"collapsed": true
},
"outputs": [
{
"ename": "IndexError",
"evalue": "only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-185-4a927772a286>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0myy\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnum\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 7\u001b[1;33m \u001b[0mxx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mroad\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 8\u001b[0m \u001b[0myy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mroad\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msubplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m111\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m#注意:一般都在ax中设置,不再plot中设置\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mIndexError\u001b[0m: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices"
]
}
],
"source": [
"from matplotlib.ticker import MultipleLocator, FormatStrFormatter\n",
"points = np.stack((x,y), axis=1)\n",
"num = len(x)\n",
"xx = []\n",
"yy = []\n",
"for i in range(num + 1):\n",
" xx.append(x[road[i]])\n",
" yy.append(y[road[i]])\n",
"ax=plt.subplot(111) #注意:一般都在ax中设置,不再plot中设置\n",
"ax.fill_between(np.array([0, 1]),0,1,facecolor='red')\n",
"n_x1 = np.array(obstacle_x) - 0.5\n",
"n_x2 = np.array(obstacle_x) + 0.5\n",
"n_y1 = np.array(obstacle_y) - 0.5\n",
"n_y2 = np.array(obstacle_y) + 0.5\n",
"for i, p in enumerate(points):\n",
" plt.text(*p, '%d' % i)\n",
"for i in range(len(n_x1)):\n",
" ax.fill_between(np.array([n_x1[i], n_x2[i]]), n_y1[i], n_y2[i],facecolor='green')\n",
"for i in range(num):\n",
" ax.arrow(xx[i], yy[i], xx[i + 1] - xx[i], yy[i + 1] - yy[i],length_includes_head = True,head_width = 0.15,head_length = 0.15,ec = 'b')\n",
"plt.xlim(0, n)\n",
"plt.ylim(0, n)\n",
"\n",
"ax.xaxis.set_major_locator(MultipleLocator(1))#设置y主坐标间隔 1\n",
"ax.yaxis.set_major_locator(MultipleLocator(1))#设置y主坐标间隔 1\n",
"ax.xaxis.grid(True,which='major')#major,color='black'\n",
"ax.yaxis.grid(True,which='major')#major,color='black'\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}