Back close

Course Detail

Course Name Advanced Algorithm Design
Course Code 24AI632
Program M. Tech. in Artificial Intelligence
Semester Soft Core
Credits 4
Campus Amritapuri ,Coimbatore

Syllabus

Algorithm Analysis – Methodologies for Analyzing Algorithms, Asymptotic growth rates, Amortized Analysis. Array based structures, lists and. Number Theory: Preliminaries, FLT, Euclid’s algorithm (extended), Totient function, Sieve for primes, Modular exponentiation.

 

Applications of Divide-and-Conquer, Greedy and Dynamic programming, Randomized techniques – Knapsack, Median finding, Scheduling algorithms, Party planning, bitonic TSP. String matching algorithms: Z Algorithm, KMP algorithm, Rabin-Karp, Universal hashing, consistent hashing, load balancing, power of two choices. Applications of graph algorithms: Topological sort, Strongly connected Components, Bi-connected Components, Bridges, Articulation points, All Pairs Shortest Paths, Single Source Shortest Paths.

 

Flow Networks: Ford-Fulkerson algorithm, Edmonds Karp algorithm, Applications of maximum flows – Maximum bipartite matching, minimum cost matching. Data Structures: Balanced binary trees, Suffix trees, Segment trees, Hash tables. Computational Geometry: Convex Hull, Closest pair of points. NP-Completeness: Important NP-Complete Problems, Polynomial time reductions, Approximation algorithms.

Objectives and Outcomes

Preamble

This course builds upon the basic courses on data structures and algorithm design. It aims to enable students to design and adapt algorithms to solve complex problems especially relevant for AI domain. The focus will be on design and concrete implementations of various algorithmic techniques and their use in different application scenarios with proper analysis

 

Course Objectives

  • To provide an understanding of algorithm design and analysis used in real life domain
  • To solve complex problems by applying appropriate algorithmic design strategies
  • To critically analyze the complexity of various algorithms
  • To select appropriate design strategy to solve real world problems in AI domain

 

Course Outcomes

COs

Description

CO1

Explain the motivation behind the different algorithmic strategies and/or suitable data structures and their applications.

CO2

Articulate different algorithmic design techniques, compare and contrast them, and their application to real-world problems

CO3

Apply asymptotic and amortized analysis to determine the time and space complexities of an algorithm

CO4

Solve real world problems, especially in ML & AI domain, by identifying and applying appropriate design techniques

CO5

Concrete implementations of data structures and algorithms using Programming Language such as Java or Python

 

CO-PO Mapping

 

COs

Description

PO1

PO2

PO3

PO4

PO5

CO1

Explain the motivation behind the different algorithmic strategies and/or suitable data structures and their applications.

3

3

1

1

CO2

Articulate different algorithmic design techniques, compare and contrast them, and their application to real-world problems

3

3

1

1

CO3

Apply asymptotic and amortized analysis to determine the time and space complexities of an algorithm

3

3

1

1

CO4

Solve real world problems, especially in ML & AI domain, by identifying and applying appropriate design techniques

3

3

3

1

CO5

Concrete implementations of data structures and algorithms using Programming Language such as Java or Python

3

3

3

1

1

 

Prerequisites

  • Basic Data Structures
  • Basic Mathematics
  • Basic Programming Language

Evaluation Pattern

Evaluation Pattern – 70:30

 

  • Midterm Exam – 20%
  • Continuous Evaluation – 50%
  • End Semester Exam – 30%

Text Books / References

Text Book / References

  1. Cormen T H, Leiserson CE, Rivest R L and Stein C, “Introduction to Algorithms”, Prentice Hall of India Private Limited. Third Edition 2009.
  2. Michael T Goodrich and Roberto Tamassia, “Algorithm Design and Applications”, Wiley, 2014.
  1. Goodrich M T, Tamassia R and Michael H. Goldwasser, “Data Structures and Algorithms in Python++”, Wiley publication, 2013.
  1. Rajeev Motwani and Prabhakar Raghavan, “Randomized Algorithms”, Cambridge University Press, 1995.
  2. Vijay V. Vazirani, “Approximation Algorithm”, Springer Science and Business Media, 2003.

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now