Topic A: Introduction to Prolog
|
|
- Allyson Heath
- 5 years ago
- Views:
Transcription
1 Topic A: Introduction to Prolog Recommended Exercises and Readings From Programming in Prolog (5 th Ed.) Exercises: 1.2, 1.3, 1.4, Readings: Chapters 1 and Prolog Prolog: Programming in Logic A logic programming language Expresses the logic of the computation without describing its control flow Prolog Creating a Prolog program Write facts Write rules involving the facts Running a Prolog program Write a query (or goal) Let Prolog s engine search for an answer Search processes similar to those used by Prolog are an important part of AI 3 4
2 Your First Prolog Knowledge Base Grapes, plums, apples and pears are fruit Alice has grapes Bob has apples and plums Charles has apples and pears Diane has plums, celery and carrots Create a Prolog knowledge base that includes these facts Your First Prolog Knowledge Base Load the knowledge base into Prolog Choose Consult from the File menu Query the facts Are apples fruit? Does Bob have plums? Does Bob have celery? Are bananas fruit? Is celery a vegetable? 5 6 Rules Rules allow the knowledge base to contain conditional knowledge Something is true if something else is true Add rules that state that a food is healthy if it is a fruit Add additional rules that state that a food is healthy if it is a vegetable Variables A variable is a placeholder for information that will be determined in the future Any name that starts with an uppercase letter is a variable Write Prolog goals that answer the following questions: What items does Alice have? Who has pears? Which items are vegetables? Which items are healthy? 7 8
3 Conjunction and Disjunction Conjunction And Both items must be true for the result to be true Denoted by a, in Prolog Disjunction Or At least one item must be true for the result to be true Denoted by a ; in Prolog, or by having two separate rules Variables A variable can appear more than once in a Prolog goal Create a query that determines who has both apples and plums Variables can appear in Prolog rules Rewrite our rule for healthy so that it doesn t have to list off every healthy item All fruits are healthy and all vegetables are healthy 9 10 Modus Ponens A rule of logical inference Given A rule that says a is true if b is true Knowledge that b is true Then Conclude that a is true Prolog uses this rule (repeatedly) to answer queries Fruits and Vegetables Botanically speaking A fruit is a seed bearing structure that develops from the ovary of a flowering plant A vegetable is some other part of a plant typically a leaf, a stem or a root But from a culinary point of view Some items that are botanically fruits are used as vegetables Tomato, bell peppers, egg plants, And they are shelved with the vegetables in the store 11 12
4 Fruits and Vegetables Add rules to the knowledge base that make tomatoes, bell peppers and egg plants both fruits and vegetables A Final Thought on this Example Knowledge is knowing that a tomato is a fruit. Add a rule that says that an item causes confusion if it is both a fruit and a vegetable Wisdom is knowing not to put it in a fruit salad Terms Prolog knowledge bases are constructed from three types of terms Constants Must be a number or an atom Atoms begin with a lowercase letter, look like an operator (a collection of symbols), or are quoted inside single quotes Examples: 1, 31, lisa, james, +, :, 'Apple', Variables Must begin with an uppercase letter or an underscore Examples: X, _123, ListOfValues, Terms Prolog knowledge bases are constructed from three types of terms Compound term Consists of multiple terms f(t 1, t 2,, t n ) The atom f is referred to as a functor The terms t 1 t n are referred to as components The number of terms inside the parentheses is the arity of the term f 15 16
5 Matching How does Prolog determine whether or not a goal is true? How does it identify the values for variables that satisfy a goal? Matching is performed between the goal and the knowledge base Matching Two terms, t 1 and t 2, match if: t 1 and t 2 are both the same constant term t 1 is an uninstantiated variable and t 2 is any other term t 1 is instantiated to t 2 t 2 is an uninstantiated variable and t 1 is any other term t 2 is instantiated to t 1 t 1 and t 2 both uninstantiated variables t 1 and t 2 now co refer t 1 and t 2 are both compound terms with the same functor name and arity And all corresponding terms inside parentheses match And all variable instantiations within the parentheses are compatible No other terms match Example: Family Tree Create a knowledge base that describes a family Facts Identify each person as male or female Identify each parent / child relationship Rules Describe more complex relationships like sibling, brother, sister, aunt, uncle, grandfather, grandmother, cousin, Goals / Queries Test if two people have a certain relationship Identify everyone who is related to a certain person in a given way Summary A Prolog knowledgebase consists of Facts Rules Goals / Queries can answer questions based on the information in the knowledgebase Is a statement true? What values can be used to make a statement true? The programmer does not specify the control flow for the program 19 21
6 A good example for a cut: An item is okforschool if it is not junk and it s not a nut 22
Programming Paradigms
David Ng June 30, 2017 Contents 1 May 17, 2017 3 1.1 Programming Paradigm............................ 3 1.2 Languages.................................... 3 1.3 Haskell.....................................
More informationHints: I used a left fold and wrote a named helper function when I created my solution.
1) [4 marks] On a particular system, a password is considered acceptable if it meets the following constraints: It is at least 8 characters in length It contains at least one uppercase letter ('A' to 'Z')
More information6.034 Artificial Intelligence, Fall 2006 Prof. Patrick H. Winston. Problem Set 1
6.034 Artificial Intelligence, Fall 2006 Prof. Patrick H. Winston Problem Set 1 This problem set is due Wednesday, September 20. If you have questions about it, ask the TA email list. Your response will
More informationIntroduction to Prolog
Introduction to Prolog David Woods dwoods@scss.tcd.ie Week 3 - HT Declarative Logic The Prolog programming language is, at its theoretical core, a declarative language. This is unlike more commonly used
More informationTopic B: Backtracking and Lists
Topic B: Backtracking and Lists 1 Recommended Exercises and Readings From Programming in Prolog (5 th Ed.) Readings: Chapter 3 2 Searching for the Answer In order for a Prolog program to report the correct
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 informationPredicate Calculus. Problems? Syntax. Atomic Sentences. Complex Sentences. Truth
Problems? What kinds of problems exist for propositional logic? Predicate Calculus A way to access the components of an individual assertion Predicate Calculus: used extensively in many AI programs, especially
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 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 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 informationArtificial Intelligence Course Sharif University of Technology
Artificial Intelligence Course Sharif University of Technology Outline Data objects Matching Declarative meaning of Prolog programs Procedural meaning Example: monkey and banana Order of clauses and goals
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 informationProlog. (Programming in Logic) Prepared by: Tanay Kumar Saha
Prolog (Programming in Logic) Prepared by: Tanay Kumar Saha Motivation for Learning Prolog Follow prolog news: http://www.swi-prolog.org/news SWI-Prolog Used For Satellite Anomaly Detection Fast cars and
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 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 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 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 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 informationSECTION 1.5: LOGIC PROGRAMMING
SECTION 1.5: LOGIC PROGRAMMING William DeMeo williamdemeo@gmail.com University of South Carolina February 7, 2013 SPECIFYING FACTS AND RULES We populate our Prolog database with facts using predicates,
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 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 informationProgramming Languages Week 6 Exercises
Programming Languages Week 6 Exercises 1 Logic programming in Python 1.1 Unification Unification is the process of making two things the same. Unifying an unbound variable and a value makes them the same
More informationRELATIONSHIP TO PROBAND (RELATE)
RELATIONSHIP TO PROBAND (RELATE) Release 3.1 December 1997 - ii - RELATE Table of Contents 1 Changes Since Last Release... 1 2 Purpose... 3 3 Limitations... 5 3.1 Command Line Parameters... 5 4 Theory...
More informationIntroduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 8: First-Order Logic (FOL)
Introduction to Artificial Intelligence 2 nd semester 2016/2017 Chapter 8: First-Order Logic (FOL) Mohamed B. Abubaker Palestine Technical College Deir El-Balah 1 Introduction Propositional logic is used
More informationDerived from PROgramming in LOGic (1972) Prolog and LISP - two most popular AI languages. Prolog programs based on predicate logic using Horn clauses
Prolog Programming Derived from PROgramming in LOGic (1972) Good at expressing logical relationships between concepts Prolog and LISP - two most popular AI languages Execution of a Prolog program is a
More informationMachine Learning nearest neighbors classification. Luigi Cerulo Department of Science and Technology University of Sannio
Machine Learning nearest neighbors classification Luigi Cerulo Department of Science and Technology University of Sannio Nearest Neighbors Classification The idea is based on the hypothesis that things
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 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 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 informationExample Programming Exercises for Prolog
2007 February 3 3401 Example Prolog Programs Page 1 of 3 Example Programming Exercises for Prolog 1. Write a Prolog predicate countbt(tree, Count) to count the number of des in a binary tree that have
More informationINF5390 Kunstig intelligens. First-Order Logic. Roar Fjellheim
INF5390 Kunstig intelligens First-Order Logic Roar Fjellheim Outline Logical commitments First-order logic First-order inference Resolution rule Reasoning systems Summary Extracts from AIMA Chapter 8:
More informationCSL105: Discrete Mathematical Structures. Ragesh Jaiswal, CSE, IIT Delhi
is another way of showing that an argument is correct. Definitions: Literal: A variable or a negation of a variable is called a literal. Sum and Product: A disjunction of literals is called a sum and a
More informationFractions and Mixed Numbers
6 CHAPTER Fractions and Mixed Numbers Worksheet Adding Fractions Find the equivalent fraction. Shade the models. _? 6. _?.? Reteach A Find the equivalent fractions. To get the equivalent fraction, multiply
More informationSymbolic Computation Example Programming Exercises for Prolog
2001 July 16 3401 Prolog Programming Exercises Page 1 of 8 Symbolic Computation Example Programming Exercises for Prolog 1. Write a Prolog predicate countbt(tree, Count) to count the number of des in a
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 informationSEMANTICS. Retrieval by Meaning
SEMANTICS 1 Retrieval by Meaning Query: "Accident of a Mercedes" Retrieved image: Methods for retrieval by meaning: high-level image understanding beyond state-of-the-art except easy cases natural language
More informationmond and a square both go to the number 4.
A function machine is called one-to-one if every one of its inputs goes to a dierent output. Let's determine which of our functions from last week are one-to-one. 1. Is Katja's function machine one-to-one?
More informationACCESS for ELLs 2.0 Paper Grade 1 Sample Items
ACCESS for ELLs 2.0 Paper Grade 1 Sample Items Grade 1 Sample Items for the Public Speaking Tier A WIDA ACCESS for ELLs Sample Items for the Public (Released 12/2015) 1 Page 2 2 At the Grocery Store Sample
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 informationLING/C SC/PSYC 438/538. Lecture 20 Sandiway Fong
LING/C SC/PSYC 438/538 Lecture 20 Sandiway Fong Today's Topics SWI-Prolog installed? We will start to write grammars today Quick Homework 8 SWI Prolog Cheatsheet At the prompt?- 1. halt. 2. listing. listing(name).
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 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 informationProlog Programming. Chapter 2. Syntax and Meaning of Prolog Programs 1/16/2010
Prolog Programming Chapter 2 Syntax and Meaning of Prolog Programs 1/16/2010 1 Chapter 2 Syntax and Meaning of Prolog Programs Data Objects Matching Declarative meaning of Prolog programs Procedural meaning
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 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 informationWan Hussain Wan Ishak
September 1 st Session 2014/2015 (A141) Wan Hussain Wan Ishak School of Computing UUM College of Arts and Sciences Universiti Utara Malaysia (P) 04-9285150 (E) hussain@uum.edu.my (U) http://wanhussain.com
More information! model construction
Logics of Image Interpretation 1 Describing Image Interpretation in Logical Terms In 2D images (with possible occlusions) we never see the complete 3D reality.? deduction! model construction "from the
More informationProject activity sheet 3
1 Macmillan English Project activity sheet 3 Project: Food bar chart Units 13 18 Learning outcomes By the end of the project, children will have: practised language from Units 13 18 through a group project
More informationLecture 16: Logic Programming in Prolog
Lecture 16: Logic Programming in Prolog COMP 524 Programming Language Concepts Stephen Olivier March 26, 2009 Based on slides by A. Block, notes by N. Fisher, F. Hernandez-Campos, and D. Stotts Goal of
More informationECE Spring 2018 Problem Set #2 Due: 3/14/18
ECE 45234 - Spring 2018 Problem Set #2 Due: 3/14/18 The purpose of this problem set is to gain experience with logic-based methods. In the engineering design section you will be simulating the wumpus world.
More informationACCESSDATA SUPPLEMENTAL APPENDIX
ACCESSDATA SUPPLEMENTAL APPENDIX dtsearch Search Requests Note: This following dtsearch information was developed by DT Software, Inc. Copyright 1991 1997 DT Software, Inc. www.dtsearch.com. This appendix
More informationCSC 270 Survey of Programming Languages. Basic Constructs of Prolog
CSC 270 Survey of Programming Languages Prolog Lecture 1 Facts, Rules, and Queries Basic Constructs of Prolog Prolog has only three basic constructs: Facts statements that are unconditionally true Rules
More informationCSI30. Chapter 1. The Foundations: Logic and Proofs Rules of inference with quantifiers Logic and bit operations Specification consistency
Chapter 1. The Foundations: Logic and Proofs 1.13 Rules of inference with quantifiers Logic and bit operations Specification consistency 1.13 Rules of inference with quantifiers universal instantiation
More informationIntroduction to Python
Introduction to Python Why is Python? Object-oriented Free (open source) Portable Powerful Mixable Easy to use Easy to learn Running Python Immediate mode Script mode Integrated Development Environment
More information22c:31 Algorithms. Kruskal s Algorithm for MST Union-Find for Disjoint Sets
22c:1 Algorithms Kruskal s Algorithm for MST Union-Find for Disjoint Sets 1 Kruskal s Algorithm for MST Work with edges, rather than nodes Two steps: Sort edges by increasing edge weight Select the first
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 informationProlog Introduction. Gunnar Gotshalks PI-1
Prolog Introduction PI-1 Physical Symbol System Hypothesis A physical symbol system has the necessary and sufficient means for general intelligent action. Allen Newell and Herbert A. Simon PI-2 Physical
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 informationConstraint Solving. Systems and Internet Infrastructure Security
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Constraint Solving Systems
More informationKASHRUTH CERTIFICATION This is to certify that the following products, produced by:
, KASHRUTH CERTIFICATION This is to certify that the following products, produced by:, 13904 US-2, P.O. Box 129, Brule, WI 54820 are under the Kashruth certification of the crc (Chicago Rabbinical Council).
More informationCS 380/480 Foundations of Artificial Intelligence Winter 2007 Assignment 2 Solutions to Selected Problems
CS 380/480 Foundations of Artificial Intelligence Winter 2007 Assignment 2 Solutions to Selected Problems 1. Search trees for the state-space graph given below: We only show the search trees corresponding
More informationPart I Logic programming paradigm
Part I Logic programming paradigm 1 Logic programming and pure Prolog 1.1 Introduction 3 1.2 Syntax 4 1.3 The meaning of a program 7 1.4 Computing with equations 9 1.5 Prolog: the first steps 15 1.6 Two
More informationCOMS 6100 Class Notes
COMS 6100 Class Notes Wenbo Dong 20 October 2016 1 Perl There is more than one way to do it. 1.1 Array syntax: @arrayname=(item 1,item 2,item 3...) @ is the beginning of an array. array stores scaler (beginning
More informationITCS 6150 Intelligent Systems. Lecture 13 First-Order Logic Chapter 8
ITCS 6150 Intelligent Systems Lecture 13 First-Order Logic Chapter 8 First-order logic We saw how propositional logic can create intelligent behavior But propositional logic is a poor representation for
More informationRegistering as a parent
Powered by My Learning Registering as a parent 1 Table of Contents Registering using your browser (PC/tablet/mobile)... 2 What to do if you haven t received your activation code.... 4 What to do if you
More informationThis chapter explains data types in the KornShell. If You're New to Programming...
3 Data Types This chapter explains data types in the KornShell. If You're New to Programming... Every variable holds a value. The data type of a variable specifies the kind of values that the variable
More informationUsing first order logic (Ch. 8-9)
Using first order logic (Ch. 8-9) Review: First order logic In first order logic, we have objects and relations between objects The relations are basically a list of all valid tuples that satisfy the relation
More informationA Brief Introduction to Truth-Table Logic. Kent Slinker Pima Community College
` A Brief Introduction to ruth-able Logic Kent Slinker Pima Community College Earlier in this class, we learned that all arguments are either valid or invalid. Additionally, we learned that certain valid
More informationCSCI 4150: Intro. to Artificial Intelligence Midterm Examination
CSCI 4150: Intro. to Artificial Intelligence Midterm Examination Tuesday October 17, 000 Name: 1 Assorted search questions The following questions explore differences in the number of nodes evaluated for
More informationWelcome to the Quantitative Trait Loci (QTL) Tutorial
Welcome to the Quantitative Trait Loci (QTL) Tutorial This tutorial will describe how to navigate the section of Gramene that provides information on Quantitative Trait Loci (QTL). QTL are a statistical
More informationUsing first order logic (Ch. 8-9)
Using first order logic (Ch. 8-9) Review: First order logic In first order logic, we have objects and relations between objects The relations are basically a list of all valid tuples that satisfy the relation
More informationnrql Tutorial Systems & Co. KG Blumenau Hamburg Germany nrql Tutorial p.1/55
nrql Tutorial Systems & Co. KG Blumenau 50 22089 Hamburg Germany www.racer-systems.com nrql Tutorial p.1/55 Overview of Tutorial The nrql Query Language Introductory examples - why nrql? Syntax (query
More informationDatalog: Deductive Database Programming
Datalog: Deductive Database Programming Version 5.2 Jay McCarthy November 8, 2011 Datalog is a declarative logic language in which each formula is a function-free Horn clause, and
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 informationCS215 Logic Programming with Prolog
CS215 Logic Programming with Prolog mario camilleri 1991/3 Table of Contents Table of Contents...i 1 Introduction...1 1.1 Texts...1 1.2 Supplementary texts:...1 1.3 Software...2 1.4 Assessment Procedure...2
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 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 rules The Goal Get all three of your monkeys around the board and into the Banana Grove before anyone else can!
the rules Equipment Code Monkey Island Gameboard, 12 monkey figurines (three of each color), 54 Guide cards, 16 Fruit cards, 10 Boost in a Bottle cards. The Goal Get all three of your monkeys around the
More informationDecisions. Arizona State University 1
Decisions CSE100 Principles of Programming with C++, Fall 2018 (based off Chapter 4 slides by Pearson) Ryan Dougherty Arizona State University http://www.public.asu.edu/~redoughe/ Arizona State University
More informationLinkage analysis with paramlink Session I: Introduction and pedigree drawing
Linkage analysis with paramlink Session I: Introduction and pedigree drawing In this session we will introduce R, and in particular the package paramlink. This package provides a complete environment for
More informationIntroduction to Logic Programming in Prolog 1 / 39
Introduction to Logic Programming in Prolog 1 / 39 Outline Programming paradigms Logic programming basics Introduction to Prolog Predicates, queries, and rules Understanding the query engine Goal search
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 informationB Tree. Also, every non leaf node must have at least two successors and all leaf nodes must be at the same level.
B Tree If there is just one item in the node, then the B Tree is organised as a binar search tree: all items in the left sub tree must be less than the item in the node, and all items in the right sub
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 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 informationWhat is Prolog? - 1. A Prolog Tutorial. What is Prolog? - 2. Prolog Programming. » Declaring some facts about objects and their relationships
What is Prolog? - 1 Prolog is an example of a logic programming language Invented by Alain Colmeraurer in 1972 A Prolog Tutorial Based on Clocksin and Mellish Chapter 1 The version implemented at the University
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 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 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 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 informationCSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27
CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer
More informationCSC148 Week 6. Larry Zhang
CSC148 Week 6 Larry Zhang 1 Announcements Test 1 coverage: trees (topic of today and Wednesday) are not covered Assignment 1 slides posted on the course website. 2 Data Structures 3 Data Structures A data
More informationLecture 9: A closer look at terms
Lecture 9: A closer look at terms Theory Introduce the == predicate Take a closer look at term structure Introduce strings in Prolog Introduce operators Exercises Exercises of LPN: 9.1, 9.2, 9.3, 9.4,
More informationAnnouncements. The current topic: Prolog. Logic programming. Logic programming. Lab 2 has been marked.
The current topic: Prolog! Introduction! Object-oriented programming: Python! Functional programming: Scheme! Python GUI programming (Tkinter)! Types and values Logic programming: Prolog Next up: Introduction
More informationProlog Programming. Lecture Module 8
Prolog Programming Lecture Module 8 Prolog Language Prolog is unique in its ability to infer facts from the given facts and rules. In Prolog, an order of clauses in the program and goals in the body of
More informationINTRODUCTION TO PROLOG
INTRODUCTION TO PROLOG PRINCIPLES OF PROGRAMMING LANGUAGES Norbert Zeh Winter 2018 Dalhousie University 1/44 STRUCTURE OF A PROLOG PROGRAM Where, declaratively, Haskell expresses a computation as a system
More informationResearch Report AI A Numerical Equation Solver in Prolog Michael A. Covington Artificial Intelligence Programs The University of Georgia
Research Report AI 1989 02 A Numerical Equation Solver in Prolog Michael A. Covington Artificial Intelligence Programs The University of Georgia Athens, Georgia 30602 U.S.A. A Numerical Equation Solver
More informationCOMP3121/3821/9101/ s1 Assignment 1
Sample solutions to assignment 1 1. (a) Describe an O(n log n) algorithm (in the sense of the worst case performance) that, given an array S of n integers and another integer x, determines whether or not
More informationEx: If you use a program to record sales, you will want to remember data:
Data Variables Programs need to remember values. Ex: If you use a program to record sales, you will want to remember data: A loaf of bread was sold to Sione Latu on 14/02/19 for T$1.00. Customer Name:
More informationLists How lists are like strings
Lists How lists are like strings A Python list is a new type. Lists allow many of the same operations as strings. (See the table in Section 4.6 of the Python Standard Library Reference for operations supported
More information