{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Prolog Tutorial 2

This preview shows pages 1–4. Sign up to view the full content.

s © J.R.Fisher Table of Contents Introduction 1. How to Run Prolog 2. Sample Programs -- Descriptions 2.1 Map colorings 2.2 Two factorial definitions 2.3 Towers of Hanoi puzzle 2.4 Loading programs, editing programs 2.5 Negation as failure 2.6 Tree data and relations 2.7 Prolog lists and sequences 2.8 Change for a dollar 2.9 Map coloring redux 2.10 Simple I/O 2.11 Chess queens challenge puzzle 2.12 Set of answers 2.13 Truth table maker 2.14 DFA parser 2.15 Graph structures and paths 2.16 Search 2.17 Animal identification game 2.18 Clauses as data 2.19 Actions and plans 3. How Prolog Works 3.1 Prolog derivation trees and choices 3.2 Cut 3.3 Meta-interpreters in Prolog 4. Built-in Goals 4.1 Utility goals 4.2 Universals (true and fail) 4.3 Loading Prolog programs 4.4 Arithmetic goals 4.5 Testing types 1

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
4.6 Equality of Prolog terms, unification 4.7 Control 4.8 Testing for variables 4.9 Assert and retract 4.10 Binding a variable to a numerical value 4.11 Procedural negation, negation as failure 4.12 Input/output 4.13 Prolog terms and clauses as data 4.14 Prolog operators 5. Search in Prolog 5.1 The A* algorithm in Prolog 5.2 The 8-puzzle 5.3 alpha-beta search in Prolog 6. 6.1 A note about logic and XSB Prolog 6.2 Positive logic 6.3 Convert first-order logic to normal form 6.4 A normal rulebase meta-interpreter 6.5 Evidentiary soundness and completeness 6.6 Rule tree visualization using Java 6.7 Diagrams and logic 6.A Visual logic ... archive opens in new window 7. Introduction to Natural Language Processing 7.1 Prolog grammar parser generator 7.2 Prolog grammar for simple English phrase structures 7.3 Idiomatic natural language command and question interfaces 8. Prolog Action Specifications and Prototyping 8.1 Action specification for a simple calculator 8.2 Animating the 8-puzzle using character graphics 8.3 Animating the blocks mover REFERENCES Make-a-choice Prolog Exam 2
© J. R. Fisher Introduction Please notify the author before including a link to any of the pages in this tutorial. Permission to copy is denied. Permission to link is freely granted. Prolog is a logical and a declarative programming language. The name itself, Prolog, is short for PROgramming in LOGic. Prolog's heritage includes the research on theorem provers and other automated deduction systems developed in the 1960s and 1970s. The inference mechanism of Prolog is based upon Robinson's resolution principle (1965) together with mechanisms for extracting answers proposed by Green (1968). These ideas came together forcefully with the advent of linear resolution procedures. Explicit goal-directed linear resolution procedures, such as those of Kowalski and Kuehner (1971) and Kowalski (1974), gave impetus to the development of a general purpose logic programming system. The "first" Prolog was "Marseille Prolog" based on work by Colmerauer (1970). The first detailed description of the Prolog language was the manual for the Marseille Prolog interpreter (Roussel, 1975). The other major influence on the nature of this first Prolog was that it was designed to facilitate natural language processing.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### What students are saying

• As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

Kiran Temple University Fox School of Business ‘17, Course Hero Intern

• I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

Dana University of Pennsylvania ‘17, Course Hero Intern

• The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

Jill Tulane University ‘16, Course Hero Intern