表記している点にご注意ください。パーツ2次に、先程の関数を使用して「ある式から1本取り除くとどんな式になるかを返す関数」と「ある式に1本加えるとどんな式になるかを返す関数」を作ります。ように文字をリストに格納した形式です。'9']]「6+7=0」という式から1本取り除くと「5+7=0」「6-7=0」「6+1=0」の3つの式ができることがわかりました。同様に、「0+1=3」という式に1本加えると「8+1=3」「0+7=3」「0+1=9」の3つの式ができました。パーツ3最後に、「式の集まり(=2重リスト)をすべて評価して式として正しいものを厳選して返す関数」と「ランダムな式を生成する関数」も作りました。返ることを利用しています。'3']マッチ棒パズルのランダム生成いよいよクイズを探索します。ランダムな問題を作ってはすでに数式が成立していたらやり直し数式から1本除いた式の集まりを作る各式について1本加えた式の集まりを作る各式を評価して正しい式を厳選する正しい式が1つだけであれば発見とするという作業を50回繰り返すことにします。今回は4種類の問題が見つかりました。実行するといくらでも問題が生成できます。マッチ棒パズルの全探索ところで、今回の条件では問題はたかだか4000パターンしかありません。これくらいなら全探索できそうです。全パターンの問題を生成する関数を作りました。quiz_list全パターンを調べます。'1']今回のルールでは、4000パターン中474パターンが問題として成立するようです。一部を書き換えることで「答えが2つある」問題を調べ上げることもできます。'1']84問見つけることができました。「答えが3つある」問題も調べてみました。'6']5問しかないようですが、「全部答えよ」とすれば骨のあるクイズになると思います。まとめクイズの自動生成ができればクイズアプリを全自動運営できるような気がします。数値解法この記事を書いた人Yasuda博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。TF-IDFは文書内の各単語の重要度を表す指標で、文書の特徴を掴む手助けになります。「Deepでポン」という表現を耳にしました。ビリヤードでは基本的に小さい数字の的球から順番にポケットしていきます。論理プログラミング言語「Prolog」(その3:グラコロバーガーの合成で学ぶ探索の基本形)2021/12/012022/01/18無料パッケージ「vcopt」チュートリアル「vcclick」チュートリアル「vcscraping」チュートリアル「vcracing」チュートリアル有償アプリ「vcStitching」チュートリアル遠隔オーダーメイド靴はこちら来店不要のフルオーダーメイド靴「Shoe-Craft-Terminal」GAカレー停止中GAカレーの概要フォローする質問やコメントはSlackでお気軽にSlackに参加するYoutubeでライブ配信していますYoutubeを見る勉強会でコードを配布していますconnpassを見るTwitterでも情報を発信していますTwitterをフォローするタイトルとURLをコピーしました。