<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>量子アニーリング | 背景</title>
	<atom:link href="https://moonpeta.com/tag/%E9%87%8F%E5%AD%90%E3%82%A2%E3%83%8B%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://moonpeta.com</link>
	<description></description>
	<lastBuildDate>Mon, 08 Dec 2025 12:38:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://moonpeta.com/wp-content/uploads/2023/10/cropped-wraith_logo_ribon_pink-32x32.png</url>
	<title>量子アニーリング | 背景</title>
	<link>https://moonpeta.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>量子コンピューティングの資格取ってみた</title>
		<link>https://moonpeta.com/nikki/quantum_computing_sikaku/</link>
					<comments>https://moonpeta.com/nikki/quantum_computing_sikaku/#respond</comments>
		
		<dc:creator><![CDATA[フローラ]]></dc:creator>
		<pubDate>Wed, 05 Nov 2025 01:10:50 +0000</pubDate>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[量子アニーリング]]></category>
		<category><![CDATA[量子コンピューター]]></category>
		<guid isPermaLink="false">https://www.fruity-floral.com/?p=4809</guid>

					<description><![CDATA[　このたび、一般社団法人日本量子コンピューティング協会が運営する量子コンピューティングの資格を取ってみました。2024年からはじまった割とマイナーな資格であり、記事も少なかったりするのでせっかくなので感想を書いてみます。 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>　このたび、一般社団法人日本量子コンピューティング協会が運営する量子コンピューティングの資格を取ってみました。2024年からはじまった割とマイナーな資格であり、記事も少なかったりするのでせっかくなので感想を書いてみます。</p>



<h3 class="wp-block-heading"><span id="toc1">概要</span></h3>





<a rel="noopener" target="_blank" href="https://www.jqca.org/course.php" title="資格/認定講座 - JQCA" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://www.jqca.org/renewal/src/img/og/og-course.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">資格/認定講座 - JQCA</div><div class="blogcard-snippet external-blogcard-snippet">量子コンピューティングの基礎から応用まで学べる認定講座。量子アニーリング式、量子ゲート式、量子ジェネラリスト講座を提供。受講後に資格認定証を発行し、量子技術人材として認定します。</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.jqca.org/course.php" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.jqca.org</div></div></div></div></a>




<p>詳細は上記のリンクを見てほしいですが、この資格は「一般社団法人日本量子コンピューティング協会」というよくわからない団体が運営する認定資格になります。</p>



<figure class="wp-block-image size-large"><a href="https://moonpeta.com/wp-content/uploads/2025/09/image.png"><img fetchpriority="high" decoding="async" width="1024" height="483" src="https://moonpeta.com/wp-content/uploads/2025/09/image-1024x483.png" alt="" class="wp-image-4811" srcset="https://moonpeta.com/wp-content/uploads/2025/09/image-1024x483.png 1024w, https://moonpeta.com/wp-content/uploads/2025/09/image-300x142.png 300w, https://moonpeta.com/wp-content/uploads/2025/09/image-768x362.png 768w, https://moonpeta.com/wp-content/uploads/2025/09/image-1536x725.png 1536w, https://moonpeta.com/wp-content/uploads/2025/09/image.png 1791w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">上のリンクより引用</figcaption></figure>



<p>　試験の種類としては、上の5つがありました。<br>　アニーリングとゲートで別れており、簡単な方のエントリーコースと難しい方のアドバンスコースがあるようです。あとはジェネラリスト試験もあるようですね。<br>　私は今回「量子エンジニア（アニーリング式）アドバンス認定試験」を受けてみました。</p>



<h3 class="wp-block-heading"><span id="toc2">大まかな流れ</span></h3>



<p>　「量子エンジニア（アニーリング式）アドバンス認定試験」の場合ですが、以下のように進めます。</p>



<ol class="wp-block-list">
<li>アニーリング アドバンス講座（全３回）を受講。</li>



<li>認定試験の説明動画を購入する。</li>



<li>試験問題を解いて提出する。</li>
</ol>



<p>1. この全3回の講座自体は無料なので、認定試験を受けなくても受講することができます。またこの講座を受けることは必須ではありません。時間的には40分*3回くらいなので、気になったら見てみるくらいでいいかと思いました。<br>2. で試験の概要を説明している動画を購入するのですが、これが受験料になります。どの試験も共通で9800円です。高いわ！　これを購入することで、試験問題をダウンロードできるようになります。<br>3. 試験問題を解いて提出します。試験問題はJupyter Notebook形式で与えられて、それに直接プログラムを書いて提出します。ローカルの環境を用意しなくてもgoogle colabが使えればOKです。試験期間は1週間程度あるので、時間は十分ありましたね、もちろん講義動画を参照したりネットの情報を調べたりしてもOKです。ちなみに量子アニーリングの実装には必ずtytanというライブラリを使わなければいけません。私は使ったことはなかったですが、シンプルなので特に困るということはなかったです。</p>



<h3 class="wp-block-heading"><span id="toc3">結果</span></h3>



<p>　無事受かりました。<br>　私の場合は解答を提出した段階の感触で落ちることはないだろうなーという感じでした。<br>　試験の難易度としては、量子アニーリングや最適化の実装を軽くしたことがある人なら難しくはないかなーという感じです。まったく無知の状態でも、講義の動画を一通り見ておけば落ちることはあまりない気がします（おそらく）。</p>



<p>　試験合格後は謎の一般社団法人日本量子コンピューティング協会のサイトに登録する必要があり、そこから住所などを入力することで、合格証の発行がされるようですね。合格証が届くまではけっこう時間がかかりました。</p>



<h3 class="wp-block-heading"><span id="toc4">感想とまとめ</span></h3>



<p>　まず第一に思うのは受験料が高いですね。5000円くらいなら他のをネタ的に受けるのもありかと思うのですが、9800円もするので他のはまあいいかなーという感じです。基本的に話のネタくらいにしかならない超マイナー資格なので、それで9800円はほとんどの人が出さないと思います。<br>　あと、試験全体の運営としても割とお粗末な感じはありましたね。試験の解答を提出しても返事がなかったり、問い合わせの回答も来なかったりとか、まあ小規模な運営っぽいのでこのあたりは目をつむりましょう。<br>　一方で、試験の内容自体は実際にスクラッチから量子アニーリングのプログラムを書いて提出する感じなので、やっててけっこう楽しかったです。<br>　基本的に受けてちゃんとやれば受かるって感じで、そういう意味ではこの試験を持っていることが量子コンピューティングの知識を保証する感じではない気がしますね。まあ、すでに述べましたが、話のネタにはなるかなーくらいの感覚で受けるのがよいと思います。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://moonpeta.com/nikki/quantum_computing_sikaku/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PyQUBOにおける3乗以上の項の扱い</title>
		<link>https://moonpeta.com/programming/pyqubotips/</link>
					<comments>https://moonpeta.com/programming/pyqubotips/#respond</comments>
		
		<dc:creator><![CDATA[フローラ]]></dc:creator>
		<pubDate>Tue, 09 Nov 2021 13:48:18 +0000</pubDate>
				<category><![CDATA[python]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[PyQUBO]]></category>
		<category><![CDATA[QUBO]]></category>
		<category><![CDATA[量子アニーリング]]></category>
		<category><![CDATA[量子コンピュータ]]></category>
		<guid isPermaLink="false">https://www.fruity-floral.com/?p=1291</guid>

					<description><![CDATA[　PyQUBOのドキュメント[1]には3乗以上の項の扱いがあまり詳しく書かれていなかったのでメモ書きしておきます。 　そもそもQUBOのQはQuadraticのQなのでコスト函数は2次形式でないといけないわけですが、現実 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>　PyQUBOのドキュメント<a href="#1">[1]</a>には3乗以上の項の扱いがあまり詳しく書かれていなかったのでメモ書きしておきます。</p>



<p>　そもそもQUBOのQはQuadraticのQなのでコスト函数は2次形式でないといけないわけですが、現実問題として3乗以上の項が含まれたコスト函数を扱いたいときはあります。そういうときは変数の置き換えが必要になりますが、PyQUBOならそれは勝手にやってくれます。<br>　例えば一番シンプルな3次のコスト函数例として以下のコスト関数を考えてみます。</p>



\[
H(x,y,z)=\alpha xyz
\]



<p>　もちろん、ここで\(x,y,z\)は \(0\) か \(1\) のみを取ります。<br>　これをPyQUBOに入れてQUBOを生成してみます。ここではとりあえず\(\alpha=7\)としてます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-python" data-lang="Python"><code>#プレースホルダー
alpha = Placeholder(&quot;alpha&quot;)
#変数
x, y, z = Binary(&quot;x&quot;), Binary(&quot;y&quot;), Binary(&quot;z&quot;)
#コスト函数
H = alpha * x * y * z
#コンパイル
model = H.compile()
#QUBOを生成
QUBO, offset = model.to_qubo(feed_dict = {&quot;alpha&quot;: 7})
#変数リスト
print(model.variables)
#QUBO
print(QUBO)</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain" data-file="出力結果"><code>[&#39;x&#39;, &#39;y&#39;, &#39;z&#39;, &#39;0*1&#39;]
{(&#39;x&#39;, &#39;x&#39;): 0.0, (&#39;y&#39;, &#39;y&#39;): 0.0, (&#39;z&#39;, &#39;z&#39;): 0.0, (&#39;y&#39;, &#39;0*1&#39;): -10.0, (&#39;z&#39;, &#39;0*1&#39;): 7.0, (&#39;0*1&#39;, &#39;0*1&#39;): 15.0, (&#39;x&#39;, &#39;0*1&#39;): -10.0, (&#39;x&#39;, &#39;y&#39;): 5.0}</code></pre></div>



<p>　ここでmodel.variablesの出力を見てみると、0*1というものが現れています。これは私たちが定義した変数ではなくて、PyQUBOが次数を下げるために自動的に生成した変数であり、\(xy\)を置き換えたものです。ここでは\(0*1=w=xy\)と書くことにします。QUBOの出力結果だけを見てもよくわからないですが、実はPyQUBOが出力したコスト函数は以下のようになっています。</p>



\[
H_\mathrm{pyqubo}(x,y,z,w)=\alpha zw+S(xy-2xw-2yw+3w)
\]



<p>　ここでPyQUBOが生成したコスト関数\(H_\mathrm{pyqubo}(x,y,z,w)\)は、新たな変数\(w=xy\)を使って次数を下げたことにより、2次式になっていることがわかります。つまり変数を追加することでQUBOを定義できるようになりました。<br>　この式の第一項は \(w=xy\)ですので、もとのコスト函数であることがわかります。<br>　次に第二項の \(S\)に比例する項が何かというと、 \(w=xy\)を成り立たせるための制約項になっています。第二項はこの等号が成り立つときに0になり、成り立たないときには正のペナルティを与えるようになっていることがわかります。そして \(S\)は8行目のcompile()の引数strengthです。いまはcompile()に引数を与えずに実行したので、この場合はデフォルト引数のstrength=5が入ります。</p>



<p><br>　つまりPyQUBOは3次以上のコスト函数を与えたとき、変数をうまく置き換えて2次式に変換し、後ろに置き換えた変数に矛盾が起こらないための制約項を追加してくれます、便利ですね。<br>　もともとのコスト函数には全体に \(\alpha\)がかかっていますが、PyQUBOが生成したQUBOはそうなっていないことに注意してください。</p>



<h3 class="wp-block-heading"><span id="toc1">strengthの注意点</span></h3>



<p>　以下のようなコスト関数考えてみます。</p>



\[
H(x,y,z)=-2\alpha xyz+\alpha yz
\]



<p>　これをPyQUBOで生成したQUBOを使ってコスト函数に戻すと以下のようになります。</p>



\[
H_\mathrm{pyqubo}(x,y,z,w)=-2\alpha zw+\alpha yz+S(xy-2xw-2yw+3w)
\]



<p>　先程と同じように \(w:=xy\)を新たな変数として追加しています。 \(\alpha\)含みの項は明らかにもとのコスト函数部分で、 \(S\)含みの項は変数置き換えが矛盾しないように導入したペナルティで、先程と同じ表式になっています。<br>　ところでもともとのコスト函数の最小値は \(H(1,1,1)=-\alpha\) です。第一項を消えないようにするには \((x,y,z)=(1,1,1)\) しか許されず、この場合第二項が必ず残るからです。<br>　ところが、\(H_\mathrm{pyqubo}(x,y,z,w)\)では、第一項と第二項の第一項だけを生き残らせることができます。つまり</p>



\[
\begin{align}
H_\mathrm{pyqubo}(x,0,1,1)=-2\alpha+S(-x+3)
\end{align}
\]



<p>　となるときです。このとき\(S\)が小さければ元々の最小値\(-\alpha\)よりも小さい解が出てくる可能性があります。実際今考えてるコスト函数をそのままPyQUBOでQUBOを生成し計算すると、デフォルトの\(S\)は5なので、 \(\alpha\)が6以上だと誤った最小値を拾ってきます。もしくは\(\alpha=5\)だと、本来の最小値とコストは一致するが、変数を置き換えの制約を満たさないような組み合わせが出現します（ここら辺の数字の話は今回のコスト関数特有なので重要ではないですが、とにかく）。これを阻止するためには変数置き換えの制約を破ったときのペナルティ\(S\)つまり.compile(strength)のstrengthを十分大きくしましょうという話でした。</p>



<h3 class="wp-block-heading"><span id="toc2">参考文献</span></h3>



<p><div id="1">[1]<a rel="noopener" target="_blank" href="https://pyqubo.readthedocs.io/en/latest/index.html" data-type="URL" data-id="https://pyqubo.readthedocs.io/en/latest/index.html">PyQUBO公式ドキュメント<span class="fa fa-external-link external-icon anchor-icon"></span></a></div></p>



<h3 class="wp-block-heading"><span id="toc3">本日の作業用BGM</span></h3>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="【大人っぽく】エンヴィーベイビー【歌ってみた(cover)/ときのそら】" width="1256" height="707" src="https://www.youtube.com/embed/BQ76G9I3gIc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://moonpeta.com/programming/pyqubotips/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
