ブログ内検索

2020年7月6日月曜日

ウディタでのIDと組の相互変換

ここでやりたいことは、組{1,2,3,4,5}をID1として、組{21,22,23,24,25}をID53130とするような辞書式組み合わせ(重複なし)を考えるが、この組→IDとID→組の変換をウディタでやりたい、という話である。

過去の記事を見ると、組→IDは記号C(コンビネーション)とsumで表せる。
もちろんウディタにこの機能はないのでループを使って処理することにする。
シグマでよく使ういわゆる「k」的なものを変数として使って、これを利用して和をどんどんとっていく作戦である。難しそうに見えて実は難しくない。

以下はそれをウディタ用にアレンジしたもの。
3番目のIDが小さいことから、おそらくあってそうな雰囲気。
確かめるためには強制的に1,2,3,4,5マス目HITになるように数字シャッフルをしなければよいが、あとで分かるのでここはチェックはしないでおく。
以下はID
30769 -->[コモン10/78行]
2764 -->[コモン10/78行]
1803 -->[コモン10/78行]
24768 -->[コモン10/78行]
29065 -->[コモン10/78行]
35402 -->[コモン10/78行]
30604 -->[コモン10/78行]
5776 -->[コモン10/78行]

昨日、可変DBに最適なマスの位置をウディタに入力したので、あとはこのIDから可変にあらかじめ格納された最適解を示すID(1~1140)を呼び出し、それを5つの組に直せばあとは黄色バルーンを視覚的に配置するだけである。

なお、この可変DBへの入力、ウディタでは10000個しか最大でうつせないため、CSVファイルをぶつぎりにする必要があった。この作業も意外にいろいろと問題があって時間がかかった。

可変DBの値の呼び出しについてだが、例えばID12345の場合、
可変2のID2344番目にその最適解が眠っている。この2と2344の値は普通に10000での商にプラス1したものと、12345を10000でのあまりにマイナス1したものなので、ここの変換は一瞬。

次の記事ではいよいよ黄色バルーンを最適解として配置するところまでいく。