Artificial Intelligence (AI) is a way for computers to attempt to mimic
human intelligence. This page will discuss three ways an AI learns. One
way is through failure-driven learning. The second is learning by being
told. And the third is learning by exploration.
(to-do ?task (achieve (on ?x ?y))
(prog (for-each ?z (on ?z ?x)
(get-rid-of ?z))
(move ?x ?y)))
The "program-altered code" is code that the program created so it could remove any
blocks on top of the block that it was originally supposed to move.
The problem with the above example is that the program can not necessarily know
why it can't lift block "a." It could just have another box on top of it, be glued
to the ground, or both. It would need some way of determining the physical
situation of block "a." This would fall into the are of induction (not discussed
here).