Add files via upload
This commit is contained in:
1 parent
7a51e86086
commit
2e6c4081aa
1 file changed
+119
-118
+119
-118
@@ -29,13 +29,13 @@
|
||||
"\n",
|
||||
"I'll go through the definition again and make implementation choices for each concept:\n",
|
||||
"\n",
|
||||
"- *Given a **set of cities***\n",
|
||||
" - A **set of cities** can be represented with a Python set of pointa on the (*x*, *y*) plane. \n",
|
||||
"- *and the **distance** between each pair of cities*,\n",
|
||||
"- *Given a set of cities*\n",
|
||||
" - A **set of cities** can be represented with a Python `set` of points on the (*x*, *y*) plane. I'll use a `frozenset`, a set that can't be changed.\n",
|
||||
"- *and the distance between each pair of cities*,\n",
|
||||
" - The **distance** between two points in a plane is the [**Euclidean distance**](http://en.wikipedia.org/wiki/Euclidean_distance). I'll use a function `distance(A, B)`. \n",
|
||||
"- *what is the **shortest***\n",
|
||||
"- *what is the shortest*\n",
|
||||
" - I'll us `shortest(tours)` to find this, and `tour_length(tour)` for the length of a single tour.\n",
|
||||
"- ***tour***\n",
|
||||
"- *tour*\n",
|
||||
" - A **tour** will be represented by a list. `[A, B, C]` is the tour from `A` to `B` to`C` and back to `A` . \n",
|
||||
"- *that visits each city exactly once, and returns to the starting city?*\n",
|
||||
" - The function `valid_tour(tour)` implements this.\n",
|
||||
@@ -93,19 +93,19 @@
|
||||
"\n",
|
||||
"\n",
|
||||
"def distance(A: City, B: City) -> float: \n",
|
||||
" \"Distance between two cities\"\n",
|
||||
" \"\"\"Distance between two cities\"\"\"\n",
|
||||
" return abs(A - B)\n",
|
||||
"\n",
|
||||
"def shortest(tours: Iterable[Tour]) -> Tour: \n",
|
||||
" \"The tour with the smallest tour length.\"\n",
|
||||
" \"\"\"The tour with the smallest tour length.\"\"\"\n",
|
||||
" return min(tours, key=tour_length)\n",
|
||||
"\n",
|
||||
"def tour_length(tour: Tour) -> float:\n",
|
||||
" \"The total distances of each link in the tour, including the link from last back to first.\"\n",
|
||||
" \"\"\"The total distances of each link in the tour, including the link from last back to first.\"\"\"\n",
|
||||
" return sum(distance(tour[i], tour[i - 1]) for i in range(len(tour)))\n",
|
||||
"\n",
|
||||
"def valid_tour(tour: Tour, cities: Cities) -> bool:\n",
|
||||
" \"Does `tour` visit every city in `cities` exactly once?\"\n",
|
||||
" \"\"\"Does `tour` visit every city in `cities` exactly once?\"\"\"\n",
|
||||
" return sorted(tour) == sorted(cities)"
|
||||
]
|
||||
},
|
||||
@@ -280,7 +280,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 90,
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -313,16 +313,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 91,
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"exhaustive_tsp(8 cities) ⇒ 6,505 length tour in 10 msecs"
|
||||
"exhaustive_tsp(8 cities) ⇒ 6,505 length tour in 106 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 91,
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -352,16 +352,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 92,
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[[1, 2, 3], [1, 3, 2]]"
|
||||
"[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]"
|
||||
]
|
||||
},
|
||||
"execution_count": 92,
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@@ -379,7 +379,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 93,
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -398,7 +398,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 94,
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
@@ -407,7 +407,7 @@
|
||||
"[[1, 2, 3], [1, 3, 2]]"
|
||||
]
|
||||
},
|
||||
"execution_count": 94,
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@@ -425,16 +425,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 95,
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"exhaustive_tsp(9 cities) ⇒ 6,900 length tour in 86 msecs"
|
||||
"exhaustive_tsp(9 cities) ⇒ 6,900 length tour in 183 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 95,
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -462,16 +462,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 96,
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"exhaustive_tsp(10 cities) ⇒ 7,675 length tour in 1,141 msecs"
|
||||
"exhaustive_tsp(10 cities) ⇒ 7,675 length tour in 1,021 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 96,
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -564,7 +564,7 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" nearest_tsp(3000 cities) ⇒ 119,082 length tour in 809 msecs"
|
||||
"nearest_tsp(3000 cities) ⇒ 119,082 length tour in 824 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 17,
|
||||
@@ -608,7 +608,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 97,
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -658,7 +658,7 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" nearest_tsp(1088 cities) ⇒ 53,364 length tour in 96 msecs"
|
||||
"nearest_tsp(1088 cities) ⇒ 53,364 length tour in 103 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 20,
|
||||
@@ -704,7 +704,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 105,
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -751,7 +751,7 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" two_opt(1088 cities) ⇒ 47,888 length tour in 2,112 msecs"
|
||||
"two_opt(1088 cities) ⇒ 46,460 length tour in 3,182 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 22,
|
||||
@@ -760,7 +760,7 @@
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAAJOCAYAAACDTJtYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5QUVfP3axYDZgURUFByEiRHCYKoJEEkg/oAi6BiQiQpBlABQZIYAIUFlCBiVgwECYoiAiKosINkkJzz7ky9f3x//e7s0Llvh5m9n3P2LMtMd9/uvqGqboUQMzNJJBKJRCKRSCQSiUSSoKT43QCJRCKRSCQSiUQikUicIBVbiUQikUgkEolEIpEkNFKxlUgkEolEIpFIJBJJQiMVW4lEIpFIJBKJRCKRJDRSsZVIJBKJRCKRSCQSSUIjFVuJRCKRSCQSiUQikSQ0UrGVSCQSiUQikUgkEklCIxVbiUQikUgkEolEIpEkNFKxlUgkEolEIpFIJBJJQiMVW4lEIpFIJBKJRCKRJDRSsZVIJBKJRCKRSCQSSUIjFVuJRCKRSCQSiUQikSQ0UrGVSCQSiUQikUgkEklCIxVbiUQikUgkEolEIpEkNFKxlUgkEolEIpFIJBJJQiMVW4lEIpFIJBKJRCKRJDRSsZVIJBKJRCKRSCQSSUIjFVuJRCKRSCQSiUQikSQ0UrGVSCQSiUQikUgkEklCIxVbiUQikUgkEolEIpEkNFKxlUgkEolEIpFIJBJJQiMVW4lEIpFIJBKJRCKRJDRSsZVIJBKJRCKRSCQSSUIjFVuJRCKRSCQSiUQikSQ0UrGVSCQSiUQikUgkEklCIxVbiUQikUgkEolEIpEkNFKxlUgkEolEIpFIJBJJQiMVW4lEIpFIJBKJRCKRJDRSsZVIJBKJRCKRSCQSSUIjFVuJRCKRSCQSiUQikSQ0UrGVSCQSiUQikUgkEklCc5HfDZBIJBKJRHIh4TDR1KlE27YRFSlC1L07UcmSfrdKIpFIJJJgEmJm9rsRksRHCmASiUQijrQ0oh49iEIhIuas31OmEHXt6nfrJBKJRCIJHlKxdYmcpOhJAUwikUjEEQ4TlSlDFI1e+FlKCtGmTUQlSnjfLolEIpFIgoxUbF0gJyl6UgCTSCQSsQwaRDRqFFEkcuFnuXIR9etHNHy49+2SSCQSiSTIyORRggmHodRGoxBKYn+nphJt3ux3C8UydSoUdzVCISjzEolEIjHPtm0whqoRiRBNnkz03HNEP/5IdPasp02TSCQSiSSwSMVWMDlN0dMTwJjxuUQikUjMU6SI9jqSKxdR69ZEN9xANHo00c03E91zD3Z4165V956RSCQSiSQnIBVbweQkRe/UKaKtW7UFqVAIAppEIpFIzNO9u/a8ykw0cCDR008Tff010a5dRC+8gPn4iSeIbrqJqEMHovfew/wskUgkEklOQZb7EYyepT2ZFL1vv4UQVa8e0apV6kIYM9yvJeLISUnJJJKcSjRKdN11REePqudqiM1bcMklRHXr4ufll4mOHydaupRo4UKicePgqty4MX4aNSLKm1f/2nKOkUgkEkmiIpNHCSbZkynt3YudgnAYcV5VqxK9+ip2DHLlSv5kWX4S9KRkUiCWSJwTicBg2KcPUeXKGN/KmEpNtb5+7NlDtGgRFN3Fi4ny589SdG+/neiyy7K+G/Q5RiKRSCQSPaRi6wLTpkEAiUahzCpKbs2aRA0bJqbAH43Cte3VV4n69iV6/HGii/5vv//BB4nKliU6ccKZACbRJugGEykQSyRiGD2a6NdfiT7+WPy5mYk2boSSu2ABrnPbbVByS5UiatcuuHOMRCKRSCRGSMXWJdLSiF5/neiaa4h++w2CvvKTaAL/hg1EvXrBhe2tt5CsRGH7dqL69YnS04kuvdS/NiY7/fsTjRmjXv6DiKhoUaIKFYhy58YOTO7cF/6o/b+Z7150kbZ7PVHwlW6JJFHYtInorruIfv8dyaHcJiMDoSQLF8JwuWuX+vdkiSGJRCKRJAIyxtYl9u0jataMaPx4/M2cPalUaipiooIi8Ku5kRYqhB3aWbOwi9C69YUKzujRiLWVSq1Yjh0j+uUXop9+Ivr5Z/xbS6lNSYEHQL9+iKc7cwa/lR/l72PH0C/VvqP3fxkZWddRU4J379ZOmKZkApcCcfIhXc/FEokQdeuGOdULpZaI6OKLierUwc8//xDNnaudLyGZEh9KJBKJJDmRiq1gFGFv5kyiK64wLv0TBIFfzY309dchXLVrR/THH9h5jufAAaJPPoFAJLGPIjT+/HPWz+HDRLVrIwZu5Ei4JWrt2IZCRFWqwFDiJtEo0blzFyrAzzxDtGOHunIrBeLkRG3OGDkysTxRgsa4ccho3K6dP9fXS3yofC6RSCQSSZCRiq1AYoW9SCRL6FMjKAJ/OIw2q1npDxwgeuopdaWWCG7JXbsSXX21q00MNHZ2rTIyYCxQlNhffkEG1Ntvx0+/fnAtjhUyr70WOzlqeJV9OiUFLsqxyWaIkOBmwQL1Y5IpE7gE6M0ZQfNESRQ2bYJ3z++/+9eG7t1hnFAjGkXpoMOHifLk8bZdEolEIpGYRdaxFUSssKfsqulFLwdF4J861XhXWY2TJ4nef5/oySfda1vQSUtDbOmoUXDhGzUKf0+blv17R4+iPNLgwUgeduONiJk9eBDC5IYNROvXE02ciERcxYpd+E5KlsS7SElBvFvs7/jyH15TrJh+zU1Z8im50JsziDAOtNzmJRfihwuyGnpzzOTJROXKEVWqRDR9uv7aJpFIJBKJX8jkUSrY2YUbNAjWbi0BP56gJNXp1Ek7riolhah9e6LZsy/8bOxYPKd33nG/jUHEKGHSyJFEmzdf6FZ8++0QDi++2N51N292Xv5DJEuXEj30ENEjj0BxT8SsyDJW1Bp6cwYRQjBy5yYqXJiofPmsn1tvReK5FGlOzYabWZDtoDfHbN6MjPhnzhC9+y6UXYlEIpFIgoJ0RY7DbuzY+vXmlFql1qvfu2wKenFVWrvK588TvfkmaiPmVPR2raJRog8/ROypmluxE0qUCEZcNhGyqT74INGXX0JZb9cuWEq3GRIxVtRvRdwoFvPUKaI1a2C82bABP7Nm4ffu3egTiqKrKL0FCogbI4lEEFyQ49GbY0qUgPfJvHlIjtixI2qYX3GFt22USCQSiUQNuWMbg94uHBFK3vTtqy5E1q4Nq7sWN9yA2MpevYIl8Nsp1TJtGtH336vv5OYU7O50JwsbNhA1b040Zw76fiIiqkyRl4pmEOoFh8NEpUtru6OmpMDVXk05yszErp+i8P71F34fPoxzxu/w5s1rrV1vvEG0fDn+rleP6Nlng7v7HomgjX36+JcwygnHjxO99BIMW2PHErVs6XeLJBKJRJLTkYptDIMG6ceHKXVo1YTIFi2IvvlG+9yNGyNz7KZNwporjClTICwru8l6wnI0inqpM2dily6notdXkr3m4+bNqLX53nvo14mK3jtMSYF79Vtv6e8keqloBqlecM2aqM+thh3DztmzaL+i6Co/Z89m7ezG/r7qquzHp6XBYBi/moVCMDoEZfc91giyfz92tb/7zu9WOeOPPzBWChSAJ09snXOJRCKRSLxEuiL/H8z6tUKV7yjJcOIzf1aoQDR/vvouRigEJfDvv4U3WwiXXAK3sttuM3Yj/eorCC45WaklImrQgGjECPXPkjlh0s6dRE2aoDRJIiu1ROjrelnLZ85E3GOZMkQVK2J83HYblKsrrvA+O7CZRG9eGVMaNYL7rNq920mMlzs3nnHFitn//+RJlBNTFN2PP8Y8mitXlqJ7/fVEAwZol5sKSqbmeCNINAojwLRpwVG87VCpEtGKFUgmePvtqGvep4/9PAISiUQikdgl6XdsjdwEz53DzsKYMXCt2rnTOFZWbUfOaDdl40bschw+LOKuxMEMwWTqVKKqVY2/W6cO7vuOO7xoXTBZuRI7Uvffjx2KREyYZIf9+/Hen3+eqEsXv1vjHDO77i+/jLH755/4WbcOCtYVV2Bch8PqCpUbu/ZGSZtKlSKaMYOoRg3341X13JG92D0+ciRrd/e99xDTq0UoBMXXybuIXUeU8mbHj5t3PQ/Sbrub7N8PN/Tff0diwfr1/W6RRCKRSHISSb1jq5cYplUrokmTkNmxbl1Yza+6CsKHEWo1aJVSCampWZb4WEWHCJkkO3UKVubVH35AHJuRUkuE2DVm7FbmVL79Fm53H31EVKsWUe/eiZcwyQ5HjhDdcw/qGieDUkukX7dT2em79FL1ncR9+5A4JxzWPl50nWq9pE25csGT4plniPbuJerQAe2rUMEdJfeyy1B7+ehRdcOO22Pguuswb9eti8zceootkbN3EbuORKNZynwolJUB3ciYFaTddje54QaspcuWET32GFG1ajAe5cuHz/1OfCaRSCSSJIeTlPR05pQUxXk4+08oxJwvH/MzzzBv3579uLQ0HBcKqR9LxJwrF/PAgerXDYeZc+dm7tgR3wmHmadOzWpLSgqOT0nBtfzmzjuZ5883992mTZk/+8zV5gSa6dOZixdn/ucfv1viLSdOMNeuzTxqlN8tEY8y3u2MzYED8X2rc4Rd0tO156WUFMw1zMzbtjG//jpz5crM5coxDx2KY0WRmcncoAHz++/jmgMHZp/vvGbgQP35OhSy/y701hGt569Gx47a50lJwefJxrlzzCNGMBcqxDxpEvpL7BgL0jookUgkkuQgaRVbPaEzJYW5Tx/tY8Nh5p497QkxZ88y58+f9beeYGQkDLnN6tXM5cszR6PG3/3jD+ayZZkjEffbFURGjcKz2rnT75Z4y5kzMH4MHux3S9zjww9hsLCqnHk9tmfNYi5c2JpysHEj85AhzGXKMFepgn4cb8yzyquvMrdrZ27e8AI9hd/pu9BbR6wYMrw2ggSJbduYGzVy5/1IJBKJRBJLit87xm6hlxiGiOiLine truncated
|
||||
"text/plain": [
|
||||
"<Figure size 1200x800 with 1 Axes>"
|
||||
]
|
||||
@@ -795,16 +795,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 106,
|
||||
"execution_count": 24,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"two_opt_nearest_tsp(1088 cities) ⇒ 45,105 length tour in 1,994 msecs"
|
||||
"two_opt_nearest_tsp(1088 cities) ⇒ 45,105 length tour in 2,075 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 106,
|
||||
"execution_count": 24,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -916,16 +916,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 99,
|
||||
"execution_count": 27,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"greedy_tsp(1088 cities) ⇒ 51,129 length tour in 403 msecs"
|
||||
"greedy_tsp(1088 cities) ⇒ 51,129 length tour in 417 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 99,
|
||||
"execution_count": 27,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -1017,7 +1017,7 @@
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAbkAAAHiCAYAAAB1HbIcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACveUlEQVR4nO2dd5QURff37wzqo2IkSA5KFhABCSpBMSEgGBABRZddBQVUVKKIESSaEAVUWDChmEFFgihiQgRB8g4oIILkHJed+/7x/fU7vbOduzrMUJ9z5gzszHRXd1fVrboxwsxMEolEIpGkIdGgGyCRSCQSiVdIISeRSCSStEUKOYlEIpGkLVLISSQSiSRtkUJOIpFIJGmLFHISiUQiSVukkJNIJBJJ2iKFnEQikUjSFinkJBKJRJK2SCEnkUgkkrRFCjmJRCKRpC1SyEkkEokkbZFCTiKRSCRpixRyEolEIklbpJCTSCQSSdoihZxEIpFI0hYp5CQSiUSStkghJ5FIJJK0RQo5iUQikaQtUshJJBKJJG2RQk4ikUgkaYsUchKJRCJJW6SQk0gkEknaIoWcRCKRSNIWKeQkEolEkrZIISeRSCSStOWUoBsgkUgkktQnFiOaNIlowwaiihWJMjOJqlQJulVEEWbmoBshsUdYO5NEIjk5yc4muvdeokiEiDnxPnEiUUZGsG07aYRcugiGMHcmiURy8hGLEVWvThSPF/wsGiVau5aocmX/26VwUgi5dBEMYe9MEonk5GPgQKJRo4jy8gp+VqgQUd++RMOG+d8uhbR3PInFIODicTwE9XtWFtG6dUG30DqTJkFAaxGJQGhLJBKJn2zYgE2DFsz4PEjSXsilk2AIe2eSSCQnHxUrGs+xFSv62ZqCpL2QSyfBcP75+tcShs4UdmIxqFY6dcJ7LBZ0iySS1CczU9uEQoT5KivL3/Ykk/YhBGFfZVjhxAmiV14h+vRT/e+EoTOFGS277MiR/ttl08UBSiJROHqUqEgRoj17MK7y8mCLU/wegvYTSPudXKtW2gZRIqw+rrnG3/bYZdEiooYNiZYsIVq2DBNkNIpOFI3iRRSOzhRWwmKXzc6G49CoUUTTpuG9enWiyZP9Ob9EIprcXCwSs7Ph+Na3L9G55xJ164b/h8GxL629KzdvhhBr3jxhe1NvqyORhF0uDA9DzYEDRE88QfT110RjxxLdcEPis3Xr0OYNG4jKl8cOb+pUossuC6y5ocbI+ysahfqyd2+i00/H64wzEv8+/XQsKNwiPWMl6cjQoei7b7+d+FvXrkStWxO1bx9cu9SkrbpSEXCDBxPddRdRhw5E112X/zvMCTVfkybBTDJa6quVK4kefZTojjuwezvzzPy/qVw5v0tuw4YQiN9842fLUwczu+z33xPt2EF05AhUL+rXkSMQjpEIhJ1a+CULw+T/q/82Z45++5SFVpBu1pKCSNWyMcuXE735JrRMai67jGjxYinkPEUt4Bo1wkr+iy8S9phkgppktOxEw4cTXXQR2lu7trXj3Hor2j5/PnatkvwY2WWjUaIuXaw9+xMniI4dSwi/ZIFo9Pdt29LHAepkICw23LCiqClffRX2ODWXXUb0+edBtEqbtBNyagGXmwsVkbJj0yOISUZtJ0pmwwbsAKwSiUBtMGgQ0YIF+hN62PFq5ZyZiQlKCzsOO6ecglfhwvbbsHs30erV2irTVHGAOlkwGptBan3CxMiRRDVrEt10U8HPLrkEGihlcRA0KeV4YuYCnryDy8pCRzWzOgYxyYiO37v+eqjTZs5037Yg8NIpo0oV3E8th50xY/yZsDIzjXdyYfGMPVnDLPbsIfrtN6L33oNNSc8lnii1Ymu9QFFTvvyy9udnnEFUujTRX3/52ix9OEWYNIk5GmUuVCj/e3Y2Pv/nH+aqVZnfeQf/79ZN2b+Zv6JR5ljM3+vp2BHn1WtPx472j7lgAfOllzLn5Ylvr5fk5BjfC1HPJhZjHjAA93bAAObHHmNu1445HhdzfDOysxN9l6hgHw4aszEWJDk5+Z9dTo79Y+zfz7xkCfMHHzA/9xzz3XczX3458wUXMFesyHzddcw9ejBffLHxfNG6tfjrSxWOH2euV495+nTj72VlMX/4oT9tMiMlhJzRJBiJML//fn4Bx8xco4a5cAtyEBsJ4UKFMJCd0KpVeDqXVQYMSEz8Iu+FGXl5zC1bMr/0kjfH1yIWY+7bl/m005j79/d/caWHm4WGCAFkhB3he/gw859/Mn/yCfPw4ZhsmzZlLlWKuWxZ5quuYr7vPuZRo5g//5x55UrmI0fyH6NxY+N5o3FjsdenxezZOE/58nifPdv7c1phyBDmu+4y/964cejnYSAlhJzRJKi87rsv/2/MhNw55+C4QUwyv/+OQReJiN+9LFnCXK0ac26u2DZ7iRe7Wqts38584YXMCxd6dw4tKldm3rbN33Ma4XSh4fXuz2yBO2AAc/fuzC1aMJcrx1yyJHOTJsxduzI//zzzRx8xL13KfPCg9XO2bm08d5x6KnOlStgFtmuHBesTTzC/+ioWmN9/z7xqFfPOnc60Kl27ap83K8v+sdyiXsBkZTGXLs28a5f57377jfnqq71vnxVSwvHk77+NdeRE0JP365ewrzRtCkO/Hp06BeOyPXcu7DPTpiHeLStLuzqCUztR3bpEdeogbiUzU2zbveKcc/Sfr9f20uLFca86d0bg/fnne3cuNVWrEuXkEF1wgT/nM8MozCIvD7aqwoXhVHDJJUQVKqD/eu2gYWS7JiL68Ueinj2J7rsPttdzznF3PiJ4NX/9tb4n9qOPYq7Zvh1es+r35cvz/3/PHqL//Y+oRAk8a+Vd/W/13+bPh31ai4kTMW/5lcAi2cM0Hse/p0839zC95BKiFSvwm2jAnh+BB4MbedQdOUL0zjswgO/ZY+xAklzSIRYjqlZNv6Pm5PjvIfXBB0SPP45OUqsW/qYO7K5YEZOD23atXUt0440Q8v/7n9tWe8uiRUTt2hH995/2s/IrUHr4cKJffyX67DN/PMJ698ZipGtX789lBbNyKe3bwzV82TKiP/8k2rIFfWvLFu3nJqrESqdOWBDqBdF36IBECCIRHbh/+DDiMJMFYvL79u1Eu3bpZ2giImrcmOiXX+xfz6RJEMC7dhEVLQpBbuS9LOIe1K+POS/w2MIgt5F6qo4xY5iffpq5TBls3b/8Ul9lYaTWys6GSkNRCyrvjzzirQ1Bi1degQp1wwbvz8XMnJmJc4aZWbOgYvrxx4RTRjSK5+S3vdRv+9zYscwDB/pzLivYtckdO4b7ZaRyF6FmHjBA/xxe2mvVTkJ+OuGUL288z5Uvb+94yhyb/GwjEePr6dvXvZ38vvvgLxE0gQk5o0FFxHz//cxbtiS+rwgsu84ayR51GRmJ7/vReeNx5scfZ27YkHnHDm/OocWGDRAgBw74d047vPcebGErViT+FovhOZUtG4y91E/73KxZzO3be38eOyhjTJkUzcaGma38+uuZ9+xx16bx440Xtl72keS5w4/+KNLpxWyOVe7h11/Dlvjkk+iTNWrAMcrOhkKLCROYH33U+b0QRWBCzomhe84cdx3eL1d1hdxc7KhatrRn+BbFgw8yDx1q7btee8ipefFFuGlv3FjwsxUrmK+80rtzm7FgAZwKdu/29jx//818ySXensMJlSszP/CAtYndbDx17gwHqy5d4IxhN1Rj1Sos1J5/PryhDaKZPdtYKM2da/1YVhz2iOBMcu+9GJezZjFv3gzPX7c7ucWLmZs3d3wrhBGYkHPqUedGjeCnq/qhQ8w33QR32+PHxR3XDlu3QuVrNmH7FR8VjzP364fV6M6d2t/ZtQtCJkiGDfM+fu7ECeYiRfyL0bPCjh1Qh9lpk9l4PHSI+e23MdlVrYp7q9bQqFEvtHr3xq76q6/wmZe7Kj8XeFbIytKeo+x6VxrNsWZzrYgNwbFjzMWKBR+3m1I7OQWnHd4vV/Xdu7Ebeeyx4B/wwIH5bT/JA3r2bH92t8ePM99zD9yzjXa18Tjz+ecHO/n7ZZ+rUQOr5rDw2WfMd95p/3dWx6PS98qVY27blvmLLxKhLskLLcWW7vVuLawB8HPnYjEYjTI3amRvB6dgZSdnNNeKsEtedhnz6tX22y6SwISc36pDZn92cps3M9eqhWDTMLBoEfOZZzJXqQLVkXJ/lU6rdswRdU+SBenSpQhSv+cea7vacuWQnSJI/LDPtWvHPG+ed8e3yyOPwI7iNbm5yJjRti2edbdu/s8FzMHMQXapXZt50yZnv7VqkzO6Trc76PvvZ373XWftF0VgQo654EpBueleraK87tSrV0PVNmWKmPa6ZdIkY2cds5eT3a3WypgIQs7q7qxBg+BVRsze2+f69PFHqFilfn3/V91btiALiZOdhluCyrRjh1atmH/6yfnv1V7L6usz864UxVtvQfUcJIEGg2dkIGBUiRPbuhVBsqJKWWjF4E2cmEjcrBCJED3/vLtYrIULiW6/nWjCBMSoBY2SSZ3Z+THicdy7TZtQnNXqObVia775hmj9emv3uFQpxM0FHV9TogRR2bKIKWrdGn/bv19chYQqVcKTAHn/fsS8Vavm73lLlSIqWRKxV1r9htm7CiFmdQbDUP6obFkknneKeo794w+iefMQTH7ppWJics0oVozo448xngOryResjM3Ptm3w9EnOJecEPV17Zqb2ys2N/v/rr6F2+eUX9+0WhVF8kZ2d3KOPMleowHzrrQU95JLVkt26iVkZd+sWfP5Ndf9J7iei7Dbz5kFlGQZmzmS+7bZgzh3UjmrAAH3NTlh2cs89xzx6tLjjZWT4Z29UxpAylwRl7wyVkGOG27E60bITrOii9QSdXZXllClQaa1apd2OILy2jh9nbtbMnjBTBrZWZzx+nHnaNOQEvOQS5jffRAJWLbWkiODgJ58MNpDdav9xq+LevBnOJ2Fg4MDg7nlQtrGLine truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 900x600 with 1 Axes>"
|
||||
]
|
||||
@@ -1027,7 +1027,7 @@
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 900x600 with 1 Axes>"
|
||||
]
|
||||
@@ -1084,16 +1084,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 100,
|
||||
"execution_count": 32,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"divide_tsp(200 cities) ⇒ 32,481 length tour in 788 msecs"
|
||||
"divide_tsp(200 cities) ⇒ 32,481 length tour in 963 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 100,
|
||||
"execution_count": 32,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -1287,7 +1287,7 @@
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" mst_tsp(1088 cities) ⇒ 58,201 length tour in 516 msecs"
|
||||
"mst_tsp(1088 cities) ⇒ 58,201 length tour in 569 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 38,
|
||||
@@ -1341,7 +1341,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 40,
|
||||
"execution_count": 39,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -1360,16 +1360,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 41,
|
||||
"execution_count": 40,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" k_nearest_tsp(1088 cities) ⇒ 51,509 length tour in 945 msecs"
|
||||
"k_nearest_tsp(1088 cities) ⇒ 51,509 length tour in 1,107 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 41,
|
||||
"execution_count": 40,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -1397,7 +1397,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 101,
|
||||
"execution_count": 41,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -1410,16 +1410,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 104,
|
||||
"execution_count": 42,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"ensemble_tsp(1088 cities) ⇒ 44,417 length tour in 8,004 msecs"
|
||||
"ensemble_tsp(1088 cities) ⇒ 44,417 length tour in 7,906 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 104,
|
||||
"execution_count": 42,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -1445,9 +1445,7 @@
|
||||
"# Shoulders of Giants: Held-Karp Algorithm: held_karp_tsp\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"|  |\n",
|
||||
"|----|\n",
|
||||
"| [Held, Shareshian, Karp (Computer History Museum)](http://www.computerhistory.org/collections/catalog/102650390) |\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"|  |\n",
|
||||
"|----|\n",
|
||||
@@ -1471,7 +1469,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 44,
|
||||
"execution_count": 43,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -1498,7 +1496,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 45,
|
||||
"execution_count": 44,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -1527,16 +1525,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 46,
|
||||
"execution_count": 45,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" held_karp_tsp( 10 cities) ⇒ 7,675 length tour in 30 msecs"
|
||||
"held_karp_tsp(10 cities) ⇒ 7,675 length tour in 32 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 46,
|
||||
"execution_count": 45,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -1557,16 +1555,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 47,
|
||||
"execution_count": 46,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" exhaustive_tsp( 10 cities) ⇒ 7,675 length tour in 1,030 msecs"
|
||||
"exhaustive_tsp(10 cities) ⇒ 7,675 length tour in 1,160 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 47,
|
||||
"execution_count": 46,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -1594,16 +1592,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 48,
|
||||
"execution_count": 47,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
" held_karp_tsp( 15 cities) ⇒ 7,796 length tour in 2,144 msecs"
|
||||
"held_karp_tsp(15 cities) ⇒ 7,796 length tour in 2,383 msecs"
|
||||
]
|
||||
},
|
||||
"execution_count": 48,
|
||||
"execution_count": 47,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -1647,7 +1645,7 @@
|
||||
"source": [
|
||||
"# Review\n",
|
||||
"\n",
|
||||
"Here are the algorithms we developed, grouped by strategy:\n",
|
||||
"Here are the algorithms we developed, grouped by strategy:f\n",
|
||||
"\n",
|
||||
"- **Brute Force Strategy**: `exhaustive_tsp`\n",
|
||||
"- **Greedy Strategy**: `nearest_tsp`, `greedy_tsp`\n",
|
||||
@@ -1671,7 +1669,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 49,
|
||||
"execution_count": 48,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -1691,7 +1689,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 58,
|
||||
"execution_count": 49,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -1726,7 +1724,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 109,
|
||||
"execution_count": 50,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -1770,25 +1768,25 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 115,
|
||||
"execution_count": 51,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[ greedy_tsp: 37,128 ± 1,424 length (100.00%) in 15 ± 0.8 msecs,\n",
|
||||
" k_nearest_tsp: 38,740 ± 860 length (104.34%) in 71 ± 0.6 msecs,\n",
|
||||
" nearest_tsp: 40,472 ± 1,064 length (109.01%) in 8 ± 0.4 msecs,\n",
|
||||
" mst_tsp: 43,127 ± 1,114 length (116.16%) in 21 ± 0.7 msecs]"
|
||||
" k_nearest_tsp: 38,740 ± 860 length (104.34%) in 75 ± 3.8 msecs,\n",
|
||||
" nearest_tsp: 40,472 ± 1,064 length (109.01%) in 9 ± 2.2 msecs,\n",
|
||||
" mst_tsp: 43,127 ± 1,114 length (116.16%) in 24 ± 2.5 msecs]"
|
||||
]
|
||||
},
|
||||
"execution_count": 115,
|
||||
"execution_count": 51,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 1000x500 with 2 Axes>"
|
||||
]
|
||||
@@ -1806,7 +1804,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 118,
|
||||
"execution_count": 52,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -1815,29 +1813,29 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 116,
|
||||
"execution_count": 53,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[ two_opt_greedy_tsp: 33,561 ± 663 length (100.00%) in 114 ± 19.1 msecs,\n",
|
||||
" two_opt_k_nearest_tsp: 34,178 ± 549 length (101.84%) in 184 ± 19.9 msecs,\n",
|
||||
" two_opt_nearest_tsp: 34,220 ± 779 length (101.96%) in 128 ± 29.4 msecs,\n",
|
||||
" two_opt_mst_tsp: 34,526 ± 671 length (102.87%) in 141 ± 24.3 msecs,\n",
|
||||
"[ two_opt_greedy_tsp: 33,561 ± 663 length (100.00%) in 117 ± 20.8 msecs,\n",
|
||||
" two_opt_k_nearest_tsp: 34,178 ± 549 length (101.84%) in 187 ± 19.4 msecs,\n",
|
||||
" two_opt_nearest_tsp: 34,220 ± 779 length (101.96%) in 137 ± 34.2 msecs,\n",
|
||||
" two_opt_mst_tsp: 34,526 ± 671 length (102.87%) in 157 ± 33.0 msecs,\n",
|
||||
" greedy_tsp: 37,128 ± 1,424 length (110.63%) in 15 ± 0.8 msecs,\n",
|
||||
" k_nearest_tsp: 38,740 ± 860 length (115.43%) in 71 ± 0.6 msecs,\n",
|
||||
" nearest_tsp: 40,472 ± 1,064 length (120.59%) in 8 ± 0.4 msecs,\n",
|
||||
" mst_tsp: 43,127 ± 1,114 length (128.50%) in 21 ± 0.7 msecs]"
|
||||
" k_nearest_tsp: 38,740 ± 860 length (115.43%) in 75 ± 3.8 msecs,\n",
|
||||
" nearest_tsp: 40,472 ± 1,064 length (120.59%) in 9 ± 2.2 msecs,\n",
|
||||
" mst_tsp: 43,127 ± 1,114 length (128.50%) in 24 ± 2.5 msecs]"
|
||||
]
|
||||
},
|
||||
"execution_count": 116,
|
||||
"execution_count": 53,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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FbDtlWd3IznVjCnTk2E06pE9LAo1VYFN0fuq3dqSKFk5kTAYdNj6YzMmHB8HAGhq8GFvuQvnXZQOABiWGwWXU0HZzlYMPcKfhJbuaIXLqWDY/qQ0Z3gU1rxTjaYGH2xx/hfI1mIHJKMOmTmRwXsSiIiIiIiIwljIEk6zxYC0zMBlUEwmPaJj2refdlYyXnyqFLkjo5GbF40txQ78+F0Tbr7nSACAJdKAE05KwIrXKhAVbfAvi7KsEmmZFowcEwMASEm3IG+cFcue34OLrswCACx7YTfGjLciOc3fejpqnBWp6WYsXVyGGXPS0doiY8WySpx4ciIskYEz5xIFi8916BmRjRa+FomIiCh8uV3eQ+43WyIOuZ/6p5CN4TyYjmM422z8xI6Cd2vQWO/FkFQzzpqZiqMmxmr7fV4VK1+vxDcb6+H1qhgxOgYXXpGFuIT2F2Rri4z/vVyOH79tAgCMnWDD7LmZAd1w6+1evLlkD37e0oyICD0mTorHjDnpMBq7P69SRUUFMjMzB30/beqdZyd8e8j913w7oY9qQkRERNT3pv320UPuX104v49qcngwN/ALWQvnwdyyv+Wyo0knJWLSSYldnmOM0GP23EzMnpvZ5TFR0RIuvz6ny/0AEJ8YgetuG979yhIREREREdEh9auEk2gwu+Lzo0NdBSIiIqKQWbl2XqirQEHAhJOon+AYTSIiIhrMOEYzPHV/gCIRERERERFRDzDhJCIiIiIioqBgwklERERERERBwYSTiIiIiIiIgoIJJxEREREREQUFE04iIiIiIiIKCiacREREREREFBRMOImIiIiIiCgomHASERERERFRUDDhJCIiIiIioqBgwklERERERERBwYSTiIiIiIiIgoIJJxEREREREQUFE04iIiIiIiIKCiacREREREREFBRMOImIiIiIiCgomHASERERERFRUDDhJCIiIiIioqBgwklERERERERBwYSTiIiIiIiIgoIJJxEREREREQUFE04iIiIiIiIKCiacREREREREFBRSqCtARNTf+FzKIfcbLYY+qgkRERHRwMaEk4joAEsmf3/I/dd8O6FvKkJEREQ0wLFLLREREREREQUFWziJQkhu8kF2yD0+T7JKkGzGINSIAOCKz48OdRWIiIiIwgITTqIQavqiEfVr7T0+L/6MRCRMTQpCjQjgGE0iIiKiw4UJJ1EI2U6IRdTo6IBtwidQ8dRuAEDGTdnQGXWdzpOs/NUlIiIiov6P71qJQkiyGTt1jVU9qlY2pZuhN3GoNREREVE4q//IjpbiZnj3eaE36mAeakHi9CGIGGLSjhFCoH6tHU1fNEJ1KTBnWZA0MwWm1PZjVFmFfdU+NBc5IHwqInOjkDQrBcbY0A3F4jtZIiIiIiKiEHLtdCJ2chwybx6K9GuzIFSg8j97AhoiGtbVofGTegyZmYzMPw2FwSr5j3G3L+dmX1mD1h+bkXppOjJuGgrVo2Lvc+UQqghFWACYcBIREREREYVU+h+zYD0uFqZUE0zpZiRflAq5QYanwg3A37rZ+Gk94k5PQPQ4K0ypZiTPSYXwqmj+zgEAUFwKmr5qROK5yYgcEQVzhhkpl6TBW+WBc3tryGJjwklERERERBQkzc3NcDgc2pfH4/nFc1SXv2VTH+lP1+Q6H5RmBZEj2uf+0Et6WIZHwlXqAgB/cqoAkSOitGMkmxERqSa49x8TCkw4iYiIiIiIgiQvLw82m037WrRo0SGPF0LAvqoG5hwLTKlmAIDc7F9GT4oJnEnfEC1B2b9PdsjQGXQwRAYeI0VL2vmhwEmDiIiIiIiIgmTLli1IT0/XHptMpkMcDdS+XQPPXg8y5mV37wd0XtAgQOhGb/ox4SQiIiIiIgqSmJgYWK3Wbh277+1qtP7UjIwbswNmlpVi/Gmb3KwErHCgtMgwRPv3SVYJQhFQnEpAK6fSIsMy1HI4QukVJpxERERERBQSTQ0+NDX6enyeLdYIW1zolvo43IQQqF1Rg5Yfm5FxQzaMCREB+6UEIwwxBjh/boU5w9/NVsgCrh1OJE4fAgAwZZgBA+D8uRUx4/0Jrtzkg7fKA/P+Y0KBCScREREREYXE5+tqkb+iusfnnXl+Cs6amRaEGoVG7dvVaP7WgdSrMqA36SE7/GMu9WY99BF66HQ6xP4uHg0f2RGRZIQxKQL1H9VBF6FHzDH+5NJgMcD2m1jY362BIcoAfaQB9ndrEJFqQuSRUYf68UHFhJOIiIiIiEJi8ilJGHtMbMA2n1fB4w+UAABuXZALY4Sh03m22PBp3QSApg2NAIDKZ/YEbE++KBXW42IBAHGnJED4BPYtr4bqUmHOtiD92kzoze3PT+J5yYBeh6qllRA+FZG5UUi+Og06/S8M9AyifpNwrl1VjXff2ouTpyZh1qWZnfYve2EPNqyzY+YlGThlWnuTsM+nYuWySnyzsR4+n8CI0TH4/eWZiOvQDO1slfHW0gr8+F0jAGDsMbGYPTcDkVHt4dfbvXjzpT3YvqUFRqMOEyfF4/yL0yFJnMiXiIiIiCgYbHGdu8Z63IpWzsiOhMncOeEMN7n/HPWLx+hLine truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 1000x500 with 2 Axes>"
|
||||
]
|
||||
@@ -1852,30 +1850,30 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 117,
|
||||
"execution_count": 54,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[ ensemble_tsp: 33,527 ± 638 length (100.00%) in 438 ± 38.6 msecs,\n",
|
||||
" two_opt_greedy_tsp: 33,561 ± 663 length (100.10%) in 114 ± 19.1 msecs,\n",
|
||||
" two_opt_k_nearest_tsp: 34,178 ± 549 length (101.94%) in 184 ± 19.9 msecs,\n",
|
||||
" two_opt_nearest_tsp: 34,220 ± 779 length (102.07%) in 128 ± 29.4 msecs,\n",
|
||||
" two_opt_mst_tsp: 34,526 ± 671 length (102.98%) in 141 ± 24.3 msecs,\n",
|
||||
"[ ensemble_tsp: 33,527 ± 638 length (100.00%) in 483 ± 50.2 msecs,\n",
|
||||
" two_opt_greedy_tsp: 33,561 ± 663 length (100.10%) in 117 ± 20.8 msecs,\n",
|
||||
" two_opt_k_nearest_tsp: 34,178 ± 549 length (101.94%) in 187 ± 19.4 msecs,\n",
|
||||
" two_opt_nearest_tsp: 34,220 ± 779 length (102.07%) in 137 ± 34.2 msecs,\n",
|
||||
" two_opt_mst_tsp: 34,526 ± 671 length (102.98%) in 157 ± 33.0 msecs,\n",
|
||||
" greedy_tsp: 37,128 ± 1,424 length (110.74%) in 15 ± 0.8 msecs,\n",
|
||||
" k_nearest_tsp: 38,740 ± 860 length (115.55%) in 71 ± 0.6 msecs,\n",
|
||||
" nearest_tsp: 40,472 ± 1,064 length (120.71%) in 8 ± 0.4 msecs,\n",
|
||||
" mst_tsp: 43,127 ± 1,114 length (128.63%) in 21 ± 0.7 msecs]"
|
||||
" k_nearest_tsp: 38,740 ± 860 length (115.55%) in 75 ± 3.8 msecs,\n",
|
||||
" nearest_tsp: 40,472 ± 1,064 length (120.71%) in 9 ± 2.2 msecs,\n",
|
||||
" mst_tsp: 43,127 ± 1,114 length (128.63%) in 24 ± 2.5 msecs]"
|
||||
]
|
||||
},
|
||||
"execution_count": 117,
|
||||
"execution_count": 54,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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PsaZ4iIux03X7mNiRV1qRUREREREomTz5s3k5eWFH7vd7gHHxBd5yFqUS9ykOIKtQRqf81H5uwqKbpiK0WoA4Ex2RJzjSHJiNAUAMPwGNocNR0LkMc4kZ/j8WFHCKSIiIiIiEiXJycl4vd69HpM4KynicfwUDxU/3Yr/jRbiizxDn/gxQzOtfa1kFKlLrYiIiIiIyChid9uJy4knUN+DMznURmi0BiOOCbYZOHaP83R6nVhBi2DHwGN6z48VJZwiIiIiIiKjiGmYBOq6cXidODNcOJIddHzQN/mPZVh0bu3AUxxq/XTnx4ODiGOMlgA9Nd3EF++lhfQAUJdaERERERGRGKp/so7E2Um40lwE24I0rvJhdpl4P52KzWYj9QvpND3vI26SK7QsyvMN2OLsJB8e6qrr8DhI+WwqvqfqcCQ6sCc48D1VR1yOm4SDEz/mp0eXEk4REREREZEYMloMah/eSbA91E02vshD/rem4Ep3AZB2QgZWwGLX47WYnSbxRR7y/rcgvAYnQOaZWWC3UfNgNVbAJGF6Illfy43pGpyghFNERERERCSmci7K2+t+m81GxrxJZMybNOQxdpedyWdnM/ns7P1dvU9EYzhFREREREQkKpRwioiIiIiISFQo4RQREREREZGoUMIpIiIiIiIiUaGEU0RERERERKJCCaeIiIiIiIhEhRJOERERERERiQqtwznBGC0BDL8x7POcXifOFFcUaiQiIiIiIuOVEs4JpuXVZhpX+oZ9XvopmXtdaFZERERERGRPSjgnmJSjUkmcnRSxzQpYVN29HYD8a4qwuWwDznN69VIREREREZHhURYxwThTXAO6xprdZrjszovH7tbQXhERERER+eSUWYiIiIiIiEhUKOEUERERERGRqFDCKSIiIiIiIlGhhFNERERERESiQgmniIiIiIiIRIUSThEREREREYkKJZwiIiIiIiISFUo4RUREREREJCqUcIqIiIiIiEhUOGNdARERERERmbhamgK0NAeGfV5KqouUNFcUaiT7kxJOERERERGJmbWr6yldVjvs8750Vjannp0bhRrJ/qSEU0REREREYubYEyZxyOGpEdsCPUF+fVsZANfdNB1XnGPAeSmpat0cC0ZNwrnyyVqeemwnx8+bxDkXFgzYv/QvO3hltY+zL8jnhPmTw9sDAZPlS6t5c10jgYDFjNnJfPXiAtIy4sLHdLQbPPZgFe++3QzAIYensnBxPgmJfeE3+np49IEdfLi5DZfLxpFHp3PW+Xk4nRrmKiIiIiISLSlpA7vGdncFw+X8ogTc8QMTThkbRkU2tf2jdl550UdeoWfQ/f99s5mKre2D9tF+/OEq/vtGM5deU8x1Nx1Md1eQJXd9hGlLine truncated
|
||||
"image/png": "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t9uN2+2OOqbr7Q4S5yRTd18NPe934/Q78X8sDf9JaQAYzUFCHSES5yRHzrE77XhnJ9JT2YP/5DT6anohBIlzkiLHOP0uEnLd9Fb2kDQ3mXhQC6eIiIiIiEiMlJWV4ff7I48VK1YMOybYHKR9YyuurATyvlSE/+Q0Glc3EHi1DQCjwwDAmeKIOs+R7CS0b58RMLA5bDgSo49xJjsj58eDWjhFRERERERiZNu2beTn50ee79+6CeEus55CL5lnzwDAU+Chr76P9hfb8H049cDfwHbg3fEbvRmmFk4REREREZEYSUlJwefzRR4jJZxOn5OE7ISobQnZboJtwfD+lHA7odERijom1GngSHZGrmGFLELdw48ZOD8elHCKiIiIiIjEkackkf69/VHbgnv7caWFlzNxZrhwpDjofndw8h/LsOjZ0Y23JLxsirvAAw6ijjHag/TX9eHZd0w8KOEUERERERGJo7RPpNO7q4eWp5vob+wn8Ho77S+34j8lPGmQzWYj9RPptD7TROeWAH11vdT/dQ+2BDspx/sAcHgd+P8jlabHG+h+r4veml7qH9xDQq6bxKOTDvTtY0pjOEVEREREROLIU+Ql98oCmv/RSMu6JpzpLrLOz8Z3gj9yTNrpGVhBi72P1GP2mHiKveR/uRC7Z3CSoMzzs8Fuo+7+WqygSWJpEtlfyMNmP8hAzxhSwikiIiIiIhJnyfNTSJ6fMup+m81GxqIsMhZljXqM3WVnxtIcZizNiUUVx0VdakVERERERCQmlHCKiIiIiIhITCjhFBERERERkZhQwikiIiIiIiIxoYRTREREREREYkIJp4iIiIiIiMSEEk4RERERERGJCSWcIiIiIiIiEhNKOEVERERERCQmlHCKiIiIiIhITCjhFBERERERkZhQwikiIiIiIiIxoYRTREREREREYkIJp4iIiIiIiMSEEk4RERERERGJCSWcIiIiIiIiEhPOeFdARERERESmr/bWIO1twTGf50914U9zxaBGcjgp4RQRERERkbh5YX0j5avqx3zepy/I4eyleTGokRxOSjhFRERERCRuTjk9i4XHp0ZtC/aH+OX3KwC48dZSXAmOYef5U9W6ORlMmIRz7WP1PP7wHk5blMWFlxcO27/yj7t5cX0TSy8r4PTFMyLbg0GT1StreW1jC8GgxZz5KXz2ikLSMhIix3R3GTx8fw1vvdEGwMLjU7loeQGJSYPhtzT189B9u3lvWycul40TT07ngkvzcTo1zFVEREREJFb8acO7xvb1hiLlguJE3J7hCadMDhMim9r1fhcvPtdEfpF3xP3/fq2Nqh1dI/bRfuSBGv79ahtXfqWEG289mr7eEHf//H1M04occ+9dVdTu6ua6m2dLine truncated
|
||||
"text/plain": [
|
||||
"<Figure size 1000x500 with 2 Axes>"
|
||||
]
|
||||
@@ -1910,26 +1908,30 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 119,
|
||||
"execution_count": 55,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[ ensemble_tsp: 42,841 ± 544 length (100.00%) in 1,323 ± 144.7 msecs,\n",
|
||||
" two_opt_greedy_tsp: 42,885 ± 598 length (100.10%) in 375 ± 78.6 msecs,\n",
|
||||
" two_opt_k_nearest_tsp: 43,651 ± 553 length (101.89%) in 508 ± 47.0 msecs,\n",
|
||||
" two_opt_nearest_tsp: 43,798 ± 516 length (102.23%) in 357 ± 52.1 msecs,\n",
|
||||
" two_opt_mst_tsp: 44,422 ± 505 length (103.69%) in 444 ± 123.5 msecs]"
|
||||
"[ ensemble_tsp: 42,841 ± 544 length (100.00%) in 1,418 ± 158.3 msecs,\n",
|
||||
" two_opt_greedy_tsp: 42,885 ± 598 length (100.10%) in 398 ± 84.2 msecs,\n",
|
||||
" two_opt_k_nearest_tsp: 43,651 ± 553 length (101.89%) in 546 ± 51.3 msecs,\n",
|
||||
" two_opt_nearest_tsp: 43,798 ± 516 length (102.23%) in 394 ± 59.9 msecs,\n",
|
||||
" two_opt_mst_tsp: 44,422 ± 505 length (103.69%) in 465 ± 127.7 msecs,\n",
|
||||
" greedy_tsp: 47,939 ± 1,289 length (111.90%) in 65 ± 14.0 msecs,\n",
|
||||
" k_nearest_tsp: 49,545 ± 1,104 length (115.65%) in 203 ± 4.2 msecs,\n",
|
||||
" nearest_tsp: 51,182 ± 1,323 length (119.47%) in 21 ± 1.5 msecs,\n",
|
||||
" mst_tsp: 55,371 ± 990 length (129.25%) in 77 ± 6.2 msecs]"
|
||||
]
|
||||
},
|
||||
"execution_count": 119,
|
||||
"execution_count": 55,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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1NDQQEVFBfX19ZSVlSFDy9hGRztq++juSnD79W+kjpkmbHmjh2dWtXLH0qNSGxXtFcxzMWVqFruak4lgINdFImHR15tIGy3t7kpQPTM5XTcQdNK9Z9R0Xz3dCXKCrtR56ramT9Pt601gGBaBgGvIGNxuN263O/W8q6sLSF7g+359e3nvBTvSssvlGlPZZrOlynv/I420PFTfFZNiUkyKSTEpJsWkmBSTYlJMI4tDRiZjSensuTl8+7bD047d/+vtFBZ7OOmMwgEJKSQTyd3tMYK5yTe6otqHw2Fj02vdHPOBPCA5mrqzPsxZnykFYPpMP+E+g7qtvVQdlkxUa7f0Eu4zmL4nca2e4efJR5rp3B0nmJc896YNXThdNsqrfQfmH0BEREREREQyl5R6vA5KytNvAeN228nOSR6PRAxW/KWJI9+XSzDXRVtrjMce3El2tpP3HJsLgNfn4IMfyefhPzTgz3YkbwmzrJGSci9z5uUAUFTqpWZ+gGX37OAzF1cAsOw325l3VIDCEg8Ah88PUFzqYelddZy9uJTengQPL2vkuBOm4vUN3BFYRERERERE9o9xcZ/SwdjtNnbWh3nh2XbCvQaBXBezarL5/JXVeLz9ieI555fhcNj47c9qicVMZs/N4bPXHJY20nrR5VX8+Xf13HlbckHzEccE0+4/arfbuOwbM3jg3h388OY3ycqyc+yCKZy9uPTgBSwiIiIiInIIythGR5NRQ0MD5eXlWswsIiIiInKIU24wcuN2pFRERERERCamzt1xOjuGvrXiUIK5rtQeL3LoUFIqIiIiIiL71bOrW1nxcPOoX3fawiJOX1RyAHok45mSUhERERER2a+OP3EaRxydm3YsHjP40S3JPV6uvmEmrqyBG4ruvcuGHFqUlIqIiIiIyH4VzBs4DTcaMVLlskofbo/uciFJ9kx3QERERERERA5dSkpFREREREQkY5SUioiIiIiISMYoKRUREREREZGMUVIqIiIiIiIiGaOkVERERERERDJGt4QRERERERHJsPDWPnavbiPSEMHoSlB8cRnZR+SktYm1RAn9dRfhrX1YFriLsii6sAzXntvvmAmT0KO76F7fhRU38c30M+2cIlz73P/V6DNofbiZ3td7APDPzWbaoiIc3szdokcjpSIiIiIiIhlmxkyySt0ULCoctD4WilH/0+1kFWRRenkllddUM+VjU7E5bak2oeUt9L7WTfEFpZRdWYUZNdl5dz2WaaXaNN/fSHRnlJJLyym5tJzozigtv995wOMbjpJSERERERGRA6S7u5uurq7UIxqNDtrOf3g2U08rIHt+YND6thWt+A/3M/UThXjKPLimZuGfm4MzJzn51QgbdL7QwdQzC/HN9uMLine truncated
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 1000x500 with 2 Axes>"
|
||||
]
|
||||
@@ -1960,25 +1962,24 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 120,
|
||||
"execution_count": 56,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[ exhaustive_tsp: 6,840 ± 708 length (100.00%) in 104 ± 41.8 msecs,\n",
|
||||
" held_karp_tsp: 6,840 ± 708 length (100.00%) in 7 ± 2.4 msecs,\n",
|
||||
" ensemble_tsp: 6,848 ± 709 length (100.11%) in 0 ± 0.1 msecs,\n",
|
||||
" divide_tsp: 6,942 ± 719 length (101.48%) in 0 ± 0.0 msecs]"
|
||||
"[ exhaustive_tsp: 6,840 ± 708 length (100.00%) in 126 ± 59.9 msecs,\n",
|
||||
" held_karp_tsp: 6,840 ± 708 length (100.00%) in 8 ± 2.9 msecs,\n",
|
||||
" ensemble_tsp: 6,848 ± 709 length (100.11%) in 0 ± 0.1 msecs]"
|
||||
]
|
||||
},
|
||||
"execution_count": 120,
|
||||
"execution_count": 56,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA5MAAAH1CAYAAABr3arnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACQNElEQVR4nOzdeXhU1f3H8fdsmawzCWEJJCGsAmFR3EVrra0LikrVWhdE6r7/rFXR1ta9qNW2Ku5bUUFFRbA0LCoqKiqoyCIoAQIkIQkkIZlJMsls9/dHzCUDAZkAmSR8Xs+TJ+euOV9mDjPfe84912IYhoGIiIiIiIhIFKyxroCIiIiIiIh0PEomRUREREREJGpKJkVERERERCRqSiZFREREREQkakomRUREREREJGpKJkVERERERCRqSiZFREREREQkakomRUREREREJGpKJkVERERERCRqSiZFREREREQkavZYV6CjCAaDLF26lB49emC1KgcXERERETlQhcNhysrKGDlyJHb77lOqyg/KqVnuxb/Fj9VhIb5PAl3P6E5cd6e5j2EYVM4rp/qLKsK+EPG9E+h2TgbOntv3CQfDlM/agnepByMQJnFgEt3OzcCR6thvcf4ci2EYRsz+egeyZMkSjjzyyFhXQ0RERERE2onFixdzxBFH7Haf4mc3kTLShTM7AcIG5Xlb8ZfUkzOxP1ZnYydV5YflbHu/gh4X9sTRLY7K9yvwraujzx39sMbbANjyVgm139fQ44JeWJNslM8qI1QXovef+mKxWvZ7rC1Rz+Qe6tGjB9D4hunZs2eMayMiIiIiIrFSUlLCkUceaeYIu5N5Ve+I5R4X9KTgr/k0FNWT0D8RwzCo+qSStJPSSR7hatznwsZ9vN96cI9KI+QLUf1VFRkXZZI4KAmAjHG9KLhnLXVrakkanLzvg9wDSib3UNPQ1p49e5KVlRXj2oiIiIiISKzV1tbi8XjMZafTidPp3M0REPaFAbAmNuYXwYoAIW+IxEHbE0Kr3UrCgER8BT7co9JoKKqHEGYiCWB3O4jr6aS+wBezZFI3/4mIiIiIiLRCbm4ubrfb/Jk0adJu9zcMg/JZZcT3TcDZMx6AoDcIgD3FFrGvLdlO6KdtQU8Qi82CLTFyH3uy3Tw+FtQzKSIiIiIi0gqrVq0iMzPTXP65Xsmt75TRsLmBrBtz9uwP/MytkLGe/EbJpIiIiIiISCukpKTgcrn2aN8t75RS+72XrOtzImZgtac0pmRBbwi7e/v6UE0QW3LjNrvLjhEyCNWFInonQzVBEvok7ItQWkXDXEVERERERPYTwzDY8k4pNSu8ZF6bgyM9LmK7Pd2BLcVG3Y+1248JGvjW1pHQtzFRdGbFg42IfYLVAfwlDcT3jV0yqZ5JERERERGR/WTrO6V4v/HQ87IsrE4rQU/jPY7WeCvWOCsWi4XUX3Zh2wflxHVzND4a5IMKLHFWUg5t7PW0JdhwH5VK+Xtl2JJsWBNtlL9XRlxPJ4kHJe3uz+9XSiZFRERERET2k+rPqwAofnJTxPoeF/TEdWQqAGknpmMEDLa8XUrYFyY+J4HMq7PNZ0wCdB3bA6wWSqYUYwTCJA5MosflvWL2jElQMikiIiIiIrLfDPzXkJ/dx2KxkH5qN9JP7bbLfawOK93PyaD7ORn7snp7RfdMioiIiIiISNSUTIqIiIiIiEjUlEyKiIiIiIhI1JRMioiIiIiISNSUTIqIiIiIiEjUlEyKiIiIiIhI1PRoEPlZAV9ot9sdCbbdbhcRERGRjqne59/t9viEuDaqibRHSiblZ7183He73X7lN4e1TUVEREREpE399pTHd7t9zsJb2qgm0h5pmKuIiIiIiIhETT2T8rP+8Nkhsa6CiIiIiMTAu/NujHUVpB1TMik/S/dEioiIiByYdE+k7I6GuYqIiIiIiEjUlEyKiIiIiIhI1JRMioiIiIiISNSUTIqIiIiIiEjUlEyKiIiIiIhI1JRMioiIiIiISNSUTIqIiIiIiEjUlEyKiIiIiIhI1JRMioiIiIiISNSUTIqIiIiIiEjUlEyKiIiIiIhI1JRMioiIiIiISNSUTIqIiIiIiEjUlEyKiIiIiIhI1JRMioiIiIiISNSUTIqIiIiIiEjU7LH846GQQd47JSxZVImnKoAr1cHRx6dz6tgMrFYLAIZhkDejhM8XVFBXG6TPgCTOm5BNr6wE8zyBQJh3pxXz9aJKAgGDQUNT+P2EbNLS48x96mqDTJ9SxIpvqwAYfmgq512SRWJSTP8J9li9z7/b7fEJcbvdLiKtp/YnEltqgyIi7VNMM6n3/1vKpx9uZfzVfeiZFc/G9XW89txGEhJt/OrU7o37zC5jQd4WLr46h+4Z8cydWcrkSWv52yO5xCfYAHj71SJWflvNpTf0JSnZzoypRTz9yDpuf2CwmZS+PHkDVZV+rps4AIDXX9jElKc3cM0tA2ITfJR+e8rju90+Z+EtbVQTkQOP2p9IbKkNioi0TzEd5lqQX8uIw1IZNtJNejcnhx6VxpDhLjaurwMaeyU/mruFU8ZmcMgRafTKTuDiq3Pw+8MsWVQJgK8uxBcfV3D2RZkMHuYiu08il1zbh82FPn5Y6QWgtNjHquUeLrwih34Dk+k3MJkLL89h5VIPZZvrYxa/iIiIiIhIRxXTnsn+g5L59MNyykrq6dEznqKNdaz7sYZzL84CoGKrH09VkCHDXeYxDoeVAYOTKciv5Re/7samgjpCIYMhI7bvk5oWR6/sBNavqSF3hIv1+bUkJNroOyDJ3KfvwCQSEm2sz6+lR6/4tgu6ld6dd2OsqyBywFL7E4kttUERkfYppj2TJ53Rg8OPSeO+W1dxw/hvefAvP/CrU7tz+KguAHiqAgCkuCNzXpfbbm7zVAWw2y073fuY4rLjqQ427lMdJMW1c96c4tp+nh01NDTg8XjMH6+3sZczFAqZv1sqB4PBiHI4HN5tORAIRJQNw4goG4ZBIBDAGe/AGe/AZrcQnxAXUY5z2gkEGuMIh8MEg8HdlkOhUEQ5VjE1LwMR5XA4rJgUU7uJqamd2R3WncqOOFuHjKkzvk6KqfPG5Iiz4YizmW2uqWx3WHHE2TpkTJ3xdVJMiulAi0linEx+8+U2Fn9eyYTr+nD7/UO4+KocPswr48uFFRH7WbBELBsGYIlc1xLLLhe2n2dXp5k0aRJut9v8yc3NBWD16tXm76by8uXLyc/PB2Dp0qUUFBQAsHjxYgoLCwFYtGgRJSUlACxcuJDy8nIAFixYQFVVFQDz5883k9a8vDzq6+sJBoPk5eURDAapr68nLy8PAK/Xy/z58wGoqqpiwYIFAJSXl7Nw4UIASkpKWLRoEQCFhYUsXrwYgIKCApYuXQpAfn4+y5cvV0yKSTEpJsWkmBSTYlJMikkx7WFMDQ0NCFiMGKbVf7lhBSefkcEvT+5mrpvzbglLPq/kb48MpXxLA3f98Xtuf2Aw2X0SzX2eeXQdiUk2xl/dhx+/9/L43/P5x3MjInon/37HakYc5mbMub1Y9HE5M6YW88jzB0f8/VuuWMY547I45pfpO9WtoaEh4k1SXFxMbm4uGzZsICcnx7zKYbPZIsrBYBCLxWKWrVYrVqt1l+VAIIDNZjPLdrsdi8VilqHxiknzssPhwDAMsxwOhwmFQmY5HA5jt9t3WQ6FQhiGYZZbikMxKSbFpJgUk2JSTIpJMSkmxdRyTEVFRfTu3ZvCwkKyshpv0TsQxfSeyYA/jGWHvlGr1UJTepveLQ5Xqp0fVnjMZDIYDLP2hxrOOr8XAL37JmKzWVi9wsthR6cBUL0twOZCH2MvyASg38AkfHUhNqyrpU//xvsmC9bW4qsL0W9gEi1xOp04nU5z2ePxAI1vzOa/dyw3vdH2tOxwOFpVtlgsZrmpAexpeVd1V0yKSTEpJsWkmBSTYlJMikkx7VkcEuNkcthIN/NmltIlPY6eWfEUbvCxYM4Ws6fQYrHwq1O7M++9MrplxNM9w8m8WaXExVk54qf7KhMSbRxzQjozphaRlGxrfDTItGJ6ZScweFgKABmZCeSOcDHthU1ccGlvAKa9uJFhI10dYvIdERERERHpuHzr6ti2oIL6onpCniA9L80ieXiKuT3/j6tbPK7rGd1JO7ExNyqavBHfurqI7ckjXfQcn7n/Kv4zYppMnndJNrPf3swbLxdS4wngTnNw3IldGX12hrnPSWN6EPCHefM/m6irDdGnfxLX3z7AfMYkwLnjsrDZLLz0RAF+f5hBQ1MYf0t/mp4xCTDhuj689Uohkx9sHEM9/DA3512S3XbBioiIiIjIASnsDxOX6cR1lJuSl4t32t73noERy7Wra9jyZgnJI1Ii1ruOTiV99PZbBC2O2PaQxvSeyY6kqKiI7OzsA35ctIiIiIjIgW5vcoP8P67eqWdyR5tfLCTcECbr2pztf3PyRpyZTrr9NmOXx7W1mPZMioiIiIiIdFRer9ecWwV2nnelNYLeILWrauhxYa+d/943HjzfeLAn20gckkz6KV2xxttaOEvbiOmjQURERERERDqq3NzciMcJTpo0aa/P6VlcjTXeutMQ15TDXGRcnEnWdb3pcnJXapZ72dzCkNm2pJ5JERERERGRVli1ahWZmdsnwNnbXkkAz+IqUg51Y3VE9vu5j0nb/nd6xuPoFkfhPzdQX+gjPjthr/9uayiZFBERERERaYWUlBRcLtc+O59vXR2BLX7cezBDqzMrHmwQKA/ELJnUMFcREREREZF2oPqrKpxZ8Tgzf/7xhf7SBgiB3RW7/kH1TIqIiIiIiOxH4YYwgXK/uRyo8NNQXI810YYjzQFAqD5EzTIPXc/ssdPx/nI/3m+qSRqSjC3Zhr/Uz9ZZZTgzncT3jU2vJCiZFBERERER2a/qC30UP7nJXC6ftQWAlCPcZPw0a2vNtx4wIOXQnYfNWmwWfPl1VC3chtEQxp5mJ2lIMl1O6YbFGrtnTSqLine truncated
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA5MAAAHyCAYAAAB22JpfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACAwElEQVR4nOzdeXhU5dnH8e9smayThAAJZCMsAgFRqEvdra37WncUFRFFUam1CuqrdaWoxbYqiiuKFlyqbGoEVLSoWAGNAoIQIEASkkASksmeOTPz/hFyyABBJpIMCb/Pdc2VZ845c/LcmeFh7vMsx+L3+/2IiIiIiIiIBMEa6gqIiIiIiIhIx6NkUkRERERERIKmZFJERERERESCpmRSREREREREgqZkUkRERERERIKmZFJERERERESCpmRSREREREREgmYPdQU6CsMwyM7OJjExEatVObiIiIiIyKHK5/NRXFzM0KFDsdsP3ZTq0I08SNnZ2RxzzDGhroaIiIiIiBwkli5dytFHHx3qaoSMksn9lJiYCDR+YHr06BHi2oiIiIiISKgUFhZyzDHHmDnCoUrJ5H5qGtrao0cPUlJSQlwbEREREREJtUN9+tuhHb2IiIiIiIi0ipJJERERERERCZqSSREREREREQmakkkREREREREJmpJJERERERERCZqSSREREREREQmakkkREREREREJmpJJERERERERCZqSSREREREREQmakkkREREREREJmpJJERERERERCZqSSREREREREQmakkkREREREREJmj2Uv9zr9ZP1fiHLlpThLvfginPw25MTOOuiJKxWCwB+v5+sWYV8vaiUmmqDXn2juHxkKj1TIszzeDw+Zs8sYPmSMjweP/0HxXDFyFTiE8LMY2qqDd6dns/K78sBOHxYHJdfl0JkVEj/BPutrrZhn/vDI8L2uT9UPLXefe53RNjaqSYi0pl11DZSRKQ9qI2UthLSTOqTD4r48rPtXHtzL3qkhLN5Yw3/fmkzEZE2fndW98ZjPixmUdY2rrk5ne5J4cyfU8SUSev56+RMwncmIu+9mc+q7ysYdXsGUdF2Zs3IZ+rkDdwzcYCZlL42ZRPlZQ3cOqEvAG+9soXpUzdxy119QxN8kP545jP73P/x4rvaqSbBee3EH/a5/6bvftM+FRGRTq2jtpEiIu1BbaS0lZAOc83NqWbI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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 1000x500 with 2 Axes>"
|
||||
]
|
||||
@@ -1993,17 +1994,17 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 125,
|
||||
"execution_count": 57,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[ held_karp_tsp: 7,233 ± 825 length (100.00%) in 21 ± 6.7 msecs,\n",
|
||||
"[ held_karp_tsp: 7,233 ± 825 length (100.00%) in 26 ± 14.1 msecs,\n",
|
||||
" ensemble_tsp: 7,239 ± 821 length (100.07%) in 0 ± 0.1 msecs]"
|
||||
]
|
||||
},
|
||||
"execution_count": 125,
|
||||
"execution_count": 57,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@@ -2014,17 +2015,17 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 124,
|
||||
"execution_count": 58,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[ held_karp_tsp: 8,119 ± 699 length (100.00%) in 5,142 ± 234.3 msecs,\n",
|
||||
"[ held_karp_tsp: 8,119 ± 699 length (100.00%) in 5,268 ± 94.6 msecs,\n",
|
||||
" ensemble_tsp: 8,119 ± 699 length (100.00%) in 1 ± 0.1 msecs]"
|
||||
]
|
||||
},
|
||||
"execution_count": 124,
|
||||
"execution_count": 58,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user