Prolog CSC 481 Team Project Winter 2009 ES-Tools Team.

Slides:



Advertisements
Similar presentations
© Johan Bos Logic Programming About the course –Taught in English –Tuesday: mostly theory –Thursday: practical work [lab] Teaching material –Learn Prolog.
Advertisements

ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
1. An Overview of Prolog.
Prolog The language of logic. History Kowalski: late 60’s Logician who showed logical proof can support computation. Colmerauer: early 70’s Developed.
Prolog The language of logic. History Kowalski: late 60’s Logician who showed logical proof can support computation. Colmerauer: early 70’s Developed.
Stan Lovric CSc214 Fall 2002 Victorian Symbolic Logic John Swartz Victorian Symbolic Logic Paper by John Swartz Presentation by Stan Lovric.
Object Oriented Programming in Java George Mason University Fall 2011
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering Introduction to Prolog Notes for CSCE 330 Based on Bratko and Van Emden Marco.
1 01/12/2011Knowledge-Based Systems, Paula Matuszek Intro to CLIPS Paula Matuszek CSC 9010, Spring, 2011.
Humans, Computers, and Computational Complexity J. Winters Brock Nathan Kaplan Jason Thompson.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering Introduction to Prolog Notes for Ch.1 of Bratko For CSCE 580 Sp03 Marco Valtorta.
Guide To UNIX Using Linux Third Edition
Prolog programming Introduction to Prolog CS370d - CS 461.
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
P-Phunck - Prolog1 Introduction to Prolog Brian Paden.
Formal Models of Computation Part II The Logic Model
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Higher Grade Computing Studies 2. Languages and Environments Higher Computing Software Development S. McCrossan 1 Classification of Languages 1. Procedural.
COSC 2P93 Logic Programming Instructor: Brian Ross Instructor: Brian Ross Texts: Texts: Prolog Programming for Artificial Intelligence,4e, Ivan Bratko,
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
ProLog PROgramming in LOGic. Description of Prolog Prolog stands for PROgramming in LOGic. It is a nonprocedural and declarative language.
Expert System Development Tools Sean Lydon Daniel Nelson Emily Schwarz.
1 Lecture 6 Logic Programming introduction to Prolog, facts, rules Ras Bodik Shaon Barman Thibaud Hottelier Hack Your Language! CS164: Introduction to.
F28PL1 Programming Languages Lecture 16: Prolog 1.
Getting Started with Visual Prolog
ITEC 380 Organization of programming languages Lecture 7 – Prolog.
Artificial Intelligence Programming in Prolog Lecture 1: An Introduction 23/09/04.
CSC425 - Introduction To Computer Programming 1. 2 Generation Of Programming Languages A set of rules that telling a computer what to do. There are over.
Introduction To PROLOG World view of imperative languages. World view of relational languages. A PROLOG program. Running a PROLOG program. A PROLOG.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Introduction to Prolog Facts, Questions & Rules Atoms & Variables.
CS4026 Formal Models of Computation Part II The Logic Model Lecture 2 – Prolog: History and Introduction.
Prolog Kyle Marcotte. Outline What is Prolog? Origins of Prolog (History) Basic Tutorial TEST!!! (sort of…actually not really at all) My example Why Prolog?
I Power Higher Computing Software Development Development Languages and Environments.
Lecture 9b: Prolog Heshaam Faili University of Tehran The language of logic Concepts Examples.
The AI War LISP and Prolog Basic Concepts of Logic Programming
By: Cory Canter CSC 415 Programming Languages. History  Created by Alain Colmerauer, Phillipe Roussel and Robert Kowalski in 1971  Started as a natural.
1 Alex Proctor and Brian Lee for CSCI 431 at UNCA, Fall 2002 ML (Meta Language) a brief introduction Alex Proctor and Brian Lee For CSCI 431 at the University.
Logic Programming Languages Session 13 Course : T Programming Language Concept Year : February 2011.
CSE 3302 Programming Languages Chengkai Li Spring 2008 Logic Programming: Prolog Lecture 21 – Prolog, Spring CSE3302 Programming Languages, UT-Arlington.
IT System Administration Lesson 3 Dr Jeffrey A Robinson.
Logic Programming Dr. Yasser Nada Fall 2010/2011 Lecture 1 1 Logic Programming.
Logic Programming. Formal Logics- Recap Formulas – w/out quantifiers Free Variables Bound Variables Assignments and satisfaction Validity and satisfiability.
MB: 26 Feb 2001CS Lecture 11 Introduction Reading: Read Chapter 1 of Bratko Programming in Logic: Prolog.
Invitation to Computer Science, Java Version, Second Edition 1 Logic Programming Logic programming  Various facts are asserted to be true  On the basis.
Knowledge Based Information System
The Prolog Language by Piyabut Thavilthicakul
Introduction to Prolog Asst. Prof. Dr. Senem Kumova Metin Revised lecture notes of “Concepts of Programmig Languages, Robert W. Sebesta, Ch. 16”
Done By :- -Nesreen Basem -Sara nabil -Rawan Prolog Program.
Logic Programming Logic programming Candidates should be familiar with the concept of logic programming for declaring logical relationships.
PROLOG “Programmation en Logique”
1 Recursively Enumerable and Recursive Languages.
The Proof Tree Visualiser By David Alexander Supervisor: Rajeev Goré Summer Scholar, RSISE.
Evolution and History of Programming Languages
By P. S. Suryateja Asst. Professor, CSE Vishnu Institute of Technology
CSCI-235 Micro-Computer Applications
Introduction to Visual Basic 2008 Programming
PROLOG.
Introduction to Java Dept. Business Computing University of Winnipeg
Computer Programming.
Compiler Construction
Advanced Programming Fall 2017.
Introduction to Systems Analysis and Design
Assembly Language for Intel-Based Computers
Dr. Yasser Nada Fall 2010/2011 Lecture 1
Programming Languages
BlueJ: a very quick introduction
Chapter 2: Prolog (Introduction and Basic Concepts)
Presentation transcript:

