{ "cells": [ { "cell_type": "code", "execution_count": 94, "id": "central-strength", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tid for bitonic_tsp: 0.4335184097290039\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "from random import randint\n", "from math import sqrt\n", "from time import time\n", "\n", "def generate_points(n):\n", " while True:\n", " points = [(randint(1, n ** 2), randint(1, n ** 2)) for _ in range(n)]\n", " xs = [x for (x, y) in points]\n", "\n", " if len(xs) == len(set(xs)):\n", " break\n", " return points\n", "\n", "call_statistics = {}\n", "\n", "def bitonic_tsp(points):\n", " start = time()\n", " \n", " '''Returner (samlet længde, A, B)\n", " \n", " hvor A = index på punkterne der ligger \"øverst\"\n", " og B = index på punkterne der ligger \"nederst\"\n", " \n", " Antager points sorteret fra venstre mod højre.\n", " '''\n", " \n", " def dist(i, j):\n", " px, py = points[i]\n", " qx, qy = points[j]\n", " \n", " return sqrt((px - qx) ** 2 + (py - qy) ** 2)\n", " \n", " answers = {}\n", " \n", " def solve(i, j):\n", " if (i, j) in answers:\n", " return answers[(i, j)]\n", " \n", " #print('solve:', i, j)\n", " call_statistics[(i, j)] = call_statistics.get((i, j), 0) + 1\n", " # if i == 0 and j == 0:\n", " if i == j == 0:\n", " answer = (0, [0], [0])\n", " elif i > j + 1:\n", " length, A, B = solve(i - 1, j)\n", " answer = (length + dist(i - 1, i), A + [i], B)\n", " elif i < j:\n", " length, A, B = solve(j, i)\n", " answer = (length, B, A)\n", " # i == j eller i == j + 1\n", " else:\n", " best_length = None\n", " best_A = None\n", " best_B = None\n", " for k in range(i):\n", " length, A, B = solve(k, j)\n", " length = length + dist(k, i)\n", " A = A + [i]\n", " if best_length == None or best_length > length:\n", " best_length = length\n", " best_A = A\n", " best_B = B\n", " answer = (best_length, best_A, best_B)\n", " answers[(i, j)] = answer\n", " return answer\n", " \n", " n = len(points)\n", " answer = solve(n - 1, n - 1)\n", " \n", " end = time()\n", " \n", " print('Tid for bitonic_tsp:', end - start)\n", " \n", " return answer\n", "\n", "points = sorted(generate_points(200))\n", "# points = sorted(points)\n", "\n", "length, A, B = bitonic_tsp(points)\n", "\n", "#print(f'{length = }')\n", "#print(f'{A = }')\n", "#print(f'{B = }')\n", "\n", "A_points = [points[a] for a in A]\n", "B_points = [points[b] for b in B]\n", "\n", "plt.plot(*zip(*A_points), '-b')\n", "plt.plot(*zip(*B_points), '-r')\n", "\n", "plt.plot(*zip(*points), 'k.')\n", "plt.title('total længde ' + str(length))\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 105, "id": "sized-concord", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Time passed in bitonic_tsp : 0.2969999313354492\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "from random import randint\n", "from math import sqrt\n", "from time import time\n", "from functools import cache\n", "\n", "def generate_points(n):\n", " while True:\n", " points = [(randint(1, n ** 2), randint(1, n ** 2)) for _ in range(n)]\n", " xs = [x for (x, y) in points]\n", "\n", " if len(xs) == len(set(xs)):\n", " break\n", " return points\n", "\n", "call_statistics = {}\n", "\n", "#def memoize(f):\n", "# answers = {}\n", "# \n", "# def wrapper(*args):\n", "# if args in answers:\n", "# return answers[args]\n", "# answer = f(*args)\n", "# answers[args] = answer\n", "# return answer\n", "# \n", "# return wrapper\n", "\n", "def time_function(f):\n", " def wrapper(*args):\n", " start = time()\n", " answer = f(*args)\n", " end = time()\n", " print('Time passed in', f.__name__, ':', end - start)\n", " return answer\n", " \n", " return wrapper\n", "\n", "@time_function\n", "def bitonic_tsp(points):\n", " '''Returner (samlet længde, A, B)\n", " \n", " hvor A = index på punkterne der ligger \"øverst\"\n", " og B = index på punkterne der ligger \"nederst\"\n", " \n", " Antager points sorteret fra venstre mod højre.\n", " '''\n", " \n", " def dist(i, j):\n", " px, py = points[i]\n", " qx, qy = points[j]\n", " \n", " return sqrt((px - qx) ** 2 + (py - qy) ** 2)\n", " \n", " answers = {}\n", " \n", " @cache\n", " #@memoize\n", " def solve(i, j):\n", " call_statistics[(i, j)] = call_statistics.get((i, j), 0) + 1\n", " # if i == 0 and j == 0:\n", " if i == j == 0:\n", " return (0, [0], [0])\n", " elif i > j + 1:\n", " length, A, B = solve(i - 1, j)\n", " return (length + dist(i - 1, i), A + [i], B)\n", " elif i < j:\n", " length, A, B = solve(j, i)\n", " return (length, B, A)\n", " # i == j eller i == j + 1\n", " \n", " best_length = None\n", " best_A = None\n", " best_B = None\n", " for k in range(i):\n", " length, A, B = solve(k, j)\n", " length = length + dist(k, i)\n", " A = A + [i]\n", " if best_length == None or best_length > length:\n", " best_length = length\n", " best_A = A\n", " best_B = B\n", " return (best_length, best_A, best_B)\n", " \n", " n = len(points)\n", " answer = solve(n - 1, n - 1)\n", " \n", " return answer\n", "\n", "points = sorted(generate_points(200))\n", "length, A, B = bitonic_tsp(points)\n", "\n", "for (idx, color) in [(A, 'b'), (B, 'r')]:\n", " plt.plot(*zip(*[points[a] for a in idx]), '-' + color)\n", "\n", "plt.plot(*zip(*points), 'k.')\n", "plt.title('total længde ' + str(length))\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.9.2" } }, "nbformat": 4, "nbformat_minor": 5 }