CSC309: Artificial Intelligence, Logic Programming and Symbolic Computations | 6 credits (40-10-10) |
Objectives
To introduce the elementary notions in artificial intelligence, review the underlying logic theory needed, and teach a logic programming language (Prolog) and its use in various application areas with a special emphasis on symbolic computations.
Contents
Propositional calculus (syntactic, semantic and algebraic approaches) and first order predicate logic; Herbrand models; resolution principle and application strategies; Artificial intelligence: different views (definitions) of AI; AI application areas; introduction to agents and agent programs; review of some classic AI problems; limitations, Knowledge representation (including the use of logic and production rules) - the notions of entailment, satisfiability, and validity; Propositional and First Order Logic (syntax, semantics, translations to/from natural language sentences); Logical inferences: truth table approach, inference rules, Modus Ponens and Resolution, Unification, Normal Forms, Forward and Backward Chaining. Introduction to ontologies; Simple search strategies (e.g. breadth-first, depth-first, simple heuristic search); Overview of fields related to artificial intelligence; Need to use logic in programming; declarative vs. procedural semantics; intensions and extensions; Functional vs relational interpretation of statements; Horn clauses; abstract interpreter for Horn clauses; the prolog language: prolog programs as first order predicate logic, equality, the “cut”, completion and negation in prolog; recursion; arithmetic; Unification and resolution mechanisms; recursive rules in prolog, prolog data structures (e.g. lists); Application areas of logic programming (e.g. in AI, prototyping); Analysing computations symbolically (e.g. integration, algebraic manipulations); Choice of programming language and data structures; Programming for symbolic evaluation; Application areas; applications in artificial intelligence, prototyping.
Prerequisite:
CSC203