Bsc Csit Nepal

Artificial Intelligence

Course Description:

The course introduces the ideas and techniques underlying the principles and design of artificial intelligent systems. The course covers the basics and applications of AI including: design of intelligent agents, problem solving, searching, knowledge representation systems, probabilistic reasoning, neural networks, machine learning and natural language processing.

Course Objectives:

The main objective of the course is to introduce concepts of Artificial Intelligence. The general objectives are to learn about computer systems that exhibit intelligent behavior, design intelligent agents, identify AI problems and solve the problems, design knowledge representation and expert systems, design neural networks for solving problems, identify different machine learning paradigms and identify their practical applications.


Course Contents

Unit 1: Introduction (3 Hrs.)

  • 1.1. Intelligence, Artificial Intelligence (AI), AI Perspectives: acting and thinking humanly, acting and thinking rationally
  • 1.2. History of AI
  • 1.3. Foundations of AI: Philosophy, Economics, Psycology, Sociology, Linguistics, Neuroscience, Mathmatics, Computer Science, Control Theory
  • 1.4. Applications of AI

Unit 2: Intelligent Agents (4 Hrs.)

  • 2.1. Introduction of agents, Structure of Intelligent agent, Properties of Intelligent Agents
  • 2.2. Configuration of Agents, PEAS description of Agents, PAGE
  • 2.3. Types of Agents: Simple Reflexive, Model Based, Goal Based, Utility Based, Learning Agent
  • 2.4. Environment Types: Deterministic, Stochastic, Static, Dynamic, Observable, Semi-observable, Single Agent, Multi Agent

Unit 3: Problem Solving by Searching (9 Hrs.)

  • 3.1. Definition, State space representaion, Problem as a state space search, Problem formulation, Well- defined problems

  • 3.2. Solving Problems by Searching, Search Strategies: Informed, Uninformed, Performance evaluation of search strategies: Time Complexity, Space Complexity, Completeness, Optimality

  • 3.3. Uninformed Search: Depth First Search, Breadth First Search, Depth Limited Search, Iterative Deepening Search, Uniform Cost Search, Bidirectional Search

  • 3.4. Informed Search, Heuristic Function, Admissible Heuristic, Informed Search Techniques: Greedy Best First Search, A* Search, Optimality and Admissibility in A*, Hill Climbing Search, Simulated Annealing Search

  • 3.5. Game Playing, Adversarial Search Techniques: Mini-max Search, Alpha-Beta Pruning

  • 3.6. Constraint Satisfaction Problems, Examples of Constraint Satisfaction Problems

Unit 4: Knowledge Representation (14 Hrs.)

  • 4.1. Definition and importance of Knowledge, Issues in Knowledge Representation, Knowledge Representation Systems, Properties of Knowledge Representation Systems
  • 4.2. Types of Knowledge Representation Systems: Semantic Nets, Frames, Conceptual Dependencies, Scripts, Rule Based Systems (Production System), Propositional Logic, Predicate Logic
  • 4.3. Propositional Logic(PL): Syntax, Semantics, Formal logic-connectives, truth tables, tautology, validity, well-formed-formula, Inference using Resolution, Backward Chaining and Forward Chaining
  • 4.4. Predicate Logic: FOPL, Syntax, Semantics, Quantification, Inference with FOPL: By converting into PL (existential and universal instantiation), Unification and lifting, Inference using resolution
  • 4.5. Handling Uncertain Knowledge, Radom Variables, Prior and Posterior Probability, Inference using Full Joint Distribution, Bayes’ Rule and its use, Bayesian Networks, Reasoning in Belief Networks
  • 4.6. Fuzzy Logic: Fuzzy Sets, Membership in Fuzzy Set, Fuzzy Rulebase Systems

Unit 5: Machine Learning (9 Hrs.)

  • 5.1. Introduction to Machine Learning , Concepts of Learning, Supervised, Unsupervised and Reinforcement Learning
  • 5.2. Statistical-based Learning: Naive Bayes Model
  • 5.3. Learning by Genetic Algorithms: Operators in Genetic Algorithm: Selection, Mutation, Crossover, Fitness Function, Genetic Algorithm
  • 5.4. Learning with Neural Networks: Introduction, Biological Neural Networks Vs. Artificial Neural Networks (ANN), Mathematical Model of ANN, Activation Functions: Linear, Step Sigmoid, Types of ANN: Feed-forward, Recurrent, Single Layered, Multi-Layered, Application of Artificial Neural Networks, Learning by Training ANN, Supervised vs. Unsupervised Learning, Hebbian Learning, Perceptron Learning, Back-propagation Learning

Unit 6: Applications of AI (6 Hrs.)

  • 6.1. Expert Systems, Components of Expert System: Knwoledge base, inference engine, user interface, working memory, Development of Expert Systems
  • 6.2. Natural Language Processing: Natural Language Understanding and Natural Language Generation, Steps of Natural Language Processing: Lexical Analysis(Segmentation, Morphological Analysis), Syntatic Analysis, Semantic Analysis, Pragmatic Analysis, Machine Translation,
  • 6.3. Machine Vision Concepts: Machine vision and its applications, Components of Machine Vision System
  • 6.4. Robotics: Robot Hardware (Sensors and Effectors) , Robotic Perceptions

Laboratory Work Manual:

Student should write programs and prepare lab sheet for most of the units in the syllabus. Majorly, students should practice design and implementation of intelligent agents and expert systems, searching techniques, knowledge representation systems and machine learning techniques. Students are also advised to implement Neural Networks for solving practical problems of AI. Students are advised to use LISP, PROLOG, and any other high level language like C, C++, Java, etc. The nature of programming can be decided by the instructor and student as per their comfort. The instructors have to prepare lab sheets for individual units covering the concept of the units as per the requirement. The sample lab sessions can be as following descriptions;

Unit 2: Intelligent Agents (4 Hrs)

  • Write programs for implementing simple intelligent agents.

Unit 3: Problem Solving by Searching (12 Hrs)

  • Write programs for illustrating the concepts of
    • Uninformed Search like DFS, BFS, etc.
    • Informed Search like Greedy Best First, A*, etc.
    • Game Search like MiniMax Search
  • Write programs for constraint satisfaction problems like water jug, n-queen problem, cryptoarithmatic problem, etc.

Unit 4: Knowledge Representation (12 Hrs)

  • Write programs for illustrating the concepts knowledge representation systems
    • rule based (program with if then rules)
    • predicate logic (using predicates like in Prolog)
    • frames (using concepts of class)
    • semantic nets (using concepts of graph)

Unit 5: Machine Learning (10 Hrs)

  • Write program for implementing Naive Bayes.
  • Write program for implementing Neural Networks for realization of AND, OR gates.
  • Write program for implementing Backpropagation Learning.

Unit 6: Applications of AI (7 Hrs)

  • Write program for implementing expert systems like disease prediction, weather forecasting etc.
  • Use library tools like NLTK to illustrate concepts of Natural Language Processing.

Text Books:

  1. Stuart Russel and Peter Norvig, Artificial Intelligence A Modern Approach, Pearson

Reference Books:

  1. George F. Luger, Artificial Intelligence: Structures and Strategies for Complex Problem Solving, Benjamin/Cummings Publication
  2. E. Rich, K. Knight, Shivashankar B. Nair, Artificial Intelligence, Tata McGraw Hill.
  3. D. W. Patterson, Artificial Intelligence and Expert Systems, Prentice Hall.
  4. P. H. Winston, Artificial Intelligence, Addison Wesley.