"Learning Algorithm that can handle complex input relationships?"
Is there a learning algorithm that can handle complicated input relationships? For example, say I feed in 7 signals and it turns out that the difference between two of the signals perfectly explains the output signal. Or what if the output is equal to 2 times one of the inputs, but only if another input is equal to 3, otherwise, the output is equal to some kind of function of the other inputs. Is there a learning algorithm that can learn those types of inputs?