{ "cells": [ { "cell_type": "markdown", "id": "super-contest", "metadata": {}, "source": [ "This notebook compares the performance of QAOA with the ALR algorithm for maximum cut on a few types of graphs." ] }, { "cell_type": "markdown", "id": "collect-round", "metadata": {}, "source": [ "This belongs with the paper:\n", "\"Classical algorithms and quantum limitations for maximum cut on high-girth graphs\" by Boaz Barak and Kunal Marwaha\n", "\n", "(on arXiv at https://arxiv.org/abs/2106.05900 )\n", "\n", "All data is available at https://github.com/marwahaha/qaoa-local-competitors/tree/master/qaoa_vs_alr" ] }, { "cell_type": "markdown", "id": "advised-african", "metadata": {}, "source": [ "# Imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "disciplinary-namibia", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy.io import loadmat\n", "import scipy\n", "import networkx as nx\n", "import matplotlib.pyplot as plt\n", "from functools import lru_cache\n", "import pandas as pd\n", "from itertools import chain, combinations\n", "import seaborn as sns\n", "sns.set()" ] }, { "cell_type": "markdown", "id": "choice-carnival", "metadata": {}, "source": [ "# Random graphs" ] }, { "cell_type": "markdown", "id": "promising-archive", "metadata": {}, "source": [ "## Loading data from Zhou et al\n", "\n", "The data file `MaxCut_Fourier_u3R.mat` is from:\n", "\n", "\n", "\"Quantum Approximate Optimization Algorithm: Performance, Mechanism,and Implementation on Near-Term Devices\"\n", "\n", "by Leo Zhou, Sheng-Tao Wang, Soonwon Choi, Hannes Pichler, and Mikhail D. Lukin\n", "\n", "https://journals.aps.org/prx/pdf/10.1103/PhysRevX.10.021067\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "ordinary-supply", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['__header__', '__version__', '__globals__', 'DataFourier', 'DataFourierRP', 'Ns', 'maxP', 'GraphData', 'numGraphs'])\n" ] } ], "source": [ "annots = loadmat('MaxCut_Fourier_u3R.mat')\n", "print(annots.keys())" ] }, { "cell_type": "code", "execution_count": 3, "id": "lesser-chuck", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(20, 100), (20, 100), (20, 2, 100), (20, 100)]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# fields: ratio, param, overlaps, userTime\n", "[annots['DataFourierRP'][0][0][i].shape for i in range(len(annots['DataFourierRP'][0][0]))]" ] }, { "cell_type": "code", "execution_count": 4, "id": "smaller-worry", "metadata": {}, "outputs": [], "source": [ "Ns = annots['Ns'][0]\n", "num_graphs = annots['numGraphs'][0]\n", "maxP = annots['maxP'][0][0]" ] }, { "cell_type": "markdown", "id": "accredited-dividend", "metadata": {}, "source": [ "## Finding the maximum cut" ] }, { "cell_type": "markdown", "id": "exact-biotechnology", "metadata": {}, "source": [ "Leo's method (from his code at https://github.com/leologist/GenQAOA/ )" ] }, { "cell_type": "code", "execution_count": 5, "id": "specified-clearance", "metadata": {}, "outputs": [], "source": [ "@lru_cache(maxsize=None)\n", "def get_kron(N,i,j):\n", " sz = [1,-1]\n", " L = 2**(i-1)\n", " M = 2**(j-i-1)\n", " R = 2**(N-j)\n", " outT1 = np.kron(np.ones(L), sz)\n", " outT2 = np.kron(outT1, np.ones(M))\n", " outT3 = np.kron(outT2, sz)\n", " out = np.kron(outT3, np.ones(R))\n", " return out" ] }, { "cell_type": "code", "execution_count": 6, "id": "psychological-composite", "metadata": {}, "outputs": [], "source": [ "def get_H(N, edges):\n", " H = np.zeros(2**N)\n", " for i,j in edges:\n", " H = H + (1 - get_kron(N, i, j))/2\n", " return H" ] }, { "cell_type": "markdown", "id": "ignored-trick", "metadata": {}, "source": [ "Comparing against a brute-force method:" ] }, { "cell_type": "code", "execution_count": 7, "id": "opening-kitchen", "metadata": {}, "outputs": [], "source": [ "def powerset(iterable):\n", " \"powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)\"\n", " s = list(iterable)\n", " return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))" ] }, { "cell_type": "code", "execution_count": 8, "id": "fewer-surfing", "metadata": {}, "outputs": [], "source": [ "num_trials = 10" ] }, { "cell_type": "code", "execution_count": 9, "id": "coral-supply", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Success\n", "CPU times: user 13.6 s, sys: 38.6 ms, total: 13.6 s\n", "Wall time: 13.6 s\n" ] } ], "source": [ "%%time\n", "for N in [8,10,12,14,16]:\n", " for _ in range(num_trials):\n", " G = nx.random_regular_graph(3, N)\n", " G = nx.convert_node_labels_to_integers(G, first_label=1)\n", " max_cut = max(get_H(N, G.edges()))\n", " all_subsets = powerset(list(G.nodes()))\n", " all_cut_sizes = [nx.cut_size(G, S) for S in all_subsets]\n", " max_cut_brute = max(all_cut_sizes)\n", "# print(\"max cut:\", max_cut, max_cut_brute)\n", " assert max_cut == max_cut_brute\n", "print(\"Success\")" ] }, { "cell_type": "markdown", "id": "norwegian-warehouse", "metadata": {}, "source": [ "## ALR algorithm" ] }, { "cell_type": "code", "execution_count": 10, "id": "imported-cleaners", "metadata": {}, "outputs": [], "source": [ "def ALR(g):\n", " # Get adjacency matrix and eigenvectors\n", " nodes = sorted(g.nodes())\n", " n = len(nodes)\n", " m = nx.linalg.graphmatrix.adjacency_matrix(g, nodelist=nodes).asfptype().T.toarray()\n", " w, v = scipy.linalg.eig(m)\n", " \n", " min_eig_idxs = np.where(w == np.min(w))[0]\n", " cut = 0\n", " for idx in min_eig_idxs:\n", " # average over minimum eigenvectors (there are multiple when graph is disconnected, for example)\n", " eigvec = v[:, idx]\n", " # normalize eigenvector\n", " eigvec = eigvec * n**0.5 / np.linalg.norm(eigvec)\n", "\n", " # make cut from sign of eigenvector\n", " signs = np.sign(eigvec)\n", " S = [n for n, x in zip(nodes, signs) if x >= 0]\n", " cut += nx.cut_size(g, S)\n", " cut = cut/len(min_eig_idxs)\n", " return cut" ] }, { "cell_type": "markdown", "id": "mental-leeds", "metadata": {}, "source": [ "## Compare algorithms" ] }, { "cell_type": "code", "execution_count": 11, "id": "hazardous-netscape", "metadata": {}, "outputs": [], "source": [ "@lru_cache(maxsize=None)\n", "def compare(N, p, graph_num, show_prints=True, return_graph=False):\n", " pr = print if show_prints else lambda *x: x\n", " \n", " # get graph\n", " assert N in Ns, \"choose N from 8, 10, 12, 14, 16, 18, 20, 22\"\n", " idx = np.where(Ns == N)[0][0]\n", " assert annots['GraphData'][0][idx][0] == N\n", " assert annots['GraphData'][0][idx][2] == 'u3R'\n", " assert annots['GraphData'][0][idx][1].size == num_graphs[idx]\n", " pr(\"N:\", N)\n", " pr(\"number of graphs:\", num_graphs[idx])\n", " assert graph_num < num_graphs[idx], \"graph_num must be less than \" + str(num_graphs[idx])\n", " assert 1 <= p and p <= maxP, \"must be p in 1-\" + str(maxP)\n", " pr(\"p:\", p)\n", " pr(\"graph num:\", graph_num)\n", " ratio = annots['DataFourierRP'][0][idx][0][p-1][graph_num]\n", " pr(\"approx ratio:\", ratio)\n", " graph_edges = annots['GraphData'][0][idx][1][0][graph_num]\n", " G = nx.parse_edgelist([str(e[0]) + \" \" + str(e[1]) for e in graph_edges], nodetype = int)\n", " G = nx.convert_node_labels_to_integers(G, first_label=1)\n", " \n", " # get max cut\n", " max_cut = max(get_H(N, G.edges()))\n", " pr(\"total number of edges:\", len(graph_edges))\n", " pr(\"max cut:\", max_cut)\n", " qaoa_average_cut = ratio*max_cut\n", " pr(\"qaoa average cut:\", qaoa_average_cut)\n", " \n", " # get ALR cut\n", " alr_cut = ALR(G)\n", " pr(\"ALR cut:\", alr_cut)\n", " if return_graph:\n", " return G\n", " return (len(graph_edges), max_cut, qaoa_average_cut, alr_cut)" ] }, { "cell_type": "markdown", "id": "raised-superintendent", "metadata": {}, "source": [ "## Go through data" ] }, { "cell_type": "code", "execution_count": 12, "id": "revolutionary-peninsula", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "N: 16\n", "number of graphs: 100\n", "p: 3\n", "graph num: 20\n", "approx ratio: 0.898987262169082\n", "total number of edges: 24\n", "max cut: 21.0\n", "qaoa average cut: 18.878732505550722\n", "ALR cut: 20.0\n" ] }, { "data": { "text/plain": [ "(24, 21.0, 18.878732505550722, 20.0)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Example\n", "N = 16\n", "p = 3\n", "graph_num = 20\n", "compare(N, p, graph_num, show_prints=True)" ] }, { "cell_type": "code", "execution_count": 13, "id": "northern-yemen", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "N = 8\n", "N = 10\n", "N = 12\n", "N = 14\n", "N = 16\n", "CPU times: user 25.6 s, sys: 16 ms, total: 25.6 s\n", "Wall time: 25.6 s\n" ] } ], "source": [ "%%time\n", "\n", "all_df = None\n", "for N in [8, 10, 12, 14, 16]:\n", " print(\"N =\", N)\n", " ps = range(1, 21)\n", " for p in ps:\n", " df = pd.DataFrame(([(N, p, i, *compare(N, p, i, show_prints=False)) for i in range(100)]), columns=['N', 'p', 'graph_num', 'E', 'max_cut', 'qaoa', 'alr'])\n", " if all_df is None:\n", " all_df = df\n", " else:\n", " all_df = pd.concat((all_df, df))\n", " \n", "#all_df.to_csv('output.csv', index = False)" ] }, { "cell_type": "markdown", "id": "governmental-bracelet", "metadata": {}, "source": [ "## Plots" ] }, { "cell_type": "code", "execution_count": 14, "id": "valued-stake", "metadata": {}, "outputs": [], "source": [ "ds = all_df\n", "ds['delta'] = ds['alr'] - ds['qaoa']\n", "ds['normalized_delta'] = ds['delta']/ds['E']\n", "average_diff = ds.groupby(['N','p'])['delta'].mean().unstack()" ] }, { "cell_type": "code", "execution_count": 15, "id": "obvious-research", "metadata": {}, "outputs": [], "source": [ "def plot_mean_diff(average_diff, ax, f1=20, f2=16):\n", " cmap = sns.color_palette(\"vlag\", as_cmap=True)\n", " sns.heatmap(average_diff, center = 0, cmap=cmap, ax=ax)\n", " ax.set_title(\"Mean difference in cut value ($ALR-QAOA$)\", fontsize = f1)\n", " ax.invert_yaxis()\n", " ax.set_ylabel('$n$', fontsize=f2)\n", " ax.set_xlabel('$p$', fontsize=f2)" ] }, { "cell_type": "code", "execution_count": 16, "id": "outside-basics", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAo4AAAGSCAYAAABt8kCdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAzPklEQVR4nO3deXQU5ZrH8V8nYQsQAiIBogKiSVhEZL0ZQTQQuErCIsqmGC4q12ECsjiggIAssugISOCC60UuMFcUEJC5KItHFgVEUSER2WQJELbEQFiT1PzhpMfY3aGSdFeqw/dzTs6Bqur3eau6+82Td6lyGIZhCAAAALiBgJKuAAAAAPwDiSMAAABMIXEEAACAKSSOAAAAMIXEEQAAAKaQOAIAAMAUEkcAAACYQuIIAAAAU0gcYXsxMTGKiYnJt+348eOKjIzUiy++6PY1H3zwgR555BE1adJEkZGR+vvf/25qH27sRtceRWP36zpy5EhFR0fr0qVLJV0VWGzPnj2KjIzUsmXLSroqsAESR5uKjIxUZGSkoqKidPToUY/H9evXz3ns8uXLLayhfX366aeaMmWKypUrp4SEBCUmJqpp06Y33Iebg90TNDv68ccftWrVKg0cOFDBwcEFHpuVlaUHHnhAkZGRGjRoUIHHPvXUU4qMjNQ333xzwzr85S9/cbZ1eT/R0dHq27ev/ud//qdQ5+MLR48e1RtvvKFu3bqpVatWaty4sWJiYvTiiy/qp59+MlVGYa5dnmPHjmnmzJk+jdu4cWN16NBBs2fPVlZWlqkyUXoFlXQF4FlQUJCys7P10Ucfafjw4S77f/nlF+3cudN53M0kLCxMa9euVeXKlV32bdq0SZI0f/58hYWFmd4Hcwq69iidZs6cqUqVKqlPnz43PDYpKUlpaWlyOBxKTk72eJxhGEpOTlZAQIAaNGhww3KTk5PlcDg0aNAgORwOZWdn6/Dhw1q/fr127dqltLQ09e/fvzCn5RWGYWjevHmaP3++rl+/rpYtWyo+Pl4VKlRQSkqKVq5cqdWrV+uVV17RY489VmBZZq9dScT961//qscff1yLFi3Sc889V/BFQalG4mhjt9xyi2699VYtX75cQ4YMUVBQ/rdr2bJlMgxDDz74oNavX19CtSwZZcqUUf369d3uO336tCS5TQwL2gdzCrr2KH0OHz6sbdu26fHHH1f58uULPPbAgQNatGiR2rZtqzNnzuinn37S+fPnVa1aNZdjf/nlF124cEH169dXxYoVCyz36NGjysjIUL169TRkyJB8+5YuXaoJEybogw8+sDxxNAxDo0eP1vLly9W4cWO9/vrrqlevXr5jvvrqKz3zzDMaN26cGjZsqIYNG7otqzDXriTiNmnSRHfeeaf++c9/6tlnn1VgYGBhLhVKEYaqba5nz546c+aMvvjii3zbr1+/rpUrV+q+++7TXXfd5fH133//vYYMGaL7779fjRs3Vrt27TRu3DilpaW5HLt8+XINHjxY7du3V5MmTdSsWTP17t1bn3zyicuxvx/uO378uIYNG6bWrVvrnnvu0aOPPurs2TPLMAz94x//UOfOnXXPPfeobdu2mjhxoi5cuOD2eHfDjXPmzFFkZKS2b98uSfmGtAraV5Tr9fv4hw8f1tChQxUdHa2oqChnjMKUV5xr+sMPP2jo0KFq27atGjdurDZt2mjAgAFau3aty7GFqY8n7q69tz8PZs9r+/btzvfXnT/Oj50zZ47at28vSVqxYkW+z0FBUz2+++47RUZGKjEx0eMxDz/8sBo3bqyMjAzntsJ8pzwp7Dn+njfe748//liGYeiRRx654bETJ06UYRh66aWXnN+tlJQUt8fu3btXktSoUaMblrtnzx6Px7Zt21aSdO7cuRuW421vv/22li9frkaNGmnJkiUuyZskRUdHq0+fPsrJydHChQs9llWYa/fWW2+VSNzOnTvrxIkT2rZtm8fyUPqRONpc586dFRwc7DIpeePGjTp79qx69uzp8bUff/yx+vTpoy+//FKtW7fWU089pcaNG2vZsmXq0aOHTpw4ke/4CRMmKDU1VS1btlRCQoKzkRg5cqRmzZrlNkZqaqoef/xxpaamqmvXrnrkkUe0f/9+DRo0SF9//bXp85wyZYomTZqkX3/9Vb169VLnzp21efNm9e/fX9euXTNVRqtWrZSYmKjw8HBJUmJiovOnoH1FvV7Sbz0hPXv2VGpqquLj49WzZ09VqlSpyOUV9pp++OGH6t27t9avX6/77rtPAwYMULt27XTu3DktXbo037FFrU9heOvzUJjzKoxWrVrpqaeekiRFRUXl+xwUNFx63333qV69evriiy+Unp7usv+HH37QoUOHFBMTo9DQUOf2onynvMVb7/e2bdsUGBioe++9t8DjVq9ere3bt6tPnz6qX7++IiIiJP1/gvhHeclg48aNb1iHH3/8UZJ0zz33uOzLmwNudS/4iRMn9Oabb6pcuXKaPXu2ypUr5/HYNm3aSJJ2797tdn9hrt2xY8c0Z84cy+NKUrNmzSSJxPFmZ8CWIiIijLZt2xqGYRijR482GjRoYJw8edK5f8CAAUazZs2MS5cuGW+88YYRERFhfPzxx879hw4dMho1amR06NDBOHXqVL6yt23bZkRFRRmDBg3Kt/3IkSMu9bh69arx1FNPGQ0bNsxXzrFjx4yIiAgjIiLCmDNnTr7XfPnll0ZERITxzDPPmDrXXbt2GREREUaHDh2M9PR05/YrV64YPXv2NCIiIoyHHnoo32vy4o8aNcqlvCeffNKIiIhwG8vTvsJer9+f/3/9138Vu7w/lmnmmu7fv99o2LCh0bJlS+Pnn392qcPvPy9FqY8n7q69Nz8PhTmvr7/+2oiIiDDefPNNt2U99NBDhfrsFGT+/PlGRESEsWjRIpd9EyZMMCIiIowNGzbk216U79Qf61WUc/TW+52VlWU0aNDAiIuLK/C4CxcuGG3atDFatWplZGRkGIbx/+/7888/7/Y1TzzxhBEREWF88803N6xH3vd2x44d+bafP3/e6NKlixEREWGsXbv2huV40+TJk42IiAhj8uTJNzw2JSXFiIiIMP70pz+57Cvstcv7rBUmbnR0dLHjGoZhZGZmGhEREUaPHj1uGBulFz2OfqBnz57KycnRRx99JOm3Xp1t27Y5J0K7s3TpUl2/fl1jxoxxmc8XHR2tmJgYbdq0SRcvXnRuv+OOO1zKKVu2rJ544gllZ2frq6++ctkfHh6uf//3f8+3rW3btqpdu7Z++OEHU+eXN0T43HPP5eutKVeunNtFQb5QlOslSdWrV3c7fFnU8iTz13Tp0qXKzs7WoEGDdPfdd7uUU7NmTa/UpzC88XkozHlZqWvXrgoICNCKFSvybb927ZrWrl2rW265RQ888EC+fUX5TnmDt97vtLQ05eTk6NZbby3wuDlz5uj06dMaMmSIqlSpIknO3it3w565ublKTk5WYGDgDRfGGIbhLGPjxo2aM2eOZs2apZEjRyo2NlbHjh3T+PHj9fDDDxdYjrdt2LBBktSlS5cbHps3fSEkJMRlX2GunWEY+vzzzwsdt2rVqsWKm6dy5coqV66cTp48ecPYKL1YHOMH7r33XkVERGj58uUaNGiQli1bptzc3AKHqfOGJnbs2OEc5vm9c+fOKScnR7/88otzqOjEiRN6++239dVXX+nkyZO6cuVKvte4mxcVFRXldpJ0zZo1PQ6P/FHeKr5WrVq57GvRooXLoiBfKMr1kn47/7Jly3qtvLwyzVzTvH/nzfEqSHHqUxje+DwU5rysVLNmTUVHR2vr1q06cOCAc27xpk2blJGRof79+7t8VovynfIGb73fBSU8efbv369//OMfuvvuu9W7d2/n9rCwMIWGhurIkSO6ePGicwqH9NuCm6ysLN199903vL3P4cOHnXOd33vvvXz7goODNXv2bJeE3ZOYmBilpqaaOlaS4uPj9frrr7tsz8jIUGpqqoKCgkytCP/+++8lyeXYwl6706dP68yZM4WO+8eFMUV5z/JUqVKlROaTwj5IHP1Ez549NXnyZG3evNk5KdrTKjnp/xv8d999t8By827me+zYMT322GPKzMxUixYt1KZNG1WqVEmBgYFKTU3VihUr3M419PQLJSgoSLm5uabOLe+Xwi233OKyLzAwMF8vpK8U9nrlqV69ulfLk8xf07zrZmaFeHHqUxje/DzYceV79+7dtXXrVq1YsUL/+Z//KUnOHsju3bvnO7ao3ylv8Nb7nbeK+urVqx6PmThxorKzs/XSSy+5/NEQERGhHTt2KCUlRS1btnRuL8z8xrxje/TooVdffVXSb+e3cuVKTZ06VSNGjNCGDRsKTG7z3H777W7/0POkRo0abrfnzXOtWLHiDf+wNQxDq1evliTFxsbm21fYa1fUuB07dixW3N+7evVqgfMqUfqROPqJrl276vXXX3euiPyP//iPAo/P+0tx165dbv9q/KP3339fGRkZmjp1qh599NF8+9asWeMyPOdNefcDPHfunEvvQ05OjjIyMnyeRBT2euVxOBxeLa8w8q5bWlraDWNYUR9vKcx5BQT8NtvG031ML1y44NX7TcbGxqpSpUpatWqVhg8frl9//VWbN29WVFSUoqKi8h3rre9UUc7RW+933i1Zfr9S/Pc++eQT7dixQ5I0YMAAj+Xs3bvXbeJY1BXVoaGh6t+/v7777jv961//0ieffKJ+/frdsKyCVhcXRt71zszM1OXLlz1OGZJ+W4Cyf/9+1alTJ18CV5Rrl5ccFyZu/fr1nXcSKGrcPLm5ucrMzNRtt93m8XUo/Zjj6CdCQkLUqVMnnTp1SsHBwercuXOBx+c9DcXMExkk6ciRI5Jc/zKV5GxkfCWv59RdnG+++caSm5sX9npZXV5BMTZv3myL+nhLYc4r7xfpqVOnXPYdOXJEmZmZLtvzelhycnIKXbfy5cvr4Ycf1unTp7Vt2zatWrVK2dnZLr2NefGl4n+ninKO3nq/a9SooWrVqunw4cMu+y5evKjXXntNZcqUUY8ePfTYY4+5/ERHR0tynTOXt2q3MD2O7o59/PHHJf32RCgrVa9eXbfddpsMw9DWrVs9Hnf48GG98sorCgwM1MSJE1WmTBlJRb92tWvXVlhYmOm4QUFBmjx5svOPj+K8Z3nlGoZhapgcpReJox8ZOnSo5s6dq3feeeeGvQhPPPGEypQpo6lTp7pt9K9du5bvl0rebWr++Att8+bNzkU5vpL3S3f+/Pn5ejauXr2qN954w6ex8xT2elldnjt9+vRRUFCQ5s2bpwMHDrjs/32iYUV9vKUw53XnnXeqUqVK2rBhQ755V1euXNHkyZPdlh8SEiKHw1HkCf55n9eVK1fqk08+UVBQkOLj412O89Z3qijn6K332+FwqGXLlkpPT3cmwnlmz56tM2fOKCEhQa+++qqmTJni8jNixAhJyvc0ktzcXKWkpJhaGJN3bFBQkEuPriS1bt1aISEh2r17t8/mi3qSkJAgSZo2bZrb2Js2bVKfPn2UlZWlcePG6U9/+pNzX1GvnSTnTc5vFPfy5cuaNGmS8xY6xY0r/f/c2datWxfiSqG0Yajaj9SuXVu1a9c2dWz9+vU1ZcoUjRkzRnFxcWrbtq3q1q2r7OxsnThxQrt27VLVqlX1r3/9S5LUt29fLV++XM8//7w6duyosLAw7d+/X5s3b9bDDz/s9mbS3tK8eXP169dPixYtUlxcnP785z8rKCjIOW/pRis6vaGw18vq8ty56667NH78eI0fP17dunVT+/btVbduXaWnp2vPnj2qWLGiFi1aZFl9vKUw51WmTBk99dRTmjdvnrp166bY2FhlZ2dr27ZtqlGjhts5ahUrVtS9996rb775RiNGjFC9evUUEBCgmJgYt8nJHzVv3lx16tTRunXrdP36dT300ENu5+d66ztVlHP05vvdsWNHrVu3Tlu2bFGdOnUkSfv27dOSJUtUq1atAqfNREREKDAwUAcPHtSVK1dUvnx5HTx4UJcuXVJwcLAmTZrk9nVVq1bVCy+84Dw2KirK7by6MmXK6IEHHtCaNWu0fv16PfHEEzc8H2/p16+fkpOTtWLFCj388MNq3769ateurfPnz+vbb7/VgQMHVL16dc2dOzffUHFxrp30W+KYkpKiVatWeYx76623KikpKd+N4YsbV5K2bt2qwMDAfOeDmw+JYynWtWtXRUVF6f3339f27du1ZcsWBQcHq0aNGurUqVO+21dERUXpgw8+0KxZs/Tll18qOztbUVFRSkpKUuXKlX2aOErSmDFjVLduXS1evFj//d//rdDQUMXGxmr48OHq2rWrT2PnKcz1Kony3OnZs6fuvvtuvffee9qxY4c2bNig0NBQRUZGOofxrKyPtxTmvIYMGaIKFSroww8/1Icffqjq1avrkUce0eDBgz1O6ZgxY4amTp2qLVu26NNPP5VhGKpZs6apxFGSunXrptmzZ0tyXRSTx5vfqaKco7fe744dO6p69epauXKlMzHLW1wxZsyYAldFlytXTnXq1NGhQ4e0b98+3Xvvvc5h6kuXLnnsec27cbWZp8vExsZqzZo1WrdunaWJo8Ph0LRp09ShQwctW7ZMW7duVUZGhnMKxNNPP61Bgwa5jA4V59pJv815fe2119ShQwd99NFH2rx5sy5cuKAqVaqoXr16eumll/TYY495Pe6FCxe0fv16Pfjgg6pVq1aRrhlKB4dhGEZJVwIAYF8LFizQG2+8oRUrVhR4Nwf8dsug6dOn6/7779e7777rcQGdv1m0aJEmT56sxYsXq0WLFiVdHZQg5jgCAArUv39/1a5dW2+++WZJV8X2+vfvr/vuu09bt27V4sWLS7o6XnHlyhUtWLBAnTp1ImkEQ9UAgIKVK1dOM2bM0Pbt253zE+FeQECAZsyYoU8++URXrlxRbm6uc1Wzv0pNTVWvXr08TsvAzYWhagAAAJji338GAQAAwDJ+O1T94Z/aWBKnTmw7S+JIUtUG5lZ0ekPFcGvu/F/Bglvp5CkfWtWyWEEFPLHB2xxlzD8irVgsHE6zcpgj18JBFZNPVfROLIvOq7QOSll5WlZ+BlE8oVVv/OhKKxQ3x+n59RYv1cQVPY4AAAAwhcQRAAAApvjtUDUAAECpFGDf+3/S4wgAAABTSBwBAABgCkPVAAAANuJw2Ldfz741AwAAgK3Q4wgAAGAjDhbHAAAAwN+ROAIAAMAUhqoBAABsxM5D1SSOAAAAdsKqagAAAPg7EkcAAACYwlA1AACAjdh5jiM9jgAAADCFHkcAAAAbcTjocQQAAICfI3EEAACAKQxVAwAA2IgjwL79eiSOAAAAdsKqagAAAPg7EkcAAICbXFJSkiIjI/Xzzz8XeBxD1QAAADZi9e149u7dq927d6t27do3PJbEEQAAoBTJzMxUZmamy/aQkBCFhITk23bt2jVNnDhRr7/+uhISEm5YNokjAACAjRR3VfXChQuVlJTksj0xMVGDBw/Ot2327Nnq0qWLbr/9dlNlkzgCAACUIgkJCerevbvL9j/2Nn733Xf68ccf9cILL5gum8QRAACgFHE3JO3Ozp07dejQIbVv316SdOrUKT399NOaOnWq2rRp4/Y1JI4AAAA2YtXimIEDB2rgwIHO/8fExGj+/PmKiIjw+BpuxwMAAABT6HEEAACwkxJ6cszGjRtveEyJ9ThmZWVp7969unjxYklVAQAAwHYcjoBi/fiSZYnjuHHjdP78eUnSrl27FBsbq5EjRyo2NlZbtmyxqhoAAAAoIsuGqnfv3q1q1apJ+u2eQfPnz1eTJk10+PBhjRgxwuPqHQAAANiDZYnj1atXnf/OyspSkyZNJEn16tXT9evXraoGAACArTlKaI6jGZYNVUdHR2vatGm6fPmyWrdurbVr10qStm7dqtDQUKuqAQAAgCKyLHEcPXq0srOz9cADD+jzzz/X8OHD1bhxY7333nt69dVXraoGAAAAisiyoeqyZctq7NixGj58uI4ePaqcnBzVrl1bVatWtaoKAAAAtlfcZ1X7kuU1Cw4OVlRUlBo1auRMGuPj462uBgAAAArJsh7HAwcOuN1uGIbS09OtqgYAAIC9WfTIwaKwLHGMi4tTeHi4DMNw2ZeRkWFVNQAAAGzNzquqLUscw8PDtWTJEoWFhbnsa9eunVXVAAAAQBFZNsexY8eOSk1NdbsvNjbWqmoAAACgiCzrcRw1apTHfWPHjrWqGgAAALbm6+dNF4d9awYAAABbIXEEAACAKZYNVQMAAMAEG6+qpscRAAAAptDjCAAAYCMOG98AnB5HAAAAmELiCAAAAFMYqgYAALARR4B9+/VIHAEAAOyEOY4AAADwd/Q4AgAA2Iidh6rtWzMAAADYCokjAAAATGGoGgAAwEa4ATgAAAD8HokjAAAATGGoGgAAwEYcAfYdqiZxBAAAsBOHfQeE7VszAAAA2Ao9jgAAADZi56FqehwBAABgit/2OFaLvNOSOJXuuN2SOJIUXLOWdbHCwiyJU75qNUviSFJQxYqWxVJAoGWhcg1r4uTkWBRIUk5uroWxrDsvw7AuVq6F52UVK68fgKLx28QRAACgNHKwOAYAAAD+jh5HAAAAO2FxDAAAAPwdiSMAAABMYagaAADARhwO+w5VkzgCAADYiCPAvgPC9q0ZAAAAbIXEEQAAAKYwVA0AAGAnNp7jSI8jAAAATKHHEQAAwEZYHAMAAAC/R+IIAAAAUxiqBgAAsBMbL44hcQQAALAR5jgCAADA75E4AgAAwBSGqgEAAGzEYeM5jvQ4AgAAwBR6HAEAAOwkgB5HAAAA+Dl6HAEAAG5igwYN0vHjxxUQEKDg4GC9/PLLatCggdtjSRwBAABsxOGwdkB4+vTpqly5siRp/fr1Gj16tFasWOH2WBJHAACAUiQzM1OZmZku20NCQhQSEuKyPS9plKSLFy8WuKqbxBEAAMBGHMVcHLNw4UIlJSW5bE9MTNTgwYPdvmbMmDHaunWrDMPQO++847FsEkcAAIBSJCEhQd27d3fZ7q63Mc+UKVMkSStXrtSMGTP09ttvuz2OxBEAAMBOijnH0dOQtBndunXTuHHjlJ6erqpVq7rs53Y8AAAAN6msrCydPHnS+f+NGzeqSpUqCg0NdXs8PY4AAAA2Utw5joVx+fJlPf/887p8+bICAgJUpUoVzZ8/3+MCGRJHAACAm1T16tX14Ycfmj6+RIeqt23bVpLhAQAAUAiW9TgeOHDAZdtLL72k9957T4Zh6K677rKqKgAAALZl9Q3AC8OyxDEuLk61a9fOt+3s2bN69tln5XA4tGHDBquqAgAAgCKwLHFMTEzU999/rwkTJig8PFySFBMTo40bN1pVBQAAAPuzcHFMYVnWF5qYmKhhw4ZpxIgRWrp0qSQV+EgbAAAA2Iulg+gNGzbUBx98oNTUVCUkJOj69etWhgcAALA9hyOgWD++ZPnteMqWLasXXnhBu3fv1o4dO6wODwAAgCIqsWU7TZs21cCBAyVJ8fHxJVUNAAAAewlwFO/Hh0r0djx50tPTraoGAAAAisjS2/GEh4fLMAyXfRkZGVZVAwAAAEVkWeIYHh6uJUuWKCwszGVfu3btrKoGAACArdn5BuCW1axjx45KTU11uy82NtaqagAAAKCILOtxHDVqlMd9Y8eOtaoaAAAAtubgBuAAAADwdySOAAAAMMXyG4ADAACgADZ+JDOJIwAAgI04Auw7IGzfmgEAAMBWSBwBAABgCkPVAAAANuKw8RxHehwBAABgCj2OAAAAdsLiGAAAAPg7EkcAAACYwlA1AACAjdh5cQyJIwAAgJ047DsgbN+aAQAAwFbocQQAALARR4B9h6rpcQQAAIApJI4AAAAwhaFqAAAAG3GwOAYAAAD+jsQRAAAApvjtUHWl8NqWxClfvbolcSSp/C23WBarXGioJXGCKla0JI4kKSDQslA5hmFZrOwca2Jl5+RaEkeSciyMZVj4XpVGuVw/wHqsqgYAAIC/89seRwAAgNLIzotjSBwBAABshBuAAwAAwO+ROAIAAMAUhqoBAADsxMZzHO1bMwAAANgKiSMAAABMYagaAADARlhVDQAAAL9HjyMAAICd2HhxDIkjAACAjTBUDQAAAL9H4ggAAABTGKoGAACwEYeN5zjat2YAAACwFXocAQAA7ITFMQAAAPB3JI4AAAAwhaFqAAAAG3EE2Ldfz741AwAAgK2QOAIAAMAUhqoBAADsxGHfVdUkjgAAADZi1RzH9PR0jRw5UkePHlXZsmVVp04dTZw4UdWqVfP4GoaqAQAAbkIOh0PPPPOM1q1bp9WrV+v222/X66+/XuBrSBwBAABsxOFwFOvHrNDQULVu3dr5/6ZNm+rEiRMFvoahagAAgFIkMzNTmZmZLttDQkIUEhLi9jW5ublaunSpYmJiCiy7UInjtWvXVLZs2cK8BAAAABZauHChkpKSXLYnJiZq8ODBbl8zadIkBQcH68knnyywbFOJ4/bt2/Xiiy/q1KlTqlSpkiIjI9WwYUPnz1133aUAG9+sEgAAwG8UM6dKSEhQ9+7dXbZ76m2cPn26jhw5ovnz598wnzOVOE6cOFHly5fXyy+/rPT0dKWkpGj9+vX64IMPJEnlypXT999/b6YoAAAA+FBBQ9J/NHPmTO3Zs0dvvfWWqVFlU4nj8ePHNXv2bD344IP5tmdmZmrv3r366aefTFUOAAAABSvMApfi2L9/v+bPn6+6deuqd+/ekqTbbrtNc+fO9fgaU4njnXfeqezsbJftISEhio6OVnR0dBGrDAAAgJJw9913a9++fYV6jalB9P79+2vZsmVFqlSe9PR0jRkzRgMGDNDixYvz7fM0URMAAOBm4wgIKNaPL5kq/ZtvvtHBgwc1dOhQHTp0qEiBxo8frypVqqh3795av369EhMTnb2Yx44dK1KZAAAAsI6poepvv/1WJ0+e1PHjx7Vu3TrVrFlTjRo1UsOGDdWoUSM1atRI1atXL7CMI0eO6M0335QkxcbGauLEifrrX/+qefPmFf8sAAAASguHfe9UYypx/PTTT3Xt2jXt27dPKSkpzp+3335bly9flsPhUEpKSoFlXLt2zflvh8Oh8ePHa/r06Ro4cKCuXr1avLMAAACAz5m+AXjZsmV1zz336J577nFuMwxDhw4dMjWx8vbbb9fOnTvVsmVL57ZRo0Zp5syZWrBgQSGrDQAAAKsV65GDDodD9evXV/369W947IwZM9wuLx82bJji4+OLUw0AAIBSwxFgze14isKyQfTQ0FBVqVLF7b5hw4ZZVQ0AAAAUUbF6HAvjwIEDHvelp6dbVQ0AAAB78/fFMd4QFxen8PBwGYbhsi8jI8OqagAAAKCILEscw8PDtWTJEoWFhbnsa9eunVXVAAAAsDXmOErq2LGjUlNT3e6LjY21qhoAAAAoIst6HEeNGuVx39ixY62qBgAAgK05bDzH0b41AwAAgK2QOAIAAMAUy4aqAQAAYAKLYwAAAODv6HEEAACwERbHAAAAwO+ROAIAAMAUhqoBAABsxM5PjiFxBAAAsBPmOAIAAMDfkTgCAADAFIaqAQAAbMQRYN9+PfvWDAAAALZCjyMAAICdOOy7qpoeRwAAAJhC4ggAAABTGKoGAACwETsvjiFxBAAAsBE7PznGviktAAAAbIXEEQAAAKb47VB1cM0wS+KUqxJqSRxJCgoOtixWYNmy1gSy8JYChmWRJMPKYBYJtHBoJMARaFksK+WWxg8GAOvxrGoAAAD4O7/tcQQAACiNWBwDAAAAv0fiCAAAAFMYqgYAALARB4tjAAAA4O/ocQQAALATHjkIAAAAMxwW3gO5sOyb0gIAAMBWSBwBAABgCkPVAAAANuKw8RxH+9YMAAAAtkLiCAAAAFMYqgYAALATVlUDAADA39HjCAAAYCN2XhxD4ggAAGAjdk4c7VszAAAA2AqJIwAAAExhqBoAAMBOWFUNAAAAf0fiCAAAAFMYqgYAALARVlUDAADA75E4AgAA2IjD4SjWT2FMnz5dMTExioyM1M8//3zD40kcAQAAblLt27fX4sWLFR4ebup45jgCAADcpFq0aFGo40kcAQAAbKS4i2MyMzOVmZnpsj0kJEQhISHFKpvEEQAAwE6KmTguXLhQSUlJLtsTExM1ePDgYpVN4ggAAFCKJCQkqHv37i7bi9vbKJE4AgAA2EphV0b/kTeGpD2xPHFMT0/XqVOnJEk1a9ZU1apVra4CAAAAJE2ePFmfffaZzp49q7/85S8KDQ3Vp59+6vF4yxLHo0eP6uWXX1ZycrJq1KghSTp9+rQaNmyoV155RXXr1rWqKgAAAJA0duxYjR071vTxliWOI0eOVN++ffX+++8r4P8mfebm5mr16tUaNWqU/vnPf1pVFQAAANvikYOSMjIy1KVLF2fSKEkBAQHq2rWrfv31V6uqAQAAgCKyLHEMDQ3VmjVrZBiGc5thGFq1apXPJnACAADAeywbqp42bZrGjx+viRMnKiwsTJKUlpamqKgoTZs2zapqAAAA2JvDvkPVliWOdevW1cKFC3X+/HmdPHlSklSrVi1Vq1bNqioAAADYniOgeLfj8SXLb8dTrVo1l2QxPj5eq1evtroqAAAAKATLEscDBw643W4YhtLT062qBgAAgK3ZeVW1ZYljXFycwsPD8y2OyZORkWFVNQAAAFBEliWO4eHhWrJkiXNhzO+1a9fOqmoAAACgiCzrC+3YsaNSU1Pd7ouNjbWqGgAAALbmcDiK9eNLlvU4jho1yuO+wjzqBgAAACXD8lXVAAAAKICNF8fYt2YAAACwFRJHAAAAmMJQNQAAgI04eOQgAAAAzLDzIwftm9ICAADAVkgcAQAAYApD1QAAADZi52dV27dmAAAAsBV6HAEAAOzExquq7VszAAAA2AqJIwAAAExhqBoAAMBG7HwfRxJHAAAAG7Hzk2PsWzMAAADYCokjAAAATGGoGgAAwEa4ATgAAAD8Hj2OAAAAdmLjVdX0OAIAAMAUEkcAAACY4rdD1ZXr3WlJnErh4ZbEkaSKNcIsi2WUKWtJnOxcw5I4kpSdnWNZrBwLzwsAcHPhPo4AAADwe37b4wgAAFAa2fmRg/Q4AgAAwBR6HAEAAOyEOY4AAADwd/Q4AgAA2AhzHAEAAOD3SBwBAABgCkPVAAAANsINwAEAAOD36HEEAACwEweLYwAAAODn6HEEAACwEQc9jgAAAPB39DgCAADYSYB9+/XsWzMAAADYCokjAAAATGGoGgAAwE5YHAMAAAB/R48jAACArdDjCAAAAD9H4ggAAABTGKoGAACwE/uOVJM4AgAA2AqrqgEAAODvSBwBAABuUocPH1avXr3UqVMn9erVS7/88kuBx5M4AgAA3KTGjx+vvn37at26derbt6/GjRtX4PEkjgAAAKVIZmamjh8/7vKTmZmZ77hz584pOTlZcXFxkqS4uDglJyfr/PnzHssuscUxly9f1sGDB3XHHXcoJCSkpKoBAABgM8VbHLNw4UIlJSW5bE9MTNTgwYOd/z958qTCwsIUGBgoSQoMDFSNGjV08uRJVatWzW3ZliWOn3/+uUaNGqUaNWpo+vTpGjp0qCpUqKBz585p6tSpiomJsaoqAAAApVZCQoK6d+/ust0bHXWWJY5JSUlaunSpMjMzNXDgQP3tb39Ts2bNdPDgQY0YMYLEEQAAwAtCQkJMJYm1atVSWlqacnJyFBgYqJycHJ0+fVq1atXy+BrL5jg6HA5FRkaqZcuWqlixopo1ayZJql+/vlVVAAAAwP+55ZZb1KBBA61Zs0aStGbNGjVo0MDjMLVkYY+jw+HQwYMHlZmZqUuXLmn37t1q2rSpDh8+rJycHKuqAQAAYGuGhbEmTJigF198UfPmzVNISIimT59e4PGWJY5DhgxRnz59FBAQoJkzZ2r27Nk6c+aMTp06pQkTJlhVDQAAAPyf+vXra9myZaaPdxiGYWVi65STk6OUlBTVrFlT1atXL/TrD6/+xAe1clU1IsKSOJJUsabnOQXeZpQpa0mcnFzrPl7ZObmWxbLyvAAA1gitao+7vFy7dKlYry8bHOylmrgqsdvxBAYGqnHjxiUVHgAAAIXEDcABAABgSon1OAIAAMBVyUwiNIceRwAAAJhC4ggAAABTGKoGAACwEcPSOzkWDj2OAAAAMIUeRwAAABux8+IYEkcAAAAbsXPiyFA1AAAATCFxBAAAgCkMVQMAANhIro3HqulxBAAAgCkkjgAAADCFoWoAAAAbMRiqBgAAgL+jxxEAAMBGbNzhSOIIAABgJ6yqBgAAgN8jcQQAAIApDFUDAADYCKuqAQAA4PfocQQAALCR3Fx6HAEAAODnSBwBAABgCkPVAAAANsLiGAAAAPg9EkcAAACY4jDs3B8KAAAA26DHEQAAAKaQOAIAAMAUEkcAAACYQuIIAAAAU0gcAQAAYAqJIwAAAEwhcQQAAIApJI4AAAAwhcQRAAAAptwUieP06dMVExOjyMhI/fzzzz6Lk56ermeffVadOnVSfHy8EhMTdf78eZ/FGzRokLp06aJu3bqpb9++SklJ8VksSUpKSvL5NZSkmJgY/fnPf1bXrl3VtWtXbd682Sdxrl69qvHjx6tjx46Kj4/Xyy+/7JM4x48fd55L165dFRMTo1atWvkkliRt2rRJ3bp1U9euXRUfH6/PPvvMZ7G++OILde/eXfHx8XryySd17Ngxr5Tr6Tt7+PBh9erVS506dVKvXr30yy+/+CyWL9oNd2X6qt3wVH9vtxs3uk7ebDc8xfJFm+Epli/aDXexfNVueDovb7cbnuL4os0o6DvkizbjpmfcBHbu3GmcOHHCeOihh4x9+/b5LE56errx9ddfO/8/bdo046WXXvJZvMzMTOe/P//8c6Nbt24+i7Vnzx7j6aefNh588EGfXkPDMHz+PuWZNGmSMWXKFCM3N9cwDMM4c+aMz2MahmFMnjzZeOWVV3xSdm5urtGiRQvn9UtJSTGaNm1q5OTkeD1WRkaG0apVK+PQoUOGYRjGypUrjQEDBnilbE/f2X79+hkrV650xuvXr5/PYvmi3XBXpq/aDU/193a7UdB18na74SmWL9oMT7F80W6Y+ax5q91wF8sX7Ya7OL5qMwr6DvmizbjZ3RQ9ji1atFCtWrV8Hic0NFStW7d2/r9p06Y6ceKEz+JVrlzZ+e+LFy/K4XD4JM61a9c0ceJEjR8/3mcxrJaVlaWVK1fq+eefd55T9erVfR732rVrWr16tXr06OGzGAEBAbpw4YIk6cKFC6pRo4YCArz/VT9y5IiqV6+uevXqSZLatWunLVu2eKW3zN139ty5c0pOTlZcXJwkKS4uTsnJycWO56l98EW74a5MX7Ubnurv7XbDUxxftBtWteWeYvmq3bjReXmz3fAUy9vthrs4vmozPH2HfNVm3OyCSroCpVVubq6WLl2qmJgYn8YZM2aMtm7dKsMw9M477/gkxuzZs9WlSxfdfvvtPinfnRdeeEGGYah58+YaPny4QkJCvFr+sWPHFBoaqqSkJG3fvl0VK1bU888/rxYtWng1zh9t3LhRYWFhatSokU/KdzgcmjVrlgYNGqTg4GBlZWVpwYIFPolVr149nT17Vj/88IOaNGmi1atXS5JOnjypatWqeT3eyZMnFRYWpsDAQElSYGCgatSo4bN4JYF2o+h83WZItBvFZUWb8fvv0M3QZpSEm6LHsSRMmjRJwcHBevLJJ30aZ8qUKfriiy80bNgwzZgxw+vlf/fdd/rxxx/Vt29fr5ftyeLFi7Vq1Sp9/PHHMgxDEydO9HqM7OxsHTt2TA0bNtTy5cv1wgsvaPDgwbp48aLXY/3exx9/7NPexuzsbC1YsEDz5s3Tpk2b9Le//U3Dhg1TVlaW12NVrlxZM2fO1NSpU/Xoo4/q3LlzCgkJUVAQf48WFe1G0VjRZki0G8VlRZth1XfoZkbi6APTp0/XkSNHNGvWLJ8MEbrTrVs3bd++Xenp6V4td+fOnTp06JDat2+vmJgYnTp1Sk8//bS2bNni1Ti/lze8UbZsWfXt21fffvut12PUrl1bQUFBziGMe++9V1WrVtXhw4e9HitPWlqadu7cqfj4eJ/FSElJ0enTp9W8eXNJUvPmzVWhQgUdPHjQJ/H+7d/+TUuXLtXy5cv15JNP6sqVKz7rYapVq5bS0tKUk5MjScrJydHp06ctG7r0NdqNorOizZBoN7zBl23GH79Dpb3NKCkkjl42c+ZM7dmzR3PnzlXZsmV9FicrK0snT550/n/jxo2qUqWKQkNDvRpn4MCB2rJlizZu3KiNGzeqZs2aevfdd9WmTRuvxslz6dIl5zwbwzC0du1aNWjQwOtxqlWrptatW2vr1q2Sflt5d+7cOdWpU8frsfKsWLFC7dq1U9WqVX0Wo2bNmjp16pQOHTokSTp48KDOnj2rO+64wyfxzpw5I+m34aE33nhDvXv3VnBwsE9i3XLLLWrQoIHWrFkjSVqzZo0aNGhQKoacaDeKzqo2Q6Ld8AZftRnuvkOluc0oSQ7DMIySroSvTZ48WZ999pnOnj2rqlWrKjQ0VJ9++qnX4+zfv19xcXGqW7euypcvL0m67bbbNHfuXK/HOnv2rAYNGqTLly8rICBAVapU0ahRo3w2ByZPTEyM5s+fr4iICJ+Uf+zYMQ0ePFg5OTnKzc1V/fr1NXbsWNWoUcMnsUaPHq2MjAwFBQVp6NChateundfj5OnUqZPGjBmjBx54wGcxJGnVqlV6++23nZP3hwwZog4dOvgk1pgxY/Ttt9/q+vXruv/++zV69GiVK1eu2OV6+s4ePHhQL774ojIzMxUSEqLp06frzjvv9EksX7Qb7sqcNWuWT9oNd7EWLlzo9XbDzHXyVrvhLtb8+fN90mZ4Oi9ftBsFXUNvtxueYnm73fAUxxdtRkG/e33RZtzsborEEQAAAMXHUDUAAABMIXEEAACAKSSOAAAAMIXEEQAAAKaQOAIAAMAUEkcAAACYQuIIAAAAU3ioLIBS6bHHHlN4eLjuvPNOrV69Wmlpaapbt65Gjx6t6Ojokq4eAPglbgAOoNTJzs5Ws2bNFBAQoCZNmighIUG5ubmaOXOm0tLS9Pnnn/PYMQAoAnocAZQ6Bw4c0NWrV9WyZUu9//77CgwMlCRVqVJF/fr1065duxQbG1vCtQQA/8McRwClzt69eyVJw4YNcyaNkpzPqM3IyCiJagGA3yNxBFDqJCcnq0aNGmrevHm+7adPn5YkhYWFlUS1AMDvkTgCKHX27t3rNjlcu3atKlSooBYtWpRArQDA/zHHEUCpkpubq3379qlChQrKzs5WUNBvzVxaWpqWLFmiJ554QsHBwSVcSwDwT6yqBlCqHDhwQJ07d1atWrXUokUL9ejRQ6dOndLcuXMVGhqqxYsXq1y5ciVdTQDwSwxVAyhV8hbGvPXWW7pw4YKee+45vfbaa2rXrp3+/ve/kzQCQDEwVA2gVNm7d69q1qypiIgILViwoKSrAwClCj2OAEqV5ORkNWrUqKSrAQClEokjgFLDMAylpKSQOAKAj7A4BgAAAKbQ4wgAAABTSBwBAABgCokjAAAATCFxBAAAgCkkjgAAADCFxBEAAACmkDgCAADAFBJHAAAAmPK/5/8FJxpKG44AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12, 6))\n", "ax = plt.axes()\n", "\n", "plot_mean_diff(average_diff, ax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "id": "challenging-style", "metadata": {}, "outputs": [], "source": [ "ds['ALR wins'] = ds['delta']>=0\n", "frac_alr_win = ds.groupby(['N','p'])['ALR wins'].mean().unstack()*100" ] }, { "cell_type": "code", "execution_count": 18, "id": "sensitive-quality", "metadata": {}, "outputs": [], "source": [ "def plot_qaoa_wins(frac_alr_win, ax, f1=20, f2=16):\n", " cmap = sns.color_palette(\"rocket_r\", as_cmap=True)\n", " labels = frac_alr_win.applymap(lambda v: \"0\" if v == 100 else '')\n", " sns.heatmap(100-frac_alr_win, vmin = 0, vmax=100, cmap=cmap, ax=ax, annot=labels, fmt=\"\")\n", " ax.set_title(\"Percent on which QAOA beats ALR\", fontsize=f1)\n", " ax.invert_yaxis()\n", " ax.set_ylabel('$n$', fontsize=f2)\n", " ax.set_xlabel('$p$', fontsize=f2)" ] }, { "cell_type": "code", "execution_count": 19, "id": "attractive-walker", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAApwAAAGRCAYAAADIPWPmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA/EUlEQVR4nO3de1yUZf7/8ffM4DFFPCKReVwItTynlpuJ5wIRrSxWc2vLysTWNE+ZmNUmtWUqmrYdvtpPrVw1FW01UzfPmocyUVM0Q+OgCKJoKsP9+6Mv85UARYZ7vB1fzx7zeDDXzNyf657D7afPdV33bTMMwxAAAABgEvv17gAAAAC8GwknAAAATEXCCQAAAFORcAIAAMBUJJwAAAAwFQknAAAATEXCCQAAAFORcAJwy7Rp0xQcHKytW7cW+zUDBgxQcHBwiWNu3bpVwcHBmjZtWom3gf/j7ucBAFdDwgm3BAcH57uFhISobdu2evzxx7V06dLr3T2PKkniBWvZs2ePxowZo86dO+uuu+5Sy5Yt1atXL7399ts6ceJEsbbxxBNPKDg4WB07dpTT6SxRzPDwcMXGxio1NfWqr09OTlZISIiCg4P17rvvFquPNwJP/0/F+fPn1bp1awUHB2v48OFXfG5oaKiCg4N17Nixq243L5m//NaiRQtFREQoLi5O2dnZpbULgKX5XO8OwDsMGTJEkpSTk6MjR45o9erV2rp1q/bu3asxY8Zc597BamJjY3X+/Pnr3Q0XwzD0z3/+Ux9++KF8fHx0zz33qEePHrp06ZJ27dqlDz/8UPPmzdO7776rTp06FbmdpKQkbd68WTabTSkpKfr222+LfP7VYn788ceaP3++Jk2apB49ehQZc8GCBcrNzZXNZtOiRYs0dOhQ+fhwaL9WK1as0JkzZ2Sz2bRq1SplZGSoatWqpbb9yMhIBQYGyjAMpaWlafXq1Zo2bZrWrFmjzz77TGXLli21WIAVcVRCqYiOjs53f/PmzXriiSc0e/ZsDRgwQLfddtt16hms6NZbb73eXchn+vTp+vDDDxUYGKhZs2bpT3/6U77HV65cqZdeeknR0dGaO3eumjVrVuh2vvjiCxmGoUGDBumDDz7Q559/XmTCWdyYL774ovz8/NSuXbsC23A6nVq4cKEqVaqk8PBwzZ8/X2vWrFG3bt1K+E7cvL744gvZ7XY98cQT+uijj/Tll1/qiSeeKLXtR0ZGqm3btq77w4cPV69evbR3714tX75ckZGRpRYLsCKG1GGK9u3bq0GDBjIMQ3v27HG1p6SkaOLEiercubOaNm2qtm3b6tlnn9UPP/xQYBuXD1EvW7ZMDz/8sFq0aKHQ0FDXc86fP68PPvhAffr0UYsWLdSiRQv17NlTr7/+uk6ePJlve+fPn9esWbMUERGh5s2bq0WLFurXr5/i4+MLxL58OG/fvn0aNGiQWrdurWbNmql///7auXNnvueHhoYqLi5OkvT444/nGz4rjtzcXM2fP199+/ZVixYt1Lx5c/Xt21fz5s1Tbm5ugecHBwdrwIABOnXqlF555RV16NBBTZs21YMPPqiFCxcWK6Yk9evXT02bNtW5c+fytf/lL39RcHCwxo4dm6/90KFDCg4O1siRIwvd3n/+8x899NBDatasme6++24NGzas0GHhK80Z3LBhg5599lm1b99eTZs2VceOHfXcc89p06ZNhT6/OJ/PlRw7dkzvv/++ypQpo/fff79A4idJ3bt315gxY3Tp0iWNHz++0O3k5ORo8eLFqlSpkp5//nk1adJE3377baH7fy0xnU6nJkyYUOj34Ntvv1VKSooeeOABRUVFSfo9cSqpixcvavLkyQoNDVXTpk3VpUsXxcXF6eLFi4U+PzExUaNHj1bHjh3VtGlT3XPPPRo+fLgOHz5c4LlHjhzRP//5T/Xp00ft2rVT06ZN1alTJ73yyitKSUnJ99zRo0fr8ccflyTFxcXl+z3lTVm5ePGi5syZo8jISLVp00bNmjVTaGjoFb8rRfnpp5+0e/dutW/fXk8//bTKlCnj1vtYHFWrVlWXLl0kKd8xEvBWVDhhGsMwJEk2m02StHfvXj355JM6ffq0OnTooG7duikjI0OrV69WVFSUpk+fro4dOxbYzieffKKNGzeqU6dOatu2rc6cOSNJOn36tB5//HHt379f9evXV9++fVWmTBklJSVp4cKF6tq1q2rUqCFJysrK0sCBA5WQkKAmTZqob9++ys3N1YYNGzR8+HAdPHhQw4YNKxD7xx9/1IcffqjmzZvr4Ycf1q+//qpVq1bpr3/9q7788ks1aNBA0u9J5jfffKNt27a5hs6uxUsvvaT4+HgFBATooYceks1m0+rVq/Xqq69qx44deueddwq8JisrS4899pjKli2r7t2768KFC1q5cqXGjh0ru91erIpJu3bttHv3bn333Xe67777JP2emH///feSpC1btuR7ft799u3bF9jWvHnztGbNGoWGhqpNmzb64YcftGLFCu3fv19Lliwp1pDh1KlTNX36dFWsWFFdunRRQECA0tLStGvXLi1dulT33HNPvucX9/O5kkWLFiknJ0c9e/a84v8gPPzww5oxY4b279+v3bt3q3nz5vkeX7NmjU6cOKFHHnlE5cuXV2RkpF5//XX9+9//1vPPP+9WzCNHjmjbtm0Fqpyff/65pN+rZ0FBQWrSpIk2btyo48ePX/N3UJJeeOEF7dmzRz169JCPj4+++eYbTZs2TT/++KPef/99129Z+j3ZjY6OVk5Ojjp16qTbb79dqampWrVqldatW6c5c+aoSZMmrud//fXX+uyzz9S2bVu1bNlSZcqU0cGDB7VgwQKtXbtWCxculL+/vyS5ErHFixfr7rvv1t133+3aTt5+jRkzRvHx8QoKClJERITKly+vtLQ07dixQ+vXry/wXbmSvOQyMjJSVatWVadOnbRq1Sp99913at269TW/j8WVd4xkCgRuCgbghqCgICMoKKhA+8aNG43g4GAjODjYOHbsmHHp0iWjS5cuRtOmTY2tW7fme25KSorRoUMH49577zUuXLjgap86daoRFBRkNGvWzNi7d2+BGC+++KIRFBRkjB8/3nA6nfkeO3PmjJGVleW6P2rUKCMoKMj44IMP8j3vt99+M5588kkjODjYSEhIcLVv2bLFtW8LFy7M95r58+cbQUFBRkxMTL72vP5u2bKliHercMuWLTOCgoKM3r17G2fPnnW1Z2dnG5GRkUZQUJCxdOnSfK/J69vYsWONnJwcV/vBgweNkJAQo2fPnsWKvWnTJiMoKMiYNGmSq+3bb781goKCjCeeeMIICgoyjh496nps8ODBRlBQkPHrr78W2O8WLVoY+/fvz7f9vM9o+fLl+dr79+9f4Huzfv16IygoyAgNDTVSUlIK9DU5Odn1d0k+n6I8/vjjRlBQkPH5559f9bl5+/PH75FhGMaTTz5pBAUFGTt37jQMwzBOnTplNGnSxOjUqVOB72dJYk6fPj1fe0pKihESEmJ069bN1TZnzhwjKCjImDx58lW3e7m8z6Nbt25GZmamq/23334zHnnkESMoKMhYvHixqz0zM9No3bq1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6dKlatmypWrUqKG0tDQlJiZqz549evfdd91KONu1aye73a53331XBw8edA37X21+Vnh4uL755ht99dVXevDBB9WlSxfXeTiPHTumnj17qlevXiXuV3H7vnbtWqWnpxf4R699+/b697//7frbLB06dNDgwYM1Y8YM9ezZ03UezpMnT2rHjh1q3ry5Jk2aZErs559/XufOndNHH32kiIgI18rpnJwc7dq1y3Ve0qeeesq18l76v5XivXr1KjLZlH5frb9jxw59/vnnuvfeeyX9fnWu8+fP65NPPikyZvny5fXOO++43nfDMFyfxeX9+KO6deuqTZs22rZtm7799lvdf//9xXofGjRooAcffDDfeTh/+eUX3X///fnmp1atWlVTp07V888/r0ceeUTt27dXo0aNZLfblZycrF27dikzM9M1Z7pmzZp68MEHtXz5cvXu3Vv33nuvzpw5o02bNqls2bIKCQkpsDCufv368vf31/Lly1WmTBkFBATIZrMpIiJCWVlZeuSRR9SwYUM1btxYAQEBOnv2rNatW6cTJ05owIABV52Gkjct4UrvY6VKldSjRw8tWrRIS5cu1V/+8pd8j7/11ltFLlocOnToVa+oZbPZNHToUD3//PN677339Nlnn13x+cCNjIQTHnPHHXdoyZIl+uSTT7Ru3TrXQouaNWuqcePGio6OvqbTmVSpUkWfffaZZs+erRUrVrguTRcQEKC+ffvmqxhVqlRJn376qb744gvFx8dr1apVunDhgmrUqKG6detqzJgx13Si6MI0bNhQkyZN0scff6x58+a5VjIXZ0HAu+++qzZt2mjhwoWueWUNGzbUk08+qccee8ytfhXH5YlkUQmnj4+PqSfBln4/8Xjz5s01Z84crVu3TufOnVP16tXVtGnTAgtySpPNZtPIkSPVo0cPzZs3T9u2bdOmTZtcV9ipWbOm3nrrrXzfkdzcXNeQ9dUq0D169NAbb7yhNWvWKD09XdWrV5fdbtfo0aP1wAMPaO7cudq+fbs2b94sh8OhwMBAPfnkkxo4cGC+Uydt2rRJSUlJaty4cb55pIV55JFHtG3bNn3++efFTjinTJmi6dOna9myZUpLS5O/v7+io6M1aNCgAnOp27dvr6VLl+rjjz/Whg0b9N1336lMmTKqVauW2rVrp+7du+d7/htvvKE6depoxYoVmjt3rqpV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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12, 6))\n", "ax = plt.axes()\n", "\n", "plot_qaoa_wins(frac_alr_win, ax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "id": "collaborative-pregnancy", "metadata": {}, "outputs": [], "source": [ "THRESHOLD = 0.05\n", "ds['ALR almost wins'] = ds['normalized_delta']>= -THRESHOLD\n", "\n", "frac_alr_almost_win = ds.groupby(['N','p'])['ALR almost wins'].mean().unstack()*100" ] }, { "cell_type": "code", "execution_count": 21, "id": "significant-parameter", "metadata": {}, "outputs": [], "source": [ "def plot_qaoa_wins_by_margin(frac_alr_almost_win, ax, THRESHOLD, f1=20, f2=16):\n", " cmap = sns.color_palette(\"rocket_r\", as_cmap=True)\n", " labels = frac_alr_almost_win.applymap(lambda v: \"0\" if v == 100 else '')\n", " sns.heatmap(100-frac_alr_almost_win, vmin = 0, vmax=100, cmap=cmap, ax=ax, annot=labels, fmt=\"\")\n", "\n", " ax.set_title(f\"Percent on which QAOA beats ALR by > {THRESHOLD*100:.0f}%\",fontsize =f1)\n", " ax.invert_yaxis()\n", " ax.set_ylabel('$n$', fontsize=f2)\n", " ax.set_xlabel('$p$', fontsize=f2)" ] }, { "cell_type": "code", "execution_count": 22, "id": "eligible-inside", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAApwAAAGRCAYAAADIPWPmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABHVElEQVR4nO3deVxVdR7/8fe94G6IKxKZaxBquW/lZOJuIKK5RC7VlDWO6DiaW7mM1RRWmoqmTZM/bdLMUVOwRjN1ctc0GxOtRDM0QEUJBTcu5/dHP+5PBBS5nMvp+nr6uI+HfO+95/M9dzl8+Hy/33NshmEYAgAAAExiL+kOAAAAwLORcAIAAMBUJJwAAAAwFQknAAAATEXCCQAAAFORcAIAAMBUJJyARcydO1dBQUHavXt3oZ8zePBgBQUFFTnm7t27FRQUpLlz5xZ5G/j/XH0/4D4TJkxQUFCQTp48WdJdAe4IJJwWERQUlOsWHBysNm3aaMiQIVq7dm1Jd8+tipJ4wVoOHjyoiRMnqlOnTnrwwQfVvHlz9erVS2+++abOnDlTqG08/fTTCgoKUocOHeRwOIoUMywsTNHR0UpJSbnl85OSkhQcHKygoCDNnDmzUH38PXD3HxWXLl1Sy5YtFRQUpDFjxtz0sSEhIYVO+nKS+etvzZo1U3h4uGJiYpSRkVFcu/C7lvN+F3R766238jznp59+0rBhw9S6dWt16NBB06dP18WLF/Pd/pgxYxQSEsLrjdvmXdIdQG4jRoyQJGVlZen48ePauHGjdu/erUOHDmnixIkl3DtYTXR0tC5dulTS3XAyDENvvfWW3n//fXl7e+uhhx5S9+7dde3aNX3zzTd6//33tXTpUs2cOVMdO3YscDuJiYnauXOnbDabkpOT9dVXXxX4+FvF/OCDD7Rs2TK98cYb6t69e4ExV6xYoezsbNlsNq1atUojR46UtzeHyNv12Wef6cKFC7LZbNqwYYPOnz+vypUrF9v2IyIiFBAQIMMwdPr0aW3cuFFz587Vpk2b9PHHH6t06dLFFuv3rHXr1mrdunWe9hYtWuT6OTMzU0899ZQuXbqk8PBwpaSk6KOPPtLZs2c1Z86cXI/dvHmz4uLitGjRIlWoUMHU/sPzcDS1mKioqFw/79y5U08//bQWL16swYMH65577imhnsGK7r777pLuQi7z5s3T+++/r4CAAC1cuFD33XdfrvvXr1+vF198UVFRUfroo4/UpEmTfLfzySefyDAMDRs2TO+9956WL19eYMJZ2Jh//etf5evrq7Zt2+bZhsPh0MqVK1WxYkWFhYVp2bJl2rRpk7p27VrEV+LO9cknn8hut+vpp5/WP//5T3366ad6+umni237ERERatOmjfPnMWPGqFevXjp06JDWrVuniIiIYotllpMnT6pUqVLy8/MzLUbr1q3z/D7Jz5YtW5SUlKR//etfatWqlSRp4sSJWrVqlVJTU1W1alVJ0oULFzR16lT169dPDz30kGn9hudiSN3i2rVrp3r16skwDB08eNDZnpycrOnTp6tTp05q3Lix2rRpoxdeeEH/+9//8mzj+iHq2NhY9evXT82aNVNISIjzMZcuXdJ7772nPn36qFmzZmrWrJl69OihV199VWfPns21vUuXLmnhwoUKDw9X06ZN1axZMw0YMEBxcXF5Yl8/nHf48GENGzZMLVu2VJMmTTRo0CDt378/1+NDQkIUExMjSRoyZEiuoaDCyM7O1rJly9S3b181a9ZMTZs2Vd++fbV06VJlZ2fneXxQUJAGDx6sc+fOafLkyWrfvr0aN26sxx57TCtXrixUTEkaMGCAGjdurMzMzFztTz75pIKCgjRp0qRc7UePHlVQUJDGjRuX7/b+85//6PHHH1eTJk3UunVrjR49Ot9h4ZvNGdy2bZteeOEFtWvXTo0bN1aHDh30pz/9STt27Mj38YV5f27m5MmTevfdd1WqVCm9++67eRI/SerWrZsmTpyoa9euacqUKfluJysrS6tXr1bFihX15z//WY0aNdJXX32V7/7fTkyHw6Fp06bl+zn46quvlJycrJ49eyoyMlLSb4lTUV29elWzZs1SSEiIGjdurM6dOysmJkZXr17N9/EJCQmaMGGCOnTooMaNG+uhhx7SmDFjdOzYsTyPPX78uN566y316dNHbdu2VePGjdWxY0dNnjxZycnJuR47YcIEDRkyRJIUExOT6/uUM2Xl6tWrWrJkiSIiItSqVSs1adJEISEhN/2sFOSHH37QgQMH1K5dOz333HMqVaqUS69jYVSuXFmdO3eWpFzHyMIyDEOLFi1S9+7d9cADD+iRRx7R3//+91xDyg6HQx06dFDz5s0LHEqePn26goKCtH79+lvG3LNnjx599FE99dRTWrlyZYHD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2rU6deqUli5destt5CRdx44dK/B1/OGHH7R///5cr78rSpUqpfvvv18LFizQY489prlz5+rRRx/NM23oVlJTU1WvXr087Tln57jxD8CBAwfqtddeU2xsrCIiIhQbGys/P7+bnlf2Vi5duqTNmzdr3bp1+uqrr3T16lVVqVJFAwcOVK9evfIk8UWV8wdefgWJG73zzjtKS0vT1KlTJcm5ePT672xOlffo0aMknLglEs7fmZzzFn799de3nXDm58EHH5TdbtfevXuVmZl502H1nMeaveI0Zy7Z7VY+g4ODtXPnTn399dd5qod79+6Vw+G47V9Gt+OBBx5QxYoVtWvXLnl7e6ts2bLOeYg5yeh///tf7d+/X0FBQbmqe8WpadOm2rx5s7Zu3VqkOW1F1bdvX7333nvauHGjfvzxx3xPUST9ljCePn1avr6+uYb9c+bXduzYMd+qU87w94oVK/T888/LZrOpT58+WrhwYaFj1q1b1zmEeubMGW3ZskUVK1Ys8ITwx44d0/79+7Vy5cpCnylB+u20N9cP0Uu/fWezsrIUHBzsbGvSpInWr1+vffv2FSrhTExMVHZ2th5++OE8yWZycnK+V+zJqY4XplLv7++vXr16KTQ0VD169NC+fftueeL2q1evas2aNbLb7YqIiMj3D9vk5GRt27ZNK1asKLaEM0e5cuU0duxYjR49Wm+++aYWLVp0W8/fs2eP8/yTORITE5WUlKSAgIA81f+IiAjNmjVLy5cvV5kyZZSenq7BgwfnmgNeGNeuXdOOHTsUFxenjRs3Oo+/Xbt2Va9evfTwww8X+4UHcs6aUatWrVs+bvHixYqOjnZ+F3OmpFy/iv7GKTHAzZBw/s506tRJ9957r5YuXaq2bdvmmacpSd98843uv//+Qg3BVKlSRT179lRcXJyio6M1derUXIsHMjIylJ2drbvuuktVq1ZVWFiY1qxZo3nz5un555/Pc0D8+eefZbPZbnlAuxlfX19Jv81TvR19+/bVzp079fbbb+vDDz907v+lS5f09ttvS5Ief/zxIvfrVry8vNSqVStt3rxZFy9eVIsWLZzD+7Vq1VJAQICWLFmiS5cu5Xvy8eIyaNAgbd68WW+88YYefPDBPEPFKSkpppxw+p577tGf/vQnzZ07V3/605+0YMGCPAthNm7cqNdee02SNHbsWOd7lJycrK1b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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12, 6))\n", "ax = plt.axes()\n", "\n", "plot_qaoa_wins_by_margin(frac_alr_almost_win, ax, THRESHOLD)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 23, "id": "conscious-loading", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1, 3, figsize=((15, 3)))\n", "plot_mean_diff(average_diff, axs[0], f1=13, f2=12)\n", "plot_qaoa_wins(frac_alr_win, axs[1], f1=13, f2=12)\n", "plot_qaoa_wins_by_margin(frac_alr_almost_win, axs[2], THRESHOLD, f1=13, f2=12)\n", "fig.tight_layout()\n", "plt.savefig(\"random.png\", dpi=300)" ] }, { "cell_type": "markdown", "id": "governing-index", "metadata": {}, "source": [ "# Torus and grid" ] }, { "cell_type": "code", "execution_count": 24, "id": "engaged-montana", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4x4 torus 32 32.0 32.0\n" ] } ], "source": [ "G=nx.grid_2d_graph(4,4, periodic=True)\n", "G=nx.convert_node_labels_to_integers(G, first_label=1)\n", "print(\"4x4 torus\", len(G.edges()), max(get_H(len(list(G)), G.edges())), ALR(G))" ] }, { "cell_type": "code", "execution_count": 25, "id": "accredited-upper", "metadata": {}, "outputs": [], "source": [ "edges = list(G.edges())\n", "with open('torus.txt', 'w') as f:\n", " for i,j in edges:\n", " f.write(str(i) + \" \" + str(j) + \" \" + \"1\\n\")\n", "f.close()" ] }, { "cell_type": "code", "execution_count": 26, "id": "global-draft", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4x4 grid 24 24.0 24.0\n" ] } ], "source": [ "G=nx.grid_2d_graph(4,4, periodic=False)\n", "G=nx.convert_node_labels_to_integers(G, first_label=1)\n", "print(\"4x4 grid\", len(G.edges()), max(get_H(len(list(G)), G.edges())), ALR(G))" ] }, { "cell_type": "code", "execution_count": 27, "id": "streaming-chosen", "metadata": {}, "outputs": [], "source": [ "edges = list(G.edges())\n", "with open('grid.txt', 'w') as f:\n", " for i,j in edges:\n", " f.write(str(i) + \" \" + str(j) + \" \" + \"1\\n\")\n", "f.close()" ] }, { "cell_type": "markdown", "id": "perceived-architect", "metadata": {}, "source": [ "The QAOA approximation ratio was found using Leo's code. https://github.com/leologist/GenQAOA/blob/master/MATLAB/demo/demo_QAOAMaxCut_FourierStrategy.m" ] }, { "cell_type": "markdown", "id": "severe-wedding", "metadata": {}, "source": [ "The data was collected and stored in `grid.csv`." ] }, { "cell_type": "code", "execution_count": 28, "id": "homeless-conversion", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mnperiodicEmax_cutpqaoa_ratio_of_max_cut
044True323210.6624
144True323220.7541
244True323230.8289
344True323240.9068
444True323250.9562
544True323260.9826
644True323270.9947
744True323280.9985
844True323290.9996
944True3232100.9999
1044False242410.6879
1144False242420.7787
1244False242430.8406
1344False242440.8849
1444False242450.9202
1544False242460.9506
1644False242470.9720
1744False242480.9849
1844False242490.9920
1944False2424100.9956
\n", "
" ], "text/plain": [ " m n periodic E max_cut p qaoa_ratio_of_max_cut\n", "0 4 4 True 32 32 1 0.6624\n", "1 4 4 True 32 32 2 0.7541\n", "2 4 4 True 32 32 3 0.8289\n", "3 4 4 True 32 32 4 0.9068\n", "4 4 4 True 32 32 5 0.9562\n", "5 4 4 True 32 32 6 0.9826\n", "6 4 4 True 32 32 7 0.9947\n", "7 4 4 True 32 32 8 0.9985\n", "8 4 4 True 32 32 9 0.9996\n", "9 4 4 True 32 32 10 0.9999\n", "10 4 4 False 24 24 1 0.6879\n", "11 4 4 False 24 24 2 0.7787\n", "12 4 4 False 24 24 3 0.8406\n", "13 4 4 False 24 24 4 0.8849\n", "14 4 4 False 24 24 5 0.9202\n", "15 4 4 False 24 24 6 0.9506\n", "16 4 4 False 24 24 7 0.9720\n", "17 4 4 False 24 24 8 0.9849\n", "18 4 4 False 24 24 9 0.9920\n", "19 4 4 False 24 24 10 0.9956" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid = pd.read_csv('grid.csv')\n", "grid" ] }, { "cell_type": "markdown", "id": "built-particular", "metadata": {}, "source": [ "## Plots" ] }, { "cell_type": "code", "execution_count": 29, "id": "standing-husband", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mnperiodicEmax_cutpqaoa_ratio_of_max_cut
044True323210.6624
144True323220.7541
244True323230.8289
344True323240.9068
444True323250.9562
544True323260.9826
644True323270.9947
744True323280.9985
844True323290.9996
944True3232100.9999
\n", "
" ], "text/plain": [ " m n periodic E max_cut p qaoa_ratio_of_max_cut\n", "0 4 4 True 32 32 1 0.6624\n", "1 4 4 True 32 32 2 0.7541\n", "2 4 4 True 32 32 3 0.8289\n", "3 4 4 True 32 32 4 0.9068\n", "4 4 4 True 32 32 5 0.9562\n", "5 4 4 True 32 32 6 0.9826\n", "6 4 4 True 32 32 7 0.9947\n", "7 4 4 True 32 32 8 0.9985\n", "8 4 4 True 32 32 9 0.9996\n", "9 4 4 True 32 32 10 0.9999" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "torus = grid[grid.periodic==True]\n", "torus" ] }, { "cell_type": "code", "execution_count": 30, "id": "trained-lying", "metadata": {}, "outputs": [], "source": [ "torus.set_index(['p'], inplace=True)" ] }, { "cell_type": "code", "execution_count": 31, "id": "extraordinary-union", "metadata": {}, "outputs": [], "source": [ "def plot_torus(torus, ax, f1=16, f2=12):\n", " torus['qaoa_ratio_of_max_cut'].plot(ax=ax)\n", " ax.set_ylim(0.65,1.02)\n", " ax.set_title(\"QAOA cut value on $4 \\\\times 4$ torus\", fontsize=f1)\n", " ax.set_ylabel(\"Cut value\", fontsize=f2)\n", " ax.set_xlabel(\"$p$\", fontsize=f2)" ] }, { "cell_type": "code", "execution_count": 32, "id": "every-lodging", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = plt.axes()\n", "plot_torus(torus, ax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 33, "id": "gothic-reliance", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mnperiodicEmax_cutqaoa_ratio_of_max_cut
p
144False24240.6879
244False24240.7787
344False24240.8406
444False24240.8849
544False24240.9202
644False24240.9506
744False24240.9720
844False24240.9849
944False24240.9920
1044False24240.9956
\n", "
" ], "text/plain": [ " m n periodic E max_cut qaoa_ratio_of_max_cut\n", "p \n", "1 4 4 False 24 24 0.6879\n", "2 4 4 False 24 24 0.7787\n", "3 4 4 False 24 24 0.8406\n", "4 4 4 False 24 24 0.8849\n", "5 4 4 False 24 24 0.9202\n", "6 4 4 False 24 24 0.9506\n", "7 4 4 False 24 24 0.9720\n", "8 4 4 False 24 24 0.9849\n", "9 4 4 False 24 24 0.9920\n", "10 4 4 False 24 24 0.9956" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid_4 = grid[grid.periodic==False]\n", "grid_4.set_index(['p'], inplace=True)\n", "grid_4" ] }, { "cell_type": "code", "execution_count": 34, "id": "constant-stock", "metadata": {}, "outputs": [], "source": [ "def plot_grid(grid_n, ax, f1=16, f2=12):\n", " grid_n['qaoa_ratio_of_max_cut'].plot(ax=ax)\n", " ax.set_ylim(0.65,1.02)\n", " ax.set_title(\"QAOA cut value on $4 \\\\times 4$ grid\", fontsize=f1)\n", " ax.set_ylabel(\"Cut value\", fontsize=f2)\n", " ax.set_xlabel(\"$p$\", fontsize=f2)" ] }, { "cell_type": "code", "execution_count": 35, "id": "continued-armor", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEhCAYAAABRKfYcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA9TklEQVR4nO3deVyU5f7/8RczLIqyCziIiqIgKbjvmeYGGQTHcjku5RJlmLaepDpH7LTSaXdJ85Tp8djXY4sLkpGZ5Z6ZqYCIC+bCvis7M/fvD3+OTqCOI8ywfJ6PR4+cua/7vj9c4rznvu77vm4rRVEUhBBCiNuksnQBQgghGicJECGEECaRABFCCGESCRAhhBAmkQARQghhEgkQIYQQJpEAEUIIYRIJECGEECaRAGkCdu/ezaOPPsrAgQMJDAwkODiYd955h+Li4huu8/LLL+Pv78+bb75529v+17/+RVFR0U3XM3b79WX79u2sWrXK7PtdvHgx/v7+Zt+vJcyePRt/f3/ef//9Jr1fY/9Op0+fzvTp081QUcMhAdLILV++nNmzZ2NnZ8drr73Gp59+yuTJk/n666+ZMGECWVlZNdYpLy9n27ZtAGzZsoXq6urb2vY333zDQw89REZGRq3rGbv9+mSpAGku4uLiOHHiRLPY74QJE1i/fr1Z99lYSIA0Yvv37+eDDz7gkUceYenSpYwZM4YBAwYwc+ZM1q9fT0FBAS+++GKN9b7//nsuX77M8OHDycvLY9euXbe97aKiIl544YVa6zJm+6LxKi4u5s033yQ6Otqo9jk5Ofz222+1LisvL+enn36ql/3eqcrKSgDatm1Lr169zLLPxkYCpBH797//jZOTE88991yNZe3btycyMpI9e/aQmJhosGzjxo04OTnx1ltv0aJFCzZu3GjStn/55ReOHDlSY7kx27+RlJQU5s6dy8CBAwkKCiI4OJgVK1YAEB0dzciRI2us8+ehg+joaL755huysrLw9/fH39+/1vUA4uPj8ff3JyUlpcayRx99lPDwcAD++OMP/va3vzFy5EiCgoIYNWoUMTExtxzKu526r/78c+bMoX///gQFBTF58mR+/fXXW+4D4Oeff2bSpEkEBQXRt29foqKiOHPmjEGbq8MxZ8+e5bHHHqN3797ce++9LFmyBJ1OZ9R+/vWvf9GlSxdCQ0ONav/5558ze/bsGj9HeXk5jz/+OC+99BIlJSV1vt+r4uLiCAkJITAwkLCwMH744YcafX+1X1JTU5k9eza9e/fmqaeeMlh2va1btxISEkKPHj24//77+f7772+rpqZCAqSRqq6u5uDBgwwdOhQ7O7ta21z90Nq3b5/+vaysLPbu3ct9992Hq6sro0ePZseOHQYfhLez7f379xu8b8z2b+To0aNMmjSJc+fO8eKLL7JixQpmzpxJZmbmLde9XlRUFMOHD8fV1ZX169ezfv16lixZUmvbUaNG4eDgwObNmw3ez83NZd++ffoAyc7Opm3btrz00kt8+umnzJ07l/379/PYY4/dVm03k5SUxOTJkykqKuLVV19l8eLFODs7M2PGjBpfAv7s559/5vHHH8fe3p7333+fRYsWcfLkSaZMmVLrMOaTTz7JoEGDWLp0KaNGjWLx4sV88803t6zx119/ZePGjcTExBj9cz3zzDPcc889REZGcujQIeBKeMyZM4eUlBQ+/fRTWrVqVef7BdizZw/PP/88nTt3ZvHixcyaNYs33niDtLS0WttHRUXRv39/li1bxowZM2pts3fvXp577jl8fHxYsmQJs2fP5vXXX7/hNpsya0sXIExTWFhIeXk57dq1u2Ebb29vANLT0/Xvbdq0CZ1OR0REBAARERHExcURHx/PX//619ve9p/Pgxiz/RuJjY3F2dmZ//3vf7Rs2RKAwYMH33Sd2nTo0AFXV1dsbGxuOfRgZ2dHSEgIcXFxPP/886hUV75TxcXFoSiK/ttu//796d+/v3693r1706FDB6ZOnUpycjJ33XXXbdf5Z2+//TYajYbVq1dja2sLwN13301oaCjLli1j2bJlN1z3gw8+oH379qxcuRJr6yv/rHv16kVISAifffZZjaHMmTNn8uCDDwIwZMgQDhw4wNatW/Xv1aaqqoqYmBhmzZpF586djf65rK2teffdd3n22WeJjIxk6dKlfPLJJxw/fpzVq1fTrVu3m65v6n7hytFDly5dWLp0KVZWVgD4+fkxfvx4OnXqVKP99OnTeeSRR266zY8++ojOnTuzbNky/e+Lr68vEydOrHWbTZkcgTRStzML/9VfcrjyAe/j40Pv3r2BKx8eHh4ebNq0yaRt/5kx269NWVkZv/32G2FhYfrwMJfw8HCysrIMjqY2b97M4MGD8fDwAK6Mhy9fvpyQkBCC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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = plt.axes()\n", "plot_grid(grid_4, ax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 36, "id": "abroad-synthetic", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1QAAAEUCAYAAAAspncYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABYsklEQVR4nO3deVwU9f8H8Be73JcLCLgIiqIcIoqoqKmheBuGpZZ5lJmaWWlW38TqKx3WN6yvVh6Z/coyO70T0QzN8+udN5cHCnKz3De7O78/0C082OXaWdjX86EPltnZmfe+93jznvnMjIkgCAKIiIiIiIio3iRiB0BERERERNRSsaEiIiIiIiJqIDZUREREREREDcSGioiIiIiIqIHYUBERERERETUQGyoiIiIiIqIGYkNFRERERETUQGyoiIiIiIiIGogNFQEAtm7dikmTJiEwMBBBQUGYPn06Dhw4cN95BUFAaGgofHx8cPPmzXotd9q0adi3b1+jl9vUYmJisHXrVr2uMyIiAo8//rhe16kPWVlZ6NWrF3x8fFBaWmpQ6xPjdSai5sG6xbrVVAy5bjWWLq9ZUlISfHx8cOLEiWaNpTVjQ0WIjIzE22+/jZ49e2L16tVYsWIF3Nzc8Pzzz+Pbb7+9Z/6zZ88iLS0NALBr1656Lbd9+/aYN28e1q1b1+DlNoc9e/Zg27Ztel1na7Vs2TJYW1sb5Pr4OhO1Dqxb/D5rSoZctxpr3rx5+Oijj/SyLmPGhsrIxcbG4ueff8a///1vvP322xg4cCBCQkIQFRWFWbNmYdmyZUhISKj1mF27dsHa2ho9e/Z8YAHRttwVK1bg8uXL9V4uGbbTp0/j8OHDmDlzptZ54+LikJmZed/7Dh48CJVK1aTra2oqlQpVVVV6Xy+RsWPdoqbUWuvWnRrVoUMHeHt7N+u6iA2V0fvuu+/QsWNHPPHEE/fcN3fuXFhbW+OHH37QTFOpVNizZw9CQ0MxYcIEXL169Z7CpctybWxssHHjxnov935OnTqF6dOno1evXujduzemT5+OuLg4zf3Tp0/H/Pnzaz3mxIkT8PHxQVJSEiIiIvD777/j5MmT8PHxgY+PD1auXHnfdW3ZsgXdu3dHUVFRrelXrlyBj48Pjh07BqBmq+XcuXMxaNAgBAYGIjw8HL/99ludz0NbnP90+vRpTJs2DT179kS/fv3w9ttvo6SkpO5EoWaIyLhx49C9e3eEhIRgxYoVUCqVmvvvDA04evQoxo0bh8DAQDz11FO4cuWK1mWrVCq8//77mDdvHhwcHLTOv3LlSjz77LPIy8urNX379u2YO3cujh8/3qTr0/Y665qb2NhYPPLII+jRowcuXLig8+t25coVPPfccwgODkZgYCDGjBlT67NFRLph3WLdMpa6dcfGjRsREhKCwMBAzJs3D8eOHbtniN6DatT9hvz98MMPmuXNnTsXOTk5OsdC98eGyogplUqcO3cOQ4cOhVQqved+Ozs79OvXDydPntRMO378OHJzczF27FiMGjUKZmZm92yV03W5p0+frtdy7+fEiROYMWMGzMzM8NFHH2HFihXo3bs3srKydM7DvHnz0K9fP3Tr1g2//PILfvnlF0yaNOm+844cORIA8Mcff9SaHhMTAycnJwQHBwMA0tPTERQUhA8++ABffPEFRo4ciTfffBPR0dE6x/UgZ86cwYwZM9C2bVt8/vnnWLx4MQ4ePIg333yzzscdOXIECxcuRLdu3bBmzRpMmzYNX3/9Nd57771a82VkZGDZsmV44YUX8N///hd5eXl45ZVXIAhCncv/+eefUVlZialTp+r0PD766COYmppi1qxZmqIaGxuLt956CwsXLsTAgQObdH11vc665iYtLQ0ff/wx5syZg3Xr1sHd3V2ndQPACy+8AKlUio8//hhffPEFpk2bppex+kStCetWDdYt46hbQM3r9v777yM0NBSrVq2Cj48P3nrrrfvOq0uNio2NxXvvvYchQ4Zg5cqV8Pb21vo6kHamYgdA4snPz0dVVRXc3NweOI+bmxuOHj2q+T06Ohr29vYYPHgwzM3N8dBDD2HXrl149dVXYWJiUq/lHj58uF7LvZ/ly5fDx8cHX3/9tWa+hx9+WOccAECHDh0gk8kgCAICAwPrnNfOzg6DBw9GTEwMJkyYoJkeExOD0aNHawrxI488orlPEAT07dsXWVlZ+PXXXxEWFlav+O723//+F7169cKnn36qmebq6ooZM2YgKSnpgbv2P//8cwQHByMqKgrA33lavnw55s2bh3bt2gEACgsL8dNPP8HT01MT/4svvojr16/Dy8vrvsvOz8/HZ599ho8//hhmZmY6PY82bdrg66+/xpQpU/DCCy9g1qxZWLhwIWbMmIE5c+bU+diGrK+u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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1, 2, figsize=((12, 4)))\n", "plot_torus(torus, axs[0], f1=15, f2=15)\n", "plot_grid(grid_4, axs[1], f1=15, f2=15)\n", "fig.tight_layout()\n", "plt.savefig(\"grid.png\", dpi=300)" ] }, { "cell_type": "markdown", "id": "absent-congress", "metadata": {}, "source": [ "# Union of torus and random graph" ] }, { "cell_type": "code", "execution_count": 37, "id": "brilliant-kansas", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 45 35.0 35.0\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "50 47 37.0 36.0\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "graph_nums = [0,50]\n", "for num in graph_nums:\n", " G_random = compare(16, 3, num, show_prints=False, return_graph=True)\n", " G_torus=nx.grid_2d_graph(4,4, periodic=True)\n", " G_torus = nx.convert_node_labels_to_integers(G_torus, first_label=1)\n", " assert sorted(list(G_torus.nodes())) == sorted(list(G_random.nodes()))\n", " union = set(list(G_torus.edges()) + list(G_random.edges()))\n", " \n", " with open('union' + str(num) + '.txt', 'w') as f:\n", " for i,j in union:\n", " f.write(str(i) + \" \" + str(j) + \" \" + \"1\\n\")\n", " f.close()\n", " \n", " G = G_random.copy()\n", " G.add_edges_from(G_torus.edges())\n", " print(num, len(G.edges()), max(get_H(len(list(G)), G.edges())), ALR(G))\n", " nx.draw(G)\n", " plt.show()" ] }, { "cell_type": "markdown", "id": "atomic-shower", "metadata": {}, "source": [ "The QAOA approximation ratio was found using Leo's code. https://github.com/leologist/GenQAOA/blob/master/MATLAB/demo/demo_QAOAMaxCut_FourierStrategy.m" ] }, { "cell_type": "markdown", "id": "separated-observer", "metadata": {}, "source": [ "The data was collected and stored in `unions.csv`." ] }, { "cell_type": "code", "execution_count": 38, "id": "accredited-visit", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
graph_numnpEmax_cutalrqaoa_ratio
0501614737360.7690
1501624737360.8390
2501634737360.8790
3501644737360.9052
4501654737360.9255
5501664737360.9423
6501674737360.9562
7501684737360.9674
8501694737360.9755
95016104737360.9807
1001614535350.7778
1101624535350.8344
1201634535350.8688
1301644535350.8944
1401654535350.9140
1501664535350.9305
1601674535350.9454
1701684535350.9580
1801694535350.9691
19016104535350.9778
\n", "
" ], "text/plain": [ " graph_num n p E max_cut alr qaoa_ratio\n", "0 50 16 1 47 37 36 0.7690\n", "1 50 16 2 47 37 36 0.8390\n", "2 50 16 3 47 37 36 0.8790\n", "3 50 16 4 47 37 36 0.9052\n", "4 50 16 5 47 37 36 0.9255\n", "5 50 16 6 47 37 36 0.9423\n", "6 50 16 7 47 37 36 0.9562\n", "7 50 16 8 47 37 36 0.9674\n", "8 50 16 9 47 37 36 0.9755\n", "9 50 16 10 47 37 36 0.9807\n", "10 0 16 1 45 35 35 0.7778\n", "11 0 16 2 45 35 35 0.8344\n", "12 0 16 3 45 35 35 0.8688\n", "13 0 16 4 45 35 35 0.8944\n", "14 0 16 5 45 35 35 0.9140\n", "15 0 16 6 45 35 35 0.9305\n", "16 0 16 7 45 35 35 0.9454\n", "17 0 16 8 45 35 35 0.9580\n", "18 0 16 9 45 35 35 0.9691\n", "19 0 16 10 45 35 35 0.9778" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "unions = pd.read_csv('unions.csv')\n", "unions" ] }, { "cell_type": "markdown", "id": "complete-roman", "metadata": {}, "source": [ "## Plots" ] }, { "cell_type": "code", "execution_count": 39, "id": "alike-familiar", "metadata": {}, "outputs": [], "source": [ "unions['qaoa_val'] = unions['max_cut']*unions['qaoa_ratio']/unions['E']\n", "unions['alr_val'] = unions['alr']/unions['E']\n", "unions['opt_val'] = unions['max_cut']/unions['E']" ] }, { "cell_type": "code", "execution_count": 40, "id": "excessive-music", "metadata": {}, "outputs": [], "source": [ "unions1 = unions[unions.graph_num==50]\n", "unions2 = unions[unions.graph_num==0]\n", "unions1.set_index('p',inplace=True)\n", "unions2.set_index('p',inplace=True)" ] }, { "cell_type": "code", "execution_count": 41, "id": "aging-charge", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8,4))\n", "ax = plt.axes()\n", "mean = (unions1+unions2)/2\n", "low = pd.concat([unions1, unions2]).min(level=0)\n", "high = pd.concat([unions1, unions2]).max(level=0)\n", "ax.errorbar(unions1.index, mean['qaoa_val'],yerr = [(mean-low).qaoa_val,(high-mean).qaoa_val], label=\"QAOA value\")\n", "ax.errorbar(unions1.index, mean['alr_val'],yerr = [(mean-low).alr_val,(high-mean).alr_val], label = \"ALR value\")\n", "ax.errorbar(unions1.index, mean['opt_val'],yerr = [(mean-low).opt_val,(high-mean).opt_val], label = \"OPT value\", linestyle ='--')\n", "ax.legend(fontsize = 15)\n", "ax.set_xlabel('$p$',fontsize = 15)\n", "ax.set_ylabel('Cut value', fontsize = 15)\n", "ax.set_title('QAOA/ALR performance on union of random graph and $4 \\\\times 4$ torus', fontsize = 15)\n", "plt.tight_layout()\n", "plt.savefig('union.png', dpi=300)" ] }, { "cell_type": "markdown", "id": "compact-vegetation", "metadata": {}, "source": [ "Thanks for reading!" ] } ], "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.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }