我想要一个能够完成我在标题中所说的程序。

我意识到这是一个非常模糊的问题。我也意识到弄清楚如何将任何输入转换为任何输出几乎是不可能的,但似乎处理一些简单的情况应该是可行的。

提供一个具体的例子(在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"

我怀疑这种事情有官方说法,但我不知道它是什么。

有帮助吗?

解决方案

嗯,该术语称为数据映射。这是一个广阔的领域,可以用于一些目的,包括你的。

这项任务的工具很难掌握,所以不要指望这很容易。对于这种特定情况,您将寻找数据驱动映射方法。这些涉及启发式统计的组合,以找到相关的关系。

值得庆幸的是,您的示例在数学上得到很好的表达,并且对于数据集的每个元素都将保持正确。因此,您可以通过尝试分析配对元素之间的数学关系并尝试验证剩余对上的任何找到的关系来开始解决此问题。

编辑:最后一个示例添加了一个新维度。所以这也必须是可观察的。如果你坚持集合之间的渐进关系就像那样(首先在集合1和2之间建立关系,然后在集合2和3之间建立关系)一切都会很好。它甚至可以帮助更快地证明一种关系,因为你不需要经常递归。但是,集合之间更复杂的关系可能会迫使您处理更复杂的问题。尽量保持简单。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top