100 likes | 245 Views
Symbolic AI www.cems.uwe.ac.uk/~ryang/prolog/top.html. weeks of even numbers Lecture Monday 13:00-14:00 (2Q50) Lab Sessions (five groups, all in 2Q52) Monday 14:00 , 15:00 Tuesday 11:00, 15:00 , 16:00. Assessment Method. Coursework 40% (Coding in Prolog)
E N D
Symbolic AI www.cems.uwe.ac.uk/~ryang/prolog/top.html weeks of even numbers Lecture Monday 13:00-14:00 (2Q50) Lab Sessions (five groups, all in 2Q52) Monday 14:00 , 15:00 Tuesday 11:00, 15:00 , 16:00
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/Controlling Backtracking • Lecture 8: Natural Language processing • Lecture 9: Input and Output Closed World Assumption • Lecture 11: Comparing with Others Languages • Lecture 12: Revision (out of date, be aware of changing)
Books • Prolog Programming by Paul Brna (a free copy available for everyone) • Logic Programming and Prolog by Ulf Nilsson and Jan Matuszynski • Prolog – Programming for AI by Ivan Bratko
Imperative Procedure oriented C, Fortran Object oriented C++, Java Declarative Functional langauge Haskell Logic language Prolog (PROgramming in LOGic) Programming Languages
Background - Logic • Logic: a tool for reasoning • Logical formulas: a formal way to describe things • Logical Operators: ‘and’ , ‘or’ , ‘not’ , ‘imply’
Examples Mary loves Tom => Every mother loves her children => loves(mary, tom) VX VY(loves(X,Y) <- mother_of(X,Y)) Logical Formulas
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. ( :- means <- ) boy_names( john, 1800, 1). boy_names( thomas, 1800, 2). pop_boy_names(X,Year) :- boy_names(X,Year,P), P =< 50. Logical Formulas (more examples)using: boy_names(Name, Year, Pos)
A Famous `Equation` Algorithm = Logic + control (by Rob Kowalski ) Example: What is the length of a list? Find who is Fred’s grandparents