In contrast to neural networks, which acquire knowledge by training on observed data with known inputs and outputs, expert systems (ES) utilize domain expert knowledge in a computer program with an automated inference engine to perform reasoning for problem solving.