Given a sequence of inputs/outputs and a set of nodes that modify that input, can you find the topology of a graph?

29 Views Asked by At

I am working on a problem where I have to model a graph topology, where the nodes are logic/arithmetic operations that can be applied to the input. The network receives a multi-dimensional input, and returns a multi-dimensional processed output with less dimensions. The only things I have to do this are a set of input/output pairs and a set of probable nodes.

The system itself follows a few constraints:

  • The nodes are unique, so there is a limited amount of possible subsets that can compose the graph.
  • The input must enter a single node, and the output must be returned from a single node, even if the path of the information branches within the network.
  • In case multiple topologies are possible, the minimal is the answer.

There are also a few aggravants:

  • Since the nodes are a "probable list", there is no guarantee that the system is possible, but it is important to try to find the closest match possible, as a machine learning system uses the closeness to satisfaction to find new sets of probable nodes.
  • Nodes might receive multiple or just one input, and they might output one or multiple streams of output.

Given this system, I am wondering if anyone here knows of an existing algorithm that solves this problem(or something close that can be adapted).

My question thus is as follows:

Given a set of arithmetic and logical functions and a set of input/output pairs, is there an algorithm to find a graph of functions that satisfies all inputs/output pairs?