Logic Programming and Prolog - PowerPoint PPT Presentation

About This Presentation
Title:

Logic Programming and Prolog

Description:

Logic Programming and Prolog Presenter: John Xu Date: Nov 09, 2004 Logic Programming Example Suppose we have the following sentences 1) A graduate student of CAS ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 10
Provided by: JOHN4163
Category:

less

Transcript and Presenter's Notes

Title: Logic Programming and Prolog


1
Logic Programming and Prolog
  • Presenter John Xu
  • Date Nov 09, 2004

2
Logic Programming Example
  • Suppose we have the following sentences
  • 1) A graduate student of CAS must take the core
    course CAS 701
  • 2) A student can not obtain a degree without
    passing the required core course
  • I am a graduate student of CAS and want to
    obtain a degree, should I pass CAS 701?

3
Logic Programming Example
  • Structured solution
  • S Being a graduate student of CAS
  • T Taking core course CAS 701
  • O Obtaining a degree
  • P Passing required core course
  • S S gt T, P gt O, S ? O
  • Logic consequence T ? P

4
Logic Programming Definition
  • Logic programming is a declarative approach of
    writing computer programs based on Logic
  • Prolog, which stands for PROgramming in LOGic, is
    the most widely available logic programming
    language

5
  • / Filename ancestor.pro
  • This program creates a small set of facts and
    rules on who is the ancestor of whom. The user
    types the desired goal interactively when the
    program is run./
  • / ancestor(A, B) means A is an ancestor of B /
  • ancestor(bob, susan).
  • ancestor(A, X) - parent(A, X).
  • ancestor(A, X) - parent(A, C), ancestor(C, X).
  • / parent(P, C) means P is a parent of C /
  • parent(fred, sally).
  • parent(tina, sally).
  • parent(sally, diane).
  • parent(sam, bill).

6
Logic Programming Prolog Query
  • Queries
  • ancestor(fred, sally).
  • Yes
  • ancestor(fred, diane).
  • Yes
  • ancestor(fred, bill).
  • No

7
Logic Programming Implementation
  • SLD-Resolution (inference mechanism)
  • Unification a procedure that takes two atomic
    formulas as input, and either shows how they can
    be instantiated to identical atoms or, reports a
    failure
  • An SLD-derivation of G0 (using P and lt) is a
    finite or infinite sequence of goals
    g0-gtg1-gtg2-gtgn
  • SLD-refutation a finite derivation of the goal
    g0
  • Failed derivation a derivation of the goal g0
    with the last element that is not empty and
    cannot be resolved by any clause of the program

8
Logic Programming Implementation
  • Soundness of SLD-resolution
  • Completeness of SLD-resolution
  • Cut Pruning the SLD-tree

9
Logic Programming Reference
  • Book
  • Ralph P. Grimaldi, DISCRETE AND COMBINATORIAL
    MATHEMATICS, 5TH ED, Pearson Education, 2004
  • Ulf Nilsson and Jan Ma luszy_nski, LOGIC,
    PROGRAMMING AND PROLOG, 2ND ED, Ulf Nilsson and
    Jan Ma luszy_nski, 2000
  • Web
  • http//cis.stvincent.edu/carlsond/prolog.html
  • http//ktiml.mff.cuni.cz/bartak/prolog/index.html
  • http//www.cs.auckland.ac.nz/j-hamer/07.363/prolo
    g-for-se.html
  • http//www.swi-prolog.org/
Write a Comment
User Comments (0)
About PowerShow.com