These range from complex structures such as Neural-Networks (Haykir, 1999), to simpler ones,
such as Decision-Trees (Russell and Norvig, 2003), which make decisions based on a series
of steps, to much more advanced quadratic programming optimization techniques.