やること
ここ数ヶ月、QUBOでやたらにペンシルパズルを解いてきました。お楽しみいただけたでしょうか?
実は少し前に「TYTAN」というOSSのアニーリングSDKが立ち上がりました。
筆者はそのトレーニングを担当していて、ここの記事から学習に良さそうなものを選別してチュートリアルコースを組んでいます。discordコミュニティもあるので気軽に質問できます。(discord参加リンクはリンク内に↓)。
チュートリアルを終えて試験に合格するとblueqat社が認定する「qubomaster」という資格が与えられます。合格基準は、TYTANが使いこなせ、QUBO関連の受託業務を請けられるレベルと認められることです。qubomasterになると(blueqatサイト上で)認定バッジが付与され、有償業務の受託可能者リストに入ります。
今回は「qubomaster」認定試験に用いられる実力テスト1を用意しました。答えは公開していません。認定試験として挑戦する場合は別途その指示に従ってください。
おさらい
QUBOで設定できる条件式についてはこちらの記事にまとめてあります。暗記する必要はありませんが概要は把握しておくと良さそうです。
これまでのQUBOアニーリング系の記事はサイドバーの「カテゴリ一覧」→「量子コンピュータ」から絞れます。
実力テスト問題1
スターバトル(Star Battle)と呼ばれるパズルを解いてください。
例題と解答はこちらです。
パズルのルール
- 5つの領域に各1つだけ星を置く
- 各行、各列には星が2つ以上あってはならない
- 星の8近傍に他の星があってはならない
ブラウザ上で遊んでみたいという方はPuzzle Teamさんのサイト(puzzle-loop.com)をお試しください。
それでは、実力テスト問題はこちらです。
提出方法、注意事項など
解答は、そのまま実行するだけのpythonコードを「.py」または「.ipynb」のファイル形式で以下フォームから提出してください。すぐに自動返信メールが届きます。
※100KBまでの.py, .ipynbファイルのみ受け付けます
※受付完了メールが自動送信されます
▼注意事項
- テキスト欄やコメントアウトにより最低限の説明や思考過程を含めてください
- その際、チュートリアルの「おすすめコース」のどれと関連があるかにも触れてください
- 説明のための図は必ずしも必要ありません
- アニーリングのソルバーには必ずTYTANパッケージを使用してください
- 必ずしも1回の実行で正解が得られる必要はなく、正解が得られることが期待できるコードであれば問題ありません
▼合格条件
- QUBO条件式が妥当であること
- 説明や思考過程が妥当であること
- 十分な可読性のPythonコードであること
- チュートリアル「おすすめコース」を把握していること