JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD B.Tech IV COMPUTATIONAL COMPLEXITY Previous Question Paper (July/August - 2022 - R18)
Answer any five questions. All questions carry equal marks.
Main
Explain Polynomial time and its justification.
Answer
A Polynomial time algorithm is one whose running time is bounded by a polynomial function of the input size n. Specifically, an algorithm runs in polynomial time if there exists a constant k such that the number of operations is O(nk).
The justification for using polynomial time as the standard definition of tractability, known as the Cobham-Edmonds thesis, is based on several key factors:
- Closure under composition: If an algorithm calls a polynomial-time subroutine a polynomial number of times, the resulting algorithm remains polynomial. This allows for modular algorithm design.
- Model Independence: Polynomial time is robust across most reasonable models of computation. An algorithm that is polynomial on a multi-tape Turing machine remains polynomial on a single-tape machine or a random-access machine (RAM).
- Practical Efficiency: While high-degree polynomials (e.g., n100) are technically inefficient, they are rare in practice. Most naturally occurring polynomial-time algorithms have small exponents, making them feasible for large inputs, whereas exponential-time algorithms quickly become intractable as n grows linearly.
What is the P versus NP problem and why it’s hard?
Answer
The P versus NP problem asks whether every decision problem whose solution can be verified in polynomial time (NP) can also be solved in polynomial time (P). In essence, it asks if P = NP.
This problem is considered one of the hardest in computer science for the following reasons:
- Verification vs. Search: It is easy to check if a provided certificate (solution) is correct for an NP problem, but finding that certificate from scratch appears to require an exhaustive search through an exponential number of possibilities.
- NP-Completeness: The existence of NP-complete problems, such as the Boolean Satisfiability Problem (SAT), acts as a bridge. If any single NP-complete problem is proven to be in P, then P = NP. Despite decades of effort, no polynomial-time algorithm has been found for any NP-complete problem.
- Relativization: It has been proven that there exist "oracles" where P = NP and others where P ≠ NP. This demonstrates that standard diagonalization techniques, which solved many problems in computability theory, are insufficient to resolve this question, requiring entirely new mathematical insights into the structure of complexity classes.
What is Polynomial Time? Explain with Nontrivial examples of polynomial-time Algorithms.
Answer
Sign in to view the complete answer paper.
Illustrate Matrix Chain Multiplication with an example.
Answer
Sign in to view the complete answer paper.
Explain how knapsack problem is solved using Dynamic Programming.
Answer
Sign in to view the complete answer paper.
Illustrate the implementation of Quick Sort.
Answer
Sign in to view the complete answer paper.
Explain how travelling sales person problem is solved using Branch-and-bound technique.
Answer
Sign in to view the complete answer paper.
What are Randomized Algorithms? Explain in detail about Finger Printing and Pattern Matching.
Answer
Sign in to view the complete answer paper.
Write a detailed note on Graph problems.
Answer
Sign in to view the complete answer paper.
Explain in detail about Approximation Algorithms and Polynomial Time Approximation Schemes.
Answer
Sign in to view the complete answer paper.
Explain in detail about Decision Trees and Circuits.
Answer
Sign in to view the complete answer paper.
Write a short note on Disjoint Sets.
Answer
Sign in to view the complete answer paper.