E-Book, Englisch, 236 Seiten
Bramer Logic Programming with Prolog
1. Auflage 2005
ISBN: 978-1-84628-212-6
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, 236 Seiten
ISBN: 978-1-84628-212-6
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
This book teaches the techniques of Logic Programming through the Prolog language. The name stands for Programming in Logic. Prolog has been used for a wide variety of applications, including as the basis for a standard knowledge representation language for the Semantic Web - the next generation of internet technology; it is one of the principal languages used by researchers in Artificial Intelligence.Logic Programming with Prolog does not assume that the reader is an experienced programmer with a strong background in Mathematics, Logic or Artificial Intelligence.
It starts from scratch and aims to take the reader to a point where they can soon write powerful programs in the language. Suitable both as an introductory textbook and for independent study, the programs in this book are written using the standard Edinburgh syntax and should run unchanged in virtually any version of Prolog. A full glossary of the technical terms used is included and each chapter has self-assessment exercises.
Autoren/Hrsg.
Weitere Infos & Material
1;Introduction;5
1.1;Some Technical Details;9
2;Contents;11
3;1 Getting Started;14
3.1;1.1 Starting Prolog;14
3.2;1.2 Prolog Programs;16
3.3;1.3 Data Objects in Prolog: Prolog Terms;21
3.4;Practical Exercise 1;25
4;2 Clauses and Predicates;26
4.1;2.1 Clauses;26
4.2;2.2 Predicates;28
4.3;2.3 Loading Clauses;32
4.4;2.4 Variables;34
4.5;Practical Exercise 2;40
5;3 Satisfying Goals;42
5.1;Introduction;42
5.2;3.1 Unification;44
5.3;3.2 Evaluating Goals;48
5.4;3.3 Backtracking;52
5.5;3.4 Satisfying Goals: A Summary;63
5.6;3.5 Removing Common Variables;65
5.7;3.6 A Note on Declarative Programming;65
5.8;Practical Exercise 3;68
6;4 Operators and Arithmetic;70
6.1;4.1 Operators;70
6.2;4.2 Arithmetic;72
6.3;4.3 Equality Operators;76
6.4;4.4 Logical Operators;79
6.5;Practical Exercise 4;81
7;5 Input and Output;82
7.1;Introduction;82
7.2;5.1 Outputting Terms;82
7.3;5.2 Inputting Terms;84
7.4;5.3 Input and Output Using Characters;85
7.5;5.4 Outputting Characters;86
7.6;5.5 Inputting Characters;86
7.7;5.6 Using Characters: Examples;87
7.8;5.7 Input and Output Using Files;90
7.9;5.8 File Output: Changing the Current Output Stream;90
7.10;5.9 File Input: Changing the Current Input Stream;91
7.11;5.10 Using Files: Examples;92
7.12;Practical Exercise 5;95
8;6 Loops;98
8.1;Introduction;98
8.2;6.1 Looping a Fixed Number of Times;98
8.3;6.2 Looping Until a Condition Is Satisfied;102
8.4;6.3 Backtracking with Failure;107
8.5;Practical Exercise 6;110
9;7 Preventing Backtracking;112
9.1;Introduction;112
9.2;7.1 The Cut Predicate;112
9.3;7.2 Cut with Failure;119
9.4;Practical Exercise 7;121
10;8 Changing the Prolog Database;122
10.1;8.1 Changing the Database: Adding and Deleting Clauses;122
10.2;8.2 Adding Clauses;123
10.3;8.3 Deleting Clauses;124
10.4;8.4 Changing the Database: Example;125
10.5;8.5 Maintaining a Database of Facts;127
10.6;Practical Exercise 8;131
11;9 List Processing;132
11.1;9.1 Representing Data as Lists;132
11.2;9.2 Notation for Lists;133
11.3;9.3 Decomposing a List;135
11.4;9.4 Built-in Predicate: member;138
11.5;9.5 Built-in Predicate: length;139
11.6;9.6 Built-in Predicate: reverse;139
11.7;9.7 Built-in Predicate: append;140
11.8;9.8 List Processing: Examples;142
11.9;9.9 Using findall/3 to Create a List;146
11.10;Practical Exercise 9;149
12;10 String Processing;150
12.1;10.1 Converting Strings of Characters To and From Lists;150
12.2;10.2 Joining Two Strings;152
12.3;10.3 Trimming a String;152
12.4;10.4 Inputting a String of Characters;154
12.5;10.5 Searching a String;155
12.6;10.6 Dividing a String into Its Component Parts;157
12.7;Practical Exercise 10;160
13;11 More Advanced Features;162
13.1;Introduction;162
13.2;11.1 Extending Prolog: Arithmetic;162
13.3;11.2 Extending Prolog: Operations on Strings;168
13.4;11.3 Extending Prolog: Sets;170
13.5;11.4 Processing Terms;173
13.6;Practical Exercise 11;179
14;Appendix 1 Built- in Predicates;180
15;Appendix 2 Built- in Operators;192
16;Appendix 3 Specimen Solutions to Practical Exercises;198
17;Appendix 4 Glossary;222
18;Index;234
19;More eBook at www.ciando.com;0




