This course introduces the basic concepts and techniques of Artificial Intelligence (AI). The course aims to introduce intelligent agents and reasoning, heuristic search techniques, game playing, knowledge representation, reasoning with uncertain knowledge.
At the end of the course, students should be able to:
Introduction: Introduction to artificial intelligence, background and applications, Turing test, rational agents, intelligent agents, structure, behaviour and environment of intelligent agents.
Knowledge Representation: Propositional logic, first order predicate logic, resolution principle, unification, semantic nets, conceptual dependencies, frames, scripts, production rules, conceptual graphs.
Reasoning with Uncertain Knowledge: Uncertainty, non-monotonic reasoning, truth maintenance systems, default reasoning and closed world assumption, Introduction to probabilistic reasoning, Bayesian probabilistic inference, introduction to fuzzy sets and fuzzy logic, reasoning using fuzzy logic.
Problem Solving and Searching Techniques: Problem characteristics, production systems, control strategies, breadth first search, depth first search, hill climbing and its variations, heuristics search techniques: best first search, A* algorithm, constraint satisfaction problem, means-end analysis.
Game Playing: introduction to game playing, min-max and alpha-beta pruning algorithms. Prolog Programming: Introduction to Programming in Logic (PROLOG), Lists, Operators, basic Input and Output.
Understanding Natural Languages: Overview of linguistics, Chomsky hierarchy of grammars, parsing techniques.
Ethics in AI, Fairness in AI, Legal perspective