Prolog CSC 481 Team Project Winter 2009 ES-Tools Team

Overview ● Overview ● History ● What is Prolog? ● Language Structure ● How to get started ● Conclusion

History ● Research began in the late 60s/early 70s ● Created by scholars – Alain Colmerauer – University of Aix-Marseille – Phillipe Roussel – University of Aix-Marseille – Robert Kowalski – University of Edinburgh ● Both interpreted and compiled ● Very popular in Europe and Japan – Used in ICOT Fifth Generation Computer Systems Initiative

What is Prolog? ● Short for Programmable Logic ● A kind of theorem proving framework – Allows functions and procedures as well – Performs deductions in a goal-oriented manner ● An alternative to Lisp-based languages – Jess – CLIPS ● Very versatile

Language Structure ● Composed of facts, rules, and queries – Facts and rules are specified in an input file – Facts can take a variety of forms ● true. ● male('Brett'). ● parent('Brett','Daniel'). – Rules are similar to Jess/CLIPS rules ● ancestor(Anc, Child) :- parent(Anc, Child). ● father(Anc,Child) :- parent(Anc, Child), male(Anc).

Language Structure ● Composed of facts, rules and queries – Queries are run through an interpreter – Given above rule/fact base, we can execute queries ● ?- father('Brett','Daniel'). //Is Brett the father of Daniel? – Yes ● ?- father('Daniel','Brett'). //Is Daniel the father of Brett? – No ● ?- father('Brett',X). //Of who is Brett the father? X = 'Daniel'. ● ?- father(X,Y). //List all the father relationships here X = 'Brett', Y = 'Daniel'.

Getting Started ● Many public implementations – SWI-Prolog (interpreted) – gprolog (compiled) ● SWI-Prolog is well supported across multiple platforms – Windows and Linux versions work well ● Write a rule file, load it in, and start querying! – [filename] //loads a rule file – halt. //exits

Conclusion ● Prolog is a well-supported alternative to CLIPS/Jess ● Capable of complex problem solving – Queries provide goal-based deduction ● Structure may be more familiar to those not familiar with LISP ● Would be a great alternative for CLIPS or Jess for classroom assignments – Family Tree, etc.

References asdf %20years.pdf log/history.html asdf