MAX has no architecturally defined learning mechanism: any learning must be done by a user-supplied behavior. It was MAX's philosophy to give users the flexibility to create their own modules. In particular, the user has the option to do non-monotonic learning. This is when learning something new may invalidate knowledge that previously was considered true. It is often useful for handling default knowledge.
Go to a discussion of this property for multiple architectures.