You are on page 1of 2

COURSE DETAILS

Year : 2010 2011

ALGORITHM DESIGN AND ANALYSIS 3 Objectives 1. To teach the methods of advanced algorithm analysis 2. To teach advanced algorithms such as cryptographic algorithms, Geometric Algorithm and Parallel Algorithm. Expected Outcome The students will be able to 1. Apply the algorithms and design techniques to solve problems; 2. Have a sense of the complexities of various problems in different domains Prerequisites/Exposure Data Structures and Algorithms, Data Structures and Algorithms Lab UNIT-I: BASIC COMPUTABILITY Finite-state machines; Context-free grammars; Tractable and intractable Uncomputable functions; the halting problem; Implications of uncomputability problems; 0 0 3

THE COMPLEXITY CLASSES P AND NP: Definition of the classes P and NP; NP-completeness (Cooks theorem); Standard NP-complete problems; Reduction techniques. UNIT-II: ADVANCED ALGORITHMIC ANALYSIS Amortized analysis; Online and offline algorithms; Randomized algorithms; Dynamic programming; combinatorial optimization. UNIT-III: CRYPTOGRAPHIC ALGORITHMS Historical overview of cryptography; Private-key cryptography and the key-exchange problem; Public-key cryptography; Digital signatures; Security protocols; Applications (zero-knowledge proofs, authentication, and so on). UNIT-IV: GEOMETRIC ALGORITHMS Line segments: properties, intersections; convex hull finding algorithms. UNIT-V: PARALLEL and Distributed ALGORITHMS

PRAM model; Exclusive versus concurrent reads and writes; Pointer jumping; Brents theorem and work efficiency. DISTRIBUTED ALGORITHMS: Consensus and election; Termination detection; Fault tolerance; Stabilization. Text / Reference Books 1. Aho et al, The design and analysis of computer algorithms, Addision Wesley. 2. M. J. Quinn, Parallel computing theory and practice, McGraw Hill. 3. M. J. Quinn, Designing efficient algorithms for parallel computers, McGraw Hill. Mode of Evaluation Written examinations, seminar, assignments, surprise tests and quizzes

You might also like