次のようにリストする必要があります。
a = ["1a","2a","3a","4a","5a","6a","7a","8a","9a","10a","11a","12a","13a","14a"]
b = ["1b","2b","3b","4b","5b","6b","7b","8b","9b","10b","11b","12b","13b","14b"]
そして、私が望むのは、それらを組み合わせて、 a の要素とbの対応する要素の間に少なくともn要素の違いがあるようにすることです。
例として、私のnが 10 で、"3a" が 3 番目の位置にあり、"3b" が 5 番目の位置にある場合、これらの対応する要素間の距離は 2 しかないため、これは解決策ではありません。
私は、ブルート フォース メソッドを使用して、必要な目的のためにこれを既に解決しています。2 つの配列の和集合をシャッフルし、制約が満たされているかどうかを確認します。そうでない場合は、もう一度シャッフルします...言うまでもなく、14要素の配列の場合、最小距離が10の解を得るために5〜10秒の計算が必要になることがあります。探しているので、これをより最適化された方法で解決する方法に興味があります。
私は現在 Python を使用していますが、任意の言語 (または疑似コード) のコードは大歓迎です。
編集: この問題のコンテキストは、約 100 人の参加者が参加することが期待されるアンケートのようなものです。したがって、私は必ずしもすべてのソリューションに関心があるわけではなく、最初の 100 のようなものです。
ありがとう。