Prolog Programming for Students


Book Description

This book covers all that is needed by students on a one-year introductory Prolog course at first or second year degree level. It introduces Prolog to students as simply and painlessly as possible. Where Artificial Intelligence (AI) topics are introduced, they are easier ones and are treated simply. This book is Prolog for Students, with examples from AI, not a book on AI using Prolog. The text assumes access to a suitable, good, Prolog interpreter, such as LPA Prolog. It also assumes that students with an aptitude for research will follow it up with more advanced study, perhaps a third or fourth year option, and further reading suggestions are included. The book is organised with the basics of the subject introduced first, and covered gradually, so they can be fully understood before moving on to harder topics. The topics that students find more difficult, such as recursion and lists, are not covered until about half way through the book. There are many in-text questions, student self-testing questions and programming practice exercises throughout the book. If used to accompany a taught course, the material of one chapter can be covered in each week. This book covers all that is needed by students on a one-year introductory Prolog course at first or second year degree level. It introduces Prolog to students as simply and painlessly as possible. Where Artificial Intelligence (AI) topics are introduced, they are easier ones and are treated simply. This book is Prolog for Students, with examples from AI, not a book on AI using Prolog. The text assumes access to a suitable, good, Prolog interpreter, such as LPA Prolog. It also assumes that students with an aptitude for research will follow it up with more advanced study, perhaps a third or fourth year option, and further reading suggestions are included. The book is organised with the basics of the subject introduced first, and covered gradually, so they can be fully understood before moving on to harder topics. The topics that students find more difficult, such as recursion and lists, are not covered until about half way through the book. There are many in-text questions, student self-testing questions and programming practice exercises throughout the book. If used to accompany a taught course, the material of one chapter can be covered in each week.




Programming in Prolog


Book Description

The computer programming language Prolog is quickly gaining popularity throughout the world. Since Its beginnings around 1970. Prolog has been chosen by many programmers for applications of symbolic computation. including: D relational databases D mathematical logic D abstract problem solving D understanding natural language D architectural design D symbolic equation solving D biochemical structure analysis D many areas of artificial Intelligence Until now. there has been no textbook with the aim of teaching Prolog as a practical programming language. It Is perhaps a tribute to Prolog that so many people have been motivated to learn It by referring to the necessarily concise reference manuals. a few published papers. and by the orally transmitted 'folklore' of the modern computing community. However. as Prolog is beginning to be Introduced to large numbers of undergraduate and postgraduate students. many of our colleagues have expressed a great need for a tutorial guide to learning Prolog. We hope this little book will go some way towards meeting this need. Many newcomers to Prolog find that the task of writing a Prolog program Is not like specifying an algorithm in the same way as In a conventional programming language. Instead. the Prolog programmer asks more what formal relationships and objects occur In his problem.




The Practice of Prolog


Book Description

Addressed to readers at different levels of programming expertise, The Practice ofProlog offers a departure from current books that focus on small programming examples requiringadditional instruction in order to extend them to full programming projects. It shows how to designand organize moderate to large Prolog programs, providing a collection of eight programmingprojects, each with a particular application, and illustrating how a Prolog program was written tosolve the application. These range from a simple learning program to designing a database formolecular biology to natural language generation from plans and stream data analysis.Leon Sterlingis Associate Professor in the Department of Computer Engineering and Science at Case Western ReserveUniversity. He is the coauthor, along with Ehud Shapiro, of The Art of Prolog.Contents: A SimpleLearning Program, Richard O'Keefe. Designing a Prolog Database for Molecular Biology, Ewing Lusk,Robert Olson, Ross Overbeek, Steve Tuecke. Parallelizing a Pascal Compiler, Eran Gabber. PREDITOR: AProlog-Based VLSI Editor, Peter B. Reintjes. Assisting Register Transfer Level Hardware Design, PaulDrongowski. Design and Implementation of aPartial Evaluation System, Arun Lakhotia, Leon Sterling.Natural Language Generation from Plans, Chris Mellish. Stream Data Analysis in Prolog, Stott Parker.




Prolog Programming in Depth


Book Description

Appropriate for courses in artificial intelligence, computer science, logic programming, and expert systems. Can be used as supplemental text in courses in computational linguistics (natural language processing). This text covers the Prolog programming language thoroughly with an emphasis on building practical application software, not just theory. Working through this book, students build several types of expert systems, as well as natural language processing software and utilities to read foreign file formats. This is the first book to cover ISO Standard Prolog, but the programs are compatible with earlier dialects of the language. Program files are available by FTP from The University of Georgia.




Adventure in Prolog


Book Description

