!!! サイト改修中のため表示が乱れる場合があります(1月末頃まで) !!!
未分類

9-21. 遺伝的アルゴリズム(vcopt)で氷の床パズルの難問生成

やること

遺伝的アルゴリズムで氷の床パズルの難問生成、という勉強会を開きました。どんな問題が出来上がったかご紹介します。

実行環境

Google Colaboratoryが利用可能です。

Google Colab

vcoptの使い方についてはチュートリアルをご参照ください。

vcoptの仕様については最新の仕様書をご参照ください。本記事執筆時とは仕様が異なる場合があります。

ソースコード

ソースコードは勉強会のページで配布されています。

また以下も学びました。

  • Pythonの「class」はどんなときに使うとよいのか?
  • パズルの難しさをどう定義(数値化)するか?
  • vcoptの使い方

岩5個

「こおりのぬけみち」の半分です。深さ18、状態数31、難しさスコア558。

岩11個

「こおりのぬけみち」と同じ個数です。深さ23、状態数60、難しさスコア1380。

岩22個

「こおりのぬけみち」の2倍です。深さ30、状態数71、難しさスコア2130。

※岩の座標が重複したために22個に満たない場合があります。

岩33個

「こおりのぬけみち」の3倍です。深さ46、状態数92、難しさスコア4232。

岩44個

「こおりのぬけみち」の4倍です。深さ51、状態数100、難しさスコア5100。

岩55個

「こおりのぬけみち」の5倍です。深さ48、状態数96、難しさスコア4608。

まとめ

岩が多すぎるとかえって簡単になってしまいました。難しさスコアは高くても、やってみると自由度が低くて簡単という印象です。岩22個程度がもっとも難しく感じるかもしれません

おまけ:大きなサイズの難問

大きな盤面で、岩30個、深さ47、状態数107、難しさスコア5029。

大きな盤面で、岩40個、深さ43、状態数125、難しさスコア5375。

大きな盤面で、岩40個、深さ51、状態数124、難しさスコア6324。

リアクションのお願い

「参考になった!」「刺激された!」と思ったらぜひリアクションをしましょう。エンジニアの世界はGive and Takeによって成り立っています。これからも無料で良質な情報にアクセスできるよう、Giveする人への感謝をリアクションで示しましょう!

この記事をシェアする

自身のブログ等で使用する場合は引用を忘れずに!

また、寄付も受け付けています。コーヒー1杯でとても喜びます(*˘︶˘*)

 Amazonでギフト券(アマギフ)を贈る

こちらのリンク から金額を指定してお贈りください。(デフォルトで10000円になっているのでご変更ください)

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 Amazonで食事券(すかいらーく優待券)を贈る

500円 1000円 2000円 5000円 からお贈りください。

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 その他、ギフト券やクーポン券をメールで贈る

デジタルのギフト券/クーポン券はメールアドレス(staffあっとvigne-cla.com)までお送りください。受領の返信をいたします。
紙のギフト券/クーポン券は 「郵便物はこちらへ」の住所 まで送付してください。名刺やメールアドレスを同封していただければ受領の連絡をいたします。
余った株主優待券等の処理におすすめです。
いずれも見返りはありませんのでご了承ください。

不明点はSNSでお気軽にご連絡ください

ビネクラのTwitter・Youtubeでコメントをください!


Slack・Discordの場合はこちらの公開グループに参加してShoya YasudaまでDMをください!


※当ブログに関することは何でもご相談・ご依頼可能です。

この記事を書いた人
Yasuda

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

タイトルとURLをコピーしました