Description
===========
Algorithms and methods in classical artificial intelligence
Course motivation
==============
This course is motivated by the need to provide computer science students with a thorough background in classical artificial intelligence. Classical artificial intelligence techniques such as efficient brute force search, heuristic search, constraint satisfaction, intelligent game design, logical reasoning and automatic planning play a critical role in the design and development of intelligent computer systems. This is a key course for students who want to work in artificial and computational intelligence.
Target Audience:
=============
The target audience for this course is graduate students and researchers in computer science.
Pre-Requisites:
===========
1. Undergraduate level data structures and algorithms course
2. Programming in C++ or any high level language
Course Objectives
==============
At the end of this course, successful candidates will:
- Know about the state of the art algorithms and theory in Artificial Intelligence
- Understand ‘agent models’ of Artificial Intelligence
- Be able to apply concepts of Artificial Intelligence in real life development projects
Course Schedule
=============
3 Credit Hours, 16 weeks
Course Design and Contents:
======================
- Basics (1 week): Introduction to AI, its scope and focus. Intelligent agent model of AI.
- Uninformed Search Techniques (1 week): Search problems in Computer Science, Uninformed Search (Breadth First Search, Depth First Search etc.,), Refinements and advancements in uninformed search.
- Heuristic Search (1 week) : Heuristics, Greedy Best First Search, A* search with Memory bounded heuristic search
- Local Search Techniques (1 week): Hill climbing, simulated annealing
- Constrained Satisfaction Problems (1 week): Introduction to constrained satisfaction problems (CSPs) in computer science, solving CSPs through search
- Intelligent Game Programming (1 weeks): Decision making in games, MIN-MAX, Alpha beta pruning, intelligent game design
- Logical Agents and Propositional Logic (2 weeks): Introduction to logic agents, propositional logic, reasoning with proposition logic and inference
- First Order Logic (2 weeks): First Order Logic, Inference in First Order Logic, Use of Prolog for reasoning
- Probabilistic Reasoning (2 weeks)
- Automatic Planning and Scheduling (1 weeks): Robotic Motion planning and scheduling
- Introduction to learning from data (1 week)
- Reinforcement Learning (2 weeks)
Course Books/References:
=====================
• Artificial Intelligence: A modern approach, 3rd Edition, Stuart Russell and Peter Norvig, Prentice Hall 2010.
• PROLOG programming for Artificial Intelligence, 3rd Edition, Ivan Bratko, Pearson Education Press.
• Latest research papers
General Information
Announcements
This is a reminder to upload your projects and project presentations as some of you havent done so.
Please upload your final project files here.
Thank you.
Here are your overall grades *out of 50*:
Adiba | 34 |
Amina | 38 |
Arslan | 40 |
Bismillah | 45 |
Javed | 44 |
Kanza | 38 |
Umar | 28 |
Uzair | 48 |
Here is how these are computed:
Total Marks: 50
Assignments: 20 marks
Total Assignments given: 5, Top 4 assignment scores are considered for each student. The two top scoring assignments receive a weight of 6 each and the remaining two a score of 4 each (
Mid term exam: 10 (Rescaled from 25)
Project Marks: 15
Quizzes: 3 Marks
Class Participation: 2 Marks
Bonus: Maximum bonus of 2 marks was given
Here are your mid term grades (out of 25):
Adiba | 18.5 |
Amina | 14 |
Arslan | 13.5 |
Bismillah | 18 |
Javed | 19 |
Kanza | 13 |
Umar | 12.5 |
Uzair | 22.5 |
Arslan: 9
Bismillah: 9
Kanza: 9
Uzair: 10
Amina: 0 (not submitted)
Adiba: 0 (not submitted)
Umer: 0 (not submitted)
Uzair and Bismillah: 10
The objective function needed to be 1+(sin(2*pi*x)**2). Code works with changed function. As for the Rastrigin function you could have simply used a single function for *minimization*.
Javed and Arslan: 10
The objective function needed to be 1+(sin(2*pi*x)**2). Code works with this function. As for the Rastrigin function, you needed to minimize not maximize!
Kanza, Amina and Adiba: 10-2 = 8 (Late Submission).
Adiba: 0 copied code https://webstersprodigy.net/2009/10/31/8-queens-problem-hill-climbing-python/
Umar: 6 (incorrect implementation, the number of attacking queens should be non-increasing)
Amina: 6 (unclear logic, the number of attacking queens should be non-increasing)
Javed: 8 (potential infinite loop, unecessarily long code)
Bismillah: 10
Uzair: 10
Arslan: 0 (copied https://webstersprodigy.net/2009/10/31/8-queens-problem-hill-climbing-python/ )
Kanza: 6 (unclear hill climbing logic)
Name | Office Hours | |
---|---|---|
Dr. Fayyaz ul Amir Afsar Minhas | When? Where? |