Just to give a slightly more general perspective than the other answers: "trying to do inference based on a variety of different inputs" is basically what much of the field is doing and it is a very general problem.
The idea is that you are looking for some simple, general way to explain how data observations are associated. This "explanation" is called the model. Of course there is an infinite number of types of models that you could check, and the "true" model underlying your data could be incredibly complex (for example, consider modelling the behavior of a live organism from its molecular components). From this you can see why the main challenge is to find efficient algorithms to identify different kinds of good predictive models.
Rule-based systems and Artificial Neural Networks are just some of the different algorithms/models that are being used. Other popular approaches are Support Vector Machines, decision trees, ensemble methods, probabilistic graphical models, and there are many others.