Symbolic AI www.bit.uwe.ac.uk/~ryang/prolog/top.html Lecture Every Monday 12:30-13:30 Lab Session (two groups) Tuesday 16:30 3P30 Tuesday 17:30 3P30.

Slides:



Advertisements
Similar presentations
Intelligent Architectures for Electronic Commerce A (Brief) Prolog Tutorial.
Advertisements

F28PL1 Programming Languages Greg Michaelson/Jamie Gabbay Lecture 0: Overview.
1 Programming Languages (CS 550) Mini Language Interpreter Jeremy R. Johnson.
Computational Models The exam. Models of computation. –The Turing machine. –The Von Neumann machine. –The calculus. –The predicate calculus. Turing.
Introduction to Programming in C++ John Galletly.
06/01/101 Functional Programming GC16 / 3011 Chris Clack.
Knowledge Representation
Knowledge Representation Methods
Comp 205: Comparative Programming Languages Declarative Programming Languages Logic Programming Horn-Clause Logic Prolog Lecture notes, exercises, etc.,
Overview of Programming Paradigms
1 ) Definition 2) Note on structured and modular programming, and information hiding 3) Example imperative languages 4) Features of imperative languages.
1 CA 208 Logic Logic Prof. Josef van Genabith Textbooks:  The Essence of Logic, John Kelly, Prentice Hall, 1997  Prolog Programming, Third Edition, Ivan.
High-Level Programming Languages
Programming Languages Structure
Chapter 8 High-Level Programming Languages Nell Dale John Lewis.
Formal Aspects of Computer Science – Week 12 RECAP Lee McCluskey, room 2/07
CSC 111 Course orientation
Symbolic AI weeks of even numbers Lecture Monday 13:00-14:00 (2Q50) Lab Sessions (five groups, all in 2Q52) Monday.
School of Computing and Engineering, University of Huddersfield Formal Aspects of Computer Science - CIA 2326 Lee McCluskey, room 2/07
Programming Paradigms Imperative programming Functional programming Logic programming Event-driven programming Object-oriented programming A programming.
Chapter 8 High-Level Programming Languages (modified by Erin Chambers)
Formal Models of Computation Part II The Logic Model
Evolution of Programming Languages Generations of PLs.
LANGUAGE TRANSLATORS: WEEK 24 TRANSLATION TO ‘INTERMEDIATE’ CODE (overview) Labs this week: Tutorial Exercises on Code Generation.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Programming Lifecycle
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Artificial Intelligence Programming in Prolog Lecture 1: An Introduction 23/09/04.
Introduction To PROLOG World view of imperative languages. World view of relational languages. A PROLOG program. Running a PROLOG program. A PROLOG.
Chapter 6 Programming Languages (1) Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Programming Languages Meeting 14 December 9/10, 2014.
Fortran Fortran – Formula Translation –Developed by John Backus (IBM) in the mid 1950s. –It was a team effort and the design goal was to produce a translation.
CS4026 Formal Models of Computation Part II The Logic Model Lecture 2 – Prolog: History and Introduction.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Logic Programming and Prolog Goal: use formalism of first-order logic Output described by logical formula (theorem) Input described by set of formulae.
CS6133 Software Specification and Verification
Chapter 8 High-Level Programming Languages. 2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Logical and Functional Programming
Programming Languages
Introduction to Compilers Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY.
MB: 26 Feb 2001CS Lecture 11 Introduction Reading: Read Chapter 1 of Bratko Programming in Logic: Prolog.
C H A P T E R T H R E E Type Systems and Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
In The Name Of Allah Lab 03 1Tahani Aldweesh. objectives Searching for the solution’s. Declaration. Query. Comments. Prolog Concepts. Unification. Disjunction.
Programming Language Concepts (CIS 635) Elsa L Gunter 4303 GITC NJIT,
From Conventional Languages to Prolog –What we can do in conventional languages but not in Prolog –What we can do in Prolog but not in conventional languages.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Programming Language History and Evolution
Chapter 1. Introduction.
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Zuse’s Plankalkül – 1945 Never implemented Problems Zuse Solved
Why study programming languages?
PROGRAMMING PARADIGMS
Programming Language Design Concepts
课程名 编译原理 Compiling Techniques
Programming Language History and Evolution
Intro to CSC270 Survey of Programming Languages
Programming Languages
Unit-1 Introduction to Java
Programming Languages 2nd edition Tucker and Noonan
Programming Paradigms and Languages
Chapter 6: Programming Languages
PROGRAMMING PARADIGMS
Chapter 4 Action Routines.
Principles of Programming Languages
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Write the recursive and explicit formula for the following sequence
Chapter 10: Void Functions
Programming Paradigms and Languages
Presentation transcript:

Symbolic AI Lecture Every Monday 12:30-13:30 Lab Session (two groups) Tuesday 16:30 3P30 Tuesday 17:30 3P30

Assessment Method Coursework 40% (Coding in Prolog) Examination 60% (4-5 questions in AI 1 question in Prolog) How to Pass the coursework Don’t miss lectures, and always finish practical work on time.

A Preliminary Plan for this Term Lecture 1: Introduction, Logic Formulas, Logical Inferences Lecture 2: Syntax and Semantics of Prolog Lecture 3: Unification, Proof Tree Lecture 4: Lists, Recursions Lecture 5: More on Lists, Some Prolog Built-ins Lecture 6: A Case Study Lecture 7: Modifying Programs Dynamically Lecture 8: Controlling Backtracking Lecture 9: Input and Output Closed World Assumption next term Lecture 11: Comparing with Others Languages Lecture 12: Revision

Books Prolog Programming by Paul BrnaProlog ProgrammingPaul Brna Logic Programming and Prolog by Ulf Nilsson and Jan MatuszynskiLogic Programming and Prolog Prolog – Programming for AI by Ivan Bratko

Programming Languages Imperative  Procedure oriented C, Fortran  Object oriented C++, Java Declarative  Functional langauge Haskell  Logic language Prolog (PROgramming in LOGic)

A Famous `Equation` Algorithm = Logic + control (by Rob Kowalski )

Imperative LanguagesProlog programmer has to express control sequence explicitly control is built into the system data and program have different structure data and program have same structure program can't change itself as it runs program can be changed as it runs variable= a memory store destructive assignment variable= logical variable single assignment

Background - Logic Logic: a tool for reasoning Logical formulas: a formal way to describe things Logical Operators: and or not

Logical Formulars (recall from Analytical Modelling) Examples Mary loves Tom => Every mother loves her children => loves(mary, tom) VX VY(loves(X,Y) <- mother_of(X,Y))

Logical Formulas (more examples) using: boy_names(Name, Year, Pos) The most popular boy’s name in 1800 is John. The second popular boy’s name in 1800 is Thomas. A popular boy’s name within a year means that the name is listed in the top 50 list. boy_names( john, 1800, 1). boy_names( thomas, 1800, 2). pop_boy_names(X,Year) :- boy_names(X,Year,P), P =< 50.