receive input from the environment represent the problem internally apply rules, search, or learned patterns make a prediction or decision act or generate an output improve through feedback or training