{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "Sign-OPT Attack for MNIST", "provenance": [], "collapsed_sections": [], "include_colab_link": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" }, "accelerator": "GPU" }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "OrPgZRyVo_dJ" }, "source": [ "#### Load Required Libraries" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3NN3tJgCjttX", "outputId": "0cd9f416-a201-4b44-d8d7-9aaee2f7c2e5" }, "source": [ "!git clone https://github.com/ndb796/attackbox" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Cloning into 'attackbox'...\n", "remote: Enumerating objects: 594, done.\u001b[K\n", "remote: Counting objects: 100% (19/19), done.\u001b[K\n", "remote: Compressing objects: 100% (13/13), done.\u001b[K\n", "remote: Total 594 (delta 7), reused 14 (delta 6), pack-reused 575\u001b[K\n", "Receiving objects: 100% (594/594), 74.55 MiB | 34.92 MiB/s, done.\n", "Resolving deltas: 100% (298/298), done.\n", "Checking out files: 100% (191/191), done.\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "orvMQ3aUpNQl" }, "source": [ "import torch\n", "import torch.nn as nn\n", "from torch.autograd import Variable\n", "import torchvision\n", "\n", "import numpy as np\n", "from numpy import linalg as LA\n", "import matplotlib.pyplot as plt\n", "\n", "import os\n", "import time\n", "import shutil" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "8_8c9VyHpYxN" }, "source": [ "#### Load Dataset" ] }, { "cell_type": "code", "metadata": { "id": "E0pIjQB-pEeA" }, "source": [ "def load_model(model, filename):\n", " \"\"\" Load the training model \"\"\"\n", " model.load_state_dict(torch.load(filename))\n", "\n", "\n", "def load_mnist_data(batch_size=1):\n", " \"\"\" Load MNIST data from torchvision.datasets \n", " input: None\n", " output: minibatches of train and test sets \n", " \"\"\"\n", " # MNIST Dataset\n", " train_dataset = torchvision.datasets.MNIST(root='./data/mnist', train=True, transform=torchvision.transforms.ToTensor(), download=True)\n", " test_dataset = torchvision.datasets.MNIST(root='./data/mnist', train=False, transform=torchvision.transforms.ToTensor())\n", "\n", " # Data Loader (Input Pipeline)\n", " train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=batch_size, shuffle=False)\n", " test_loader = torch.utils.data.DataLoader(dataset=test_dataset, batch_size=batch_size, shuffle=False)\n", "\n", " return train_loader, test_loader, train_dataset, test_dataset\n", "\n", "\n", "test_batch_size = 1\n", "train_loader, test_loader, train_dataset, test_dataset = load_mnist_data(test_batch_size)" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "qIuRnHrPpO7c" }, "source": [ "#### Load Pre-trained Classification Model" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "YKwl6DoNAm94", "outputId": "6ffc65a7-e94a-47ee-b027-555b05c62ae1" }, "source": [ "class BasicCNN(nn.Module):\n", " def __init__(self):\n", " super(BasicCNN, self).__init__() \n", " self.main = nn.Sequential(\n", " nn.Conv2d(1, 20, kernel_size=5),\n", " nn.ReLU(),\n", " nn.MaxPool2d(2, stride=2),\n", " nn.Conv2d(20, 50, kernel_size=5),\n", " nn.ReLU(),\n", " nn.MaxPool2d(2, stride=2))\n", " self.fc = nn.Sequential(\n", " nn.Linear(4*4*50, 500), \n", " nn.ReLU(), \n", " nn.Linear(500, 10))\n", " def forward(self, x):\n", " x = self.main(x)\n", " x = x.view(-1, 4*4*50)\n", " x = self.fc(x)\n", " return x\n", "\n", "\n", "model_dir = 'attackbox/model/m_cnn'\n", "net = BasicCNN()\n", "load_model(net, model_dir)\n", "net = torch.nn.DataParallel(net, device_ids=[0])\n", "net.cuda()\n", "net.eval()" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "DataParallel(\n", " (module): BasicCNN(\n", " (main): Sequential(\n", " (0): Conv2d(1, 20, kernel_size=(5, 5), stride=(1, 1))\n", " (1): ReLU()\n", " (2): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n", " (3): Conv2d(20, 50, kernel_size=(5, 5), stride=(1, 1))\n", " (4): ReLU()\n", " (5): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n", " )\n", " (fc): Sequential(\n", " (0): Linear(in_features=800, out_features=500, bias=True)\n", " (1): ReLU()\n", " (2): Linear(in_features=500, out_features=10, bias=True)\n", " )\n", " )\n", ")" ] }, "metadata": { "tags": [] }, "execution_count": 8 } ] }, { "cell_type": "code", "metadata": { "id": "kLnrkPAbp2Ec" }, "source": [ "class PytorchModel(object):\n", " def __init__(self,model, bounds, num_classes):\n", " self.model = model\n", " self.model.eval()\n", " self.bounds = bounds\n", " self.num_classes = num_classes\n", " self.num_queries = 0\n", "\n", " def predict(self,image):\n", " image = torch.clamp(image,self.bounds[0],self.bounds[1]).cuda()\n", " if len(image.size())!=4:\n", " image = image.unsqueeze(0)\n", " output = self.model(image)\n", " self.num_queries += 1\n", " return output\n", " \n", " def predict_prob(self,image):\n", " with torch.no_grad():\n", " image = torch.clamp(image,self.bounds[0],self.bounds[1]).cuda()\n", " if len(image.size())!=4:\n", " image = image.unsqueeze(0)\n", " output = self.model(image)\n", " self.num_queries += image.size(0)\n", " return output\n", "\n", " def predict_label(self, image, batch=False):\n", " if isinstance(image, np.ndarray):\n", " image = torch.from_numpy(image).type(torch.FloatTensor)\n", " image = torch.clamp(image,self.bounds[0],self.bounds[1]).cuda()\n", " if len(image.size())!=4:\n", " image = image.unsqueeze(0)\n", " with torch.no_grad():\n", " output = self.model(image)\n", " self.num_queries += image.size(0)\n", " _, predict = torch.max(output.data, 1)\n", " if batch:\n", " return predict\n", " else:\n", " return predict[0]\n", "\n", " def predict_ensemble(self, image):\n", " if isinstance(image, np.ndarray):\n", " image = torch.from_numpy(image).type(torch.FloatTensor)\n", " image = torch.clamp(image,self.bounds[0],self.bounds[1]).cuda()\n", " if len(image.size())!=4:\n", " image = image.unsqueeze(0)\n", " with torch.no_grad():\n", " output = self.model(image)\n", " output.zero_()\n", " for i in range(10):\n", " output += self.model(image)\n", " self.num_queries += image.size(0)\n", "\n", " _, predict = torch.max(output.data, 1)\n", "\n", " return predict[0]\n", "\n", " def get_num_queries(self):\n", " return self.num_queries\n", "\n", " def get_gradient(self,loss):\n", " loss.backward()" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "D8gtuAehpsSu" }, "source": [ "#### Adversarial Attack" ] }, { "cell_type": "code", "metadata": { "id": "5-rNUNmBl2mI" }, "source": [ "start_learning_rate = 1.0\n", "MAX_ITER = 1000\n", "\n", "\n", "def quad_solver(Q, b):\n", " \"\"\"\n", " Solve min_a 0.5*aQa + b^T a s.t. a>=0\n", " \"\"\"\n", " K = Q.shape[0]\n", " alpha = np.zeros((K,))\n", " g = b\n", " Qdiag = np.diag(Q)\n", " for i in range(20000):\n", " delta = np.maximum(alpha - g / Qdiag, 0) - alpha\n", " idx = np.argmax(abs(delta))\n", " val = delta[idx]\n", " if abs(val) < 1e-7: \n", " break\n", " g = g + val * Q[:,idx]\n", " alpha[idx] += val\n", " return alpha\n", "\n", "\n", "def sign(y):\n", " \"\"\"\n", " y -- numpy array of shape (m,)\n", " Returns an element-wise indication of the sign of a number.\n", " The sign function returns -1 if y < 0, 1 if x >= 0. nan is returned for nan inputs.\n", " \"\"\"\n", " y_sign = np.sign(y)\n", " y_sign[y_sign==0] = 1\n", " return y_sign\n", "\n", "\n", "class OPT_attack_sign_SGD(object):\n", " def __init__(self, model, k=200, train_dataset=None):\n", " self.model = model\n", " self.k = k\n", " self.train_dataset = train_dataset \n", " self.log = torch.ones(MAX_ITER, 2)\n", "\n", " def get_log(self):\n", " return self.log\n", "\n", " def attack_untargeted(self, x0, y0, alpha = 0.2, beta = 0.001, iterations = 1000, query_limit=20000,\n", " distortion=None, svm=False, momentum=0.0, stopping=0.0001):\n", " \"\"\" Attack the original image and return adversarial example\n", " model: (pytorch model)\n", " train_dataset: set of training data\n", " (x0, y0): original image\n", " \"\"\"\n", " model = self.model\n", " y0 = y0[0]\n", " query_count = 0\n", " ls_total = 0\n", "\n", " if (model.predict_label(x0) != y0):\n", " print(\"Fail to classify the image. No need to attack.\")\n", " return x0, 0, True, 0, None\n", "\n", " # 공격을 위한 초기 방향(initial direction) theta 찾기 / g_theta: 거리(짧을수록 좋음)\n", " # init: Calculate a good starting point (direction)\n", " num_directions = 100\n", " best_theta, g_theta = None, float('inf')\n", " print(\"Searching for the initial direction on %d random directions: \" % (num_directions))\n", " timestart = time.time()\n", " for i in range(num_directions):\n", " query_count += 1\n", " theta = np.random.randn(*x0.shape) # gaussian distortion\n", " # register adv directions\n", " if model.predict_label(x0 + torch.tensor(theta, dtype=torch.float).cuda()) != y0: \n", " initial_lbd = LA.norm(theta)\n", " theta /= initial_lbd # l2 normalize\n", " lbd, count = self.fine_grained_binary_search(model, x0, y0, theta, initial_lbd, g_theta)\n", " query_count += count\n", " if lbd < g_theta:\n", " best_theta, g_theta = theta, lbd\n", " print(\"--------> Found distortion %.4f\" % g_theta)\n", " timeend = time.time()\n", " \n", " # fail if cannot find a adv direction within 200 Gaussian\n", " if g_theta == float('inf'):\n", " print(\"Couldn't find valid initial, failed\")\n", " return x0, 0, False, query_count, best_theta\n", " print(\"==========> Found best distortion %.4f in %.4f seconds \"\n", " \"using %d queries\" % (g_theta, timeend-timestart, query_count))\n", " self.log[0][0], self.log[0][1] = g_theta, query_count\n", "\n", " # 반복적으로 theta를 업데이트하며 공격 수행\n", " # Begin Gradient Descent.\n", " timestart = time.time()\n", " xg, gg = best_theta, g_theta\n", " vg = np.zeros_like(xg)\n", " learning_rate = start_learning_rate\n", " prev_obj = 100000\n", " distortions = [gg]\n", " for i in range(iterations):\n", " # 기울기(gradient) 예측\n", " # gradient estimation at x0 + theta (init)\n", " if svm == True:\n", " sign_gradient, grad_queries = self.sign_grad_svm(x0, y0, xg, initial_lbd=gg, h=beta)\n", " else:\n", " sign_gradient, grad_queries = self.sign_grad_v1(x0, y0, xg, initial_lbd=gg, h=beta)\n", "\n", " # Line search of the step size of gradient descent\n", " ls_count = 0\n", " min_theta = xg # next theta\n", " min_g2 = gg # current g_theta\n", " min_vg = vg # velocity (for momentum only)\n", " for _ in range(15):\n", " # update theta by one step sgd\n", " if momentum > 0:\n", " new_vg = momentum * vg - alpha*sign_gradient\n", " new_theta = xg + new_vg\n", " else:\n", " new_theta = xg - alpha * sign_gradient\n", " new_theta /= LA.norm(new_theta)\n", "\n", " new_g2, count = self.fine_grained_binary_search_local(\n", " model, x0, y0, new_theta, initial_lbd = min_g2, tol=beta/500)\n", " ls_count += count\n", " alpha = alpha * 2 # gradually increasing step size\n", " if new_g2 < min_g2:\n", " min_theta = new_theta\n", " min_g2 = new_g2\n", " if momentum > 0:\n", " min_vg = new_vg\n", " else:\n", " break\n", "\n", " if min_g2 >= gg: # if the above code failed for the init alpha, we then try to decrease alpha\n", " for _ in range(15):\n", " alpha = alpha * 0.25\n", " if momentum > 0:\n", " new_vg = momentum * vg - alpha * sign_gradient\n", " new_theta = xg + new_vg\n", " else:\n", " new_theta = xg - alpha * sign_gradient\n", " new_theta /= LA.norm(new_theta)\n", " new_g2, count = self.fine_grained_binary_search_local(\n", " model, x0, y0, new_theta, initial_lbd = min_g2, tol=beta/500)\n", " ls_count += count\n", " if new_g2 < gg:\n", " min_theta = new_theta \n", " min_g2 = new_g2\n", " if momentum > 0:\n", " min_vg = new_vg\n", " break\n", "\n", " if alpha < 1e-4: # if the above two blocks of code failed\n", " alpha = 1.0\n", " print(\"Warning: not moving\")\n", " beta = beta * 0.1\n", " if (beta < 1e-8):\n", " break\n", " \n", " # if all attemps failed, min_theta, min_g2 will be the current theta (i.e. not moving)\n", " xg, gg = min_theta, min_g2\n", " vg = min_vg\n", "\n", " query_count += (grad_queries + ls_count)\n", " ls_total += ls_count\n", " distortions.append(gg)\n", "\n", " if query_count > query_limit:\n", " break\n", "\n", " # 공격이 진행되는 상황에서 로깅(logging)\n", " if (i + 1) % 10 == 0:\n", " print(\"Iteration %3d distortion %.4f num_queries %d\" % (i+1, gg, query_count))\n", " self.log[i + 1][0], self.log[i + 1][1] = gg, query_count\n", "\n", " if (i + 1) % 100 == 0:\n", " # 화면에 이미지 출력하기\n", " img = x0.cpu() + torch.tensor(gg * xg, dtype=torch.float) # [batch_size, 1, H, W]\n", " img = torch.clamp(img, min=0, max=1).squeeze(0) # [1, H, W]\n", " img = torchvision.transforms.ToPILImage()(img)\n", " plt.imshow(img, cmap='gray') # for grayscale\n", " plt.show()\n", "\n", " if distortion is None or gg < distortion:\n", " target = model.predict_label(x0 + torch.tensor(gg * xg, dtype=torch.float).cuda())\n", " print(\"Succeed distortion {:.4f} target\"\n", " \" {:d} queries {:d} LS queries {:d}\\n\".format(gg, target, query_count, ls_total))\n", " return x0 + torch.tensor(gg * xg, dtype=torch.float).cuda(), gg, True, query_count, xg\n", "\n", " timeend = time.time()\n", " print(\"\\nFailed: distortion %.4f\" % (gg))\n", " \n", " self.log[i+1:,0] = gg\n", " self.log[i+1:,1] = query_count\n", " return x0 + torch.tensor(gg * xg, dtype=torch.float).cuda(), gg, False, query_count, xg\n", "\n", "\n", " def sign_grad_v1(self, x0, y0, theta, initial_lbd, h=0.001, D=4, target=None):\n", " \"\"\"\n", " Evaluate the sign of gradient by formulat\n", " sign(g) = 1/Q [ \\sum_{q=1}^Q sign( g(theta+h*u_i) - g(theta) )u_i$ ]\n", " \"\"\"\n", " K = self.k # 200 random directions (for estimating the gradient)\n", " sign_grad = np.zeros(theta.shape)\n", " queries = 0\n", "\n", " for iii in range(K): # for each u\n", " u = np.random.randn(*theta.shape); u /= LA.norm(u)\n", " new_theta = theta + h * u; new_theta /= LA.norm(new_theta)\n", " sign = 1\n", " \n", " # Targeted case\n", " if (target is not None and \n", " self.model.predict_label(x0 + torch.tensor(initial_lbd * new_theta, dtype=torch.float).cuda()) == target):\n", " sign = -1\n", "\n", " # Untargeted case\n", " if (target is None and\n", " self.model.predict_label(x0 + torch.tensor(initial_lbd * new_theta, dtype=torch.float).cuda()) != y0): # success\n", " sign = -1\n", "\n", " queries += 1\n", " sign_grad += u*sign\n", " \n", " sign_grad /= K\n", " \n", " return sign_grad, queries\n", "\n", "\n", " def sign_grad_svm(self, x0, y0, theta, initial_lbd, h=0.001, K=100, lr=5.0, target=None):\n", " \"\"\"\n", " Evaluate the sign of gradient by formulat\n", " sign(g) = 1/Q [ \\sum_{q=1}^Q sign( g(theta+h*u_i) - g(theta) )u_i$ ]\n", " \"\"\"\n", " sign_grad = np.zeros(theta.shape)\n", " queries = 0\n", " dim = np.prod(theta.shape)\n", " X = np.zeros((dim, K))\n", " for iii in range(K):\n", " u = np.random.randn(*theta.shape)\n", " u /= LA.norm(u)\n", " \n", " sign = 1\n", " new_theta = theta + h * u\n", " new_theta /= LA.norm(new_theta) \n", " \n", " # Targeted case\n", " if (target is not None and \n", " self.model.predict_label(x0 + torch.tensor(initial_lbd * new_theta, dtype=torch.float).cuda()) == target):\n", " sign = -1\n", " \n", " # Untargeted case\n", " if (target is None and\n", " self.model.predict_label(x0 + torch.tensor(initial_lbd * new_theta, dtype=torch.float).cuda()) != y0):\n", " sign = -1\n", " \n", " queries += 1\n", " X[:,iii] = sign * u.reshape((dim,))\n", " \n", " Q = X.transpose().dot(X)\n", " q = -1 * np.ones((K,))\n", " G = np.diag(-1 * np.ones((K,)))\n", " h = np.zeros((K,))\n", " alpha = quad_solver(Q, q)\n", " sign_grad = (X.dot(alpha)).reshape(theta.shape)\n", " \n", " return sign_grad, queries\n", "\n", "\n", " def fine_grained_binary_search_local(self, model, x0, y0, theta, initial_lbd = 1.0, tol=1e-5):\n", " nquery = 0\n", " lbd = initial_lbd\n", " \n", " # still inside boundary\n", " if model.predict_label(x0 + torch.tensor(lbd * theta, dtype=torch.float).cuda()) == y0:\n", " lbd_lo = lbd\n", " lbd_hi = lbd * 1.01\n", " nquery += 1\n", " while model.predict_label(x0 + torch.tensor(lbd_hi * theta, dtype=torch.float).cuda()) == y0:\n", " lbd_hi = lbd_hi * 1.01\n", " nquery += 1\n", " if lbd_hi > 20:\n", " return float('inf'), nquery\n", " else:\n", " lbd_hi = lbd\n", " lbd_lo = lbd * 0.99\n", " nquery += 1\n", " while model.predict_label(x0 + torch.tensor(lbd_lo * theta, dtype=torch.float).cuda()) != y0 :\n", " lbd_lo = lbd_lo * 0.99\n", " nquery += 1\n", "\n", " while (lbd_hi - lbd_lo) > tol:\n", " lbd_mid = (lbd_lo + lbd_hi) / 2.0\n", " nquery += 1\n", " if model.predict_label(x0 + torch.tensor(lbd_mid * theta, dtype=torch.float).cuda()) != y0:\n", " lbd_hi = lbd_mid\n", " else:\n", " lbd_lo = lbd_mid\n", " return lbd_hi, nquery\n", "\n", "\n", " def fine_grained_binary_search(self, model, x0, y0, theta, initial_lbd, current_best):\n", " nquery = 0\n", " if initial_lbd > current_best: \n", " if model.predict_label(x0 + torch.tensor(current_best * theta, dtype=torch.float).cuda()) == y0:\n", " nquery += 1\n", " return float('inf'), nquery\n", " lbd = current_best\n", " else:\n", " lbd = initial_lbd\n", "\n", " lbd_hi = lbd\n", " lbd_lo = 0.0\n", " \n", " while (lbd_hi - lbd_lo) > 1e-3: # was 1e-5\n", " lbd_mid = (lbd_lo + lbd_hi) / 2.0\n", " nquery += 1\n", " if model.predict_label(x0 + torch.tensor(lbd_mid*theta, dtype=torch.float).cuda()) != y0:\n", " lbd_hi = lbd_mid\n", " else:\n", " lbd_lo = lbd_mid\n", " return lbd_hi, nquery\n", "\n", "\n", " def __call__(self, input_xi, label_or_target, targeted=False, distortion=None, seed=None,\n", " svm=False, query_limit=4000, momentum=0.0, stopping=0.0001, args=None):\n", " if targeted:\n", " raise NotImplementedError\n", " else:\n", " adv = self.attack_untargeted(input_xi, label_or_target, distortion=distortion,\n", " svm=svm, query_limit=query_limit, momentum=momentum,\n", " stopping=stopping)\n", " return adv" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "ytpMQL5stsQD" }, "source": [ "# 단순히 p-norm 거리(distance) 계산\n", "def distance(x_adv, x, norm='l2'):\n", " diff = (x_adv - x).view(x.size(0), -1)\n", " if norm == 'l2':\n", " out = torch.sqrt(torch.sum(diff * diff)).item()\n", " return out\n", " elif norm == 'linf':\n", " out = torch.sum(torch.max(torch.abs(diff), 1)[0]).item()\n", " return out" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "ksIwqNi9hrEs" }, "source": [ "from types import SimpleNamespace\n", "\n", "args = SimpleNamespace()\n", "\n", "args.targeted = False # Targeted attack.\n", "args.random_start = False # PGD attack with random start.\n", "args.epsilon = 2.0\n", "args.seed = 123\n", "args.norm = 'l2'\n", "args.test_batch = 40 # The number of test batch.\n", "args.query = 80000" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "Ftqcu-xFmF-i", "outputId": "869fcf1d-dafc-4740-9485-6b0b388a7727" }, "source": [ "amodel = PytorchModel(net, bounds=[0, 1], num_classes=10)\n", "attack = OPT_attack_sign_SGD(amodel)\n", "\n", "total_r_count = 0\n", "total_clean_count = 0\n", "total_distance = 0\n", "successes = []\n", "stop_queries = []\n", "\n", "for i, (xi, yi) in enumerate(test_loader):\n", " print(f\"image batch: {i}\")\n", " if i == args.test_batch:\n", " break\n", "\n", " xi, yi = xi.cuda(), yi.cuda()\n", " adv, distortion, is_success, nqueries, theta_signopt = attack(xi, yi, targeted=args.targeted, query_limit=args.query, distortion=args.epsilon, args=args)\n", "\n", " # 결과 출력(l_2 distortion이 충분히 감소했을 때 성공)\n", " img = torchvision.transforms.ToPILImage()(torch.clamp(adv, min=0, max=1).squeeze(0))\n", " plt.imshow(img, cmap='gray') # for grayscale\n", " plt.show()\n", "\n", " if is_success:\n", " stop_queries.append(nqueries)\n", "\n", " if args.targeted == False:\n", " r_count = (torch.max(amodel.predict(adv), 1)[1] == yi).nonzero().shape[0]\n", " clean_count = (torch.max(amodel.predict(xi), 1)[1] == yi).nonzero().shape[0]\n", " total_r_count += r_count\n", " total_clean_count += clean_count\n", " total_distance += distance(adv, xi, norm=args.norm)\n", "\n", " successes.append(is_success)\n", "\n", "num_queries = amodel.get_num_queries()\n", "print(f\"clean count: {total_clean_count}\")\n", "print(f\"acc under attack count: {total_r_count}\")\n", "print(f\"avg total queries used: {num_queries}\")\n", "print(f\"avg stop queries used: {np.mean(stop_queries)}\")\n", "print(f\"average distortion: {total_distance / (args.test_batch * test_batch_size)}\")\n", "print(\"robust accuracy: {}\".format(1 - np.mean(successes)))" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "image batch: 0\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 25.5910\n", "--------> Found distortion 20.5483\n", "--------> Found distortion 13.3080\n", "==========> Found best distortion 13.3080 in 0.1645 seconds using 231 queries\n", "Iteration 10 distortion 2.5259 num_queries 3159\n", "Iteration 20 distortion 2.1667 num_queries 5648\n", "Iteration 30 distortion 2.0685 num_queries 8080\n", "Iteration 40 distortion 2.0371 num_queries 10463\n", "Iteration 50 distortion 2.0105 num_queries 12833\n", "Iteration 60 distortion 1.9973 num_queries 15226\n", "Iteration 70 distortion 1.9915 num_queries 17586\n", "Iteration 80 distortion 1.9863 num_queries 19931\n", "Iteration 90 distortion 1.9817 num_queries 22336\n", "Iteration 100 distortion 1.9778 num_queries 24681\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.9753 num_queries 27026\n", "Iteration 120 distortion 1.9728 num_queries 29416\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.9728 target 2 queries 32095 LS queries 6664\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 1\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 16.6903\n", "--------> Found distortion 15.5137\n", "--------> Found distortion 15.3783\n", "--------> Found distortion 15.2826\n", "==========> Found best distortion 15.2826 in 0.1737 seconds using 237 queries\n", "Iteration 10 distortion 3.7677 num_queries 3161\n", "Iteration 20 distortion 3.0972 num_queries 5708\n", "Iteration 30 distortion 2.9369 num_queries 8181\n", "Iteration 40 distortion 2.8667 num_queries 10568\n", "Iteration 50 distortion 2.8132 num_queries 12943\n", "Iteration 60 distortion 2.7811 num_queries 15317\n", "Iteration 70 distortion 2.7554 num_queries 17653\n", "Iteration 80 distortion 2.7378 num_queries 20006\n", "Iteration 90 distortion 2.7219 num_queries 22400\n", "Iteration 100 distortion 2.7082 num_queries 24749\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 2.7009 num_queries 27154\n", "Iteration 120 distortion 2.6960 num_queries 29529\n", "Iteration 130 distortion 2.6924 num_queries 31919\n", "Iteration 140 distortion 2.6888 num_queries 34309\n", "Iteration 150 distortion 2.6843 num_queries 36639\n", "Iteration 160 distortion 2.6809 num_queries 38999\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 170 distortion 2.6790 num_queries 41805\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 2.6790\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 2\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 11.3771\n", "--------> Found distortion 10.3015\n", "--------> Found distortion 8.5032\n", "--------> Found distortion 6.9063\n", "==========> Found best distortion 6.9063 in 0.1931 seconds using 253 queries\n", "Iteration 10 distortion 1.6945 num_queries 3159\n", "Iteration 20 distortion 1.4186 num_queries 5621\n", "Iteration 30 distortion 1.3528 num_queries 8018\n", "Iteration 40 distortion 1.3272 num_queries 10393\n", "Iteration 50 distortion 1.3055 num_queries 12720\n", "Iteration 60 distortion 1.2949 num_queries 15054\n", "Iteration 70 distortion 1.2886 num_queries 17394\n", "Iteration 80 distortion 1.2833 num_queries 19730\n", "Iteration 90 distortion 1.2805 num_queries 22052\n", "Iteration 100 distortion 1.2787 num_queries 24388\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.2776 num_queries 26682\n", "Iteration 120 distortion 1.2760 num_queries 29018\n", "Iteration 130 distortion 1.2754 num_queries 31368\n", "Iteration 140 distortion 1.2747 num_queries 33718\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.2746 target 8 queries 36486 LS queries 6833\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAP6klEQVR4nO3df4hddXrH8c/j5HeyaExIDG4062IEKdQtIRSqZeviYhSMC7okf5QsSmeRFXahf1TSPzZQCiLdLf2jLCQqm5Sty4KK+WNt18alWoToKKlG3TRpiKwhZoxRNz+M+fX0jzmWUed+n8k999xzkuf9gmFm7jPnnu+c3E/Onfvc7/mauwvApe+ytgcAYDgIO5AEYQeSIOxAEoQdSGLGMHdmZrz0DzTM3W2q22ud2c3sdjPbY2b7zOyhOvc1zf31/GhTaVxtj63LLrvssuLHxayLj4m+j6iZjUj6Z0lrJN0oab2Z3TiogQEYrDr/fa6WtM/d97v7aUm/lLR2MMMCMGh1wn61pN9P+v7d6rbPMbNRMxszs7Ea+wJQU+Mv0Ln7ZkmbJV6gA9pU58x+UNLySd9/tboNQAfVCfsrkq43s6+Z2SxJ6yRtH8ywAAxa30/j3f2smT0o6d8ljUh63N3fHNjIpt5nk3fft66OazqiNlCTv9v58+cbu++66h6XqF66/6a2tWE+UPmbvXvaDHuXNX1cmgx7I2+qAXDxIOxAEoQdSIKwA0kQdiAJwg4kQesNuMTQegOSI+xAEoQdSIKwA0kQdiAJwg4kMdRLSWP4otlbda902uVpqherpmbccWYHkiDsQBKEHUiCsANJEHYgCcIOJEHYgSTos1/iotVQZ8yo9xA4e/Zssb5ixYqetT179hS3feCBB4r1LVu2FOtd1salpDmzA0kQdiAJwg4kQdiBJAg7kARhB5Ig7EAS9NkvAtH85pkzZ/aszZo1q7ht1Iev26e/7bbbetZGRkaK23766afFeun3lspjj+47GlvUC4/m+de5hHu/29YKu5kdkHRM0jlJZ919VZ37A9CcQZzZ/8LdjwzgfgA0iL/ZgSTqht0l/cbMXjWz0al+wMxGzWzMzMZq7gtADXWfxt/s7gfNbImk58zsd+7+wuQfcPfNkjZLrPUGtKnWmd3dD1afxyU9LWn1IAYFYPD6DruZzTezr3z2taRvS9o9qIEBGKw6T+OXSnq66gHPkPSv7v5vAxlVMnWvE17qN8+ePbu47eLFi4v1aL56NLZVq3p3Y6Ntn3/++WJ9yZIlxXrp/o8fP17cNuqznzx5su99S9Lp06eL9Sb0HXZ33y/pjwc4FgANovUGJEHYgSQIO5AEYQeSIOxAEp2a4trUUrVti6aJRm2eaBppqfV27ty54rZnzpwp1qPtr7vuumL9vvvu61nbtm1bcdu6U1xLY4+OeTRFtcnHKks2A6iFsANJEHYgCcIOJEHYgSQIO5AEYQeS6FSfPVJnmdsm1e2TR/VomumpU6f6qknxVM1oKua1115brO/bt69nbdOmTcVt33///WI96rPPmzevZy06LlGvO/o3ieolTT2WObMDSRB2IAnCDiRB2IEkCDuQBGEHkiDsQBKd6rO32Suvs/zvnDlzitvW7dlGffySBQsWFOvRJZUjd911V7H+4osv9qwdOHCg1r6jufgff/xxrfu/1HBmB5Ig7EAShB1IgrADSRB2IAnCDiRB2IEkOtVnb1LU646u7T537tyetaiXHfXJo37xhx9+WKyX+vTRfdd1ww03FOsHDx5sdP/9qvt4iK6n36R+r+sQntnN7HEzGzez3ZNuu9LMnjOzvdXnhRc6YADDNZ2n8T+XdPsXbntI0g53v17Sjup7AB0Wht3dX5B09As3r5W0tfp6q6S7BzwuAAPW79/sS939UPX1e5KW9vpBMxuVNNrnfgAMSO0X6NzdzaznqwLuvlnSZkkq/RyAZvXbejtsZsskqfo8PrghAWhCv2HfLmlD9fUGSc8MZjgAmhI+jTezJyR9U9JiM3tX0o8lPSzpV2Z2v6R3JH13EIOJepvRmtlN7rvUV416tlE9mg9fuv65VD4ux44dK24bzaVfuXJlsR718aM11uuI/s1Kx+3EiRPFbaP3RtS99kLp36yp9dnDsLv7+h6lb/W1RwCt4O2yQBKEHUiCsANJEHYgCcIOJNGpKa5NttaidkW0NHGpRRVdsjhq48yfP79Ynz17drFeakFFrbfI6tWri/WrrrqqWN+4cWOt/ZcsWrSoWC8d1+iYRy3FupfgLt1/U603zuxAEoQdSIKwA0kQdiAJwg4kQdiBJAg7kESn+uxtii4NXKpH00SjqZhRPbpUdWm56csvv7y47S233FKsP/LII8X67t27i/X9+/f3rEV98mjqb52lrGfMKD/0P/nkk2I9+jeL3rdR6pVHffZ+cWYHkiDsQBKEHUiCsANJEHYgCcIOJEHYgSTosw9ANL846uF/8MEHxfrJkyeL9YULey+iG/Xo77333mJ92bJlxfrevXuL9dK88dIy2FL943bq1KmetTYvWx5pat+c2YEkCDuQBGEHkiDsQBKEHUiCsANJEHYgCfrsF4FobvWsWbP6vu8VK1b0va0kPfroo8V6aV533eWeo+1L2uyjtyU8s5vZ42Y2bma7J922ycwOmtmu6uOOZocJoK7pPI3/uaTbp7j9H939purj14MdFoBBC8Pu7i9IOjqEsQBoUJ0X6B40s9erp/k935xtZqNmNmZmYzX2BaCmfsP+M0lfl3STpEOSftLrB919s7uvcvdVfe4LwAD0FXZ3P+zu59z9vKQtkspLfQJoXV9hN7PJ8x6/I6l8PWEArbNoLraZPSHpm5IWSzos6cfV9zdJckkHJH3f3Q+FOzPrb2Fp9G3JkiXF+ssvv1ysj4+PF+vR+u0l0fsDomuvY2ruPuWF58M31bj7+ilufqz2iAAMFW+XBZIg7EAShB1IgrADSRB2IAmmuHZAtHxwtCR0yZ133lmsR5drfvbZZ/vedyRqrc2ePbtYj45L9LtdrEpLOpda6ZzZgSQIO5AEYQeSIOxAEoQdSIKwA0kQdiCJS6bPXuo9TqceLeE7Z86cnrWoHxz1k6OxnThxolgv9ZOvueaaWvs+erS5yw+WjqkkzZs3r1iP+uyl43Yx9+Cjaem9cGYHkiDsQBKEHUiCsANJEHYgCcIOJEHYgSQumT57JOqjR5c1jrZv8r6jpYtLvfJ169YVt12wYEGxvnPnzmI9UuqVz507t7htNM8/Wna59P6HaBnsfnvZXcaZHUiCsANJEHYgCcIOJEHYgSQIO5AEYQeSSNNnj+Y+R/O6S3PSoz76yMhIsR712aP6rbfe2rO2cuXK4rbR771o0aJi/YorrijWZ86c2VdtOs6cOVOsl96fcCn20SPhmd3MlpvZb83sLTN708x+WN1+pZk9Z2Z7q88Lmx8ugH5N52n8WUl/7e43SvpTST8wsxslPSRph7tfL2lH9T2AjgrD7u6H3P216utjkt6WdLWktZK2Vj+2VdLdTQ0SQH0X9De7ma2Q9A1JOyUtdfdDVek9SUt7bDMqabT/IQIYhGm/Gm9mCyQ9KelH7v6HyTWfeLVjylc83H2zu69y91W1RgqglmmF3cxmaiLov3D3p6qbD5vZsqq+TNJ4M0MEMAjh03ib6M08Jultd//ppNJ2SRskPVx9fqaREU5T3VZK1MYptaiitl40FTNqf0XTMe+5556etahtt2/fvmL9pZdeKtbrtM9OnjxZrEfHLbpE98V8uegmTOdv9j+T9JeS3jCzXdVtGzUR8l+Z2f2S3pH03WaGCGAQwrC7+39J6nXq+dZghwOgKbxdFkiCsANJEHYgCcIOJEHYgSTSTHGtq9THj/q9dUWXe16zZk3f9719+/ZiPepVR/XScYsukV133/g8zuxAEoQdSIKwA0kQdiAJwg4kQdiBJAg7kIQN85K6ZualudsZL+87HdGc9LGxsZ61I0eOFLfdsGFDsf7RRx8V69Gc89LYo/cnRPfN42Vq7j5lyDizA0kQdiAJwg4kQdiBJAg7kARhB5Ig7EASQ++zD21niZR62dFy0lEPP5ozHl0zv3Rd+TrX6p/OvrOizw4kR9iBJAg7kARhB5Ig7EAShB1IgrADSYR9djNbLmmbpKWSXNJmd/8nM9sk6a8kvV/96EZ3/3VwX/TZhyzqo0dzxmfMaG9pAfro/enVZ59O2JdJWubur5nZVyS9KuluTazHftzd/2G6gyDsw0fY8+kV9umsz35I0qHq62Nm9rakqwc7PABNu6C/2c1shaRvSNpZ3fSgmb1uZo+b2cIe24ya2ZiZ9b52EoDGTfu98Wa2QNJ/Svp7d3/KzJZKOqKJv+P/ThNP9e8L7oOn8UPG0/h8ar033sxmSnpS0i/c/anqDg+7+zl3Py9pi6TVgxosgMELw24TU48ek/S2u/900u3LJv3YdyTtHvzwAAzKdF6Nv1nSi5LekPTZc76NktZLukkTT+MPSPp+9WJe6b6Kl5KOlMYa3W/Wyw5HxyWql6aoSvHloEdGRnrWoqfp0Z8gdf5NL+XHQ9+tt0Ei7MNH2Ae/bdcxnx1IjrADSRB2IAnCDiRB2IEkCDuQRKdab5dyO6Sr6rRCp7N96e24TbdL6/5uJV1+rNJ6A5Ij7EAShB1IgrADSRB2IAnCDiRB2IEkhn3NoSPu/s6k7xdr4tJWXdTVsQ10XHX7xV/Y/oLG1nSvus7YhmyQY7u2V2Gob6r50s7Nxtx9VWsDKOjq2Lo6Lomx9WtYY+NpPJAEYQeSaDvsm1vef0lXx9bVcUmMrV9DGVurf7MDGJ62z+wAhoSwA0m0EnYzu93M9pjZPjN7qI0x9GJmB8zsDTPb1fb6dNUaeuNmtnvSbVea2XNmtrf6POUaey2NbZOZHayO3S4zu6OlsS03s9+a2Vtm9qaZ/bC6vdVjVxjXUI7b0P9mN7MRSf8j6TZJ70p6RdJ6d39rqAPpwcwOSFrl7q2/AcPM/lzScUnb3P2PqtsekXTU3R+u/qNc6O5/05GxbdIFLuPd0Nh6LTP+PbV47Aa5/Hk/2jizr5a0z933u/tpSb+UtLaFcXSeu78g6egXbl4raWv19VZNPFiGrsfYOsHdD7n7a9XXxyR9tsx4q8euMK6haCPsV0v6/aTv31W31nt3Sb8xs1fNbLTtwUxh6aRltt6TtLTNwUwhXMZ7mL6wzHhnjl0/y5/XxQt0X3azu/+JpDWSflA9Xe0kn/gbrEu9059J+rom1gA8JOknbQ6mWmb8SUk/cvc/TK61eeymGNdQjlsbYT8oafmk779a3dYJ7n6w+jwu6Wl1bynqw5+toFt9Hm95PP+vS8t4T7XMuDpw7Npc/ryNsL8i6Xoz+5qZzZK0TtL2FsbxJWY2v3rhRGY2X9K31b2lqLdL2lB9vUHSMy2O5XO6sox3r2XG1fKxa335c3cf+oekOzTxivz/SvrbNsbQY1zXSfrv6uPNtscm6QlNPK07o4nXNu6XtEjSDkl7Jf2HpCs7NLZ/0cTS3q9rIljLWhrbzZp4iv66pF3Vxx1tH7vCuIZy3Hi7LJAEL9ABSRB2IAnCDiRB2IEkCDuQBGEHkiDsQBL/B8VZ1HCfvvPuAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 3\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 27.0632\n", "--------> Found distortion 27.0169\n", "--------> Found distortion 21.5984\n", "--------> Found distortion 17.4228\n", "--------> Found distortion 16.6055\n", "==========> Found best distortion 16.6055 in 0.1658 seconds using 213 queries\n", "Iteration 10 distortion 3.2003 num_queries 3143\n", "Iteration 20 distortion 2.4151 num_queries 5796\n", "Iteration 30 distortion 2.2496 num_queries 8194\n", "Iteration 40 distortion 2.1689 num_queries 10639\n", "Iteration 50 distortion 2.1250 num_queries 13038\n", "Iteration 60 distortion 2.1022 num_queries 15409\n", "Iteration 70 distortion 2.0831 num_queries 17820\n", "Iteration 80 distortion 2.0743 num_queries 20155\n", "Iteration 90 distortion 2.0664 num_queries 22533\n", "Iteration 100 distortion 2.0595 num_queries 24893\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 2.0562 num_queries 27268\n", "Iteration 120 distortion 2.0529 num_queries 29673\n", "Iteration 130 distortion 2.0498 num_queries 32063\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 140 distortion 2.0493 num_queries 35689\n", "Warning: not moving\n", "\n", "Failed: distortion 2.0493\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAASWklEQVR4nO3df4xW5ZUH8O8RB2Fm0AFRnFBcugVNyCbahqCJZnVjllATxcbElJiV1bqDBrUkTdqJJlZtNpHd7daamMYp1dJNpWmiUv+ou2WxEfcPK4OyisiuSiCI40zLbxxgGDj7x1w2U5x7znCf9977wvl+EjIz98xz7zP3fQ/ve99zn+cRVQURnfvOq7sDRFQNJjtREEx2oiCY7ERBMNmJgji/yoOJCD/6H4OImHFWTM4+dT6mqjrmwZOSXUQWAfgxgAkAVqnqk16b884r/mbCOkGpJ9drf/LkSTNu8f7m88+3Hwbv2Fbc+7tOnDhhxmls3mM6YcIEM378+PFGdmdcCmeeiEwA8AyArwOYB2CJiMxrVMeIqLFSrtkXAPhIVber6hCAXwFY3JhuEVGjpST7TAC7Rv38Sbbtz4hIl4j0ikhvwrGIKFHpH9Cpag+AHoAf0BHVKeWVfTeAWaN+/lK2jYiaUEqybwQwV0S+LCITAXwTwCuN6RYRNVrht/GqOiwiDwD4D4yU3p5T1ffH0S435pUzrBJTat3SO7ZVwvKO7ZXOhoaGzLinpaUlN5Za4imzXuyVp6KWBVPywCJV3rAhImo9ebw/sswH33vilfkfTSome/XKrLOnJnveTTW8XZYoCCY7URBMdqIgmOxEQTDZiYJgshMFUXnpzYp7Qz2tvnplmjJLSFbpC/DLX2XVVavgndeUtt5j4sWt59Pw8LDZ1ntMvedbnY8ZS29EwTHZiYJgshMFwWQnCoLJThQEk50oiEqnkvZ45ZCUMk+ZJcbU0pr3d6XMPps6u2ydo96850PKrL3evr1z7j3mXnvr+GWVYvnKThQEk50oCCY7URBMdqIgmOxEQTDZiYJgshMF0VR1dk/KdM6ptcuUmq2377a2NjPuTTVt7b+jo8Ns+8QTT5jxZcuWmfG33nrLjN999925se3bt5ttPd5jbtXxL7jggqR9p9TRPWUNj+UrO1EQTHaiIJjsREEw2YmCYLITBcFkJwqCyU4URFNNJV2m1FU3Ld7Y5jqnmp4zZ47Ztre314x752XSpElmvLu7Ozf2zDPPJO3be+5a9yd4bY8dO2bGW1tbzfiRI0fMeJlTTedNJZ10U42I7ABwCMAJAMOqOj9lf0RUnkbcQfc3qvqnBuyHiErEa3aiIFKTXQH8TkQ2iUjXWL8gIl0i0isi9sUhEZUq9W389aq6W0QuBbBORLap6obRv6CqPQB6gHo/oCOKLumVXVV3Z18HALwMYEEjOkVEjVc42UWkTUSmnPoewEIAWxrVMSJqrJS38TMAvJyNMT8fwAuq+u9eI6tmnFJ79OrB3vzoXi27zvHJXvv29vbc2LPPPmu29e4B8OaNT5kHwBsTvn//fjNu/d2eo0ePFm4LAIODg2bcq+OnzM1QVOFkV9XtAK5qYF+IqEQsvREFwWQnCoLJThQEk50oCCY7URCVTyVd1tC+OktrHq9vnvvuu8+M33XXXbmxq66yCyZe3yZPnmzGvfLZNddckxvzynpbt24146+++qoZtx7z1KWoU8tjVQ4tP4Wv7ERBMNmJgmCyEwXBZCcKgslOFASTnSgIJjtREJVPJW0NRfVqviltPWUuwZvKm5bYWn7Yqyd7vGmuvfNy8ODB3Jj33Nu1a5cZv//++834pk2bzHgK774Nj/W3N6CGP+aDzld2oiCY7ERBMNmJgmCyEwXBZCcKgslOFASTnSiIs2rJZqtm3NbWZrb1pg72pqK2lvD1xnx7dfKNGzea8fnzm3dx3J07d5pxq1be0dFhtvXuffDic+fONePnKtbZiYJjshMFwWQnCoLJThQEk50oCCY7URBMdqIgKp833qpne3PKW2OIvXHX3r69mu+UKVMK9QsAFi9ebMa9ud3rtHr1ajO+atUqM/7pp5/mxq677jqzbXd3txn35jBYsmRJbmzNmjVmW481hwBg35eRquhyz+4ru4g8JyIDIrJl1LZpIrJORD7Mvk490w4TUbXG8zb+5wAWnbatG8B6VZ0LYH32MxE1MTfZVXUDgL2nbV4M4NT7u9UAbmtwv4iowYpes89Q1b7s+88AzMj7RRHpAtBV8DhE1CDJH9CpqloDXFS1B0APkD4QhoiKK1p66xeRTgDIvg40rktEVIaiyf4KgKXZ90sB/KYx3SGisrjj2UVkDYAbAUwH0A/g+wDWAvg1gMsB7ARwh6qe/iHeWPsy5433auEtLS25Ma/m6o13b21tNeMWr06+du1aM+7VbFPmfv/444/N+GuvvWbGH3roITPuzRNgmThxohl/4403zPicOXPM+P79+3NjK1euNNv29PSY8TKlPN6qmjue3b1mV9W8OxNuKtwjIqocb5clCoLJThQEk50oCCY7URBMdqIgKp9KuujwPI9XxvHKGd5U0oODg7mxzs5Os+3rr79uxr2lidvb2834O++8kxtbsWKF2TaldFa2pUuXmvGnnnrKjFtTTXvTe3vTUB84cMCMl8lbupxTSRMFx2QnCoLJThQEk50oCCY7URBMdqIgmOxEQVQ+lXRZdf2hoaFS9jsefX19Ztyrs+/bt8+MW3V0IH1a5DJZ9z949z5s27bNjHvnffbs2bmx4eFhs61330aqlPtNvOHcefjKThQEk50oCCY7URBMdqIgmOxEQTDZiYJgshMFUXmd3Vve2OJNNd2svOWkvXpznXV0b5prrx5t1YS9tt5527Nnjxm3+u6N43/wwQfN+KOPPmrGPSn3m3jj2fPwlZ0oCCY7URBMdqIgmOxEQTDZiYJgshMFwWQnCqLyOrtVK0+pwddp3rx5ZtybY9ybo7xMXo3/wgsvNOPTpk0rvH9rXncAuOWWW8z4FVdcYcat8+7ds/H444+b8ToVvd/EzS4ReU5EBkRky6htj4nIbhHZnP27udDRiagy43kp/TmARWNs/5GqXp39+21ju0VEjeYmu6puALC3gr4QUYlSLpIfEJF3s7f5U/N+SUS6RKRXRHoTjkVEiYom+08AfAXA1QD6APww7xdVtUdV56vq/ILHIqIGKJTsqtqvqidU9SSAnwJY0NhuEVGjFUp2ERm9RvE3AGzJ+10iag5unV1E1gC4EcB0EfkEwPcB3CgiVwNQADsALGtEZ87W8eq33367Gb/44ovNeJlrfXtjxr116b06uve3WWPKr7zySrPt8uXLzfjnn39uxq2x3d54du+8FJ27vRGKjoV3k11Vl4yx+WeFjkZEtTk7b1kjojPGZCcKgslOFASTnSgIJjtREJUPcbVKGl7prazpd4G0UopXnpoyZYoZ7+joKHxsz9SpuXcyAwBmzpxpxr2/7ZJLLjHjK1euzI3NmjXLbOvxni/9/f25sXvuucdsW+cS4GXhKztREEx2oiCY7ERBMNmJgmCyEwXBZCcKgslOFETldfayhgZ6UyJ70xZ78WPHjuXGFi5caLb1pmO29j0e1j0E3r77+vrMuFdvfuGFF8z49OnTzbhleHjYjHvDa998883c2Pbt2wv1qQrelOqlTSVNROcGJjtREEx2oiCY7ERBMNmJgmCyEwXBZCcKQlLGiJ/xwUSSDmbVwq0piwG/dulNudze3p4b6+21V7by7gHwjn3ttdeacWvJ56efftpse/nll5vxs1lbW1tubHBw0GxrPd4AcOTIETPuPd+8ewiKUlWo6phPOL6yEwXBZCcKgslOFASTnSgIJjtREEx2oiCY7ERBVD6evSze8r2XXnqpGffGnFvWrl1rxu+9914z7o0537Bhgxm37pXw5n33ePMPePVk7x6DFJs3bzbj1v0H3jk/fPiwGff+bu/+lUOHDplxS9Fz6r6yi8gsEfm9iGwVkfdF5NvZ9mkisk5EPsy+2qsREFGtxvM2fhjAd1R1HoBrASwXkXkAugGsV9W5ANZnPxNRk3KTXVX7VPXt7PtDAD4AMBPAYgCrs19bDeC2sjpJROnO6JpdRGYD+CqAPwCYoaqnJjD7DMCMnDZdALqKd5GIGmHcn8aLSDuAFwGsUNWDo2M68mnEmJ9IqGqPqs5X1flJPSWiJONKdhFpwUii/1JVX8o294tIZxbvBDBQTheJqBHcIa4y8jn/agB7VXXFqO3/DGCPqj4pIt0Apqnqd519JQ1xtcod3tLEXgmppaXFjF900UW5MW+65HXr1plxaygm4A+HPHjwYG7MKyl6+z5+/LgZ94aCDgzkvwZYMQBYsWKFGfemwbaeL0ePHjXbes+XAwcOmHEvr7z2KfKGuI7nmv06AH8H4D0ROVXYfBjAkwB+LSLfArATwB2N6CgRlcNNdlX9LwB5VfybGtsdIioLb5clCoLJThQEk50oCCY7URBMdqIgzqqppK2lib26qFfLturogD2NtVezveGGG8z4rbfeasbvvPNOM25Na+xNmewN1fTq7N55feSRR3Jjzz//vNnWGwZ62WWXmfFJkyblxrzzYj3XAGDfvn1m3Lt/wVp22VuS2XrMTp48yamkiaJjshMFwWQnCoLJThQEk50oCCY7URBMdqIgzqo6u8VbstlbFtlj1fG9qX29WrVX0120aJEZt+rwN91kD0z0psFetWqVGfds27YtN7Znz56kfXs1/smTJ+fGvKmkvfkNvKnLvcfces5494xYbblkMxEx2YmiYLITBcFkJwqCyU4UBJOdKAgmO1EQldfZvRqh0z435tWqvVp4a2urGbfGrFtj3QF/fLI1Hv1c5o2lt8ajj6e9FffOuVcn9x5zbzy7NyY9BevsRMEx2YmCYLITBcFkJwqCyU4UBJOdKAgmO1EQ41mffRaAXwCYAUAB9Kjqj0XkMQD/AOCP2a8+rKq/dfZlHsyrm1r1R2+8eso83kBaXdSr8afe61BmzfZsZtXCvfsyvPHuHu+5bD3mqc+HlPXZhwF8R1XfFpEpADaJyLos9iNV/ZeknhFRJcazPnsfgL7s+0Mi8gGAmWV3jIga64yu2UVkNoCvAvhDtukBEXlXRJ4Tkak5bbpEpFdEepN6SkRJxn1vvIi0A3gdwD+q6ksiMgPAnzByHf8DAJ2qeo+zD16zj4HX7OXgNftpfRpPYxFpAfAigF+q6kvZDvtV9YSqngTwUwALknpIRKVyk11GXpZ+BuADVf3XUds7R/3aNwBsaXz3iKhRxlN6ux7AGwDeA3DqPeHDAJYAuBojb+N3AFiWfZhn7au68bSn8aYG9t5qDw0N5ca8SwirbbMr+xLkXJVySZp6zvPexp8z88Z7mOzFMNmLacZk5x10REEw2YmCYLITBcFkJwqCyU4UBJOdKIhzZirpOktAzVyeSikB1c27pdVb2jhl395j1sznjaU3ouCY7ERBMNmJgmCyEwXBZCcKgslOFASTnSiIquvsfwSwc9Sm6RiZ2qoZNWvfmrVfAPtWVCP79heqeslYgUqT/QsHF+lV1fm1dcDQrH1r1n4B7FtRVfWNb+OJgmCyEwVRd7L31Hx8S7P2rVn7BbBvRVXSt1qv2YmoOnW/shNRRZjsREHUkuwiskhE/kdEPhKR7jr6kEdEdojIeyKyue716bI19AZEZMuobdNEZJ2IfJh9HXONvZr69piI7M7O3WYRubmmvs0Skd+LyFYReV9Evp1tr/XcGf2q5LxVfs0uIhMA/C+AvwXwCYCNAJao6tZKO5JDRHYAmK+qtd+AISJ/DeAwgF+o6l9l2/4JwF5VfTL7j3Kqqn6vSfr2GIDDdS/jna1W1Dl6mXEAtwH4e9R47ox+3YEKzlsdr+wLAHykqttVdQjArwAsrqEfTU9VNwDYe9rmxQBWZ9+vxsiTpXI5fWsKqtqnqm9n3x8CcGqZ8VrPndGvStSR7DMB7Br18ydorvXeFcDvRGSTiHTV3ZkxzBi1zNZnAGbU2ZkxuMt4V+m0Zcab5twVWf48FT+g+6LrVfVrAL4OYHn2drUp6cg1WDPVTn8C4CsYWQOwD8AP6+xMtsz4iwBWqOrB0bE6z90Y/arkvNWR7LsBzBr185eybU1BVXdnXwcAvIzmW4q6/9QKutnXgZr78/+aaRnvsZYZRxOcuzqXP68j2TcCmCsiXxaRiQC+CeCVGvrxBSLSln1wAhFpA7AQzbcU9SsAlmbfLwXwmxr78meaZRnvvGXGUfO5q335c1Wt/B+AmzHyifzHAB6pow85/fpLAP+d/Xu/7r4BWIORt3XHMfLZxrcAXAxgPYAPAfwngGlN1Ld/w8jS3u9iJLE6a+rb9Rh5i/4ugM3Zv5vrPndGvyo5b7xdligIfkBHFASTnSgIJjtREEx2oiCY7ERBMNmJgmCyEwXxf4U1FFbVmVAMAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 4\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 21.4078\n", "--------> Found distortion 20.8551\n", "--------> Found distortion 17.9650\n", "--------> Found distortion 16.5911\n", "--------> Found distortion 13.2291\n", "==========> Found best distortion 13.2291 in 0.1623 seconds using 213 queries\n", "Iteration 10 distortion 2.3195 num_queries 3060\n", "Iteration 20 distortion 1.6858 num_queries 5662\n", "Iteration 30 distortion 1.5328 num_queries 8063\n", "Iteration 40 distortion 1.4644 num_queries 10439\n", "Iteration 50 distortion 1.4300 num_queries 12819\n", "Iteration 60 distortion 1.4068 num_queries 15241\n", "Iteration 70 distortion 1.3986 num_queries 17628\n", "Iteration 80 distortion 1.3900 num_queries 19982\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.3900 target 9 queries 22214 LS queries 5001\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 5\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 12.1397\n", "--------> Found distortion 10.1095\n", "--------> Found distortion 10.0546\n", "--------> Found distortion 10.0294\n", "--------> Found distortion 9.9137\n", "--------> Found distortion 9.4115\n", "--------> Found distortion 9.0737\n", "==========> Found best distortion 9.0737 in 0.2309 seconds using 292 queries\n", "Iteration 10 distortion 2.4581 num_queries 3180\n", "Iteration 20 distortion 1.9452 num_queries 5758\n", "Iteration 30 distortion 1.8227 num_queries 8199\n", "Iteration 40 distortion 1.7706 num_queries 10589\n", "Iteration 50 distortion 1.7496 num_queries 12973\n", "Iteration 60 distortion 1.7348 num_queries 15324\n", "Iteration 70 distortion 1.7266 num_queries 17717\n", "Iteration 80 distortion 1.7222 num_queries 20092\n", "Iteration 90 distortion 1.7194 num_queries 22437\n", "Iteration 100 distortion 1.7171 num_queries 24812\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.7159 num_queries 27157\n", "Warning: not moving\n", "Iteration 120 distortion 1.7150 num_queries 29682\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 130 distortion 1.7150 num_queries 33018\n", "Warning: not moving\n", "Succeed distortion 1.7150 target 8 queries 33018 LS queries 6726\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 6\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 17.4475\n", "--------> Found distortion 17.0817\n", "--------> Found distortion 12.2394\n", "--------> Found distortion 9.4896\n", "--------> Found distortion 8.1227\n", "--------> Found distortion 7.6190\n", "==========> Found best distortion 7.6190 in 0.2042 seconds using 271 queries\n", "Iteration 10 distortion 1.3166 num_queries 3205\n", "Iteration 20 distortion 1.1370 num_queries 5722\n", "Iteration 30 distortion 1.0774 num_queries 8121\n", "Iteration 40 distortion 1.0484 num_queries 10496\n", "Iteration 50 distortion 1.0348 num_queries 12840\n", "Iteration 60 distortion 1.0282 num_queries 15137\n", "Iteration 70 distortion 1.0225 num_queries 17543\n", "Iteration 80 distortion 1.0185 num_queries 19882\n", "Iteration 90 distortion 1.0152 num_queries 22232\n", "Iteration 100 distortion 1.0126 num_queries 24554\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Warning: not moving\n", "Iteration 110 distortion 1.0111 num_queries 27143\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 120 distortion 1.0111 num_queries 30275\n", "Warning: not moving\n", "Succeed distortion 1.0111 target 8 queries 30715 LS queries 6244\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 7\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 9.3488\n", "--------> Found distortion 8.1129\n", "--------> Found distortion 7.0274\n", "==========> Found best distortion 7.0274 in 0.1817 seconds using 239 queries\n", "Iteration 10 distortion 1.6871 num_queries 3187\n", "Iteration 20 distortion 1.4176 num_queries 5712\n", "Iteration 30 distortion 1.3392 num_queries 8113\n", "Iteration 40 distortion 1.2988 num_queries 10538\n", "Iteration 50 distortion 1.2784 num_queries 12940\n", "Iteration 60 distortion 1.2624 num_queries 15284\n", "Iteration 70 distortion 1.2521 num_queries 17632\n", "Iteration 80 distortion 1.2450 num_queries 20005\n", "Iteration 90 distortion 1.2390 num_queries 22425\n", "Iteration 100 distortion 1.2358 num_queries 24775\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.2321 num_queries 27125\n", "Warning: not moving\n", "Iteration 120 distortion 1.2311 num_queries 29730\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.2311 target 4 queries 32093 LS queries 6654\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 8\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 15.9077\n", "--------> Found distortion 10.7278\n", "--------> Found distortion 10.5196\n", "==========> Found best distortion 10.5196 in 0.1872 seconds using 239 queries\n", "Iteration 10 distortion 1.6334 num_queries 3143\n", "Iteration 20 distortion 1.3695 num_queries 5655\n", "Iteration 30 distortion 1.3080 num_queries 8040\n", "Iteration 40 distortion 1.2788 num_queries 10368\n", "Iteration 50 distortion 1.2669 num_queries 12710\n", "Iteration 60 distortion 1.2587 num_queries 15120\n", "Iteration 70 distortion 1.2540 num_queries 17442\n", "Iteration 80 distortion 1.2506 num_queries 19806\n", "Iteration 90 distortion 1.2475 num_queries 22156\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 100 distortion 1.2462 num_queries 25387\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Warning: not moving\n", "Succeed distortion 1.2462 target 6 queries 25387 LS queries 5148\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 9\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 11.9660\n", "--------> Found distortion 9.6800\n", "--------> Found distortion 8.5663\n", "--------> Found distortion 7.0537\n", "==========> Found best distortion 7.0537 in 0.1843 seconds using 253 queries\n", "Iteration 10 distortion 1.3367 num_queries 3233\n", "Iteration 20 distortion 1.1319 num_queries 5731\n", "Iteration 30 distortion 1.0728 num_queries 8106\n", "Iteration 40 distortion 1.0469 num_queries 10515\n", "Iteration 50 distortion 1.0320 num_queries 12905\n", "Iteration 60 distortion 1.0142 num_queries 15260\n", "Warning: not moving\n", "Iteration 70 distortion 1.0049 num_queries 17769\n", "Warning: not moving\n", "Iteration 80 distortion 1.0048 num_queries 20297\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.0048 target 4 queries 21723 LS queries 4670\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 10\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 21.6580\n", "--------> Found distortion 20.1782\n", "--------> Found distortion 19.3321\n", "--------> Found distortion 17.9746\n", "==========> Found best distortion 17.9746 in 0.1674 seconds using 225 queries\n", "Iteration 10 distortion 3.3302 num_queries 3247\n", "Iteration 20 distortion 2.8202 num_queries 5697\n", "Iteration 30 distortion 2.6507 num_queries 8161\n", "Iteration 40 distortion 2.5916 num_queries 10572\n", "Iteration 50 distortion 2.5685 num_queries 12956\n", "Iteration 60 distortion 2.5538 num_queries 15366\n", "Iteration 70 distortion 2.5447 num_queries 17728\n", "Iteration 80 distortion 2.5395 num_queries 20103\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 90 distortion 2.5394 num_queries 23607\n", "Warning: not moving\n", "\n", "Failed: distortion 2.5394\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 11\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 12.1545\n", "--------> Found distortion 9.9638\n", "==========> Found best distortion 9.9638 in 0.1693 seconds using 227 queries\n", "Iteration 10 distortion 2.4090 num_queries 3178\n", "Iteration 20 distortion 1.9974 num_queries 5667\n", "Iteration 30 distortion 1.8683 num_queries 8123\n", "Iteration 40 distortion 1.8250 num_queries 10509\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 50 distortion 1.8057 num_queries 14107\n", "Warning: not moving\n", "Succeed distortion 1.8057 target 8 queries 14107 LS queries 3880\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 12\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 15.8934\n", "--------> Found distortion 9.4037\n", "--------> Found distortion 7.5033\n", "--------> Found distortion 7.0637\n", "==========> Found best distortion 7.0637 in 0.1907 seconds using 252 queries\n", "Iteration 10 distortion 1.3769 num_queries 3112\n", "Iteration 20 distortion 1.1851 num_queries 5638\n", "Iteration 30 distortion 1.1179 num_queries 8127\n", "Iteration 40 distortion 1.0975 num_queries 10502\n", "Iteration 50 distortion 1.0792 num_queries 12844\n", "Iteration 60 distortion 1.0612 num_queries 15214\n", "Iteration 70 distortion 1.0498 num_queries 17611\n", "Iteration 80 distortion 1.0290 num_queries 19990\n", "Iteration 90 distortion 1.0164 num_queries 22365\n", "Iteration 100 distortion 1.0063 num_queries 24706\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 0.9958 num_queries 27020\n", "Iteration 120 distortion 0.9884 num_queries 29431\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 130 distortion 0.9859 num_queries 32238\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 0.9859 target 4 queries 34491 LS queries 7039\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 13\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 25.7919\n", "--------> Found distortion 24.2437\n", "--------> Found distortion 23.4128\n", "--------> Found distortion 18.7014\n", "--------> Found distortion 17.6336\n", "--------> Found distortion 17.1406\n", "--------> Found distortion 16.6515\n", "==========> Found best distortion 16.6515 in 0.2107 seconds using 260 queries\n", "Iteration 10 distortion 3.7055 num_queries 3133\n", "Iteration 20 distortion 3.0857 num_queries 5688\n", "Iteration 30 distortion 2.9219 num_queries 8167\n", "Iteration 40 distortion 2.8529 num_queries 10525\n", "Iteration 50 distortion 2.8180 num_queries 12940\n", "Iteration 60 distortion 2.7999 num_queries 15323\n", "Iteration 70 distortion 2.7891 num_queries 17691\n", "Iteration 80 distortion 2.7813 num_queries 20051\n", "Iteration 90 distortion 2.7767 num_queries 22411\n", "Iteration 100 distortion 2.7741 num_queries 24741\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 2.7710 num_queries 27101\n", "Iteration 120 distortion 2.7693 num_queries 29521\n", "Iteration 130 distortion 2.7676 num_queries 31911\n", "Iteration 140 distortion 2.7667 num_queries 34316\n", "Iteration 150 distortion 2.7658 num_queries 36721\n", "Iteration 160 distortion 2.7649 num_queries 39036\n", "Iteration 170 distortion 2.7645 num_queries 41426\n", "Iteration 180 distortion 2.7639 num_queries 43756\n", "Iteration 190 distortion 2.7637 num_queries 46131\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 200 distortion 2.7637 num_queries 49410\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 2.7637\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 14\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 12.7663\n", "--------> Found distortion 10.7100\n", "--------> Found distortion 10.5904\n", "--------> Found distortion 10.1651\n", "--------> Found distortion 8.6264\n", "--------> Found distortion 8.5011\n", "--------> Found distortion 7.7726\n", "==========> Found best distortion 7.7726 in 0.2278 seconds using 292 queries\n", "Iteration 10 distortion 2.0969 num_queries 3113\n", "Iteration 20 distortion 1.7535 num_queries 5659\n", "Iteration 30 distortion 1.6577 num_queries 8066\n", "Iteration 40 distortion 1.6208 num_queries 10479\n", "Iteration 50 distortion 1.6035 num_queries 12827\n", "Iteration 60 distortion 1.5923 num_queries 15157\n", "Iteration 70 distortion 1.5874 num_queries 17493\n", "Iteration 80 distortion 1.5835 num_queries 19815\n", "Iteration 90 distortion 1.5808 num_queries 22221\n", "Iteration 100 distortion 1.5792 num_queries 24557\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAQWElEQVR4nO3df4hVZ37H8c83OhrjqHEqUaOmu11MIBSaDSIllWIJWbL+EbP/yAoplobO/rGBXdiQig1sSCmE0t2lfzQLsyTolk2WhSRoYGm1spjtP0s02MTEbPMDwzrxVzTG0fhrZr79Y45lEuc+z/Wce+65M9/3C4aZuc899zxzvB/Pvfd7nucxdxeAme+mpjsAoDsIOxAEYQeCIOxAEIQdCGJ2N3dmZnz0D9TM3W2q2yud2c3sQTP7vZm9b2ZbqzzWdGZmya9eVnffb7rpppZfTfetTr3Y99JhN7NZkv5N0jcl3S1ps5nd3amOAeisKmf2tZLed/cP3f2KpF9K2tiZbgHotCphXyHpD5N+P1rc9gVmNmhm+81sf4V9Aaio9g/o3H1I0pDEB3RAk6qc2YclrZr0+8riNgA9qErYX5e02sy+amZzJH1b0q7OdAtAp5V+Ge/uo2b2mKT/lDRL0vPu/naVzuRKElVG6OVKPePj46UfezqPHKy77xzX3mHd7FTuPft0DTvQS2q5qAbA9EHYgSAIOxAEYQeCIOxAEIQdCKKr49lzcqW1VGkuty2lNUxWZ5m3V3FmB4Ig7EAQhB0IgrADQRB2IAjCDgTRU6W3nFQ5JGIppR0cl6lV/bvrPK51PTZndiAIwg4EQdiBIAg7EARhB4Ig7EAQhB0IYlrV2VOi1oslafbs1v+MfX19yW23bduWbH/iiSeS7Xv37k22b9iwIdleRe5vGxsba9lWdchznc+3uh6bMzsQBGEHgiDsQBCEHQiCsANBEHYgCMIOBNFTq7hianPmzEm233LLLS3bRkdHk9vu27cv2X7vvfcm23MeeeSR0vvOjes+d+5csj31t1+6dCm5ba4OXzU3qVWFc4/dRvuUB67SRTVmdkTSiKQxSaPuvqbK4wGoTyeuoPsrd/+kA48DoEa8ZweCqBp2l7TbzA6Y2eBUdzCzQTPbb2b7K+4LQAVVX8avc/dhM7tN0h4ze9fdX5t8B3cfkjQk8QEd0KRKZ3Z3Hy6+n5T0iqS1negUgM4rHXYzm29mC679LOkbkg51qmMAOqvKy/ilkl4paqGzJb3g7v/RkV7hC1Lj1aV0nX3BggXJbavW0XMeeuihlm2HDx9ObpuqRUvS1atXk+2p8ey5bXM1/tRjS725hHjpsLv7h5L+rIN9AVAjSm9AEIQdCIKwA0EQdiAIwg4EEWaIa5NLF+dKSKnSmSTNmjUr2Z4aApsr23388cfJ9pxcCSvVt5UrVya3zf2bXLhwIdl++fLllm0XL15MbtvLUs+n8fHxlkNcObMDQRB2IAjCDgRB2IEgCDsQBGEHgiDsQBDTasnmVK28ySWbczX83NLCObk6+6lTp0o/9rvvvptsP3HiRLJ94cKFpfc9PDycbO/v70+25/7Nc9No1yn3nEipa3gsZ3YgCMIOBEHYgSAIOxAEYQeCIOxAEIQdCCLMePbcmPKcVK183rx5lR47Vw/OteeWH065//77k+2pJZel/Fj8F154oWXbzp07k9vm/s1y7anrE65cuZLctsnrNqpiPDsQHGEHgiDsQBCEHQiCsANBEHYgCMIOBDGtxrOn6qpV54WfP39+sj01/3quzp6aO70dx48fT7an+par0T/55JPJ9ty88nPnzq3UnnLzzTcn23Pj/FPtuedLbsx4br783DUAdS3ZnHqeZ8/sZva8mZ00s0OTbhswsz1m9l7xfXGH+gqgJu28jN8u6cEv3bZV0l53Xy1pb/E7gB6WDbu7vybpzJdu3ihpR/HzDkkPd7hfADqs7Hv2pe5+rPj5uKSlre5oZoOSBkvuB0CHVP6Azt09NcDF3YckDUnNDoQBoitbejthZsslqfh+snNdAlCHsmHfJWlL8fMWSemxigAal30Zb2YvSlovaYmZHZX0Q0nPSPqVmT0q6SNJm9rdYZX5tFO1ydw65Ln95sY3p2q2uZpprua6YMGCZHvOyMhIy7bTp08nt12xYkWy/ezZs8n2RYsWJdtvv/32lm233nprctvbbrst2V5ljoLc+uy5OQJSx1zKX9eRevy6xtJnw+7um1s0pWc9ANBTuFwWCIKwA0EQdiAIwg4EQdiBILo+xLWuskJuKGfVIbCpUs3Y2Fhy2wsXLiTbc3JDOVPDc8+dO5fcdvXq1cn2ZcuWJdtzQz0PHDjQsm3JkiXJbXPLQVcpeeZKkrnnQ9VllVPbV32utsKZHQiCsANBEHYgCMIOBEHYgSAIOxAEYQeCmFZTSVdRtS56+fLllm254bE5qceW8kNBU1MuDwwMlOrTNVWH3955550t2/r7+5Pb5oaZfvbZZ8n21LURn376aXLbnCp19Jy6rkXhzA4EQdiBIAg7EARhB4Ig7EAQhB0IgrADQVhdNb0pd8aKMKXkxrOvWrWqZdsdd9yR3Hbfvn2l+tSu1DUAufHqubH4uesTonL3KQfEc2YHgiDsQBCEHQiCsANBEHYgCMIOBEHYgSCos88AufnXU06dOlVp3+fPn0+2Vx0Pj+ul5sMfHx8vX2c3s+fN7KSZHZp021NmNmxmB4uvDaV6DaBr2nkZv13Sg1Pc/hN3v6f4+nVnuwWg07Jhd/fXJJ3pQl8A1KjKB3SPmdmbxcv8xa3uZGaDZrbfzPZX2BeAisqG/aeSvibpHknHJP2o1R3dfcjd17j7mpL7AtABpcLu7ifcfczdxyX9TNLaznYLQKeVCruZLZ/067ckHWp1XwC9ITtvvJm9KGm9pCVmdlTSDyWtN7N7JLmkI5K+U2Mfw8ut152atz63bc4HH3yQbE+tDV/V7Nnpp+fo6Ght+56JsmF3981T3PxcDX0BUCMulwWCIOxAEIQdCIKwA0EQdiCIri/ZnCoFdXO47Y1KDSvMSU2nLOWnis61p6ZUTi1bLEnHjx9Ptp85kx4Wcfbs2WR7FbklnXN/20ydajq3XHQrnNmBIAg7EARhB4Ig7EAQhB0IgrADQRB2IIiu19nrqqXn6uC5/c6ZM6d0e19fX3LbXJ08V4f//PPPk+2p/edq0bt3706233XXXcn2xYtbzkgmSXr88cdbtj377LPJbXNDXKtc+zCdlb1WJebRAgIi7EAQhB0IgrADQRB2IAjCDgRB2IEgul5nr0uujl61Jlt2DHE7+86Nuz59+nSyfe7cuTfcp3a3HRgYSLbnrk9YtmxZy7bc9QW55aBTU2jjepzZgSAIOxAEYQeCIOxAEIQdCIKwA0EQdiCIaVVnrzLnfK5Onqt1p5YHztV7c+Oyc/XmhQsXln78++67L7ntAw88kGzP/W2LFi1Ktqf+zUZGRpLbXr16Ndk+U1VdZruV7JndzFaZ2W/M7B0ze9vMvlfcPmBme8zsveJ7ehYDAI1q52X8qKQfuPvdkv5c0nfN7G5JWyXtdffVkvYWvwPoUdmwu/sxd3+j+HlE0mFJKyRtlLSjuNsOSQ/X1UkA1d3Qe3Yz+4qkr0v6naSl7n6saDouaWmLbQYlDZbvIoBOaPvTeDPrl/SSpO+7+7nJbT7x6diUn5C5+5C7r3H3NZV6CqCStsJuZn2aCPov3P3l4uYTZra8aF8u6WQ9XQTQCdmX8TZRB3hO0mF3//Gkpl2Stkh6pvi+s5YeTlJlGuqqU1iPjY2VapPSZTtJunTpUrI9N4w0NUz16aefTm6bmwo697flyoqp8lnVYclVhh33stxxKVuaa+c9+19I+mtJb5nZweK2bZoI+a/M7FFJH0naVKoHALoiG3Z3/29Jrf4rub+z3QFQFy6XBYIg7EAQhB0IgrADQRB2IIhpNcR1uqpa488Nv12/fn3LtnXr1lXad66OvmlTuuL66quvtmzL1Ytnah29qrLPJ87sQBCEHQiCsANBEHYgCMIOBEHYgSAIOxBET9XZq0yhW7WWPZ1VqUdv37492b51a3oe0dyyyrNmzWrZlrt+IOp49pyyU6pzZgeCIOxAEIQdCIKwA0EQdiAIwg4EQdiBIKyb9WkzS+4sV2ePXEtP6e/vb9k2b9685La5WnXumF+8eDHZnqqV55aDzvUtN6f9TJWrs7v7lHfgzA4EQdiBIAg7EARhB4Ig7EAQhB0IgrADQbSzPvsqST+XtFSSSxpy9381s6ck/Z2kU8Vdt7n7r6t0hjp6Oan13XNjxlPjzduRG3Oeas/tO7eu/UxVZV6HlHYmrxiV9AN3f8PMFkg6YGZ7irafuPu/1NIzAB3VzvrsxyQdK34eMbPDklbU3TEAnXVD79nN7CuSvi7pd8VNj5nZm2b2vJktbrHNoJntN7P9lXoKoJK2r403s35J+yT9k7u/bGZLJX2iiffx/yhpubv/beYxeFNeg9R6bLn3f3W/Z089/tWrV5Pb5j5vmKmf8VSdi7HStfFm1ifpJUm/cPeXiwc94e5j7j4u6WeS1pbuIYDaZcNuE//NPCfpsLv/eNLtyyfd7VuSDnW+ewA6Jfsy3szWSfqtpLckXRtzuE3SZkn3aOJl/BFJ3yk+zEs91sx83dXDci8J+/r6ku25l/m5Yaip/edKa7nHrnMq6arDrZscrt3qZXxPjWdH5xH2cmZi2LmCDgiCsANBEHYgCMIOBEHYgSAIOxBE10tvZZebLbYvvS3KyV0OW+W458pTUZdkzmEqaQBJhB0IgrADQRB2IAjCDgRB2IEgCDsQRDuzy3bSJ+7+0aTfl2hiaqu2dLmWfkN966Ku9usGa938e5bTyeP2x60aunpRzXU7N9vv7msa60BCr/atV/sl0beyutU3XsYDQRB2IIimwz7U8P5TerVvvdovib6V1ZW+NfqeHUD3NH1mB9AlhB0IopGwm9mDZvZ7M3vfzLY20YdWzOyImb1lZgebXp+uWEPvpJkdmnTbgJntMbP3iu9TrrHXUN+eMrPh4tgdNLMNDfVtlZn9xszeMbO3zex7xe2NHrtEv7py3Lr+nt3MZkn6X0kPSDoq6XVJm939na52pAUzOyJpjbs3fgGGmf2lpPOSfu7uf1rc9s+Szrj7M8V/lIvd/e97pG9PSTrf9DLexWpFyycvMy7pYUl/owaPXaJfm9SF49bEmX2tpPfd/UN3vyLpl5I2NtCPnufur0k686WbN0raUfy8QxNPlq5r0bee4O7H3P2N4ucRSdeWGW/02CX61RVNhH2FpD9M+v2oemu9d5e028wOmNlg052ZwtJJy2wdl7S0yc5MIbuMdzd9aZnxnjl2ZZY/r4oP6K63zt3vlfRNSd8tXq72JJ94D9ZLtdOfSvqaJtYAPCbpR012plhm/CVJ33f3c5Pbmjx2U/SrK8etibAPS1o16feVxW09wd2Hi+8nJb2i3luK+sS1FXSL7ycb7s//66VlvKdaZlw9cOyaXP68ibC/Lmm1mX3VzOZI+rakXQ304zpmNr/44ERmNl/SN9R7S1HvkrSl+HmLpJ0N9uULemUZ71bLjKvhY9f48ufF1LNd/ZK0QROfyH8g6R+a6EOLfv2JpP8pvt5uum+SXtTEy7qrmvhs41FJfyRpr6T3JP2XpIEe6tu/a2Jp7zc1EazlDfVtnSZeor8p6WDxtaHpY5foV1eOG5fLAkHwAR0QBGEHgiDsQBCEHQiCsANBEHYgCMIOBPF/MHLwcK5kRQYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.5782 num_queries 26879\n", "Iteration 120 distortion 1.5768 num_queries 29187\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 130 distortion 1.5765 num_queries 32468\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.5765 target 8 queries 33004 LS queries 6512\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 15\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 11.2962\n", "--------> Found distortion 9.5560\n", "--------> Found distortion 8.8748\n", "==========> Found best distortion 8.8748 in 0.1786 seconds using 240 queries\n", "Iteration 10 distortion 1.4790 num_queries 3223\n", "Iteration 20 distortion 1.0631 num_queries 5796\n", "Iteration 30 distortion 0.9798 num_queries 8258\n", "Iteration 40 distortion 0.9472 num_queries 10704\n", "Iteration 50 distortion 0.9285 num_queries 13048\n", "Iteration 60 distortion 0.9162 num_queries 15391\n", "Iteration 70 distortion 0.9076 num_queries 17749\n", "Iteration 80 distortion 0.9032 num_queries 20088\n", "Iteration 90 distortion 0.8987 num_queries 22399\n", "Iteration 100 distortion 0.8954 num_queries 24752\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 0.8948 target 3 queries 27401 LS queries 5761\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 16\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 11.5925\n", "--------> Found distortion 11.5083\n", "--------> Found distortion 10.1210\n", "--------> Found distortion 9.1166\n", "==========> Found best distortion 9.1166 in 0.1998 seconds using 252 queries\n", "Iteration 10 distortion 1.4820 num_queries 3243\n", "Iteration 20 distortion 1.2493 num_queries 5794\n", "Iteration 30 distortion 1.1715 num_queries 8188\n", "Iteration 40 distortion 1.1266 num_queries 10547\n", "Iteration 50 distortion 1.1022 num_queries 12963\n", "Iteration 60 distortion 1.0883 num_queries 15334\n", "Iteration 70 distortion 1.0782 num_queries 17688\n", "Warning: not moving\n", "Iteration 80 distortion 1.0709 num_queries 20168\n", "Warning: not moving\n", "Iteration 90 distortion 1.0705 num_queries 23009\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.0705 target 4 queries 24532 LS queries 5480\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 17\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 18.8420\n", "--------> Found distortion 15.3407\n", "--------> Found distortion 14.2087\n", "--------> Found distortion 13.2868\n", "--------> Found distortion 12.4045\n", "==========> Found best distortion 12.4045 in 0.1879 seconds using 240 queries\n", "Iteration 10 distortion 2.7701 num_queries 3221\n", "Iteration 20 distortion 2.3387 num_queries 5769\n", "Iteration 30 distortion 2.2176 num_queries 8204\n", "Iteration 40 distortion 2.1659 num_queries 10619\n", "Iteration 50 distortion 2.1391 num_queries 13047\n", "Iteration 60 distortion 2.1205 num_queries 15398\n", "Iteration 70 distortion 2.1084 num_queries 17794\n", "Iteration 80 distortion 2.1006 num_queries 20169\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 90 distortion 2.0958 num_queries 23569\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 2.0957\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAASEklEQVR4nO3dbYxV5bUH8P9ieJlhIBGBTkaLt1jmg3pN6c2EVDE3vVErqAkSEwPGylVypx8wobEfrlGT+kVjbm7b9MNNzaCm9KbaNGm98kHuLRKCErFhNFwFbQUVhMkwvArD6/Cy+mG2zYiz1zqe5+yzN6z/LyFz5qzZZ6/Zcxb7nLP28zyiqiCiy9+4shMgouZgsRMFwWInCoLFThQEi50oiPHN3JmI8KP/y4yImPGo3Z4yj4uqjrnzpGIXkQUAfgmgBcDzqvqst01LS0tu7Pz58ynpFGrcuPwXQRcuXGhiJs3lPWknTpxoxs+ePZsb847bpfwfyYQJE8y4dVxSfm8rVvfLeBFpAfBfABYCuB7AUhG5vt7HI6Jipbxnnwdgp6p+oqrDAH4HYFFj0iKiRksp9qsB7Bn1/d7svi8RkR4R6RORvoR9EVGiwj+gU9VeAL0AP6AjKlPKmb0fwKxR338zu4+IKiil2LcA6BKR2SIyEcASAGsakxYRNVrdL+NV9ZyIPALg/zDSentRVbd721ntNau9BaS1uLx2Rsq+rXYi4LcUU7f3fjeL177yWkgp+/aU2VobP94uDe+5ODw8XPfje49ttTut/Sa9Z1fV1wC8lvIYRNQcvFyWKAgWO1EQLHaiIFjsREGw2ImCYLETBSHN7GV6l8t6wyWtHmLqcMiU7VP37fWyvb6rdY3AuXPnkvbt9firPCw5qrzx7DyzEwXBYicKgsVOFASLnSgIFjtRECx2oiCaOpW0x2vjFDnDa0oLMrV9ac00WgvruHhDd1tbW82417rzHv/EiRO5Ma/VeubMmaR9p7QkPV7u3uNbz9eUmWktPLMTBcFiJwqCxU4UBIudKAgWO1EQLHaiIFjsREFUaojr5Sp1COyUKVPMuNWXTZmWuBZez9fa//Hjx81tU6exPn36dG7M69GnDon2FDk1OYe4EgXHYicKgsVOFASLnSgIFjtRECx2oiBY7ERBVGo8e2p/saq8nq3X625razPjVj86dcy4t++TJ0+a8UmTJuXGJk+ebG7r9bJPnTplxq3j7v3entQ+vBUval6HpGIXkV0AhgCcB3BOVbtTHo+IitOIM/u/qOrBBjwOERWI79mJgkgtdgXwJxF5R0R6xvoBEekRkT4R6UvcFxElSH0Zf4uq9ovINwCsE5G/qOobo39AVXsB9AJxB8IQVUHSmV1V+7Ov+wG8AmBeI5Iiosaru9hFpF1Epn5xG8APAGxrVGJE1FgpL+M7ALyS9QvHA3hJVf/X28jqEV6qffSieT1hq5de5Jz0tcStawC8Hr3Xh/fGw3u5pfAeO2Udg6LyrrvYVfUTAN9pYC5EVCC23oiCYLETBcFiJwqCxU4UBIudKIimD3G1hvYVuQTvbbfdZsZfeuklM261kA4fPmxuO3PmTDNuTXkMAG+//bYZtxw4cMCMP/PMM2b89ttvT3r8zZs358a8Vuvu3bvNeJm81lrq9OEpj52HZ3aiIFjsREGw2ImCYLETBcFiJwqCxU4UBIudKIim99mt3qo3lbTXS7fMmTPHjE+dOtWMHzlyJDfW3t5ubnvwoD0f5/jx9p9h3jx7ThBre28q6ZtvvtmMe8NMvdzffPPN3Njrr79ubrtlyxYzvmfPHjPuXf9QpJSppotaLppndqIgWOxEQbDYiYJgsRMFwWInCoLFThQEi50oCEkZV/u1d+asCOP1D60x5R7v93zggQfM+DXXXJMb++yzz8xtvXHb3vUF3lh8q8/vjZXv6uoy41dccYUZHx4eNuPWssre/AXHjh0z497zxRqrv3btWnPbMnnXRnjHXFXHPDA8sxMFwWInCoLFThQEi50oCBY7URAsdqIgWOxEQTS9z271VlP67F4/ubW11Yx7SxtbvU+rlwwUO4e4Z9KkSWb8uuuuM+PeWHqvV37HHXfkxm644QZz28HBQTPusXKbP39+0mOXyRsLX3efXUReFJH9IrJt1H1Xisg6EdmRfZ1WV9ZE1DS1vIz/NYAFF933GID1qtoFYH32PRFVmFvsqvoGgIvn91kEYHV2ezWAexqcFxE1WL1z0HWo6kB2ex+AjrwfFJEeAD117oeIGiR5wklVVWuAi6r2AugF/IEwRFSceltvgyLSCQDZ1/2NS4mIilBvsa8BsCy7vQzAq41Jh4iK4vbZReRlAN8HMAPAIICfAvgfAL8HcA2A3QDuU1V3ku4iX8Z7/V5vjLC33rY1htjbt/fYqazfzfv7TpkyxYx7c/V7Y6vPnDmTG/Pm6n/44YfN+PLly834tGn5HeHnnnvO3Pbpp5824x5vPv2U54S3bV6f3X3PrqpLc0K3+mkRUVXwclmiIFjsREGw2ImCYLETBcFiJwqiUlNJp/BaHSnLPQNpS+wWzcrNazm2tbWZcW8abKu1Bti5edt2dORehQ0A2L59uxm3LFhw8diuL+vr6zPj3pBpj/V89Fpr9bbeeGYnCoLFThQEi50oCBY7URAsdqIgWOxEQbDYiYJInqnm67KWJ/Z6upaUbWtRdi/dYuXm9bI93nLS3nGxprL2clu6NG/A5Yjp06ebccv9999vxr0+u7d8uDf01zqu3jG3nutW/55ndqIgWOxEQbDYiYJgsRMFwWInCoLFThQEi50oiEtqPLs1ZXPR0zVfqrxprr0lnb1+snd9w4kTJ3Jjc+bMMbfdvHmzGZ8xY4YZP3ToUG6sq6vL3Pbo0aNm3Hu+ecfVusYgdYlvjmcnCo7FThQEi50oCBY7URAsdqIgWOxEQbDYiYJo+nj2lF55lceUV5V3TL0++dmzZ814ynz8N910kxn35rz/+OOPzfiqVatyY0eOHDG39Xi98JR5BIp6nrtndhF5UUT2i8i2Ufc9JSL9IrI1+3dnIdkRUcPU8jL+1wDGWj7jF6o6N/v3WmPTIqJGc4tdVd8AcLgJuRBRgVI+oHtERN7LXuZPy/shEekRkT4RsSf1IqJC1VvsvwLwbQBzAQwA+FneD6pqr6p2q2p3nfsiogaoq9hVdVBVz6vqBQCrAMxrbFpE1Gh1FbuIdI76djGAbXk/S0TV4I5nF5GXAXwfwAwAgwB+mn0/F4AC2AXgR6o64O7MGc+eOo43RdHru5elzGMK2L3ytWvXJj328ePHzfiiRYuSHr9I1t8l9W+SN57dvahGVceaqf+FpGyIqOl4uSxRECx2oiBY7ERBsNiJgmCxEwXR9CGuRfGGQ3rtDG8o56U6jXVqG8ebitr73R999NHc2OnTp81th4aGzPiTTz5pxqvM+rsU1S7lmZ0oCBY7URAsdqIgWOxEQbDYiYJgsRMFwWInCqJSU0nXMNw2N+b12b2ebnt7uxm3lh72ludtaWkx4ydPnjTjHuu4eD1br0/uxVeuXGnGb7311tyY9zc7cOCAGd+5c6cZv1R5dVDvNR88sxMFwWInCoLFThQEi50oCBY7URAsdqIgWOxEQbhTSTd0ZyKaMi7c6st6vWyvj+6N27b69BMmTDC39ZbvnTx5shn3euXTp0+v+7H37t1rxu+66y4z/vzzz5txy44dO8z4woULzfinn35qxq3pwb35C7y68K6t8J7L3v4t3jTUeVNJ88xOFASLnSgIFjtRECx2oiBY7ERBsNiJgmCxEwXR9PHsKXOsDw8P58a8PvqpU6fMuDe22uqreuOuOzo6kuLectJW3BqHDwArVqww40888YQZT7Fx40YzPnv2bDM+c+ZMM25dO3Ho0CFz27a2NjP++eefm3FvOWlr/941I/UuH+6e2UVklohsEJEPRGS7iKzM7r9SRNaJyI7s67S6MiCipqjlZfw5AD9R1esBfA/AChG5HsBjANaraheA9dn3RFRRbrGr6oCqvpvdHgLwIYCrASwCsDr7sdUA7ikqSSJK97Xes4vItwB8F8CfAXSo6kAW2gdgzDeeItIDoKf+FImoEWr+NF5EpgD4A4Afq+qx0TEdGTUw5sgBVe1V1W5V7U7KlIiS1FTsIjIBI4X+W1X9Y3b3oIh0ZvFOAPuLSZGIGsF9GS8j4+leAPChqv58VGgNgGUAns2+vpqajNdysFop3jBSr31ltfW87a+66ipzW6+NM2vWLDPuufbaa3Nj3lBKr7XmDa/1HD16NDf21ltvmdt6x82bHtza3tvWG/LsPVe955ul3taap5aM5gP4IYD3RWRrdt/jGCny34vIcgC7AdxXSIZE1BBusavqJgB5/73nrwBARJXCy2WJgmCxEwXBYicKgsVOFASLnSiIpg9xtXi9TWt6X2/orNdX9fqm1lDR1tZWc1uPNxV1yjTYDz30kLltah/dm3L57rvvzo15/WTv2gdv+K71N92zZ4+57dDQkBnv7Ow0415u1jUAqUt45+GZnSgIFjtRECx2oiBY7ERBsNiJgmCxEwXBYicKolJ99pRlbFOdP3++7m29Hr5n3759Ztzr43d3508CtHjx4rpy+oLXC7/33nvN+KZNm3JjU6dONbf1et3eNQLWcfOmFveuuxgYGDDj3t/Mui7E+73qXWadZ3aiIFjsREGw2ImCYLETBcFiJwqCxU4UBIudKAipt2dXj3Hjxqk1n3aZffYqs5aLBoCPPvooN5Y61n7Dhg1mfMmSJUmPb0ntN1u98pTrKmrhzc1g9dlTtgUAVR3zwPHMThQEi50oCBY7URAsdqIgWOxEQbDYiYJgsRMFUcv67LMA/AZABwAF0KuqvxSRpwD8G4AD2Y8+rqqvWY+lqoX3Ny9HN954oxmfOHFibsxbt37jxo1m/MEHHzTjRUq9BqTM55rXC7euIfC2rVctk1ecA/ATVX1XRKYCeEdE1mWxX6jqfxaSGRE1VC3rsw8AGMhuD4nIhwCuLjoxImqsr/WeXUS+BeC7AP6c3fWIiLwnIi+KyLScbXpEpE9E+pIyJaIkNRe7iEwB8AcAP1bVYwB+BeDbAOZi5Mz/s7G2U9VeVe1W1fyJ0oiocDUVu4hMwEih/1ZV/wgAqjqoqudV9QKAVQDmFZcmEaVyi11GPjZ8AcCHqvrzUfePXsZyMYBtjU+PiBqllk/j5wP4IYD3RWRrdt/jAJaKyFyMtON2AfhRLTu02ine0sTeMriXq/7+fjN+8ODB3Ni2bfb/wT09PWa8mUOgL5Y61JO+rJZP4zcBGKspaPbUiahaeAUdURAsdqIgWOxEQbDYiYJgsRMFwWInCqKpU0mLiLkza5ppwF8+OEWRU/96y/+mTqFtDZcss0/u8Y6bl3vK7+bt24t7w2e93KzneurznFNJEwXHYicKgsVOFASLnSgIFjtRECx2oiBY7ERBNLvPfgDA7lF3zQCQPxi7XFXNrap5AcytXo3M7R9UdeZYgaYW+1d2LtJX1bnpqppbVfMCmFu9mpUbX8YTBcFiJwqi7GLvLXn/lqrmVtW8AOZWr6bkVup7diJqnrLP7ETUJCx2oiBKKXYRWSAifxWRnSLyWBk55BGRXSLyvohsLXt9umwNvf0ism3UfVeKyDoR2ZF9HXONvZJye0pE+rNjt1VE7iwpt1kiskFEPhCR7SKyMru/1GNn5NWU49b09+wi0gLgIwC3A9gLYAuApar6QVMTySEiuwB0q2rpF2CIyD8DOA7gN6r6j9l9/wHgsKo+m/1HOU1V/70iuT0F4HjZy3hnqxV1jl5mHMA9AP4VJR47I6/70ITjVsaZfR6Anar6iaoOA/gdgEUl5FF5qvoGgMMX3b0IwOrs9mqMPFmaLie3SlDVAVV9N7s9BOCLZcZLPXZGXk1RRrFfDWDPqO/3olrrvSuAP4nIOyJir41Ujg5VHchu7wPQUWYyY3CX8W6mi5YZr8yxq2f581T8gO6rblHVfwKwEMCK7OVqJenIe7Aq9U5rWsa7WcZYZvzvyjx29S5/nqqMYu8HMGvU99/M7qsEVe3Pvu4H8AqqtxT14Bcr6GZf95ecz99VaRnvsZYZRwWOXZnLn5dR7FsAdInIbBGZCGAJgDUl5PEVItKefXACEWkH8ANUbynqNQCWZbeXAXi1xFy+pCrLeOctM46Sj13py5+ratP/AbgTI5/IfwzgiTJyyMnrWgD/n/3bXnZuAF7GyMu6sxj5bGM5gOkA1gPYAeB1AFdWKLf/BvA+gPcwUlidJeV2C0Zeor8HYGv2786yj52RV1OOGy+XJQqCH9ARBcFiJwqCxU4UBIudKAgWO1EQLHaiIFjsREH8Dc3Orwrsin9GAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 18\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 15.0548\n", "--------> Found distortion 14.9795\n", "--------> Found distortion 9.3201\n", "--------> Found distortion 8.4094\n", "--------> Found distortion 8.0645\n", "==========> Found best distortion 8.0645 in 0.2130 seconds using 265 queries\n", "Iteration 10 distortion 1.4835 num_queries 3145\n", "Iteration 20 distortion 1.3106 num_queries 5541\n", "Iteration 30 distortion 1.2145 num_queries 7954\n", "Iteration 40 distortion 1.1601 num_queries 10402\n", "Iteration 50 distortion 1.1252 num_queries 12881\n", "Iteration 60 distortion 1.1007 num_queries 15284\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 70 distortion 1.0921 num_queries 18294\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.0921 target 8 queries 20425 LS queries 4960\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 19\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 18.0859\n", "--------> Found distortion 17.3496\n", "--------> Found distortion 13.9854\n", "==========> Found best distortion 13.9854 in 0.1578 seconds using 207 queries\n", "Iteration 10 distortion 2.2534 num_queries 3217\n", "Iteration 20 distortion 1.7453 num_queries 5785\n", "Iteration 30 distortion 1.6320 num_queries 8247\n", "Iteration 40 distortion 1.5946 num_queries 10591\n", "Iteration 50 distortion 1.5735 num_queries 12923\n", "Iteration 60 distortion 1.5623 num_queries 15239\n", "Iteration 70 distortion 1.5553 num_queries 17608\n", "Iteration 80 distortion 1.5503 num_queries 19930\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.5494 target 9 queries 23072 LS queries 5265\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 20\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 13.0128\n", "--------> Found distortion 11.6221\n", "--------> Found distortion 11.3277\n", "--------> Found distortion 8.9500\n", "--------> Found distortion 8.0836\n", "==========> Found best distortion 8.0836 in 0.2296 seconds using 266 queries\n", "Iteration 10 distortion 1.2657 num_queries 3185\n", "Iteration 20 distortion 1.0774 num_queries 5733\n", "Iteration 30 distortion 0.9915 num_queries 8206\n", "Iteration 40 distortion 0.9519 num_queries 10581\n", "Iteration 50 distortion 0.9334 num_queries 12927\n", "Iteration 60 distortion 0.9166 num_queries 15273\n", "Iteration 70 distortion 0.9050 num_queries 17660\n", "Iteration 80 distortion 0.8961 num_queries 20057\n", "Iteration 90 distortion 0.8919 num_queries 22396\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 100 distortion 0.8887 num_queries 25423\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 0.8887 target 7 queries 26719 LS queries 5853\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 21\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 15.8862\n", "--------> Found distortion 13.1403\n", "--------> Found distortion 12.4481\n", "--------> Found distortion 10.2562\n", "--------> Found distortion 10.1710\n", "==========> Found best distortion 10.1710 in 0.1920 seconds using 265 queries\n", "Iteration 10 distortion 2.2371 num_queries 3186\n", "Iteration 20 distortion 1.8875 num_queries 5719\n", "Iteration 30 distortion 1.7459 num_queries 8158\n", "Iteration 40 distortion 1.7145 num_queries 10572\n", "Iteration 50 distortion 1.6953 num_queries 12936\n", "Iteration 60 distortion 1.6821 num_queries 15284\n", "Iteration 70 distortion 1.6712 num_queries 17620\n", "Iteration 80 distortion 1.6649 num_queries 19980\n", "Iteration 90 distortion 1.6601 num_queries 22295\n", "Iteration 100 distortion 1.6547 num_queries 24640\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 110 distortion 1.6542 num_queries 27567\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.6540 target 8 queries 30277 LS queries 6412\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 22\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 18.2294\n", "--------> Found distortion 15.8489\n", "--------> Found distortion 14.4772\n", "--------> Found distortion 13.5335\n", "--------> Found distortion 12.9801\n", "--------> Found distortion 11.5699\n", "==========> Found best distortion 11.5699 in 0.2109 seconds using 276 queries\n", "Iteration 10 distortion 2.7582 num_queries 3230\n", "Iteration 20 distortion 2.2185 num_queries 5754\n", "Iteration 30 distortion 2.0763 num_queries 8190\n", "Iteration 40 distortion 2.0248 num_queries 10591\n", "Iteration 50 distortion 1.9930 num_queries 12970\n", "Iteration 60 distortion 1.9732 num_queries 15308\n", "Iteration 70 distortion 1.9646 num_queries 17668\n", "Iteration 80 distortion 1.9591 num_queries 20028\n", "Iteration 90 distortion 1.9547 num_queries 22403\n", "Iteration 100 distortion 1.9513 num_queries 24733\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.9486 num_queries 27123\n", "Iteration 120 distortion 1.9448 num_queries 29528\n", "Iteration 130 distortion 1.9397 num_queries 31933\n", "Iteration 140 distortion 1.9366 num_queries 34368\n", "Iteration 150 distortion 1.9343 num_queries 36728\n", "Iteration 160 distortion 1.9323 num_queries 39118\n", "Warning: not moving\n", "Iteration 170 distortion 1.9307 num_queries 41718\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.9306 target 8 queries 44669 LS queries 8793\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 23\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 15.3467\n", "--------> Found distortion 11.7854\n", "--------> Found distortion 11.4984\n", "==========> Found best distortion 11.4984 in 0.1714 seconds using 240 queries\n", "Iteration 10 distortion 2.8823 num_queries 3138\n", "Iteration 20 distortion 2.3937 num_queries 5575\n", "Iteration 30 distortion 2.2899 num_queries 8006\n", "Iteration 40 distortion 2.2534 num_queries 10403\n", "Iteration 50 distortion 2.2331 num_queries 12788\n", "Iteration 60 distortion 2.2199 num_queries 15186\n", "Iteration 70 distortion 2.2131 num_queries 17531\n", "Iteration 80 distortion 2.2094 num_queries 19876\n", "Iteration 90 distortion 2.2071 num_queries 22236\n", "Iteration 100 distortion 2.2048 num_queries 24566\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 2.2032 num_queries 26881\n", "Iteration 120 distortion 2.2021 num_queries 29196\n", "Iteration 130 distortion 2.2011 num_queries 31541\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 2.2011\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 24\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 17.9779\n", "--------> Found distortion 17.0458\n", "--------> Found distortion 15.1341\n", "--------> Found distortion 14.3849\n", "--------> Found distortion 14.0434\n", "--------> Found distortion 14.0237\n", "--------> Found distortion 11.9643\n", "==========> Found best distortion 11.9643 in 0.2146 seconds using 265 queries\n", "Iteration 10 distortion 1.5322 num_queries 3236\n", "Iteration 20 distortion 1.1778 num_queries 5738\n", "Iteration 30 distortion 1.1006 num_queries 8060\n", "Iteration 40 distortion 1.0719 num_queries 10375\n", "Iteration 50 distortion 1.0564 num_queries 12754\n", "Warning: not moving\n", "Iteration 60 distortion 1.0547 num_queries 15439\n", "Iteration 70 distortion 1.0541 num_queries 18000\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 80 distortion 1.0539 num_queries 20996\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.0539 target 9 queries 21911 LS queries 5046\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 25\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 18.2700\n", "==========> Found best distortion 18.2700 in 0.1217 seconds using 163 queries\n", "Iteration 10 distortion 3.2202 num_queries 3222\n", "Iteration 20 distortion 2.5167 num_queries 5807\n", "Iteration 30 distortion 2.3668 num_queries 8243\n", "Iteration 40 distortion 2.2986 num_queries 10612\n", "Iteration 50 distortion 2.2634 num_queries 12995\n", "Iteration 60 distortion 2.2373 num_queries 15412\n", "Iteration 70 distortion 2.2206 num_queries 17765\n", "Iteration 80 distortion 2.2034 num_queries 20112\n", "Iteration 90 distortion 2.1890 num_queries 22487\n", "Iteration 100 distortion 2.1823 num_queries 24892\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 2.1768 num_queries 27239\n", "Iteration 120 distortion 2.1739 num_queries 29629\n", "Iteration 130 distortion 2.1692 num_queries 32021\n", "Iteration 140 distortion 2.1645 num_queries 34411\n", "Iteration 150 distortion 2.1618 num_queries 36756\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 160 distortion 2.1613 num_queries 39695\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 2.1613\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAATJUlEQVR4nO3da4xVVZYH8P8CeVkFCJYQovho5YP4QiFkfGR8xdYmGiEkptW0GsnQxjbBpKMYjLZ+mGhmpqfTH0ZN9TQBxxYj2nZrAk4zaqD9YniEQcCZ8RGwKYuiERCKV1FVaz7UoVNinbWKs+895+L6/xJSVWfVvmfXOXdx7r3r7L1FVUFE339Dqu4AEZWDyU4UBJOdKAgmO1EQTHaiIE4rc2ciwo/+TzEiYsZZzSmfdU5UFao64C8kJbuI3Abg1wCGAvh3VX3eazNkSP6Lid7eXrPt0KFDC7f11PNJa/UbAHp6epIeP+WYek47zX6KHDt2rPBjW/0G0vuewuub93zx4tZzwns+DB8+PDfW1dWVGyv8Ml5EhgL4NwA/AjAVwN0iMrXo4xFRfaW8Z58J4DNV/UJVuwC8BuDO2nSLiGotJdnPBvCXfj/vyLZ9i4jMF5F1IrIuYV9ElKjuH9CpaiuAVoAf0BFVKeXK3gZgcr+fz8m2EVEDSkn2tQCmiMgFIjIcwI8BvF2bbhFRrRV+Ga+q3SLyCID/RF/pbbGqbvHaWTVCr6ZrlWJS2gJ+icnilUq8uNf3eh6XYcOGmXGvBNXd3W3GrRKT19Y7J95xtcpf9S6HelIe3zpu1t+c9J5dVVcAWJHyGERUDt4uSxQEk50oCCY7URBMdqIgmOxEQTDZiYIodTw74Nd9LVYNMXWIqlfztXi1aK+m6+075W/z2nq17EOHDhXeN5B2XK2hnID/XLKGe3pt611nTxmWXLRvvLITBcFkJwqCyU4UBJOdKAgmO1EQTHaiIKTMqYC9mWq84ZbWTKb1nqnUK59ZUss8I0aMMONHjx7NjdX7/KZMNT1hwoTCbQG/NGcdV++YHjhwwIwfPHiw8L4BuySZUsrt7u5Gb2/vgCeFV3aiIJjsREEw2YmCYLITBcFkJwqCyU4UBJOdKIjSh7haUlYETVkBFkgb0ug9tlc39erF1lDNeps9e7YZv++++8z48uXLc2Njxowx244cOdKMNzc3m/HVq1fnxr788kuz7ejRo82491z1zpm37HLKvvPwyk4UBJOdKAgmO1EQTHaiIJjsREEw2YmCYLITBVH6ePaUKXRTpC5NbLXv7Ow027a0tJhxr07vxa2x1YcPHzbbetra2sz4zp07zbg1VfVFF11UuO1grFmzJjf24IMPmm29WrZXpx87dqwZ/+abb8y4xXo+9PT0QFUHLOInHU0R2QbgAIAeAN2qOiPl8YiofmpxB92Nqrq7Bo9DRHXE9+xEQaQmuwL4k4isF5H5A/2CiMwXkXUisi5xX0SUIPVl/HWq2iYiEwCsEpH/UdVvfSqiqq0AWgF/wkkiqp+kK7uqtmVfdwF4C8DMWnSKiGqvcLKLSJOIjD7+PYAfAthcq44RUW0VrrOLyA/QdzUH+t4OvKqq/+i00ZRxvBavJuvV8L0x5dbYa68O3t7ebsZnzLArlpdeeqkZ7+joyI2tXLnSbOtZv369Gd+yZYsZP//883NjX3/9tdn26quvNuNNTU1m3Brv7i0lfccdd5jxDz74wIxbc/l7vOeT9VxW1drX2VX1CwBXFG1PROVi6Y0oCCY7URBMdqIgmOxEQTDZiYIofSrplPKaVbbzpoJOXf7XGvJ4+umnm22t8hMALFq0yIzPmTPHjFtuuukmM+6VkF5//XUzfuWVV5rxvXv35sa8qaK94bVeeevCCy/MjXml2B07diTtO2Xq8pRpzS28shMFwWQnCoLJThQEk50oCCY7URBMdqIgmOxEQZRaZxcRcyiqN32vVWdPnYba27c1XbRXU3366afNuFdHT1nC99prrzXbenX2N954w4xfcYU98HHKlCm5Ma+e7N37YE2hDQBHjhzJje3bt89s++yzz5rxuXPnmvF61cpT8MpOFASTnSgIJjtREEx2oiCY7ERBMNmJgmCyEwVRap1dVd16tsWqpVs1+MFIWdr4ySefNOMPP/ywGffq6N7fZh2Xa665xmzrjSn//PPPzfg999xjxt9///3c2I033mi2Xbx4sRm/+OKLzbi1bLI3jfU555xjxqdNm2bGN27caMarwCs7URBMdqIgmOxEQTDZiYJgshMFwWQnCoLJThRE4SWbC+1MpLydnSRvTPpTTz2VG3vsscfMtt688lXyxtK/8847Zvyyyy4z45MnT86NnXvuuWbb1atXm3FrvDoAvPDCC7mxCRMmmG27urrM+FtvvWXGn3vuOTNu3TsxZEjxa3BPT0/uks3uo4rIYhHZJSKb+20bLyKrROTT7Ou4wr0jolIM5r+QJQBuO2HbEwDeU9UpAN7LfiaiBuYmu6quAbDnhM13Aliafb8UwOwa94uIaqzovfETVbU9+34ngIl5vygi8wHML7gfIqqR5IEwqqrWB2+q2gqgFWjsD+iIvu+KfuzXISKTACD7uqt2XSKieiia7G8DuD/7/n4Af6xNd4ioXtw6u4gsA3ADgBYAHQB+AeAPAF4HcC6A7QDuUtUTP8Qb6LE0Zdx5Pe8JmD59uhl/9913c2MtLS217k7N7N+/34xff/31ZtxbI92rlVvnu729PTcGAOPG2RVd72+z2r/yyitmW2/ehe3bt5vxhx56yIx3dHSY8RR5dXb3Pbuq3p0TujmpR0RUKt4uSxQEk50oCCY7URBMdqIgmOxEQZQ6lTRQ3/JZijPPPNOMjxgxIjfmDYf0lh5O1d3dnRu76qqrzLY7duxI2rdXgho2bFhu7OjRo4XbAv7032PGjMmNNTU1JT32JZdcYsanTp1qxutZesvDKztREEx2oiCY7ERBMNmJgmCyEwXBZCcKgslOFETpdfZG9fLLLxdu69XZvSmPvamDvfhLL72UG/OWXE7l1cpTeENYrfsLAGD58uW5Me+c7Nljj9j2pqJOWQK8XnhlJwqCyU4UBJOdKAgmO1EQTHaiIJjsREEw2YmCaKg6uzfNdD3Hwo8cOdKMW+PZd+/ebbbdt2+fGffqxdY01gCwcOFCM16llKnDvfHs3vPBWirbu3fhvPPOS9r3aac1VGoB4JWdKAwmO1EQTHaiIJjsREEw2YmCYLITBcFkJwqioYqBVc4p780jbtXKR40aZbYdOnSoGV+7dq0Zb+Q6usc6p/fee6/Z1ltW2dPZ2Zkb8+6NsO6rAIAlS5aY8Q8//NCMp7DuXbCOt3tlF5HFIrJLRDb32/aMiLSJyMbs36yT7TARlWswL+OXALhtgO2/UtVp2b8Vte0WEdWam+yqugaAPUcPETW8lA/oHhGRTdnL/HF5vyQi80VknYisS9gXESUqmuwvArgQwDQA7QB+mfeLqtqqqjNUdUbBfRFRDRRKdlXtUNUeVe0F8BsAM2vbLSKqtULJLiKT+v04B8DmvN8losbg1tlFZBmAGwC0iMgOAL8AcIOITAOgALYB+Olgd2jVnHt7e822Vg3RG/vs1U298cctLS1m3LJ37966PbbH+7u9ed/Hjh1rxhcsWGDG586dmxu7/PLLzbaprHsnmpubzbbeuvXWnPT1VvR+FDfZVfXuATb/ttDeiKgyvF2WKAgmO1EQTHaiIJjsREEw2YmCkDKHlYpI0s6s8ppXevNKLR0dHYX6VAveOZg3b54Zt5aM9obXvvjii2bcmo4Z8PueMpV0PXll3ttvv92Mr1y50oynTIvutbXOaXd3N1R1wAfglZ0oCCY7URBMdqIgmOxEQTDZiYJgshMFwWQnCuKUqrNbvGGi3lDON99804zfcsstJ92n407VWnS9VXlcNm+2p2C49dZbzfjOnTvNuNf3np6ewm2948Y6O1FwTHaiIJjsREEw2YmCYLITBcFkJwqCyU4UROl1dmvK5u7u7tL6cqI5c+aY8ddeey03tn//frPt8OHDzfiYMWPMeJW8c+JNwW1JrbMfO3bMjG/dujU3NmuWvfCwtUQ3ABw6dMiMe+d8yJD866xVgwf8v5t1dqLgmOxEQTDZiYJgshMFwWQnCoLJThQEk50oiOJF0u+ZDRs2mPGPPvooNzZu3Diz7VdffVWoT8d5NdvDhw/nxry+7d6924x7886fddZZZvyMM87IjXlz/XuP/cADD5hx65x588Z7NX5vPn2vDm8ZOXKkGffq7HncK7uITBaRD0Rkq4hsEZEF2fbxIrJKRD7NvtrPKiKq1GBexncD+LmqTgXwdwB+JiJTATwB4D1VnQLgvexnImpQbrKraruqbsi+PwDgEwBnA7gTwNLs15YCmF2vThJRupN6zy4i5wO4EsBHACaqansW2glgYk6b+QDmF+8iEdXCoD+NF5FmAG8CeFRVvzXyQ/tGNAw4qkFVW1V1hqrOSOopESUZVLKLyDD0JfrvVPX32eYOEZmUxScB2FWfLhJRLbhDXKWvBrEUwB5VfbTf9n8G8LWqPi8iTwAYr6qPO49l7swa9gf45ZJ6ampqyo2tWLHCbDt69Ggzvm3bNjPunSPruHilN6tsN5h9X3DBBWZ8xIgRuTGvb48/bj6dsGrVKjNulc+8qcW98pdXsvSGqXr7T5E3xHUw79mvBfATAB+LyMZs2yIAzwN4XUTmAdgO4K5adJSI6sNNdlX9EEDef5E317Y7RFQvvF2WKAgmO1EQTHaiIJjsREEw2YmCOKWWbLaGRHpTHtfz7/Tq6K+++qoZ94ZyekNBDx48mBvz6sXevQveUtibNm0y42vXrs2NLVmyxGxr3dsAAAcOHDDjHR0duTHvmHvDSL2ppqu8Z4RTSRMFx2QnCoLJThQEk50oCCY7URBMdqIgmOxEQZxSdXarZnzkyJGUh66r6dOnm/Gbb7YHDy5cuNCMWzXbNWvWmG2XLVtmxr0avzcFd1tbW27MmyLbGxPuxa3lpL223lTSnZ2dZnzUqFFm3Lo3IhXr7ETBMdmJgmCyEwXBZCcKgslOFASTnSgIJjtREKXX2a0lgFP6kjo+2KuLWo9vzY0O+HOze8sie2P1rfbe/ORe3706u9c3q703Zty7d8Kr03d1dZlxi3dOPF4d35L6d7HOThQck50oCCY7URBMdqIgmOxEQTDZiYJgshMFMZj12ScDeBnARAAKoFVVfy0izwD4BwB/zX51kaqaC5WfyuuzW3V4r17s1aK9+dG9mq1Vyz506JDZ1hu37fXdO2eWep/PlFq5d8zrWeP3WOdMVZPWZ+8G8HNV3SAiowGsF5FVWexXqvovJ91bIirdYNZnbwfQnn1/QEQ+AXB2vTtGRLV1Uq/BROR8AFcC+Cjb9IiIbBKRxSIyLqfNfBFZJyLrknpKREkGnewi0gzgTQCPqup+AC8CuBDANPRd+X85UDtVbVXVGao6owb9JaKCBpXsIjIMfYn+O1X9PQCoaoeq9qhqL4DfAJhZv24SUSo32aXvo7/fAvhEVf+13/ZJ/X5tDoDNte8eEdXKYEpv1wH4M4CPARyvlSwCcDf6XsIrgG0Afpp9mGc9VtJ4WmtqYK9E5JWYUobXNjc3J+3bK915rGGsNRguWahPx1mluSpLqam8ob+p5zRF4dKbqn4IYKDGZk2diBoL76AjCoLJThQEk50oCCY7URBMdqIgmOxEQZxSSzZbqhwe69XRrfsDgLRphz3evlOHYnrHPeX5VeZzs2z1vP+AU0kTBcdkJwqCyU4UBJOdKAgmO1EQTHaiIJjsREGUXWf/K4Dt/Ta1ANhdWgdOTqP2rVH7BbBvRdWyb+ep6lkDBUpN9u/sXGRdo85N16h9a9R+AexbUWX1jS/jiYJgshMFUXWyt1a8f0uj9q1R+wWwb0WV0rdK37MTUXmqvrITUUmY7ERBVJLsInKbiPyviHwmIk9U0Yc8IrJNRD4WkY1Vr0+XraG3S0Q299s2XkRWicin2dcB19irqG/PiEhbduw2isisivo2WUQ+EJGtIrJFRBZk2ys9dka/Sjlupb9nF5GhAP4PwC0AdgBYC+BuVd1aakdyiMg2ADNUtfIbMETk7wF0AnhZVS/Ntv0TgD2q+nz2H+U4VV3YIH17BkBn1ct4Z6sVTeq/zDiA2QAeQIXHzujXXSjhuFVxZZ8J4DNV/UJVuwC8BuDOCvrR8FR1DYA9J2y+E8DS7Pul6HuylC6nbw1BVdtVdUP2/QEAx5cZr/TYGf0qRRXJfjaAv/T7eQcaa713BfAnEVkvIvOr7swAJvZbZmsngIlVdmYA7jLeZTphmfGGOXZFlj9PxQ/ovus6Vb0KwI8A/Cx7udqQtO89WCPVTge1jHdZBlhm/G+qPHZFlz9PVUWytwGY3O/nc7JtDUFV27KvuwC8hcZbirrj+Aq62dddFffnbxppGe+BlhlHAxy7Kpc/ryLZ1wKYIiIXiMhwAD8G8HYF/fgOEWnKPjiBiDQB+CEabynqtwHcn31/P4A/VtiXb2mUZbzzlhlHxceu8uXPVbX0fwBmoe8T+c8BPFlFH3L69QMA/53921J13wAsQ9/LumPo+2xjHoAzAbwH4FMA/wVgfAP17T/Qt7T3JvQl1qSK+nYd+l6ibwKwMfs3q+pjZ/SrlOPG22WJguAHdERBMNmJgmCyEwXBZCcKgslOFASTnSgIJjtREP8P218fvcZKt+kAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 26\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 14.1679\n", "--------> Found distortion 14.0589\n", "--------> Found distortion 10.6317\n", "==========> Found best distortion 10.6317 in 0.1798 seconds using 234 queries\n", "Iteration 10 distortion 1.9711 num_queries 3158\n", "Iteration 20 distortion 1.6135 num_queries 5697\n", "Iteration 30 distortion 1.5180 num_queries 8157\n", "Iteration 40 distortion 1.4609 num_queries 10530\n", "Iteration 50 distortion 1.4246 num_queries 12890\n", "Iteration 60 distortion 1.4040 num_queries 15266\n", "Iteration 70 distortion 1.3906 num_queries 17611\n", "Iteration 80 distortion 1.3856 num_queries 19933\n", "Iteration 90 distortion 1.3801 num_queries 22287\n", "Iteration 100 distortion 1.3771 num_queries 24651\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.3753 num_queries 27029\n", "Iteration 120 distortion 1.3740 num_queries 29393\n", "Iteration 130 distortion 1.3728 num_queries 31715\n", "Iteration 140 distortion 1.3718 num_queries 34065\n", "Iteration 150 distortion 1.3712 num_queries 36401\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 160 distortion 1.3705 num_queries 39193\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.3705 target 3 queries 41021 LS queries 7987\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 27\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 17.3775\n", "==========> Found best distortion 17.3775 in 0.1373 seconds using 151 queries\n", "Iteration 10 distortion 2.6641 num_queries 3096\n", "Iteration 20 distortion 2.0908 num_queries 5723\n", "Iteration 30 distortion 1.8864 num_queries 8177\n", "Iteration 40 distortion 1.8097 num_queries 10567\n", "Iteration 50 distortion 1.7662 num_queries 12933\n", "Iteration 60 distortion 1.7442 num_queries 15312\n", "Warning: not moving\n", "Iteration 70 distortion 1.7308 num_queries 17858\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 80 distortion 1.7305 num_queries 21260\n", "Warning: not moving\n", "Succeed distortion 1.7305 target 9 queries 21260 LS queries 5109\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 28\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 24.7778\n", "--------> Found distortion 23.0152\n", "--------> Found distortion 22.4371\n", "--------> Found distortion 18.7533\n", "--------> Found distortion 18.1484\n", "--------> Found distortion 16.5744\n", "==========> Found best distortion 16.5744 in 0.1805 seconds using 234 queries\n", "Iteration 10 distortion 3.0384 num_queries 3130\n", "Iteration 20 distortion 2.5117 num_queries 5674\n", "Iteration 30 distortion 2.3704 num_queries 8123\n", "Iteration 40 distortion 2.3290 num_queries 10498\n", "Iteration 50 distortion 2.3069 num_queries 12852\n", "Iteration 60 distortion 2.2946 num_queries 15214\n", "Iteration 70 distortion 2.2897 num_queries 17574\n", "Iteration 80 distortion 2.2868 num_queries 19934\n", "Iteration 90 distortion 2.2845 num_queries 22309\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 2.2844\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAR30lEQVR4nO3dW2xd5ZUH8P+Kc78oxLgEQ5NpCAgJRTRFUTTSoBGjQpXyEipQlEiMMuLiCoJUUMVFVKJI1UhhZpjSB1RwBqgzZCjhEpWHUhpCRNoHKgxkkuAMQyZKaIIT5yKwQy6OnTUP3qkMeK/l7m+fs4+9/j8psn2Wv3M+73P+OZe19/5EVUFE49+EqidARPXBsBMFwbATBcGwEwXBsBMFMbGeNyYi/OifqMZUVUa6PCnsIrIMwC8ANAH4D1Vd641pamrKrQ0ODtZsbCqREbdfKVLbn7XcLhMm2C/+zp0715DXPZZ5jzVru1n3d+GX8SLSBOBJAN8HcBWAVSJyVdHrI6LaSnnPvhTAHlXdq6r9AH4NYHk50yKisqWE/VIAfx7284Hssi8RkTYR6RSRzoTbIqJENf+ATlXbAbQD/ICOqEopz+wHAcwb9vM3s8uIqAGlhP1dAFeIyAIRmQxgJYDXypkWEZWt8Mt4VR0QkXsAvIGh1tuzqvqhNy6lFVTr9prFaod4LSKvxZTaekvZLlbbDkhvj1njvdv2tkvKdqvl3zWa8Rbv7yp6f0s9D3Edy+/ZrTu3ygdGqtSwnz17tvB477YHBgbM+ngNe6q8nWq4uyxREAw7URAMO1EQDDtREAw7URAMO1EQYVpv3mGDY/ksuyltQc/kyZPNutceq2ULymvd1XL/A+/xwtYbEVWGYScKgmEnCoJhJwqCYScKgmEnCiJM662Wh3J6LZ7Utl9Ki8lrnfX395t1T8p2nTjRPsI69RBXq+6N9Y7m83j3+aRJk3Jr3n1iXbeqsvVGFB3DThQEw04UBMNOFATDThQEw04UBMNOFERdl2wG7N6qd7ik19O1eH1Prz59+vTcmtdnP3nypFmfNm2aWU85tXDq6rNTpkwx62fOnDHr1nY7ffq0Odbb98G77ZkzZ+bWTp06ZY5N5W33lMNvi+4bw2d2oiAYdqIgGHaiIBh2oiAYdqIgGHaiIBh2oiDqfjy7dyyuMz63Zh0f7I0dTd26fq8X7Vm0aJFZ37p1a9L1V+nFF1/MrR05csQc29XVZdY3bNhg1nt7e826ZSyfejzvePaknWpEZB+APgCDAAZUdUnK9RFR7ZSxB90/qOrREq6HiGqI79mJgkgNuwL4vYi8JyJtI/2CiLSJSKeIdCbeFhElSH0Zf62qHhSRiwBsFpH/UdVtw39BVdsBtAPVnnCSKLqkZ3ZVPZh97QGwCcDSMiZFROUrHHYRmSEis85/D+B7AHaVNTEiKlfKy/i5ADZl/ciJAP5LVX/nDbL6l15v0zp3e8pYwO+VW8dWe2O94/BbWlrM+lh2yy235Na8+8Tbd2Lq1Klm/YknnjDrlir76LXq8RcOu6ruBfDtouOJqL7YeiMKgmEnCoJhJwqCYScKgmEnCmJMHeKaImXZYwCYNWtWoRrgnxJ5/vz5Zv3OO+8066tXr86tpZ5KOpV1mOmJEyfMsTNmzDDr3na98sorc2vd3d3m2FqrZQ64ZDNRcAw7URAMO1EQDDtREAw7URAMO1EQDDtREGH67I3MWsYa8JeyXrIk/6S+r7/+ujm2v7/frG/bts2sX3PNNWbduk+9JZu9Q1ybm5vN+oMPPphbW79+vTnWk7rfhrWPgJcDa+zg4CD77ETRMexEQTDsREEw7ERBMOxEQTDsREEw7ERB1L3PXrcbC+SOO+7IrVmncgaA3bt3m/X77rvPrHunc161alVubc2aNebY2bNnm3Wv133o0KHc2vXXX2+OPXnypFn3eHOzcuedYtvDPjtRcAw7URAMO1EQDDtREAw7URAMO1EQDDtREOyzjwFXX321WbfOGz9t2jRz7N13311oTmVYt26dWV+2bJlZ9/rw1rkTFi5caI7t6ekx642scJ9dRJ4VkR4R2TXssmYR2SwiH2df55Q5WSIq32hexv8KwFf/i30IwBZVvQLAluxnImpgbthVdRuA41+5eDmAjuz7DgA3lTwvIiqZffKzfHNV9fxiWYcAzM37RRFpA9BW8HaIqCRFw/4XqqrWB2+q2g6gHeAHdERVKtp6OywirQCQfR27H10SBVE07K8BON/vWQ3gN+VMh4hqxX0ZLyIvALgOQIuIHADwUwBrAWwUkdsB7AewopaTjM46JhwAZs6cmVt76aWXyp5OaTo6Osz6rbfeatanTJli1q3132+44QZz7IYNG8z6WOSGXVXzHmnfLXkuRFRD3F2WKAiGnSgIhp0oCIadKAiGnSiI5D3oKN0ll1xi1r0W06effppbe/PNNwvNqR7eeecds97V1WXWveWiz5w5k1tbsGCBOXY84jM7URAMO1EQDDtREAw7URAMO1EQDDtREAw7URDsszeAxx9/3KxffvnlZv2BBx7IrV122WXmWG954M8//9ysnzp1yqxb+whccMEF5ljv8Fyvz24tmzx9+nRz7HjEZ3aiIBh2oiAYdqIgGHaiIBh2oiAYdqIgGHaiINhnr4Mnn3zSrK9cudKs9/f3m/WLLroot3bxxRebY48cOWLWvSWf9+7da9atPvucOfbiv6nHnPf29ubWvL871YQJ9vOot3+Dxdp/YHBwMH9OhW+RiMYUhp0oCIadKAiGnSgIhp0oCIadKAiGnSgI9tkz3rnZrX6ztWQyANx1112F5nTexo0bzXpra2tu7ezZs+bYWbNmmfXTp0+bdavHD9jHrB87dswca/XJR2Py5Mm5Ne/vTlWrPjpg9/Ct23Wf2UXkWRHpEZFdwy57VEQOisj27N+N3vUQUbVG8zL+VwCWjXD5z1V1cfbvt+VOi4jK5oZdVbcBOF6HuRBRDaV8QHePiOzIXubn7uQsIm0i0ikinQm3RUSJiob9lwAWAlgMoBtA7hkTVbVdVZeo6pKCt0VEJSgUdlU9rKqDqnoOwDoAS8udFhGVrVDYRWR4r+cHAHbl/S4RNQa3zy4iLwC4DkCLiBwA8FMA14nIYgAKYB+AH9ZwjqPi9SYnTkzbpcA6ptw7d3rKdQPARx99ZNbfeuut3Fpzc7M59uTJk2bdOj56NHVr23jHlO/fv9+se+e0t9at7+7uNsdWSVXNurfvRB43Aaq6aoSLnyl0a0RUGe4uSxQEw04UBMNOFATDThQEw04UBA9xzXitO6s9dubMGXPsoUOHzHpfX59Z/+CDD8z6jh07zLrFO7TXa915LU3rMNMDBw6YY72/e+fOnWbdalHt2bPHHFullMNjLXxmJwqCYScKgmEnCoJhJwqCYScKgmEnCoJhJwpi3PTZvX6v1wv3+s1Tp04tfNvW6ZQB/3TN8+fPN+sW7++aNGmSWfcO37X66ADw2Wef5da8++SLL74w695y0p988klubevWrebY8YjP7ERBMOxEQTDsREEw7ERBMOxEQTDsREEw7ERBjJs+u7WMLQDMnj3brA8MDJj1lGOMDx8+bNa9Pv3KlSvN+nPPPZdb83r43mmsrf0LAL8P721Xy6JFi8y612ffu3dv4dtO5e1/YJ0u2jtVtIgUul4+sxMFwbATBcGwEwXBsBMFwbATBcGwEwXBsBMFId7ysKXemIh5Y16v3Op1e71qryc7Z84cs24dW33hhReaY70ll1OWHgaAEydO5NaeecZecPfpp5826zfffLNZb2lpMeu9vb25tdWrV5tjFy9ebNa9886vWLEit3bs2DFzrLdfhbdUtTfeqnv7PnhUdcRGvPvMLiLzRGSriHSJyIci8qPs8mYR2SwiH2df7bQQUaVG8zJ+AMCPVfUqAH8LYI2IXAXgIQBbVPUKAFuyn4moQblhV9VuVX0/+74PwG4AlwJYDqAj+7UOADfVapJElO6v2jdeRL4F4DsA/gRgrqp2Z6VDAObmjGkD0FZ8ikRUhlF/Gi8iMwG8AuBeVf3Spy469CnfiB++qWq7qi5R1SVJMyWiJKMKu4hMwlDQN6jqq9nFh0WkNau3AuipzRSJqAxu602GjqfrAHBcVe8ddvm/AjimqmtF5CEAzar6gHNd5o1Zh+4B9uF7Hq895rX9LNOnTzfrjzzyiFm3WkQAcPToUbNunS7aO1zSa/PMmzfPrKe0S73TXHu87bp+/frcmncaa+8U296hwymnyfbaep681tto3rP/HYB/BLBTRLZnlz0MYC2AjSJyO4D9AOxHLBFVyg27qv4RQN5T7nfLnQ4R1Qp3lyUKgmEnCoJhJwqCYScKgmEnCqLup5K2+rIpfXavL5q6ZLM1N6/n2tnZadZvu+02s+71wq1e+owZM8yxzc3NZt3bLt6hnN79Ynn++efN+qZNm8x6U1NT4dv2Hi9e3du/IYWVIev+4DM7URAMO1EQDDtREAw7URAMO1EQDDtREAw7URBhTiXtSTm22pu3V1+4cKFZf/vtt8261fP19l3wetHedvHGW332xx57zBz71FNPmfW+vj6zbs3dO5W093d5+xd4fXZrvHefebdd+FTSRDQ+MOxEQTDsREEw7ERBMOxEQTDsREEw7ERBNFSfvUreud9r2RedOnWqWV+wYEHh+v3332+O7erqMutvvPGGWX/55ZfNurX/g7f/gXcc/+zZs8261Sv3jkf37lNv/MDAgFn3HhMWa26qyj47UXQMO1EQDDtREAw7URAMO1EQDDtREAw7URCjWZ99HoD1AOYCUADtqvoLEXkUwJ0AjmS/+rCq/ta5robts3vnN7fWzPZ6st56296x06nrdY9X3n1mHc9+6tQpc6x3n3j7AFQpZX32AQA/VtX3RWQWgPdEZHNW+7mq/ltZkySi2hnN+uzdALqz7/tEZDeAS2s9MSIq11/1nl1EvgXgOwD+lF10j4jsEJFnRWROzpg2EekUEXsNJCKqqVHvGy8iMwG8DeCfVfVVEZkL4CiG3sf/DECrqpqLlvE9+8j4nr0YvmcfWdK+8SIyCcArADao6qvZFR5W1UFVPQdgHYClZU2WiMrnhl2GnraeAbBbVf992OWtw37tBwB2lT89IirLaFpv1wL4A4CdAM4fl/cwgFUAFmPoZfw+AD/MPsyzrkuLLjfbyFKWmgbSTqE9nnkv073tYh1e6x2i6p2a3DuE1XsbYD0mUu/vvJfxdT+enWH/OoZ9ZAx7MTyenSg4hp0oCIadKAiGnSgIhp0oCIadKIiGOpV0agtrrEpt86So9a66Ka1WtiSLYeuNKDiGnSgIhp0oCIadKAiGnSgIhp0oCIadKIh699mPANg/7KIWDJ3aqhE16twadV4A51ZUmXP7G1X9xkiFuob9azcu0qmqSyqbgKFR59ao8wI4t6LqNTe+jCcKgmEnCqLqsLdXfPuWRp1bo84L4NyKqsvcKn3PTkT1U/UzOxHVCcNOFEQlYReRZSLykYjsEZGHqphDHhHZJyI7RWR71evTZWvo9YjIrmGXNYvIZhH5OPs64hp7Fc3tURE5mG277SJyY0VzmyciW0WkS0Q+FJEfZZdXuu2MedVlu9X9PbuINAH4XwA3ADgA4F0Aq1S1q64TySEi+wAsUdXKd8AQkb8HcALAelVdlF32LwCOq+ra7D/KOar6YIPM7VEAJ6pexjtbrah1+DLjAG4C8E+ocNsZ81qBOmy3Kp7ZlwLYo6p7VbUfwK8BLK9gHg1PVbcBOP6Vi5cD6Mi+78DQg6XucubWEFS1W1Xfz77vA3B+mfFKt50xr7qoIuyXAvjzsJ8PoLHWe1cAvxeR90SkrerJjGDusGW2DgGYW+VkRuAu411PX1lmvGG2XZHlz1PxA7qvu1ZVrwHwfQBrsperDUmH3oM1Uu/0lwAWYmgNwG4Aj1c5mWyZ8VcA3KuqvcNrVW67EeZVl+1WRdgPApg37OdvZpc1BFU9mH3tAbAJjbcU9eHzK+hmX3sqns9fNNIy3iMtM44G2HZVLn9eRdjfBXCFiCwQkckAVgJ4rYJ5fI2IzMg+OIGIzADwPTTeUtSvAVidfb8awG8qnMuXNMoy3nnLjKPibVf58ueqWvd/AG7E0Cfy/wfgJ1XMIWdelwH47+zfh1XPDcALGHpZdxZDn23cDuBCAFsAfAzgTQDNDTS3/8TQ0t47MBSs1ormdi2GXqLvALA9+3dj1dvOmFddtht3lyUKgh/QEQXBsBMFwbATBcGwEwXBsBMFwbATBcGwEwXx/6CWtxl5ijs5AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 29\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 8.1937\n", "--------> Found distortion 8.1807\n", "--------> Found distortion 7.6364\n", "--------> Found distortion 6.9382\n", "--------> Found distortion 6.6503\n", "--------> Found distortion 6.6251\n", "--------> Found distortion 6.6186\n", "--------> Found distortion 6.2817\n", "==========> Found best distortion 6.2817 in 0.2299 seconds using 299 queries\n", "Iteration 10 distortion 1.8104 num_queries 3229\n", "Iteration 20 distortion 1.2908 num_queries 5823\n", "Iteration 30 distortion 1.1950 num_queries 8254\n", "Iteration 40 distortion 1.1503 num_queries 10690\n", "Iteration 50 distortion 1.1256 num_queries 13081\n", "Iteration 60 distortion 1.1140 num_queries 15427\n", "Iteration 70 distortion 1.1078 num_queries 17767\n", "Iteration 80 distortion 1.1027 num_queries 20079\n", "Iteration 90 distortion 1.1007 num_queries 22387\n", "Iteration 100 distortion 1.0987 num_queries 24709\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.0971 num_queries 27045\n", "Iteration 120 distortion 1.0960 num_queries 29409\n", "Iteration 130 distortion 1.0950 num_queries 31731\n", "Iteration 140 distortion 1.0943 num_queries 34067\n", "Iteration 150 distortion 1.0938 num_queries 36389\n", "Warning: not moving\n", "Iteration 160 distortion 1.0933 num_queries 38967\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.0933 target 8 queries 41020 LS queries 7721\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 30\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 21.9769\n", "--------> Found distortion 19.1238\n", "--------> Found distortion 19.1139\n", "--------> Found distortion 19.0136\n", "--------> Found distortion 18.0318\n", "--------> Found distortion 17.6158\n", "--------> Found distortion 14.9913\n", "==========> Found best distortion 14.9913 in 0.2079 seconds using 260 queries\n", "Iteration 10 distortion 4.2101 num_queries 3197\n", "Iteration 20 distortion 3.4829 num_queries 5729\n", "Iteration 30 distortion 3.2931 num_queries 8128\n", "Iteration 40 distortion 3.2042 num_queries 10504\n", "Iteration 50 distortion 3.1604 num_queries 12919\n", "Iteration 60 distortion 3.1231 num_queries 15287\n", "Iteration 70 distortion 3.1045 num_queries 17655\n", "Iteration 80 distortion 3.0862 num_queries 20023\n", "Iteration 90 distortion 3.0711 num_queries 22462\n", "Iteration 100 distortion 3.0608 num_queries 24822\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 3.0544 num_queries 27182\n", "Iteration 120 distortion 3.0494 num_queries 29527\n", "Iteration 130 distortion 3.0458 num_queries 31902\n", "Iteration 140 distortion 3.0404 num_queries 34262\n", "Iteration 150 distortion 3.0381 num_queries 36712\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 3.0369\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 31\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 8.9170\n", "--------> Found distortion 8.7652\n", "--------> Found distortion 8.4480\n", "--------> Found distortion 8.1592\n", "--------> Found distortion 7.0636\n", "==========> Found best distortion 7.0636 in 0.1966 seconds using 265 queries\n", "Iteration 10 distortion 1.5979 num_queries 3113\n", "Iteration 20 distortion 1.4105 num_queries 5576\n", "Iteration 30 distortion 1.3206 num_queries 8004\n", "Iteration 40 distortion 1.2913 num_queries 10341\n", "Iteration 50 distortion 1.2731 num_queries 12727\n", "Iteration 60 distortion 1.2660 num_queries 15067\n", "Iteration 70 distortion 1.2614 num_queries 17473\n", "Iteration 80 distortion 1.2584 num_queries 19781\n", "Iteration 90 distortion 1.2552 num_queries 22117\n", "Iteration 100 distortion 1.2519 num_queries 24453\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.2474 num_queries 26789\n", "Iteration 120 distortion 1.2448 num_queries 29083\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.2440 target 8 queries 31960 LS queries 6295\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 32\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 19.1406\n", "--------> Found distortion 18.1003\n", "--------> Found distortion 17.7827\n", "--------> Found distortion 15.9565\n", "--------> Found distortion 14.9135\n", "==========> Found best distortion 14.9135 in 0.1888 seconds using 251 queries\n", "Iteration 10 distortion 4.5898 num_queries 3039\n", "Iteration 20 distortion 2.9368 num_queries 5716\n", "Iteration 30 distortion 2.6556 num_queries 8222\n", "Iteration 40 distortion 2.5869 num_queries 10622\n", "Iteration 50 distortion 2.5523 num_queries 13006\n", "Iteration 60 distortion 2.5261 num_queries 15370\n", "Iteration 70 distortion 2.5122 num_queries 17720\n", "Iteration 80 distortion 2.5003 num_queries 20129\n", "Iteration 90 distortion 2.4948 num_queries 22474\n", "Iteration 100 distortion 2.4902 num_queries 24879\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 2.4872 num_queries 27224\n", "Iteration 120 distortion 2.4842 num_queries 29689\n", "Iteration 130 distortion 2.4818 num_queries 32064\n", "Iteration 140 distortion 2.4798 num_queries 34409\n", "Iteration 150 distortion 2.4777 num_queries 36829\n", "Iteration 160 distortion 2.4769 num_queries 39234\n", "Iteration 170 distortion 2.4756 num_queries 41579\n", "Iteration 180 distortion 2.4746 num_queries 43939\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 2.4742\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 33\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 27.3642\n", "--------> Found distortion 23.5557\n", "--------> Found distortion 22.1892\n", "--------> Found distortion 20.0033\n", "--------> Found distortion 18.5132\n", "==========> Found best distortion 18.5132 in 0.1629 seconds using 204 queries\n", "Iteration 10 distortion 3.8286 num_queries 3071\n", "Iteration 20 distortion 2.5492 num_queries 5783\n", "Iteration 30 distortion 2.3446 num_queries 8253\n", "Iteration 40 distortion 2.2555 num_queries 10692\n", "Iteration 50 distortion 2.2233 num_queries 13096\n", "Iteration 60 distortion 2.2095 num_queries 15426\n", "Iteration 70 distortion 2.2005 num_queries 17866\n", "Iteration 80 distortion 2.1935 num_queries 20226\n", "Iteration 90 distortion 2.1868 num_queries 22586\n", "Iteration 100 distortion 2.1808 num_queries 24931\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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t/3888/nxjZs2FCoT5e6e++914zfdNNNZnzVqlVm3FvX3jpfvXPVGudv3S/iJruqLsoJ2aP7iahSeLssURBMdqIgmOxEQTDZiYJgshMFUamppFNUubR29913m/Frr73WjF9++eVmfP369Rfcp+gWL15sxnt7exvUk/PVq4zMKztREEx2oiCY7ERBMNmJgmCyEwXBZCcKgslOFMQlU2f3eMtBpwy9vfLKK834Aw88YMavuOIKM97c3HzBfTpr/PjxZryvr8+Me9NcW0syA+XWq63nfNIke0Jkr9btnU/ec2YdF2+p6qLTnvPKThQEk50oCCY7URBMdqIgmOxEQTDZiYJgshMFEabOnlJHB+y66urVq822bW1tZnz06NFm/I477jDjV111VW7MG/vs1ZO9On1XV5cZt+rJ9Z7+++qrr86NzZw502zrnS9r1641497fNm7cuNzYqVOnzLZF8cpOFASTnSgIJjtREEx2oiCY7ERBMNmJgmCyEwVRqTq7V5u0xgh7tcnU8exTpkzJjV133XVm29OnT5vx1157zYwfP37cjFvzyre2tpptvfHo3r4vu+wyM27V2YuOyx4u6zn15hA4ceKEGT98+LAZ95Zsbmpqyo3Vaw0E98ouIi+ISLeI7By0bbmIHBCRbdm/+XXpHRHVzHBexv8GwD1DbP+lqrZl//5Q224RUa25ya6qbwI40oC+EFEdpXxAt0REtmcv83Mn9BKRdhHZKiJbE/ZFRImKJvuvAcwA0AagC8Av8n5RVTtUdbaqzi64LyKqgULJrqqHVPW0qp4BsArAnNp2i4hqrVCyi8jges4PAezM+10iqga3zi4iLwK4DcBUEekEsAzAbSLSBkAB7AXw0+Hu0Kp3e3V2r3Zp8erot99+uxlftmxZbsybN/6LL74w408//bQZ7+npMeNWLXvChAlmW6/W7Y21HzNmjBmfOnVqbsz7u7755hsz7rHub9izZ4/Z9u233zbj+/btM+MjR44041Yt3WtrncvW47rJrqqLhthsz9ZARJXD22WJgmCyEwXBZCcKgslOFASTnSiIi2qIq1UmSil1AMD8+fbAvVtuuSU3dvDgQbOtV95aunSpGff6bg2/feihh8y23tBfzyeffGLGb7jhhsKPvXDhQjP+0ksvmXFrCm5vyWbvmKeUxwD7uHtLNnvLbOfhlZ0oCCY7URBMdqIg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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 2.1763 num_queries 27291\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 120 distortion 2.1738 num_queries 30065\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 2.1738\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 34\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 19.8532\n", "--------> Found distortion 17.5945\n", "--------> Found distortion 17.0414\n", "--------> Found distortion 12.3250\n", "--------> Found distortion 11.2793\n", "==========> Found best distortion 11.2793 in 0.2160 seconds using 266 queries\n", "Iteration 10 distortion 2.9006 num_queries 3223\n", "Iteration 20 distortion 2.3320 num_queries 5840\n", "Iteration 30 distortion 2.1843 num_queries 8302\n", "Iteration 40 distortion 2.1038 num_queries 10653\n", "Iteration 50 distortion 2.0354 num_queries 13010\n", "Iteration 60 distortion 2.0095 num_queries 15453\n", "Iteration 70 distortion 1.9883 num_queries 17820\n", "Iteration 80 distortion 1.9694 num_queries 20201\n", "Iteration 90 distortion 1.9591 num_queries 22534\n", "Iteration 100 distortion 1.9499 num_queries 24942\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.9447 num_queries 27272\n", "Iteration 120 distortion 1.9400 num_queries 29632\n", "Iteration 130 distortion 1.9370 num_queries 31977\n", "Iteration 140 distortion 1.9344 num_queries 34382\n", "Iteration 150 distortion 1.9317 num_queries 36727\n", "Iteration 160 distortion 1.9289 num_queries 39132\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 170 distortion 1.9276 num_queries 42120\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.9276 target 2 queries 42989 LS queries 8323\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAR2klEQVR4nO3dXYxVVZYH8P8SKEEoPkoYrNBkREL8YJKBEYnJqGFipgO8YL8YeJgwSqRN2qQxmGichzY+GWM39sOEpPCjYdJKWruNxOAMDBJxEu2ABhVFR0dLm0pRBSpSfElVseahDp0S66xVnn3vOQfW/5eQqrqrzr27Tt0/99Zdd+8tqgoiuvRdVvUAiKgcDDtREAw7URAMO1EQDDtREGPLvDERuWhf+heR3Bo7GnQh6/4CNPc+o6oj3nhS2EVkKYDfAhgD4ClVfSzl+saOtYdz7ty5lKtPuu6Wlpbc2sDAQNJ1p/7iU/4juuwy+8ldM8/5xcw7b2PGjDHr/f39jRzOqBR+Gi8iYwD8O4BlAG4AsEpEbmjUwIiosVL+Zl8M4FNV/UxVzwLYCmBFY4ZFRI2WEvZZAP4y7OtD2WXfIyJrRWSfiOxLuC0iStT0F+hUtQNAB3Bxv0BHdLFLeWTvAjB72Nc/yS4johpKCfteAPNEZI6ItABYCWBbY4ZFRI1W+Gm8qg6IyH0A/gtDrbdnVPWDho1sBM1sA3mtEqu9Njg42Ojh/ChWe83r93rnNLU1Zx2fcs6BtFat15L0fi5v7N59wjovzbqfJ/3NrqrbAWxv0FiIqIn4dlmiIBh2oiAYdqIgGHaiIBh2oiAYdqIgpMy52FW+XTa1L5oidW5zytivuOIK81hvbGfOnCl82971p74HoJlzxquc+uu9f8AyMDCQO5+dj+xEQTDsREEw7ERBMOxEQTDsREEw7ERB1Kr15rUcrCmPVS7dm8ob+7hx48x6yhRXr63ntaC867dac96x06ZNM+vffvutWbfuTydPnjSP9X7u7777zqxXia03ouAYdqIgGHaiIBh2oiAYdqIgGHaiIBh2oiBK3bLZ4y0dbPH6olUv92zx3l9w9uzZwsd713369GmzPnHiRLPuTaG1poJ67x/weuEpP1vqFNXUKbBVbAHOR3aiIBh2oiAYdqIgGHaiIBh2oiAYdqIgGHaiIErvs1u9Ua83afUf69xH9/T395t1b9631Qv3zumMGTPM+okTJ8y612+25st7/eRjx46Zda9P751XS+r9yVsnoFnLXFvjTgq7iHQC6AMwCGBAVRelXB8RNU8jHtn/SVWPNuB6iKiJ+Dc7URCpYVcAO0TkbRFZO9I3iMhaEdknIvsSb4uIEqQ+jb9FVbtE5G8A7BSRj1R1z/BvUNUOAB1AtXu9EUWX9Miuql3Zx14ALwFY3IhBEVHjFQ67iEwUkdbznwP4KYADjRoYETVWytP4mQBeynrAYwE8p6r/6R2UMmfd6l1W2Wd/4403zLq3xvgTTzxh1nfs2GHWrfXTU9fT9+refPiFCxfm1pYsWWIe6/X4V65cadat9x941718+XKzfuTIEbOecn9saWkx6976BnkKh11VPwPw90WPJ6JysfVGFATDThQEw04UBMNOFATDThRE6Vs2e62goqrckvnqq68266+++qpZnzRpklkfP368WbemcnrHer+P1O2krbF502O7urrM+pkzZ8z60aP587O87aDXr19v1l9//XWz7klZStprQXPLZqLgGHaiIBh2oiAYdqIgGHaiIBh2oiAYdqIgSl9K2uovpmyjm9ovTrntzs5Os37XXXeZ9XXr1pn1pUuXmnVrOqU31dL7ub0+esry39400b6+vqTbtraT9nr8l19+uVlvJu++WnT6LB/ZiYJg2ImCYNiJgmDYiYJg2ImCYNiJgmDYiYIovc/eLCnbGgN+Tzdl/vFbb71l1u+55x6zPmvWLLNuLc/tzZWfN2+eWX/zzTfNurc1sXXevGWoN23aZNavu+46s27N5fd+ri+//NKspyq67TJQ/L7IR3aiIBh2oiAYdqIgGHaiIBh2oiAYdqIgGHaiIEpfN96pm8dbY/X66N62yd5W0lOmTMmtWVsmA8CECRPMujXvGgCOHz9u1q3z5m3v660r763NnvI7u/nmm81jt2zZYtbb2trMek9PT25t2bJl5rG9vb1m3fu5vfubxZun37R140XkGRHpFZEDwy5rE5GdIvJJ9tFecZ+IKjeap/G/A3DhUikPAdilqvMA7Mq+JqIac8OuqnsAfH3BxSsAbM4+3wzgjgaPi4garOh742eqanf2+WEAM/O+UUTWAlhb8HaIqEGSJ8KoqlovvKlqB4AOwH+Bjoiap2jrrUdE2gEg+2i/dElElSsa9m0AVmef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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 35\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 23.9416\n", "--------> Found distortion 23.7765\n", "--------> Found distortion 19.2712\n", "--------> Found distortion 15.4755\n", "--------> Found distortion 15.3612\n", "==========> Found best distortion 15.3612 in 0.1660 seconds using 221 queries\n", "Iteration 10 distortion 4.0922 num_queries 3103\n", "Iteration 20 distortion 3.4744 num_queries 5604\n", "Iteration 30 distortion 3.3237 num_queries 8019\n", "Iteration 40 distortion 3.2525 num_queries 10431\n", "Iteration 50 distortion 3.2183 num_queries 12788\n", "Iteration 60 distortion 3.1916 num_queries 15156\n", "Iteration 70 distortion 3.1737 num_queries 17524\n", "Iteration 80 distortion 3.1622 num_queries 19929\n", "Iteration 90 distortion 3.1570 num_queries 22274\n", "Iteration 100 distortion 3.1524 num_queries 24649\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 3.1475 num_queries 27024\n", "Iteration 120 distortion 3.1454 num_queries 29414\n", "Iteration 130 distortion 3.1435 num_queries 31789\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "\n", "Failed: distortion 3.1426\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAATF0lEQVR4nO3df4xUVZYH8O8RmgYbBBqkJYAyYhvFjctsCMEsMWwmjtL+AP4h8MeKCdoTMyZIJtklGB0SEkLWnZ2MpoP0INKsM4wTGRZiyA4MTsLyhxPQoKKwKAQdsKFBFBpsaRrO/tHP2R7sd05Zt169N9zvJyFd/U7derdf1aGq3nn3XlFVENG177q8O0BE1cFkJ4oEk50oEkx2okgw2YkiMbCaOxMRnvqnQhARM/63XKVS1X7/uKBkF5EHAPwCwAAAa1V1VcjjlbC/zB475MkdMGBABXvy3V2+fDm3fYc8J1knlNW3gQPtl/6lS5fKfuxS4leuXDHjWSj7Y7yIDADQAmAWgMkAFojI5Ep1jIgqK+Q7+zQAH6vqEVXtBvAbALMr0y0iqrSQZB8H4M99fj+WbPsrItIsIntFZG/AvogoUOYn6FS1FUArwBN0RHkKeWc/DmBCn9/HJ9uIqIBCkn0PgEYR+Z6IDAIwH8DWynSLiCqt7I/xqtojIk8B+D16S2/rVPWDivWs/31m9tjXXWf/v2eVSrx+ZV1msco8Xt+8EpF3XLIs+3n79v42K+6V1jwh+/aElPWs15pU8+KBIn9nD0n2kLaVwGQvL15UocmedlENL5cligSTnSgSTHaiSDDZiSLBZCeKBJOdKBJVHc/u8YYd9vT0ZLbvkBJVlkNvSxFSYvLaes+JV3rzymcW77h6Q4utvnnl0JDHLoV1XLy+lft8852dKBJMdqJIMNmJIsFkJ4oEk50oEkx2okhcM6PeampqzLhXSvGOg1X28x7bKz95JUWvFJPHTKWlqq2tTY2Fzsrrlb+yPC6hJceQMrJXtuOoN6LIMdmJIsFkJ4oEk50oEkx2okgw2YkiwWQnisQ1M8TVmxrYq+l6dc+QmrBXc81yxc/Ro0eb8YULF5rxhx9+2IyPHz/ejE+aNCk19vXXX5ttBw8ebMa9ayPuvffe1Nju3bvNtt5zMmTIEDPe3d1txi1eHnCIKxGZmOxEkWCyE0WCyU4UCSY7USSY7ESRYLITRaJQ49mzXA3VG+/u7duKd3V1mW2HDRtmxr/66isz7o2d3rZtW2qssbHRbOsZOnSoGR8xYoQZt2rloSvMeqzH956z22+/3Yx77b3rNqxrDLy21muxp6cndTx70EU1InIUQCeAywB6VHVqyOMRUXYqcQXdP6nq6Qo8DhFliN/ZiSIRmuwKYLuIvC0izf3dQUSaRWSviOwN3BcRBQj9GD9DVY+LyBgAO0TkoKru6nsHVW0F0ApkO+EkEdmC3tlV9XjyswPAZgDTKtEpIqq8spNdROpEZNg3twH8EMD+SnWMiCor5GN8A4DNSS10IIBfq+p/e41ClqoNETre3eKNbb548aIZb2pqMuPPP/+8Gbf67l1f0N7ebsbXrFljxl999VUzfuLECTMe4r777jPjLS0tqTHvOZs3b54ZX716tRkPGYs/aNAgs603D0CaspNdVY8A+Pty2xNRdbH0RhQJJjtRJJjsRJFgshNFgslOFImqTyVd1OWFvWGk1nBLrxTy2GOPmfEnn3zSjHtDZDdu3JgaO3TokNn2lVdeMeNeyTJPO3bsMONbt25Njd15551m26NHj5px7zkPHaZqsUqt1uuY7+xEkWCyE0WCyU4UCSY7USSY7ESRYLITRYLJThSJQi3Z7E3nbA0LzHpKbOvxvWWNV65cacZvuukmM75hwwYzbg2BPXXqlNnWG+pZ5Dq75/XXX0+NLVmyxGzrDTP1eK9H67h603d7U4+n4Ts7USSY7ESRYLITRYLJThQJJjtRJJjsRJFgshNFolB19qKOdQeAWbNmpca8MeGdnZ1m3BtbfezYMTN+/vz51Ngdd9xhtvXq6N5Y+n379pnxPFn16lGjRpltb7jhBjPuLSftzY9gjUn3xsoPHJietlYO8Z2dKBJMdqJIMNmJIsFkJ4oEk50oEkx2okgw2YkiUag6u8eqbWY9nn3ixImpMa9m++abb5rxjo4OMz5ixAgzPnz4cDNuqaurM+NffPGFGff6Zj1n3mOHeuihh1Jj3jj+TZs2mXGvDn/27Fkzbl0D4M3rcOHCBTOe+rjeHURknYh0iMj+PtvqRWSHiHyU/BxZ1t6JqGpK+Ri/HsADV21bCmCnqjYC2Jn8TkQF5ia7qu4CcOaqzbMBtCW32wDMqXC/iKjCyv3O3qCq7cntEwAa0u4oIs0AmsvcDxFVSPAJOlVVEUk9O6aqrQBaAcC6HxFlq9zS20kRGQsAyU/7dDIR5a7cZN8KYGFyeyGALZXpDhFlRbz6tIhsBDATwGgAJwH8FMB/AfgtgJsBfAJgnqpefRKvv8cq7Md4b3zyXXfdlRqbOXOm2ba9vd2Mv/vuu2bcG+dv1Yy98egTJkww411dXWa8sbHRjFvj3Q8cOGC29WrZ06dPN+NtbW1m3OLNMeDlzenTp824Nd7dGwtvPSc9PT1Q1X5fzO53dlVdkBL6gdeWiIqDl8sSRYLJThQJJjtRJJjsRJFgshNF4m9qiKs19C+kPAUADQ2pV/wCAG655ZbUWOhQTa/E5C3Ra00t7A1/ra+vN+OjR48243Pm2MMiHnzwwdSYV5I8ePCgGV+xYoUZt7z44otm3JvO2XvOvdKc9Zz29PSYba1pqC18ZyeKBJOdKBJMdqJIMNmJIsFkJ4oEk50oEkx2okhUvc5u1cq92qRVS/eGqNbU1Jhxb+nizz//PDV28eJFs6235LI3NXBtba0Zt6Zz9o7L+PHjzfhtt91mxo8cOWLGrb/t5MmTZtsZM2aYce9vW7lyZWrsueeeM9t6w0zzVG7f+M5OFAkmO1EkmOxEkWCyE0WCyU4UCSY7USSY7ESRqHqd3Rt3Xi6vRu+NAfb6ZY0x9uqe3vjkc+fOmXGvb9aSz941AN6+vesTOjs7zbg1Zn3t2rVmW+85W79+vRl/5plnzHiWvGsAsl5ivD98ZyeKBJOdKBJMdqJIMNmJIsFkJ4oEk50oEkx2okgUajy7V0+2apde3dKb53vQoEFm3Hp8r6bqOXv2rBnPsmZ7+PBhM+5dI+DNaf/oo4+mxrzlpL2525cuXWrG8xTynFg5ApR/rYr7zi4i60SkQ0T299m2XESOi8i+5F9TWXsnoqop5WP8egAP9LP956o6Jfm3rbLdIqJKc5NdVXcBOFOFvhBRhkJO0D0lIu8lH/NHpt1JRJpFZK+I7A3YFxEFKjfZVwOYBGAKgHYAP0u7o6q2qupUVZ1a5r6IqALKSnZVPamql1X1CoBfAphW2W4RUaWVlewiMrbPr3MB7E+7LxEVg1tnF5GNAGYCGC0ixwD8FMBMEZkCQAEcBfCjUncYUn/McgywV9u06sl1dXVmW69ebK2vDvh11ZDj4o1H9+roLS0tZrypKb0qu2fPHrPtqlWrzLg373yI0OfUu27Dm2cgC26yq+qCfja/nEFfiChDvFyWKBJMdqJIMNmJIsFkJ4oEk50oElUf4hoyVDTL0lt3d7cZt0pzXltvOWhvGGmIMWPGmHGvRPTCCy+Y8UWLFpnx8+fPp8Z27dpltvXcfffdZtwqWVpLcAPhz4lXsrReT1ktF813dqJIMNmJIsFkJ4oEk50oEkx2okgw2YkiwWQnikTV6+yWPOvstbW1ZtxaPtiro998881m/MKFC0HxJ554IjV26623mm1HjRplxh955BEz7g0znT9/fmrsyy+/NNsOHz7cjHu18q6urtTYkCFDzLbesGPvOfFeq1nV0i18ZyeKBJOdKBJMdqJIMNmJIsFkJ4oEk50oEkx2okhIlrXrb+1MpHo7q7Bx48alxu655x6z7csv25Pxeks2ezVha+y0N0W2VYsuJe717a233kqNrV271mx78OBBM26NlQfsWnl9fb3ZdsWKFWb8jTfeMOOvvfaaGc+SqvZ7wQrf2YkiwWQnigSTnSgSTHaiSDDZiSLBZCeKBJOdKBKFqrN7NWFv6eIQ999/vxlfvHhxamzy5Mlm21OnTpnx0CWdrbnfvbH2Xq16586dZnzBgv4W+f1/1pLQ3t/V0dFhxrds2VJ2fO7cuWbbTz/91IwfOnTIjB85csSMW0LzoOw6u4hMEJE/isiHIvKBiCxOtteLyA4R+Sj5OdJ7LCLKTykf43sA/ERVJwOYDuDHIjIZwFIAO1W1EcDO5HciKig32VW1XVXfSW53AjgAYByA2QDakru1AZiTVSeJKNx3moNORCYC+D6APwFoUNX2JHQCQENKm2YAzeV3kYgqoeSz8SIyFMAmAE+r6rm+Me09y9fvyTdVbVXVqao6NainRBSkpGQXkRr0JvqvVPV3yeaTIjI2iY8FYJ86JaJcuaU36Z3fuQ3AGVV9us/25wF8rqqrRGQpgHpV/RfnsTKr81lTPQP+1L2fffaZGbeGoVrlJcCf8vj66683495wTKuEtWzZMrPt5s2bzbjHK2EtX748NeYta3zu3Dkz7pXmrOnBvZLimjVrzHgoq7wWWmJOK72V8p39HwH8M4D3RWRfsm0ZgFUAfisiiwB8AmBeUA+JKFNusqvqbgBpqzf8oLLdIaKs8HJZokgw2YkiwWQnigSTnSgSTHaiSFR9iKs3fM8SUn+cMmWKGd++fbsZt5YXDj2G3nTM69atM+MvvfRSasxbFtnr+4gRI8z40KFDzbi1DPfjjz9utvWuP/CG5z777LOpsTyWTO7Luy7E4vWdU0kTRY7JThQJJjtRJJjsRJFgshNFgslOFAkmO1Ekql5nt8Zee33Jsja6ZMmSsttOnz7djB8+fNiMt7S0mHFvqmmrZuvVc+vq6sy4V0fv7u4249Y0116d3JsHwBvvnmct3bq+ALBf67lNJU1E1wYmO1EkmOxEkWCyE0WCyU4UCSY7USSY7ESRKNSSzdcqb7x6V1eXGR8zZowZD6mze+PVvZqvt+yyVRM+ffq02da7vsCrw1u849LT0xPU3quFW3X4rOaN5zs7USSY7ESRYLITRYLJThQJJjtRJJjsRJFgshNFopT12ScA2ACgAYACaFXVX4jIcgBPADiV3HWZqm5zHiuozh6yprVXD/bqqpaQOcABfxy/13eLN978xhtvLPuxAb9v1jUE3nh07/oE7zmzxrN7480vXbpkxkPGq2ctZH32HgA/UdV3RGQYgLdFZEcS+7mq/nulOklE2SllffZ2AO3J7U4ROQBgXNYdI6LK+k7f2UVkIoDvA/hTsukpEXlPRNaJyMiUNs0isldE9gb1lIiClJzsIjIUwCYAT6vqOQCrAUwCMAW97/w/66+dqraq6lRVnVqB/hJRmUpKdhGpQW+i/0pVfwcAqnpSVS+r6hUAvwQwLbtuElEoN9ml97TjywAOqOp/9Nk+ts/d5gLYX/nuEVGllFJ6mwHgfwC8D+Cb+tYyAAvQ+xFeARwF8KPkZJ71WLnVI0Kn57VKLVmXWQYPHmzGQ4a4eiUkbzpm77jV1tamxrzSWWdnpxkvspDXW1ZTSZdyNn43gP4amzV1IioWXkFHFAkmO1EkmOxEkWCyE0WCyU4UCSY7USQKtWSzVxO+ePFiaix0CGtNTY0Z94Y8Wry/y6tlh0xbHDrlsff6CHn9FHmYaJF513xwKmmiyDHZiSLBZCeKBJOdKBJMdqJIMNmJIsFkJ4pEtevspwB80mfTaAD2ur35KWrfitovgH0rVyX7douq9js/eFWT/Vs7F9lb1Lnpitq3ovYLYN/KVa2+8WM8USSY7ESRyDvZW3Pev6WofStqvwD2rVxV6Vuu39mJqHryfmcnoiphshNFIpdkF5EHROR/ReRjEVmaRx/SiMhREXlfRPblvT5dsoZeh4js77OtXkR2iMhHyc9+19jLqW/LReR4cuz2iUhTTn2bICJ/FJEPReQDEVmcbM/12Bn9qspxq/p3dhEZAOAQgPsAHAOwB8ACVf2wqh1JISJHAUxV1dwvwBCRewGcB7BBVf8u2fZvAM6o6qrkP8qRqvqvBenbcgDn817GO1mtaGzfZcYBzAHwGHI8dka/5qEKxy2Pd/ZpAD5W1SOq2g3gNwBm59CPwlPVXQDOXLV5NoC25HYbel8sVZfSt0JQ1XZVfSe53Qngm2XGcz12Rr+qIo9kHwfgz31+P4ZirfeuALaLyNsi0px3Z/rR0GeZrRMAGvLsTD/cZbyr6aplxgtz7MpZ/jwUT9B92wxV/QcAswD8OPm4Wkja+x2sSLXTkpbxrpZ+lhn/izyPXbnLn4fKI9mPA5jQ5/fxybZCUNXjyc8OAJtRvKWoT36zgm7ysyPn/vxFkZbx7m+ZcRTg2OW5/Hkeyb4HQKOIfE9EBgGYD2BrDv34FhGpS06cQETqAPwQxVuKeiuAhcnthQC25NiXv1KUZbzTlhlHzscu9+XPk6lnq/oPQBN6z8gfBvBMHn1I6detAN5N/n2Qd98AbETvx7pL6D23sQjAKAA7AXwE4A8A6gvUt/9E79Le76E3scbm1LcZ6P2I/h6Afcm/pryPndGvqhw3Xi5LFAmeoCOKBJOdKBJMdqJIMNmJIsFkJ4oEk50oEkx2okj8HylyUmHH+8SlAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 36\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 17.1144\n", "--------> Found distortion 16.4292\n", "--------> Found distortion 14.7024\n", "--------> Found distortion 9.5282\n", "--------> Found distortion 9.3654\n", "==========> Found best distortion 9.3654 in 0.2184 seconds using 262 queries\n", "Iteration 10 distortion 1.5402 num_queries 3224\n", "Iteration 20 distortion 1.2604 num_queries 5766\n", "Iteration 30 distortion 1.1704 num_queries 8159\n", "Iteration 40 distortion 1.1326 num_queries 10528\n", "Iteration 50 distortion 1.1126 num_queries 12964\n", "Iteration 60 distortion 1.1005 num_queries 15336\n", "Iteration 70 distortion 1.0933 num_queries 17690\n", "Iteration 80 distortion 1.0883 num_queries 20012\n", "Iteration 90 distortion 1.0844 num_queries 22348\n", "Iteration 100 distortion 1.0802 num_queries 24712\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Warning: not moving\n", "Warning: not moving\n", "Iteration 110 distortion 1.0787 num_queries 27400\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.0787 target 2 queries 28723 LS queries 5861\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 37\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 13.0367\n", "--------> Found distortion 8.7121\n", "--------> Found distortion 8.3000\n", "--------> Found distortion 7.3035\n", "==========> Found best distortion 7.3035 in 0.2055 seconds using 253 queries\n", "Iteration 10 distortion 1.8828 num_queries 3131\n", "Iteration 20 distortion 1.5163 num_queries 5649\n", "Iteration 30 distortion 1.4215 num_queries 8064\n", "Iteration 40 distortion 1.3880 num_queries 10438\n", "Iteration 50 distortion 1.3698 num_queries 12814\n", "Iteration 60 distortion 1.3610 num_queries 15178\n", "Iteration 70 distortion 1.3553 num_queries 17556\n", "Iteration 80 distortion 1.3520 num_queries 19864\n", "Iteration 90 distortion 1.3495 num_queries 22172\n", "Iteration 100 distortion 1.3479 num_queries 24508\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Iteration 110 distortion 1.3469 num_queries 26816\n", "Iteration 120 distortion 1.3462 num_queries 29194\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.3461 target 8 queries 32157 LS queries 6304\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 38\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 17.1043\n", "--------> Found distortion 16.1188\n", "--------> Found distortion 11.8127\n", "--------> Found distortion 9.3289\n", "--------> Found distortion 8.9411\n", "--------> Found distortion 8.7452\n", "--------> Found distortion 7.7348\n", "--------> Found distortion 7.5998\n", "==========> Found best distortion 7.5998 in 0.2443 seconds using 301 queries\n", "Iteration 10 distortion 1.2128 num_queries 3208\n", "Iteration 20 distortion 1.0345 num_queries 5749\n", "Iteration 30 distortion 0.9741 num_queries 8170\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 0.9692 target 3 queries 11193 LS queries 3492\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAASqklEQVR4nO3da4xVVZYH8P/iUTwbpUSxFDK0HRMjk4w9KdHERxw7EiExyBfT+MKETGnSahOJM8SJwcQPIqNDIJmYVE+bhrGl00ojanSGZ+JgYktpUFFmVAwGCE+JD5CyqKo1H+rQKbHOWpez7z3ntuv/S0hV3XX3Pfueexbn3rvO3ltUFUT04zes6g4QUTmY7ERBMNmJgmCyEwXBZCcKYkSZGxMRFZHcOCsD9Wft71rwNfnro6pDvuhJyS4iNwNYAWA4gP9Q1aXO/TF69Ojc+HfffWdub9iw/DcifX19ZttGHrTDhw83417fPF7CWs9txAj7JfYeu7e314z39/ebcYv1egL+a+bFrdfF67fXN699M/4nWfhtvIgMB/DvAGYBuBzAPBG5vF4dI6L6SvnMPgPAp6r6mar2APgDgDn16RYR1VtKsl8MYO+gv/dlt32PiHSISJeIdCVsi4gSNfwLOlXtBNAJAMOGDWu+DzJEQaSc2fcDmDro7ynZbUTUhFKSfTuAS0XkpyLSAuCXAF6uT7eIqN4Kv41X1V4RuR/Af2Og9Pasqn7otMHJkyeLbjKpzOOVoLwSk6XRpbeUEtOpU6fMtt5+8fa5VUoFgJ6ensKPnWrUqFG5sW+//dZsm/qaNfqYKCLpM7uqvgbgtTr1hYgaiJfLEgXBZCcKgslOFASTnSgIJjtREEx2oiCkzKF4ImJuLKU2OWbMGLNtd3e3GfeGejayJpwyhBWwh2N6dXSrDg4ALS0tSe0baeTIkWbcu8agStZrnnLtQ19fX+54dp7ZiYJgshMFwWQnCoLJThQEk50oCCY7URClTiXt8UpvVsnBG6Lqla9Splz22nozlXrDHVNnYU1RZWktdb9aqh6CapUNvZJh0debZ3aiIJjsREEw2YmCYLITBcFkJwqCyU4UBJOdKIimGuLaSN4QWG+Ka6umW+WUyIC9+q03XHL69OlmfNGiRWb8rrvuMuNXX311bmz79u1m20bv1xSNHPrrXQNgvaY9PT3o7+/nEFeiyJjsREEw2YmCYLITBcFkJwqCyU4UBJOdKIgwdXaPNy2xN31vlS688MLc2AsvvGC2bW9vN+PeksyeV199NTd2yy23mG1Tx5xbtXDvsb288OZPSFkC3KvhW4/d39+fO5V00uQVIrIHwDcA+gD0qqp95BBRZeoxU80/qOrROjwOETUQP7MTBZGa7Apgg4i8IyIdQ91BRDpEpEtEuhK3RUQJUt/GX6uq+0XkAgAbReR/VfWNwXdQ1U4AnUBzf0FH9GOXdGZX1f3Zz8MA1gGYUY9OEVH9FU52ERknIj85/TuAmQB21qtjRFRfKW/jJwNYl83tPQLA86r6X3XpVQGpy/d6dVFrTHlqnd2rq3q18FdeeSU3ds4555htDxw4YMa98fBWjR8Axo8fb8ZTtu3Vwquc895jvebe8VR0nH/hZFfVzwD8XdH2RFQult6IgmCyEwXBZCcKgslOFASTnSiIplqyOYVXrvCW//XKON3d3Wfdp9Pa2trM+OrVq834NddcY8at57ZgwQKz7YYNG8z47bffbsafeuopM55SlrSmyAbSpthO5ZV6vSG0VlnQK61Zr7d1HPPMThQEk50oCCY7URBMdqIgmOxEQTDZiYJgshMFUWqdXUTM+qQ3DNVaNjl1mGnKENkLLrjAbLtlyxYz7rV/4IEHzPhLL72UG/viiy/Mto22e/fuhj12Sh09dQlv71j14imKTv/OMztREEx2oiCY7ERBMNmJgmCyEwXBZCcKgslOFESpdXZVTZre16qlp45XT6mLnn/++WZ85cqVZnzNmjVm/MsvvzzrPp2WOsW2dW1DLZ544omk9o3SyLHutbDGu3vXjFjj+K384pmdKAgmO1EQTHaiIJjsREEw2YmCYLITBcFkJwqiqeaN92q61nzaXh095bEBe+nhjz/+2Gy7a9eupG2nXEPg1dG9x/b6dvz4cTO+Z8+ewtsuOm67FkWXPa6XRs6nn8c9s4vIsyJyWER2DrqtVUQ2isgn2c+JhbZORKWp5W387wDcfMZtiwFsVtVLAWzO/iaiJuYmu6q+AeDYGTfPAbAq+30VgFvr3C8iqrOin9knq+qB7PeDACbn3VFEOgB0FNwOEdVJ8hd0qqoikvtNiqp2AugEAOt+RNRYRUtvh0SkDQCyn4fr1yUiaoSiyf4ygPnZ7/MBrK9Pd4ioUdy38SKyBsANACaJyD4ASwAsBfBHEVkA4HMAtzWyk7Xw6uheTdfj1ZNTtLS0mHGv71YtfezYsWbbyy67zIwvXLjQjK9du9aMW7zXLHUtAPo+N9lVdV5O6Bd17gsRNRAvlyUKgslOFASTnSgIJjtREEx2oiBKH+JqlVu8IY0jRuR31ytP9fb22h1L4JWQvNKa1zdreC1gD3k899xzzbYPPvigGff6vmzZMjNuGT16tBk/ceJE4ccG7OmavSGuKcdiLY9fxRBbntmJgmCyEwXBZCcKgslOFASTnSgIJjtREEx2oiBKrbOLiFn79OrNVm2yyqmBvW13d3cnPb5Xj77kkktyYxMmTDDb3nnnnWZ806ZNZtxbTrq1tTU35l2fYB0rAPD111+bcWu56tTXxDtWvaWyrWPGq+EXvWaEZ3aiIJjsREEw2YmCYLITBcFkJwqCyU4UBJOdKIhS6+yqak57PGbMGLP9yZMn692lUnj1ZK+OfvDgQTM+adKk3NiSJUvMtt41AuvWrTPj3vLB1nPzavSjRo0y497xYrX3avipY+m9pbKtY6JRcy/wzE4UBJOdKAgmO1EQTHaiIJjsREEw2YmCYLITBSHe/Nh13ZhIeRs7g1frrnI8fCqrnvz888+bbd9++20z/uSTT5pxr9Ztjc32avQ9PT1m3BorD9i1bq+O7q1D4F0D4F0TkpJ31jUCfX19UNUhO++e2UXkWRE5LCI7B932mIjsF5Ed2b/ZhXpNRKWp5W387wDcPMTty1X1iuzfa/XtFhHVm5vsqvoGgGMl9IWIGijlC7r7ReT97G3+xLw7iUiHiHSJSFfCtogoUdFkfwbAzwBcAeAAgKfz7qiqnararqrtBbdFRHVQKNlV9ZCq9qlqP4DfAJhR324RUb0VSnYRaRv051wAO/PuS0TNwR3PLiJrANwAYJKI7AOwBMANInIFAAWwB8C9DexjTbw6epnXE5TtoYceyo1NnJj7dQoA4Jlnnknatjf22qqVe9c2eGvLe6xtT5s2zWx7xx13mPG5c+cmxffu3ZsbS107Po+b7Ko6b4ibf1toa0RUGV4uSxQEk50oCCY7URBMdqIgmOxEQZQ6lXQjeeUKbwldr4RUZelu6tSpZnzWrFm5seXLl5ttvWWPPd6UydZQUW+fekNgvdLcTTfdlBvzhu62tbWZ8aefzr1oFIBdWgPs47VRw7F5ZicKgslOFASTnSgIJjtREEx2oiCY7ERBMNmJgvjR1Nm9qX+9enAze/TRR834oUOHcmNbt24123r7zauFe0sfWzXhcePGmW0XL15sxu+91x5ZbT3+kSNHzLZXXXWVGd+xY4cZ97S0tOTGvCm0i+KZnSgIJjtREEx2oiCY7ERBMNmJgmCyEwXBZCcK4q+qzm4tk+uNffZqul492Vp6OHVM+N13323Gr7/+ejM+c+bM3NhXX31ltvWet7ck8/Tp0834smXLcmPXXXed2dYbt/3mm2+a8fXr1+fGVqxYYbZtNO/6BouVB1aNnmd2oiCY7ERBMNmJgmCyEwXBZCcKgslOFASTnSgIKXM+dBHRlHnErVq3N646dQ5ya/yxV2e3+g0A27ZtM+NvvfWWGb/vvvtyY+edd57Zdvbs2WbcuwbgxhtvNONHjx7NjXV1dZltV61aZcZffPFFM24dT1atGgC6u7vNeDNT1SGTzD2zi8hUEdkqIh+JyIci8uvs9lYR2Sgin2Q/7YXAiahStbyN7wWwSFUvB3A1gF+JyOUAFgPYrKqXAtic/U1ETcpNdlU9oKrvZr9/A2AXgIsBzAFw+n3WKgC3NqqTRJTurK6NF5FpAH4O4M8AJqvqgSx0EMDknDYdADqKd5GI6qHmb+NFZDyAtQAWqur3vpHSgW9Chvw2RFU7VbVdVduTekpESWpKdhEZiYFE/72q/im7+ZCItGXxNgCHG9NFIqoHt/QmA7WyVQCOqerCQbf/K4AvVHWpiCwG0Kqq/+Q8lrkxq7wF2MP3vPKWV2o5ceJE4fZeWe/xxx834w8//LAZv+eee8z4jBkzcmPz588327a2tppxz6ZNm8z40qVLc2ObN29O2nbK8dJo3vHoLRGeIq/0Vstn9msA3AXgAxE5PVn2IwCWAvijiCwA8DmA2+rRUSJqDDfZVXUbgLwrYX5R3+4QUaPwclmiIJjsREEw2YmCYLITBcFkJwqi9CGuVnzs2LFme6ue7T2P1Lhl/PjxZnzXrl1m/KKLLiq8bQAYNiz//2zveW3cuNGMr1y50oy//vrrZtwa0tzX12e29aQsN52y1LT32LVIuW7DU3iIKxH9ODDZiYJgshMFwWQnCoLJThQEk50oCCY7URBNtWTzyZMnzXhKbdOqRQP+2Gir7nrllVeabadMmWLGvbHN7733nhl/7rnncmO7d+82227ZssWMe+P8R44cacatcd2nTp0y23q8Wrn1+Kk1/tTx6ilj7a1j1XrOPLMTBcFkJwqCyU4UBJOdKAgmO1EQTHaiIJjsREGUPp7dqnd7Y4hTlnv26uzetlN49WCv5uvVsq3n7tV7R48ebca9pYu9vpl1X+c1SXne3ra9to0e7249N+/6A6ttb28v+vv7OZ6dKDImO1EQTHaiIJjsREEw2YmCYLITBcFkJwrCHc8uIlMBrAYwGYAC6FTVFSLyGIB/BHAku+sjqvqa93hWfdKru1q1T6+enFo3Tanxp9bwvbqrNd++N+7aq6NPmDDBjHvj3S3efvHmT/deU+t18Y41b056b9up11ZYrOdlxWqZvKIXwCJVfVdEfgLgHRE5vbLAclV96mw6SkTVqGV99gMADmS/fyMiuwBc3OiOEVF9ndVndhGZBuDnAP6c3XS/iLwvIs+KyMScNh0i0iUiXUk9JaIkNSe7iIwHsBbAQlX9GsAzAH4G4AoMnPmfHqqdqnaqaruqttehv0RUUE3JLiIjMZDov1fVPwGAqh5S1T5V7QfwGwAzGtdNIkrlJrsMfC35WwC7VPXfBt3eNuhucwHsrH/3iKhe3CGuInItgP8B8AGA07WSRwDMw8BbeAWwB8C92Zd51mMljae1ykhe6S1VytBcjzeNtVemsZb/Te2bV5rzpJQsPV55y9q2t1+8kmXKVNCAX/qzeKW3vCWba/k2fhuAoRq7NXUiah68go4oCCY7URBMdqIgmOxEQTDZiYJgshMFUfpU0qVt7CylTImcyhtOWcO1EIXberz9kjqlcspjpwxTbfSw5Crl1dl5ZicKgslOFASTnSgIJjtREEx2oiCY7ERBMNmJgii7zn4EwOeDbpoE4GhpHTg7zdq3Zu0XwL4VVc++/Y2qnj9UoNRk/8HGRbqadW66Zu1bs/YLYN+KKqtvfBtPFASTnSiIqpO9s+LtW5q1b83aL4B9K6qUvlX6mZ2IylP1mZ2ISsJkJwqikmQXkZtF5P9E5FMRWVxFH/KIyB4R+UBEdlS9Pl22ht5hEdk56LZWEdkoIp9kP4dcY6+ivj0mIvuzfbdDRGZX1LepIrJVRD4SkQ9F5NfZ7ZXuO6Nfpey30j+zi8hwAB8DuAnAPgDbAcxT1Y9K7UgOEdkDoF1VK78AQ0SuB3AcwGpV/dvstmUAjqnq0uw/yomq+s9N0rfHAByvehnvbLWitsHLjAO4FcA9qHDfGf26DSXstyrO7DMAfKqqn6lqD4A/AJhTQT+anqq+AeDYGTfPAbAq+30VBg6W0uX0rSmo6gFVfTf7/RsAp5cZr3TfGf0qRRXJfjGAvYP+3ofmWu9dAWwQkXdEpKPqzgxh8qBltg4CmFxlZ4bgLuNdpjOWGW+afVdk+fNU/ILuh65V1b8HMAvAr7K3q01JBz6DNVPttKZlvMsyxDLjf1Hlviu6/HmqKpJ9P4Cpg/6ekt3WFFR1f/bzMIB1aL6lqA+dXkE3+3m44v78RTMt4z3UMuNogn1X5fLnVST7dgCXishPRaQFwC8BvFxBP35ARMZlX5xARMYBmInmW4r6ZQDzs9/nA1hfYV++p1mW8c5bZhwV77vKlz/Plngt9R+A2Rj4Rn43gH+pog85/boEwHvZvw+r7huANRh4W3cKA99tLABwHoDNAD4BsAlAaxP17T8xsLT3+xhIrLaK+nYtBt6ivw9gR/ZvdtX7zuhXKfuNl8sSBcEv6IiCYLITBcFkJwqCyU4UBJOdKAgmO1EQTHaiIP4fI/MSFBG9xVUAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 39\n", "Searching for the initial direction on 100 random directions: \n", "--------> Found distortion 12.3863\n", "--------> Found distortion 9.5762\n", "--------> Found distortion 8.6469\n", "--------> Found distortion 8.3345\n", "--------> Found distortion 7.7052\n", "--------> Found distortion 7.5773\n", "==========> Found best distortion 7.5773 in 0.2156 seconds using 278 queries\n", "Iteration 10 distortion 1.6094 num_queries 3218\n", "Iteration 20 distortion 1.3016 num_queries 5736\n", "Iteration 30 distortion 1.2367 num_queries 8146\n", "Iteration 40 distortion 1.2150 num_queries 10506\n", "Iteration 50 distortion 1.2032 num_queries 12864\n", "Iteration 60 distortion 1.1983 num_queries 15172\n", "Iteration 70 distortion 1.1964 num_queries 17494\n", "Iteration 80 distortion 1.1939 num_queries 19830\n", "Iteration 90 distortion 1.1922 num_queries 22152\n", "Iteration 100 distortion 1.1915 num_queries 24474\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAPr0lEQVR4nO3dX4xc5XnH8d/j//Y6CBur1uKYOg0gFFWUVJaFBFRUUSKKkEwkFMVIlUtRNxdBSkQvsOAiSKWSKU1KryJtBMSpUiILg/BF1JoaU1oJBRZwwfxJTC2b2FrsWgbbi/H/pxdzHG3Mnvcdz5kz5+w+34+02t155uy8Prs/n5l5zntec3cBmPlmNT0AAINB2IEgCDsQBGEHgiDsQBBzBvlgZsZb/0DN3N2mur3Skd3MbjOzX5vZB2a2ocrP6vLxSj/Qm9Q+7eajys/HYFmvfXYzmy3pN5K+Lmm/pNckrXP3dxPbVDqyp/5AOF+gN1VDl9vv/M4Gr44j+xpJH7j7Hnc/LekXktZW+HkAalQl7Csk/XbS9/uL236PmY2Y2ZiZjVV4LAAV1f4GnbuPShqVeIMOaFKVI/sBSSsnff/F4jYALVQl7K9JusbMvmRm8yR9W9LW/gwLQL/1/DTe3c+a2X2S/l3SbElPuvs7fRvZ1I9Z28/OvSs9Ux+bd8R70+TvrFc9t956erAWv2aPGva6zdTWW5t/Z7WcVANg+iDsQBCEHQiCsANBEHYgCMIOBEHrDZhmcu1MWm9AcIQdCIKwA0EQdiAIwg4EQdiBIAZ6KWlgppiO05I5sgNBEHYgCMIOBEHYgSAIOxAEYQeCIOxAEPTZZ4BZs8r/z871ZHP1G2+8MVl/6qmnkvVbbrmltHb48OHktm1WtY/exFV3ObIDQRB2IAjCDgRB2IEgCDsQBGEHgiDsQBCtupR0m1fGbNKcOenTIRYsWFBaO3fuXHLba6+9Nll/8cUXk/WlS5cm648++mhpbePGjcltT548mayfOXMmWc/922eqsktJVzqpxsz2Sjou6Zyks+6+usrPA1CffpxB9+fuPn1PhQKC4DU7EETVsLukbWb2upmNTHUHMxsxszEzG6v4WAAqqPo0/mZ3P2BmfyDpBTN7391fnnwHdx+VNCqx1hvQpEpHdnc/UHw+JOk5SWv6MSgA/ddz2M1syMy+cOFrSd+QtKtfAwPQX1Wexi+X9FzRG58j6V/d/d+qDCZqHz01H13K99nnz5/fU02SVq9Od0tzffScBx54oLR20003Jbe9++67k/WjR48m6+fPny+tffbZZ8ltq14HoI1/yz2H3d33SPqTPo4FQI1ovQFBEHYgCMIOBEHYgSAIOxAEl5JugVxrbe7cucn64sWLS2u5acP3339/sp6TazGlHn9oaCi57cKFC5P13BTWs2fPltZy02NzTp06VWn7JnBkB4Ig7EAQhB0IgrADQRB2IAjCDgRB2IEgplWfPTUVNDWdse1mz56drOf68J988klpLddP3rdvX7Ke63XnxjY8PFxae//995PbTkxMJOu5f1vqbyI3rfj06dPJetXLnrNkM4DaEHYgCMIOBEHYgSAIOxAEYQeCIOxAENOqz15nLz3XN03Vc73mqpeKrjL3+sSJE8n6hx9+mKznxpab1z0+Pl5a27BhQ8/bSvnLZKfms+fObah7uecmLjXNkR0IgrADQRB2IAjCDgRB2IEgCDsQBGEHgphWffaUXN8016OfN29esp7qi1ad850be2554VR90aJFyW2vuuqqZD3XR8/tt1deeaW0luvx5+TGlrrefu7voep89TbKHtnN7EkzO2RmuybdttTMXjCz3cXnJfUOE0BV3TyN/6mk2y66bYOk7e5+jaTtxfcAWiwbdnd/WdKRi25eK2lT8fUmSXf2eVwA+qzX1+zL3f3CicsfSVpedkczG5E00uPjAOiTym/QububWem7Fe4+KmlUklL3A1CvXltvB81sWJKKz4f6NyQAdeg17FslrS++Xi/p+f4MB0Bdsk/jzexpSbdKWmZm+yX9QNJGSZvN7F5J+yR9q85BdiPXN831RXP1VM821yfPra+e64Xn5lan5qw/9NBDyW2vvPLKZP3o0aPJem5sR45c/N7u4KTWf89dF77KXHmp2trxub/FXtdPyIbd3deVlL6W2xZAe3C6LBAEYQeCIOxAEIQdCIKwA0HMmCmudU85TLU0clNQc5eCzo091+ZJLYt8/fXXJ7e97LLLkvXcNNJc23Dz5s2ltVxLMje23NTh1NTjTz/9NLltbp/n6rnLh1fZttdLqnNkB4Ig7EAQhB0IgrADQRB2IAjCDgRB2IEgZkyfvapcLzw1JbLKcs9Svmebm265atWq0todd9yR3DZnxYoVyXqu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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Warning: not moving\n", "Iteration 110 distortion 1.1910 num_queries 27647\n", "Warning: not moving\n", "Warning: not moving\n", "Succeed distortion 1.1910 target 8 queries 28225 LS queries 5747\n", "\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "image batch: 40\n", "clean count: 40\n", "acc under attack count: 0\n", "avg total queries used: 1280633\n", "avg stop queries used: 29031.678571428572\n", "average distortion: 1.672504523396492\n", "robust accuracy: 0.30000000000000004\n" ], "name": "stdout" } ] } ] }