Paradigms of Artifical Intelligence Programming