{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "UXWMdTw6dZXp" }, "source": [ "# ベンチマーク関数 標準誤差機能 の使い方" ] }, { "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/ja/002-Evaluation_errorbar.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ベンチマーク関数に追加した標準誤差機能の使い方を解説します。 " ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "jARNE9idcsUF" }, "source": [ "## ライブラリのインストール、モデルの準備\n", "OpenJij のリポジトリから Fork した自分のリポジトリ内に、さらに feature/error_bar リポジトリを branch しました。\n", "標準誤差関数が実装されるまでは、自分のGitHubから、 OpenJij をインストールして、実行ができます。 \n", "\n", "反強磁性1次元イジングモデルの準備" ] }, { "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", "# 反強磁性1次元イジングモデル を作る\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": [ "## ベンチマーク関数\n", "呼び出し方は、今まで通りです。\n", "\n", "引数に変化はありません。 \n", "返り値として、以下の計算結果が新たに辞書型で格納されるようにしました。 \n", "\n", "- se_success_prob: 成功確率の標準誤差のリスト \n", " iteration 回アニーリング時、成功確率の期待値の標準偏差 \n", " step_num ごとに、格納されている\n", "\n", "- se_residual_energy: 残留エネルギーの標準誤差のリスト \n", " iteration 回アニーリング時の、残留エネルギー値の平均の標準偏差 \n", " step_num ごとに、格納されている\n", "\n", "- se_lower_tts: TTSの下位誤差のリスト\n", " 成功確率の上位誤差を基に算出したTTSの下位誤差\n", "\n", "- se_upper_tts: TTSの上位誤差のリスト\n", " 成功確率の下位誤差を基に算出したTTSの下位誤差" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# 最適解\n", "correct_state = [(-1)**i for i in range(N)]\n", "\n", "# ステップ数とアニーリングの反復数を与えます\n", "step_num_list = list(range(10, 101, 10)) # [10, 20,,,, 100]\n", "iteration = 100\n", "\n", "# benchmark 関数で TTS 残留エネルギー 成功確率 標本平均 標準誤差を計算\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": null, "metadata": {}, "outputs": [], "source": [ "# seaborn を使うとグラフが見やすくなる\n", "!pip install seaborn\n", "import seaborn as sns\n", "sns.set()" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "b3rIcLQ8hNcE" }, "source": [ "### TTS 残留エネルギー 成功確率\n", "TTS 残留エネルギー 成功確率 の可視化は今まで通りできます。" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Success probability')" ] }, "execution_count": 4, "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": [ "### 標準誤差\n", "標準誤差は、se_success_probとse_residual_energyに格納されています。 \n", "これらを使えば、標準誤差のエラーバーを表示できます。" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[inf, inf, inf, inf, 7858.819354838525, 2654.190893716449, 2178.0486375615496, 5615.492293981748, 1464.0152746680208, 468.88364094269514]\n", "[inf, inf, inf, inf, 5513.0440804857535, 1185.3970674363136, 427.5985307963406, 325.07613576824417, 279.1623010043531, 201.6331109905467]\n", "[4.480755708267492, 4.224937988905992, 4.116436627114585, 3.6505984012033816, 3.400475308428562, 2.6654542698471615, 2.2271057451320084, 1.8134180015883952, 1.435340384787532, 1.0490977364412055]\n", "[0.0, 0.0, 0.0, 0.0, 0.1705872210923198, 0.33630343441600474, 0.46647615158762396, 0.49839743177508444, 0.4828043081829324, 0.41424630354415964]\n" ] } ], "source": [ "# 標準誤差の確認\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": 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'])\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": [ "1回のアニーリング時間が延びると、成功確率と残留エネルギーについて標準誤差のエラーバーが短くなっていくことが確認できました。" ] } ], "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 }