入力と必要な出力が与えられたら、必要な変換を見つけます
-
06-07-2019 - |
質問
タイトルで言ったことをするプログラムが欲しい。
これはかなりあいまいな問題であることがわかりました。また、 any の入力を any の出力に変換する方法を見つけることはほとんど不可能ですが、いくつかの単純なケースを処理することは実行可能であるようです。
具体的な例を提供するには(Python):
>>> def find_transform(start, desired):
>>> # Insert magic here
>>> find_trasform([1,2,3], [3,2,1])
"reverse"
>>> find_trasform([1,2,3,4], [[1,2], [3,4]])
"divide 2"
この種のことに対する公式の言葉があると思うが、それが何なのかはわからない。
解決
まあ、この用語はデータマッピングと呼ばれます。あなたを含むいくつかの目的に役立つ広大なフィールドです。
このようなタスクのツールを習得するのは難しいので、これが簡単だとは思わないでください。この特定のケースでは、データ駆動型マッピング方法論を探しています。これらには、関連する関係を見つけるためのヒューリスティックと統計の組み合わせが含まれます。
ありがたいことに、あなたの例は数学的にうまく表現されており、データセットのすべての要素について真実のままです。したがって、ペアの要素間の数学的関係を分析し、残りのペアで見つかった関係を検証しようとすることで、この問題への取り組みを開始できます。
EDIT:最後の例では、新しいディメンションを追加します。したがって、これも観察可能でなければなりません。そこにあるように、セット間の漸進的な関係(最初にセット1と2の間に関係を確立し、次にセット2と3の間に関係を確立する)に固執すると、すべてうまくいきます。あなたはそれほど頻繁に再帰する必要がないので、より迅速に関係を証明するのに役立つかもしれません。しかし、セット間のより複雑な関係は、処理するためにより複雑な問題を強いることがあります。シンプルにしてください。
所属していません StackOverflow