Applications of Prolog by Attila Csenki

applications-of-prologThis book comprises four chapters; the first three of them are devoted to Prolog in Artificial Intelligence (AI). The last one is on text processing using Prolog with LATEX in mind. The first chapter solves an intriguing AI puzzle which was first published in the New Scientist magazine [1] in 2003. The Prolog solution presented here combines problem specific knowledge using Finite Mathematics with the well-known AI technique ‘generate-and-test’. Even though this chapter did not emanate from my teaching activities, the presentation follows a well-tested pattern: the problem is broken down into manageable and identifiable sub problems which then are more or less readily implemented in Prolog. Many interesting hurdles are identified and solved thereby. The availability of unification as a pattern matching tool makes Prolog uniquely suitable for solving such problems. This first chapter is an adaptation of work reported in [7]. Further recent developments on solving this problem can be found in [4].

The second and third chapters are respectively devoted to blind search and informed search. The material presented in them can be used in lectures to teach Prolog for AI as well as in AI lectures themselves. The author tried to compile a varied and interesting mixture of applications most of which won’t be available anywhere else. Some of the problems considered here served over the years in my lectures as coursework material, though, for various reasons, the discussion is more thorough here. The fourth chapter is the least conventional one for a Prolog book. In this book the readers will learn Enigma 1225: rows are Columns, A Puzzle, Symbolic Solutions, Implementation Details, Design Decisions, Admissible Permutations, Generating Symbolic Matrices, Permuting Rows, Transposing, Most general patterned symbolic matrices, Distinct Rows, Evaluating Patterns, Computing Totals, Complete Implementation, Enhanced Implementation, What is wrong with the present implementation? Some results from the Theory of Permutations, Generating Representative Permutations, Finishing touches, Blind Search, Digression on the Module System in Prolog, Basic Search Problem, Depth First Search, Naïve Solution, Incremental Development using an Agenda, Breadth First Search, Bounded Depth First Search, Iterative Deepening, the Module blind searches, Application: A loop puzzle, A “Hand-knit” Solution, Project: Automating the solution process, Displaying the board, Complete implementation, Full Board coverage, Avoiding multiple solutions, Variants of the loop puzzle, Application: The Eight Puzzle, Prolog Implementation, The network search problem with costs, Cost measures, The A-Algorithm, Iterative deepening A and its e- Admissible version, The Heuristics, Robot navigation, The shortest route in a Maze, Suggested implementation details, Moving a knight, Text removal, Practical context, Using a Linux shell script, Removing model solutions, Text Generation and Drawing with Latex, Cycloids and much more.

 

To download this book, please click the link below:
 Click here to download Applications of Prolog

Leave A Reply

Your email address will not be published.