In the past few months I have been reading Professor George Luger’s book Artificial Intelligence: Structures and Strategies for Complex Problem Solving, 2nd edition. Although the sixth edition just came out this year, I purchased my copy many years ago (mid 1990s) and the material is still relevant. My goal at the time was to learn prolog and to develop chess playing self learning algorithm. At first this material seemed over my head; thus, I shelved the book. In spite of my lack of progress many years ago, I was motivated this year to rekindle my interest in Artificial Intelligence by the televison program Terminator: The Sarah Conner Chronicles. In the series there was a character Andy Goode who developed his own chess playing, self learning computer called the Turk. In addition, the Terminators exhibited other features of today’s AI research such as pattern recognition and learning into new environments.
Anyways I just completed Section 2 of the book, which contains material on foundations of Artificial Intelligence. The topics covered are propositional calculus, predicate calculus, unification algorithm, graph theory, structures and strategies for state space search, back track algorithm, search (depth, breadth, and best) algorithms, hypergraph, heuristics, A* algorithm, recursion search algorithm, pattern directed algorithm – production, expert, and other rule-based systems – and planning, in particular, robotic planning. The aforementioned tools and algorithms are critical in understanding AI material found in the Internet and in books.
In section 3 the book introduces the standard programming tools of AI – Prolog and LISP. Another tool used by AI researchers is Pascal, eventhough today any programming language can be used such as C, C++, or even Python. With both tools the book covers problems like the Farmer, Wolf, Goat, and Cabbage; the abstract data types such as the stack, queue, and priority queue; and as well as the aforementioned algorithms. As result of this section, I am reviewing prolog by studying the online Prolog Tutoral by JR Fischer using SWI-Prolog and by learning LISP reading the book LISP, 3rd Edition, by Patrick Winston and Berthold Horn, using the CMUCL lisp interperter.
The upcoming sections of the book are titled Representations for Knowledge-Based Systems, Advanced AI Programming Techniques, and finally the Epilogue. The first covers topics such as Rule-Based Expert Systems, Knowledge Representation, Natural Language, Automated Reasoning, and Machine Learning, for which I already previewed. The second covers topics with Advanced Representations in Prolog, Advanced LISP programming techniques for Artificial Intelligence, and Objects, Messages, and Hybrid Expert System Design. The last discusses Artificial Intelligence as Empirical Enquiry. I am looking forward to cover remainder of the book since the topics are very interesting, especially, in particular, machine learning.
In conclusion I have a better understanding of Artificial Intelligence. With some patience, I was able to master the understanding of algorithms and concepts. As result of this book I am able to read articles such as advice logic 3, augmented based machine learning, and incremental tree inducer. I have searched various online information about the some the topics covered in this book with surprising results on the available information. Finally, I am getting better at understanding LISP code as well as refreshing my prolog knowledge.