{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 複数候補を一度に探索する\n", "\n", "1回の探索ステップで、2つ以上の候補を一度に評価する場合のチュートリアルです。\n", "\n", "## 探索候補データの準備\n", "\n", "これまでのチュートリアルと同様、データセットファイル [s5-210.csv](https://raw.githubusercontent.com/issp-center-dev/PHYSBO/master/examples/grain_bound/data/s5-210.csv) を `data` ディレクトリ以下に保存し、次のように読み出します。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-12-04T06:19:55.096798Z", "start_time": "2020-12-04T06:19:54.436605Z" } }, "outputs": [], "source": [ "import physbo\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "\n", "def load_data():\n", " A = np.asarray(np.loadtxt('data/s5-210.csv',skiprows=1, delimiter=',') )\n", " X = A[:,0:3]\n", " t = -A[:,3]\n", " return X, t\n", "\n", "X, t = load_data()\n", "X = physbo.misc.centering(X)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## simulator の定義\n", "\n", "後述の `num_search_each_probe` を2以上にした場合、action には action ID の array が入力されます。 \n", "各 action ID に対応した評価値のリストを返すように定義してください。\n", "\n", "基本チュートリアルと simulator の定義は同じですが、\n", "t は numpy.array であり、action に array が入力されると `self.t[action]` も array になる点に留意してください。" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-12-04T06:19:55.100697Z", "start_time": "2020-12-04T06:19:55.098103Z" } }, "outputs": [], "source": [ "class simulator:\n", " def __init__( self ):\n", " _, self.t = load_data()\n", " \n", " def __call__( self, action ):\n", " return self.t[action]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "simulator の実行例" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2020-12-04T06:19:55.218606Z", "start_time": "2020-12-04T06:19:55.102879Z" } }, "outputs": [ { "data": { "text/plain": [ "array([-1.01487066, -1.22884748, -1.05572838])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sim = simulator()\n", "sim([1,12,123])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 最適化の実行" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-12-04T06:19:55.224761Z", "start_time": "2020-12-04T06:19:55.220423Z" } }, "outputs": [], "source": [ "# policy のセット \n", "policy = physbo.search.discrete.policy(test_X=X)\n", "\n", "# シード値のセット \n", "policy.set_seed( 0 )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`num_search_each_probe` によって、各探索ステップにおいて評価する候補数を指定することができます。\n", "\n", "下記の実行例だと、ランダムサーチにより 2 ×10 = 20回、ベイズ最適化により 8 ×10 = 80回 simulator を評価することになります。 \n", "\n", "**引数** \n", "\n", "- `max_num_probes`: 探索ステップ数 \n", "- `num_search_each_probe`: 各探索ステップにおいて評価する候補数" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2020-12-04T06:20:24.195375Z", "start_time": "2020-12-04T06:19:55.226486Z" } }, "outputs": [], "source": [ "res = policy.random_search(max_num_probes=2, num_search_each_probe=10, simulator=simulator())\n", "\n", "res = policy.bayes_search(max_num_probes=8, num_search_each_probe=10, simulator=simulator(), score='EI', \n", " interval=2, num_rand_basis=100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 結果の確認" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2020-12-04T06:20:24.312635Z", "start_time": "2020-12-04T06:20:24.196633Z" } }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(res.fx[0:res.total_num_search])" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2020-12-04T06:20:24.415783Z", "start_time": "2020-12-04T06:20:24.314259Z" } }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "best_fx, best_action = res.export_all_sequence_best_fx()\n", "plt.plot(best_fx)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`res.export_sequence_best_fx()` により、各ステップまでに得られたベスト値とその action の履歴 を得られます。 \n", "\n", "`res.export_all_sequence_best_fx()` との違いは、simulator の評価毎ではなく、探索ステップ毎の情報になるという点です。 \n", "(今回の場合は合計ステップ数は 10, 評価数は 100 です)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2020-12-04T06:20:24.535770Z", "start_time": "2020-12-04T06:20:24.418352Z" } }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAD4CAYAAAAUymoqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAmqUlEQVR4nO3de3hV9Z3v8feHcFFAkZuAguKFKiiIuEXbahWlCnhaaWtFRzu0Rw7VaceO5+iM1nNqpy1TnXZm2p5pPcNYO8xUxlrvbQkGqa20WNugQqIgoIKCCQmCgFyEJN/zx16Mm7gjhJ2w9k4+r+fZz17rd8t37Sc736zfuikiMDMza40uaQdgZmalx8nDzMxazcnDzMxazcnDzMxazcnDzMxarWvaARwqAwYMiOHDh6cdhplZyViyZMnGiBiYr67TJI/hw4dTWVmZdhhmZiVD0tqW6jxtZWZmrebkYWZmrVZw8pDUT9ICSauS974ttLtLUnXympZTLkmzJK2UtFzSjTnlP5C0WtIySeNy+kxPft4qSdML3QYzM2udttjzuBVYGBEjgIXJ+j4kXQaMA8YC5wA3Szoyqf48MAw4NSJGAvcn5ZOBEclrJnB3MlY/4I5knPHAHS0lLDMzax9tkTwuB+Yky3OAqXnajAKejoiGiNgOLAMmJXU3AN+IiCaAiKjLGfffI+sPwFGShgCXAgsiYlNEbAYW5IxlZmaHQFskj0ERUZMs1wKD8rRZCkyS1FPSAGAC2b0NgJOAaZIqJZVLGpGUHwu8kTPGuqSspfL3kTQzGbeyvr7+YLbNzMzyOKBTdSU9CQzOU3V77kpEhKT33aY3IioknQ0sBuqBZ4DGpLoHsCsiMpI+DdwLnH/gm9CyiJgNzAbIZDK+fbCZWRs5oOQRERNbqpO0QdKQiKhJppXq8rWLiFnArKTPXGBlUrUOeDhZfgT4SbK8nvf2TgCGJmXrgQublf/mQLbDrCNauHwDS994O+0wrEj17NGV6y84qc3HbYuLBB8HpgN3Ju+PNW8gqQw4KiLekjQGGANUJNWPkp3Geg24gPeSyuPAlyXdT/bg+JYkQT0B/F3OQfJLgNvaYDvMSs5TK+qY8e+VRICUdjRWjAb07lG0yeNO4AFJ1wFrgSsBJGWA6yNiBtANWKTsb/dW4NqIaMjpf5+km4B3gBlJ+TxgCrAa2AF8ASAiNkn6JvCnpN03ImJTG2yHWUlZs3E7X7n/eUYOPpKHbvgIh3cvSzsk60TUWZ4kmMlkwrcnsY5ix+4GPv2jxdRu3cUvvnwew/r1TDsk64AkLYmITL46X2FuVmIigr95qIqVG7bxg6vOdOKwVDh5mJWYH//uNX6x9E1uvvQUPvahvDc8NWt3Th5mJWTxKxv5dvkKJp8+mBva4SCo2YFy8jArEW++vZMvz32eEwb04jufPQP59CpLkZOHWQnYtaeR63+6hD0NTfzL586id49O8ygeK1L+DTQrchHB1x6rZtm6Lcz+3FmcNLB32iGZec/DrNjN/ePrPFC5jr+86GQuOS3fXYLMDj0nD7MitmTtZr7++ItceMpA/mrih9IOx+y/OHmYFam6bbv4i/uWMKTP4Xx/2pmUdfEBcisePuZhVoT2NDbxpfueY+vOBh7+i/H06dkt7ZDM9uHkYVaEZv1qOX9as5kfXH0mI4ccuf8OZoeYp63MiszDz63j3xavYcZ5J/DJM45JOxyzvJw8zIpI9fot3PZwFeee2I9bJ5+adjhmLXLyMCsSm7fv5vqfLqFfr+7885+No2uZv55WvHzMw6wINDYFN97/PHVb3+Xn13+YAb17pB2S2Qdy8jArAt+teJlFqzZy12dGc8awo9IOx2y/CtovltRP0gJJq5L3vi20u0tSdfKallMuSbMkrZS0XNKNSfk1kpZJqpK0WNIZOX3WJOUvSPLTnazklVfVcPdvXuHPzjmOaWcfl3Y4Zgek0EnVW4GFETECWJis70PSZcA4YCzZZ5HfLGnvuYefB4YBp0bESOD+pPw14IKIGA18E5jdbNgJETG2pSdcmZWKVRu2cfPPl3LmcUdxxydGpR2O2QErNHlcDsxJlucAU/O0GQU8HRENEbEdWAZMSupuIPsM8iaAiKhL3hdHxOakzR+AoQXGaVZ0tu7awxf/YwmHd+/K3decRY+ufga5lY5Ck8egiKhJlmuBQXnaLAUmSeopaQAwgezeBsBJwDRJlZLKJY3I0/86oDxnPYAKSUskzfyg4CTNTMaurK+vb812mbWrpqbgf/5sKa9v2sGPrhnH4D6HpR2SWavs94C5pCeBfLfyvD13JSJCUjRvFBEVks4GFgP1wDNAY1LdA9gVERlJnwbuBc7P+dkTyCaP83KGPC8i1ks6GlggaUVEPJ0v9oiYTTLllclk3hebWVr++anVPLl8A1//xCjGn9Av7XDMWm2/ySMiJrZUJ2mDpCERUSNpCFDXwhizgFlJn7nAyqRqHfBwsvwI8JOcsccA9wCTI+KtnLHWJ+91kh4BxgN5k4dZMXpqRR3/9ORKPnXmsUz/yPC0wzE7KIVOWz0OTE+WpwOPNW8gqUxS/2R5DDAGqEiqHyU7jQVwAUlSkXQc2aTyuYhYmTNWL0lH7F0GLgGqC9wGs0NmzcbtfOX+5xk5+Ej+7lOj/ShZK1mFXudxJ/CApOuAtcCVAJIywPURMQPoBixKviRbgWsjoiGn/32SbgLeAWYk5V8D+gM/Svo1JGdWDQIeScq6AnMjYn6B22B2SOzY3cD1P11Cly7iXz53Fod39wFyK12K6ByHAjKZTFRW+rIQS0dEcOP9L/CrZW/yb18Yz8c+NDDtkMz2S9KSli6J8M1zzA6BH//uNX6x9E1uvvQUJw7rEJw8zNrZ4lc28u3yFUw+fTA3XHBS2uGYtQknD7N29ObbO/ny3Oc5YUAvvvPZM3yA3DoMJw+zdrJrTyPX/3QJexqa+JfPnUXvHr4PqXUc/m02awcRwdceq2bZui38659nOGlg77RDMmtT3vMwawdz//g6D1Su48aLTubjo/LdtcestDl5mLWxJWs38/XHX+TCUwbylYkfSjscs3bh5GHWhuq27eIv7lvCMUcdzvennUlZFx8gt47JycOsjexpbOJL9z3H1p0N/L9rz6JPz25ph2TWbnzA3KyNzPrVcv60ZjM/uPpMRg45cv8dzEqY9zzM2sDDz63j3xavYcZ5J/DJM45JOxyzdufkYVag6vVbuO3hKs49sR+3Tj417XDMDgknD7MCbN6+m+t/uoR+vbrzz382jq5l/kpZ5+BjHmYHqbEpuPH+56nb9i4//+KHGdC7R9ohmR0yTh5WchatqucfKlaS9uMEtu9uZHXdO/z9Z8ZwxrCjUo3F7FBz8rCS86+LXuO1jds587ijUo2jby+4MjOUK88elmocZmkoKHlI6gf8DBgOrAGujIjNedrdBVyWrH4zIn6WlAv4FvBZoBG4OyJ+IOlCso+0fS3p83BEfCPpMwn4PlAG3BMRdxayDVZa3t6xm8WrN3Ld+Sdw2+SRaYdj1mkVenTvVmBhRIwAFibr+5B0GTAOGAucA9wsae9J8J8HhgGnRsRI4P6crosiYmzy2ps4yoAfApOBUcDVkkYVuA1WQha8tIGGpmDK6UPSDsWsUys0eVwOzEmW5wBT87QZBTwdEQ0RsR1YBkxK6m4AvhERTQARUbefnzceWB0Rr0bEbrLJ5vLCNsFKyfzqWo496nDGDO2TdihmnVqhyWNQRNQky7VAvtuHLgUmSeopaQAwgezeBsBJwDRJlZLKJY3I6fdhSUuT8tOSsmOBN3LarEvK8pI0Mxm7sr6+/iA2z4rJ1l17WLRqI5NOH+yHKpmlbL/HPCQ9CQzOU3V77kpEhKT3nf4SERWSzgYWA/XAM2SPbwD0AHZFREbSp4F7gfOB54DjI+IdSVOAR4ERzcfen4iYDcwGyGQy6Z6aYwX79fI6djc2MWV0vl9HMzuU9ps8ImJiS3WSNkgaEhE1koYAeaedImIWMCvpMxdYmVStAx5Olh8BfpK035rTd56kHyV7Let5b68FYGhSZp1AeXUNg47swZnD+qYdilmnV+i01ePA9GR5OtkzpPYhqUxS/2R5DDAGqEiqHyU7jQVwAUlSkTQ4ORMLSeOTON8C/gSMkHSCpO7AVUkM1sFtf7eB37xcz6TTBtPFtzk3S12h13ncCTwg6TpgLXAlgKQMcH1EzAC6AYuSXLAVuDYiGnL63yfpJuAdYEZSfgVwg6QGYCdwVWSvCGuQ9GXgCbKn6t4bES8WuA1WAp56uY53G5qYPNpnWZkVA6V9le6hkslkorKyMu0w7CB9ae5zPPvqWzz71Yl+wJLZISJpSURk8tX5Lm5W9HbubuSpFXVcctpgJw6zIuHkYUXvtyvr2bG70RcGmhURJw8revOra+jbsxvnnNgv7VDMLOHkYUXt3YZGFi6v4+OjBtHNz8owKxr+NlpR+/3qjWx7t8FnWZkVGScPK2rzqmo54rCufPSkAWmHYmY5nDysaO1pbGLBSxv4+MhBdO/qX1WzYuJvpBWtZ155iy0793jKyqwIOXlY0SqvrqFX9zLOH+EpK7Ni4+RhRamhsYknXtzARSMHcVi3srTDMbNmnDysKP1xzSY2bd/NlNN9+3WzYuTkYUWpvKqWw7p14YJTBqYdipnl4eRhRaepKZj/Yi0TTjmant0LvfGzmbUHJw8rOkte30z9tnd9lpVZEXPysKIzr6qG7l27cNGpR6cdipm1wMnDikpTUzC/upaPjRhI7x6esjIrVgUlD0n9JC2QtCp5z/twaUl3SapOXtNyyiVplqSVkpZLujEpv0XSC8mrWlKjpH5J3RpJVUmdn+7UwSxd9zY1W3YxZbTPsjIrZoXuedwKLIyIEcDCZH0fki4DxgFjgXOAmyUdmVR/HhgGnBoRI4H7ASLiOxExNiLGArcBv42ITTnDTkjq8z7hykpXeXUt3crExSMHpR2KmX2AQpPH5cCcZHkOMDVPm1HA0xHREBHbgWXApKTuBuAbEdEEEBF1efpfDfxngXFaCYgI5lXV8NGTB9Dn8G5ph2NmH6DQ5DEoImqS5Vog37+LS4FJknpKGgBMILu3AXASME1SpaRySSNyO0rqSTbRPJRTHECFpCWSZn5QcJJmJmNX1tfXt37r7JB68c2trNu8008MNCsB+z0iKelJIN8E9O25KxERkqJ5o4iokHQ2sBioB54BGpPqHsCuiMhI+jRwL3B+TvdPAL9vNmV1XkSsl3Q0sEDSioh4Ol/sETEbmA2QyWTeF5sVl3lVNZR1ER8f5Skrs2K33+QRERNbqpO0QdKQiKiRNATIN+1ERMwCZiV95gIrk6p1wMPJ8iPAT5p1vYpmU1YRsT55r5P0CDAeyJs8rHREBOXVtXz4xP707dU97XDMbD8KnbZ6HJieLE8HHmveQFKZpP7J8hhgDFCRVD9KdhoL4ALeSypI6pOUPZZT1kvSEXuXgUuA6gK3wYrAyxu28drG7Uz2WVZmJaHQE+nvBB6QdB2wFrgSQFIGuD4iZgDdgEWSALYC10ZEQ07/+yTdBLwDzMgZ+1NARXKQfa9BwCPJWF2BuRExv8BtsCIwr6oWCS4Z5eRhVgoU0TkOBWQymais9GUhxeqSf/otfXt252df/HDaoZhZQtKSli6J8BXmlrrVddtYueEdpvheVmYlw8nDUldeVQvApad5ysqsVDh5WOrKq2s56/i+DO5zWNqhmNkBcvKwVK3ZuJ2XarYy2U8MNCspTh6WqvLq7JTVJCcPs5Li5GGpml9dwxlD+zC0b8+0QzGzVnDysNSs27yDpeu2MMn3sjIrOU4elpr5yZSVj3eYlR4nD0tNeXUto4YcyfABvdIOxcxaycnDUlG7ZRdL1m72XodZiXLysFTMr84+Bmayryo3K0lOHpaK8upaPjSoNycf3TvtUMzsIDh52CFXv+1d/rhmk8+yMithTh52yD3xYi0RMMXP7jArWU4edsjNr67lxAG9OGXQEWmHYmYHycnDDqlN23fzzKtvMen0wSQP9TKzElRw8pDUT9ICSauS974ttLtLUnXympZTvkjSC8nrTUmPJuWS9ANJqyUtkzQup8/05OetkjQ9z4+zIrXgpVoam8LP7jArcW2x53ErsDAiRgALk/V9SLoMGAeMBc4BbpZ0JEBEnB8RYyNiLPAM8HDSbTIwInnNBO5OxuoH3JGMMx64o6WEZcWnvLqWYf0O57Rjjkw7FDMrQFskj8uBOcnyHGBqnjajgKcjoiF5JvkyYFJugySZXAQ8mjPuv0fWH4CjJA0BLgUWRMSmiNgMLGg+lhWnLTv28PvVG5l8+hBPWZmVuLZIHoMioiZZrgUG5WmzFJgkqaekAcAEYFizNlPJ7sFsTdaPBd7IqV+XlLVU/j6SZkqqlFRZX1/fik2y9vDk8g3saQxfVW7WAXQ9kEaSngTyfeNvz12JiJAUzRtFRIWks4HFQD3Z6anGZs2uBu45kHgOVETMBmYDZDKZ98Vlh1Z5dS3H9DmMscOOSjsUMyvQASWPiJjYUp2kDZKGRERNMq1U18IYs4BZSZ+5wMqcMQaQPX7xqZwu69l372RoUrYeuLBZ+W8OZDssPe+828DTq+q55pzjPGVl1gG0xbTV48DeM56mA481byCpTFL/ZHkMMAaoyGlyBfDLiNjVbNw/T866OhfYkkyPPQFcIqlvcqD8kqTMitivV9Sxu6HJZ1mZdRAHtOexH3cCD0i6DlgLXAkgKQNcHxEzgG7AouQ/zq3AtRHRkDPGVck4ueYBU4DVwA7gCwARsUnSN4E/Je2+ERGb2mA7rB2VV9Vw9BE9OOs4nxhn1hEUnDwi4i3g4jzllcCMZHkX2TOuWhrjwjxlAXyphfb3AvceXMR2qO3Y3cBTL9fx2bOG0aWLp6zMOgJfYW7t7rcv17NrTxOTfS8rsw7DycPa3bzqWvr36s744f3SDsXM2oiTh7WrXXsa+fXyDVxy2iC6lvnXzayj8LfZ2tWiVRvZvruRyX52h1mH4uRh7aq8qoY+h3fjwyf1TzsUM2tDTh7WbnY3NLFg+QY+PmoQ3TxlZdah+Btt7eb3r2xk264GPzHQrANy8rB2U15VwxE9uvLRkwekHYqZtTEnD2sXexqbqHhpAxePPJoeXcvSDsfM2piTh7WLZ1/dxNs79jDZ97Iy65CcPKxdzKuuoWf3Mi740MC0QzGzduDkYW2usSmoeLGWCacezWHdPGVl1hE5eVib+9OaTWx8ZzdTfGGgWYfl5GFtrryqhh5du3DhKZ6yMuuonDysTTU1BeXVtVx4ykB69WiLx8WYWTFy8rA29fwbm6nb9q6fGGjWwRWUPCT1k7RA0qrkPe9j4iTdJak6eU3LKV8k6YXk9aakR5PyayQtk1QlabGkM3L6rEnKX5BUWUj81vbmVdXSvawLF516dNqhmFk7KnTP41ZgYUSMABYm6/uQdBkwDhgLnAPcLOlIgIg4PyLGRsRY4Bng4aTba8AFETEa+CYwu9mwE5J+mQLjtzYUEcyvruX8EQM44rBuaYdjZu2o0ORxOTAnWZ4DTM3TZhTwdEQ0RMR2YBkwKbdBkkwuAh4FiIjFEbE5qf4DMLTAOO0QWLZuC+vf3ukLA806gUKTx6CIqEmWa4FBedosBSZJ6ilpADABGNaszVSyezBb8/S/DijPWQ+gQtISSTM/KDhJMyVVSqqsr68/gM2xQsyrrqFrF/Hxkfl+DcysI9nv6TCSngTy3Rb19tyViAhJ0bxRRFRIOhtYDNSTnZ5qbNbsauCePD97AtnkcV5O8XkRsV7S0cACSSsi4ul8sUfEbJIpr0wm877YrO3snbL6yMkD6NPTU1ZmHd1+k0dETGypTtIGSUMiokbSEKCuhTFmAbOSPnOBlTljDADGA59qNvYYsgllckS8lTPW+uS9TtIjSd+8ycMOnZdqtrL2rR3ccMFJaYdiZodAodNWjwPTk+XpwGPNG0gqk9Q/WR4DjAEqcppcAfwyInbl9DmO7MHzz0VEbqLpJemIvcvAJUB1gdtgbaC8qpYugo+P8pSVWWdQ6FVcdwIPSLoOWAtcCSApA1wfETOAbsAiSQBbgWsjoiFnjKuScXJ9DegP/Cjp15CcWTUIeCQp6wrMjYj5BW6DFSgimFddw7kn9qd/7x5ph2Nmh0BBySOZTro4T3klMCNZ3kX2jKuWxrgwT9mMvf2blb8KnNG83NK1qu4dXq3fzhc+ekLaoZjZIeIrzK1g86pqkODS0zxlZdZZOHlYweZX13L28f04+ojD0g7FzA4RJw8ryCv177CidhuTR+c7m9vMOionDyvI/OpaACad7uRh1pk4eVhByqtrOPO4oxjS5/C0QzGzQ8jJww7a62/toHr9ViZ7r8Os03HysINWXp29rdlkP27WrNNx8rCDVl5dy+hj+zCsX8+0QzGzQ8zJww7K+rd38sIbb/tAuVkn5eRhB2XvWVY+3mHWOTl52EGZX13DqYOP4MSBvdMOxcxS4ORhrVa3dReVazf7QLlZJ+bkYa32xIu1RMAUX1Vu1mk5eVirzauq5eSjezNi0BFph2JmKXHysFZ56513efa1t3yg3KyTc/KwVql4aQNN4QsDzTq7gpKHpH6SFkhalbz3baHdXZKqk9e0nPJFkl5IXm9KejQpv1DSlpy6r+X0mSTpZUmrJd1aSPzWevOqahjevycjh3jKyqwzK3TP41ZgYUSMABYm6/uQdBkwDhgLnAPcLOlIgIg4PyLGRsRY4Bmyzy3fa9Heuoj4RjJWGfBDYDLZpxNeLanFpxRa23p7x26eeeUtJp0+hORRwGbWSRWaPC4H5iTLc4CpedqMAp6OiIaI2A4sAyblNkiSyUXAo/v5eeOB1RHxakTsBu5PYrBD4Ce/X0NDU3DZaE9ZmXV2hSaPQRFRkyzXAvmeQ7oUmCSpp6QBwARgWLM2U8nuwWzNKfuwpKWSyiWdlpQdC7yR02ZdUpaXpJmSKiVV1tfXH/hW2fssr9nKD59azdSxxzB6aJ+0wzGzlHXdXwNJTwL5Tq25PXclIkJSNG8UERWSzgYWA/Vkp6camzW7GrgnZ/054PiIeEfSFLJ7JCP2F2uenz0bmA2QyWTeF5sdmIbGJm55cClH9ezGHZ84bf8dzKzD22/yiIiJLdVJ2iBpSETUSBoC1LUwxixgVtJnLrAyZ4wBZKejPpXTfmvO8jxJP0rarWffvZahSZm1o9mLXqV6/VbuvmYcfXt1TzscMysChU5bPQ5MT5anA481byCpTFL/ZHkMMAaoyGlyBfDLiNiV02ewkiOyksYncb4F/AkYIekESd2Bq5IYrJ2srtvG955cxZTRg5nsYx1mltjvnsd+3Ak8IOk6YC1wJYCkDHB9RMwAugGLklywFbg2IhpyxrgqGSfXFcANkhqAncBVERFAg6QvA08AZcC9EfFigdtgLWhsCm55cBk9u5fxt588Pe1wzKyIKPs3uePLZDJRWVmZdhgl5Z5Fr/KtXy3ne9PGMvXMFs9LMLMOStKSiMjkq/MV5pbXmo3b+W7Fy0wceTSXjz0m7XDMrMg4edj7NDUFf/PQMrqVdeFbU0f7gkAzex8nD3uf+55dy7OvbeL/XDaKwX0OSzscMytCTh62jzc27eDb5Ss4f8QAPpsZmnY4ZlaknDzsv0QEX32kCgHf/rSnq8ysZU4e9l9+XrmORas2cuuUkQzt2zPtcMysiDl5GAC1W3bxzV+9xDkn9OOa8celHY6ZFTknDyMiuP2RKvY0NnHXZ8bQpYunq8zsgzl5GI+98CYLV9Rxy6WnMnxAr7TDMbMS4OTRydVve5ev/+JFxh13FJ//yPC0wzGzEuHk0cnd8Xg1O3Y38vdXnEGZp6vM7AA5eXRi86pqmFdVy19NHMHJR/dOOxwzKyFOHp3Upu27+dpj1Yw+tg8zzz8x7XDMrMQUekt2K1Hf+MWLbNm5h5/OOIeuZf4fwsxax381OqEnX9rAoy+8yZcmnMypg49MOxwzK0FOHp3Mlp17uP3RKk4dfAR/ceHJaYdjZiWqoOQhqZ+kBZJWJe99W2h3l6Tq5DUtp3yRpBeS15uSHk3Kb8kpr5bUKKlfUrdGUlVS56c7tdKsX73Exnd2850rzqB7V//vYGYHp9C/HrcCCyNiBLAwWd+HpMuAccBY4BzgZklHAkTE+RExNiLGAs8ADyfl38kpvw34bURsyhl2QlKf9wlXlt/TK+t5oHIdX/zYiYwe2iftcMyshBWaPC4H5iTLc4CpedqMAp6OiIaI2A4sAyblNkiSyUXAo3n6Xw38Z4FxdnrvvNvAbQ9XcdLAXtx48Yi0wzGzEldo8hgUETXJci0wKE+bpcAkST0lDQAmAMOatZlKdg9ma26hpJ5kE81DOcUBVEhaImnmBwUnaaakSkmV9fX1B7xRHdGd5ct5c8tO/v6KMzisW1na4ZhZidvvqbqSngQG56m6PXclIkJSNG8UERWSzgYWA/Vkp6camzW7Grgnz8/4BPD7ZlNW50XEeklHAwskrYiIp/PFHhGzgdkAmUzmfbF1Fs+88hY//cPrXHfeCZx1fN7DUmZmrbLf5BERE1uqk7RB0pCIqJE0BKhrYYxZwKykz1xgZc4YA4DxwKfydL2KZlNWEbE+ea+T9EjSN2/yMNixu4G/eWgZx/fvyc2XnJJ2OGbWQRQ6bfU4MD1Zng481ryBpDJJ/ZPlMcAYoCKnyRXALyNiV7N+fYALcseU1EvSEXuXgUuA6gK3oUP7h4qVvL5pB3d9ZgyHd/d0lZm1jUKvML8TeEDSdcBa4EoASRng+oiYAXQDFiWPNN0KXBsRDTljXJWM09yngIrkIPteg4BHkrG6AnMjYn6B29BhLVm7iXt//xqfO/d4zj2xf9rhmFkHoojOcSggk8lEZWXnuSxk155GpvxgEe/uaeKJmz5G7x6+E42ZtY6kJS1dEuG/KB3U9xeu4tX67fzHdeOdOMyszfkS4w5o2bq3mf30q0zLDOP8EQPTDsfMOiAnjw5md0MTf/3gMgb07s5XLxuZdjhm1kF5PqOD+eFTq1lRu40fT8/Q5/BuaYdjZh2U9zw6kOU1W/nhU6uZOvYYLh6Z72J/M7O24eTRQTQ0NnHLg0s5qmc37vjEaWmHY2YdnKetOojZi16lev1W7r5mHH17dU87HDPr4Lzn0QGsrtvG9xasYsrowUwePSTtcMysE3DyKHGNTcEtDy6jV48y/vaTp6cdjpl1Ep62KnE/+f1rPP/623z/qrEMPKJH2uGYWSfhPY8Stmbjdr5b8TITRx7NJ884Ju1wzKwTcfIoUU1NwV8/tIxuZV341tTRJDeLNDM7JJw8StR9z67lj69t4v9cNorBfQ5LOxwz62ScPErQG5t28O3yFZw/YgCfzQxNOxwz64ScPEpMRPDVR6oQ8O1Pe7rKzNLh5FFiHqh8g0WrNnLrlJEM7dsz7XDMrJMqOHlI6idpgaRVyXvfFtrdJak6eU3LKb9Y0nOSXpD0O0knJ+U9JP1M0mpJz0oantPntqT8ZUmXFroNpaJ2yy6+9cvlnHtiP64Zf1za4ZhZJ9YWex63AgsjYgSwMFnfh6TLgHHAWOAc4GZJRybVdwPXRMRYYC7wv5Py64DNEXEy8E/AXclYo8g+uvY0YBLwI0kd/uHcEcHtj1Sxp6mJuz4zhi5dPF1lZulpi+RxOTAnWZ4DTM3TZhTwdEQ0JM8kX0b2Dz9AAHsTSR/gzTzjPghcrOwE/+XA/RHxbkS8BqwGxrfBdhS1x154k4Ur6rjl0lM5vn+vtMMxs06uLa4wHxQRNclyLZDvXuBLgTsk/QPQE5gAvJTUzQDmSdoJbAXOTcqPBd4AiIgGSVuA/kn5H3LGXpeUvY+kmcBMgOOOO7hpnk/839+xa0/jQfVtS+s272TccUfx+Y8MTzsUM7MDSx6SngQG56m6PXclIkJSNG8UERWSzgYWA/XAM8Dev8g3AVMi4llJtwD/SDahFCwiZgOzATKZzPviOhAnDezF7samtginIKOH9uGmiR+izNNVZlYEDih5RMTEluokbZA0JCJqJA0B6loYYxYwK+kzF1gpaSBwRkQ8mzT7GTA/WV4PDAPWSepKdkrrrZzyvYYmZe3ie1ed2V5Dm5mVrLY45vE4MD1Zng481ryBpDJJ/ZPlMcAYoALYDPSR9KGk6ceB5XnGvQL4dUREUn5VcjbWCcAI4I9tsB1mZnaA2uKYx53AA5KuA9YCVwJIygDXR8QMoBuwKLmgbStwbUQ0JO3+B/CQpCayyeS/J+P+GPgPSauBTWTPsCIiXpT0ANljJg3AlyIi/YMSZmadiLL/zHd8mUwmKisr0w7DzKxkSFoSEZl8db7C3MzMWs3Jw8zMWs3Jw8zMWs3Jw8zMWs3Jw8zMWq3TnG0lqZ7sqcQHYwCwsQ3DKWX+LPblz2Nf/jze0xE+i+MjYmC+ik6TPAohqbKl09U6G38W+/LnsS9/Hu/p6J+Fp63MzKzVnDzMzKzVnDwOzOy0Aygi/iz25c9jX/483tOhPwsf8zAzs1bznoeZmbWak4eZmbWak8cHkDRJ0suSVku6Ne140iRpmKSnJL0k6UVJX0k7prQlz6l5XtIv044lbZKOkvSgpBWSlkv6cNoxpUnSTcn3pFrSf0o6LO2Y2pqTRwsklQE/BCYDo4CrJY1KN6pUNQD/KyJGkX3O/Jc6+ecB8BXee3hZZ/d9YH5EnAqcQSf+XCQdC9wIZCLidKCM5HlEHYmTR8vGA6sj4tWI2A3cD1yeckypiYiaiHguWd5G9o/DselGlR5JQ4HLgHvSjiVtkvoAHyP7ADciYndEvJ1qUOnrChyePEK7J/BmyvG0OSePlh0LvJGzvo5O/Mcyl6ThwJnAs/tp2pF9D/hroCnlOIrBCUA98JNkGu8eSb3SDiotEbEe+C7wOlADbImIinSjantOHtYqknoDDwF/FRFb044nDZL+G1AXEUvSjqVIdAXGAXdHxJnAdqDTHiOU1JfsLMUJwDFAL0nXphtV23PyaNl6YFjO+tCkrNOS1I1s4rgvIh5OO54UfRT4pKQ1ZKczL5L003RDStU6YF1E7N0TfZBsMumsJgKvRUR9ROwBHgY+knJMbc7Jo2V/AkZIOkFSd7IHvB5POabUSBLZOe3lEfGPaceTpoi4LSKGRsRwsr8Xv46IDvef5YGKiFrgDUmnJEUXAy+lGFLaXgfOldQz+d5cTAc8gaBr2gEUq4hokPRl4AmyZ0vcGxEvphxWmj4KfA6okvRCUvbViJiXXkhWRP4SuC/5R+tV4Aspx5OaiHhW0oPAc2TPUnyeDnirEt+exMzMWs3TVmZm1mpOHmZm1mpOHmZm1mpOHmZm1mpOHmZm1mpOHmZm1mpOHmZm1mr/HyWDURweG2bJAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "best_fx, best_action = res.export_sequence_best_fx()\n", "plt.plot(best_fx)" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 1 }