Dada uma entrada e de saída desejada, para fora da figura transformação necessária
-
06-07-2019 - |
Pergunta
Eu quero um programa que faz o que eu disse no título.
Eu percebo que este é um problema muito vago. Eu também percebo que descobrir como transformar qualquer de entrada em qualquer de saída é quase impossível, mas parece que lidar com alguns casos simples devem ser viável.
Para fornecer um exemplo concreto (em 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"
Eu suspeito que há uma palavra oficial para este tipo de coisa, mas eu não sei o que é.
Solução
Bem, o termo é chamado Mapeamento de Dados . É um campo vasto que pode servir algumas finalidades, incluindo o seu.
As ferramentas para essa tarefa um são difíceis de dominar, por isso não esperamos que isso seja fácil. Para este caso específico, você vai estar à procura de mapeamento de dados-Driven metodologias. Estes envolvem uma combinação de heurísticas e estatísticas para encontrar as relações relevantes.
Felizmente seus exemplos são bem expressa matematicamente e continuará a ser válido para todos os elementos dos conjuntos de dados. Então você pode começar a lidar com este problema, tentando analisar as relações matemáticas entre elementos emparelhados e tentar validar quaisquer relações encontradas nos pares restantes.
EDIT: O último exemplo adiciona uma nova dimensão. Portanto, este deve ser observável também. Se se mantiver uma relação progressiva entre as séries como é o caso lá (primeiro estabelecer relação entre set 1 e 2, em seguida, entre set 2 e 3) tudo estará bem. Pode até ajudar a revelar-se mais rapidamente um relacionamento desde que você não precisa recurse tantas vezes. Mas mais complexas relações entre conjuntos podem forçá-lo em um problema muito mais complexo de manusear. Tente mantê-lo simples.