Symbolic Programming Declarative Programming
|
|
- Geoffrey Bridges
- 5 years ago
- Views:
Transcription
1 CS370 Symbolic Programming Declarative Programming LECTURE 2: Introduction to Prolog Computer Science Department Korea Advanced Institute of Science and Technology
2 Overview Primer Introduction to Prolog 2 Symbolic Programming
3 Primer Symbolic Programming cf. numeric computation There are well-known examples of symbolic computation whose implementation in other standard languages took tens of pages of indigestible code. When the same algorithms were implemented in Prolog, the result was a crystal-clear program easily fitting on one page. 3 Symbolic Programming
4 Primer Declarative Programming cf. procedural programming Many believe that every student of computer science should learn something about Prolog at some point because Prolog enforces a different problem-solving paradigm complementary to other programming languages. 4 Symbolic Programming
5 Primer Logic Programming cf. functional programming Prolog stands for programming in logic, emerging from the idea of using logic as a programming language. But Prolog is a general programming language and any algorithm can be programmed in it. 5 Symbolic Programming
6 Primer Prerequisites none No particular programming experience is required. In fact, plentiful experience and devotion to procedural programming - for example in C or Pascal - might even be an impediment to the fresh way of thinking Prolog requires. 6 Symbolic Programming
7 Introduction to Prolog Defining relations by facts Defining relations by rules Recursive rules How Prolog answers questions Declarative and procedural meaning of programs 7 Symbolic Programming
8 Defining relations by facts Example Sentence Tom is a parent of Bob. Example Representation parent(tom,bob). Are there any other ways? tom-is-a-parent-of-bob. parent-of-bob(tom). relation(parent,tom,bob). relation(parent,2,tom,bob). What are the pros and cons? generality, extensibility, indexibility 8 Symbolic Programming
9 Defining relations by facts Questions Who is Tom a parent of??- parent(tom,x). X = bob yes Who else is Tom a parent of? parent(tom,bob). parent(tom,liz).?- parent(tom,x). X = bob; X = liz; no 9 Symbolic Programming
10 Defining relations by facts Question Who is a grandparent of Jim? parent(tom,bob). parent(tom,liz). parent(bob,jim).?- parent(x,y), parent(y,jim). X = tom, Y = bob yes Any other possibilities? 10 Symbolic Programming
11 Defining relations by rules Encoding gender information female(liz). Are there any other ways? gender(liz,feminine). person(liz,female,21,...). female([liz,sue,mary]). X is a male if it is not a female. What are the pros and cons? issues? 11 Symbolic Programming
12 Defining relations by rules Other relations the offspring relation Method 1: offspring(liz,tom). Method 2: offspring(y,x) :- parent(x,y). the mother relation mother(x,y) :- parent(x,y), female(x). the grandparent relation grandparent(x,z) :- parent(x,y), parent(y,z). Are there any other ways? 12 Symbolic Programming
13 Defining relations by rules Defining the sister relation sister(x,y) :- parent(z,x), parent(z,y), female(x). Any problems? Liz is a sister of herself? One possible solution sister(x,y) :- parent(z,x), parent(z,y), female(x), different(x,y). 13 Symbolic Programming
14 Recursive rules What is recursion? definition Why do we need recursion? reason Example: the predecessor relation predecessor(x,z) :- parent(x,z). predecessor(x,z) :- parent(x,y), predecessor(y,z). 14 Symbolic Programming
15 How Prolog answers questions Terminologies predicate, argument, clause, procedure fact, rule, head and body, goal, question Sample Interaction Axioms fallible(x) :- man(x). % All men are fallible. man(socrates). % Socrates is a man. Is this a theorem??- fallible(socrates). % Is Socrates fallible? yes 15 Symbolic Programming
16 How Prolog answers questions Another sample interaction?- predecessor(tom,pat). backtracking parent(pam,bob). parent(tom,bob). parent(tom,liz). parent(bob,ann). parent(bob,pat). parent(pat,jim). female(pam). male(tom). male(bob). female(liz). female(ann). female(pat). male(jim). offspring(y,x) :- parent(x,y). mother(x,y) :-.... sister(x,y) :-.... grandparent(x,z) :- parent(x,y), parent(y,z). predecessor(x,z) :- parent(x,z). predecessor(x,z) :- parent(x,y), predecessor(y,z). 16 Symbolic Programming
17 Meaning of programs Declarative meaning concerned with the relations defined by the program determines what will be the output of the program Procedural meaning determines how this output is obtained (or, how the relations are actually evaluated by the Prolog system) 17 Symbolic Programming
18 Summary Prolog programming consists of defining relations and querying about relations. A program consists of clauses. These are of three types: facts, rules and questions. A relation can be specified by facts, or by stating rules about the relation. A procedure is a set of clauses about the same relation. 18 Symbolic Programming
Logic Programming. fac(n-1,m) fac(n,n m) fac(1,1) ex) factorial program query. cf) in procedural programming. ?- fac(5,120). yes?- fac(5,x).
Logic Programming Logic Programming = ex) factorial program query fac(1,1) fac(n-1,m) fac(n,n m)?- fac(5,120). yes?- fac(5,x). X=120 cf) in procedural programming x=1; for (i=1;i
More informationLogic as a Programming Language
Logic as a Programming Language! Logic can be considered the oldest programming language! Aristotle invented propositional logic over 2000 years ago in order to prove properties of formal arguments! Propositions
More informationFirst-Order Logic (FOL)
First-Order Logic (FOL) FOL consists of the following parts: Objects/terms Quantified variables Predicates Logical connectives Implication Objects/Terms FOL is a formal system that allows us to reason
More informationChapter 16. Logic Programming. Topics. Logic Programming. Logic Programming Paradigm
Topics Chapter 16 Logic Programming Introduction Predicate Calculus Propositions Clausal Form Horn Clauses 2 Logic Programming Paradigm AKA Declarative Paradigm The programmer Declares the goal of the
More informationFirst-Order Logic. Cholwich Nattee. Sirindhorn International Institute of Technology Thammasat University. Lecture 9: First-Order Logic 1/60
First-Order Logic Cholwich Nattee Sirindhorn International Institute of Technology Thammasat University Lecture 9: First-Order Logic 1/60 Pros and Cons of Propositional Logic Propositional logic is declarative.
More informationSyntax and Meaning of Prolog Programs
Chapter 2 Syntax and Meaning of Prolog Programs Data Objects Matching Declarative meaning of Prolog programs Procedural meaning Example : monkey and banana Order of clauses and goals The relation between
More informationIntroduction to predicate calculus
Logic Programming Languages Logic programming systems allow the programmer to state a collection of axioms from which theorems can be proven. Express programs in a form of symbolic logic Use a logical
More informationChapter 16. Logic Programming. Topics. Predicate Calculus and Proving Theorems. Resolution. Resolution: example. Unification and Instantiation
Topics Chapter 16 Logic Programming Proving Theorems Resolution Instantiation and Unification Prolog Terms Clauses Inference Process Backtracking 2 Predicate Calculus and Proving Theorems A use of propositions
More informationCOMP219: Artificial Intelligence. Lecture 6: Recursion in Prolog
COMP219: Artificial Intelligence Lecture 6: Recursion in Prolog 1 Overview Last time Introduction to Prolog: facts, rules, queries; family tree program Today: Recursive rules in Prolog; writing and evaluating
More informationChapter 16. Logic Programming. Topics. Unification. Resolution. Prolog s Search Strategy. Prolog s Search Strategy
Topics Chapter 16 Logic Programming Summary (resolution, unification, Prolog search strategy ) Disjoint goals The cut operator Negative goals Predicate fail Debugger / tracer Lists 2 Resolution Resolution
More informationCS 321 Programming Languages and Compilers. Prolog
CS 321 Programming Languages and Compilers Prolog Prolog PROgramming LOGic Algorithm = Logic + Control Logic programming deals with computing relations rather than functions. To understand Prolog one must
More informationLast Week COMP219: Artificial Intelligence Lecture 8 Prolog Lecture 2 Recursive Definitions Recursion The Ancestor Relation
COMP219: Artificial Intelligence Lecture 8 Prolog Lecture 2 Recursive Definitions Dr. Annabel Latham Ashton Building Room 2.05 http://www.csc.liv.ac.uk/~alatham/comp219.html Last Week Prolog programs comprised
More informationProgramming Language Concepts (20013) Preparation for the Final Exam
Programming Language Concepts (20013 Preparation for the Final Exam This is a collection of 12 questions which are close to what is to be expected within the final exams for PLC. Attached are sample solutions.
More informationProlog. Reading: Sethi, Chapter 11. Overview. Predicate Calculus. Substitution and Unication. Introduction to Prolog. Prolog Inference Rules
Prolog Reading: Sethi, Chapter 11. Overview Predicate Calculus Substitution and Unication Introduction to Prolog Prolog Inference Rules Programming in Prolog - Recursion - List Processing - Arithmetic
More informationThe current topic: Prolog. Announcements. Meaning of a Prolog rule. Prolog syntax. Reminder: The deadline for Lab 2 re-mark requests is Friday.
The current topic: Prolog! Introduction! Object-oriented programming: Python! Functional programming: Scheme! Python GUI programming (Tkinter)! Types and values Logic programming: Prolog! Introduction
More informationCS 360: Programming Language Concepts Lecture 15 Logic Programming
Reference: Ch. 12.1-12.5 CS 360: Programming Language Concepts Lecture 15 Logic Programming I. Logic Programming (Generally) What is logic programming? A logic program is a collection of declarations,
More informationPROLOG. First simple Prolog Program. Basic elements of Prolog. Clause. NSSICT/CH/Nov., 2012.
PROLOG Prolog is a programming language for symbolic, n-numeric computations. It is specially well suited for solving problems that involve objects and relation between objects. First simple Prolog Program
More informationResolution (14A) Young W. Lim 6/14/14
Copyright (c) 2013-2014. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free
More informationProlog. Prolog: Programmation en Logique R.A. Kowalski: Predicate logic as a programming language, Proc IFIP 1974, pp.
Prolog Prolog: Programmation en Logique 1974 - R.A. Kowalski: Predicate logic as a programming language, Proc IFIP 1974, pp. 569-574: First-order predicate logic for the specification of data and relationships
More informationwill take you everywhere.
Prolog COMP360 Logic will get you from A to B. Imagination will take you everywhere. Albert Einstein Prolog Assignment A programming assignment in Prolog has been posted on Blackboard Upload your.pl file
More informationAdvanced Logic and Functional Programming
Advanced Logic and Functional Programming Lecture 1: Programming paradigms. Declarative programming. From first-order logic to Logic Programming. Programming paradigms Programming paradigm (software engineering)
More informationCS 360: Programming Languages Lecture 10: Logic Programming with Prolog
CS 360: Programming Languages Lecture 10: Logic Programming with Prolog Geoffrey Mainland Drexel University Section 1 Administrivia Midterm Tuesday Midterm is Tuesday, February 14! Study guide is on the
More informationCSC4504/Prolog. : Formal Languages & Applications. J Paul Gibson, D311. An Introduction To Prolog
CSC4504/Prolog. : Formal Languages & Applications J Paul Gibson, D311 paul.gibson@telecom-sudparis.eu http://www-public.telecom-sudparis.eu/~gibson/teaching/csc4504/ An Introduction To Prolog /~gibson/teaching/csc4504/problem8-prolog.pdf
More informationFor Wednesday. No reading Chapter 9, exercise 9. Must be proper Horn clauses
For Wednesday No reading Chapter 9, exercise 9 Must be proper Horn clauses Same Variable Exact variable names used in sentences in the KB should not matter. But if Likes(x,FOPC) is a formula in the KB,
More informationChapter 16. Logic Programming Languages ISBN
Chapter 16 Logic Programming Languages ISBN 0-321-49362-1 Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming
More informationProgramming Language Concepts (20013) Preparation for the Final Exam
Programming Language Concepts (20013) Preparation for the Final Exam This is a collection of 12 questions which are close to what is to be expected within the final exams for PLC. Sample answers to the
More informationPROgramming in LOGic. Part II. By Forrest Pepper 12/7/07
PROgramming in LOGic Part II By Forrest Pepper 12/7/07 Anatomy of a Program We discussed the three main constructs of a Prolog program Facts contain a property or state a relationship between two or more
More informationProgramming in Prolog. CSE 505 Computing with Logic Stony Brook University
Programming in Prolog CSE 505 Computing with Logic Stony Brook University http://www.cs.stonybrook.edu/~cse505 1 Relations/Predicates Predicates are building-blocks in predicate calculus: p(a 1,a 2,...,a
More informationLecture 4: January 12, 2015
32002: AI (First Order Predicate Logic, Interpretation and Inferences) Spring 2015 Lecturer: K.R. Chowdhary Lecture 4: January 12, 2015 : Professor of CS (VF) Disclaimer: These notes have not been subjected
More informationProgramming Paradigms
PP 2017/18 Unit 6 Prolog Basics 1/42 Programming Paradigms Unit 6 Prolog Basics J. Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE PP 2017/18 Unit 6 Prolog Basics 2/42 Outline
More informationAn introduction to Prolog. P. Cabalar ( Department Prolog of Computer Science University of Corunna, FebruarySPAIN 8, 2016)
An introduction to Prolog Pedro Cabalar Department of Computer Science University of Corunna, SPAIN February 8, 2016 P. Cabalar ( Department Prolog of Computer Science University of Corunna, FebruarySPAIN
More information6. Inference and resolution
Computer Science and Software Engineering University of Wisconsin - Platteville 6. Inference and resolution CS 3030 Lecture Notes Yan Shi UW-Platteville Read: Textbook Chapter 8 Part of the slides are
More informationSec Negative Goals ( Not ) 21
Sec. 1.11. Negative Goals ( Not ) 21?- non_parent(elmo,cathy). yes? non_parent(sharon,cathy). yes?- non_parent(charles,cathy). yes and non_parent fails if its arguments are in fact a parent and his or
More informationACSC300: Logic Programming
ACSC300: Logic Programming Lecture 1: Introduction to Logic Programming and Prolog Harris Papadopoulos Course Aims This course aims to help you to: Understand a radically different programming paradigm:
More informationProlog. Logic Programming vs Prolog
Language constructs Prolog Facts, rules, queries through examples Horn clauses Goal-oriented semantics Procedural semantics How computation is performed? Comparison to logic programming 1 Logic Programming
More informationTHE PREDICATE CALCULUS
2 THE PREDICATE CALCULUS Slide 2.1 2.0 Introduction 2.1 The Propositional Calculus 2.2 The Predicate Calculus 2.3 Using Inference Rules to Produce Predicate Calculus Expressions 2.4 Application: A Logic-Based
More informationLogic Languages. CSE 307 Principles of Programming Languages Stony Brook University
Logic Languages CSE 307 Principles of Programming Languages Stony Brook University http://www.cs.stonybrook.edu/~cse307 1 Languages Paradigms of Programming Languages: Imperative = Turing machines Functional
More informationITS336 Lecture 7 Prolog
Lecture 7 Prolog Prolog is a language for logic programming. Its concept is based on the First Order Logic. 7.1 Prolog Syntax Constant Symbols a word starting with a lowercase letter, or numbers e.g. john,
More informationNotes for Chapter 12 Logic Programming. The AI War Basic Concepts of Logic Programming Prolog Review questions
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions The AI War How machines should learn: inductive or deductive? Deductive: Expert => rules =>
More informationCPS 506 Comparative Programming Languages. Programming Language Paradigm
CPS 506 Comparative Programming Languages Logic Programming Language Paradigm Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic
More informationProgramming Language Concepts Logic Programming Prolog. Janyl Jumadinova 14 March, 2017
Programming Language Concepts Logic Programming Prolog Janyl Jumadinova 14 March, 2017 Background Japan s Fifth Generation project 1982: (https: //en.wikipedia.org/wiki/fifth_generation_computer) These
More informationCS 4700: Artificial Intelligence
CS 4700: Foundations of Artificial Intelligence Fall 2017 Instructor: Prof. Haym Hirsh Lecture 16 Cornell Cinema Thursday, April 13 7:00pm Friday, April 14 7:00pm Sunday, April 16 4:30pm Cornell Cinema
More informationSymbolic AI. Andre Freitas. Photo by Vasilyev Alexandr
Symbolic AI Andre Freitas Photo by Vasilyev Alexandr Acknowledgements These slides were based on the slides of: Peter A. Flach, Rule induction tutorial, IDA Spring School 2001. Anoop & Hector, Inductive
More informationChapter 16. Logic Programming Languages ISBN
Chapter 16 Logic Programming Languages ISBN 0-321-49362-1 Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming
More informationChapter 2 Preview. Preview. History of Programming Languages. History of Programming Languages. History of Programming Languages
Chapter 2 Preview Evolution of the Major Programming Languages The Beginnings of Data Abstraction: SIMULA 67 Orthogonal Design: ALGOL 68 Some Early Descendants of the ALGOLs Programming Based on Logic:
More information2 Spatial Representation of Rule Bases A Horn clause rulebase consists of a set of clauses. Each clause comprising an antecedent and a consequent such
Rulebase Checking Using a Spatial Representation Frans Coenen Department of Computer Science, The University of Liverpool, Chadwick Building, P.O. Box 147, Liverpool L69 3BX, England. frans@csc.liv.ac.uk,
More informationLogic Programming Languages
Logic Programming Languages Introduction Logic programming languages, sometimes called declarative programming languages Express programs in a form of symbolic logic Use a logical inferencing process to
More informationWeek 7 Prolog overview
Week 7 Prolog overview A language designed for A.I. Logic programming paradigm Programmer specifies relationships among possible data values. User poses queries. What data value(s) will make this predicate
More informationAn introduction to logic programming with Prolog
An introduction to logic programming with Prolog Dr. Constantinos Constantinides Department of Computer Science and Software Engineering Concordia University A running example: A family genealogy tree
More informationArtificial Intelligence
CS344: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 11 Prolog Introduction PROgramming in LOGic Emphasis on what rather than how Problem in Declarative Form
More informationLecture 7: January 15, 2014
32002: AI (First order Predicate Logic, Syntax and Semantics) Spring 2014 Lecturer: K.R. Chowdhary Lecture 7: January 15, 2014 : Professor of CS (GF) Disclaimer: These notes have not been subjected to
More informationChapter 16. Logic Programming Languages
Chapter 16 Logic Programming Languages Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming The Origins of
More informationLogic (or Declarative) Programming Foundations: Prolog. Overview [1]
Logic (or Declarative) Programming Foundations: Prolog In Text: Chapter 12 Formal logic Logic programming Prolog Overview [1] N. Meng, S. Arthur 2 1 Logic Programming To express programs in a form of symbolic
More informationPrinciples of Programming Languages Topic: Logic Programming Professor Lou Steinberg
Principles of Programming Languages Topic: Logic Programming Professor Lou Steinberg 1 Logic Programming True facts: If I was born in year B, then in year Y on my birthday I turned Y-B years old I turned
More informationIF/Prolog V5.3. User s Guide. Siemens AG Austria
IF/Prolog V5.3 User s Guide Siemens AG Austria Is there anything you would like to tell us about this manual? Please send us your comments. Siemens AG Austria PSE KB B3 Gudrunstrasse 11 A-1100 Vienna Austria
More informationVisual Prolog Tutorial
Visual Prolog Tutorial Jim Mims April 2008 (with modification by Danjie Zhu) Preface What is Prolog? Programming in Logic. Edinburgh syntax is the basis of ISO standard. High-level interactive language.
More informationPROLOG PROgramming in LOGic
PROLOG PROgramming in LOGic 1 Knowledge Based Information Systems (Relational) database systems are very efficient in the handling of data. Information is data together with a suitable interpretation.
More informationUsing Prolog as a CAS
Using Prolog as a CAS Kharkiv Pedagogical University A. Stolyarevska July 2002 References 1) Robinson J.A. A machine-oriented logic based on the resolution principle. J. ACM, 12, 23-41. 2) Colmerauer A.
More informationLast Week. Today. Prolog: recursion examples. Recursion in Prolog. CSC326 Programming Languages (Week 12,Friday)
Last Week CSC326 Programming Languages (Week 12,Friday) Yilan Gu guyilan@ecf.toronto.edu http://www.cs.toronto.edu/~yilan/326f09/ More on Prolog reasoning mechanism Operators Lists Today Recursion in Prolog
More informationFirst-Order Predicate Logic. Introduction to Intelligent Systems
First-Order Predicate Logic Introduction to Intelligent Systems First-Order (Predicate) Logic Propositional logic assumes the world contains facts Predicate logic (like natural language) assumes the world
More information1.2 Commercial Products of AI Robotics device. Vision systems that recognize shapes & objects.
Introduction to Artificial Intelligent 1.1 Artificial Intelligent (AI) Is the study of how to make computers do things which at the moment, people do better. or in specific definition AI is a branch of
More informationQuick n Dirty Prolog Tutorial
CSc 245 Introduction to Discrete Structures Quick n Dirty Prolog Tutorial (McCann) Last Revised: February 2014 Background: Prolog, whose name is from the phrase PROgramming in LOGic, is a special purpose
More information/99/$ IEEE
A Multiparadigm Language Approach to Teaching Principles of Programming Languages D. Suzanne Westbrook Computer Science and Electrical Engineering Northern Arizona University Flagstaff, AZ 86011 Abstract
More informationCSEN403 Concepts of Programming Languages. Topics: Logic Programming Paradigm: PROLOG Search Tree Recursion Arithmetic
CSEN403 Concepts of Programming Languages Topics: Logic Programming Paradigm: PROLOG Search Tree Recursion Arithmetic Prof. Dr. Slim Abdennadher 8.2.2015 c S. Abdennadher 1 Logic Programming versus Prolog
More informationCSC384: Intro to Artificial Intelligence Prolog Tutorials 3&4. Hojjat Ghaderi, Fall 2006, University of Toronto
CSC384: Intro to Artificial Intelligence Prolog Tutorials 3&4 1 Debugging Programs in Prolog We talked about the graphical debugger under Windows. Now, the text-based debugger: You can put a breakpoint
More informationDatabase Theory VU , SS Introduction to Datalog. Reinhard Pichler. Institute of Logic and Computation DBAI Group TU Wien
Database Theory Database Theory VU 181.140, SS 2018 2. Introduction to Datalog Reinhard Pichler Institute of Logic and Computation DBAI Group TU Wien 13 March, 2018 Pichler 13 March, 2018 Page 1 Database
More informationPROgramming in LOGic PROLOG Recursion, Lists & Predicates
PROgramming in LOGic PROLOG Recursion, Lists & Predicates CSC9Y4 1 Recursion Recursion in Prolog means placing in the body of a rule a call to the predicate which occurs in the head of the rule. Here is
More informationAutomated Reasoning Systems
Automated Reasoning Systems Resolution Theorem Proving: Prover9 Temur Kutsia RISC, Johannes Kepler University of Linz, Austria kutsia@risc.uni-linz.ac.at May 11, 2011 Prover9 Automated theorem prover from
More informationUNIVERSITETET I OSLO
Exam in INF3110/INF4110, 4. December 2007 Page 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Exam in: INF3110/4110 Programming Languages Day of exam: 4. December 2007 Exam hours: 14:30
More informationLogic Languages. Hwansoo Han
Logic Languages Hwansoo Han Logic Programming Based on first-order predicate calculus Operators Conjunction, disjunction, negation, implication Universal and existential quantifiers E A x for all x...
More informationto read: Chapter 10, Russel & Norvig
to read: Chapter 10, Russel & Norvig What will be discussed Inference machines Logic programming (Prolog) and theorem provers Next Production systems Semantic networks and Frames 2 3 Necessary to implement
More informationLecture Overview Prolog 1. Introduction Interaction Terms 2. Clauses and predicates Clauses Predicates Variables 3.
1 Lecture Overview Prolog 1. Introduction Interaction Terms 2. Clauses and predicates Clauses Predicates Variables 3. Satisfying goals 2 Prolog A standard free Prolog can be downloaded from http://www.swi-prolog.org
More informationOperators (2A) Young Won Lim 10/2/13
Operators (2A) Copyright (c) 2013 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version
More informationCSE 452: Programming Languages. Prolog Statements. Loading the Knowledge Base. Logical Programming Languages Part 2
CSE 452: Programming Languages Logical Programming Languages Part 2 Prolog Statements Prolog statements consist of facts, rules, and queries. Example of facts (written as headless Horn clauses) male(tony).
More informationLecture 6: Inductive Logic Programming
Lecture 6: Inductive Logic Programming Cognitive Systems - Machine Learning Part II: Special Aspects of Concept Learning FOIL, Inverted Resolution, Sequential Covering last change November 15, 2010 Ute
More informationMulti-agent and Semantic Web Systems: Representation
Multi-agent and Semantic Web Systems: Representation Fiona McNeill School of Informatics 21st January 2013 21st January 2013 0/22 What kind of representation? There are many different kinds of representations
More informationProlog. GNU Prolog ( SWI-Prolog (
Logic programming Most computations are directed, progressing from an input to an output. In functional programming, this is made very explicit, as the input is the argument of a function and the output
More informationCS Introduction to Artificial Intelligence
CS 540-1 -- Introduction to Articial Intelligence Exam 2 - November 4, 1992 CLOSED BOOK 90 minutes Write your answers on these pages and show your work. If you feel that a question is not fully specied,
More informationCOMP219: Artificial Intelligence. Lecture 14: Knowledge Representation
COMP219: Artificial Intelligence Lecture 14: Knowledge Representation 1 Overview Last time Game playing Minimax decisions Alpha-beta pruning Today Introduce the need for explicit knowledge representation
More informationMathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 9 Normal Forms
Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras Lecture - 9 Normal Forms In the last class we have seen some consequences and some equivalences,
More informationCost Models. Chapter Twenty-One Modern Programming Languages, 2nd ed. 1
Cost Models Chapter Twenty-One Modern Programming Languages, 2nd ed. 1 Which Is Faster? Y=[1 X] append(x,[1],y) Every experienced programmer has a cost model of the language: a mental model of the relative
More informationResearch in the Logic Group
Research in the Logic Group Michael Genesereth Logic Group Stanford University 1 Computational Logic on(red,yellow) above(yellow,blue) on(yellow,blue) x. y.(on(x,y) above(x,y)) on(green,yellow) on(green,blue)
More informationIntroduction (1A) Young Won Lim 9/12/13
Introduction (1A) Copyright (c) 2013 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later
More informationDeferred operations. Continuations Structure and Interpretation of Computer Programs. Tail recursion in action.
Deferred operations Continuations 6.037 - Structure and Interpretation of Computer Programs Mike Phillips (define the-cons (cons 1 #f)) (set-cdr! the-cons the-cons) (define (run-in-circles l) (+
More informationStructured Knowledge Representation
Intelligent Systems: Reasoning and Recognition James L. Crowley ENSIMAG 2 / MoSIG M1 Second Semester 2015/2016 Lesson 17 15 April 2016 Structured Knowledge Representation Object Oriented Programming...2
More informationUNIT 2 A. I. LANGUAGES-2: PROLOG
UNIT 2 A. I. LANGUAGES-2: Structure Page Nos. 2.0 Introduction 42 2.1 Objectives 43 2.2 Foundations of Prolog 43 2.3 Notations in Prolog for Building Blocks 46 2.4 How Prolog System Solves Problems 50
More informationPart I CHR tutorial. Cambridge University Press Constraint Handling Rules Thom Fruhwirth Excerpt More information
Part I CHR tutorial We present the essentials of the Constraint Handling Rules (CHR) programming language by the use of examples in this Tutorial part. The first chapter Getting started is a step-by-step
More informationThis lecture covers: Prolog s execution strategy explained more precisely. Revision of the elementary Prolog data types
This lecture covers: Prolog s execution strategy explained more precisely The execution strategy has been presented as simply placing all matching clauses onto the stack. In fact, Prolog is slightly more
More informationUsing Prolog as a CAS
Using Prolog as a CAS Alla L. Stolyarevska, Kharkiv State Pedagogical University, Ukraine Affiliations: Computer Science & Mathematics Address: Bluchera street, 2, Kharkiv, Ukraine, 310168 phone/fax: (+380)
More informationCom S 541. Programming Languages I
Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR
More informationSoftware Paradigms (Lesson 6) Logic Programming
Software Paradigms (Lesson 6) Logic Programming Table of Contents 1 Introduction... 2 2 Facts... 3 3 Predicates (Structured Terms)... 4 3.1 General Structures... 4 3.2 Predicates (Syntax)... 4 3.3 Simple
More information(Refer Slide Time: 05:25)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering IIT Delhi Lecture 30 Applications of DFS in Directed Graphs Today we are going to look at more applications
More informationDeclarative Programming Prolog CS360
Declaratie Programming Prolog CS360 Terms Numerical literals String literals Ø By default, any string that starts is all lowercase Ø Use single quotes for anything else Atoms Ø Essentially, strings Ø Also,
More informationAmalgamating Multiple Programming Paradigms in Prolog. Yoshiyuki Koseki
Amalgamating Multiple Programming Paradigms in Prolog Yoshiyuki Koseki C&C Systems Research Laboratories NEC CORPORATION 4-1-1 Miyazaki, Miyamae-ku Kawasaki, 213 JAPAN ABSTRACT This paper discusses the
More informationhas to choose. Important questions are: which relations should be dened intensionally,
Automated Design of Deductive Databases (Extended abstract) Hendrik Blockeel and Luc De Raedt Department of Computer Science, Katholieke Universiteit Leuven Celestijnenlaan 200A B-3001 Heverlee, Belgium
More informationChapter 1. An introduction to Prolog
Chapter 1. An introduction to Prolog Pedro Cabalar Dept. Computación University of Corunna, SPAIN February 7, 2011 P. Cabalar ( Dept. Ch1. Computación Prolog University of Corunna, SPAIN February ) 7,
More informationThe Logic Paradigm. Joseph Spring. 7COM1023 Programming Paradigms
The Logic Paradigm Joseph Spring 7COM1023 Programming Paradigms 1 Discussion The Logic Paradigm Propositional and Predicate Logic See also notes and slides on PP website Horn Clauses Definition, Examples
More informationScalable Data Exchange with Functional Dependencies
Scalable Data Exchange with Functional Dependencies Bruno Marnette 1, 2 Giansalvatore Mecca 3 Paolo Papotti 4 1: Oxford University Computing Laboratory Oxford, UK 2: INRIA Saclay, Webdam Orsay, France
More informationLogical reasoning systems
Logical reasoning systems Theorem provers and logic programming languages Production systems Frame systems and semantic networks Description logic systems CS 561, Session 19 1 Logical reasoning systems
More informationCoding Categorical Variables in Regression: Indicator or Dummy Variables. Professor George S. Easton
Coding Categorical Variables in Regression: Indicator or Dummy Variables Professor George S. Easton DataScienceSource.com This video is embedded on the following web page at DataScienceSource.com: DataScienceSource.com/DummyVariables
More information