Not long ago" Dennis Merritt wrote one of the best books that I know of about implementing expert systems in Prolog, and I was very glad he published it in our series. The only problem is there are still some unfortunate people around who do not know Prolog and are not sufficiently prepared either to read Merritt's book, or to use this extremely productive language, be it for knowledge-based work or even for everyday programming. Possibly this last statement may surprise you if you were under the impression that Prolog was an "artificial intelligence language" with very limited application potential. Please believe this editor's statement that quite the opposite is true: for at least four years, I have been using Prolog for every programming task in which I am given the option of choosing the language. Therefore, I 'am indeed happy that Dennis Merritt has written another good book on my language of choice, and that it meets the high standard he set with his prior book, Building Expert Systems in Prolog. All that remains for me to do is to wish you success and enjoyment when taking off on your Adventure in Prolog.




Logic Programming with Prolog


Book Description

Written for those who wish to learn Prolog as a powerful software development tool, but do not necessarily have any background in logic or AI. Includes a full glossary of the technical terms and self-assessment exercises.




An Introduction to Natural Language Processing Through Prolog


Book Description

Research into Natural Language Processing - the use of computers to process language - has developed over the last couple of decades into one of the most vigorous and interesting areas of current work on language and communication. This book introduces the subject through the discussion and development of various computer programs which illustrate some of the basic concepts and techniques in the field. The programming language used is Prolog, which is especially well-suited for Natural Language Processing and those with little or no background in computing. Following the general introduction, the first section of the book presents Prolog, and the following chapters illustrate how various Natural Language Processing programs may be written using this programming language. Since it is assumed that the reader has no previous experience in programming, great care is taken to provide a simple yet comprehensive introduction to Prolog. Due to the 'user friendly' nature of Prolog, simple yet effective programs may be written from an early stage. The reader is gradually introduced to various techniques for syntactic processing, ranging from Finite State Network recognisors to Chart parsers. An integral element of the book is the comprehensive set of exercises included in each chapter as a means of cementing the reader's understanding of each topic. Suggested answers are also provided. An Introduction to Natural Language Processing Through Prolog is an excellent introduction to the subject for students of linguistics and computer science, and will be especially useful for those with no background in the subject.




Simply Logical


Book Description

An introduction to Prolog programming for artificial intelligence covering both basic and advanced AI material. A unique advantage to this work is the combination of AI, Prolog and Logic. Each technique is accompanied by a program implementing it. Seeks to simplify the basic concepts of logic programming. Contains exercises and authentic examples to help facilitate the understanding of difficult concepts.




Learn Prolog Now!


Book Description

Prolog is a programming language, but a rather unusual one. Prolog'' is short for Programming with Logic'', and the link with logic gives Prolog its special character. At the heart of Prolog lies a surprising idea: don't tell the computer what to do. Instead, describe situations of interest, and compute by asking questions. Prolog will logically deduce new facts about the situations and give its deductions back to us as answers. Why learn Prolog? For a start, its say what the problem is, rather than how to solve it'' stance, means that it is a very high level language, good for knowledge rich applications such as artificial intelligence, natural language processing, and the semantic web. So by studying Prolog, you gain insight into how sophisticated tasks can be handled computationally. Moreover, Prolog requires a different mindset. You have to learn to see problems from a new perspective, declaratively rather than procedurally. Acquiring this mindset, and learning to appreciate the links between logic and programming, makes the study of Prolog both challenging and rewarding. Learn Prolog Now! is a practical introduction to this fascinating language. Freely available as a web-book since 2002 (see www.learnprolognow.org) Learn Prolog Now! has became one of the most popular introductions to the Prolog programming language, an introduction prized for its clarity and down-to-earth approach. It is widely used as a textbook at university departments around the world, and even more widely used for self study. College Publications is proud to present here the first hard-copy version of this online classic. Carefully revised in the light of reader's feedback, and now with answers to all the exercises, here you will find the essential material required to help you learn Prolog now.




Prolog by Example


Book Description

Prolog has a declarative style. A predicate definition includes both the input and output parameters, and it allows a programmer to define a desired result without being concerned about the detailed instructions of how it is to be computed. Such a declarative language offers a solution to the software crisis, because it is shorter and more concise, more powerful and understandable than present-day languages. Logic highlights novel aspects of programming, namely using the same program to compute a relation and its inverse, and supporting deductive retrieval of informa tion. This is a book about using Prolog. Its real point is the examples introduced from Chapter 3 onwards, and so a Prolog programmer does not need to read Chapters 1 and 2, which are oriented more to teachers and to students, respec tively. The book is recommended for introductory and advanced university courses, where students may need to remember the basics about logic program ming and Prolog, before starting doing. Chapters 1 and 2 were also kept for the sake of unity of the whole material. In Chapter 1 a teaching strategy is explained based on the key concepts of Pro log which are novel aspects of programming. Prolog is enhanced as a computer programming language used for solving problems that involve objects and the relationships between objects. This chapter provides a pedagogical tour of pre scriptions for the organization of Prolog programs, by pointing out the main draw backs novices may encounter.