{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "UXWMdTw6dZXp" }, "source": [ "# How to use the standard error function of benchmark functions" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "view-in-github" }, "source": [ "[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/OpenJij/OpenJijTutorial/blob/master/source/en/002-Evaluation_errorbar.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This section explains how to use the standard error function added to the benchmark function." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "jARNE9idcsUF" }, "source": [ "## Install Libraries and model preparation\n", "\n", "We can branch an additional feature/error_bar repository into own repository, which we forked from OpenJij's repository.\n", "\n", "Antiferomagnetic one-dimensional Ising model preparation, " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import random\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import openjij as oj\n", "\n", "# set antiferomagnetic one-dimensional Ising model\n", "N = 30\n", "h = {0: -10}\n", "J = {(i, i+1): 1 for i in range(N-1)}" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "35hEh_F8fL7I" }, "source": [ "## Benchmark function\n", "\n", "The usage is the same as before.\n", "\n", "Auguments are unchanged.\n", "The following calculations are now stored in a new dictionary type as the return value.\n", "\n", "- se_success_prob: a list of standard errors for success probability \n", " standard deviation of the expected value of success probability when we anneal `iteration` times.\n", " the values are stored for each `step_num`\n", "\n", "- se_residual_energy: a list of standard errors for residual energy \n", " standard deviation of the average value of residual energy when we anneal `iteration` times.\n", " the values are stored for each `step_num`\n", "\n", "- se_lower_tts: a list of lower errors in TTS\n", " The lower error of TTS computed based on the upper error of success probability\n", " \n", "- se_upper_tts: a list of upper errors in TTS\n", " The upper error of TTS computed based on the lower error of success probability" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# set optimal solution\n", "correct_state = [(-1)**i for i in range(N)]\n", "\n", "# set step_num and iteration\n", "step_num_list = list(range(10, 101, 10)) # [10, 20,,,, 100]\n", "iteration = 100\n", "\n", "# compute TTS, residual energy, success probability, specimen average & standard error\n", "sampler = oj.SASampler(num_reads=iteration)\n", "result = oj.solver_benchmark(\n", " solver=lambda time, **args: sampler.sample_ising(h,J,num_sweeps=time), \n", " time_list=step_num_list, solutions=[correct_state], p_r=0.99\n", " )" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# option: seaborn is good at visualization\n", "# !pip install seaborn\n", "import seaborn as sns\n", "sns.set()" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "b3rIcLQ8hNcE" }, "source": [ "### TTS, residual energy and success probability\n", "\n", "We can visulalize TTS, residual energy, success probability as before." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Success probability')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (axL,axC,axR) = plt.subplots(ncols=3, figsize=(15,3))\n", "plt.subplots_adjust(wspace=0.4)\n", "\n", "fontsize = 10\n", "axL.plot(result['time'], result['tts'], color = 'black')\n", "axL.set_xlabel('annealing time', fontsize=fontsize)\n", "axL.set_ylabel('TTS', fontsize=fontsize)\n", "\n", "axC.plot(result['time'], result['residual_energy'], color = 'black')\n", "axC.set_xlabel('annealing time', fontsize=fontsize)\n", "axC.set_ylabel('Residual energy', fontsize=fontsize)\n", "\n", "axR.plot(result['time'], result['success_prob'], color = 'black')\n", "axR.set_xlabel('annealing time', fontsize=fontsize)\n", "axR.set_ylabel('Success probability', fontsize=fontsize)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "qcjyWsVVhif0" }, "source": [ "### Standard error\n", "\n", "The value of standard error is stored in `se_success_prob` & `se_residual_energy`.\n", "These allow us to display standard error bars." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[inf, inf, inf, inf, 7695.650221419744, 3644.8655556701647, 3208.0260160559314, 14055.445317726388, 1322.6002725331891, 489.1079299082817]\n", "[inf, inf, inf, inf, 5398.579224570907, 1993.1589254329997, 321.5840555508159, 337.1023745696516, 272.15911680620405, 201.95995978525684]\n", "[4.869986414433583, 4.426686746942408, 3.9944911560747753, 3.4523597551222673, 3.5046866169214455, 2.512112073675669, 2.0192007619777974, 1.906925178491185, 1.4905764595679691, 1.1399096189584241]\n", "[0.0, 0.0, 0.0, 0.0, 0.17058722109231983, 0.2712931993250107, 0.49183330509431744, 0.4995998398718718, 0.48, 0.4208325082500163]\n" ] } ], "source": [ "# check for standard errors\n", "print(result['se_upper_tts'])\n", "print(result['se_lower_tts'])\n", "print(result['se_residual_energy'])\n", "print(result['se_success_prob'])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Success probability')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# visualization\n", "fig, (axL,axC,axR) = plt.subplots(ncols=3, figsize=(15,3))\n", "plt.subplots_adjust(wspace=0.4)\n", "\n", "fontsize = 10\n", "axL.plot(result['time'], result['tts'])\n", "axL.errorbar(result['time'], result['tts'], yerr = (result['se_lower_tts'],result['se_upper_tts']), capsize=5, fmt='o', markersize=5, ecolor='black', markeredgecolor = \"black\", color='w')\n", "axL.set_xlabel('annealing time', fontsize=fontsize)\n", "axL.set_ylabel('TTS', fontsize=fontsize)\n", "\n", "axC.plot(result['time'], result['residual_energy'])\n", "axC.errorbar(result['time'], result['residual_energy'], yerr = result['se_residual_energy'], capsize=5, fmt='o', markersize=5, ecolor='black', markeredgecolor = \"black\", color='w')\n", "axC.set_xlabel('annealing time', fontsize=fontsize)\n", "axC.set_ylabel('Residual energy', fontsize=fontsize)\n", "\n", "axR.plot(result['time'], result['success_prob'])\n", "axR.errorbar(result['time'], result['success_prob'], yerr = result['se_success_prob'], capsize=5, fmt='o', markersize=5, ecolor='black', markeredgecolor = \"black\", color='w')\n", "axR.set_xlabel('annealing time', fontsize=fontsize)\n", "axR.set_ylabel('Success probability', fontsize=fontsize)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "jp1jyVhoiIeJ" }, "source": [ "As annealing time per session increased, error bars of the standard errors for success probability and residual energy become shorter and shorter." ] } ], "metadata": { "colab": { "collapsed_sections": [], "include_colab_link": true, "name": "errorbar_tts_check3", "provenance": [] }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.3" } }, "nbformat": 4, "nbformat_minor": 4 }