


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to algorithmic paradigms, focusing on the classes of polynomial time (p) and non-deterministic polynomial time (np) problems. It discusses the unsolvable problems, the difference between p and np, and the concept of np-complete and np-hard problems. The document also covers various algorithmic choices, including exponential algorithms, special case algorithms, approximation algorithms, and heuristic algorithms.
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



Spring 2009
1
Not all problems are solvable by computer
Example : the Halting Problemówhether or not an arbitrary program halts on all possible inputsóis not solvable.
I (^) Problems which are not solvable by computer programs are called unsolvable.
I (^) The class of solvable problems can be partitioned into two general classes: P and NP.
2
I (^) P is the set of Polynomial Time, or tractable , problems.
I (^) All problems that can be solved by a deterministic Turing Machine in polynomial time are in P.
( TM s are the theoretical equivalent of ìconventionalî computers.)
I (^) NP is the set of Nonñdeterministic Polynomial Time problems ó these are problems for which we can guess the answer (the nonñdeterminism) and then verify it in Polynomial Time... And we always guess the right answer!
3
I (^) All problems that can be solved in polynomial time by a non-deterministic TM (NTM) are ∈ NP.
I (^) NTMs are similar to parallel machines with as many processors as we may needóevery time there is a choice(s), start a new processor and pursue all paths. This is not very realistic.
I (^) It is not known if P = NP. It is generally believed , but it has not been proven that P 6 = NP.
4
I (^) Another class of problems: NPñComplete , the ìhardestî problems in NP.
I (^) These problems have the property that if any one of the NPñComplete problems can be solved in polynomial time, then every problem in NP has a polynomial time solution.
I (^) If this is ever proven, one result would be that P = NP.
I.e., all the problems that have been shown to be in NP can actually be solved in Polynomial Time.
I (^) However, there are several thousand problems which have been shown to be in the class NP-Complete, so the likelihood is fairly slim that anyone will be able to prove any NPñComplete problem is in P.
A problem may be stated in two different ways:
I The Optimization version of any problem is called NPñHard if the Decision version of the problem is NPñComplete.
I (^) Most optimization problems in physical (VLSI chip) design are NPñHard.
I (^) If a problem is known to be NPñComplete or NPñHard, it is unlikely, although not proven , that a polynomial time algorithm exists for the problem.
7
I (^) Because the problems in physical design are so complex, however, we still need the help of computers to nd feasible (workable) solutions, which are not necessarily optimal.
I (^) This is true of many problems, not just VLSI design.
I We have four choices:
8
I (^) If the input size is sufciently small, it may be feasible to use algorithms with exponential time complexity.
I (^) If the solution to a certain problem is critical to the chip performance, it may be practical to spend extra resources to solve the problem optimally. (E.g., using Integer Programming).
I (^) One possibility is to solve small subproblems optimally, then use another algorithm to combine them into an overall solution.
9
I (^) It may be possible to simplify a general problem by applying some restrictions to the problem.
I (^) Layout problems are easier for simplied VLSI design styles such as standard cell, and this allows the use of special case algorithms.
10
These algorithms produce results with a guarantee they will never be worse than a lower bound determined by the performance ratio of the algorithm:
These algorithms produce (feasible) solutions, but do not guarantee the optimality of them.
To be effective, a heuristic algorithm must:
(e.g., 0ñ1, linear, and integer programming)
I (^) a set of constraints on the solution are expressed as a collection of inequalities
I (^) the objective function is a minimization (or max) problem subject to the set of constraints
19
I (^) A technique to solve general optimization problems
I (^) especially useful when the solution space of the problem is not well understood
I (^) originated from observing crystal formation of physical materials (temperature, random movement)
I (^) SA examines the congurations (feasible solutions) of the problem in sequence
20
I SA evaluates these feasible solutions as they are encountered and moves from one solution to another
I (^) at ìhigh temperatureî ó lots of random movement
I (^) as ìtemperatureî is lowered, less movement occurs, and we approach a minimum solution
I (^) Stochastic Evolution, similar to SA, has produced even better results
21
I (^) a general and usually inefcient method for solving optimization problems
I (^) the congurations of solutions can be stored in a tree structure where the traversal of one (downward) path in the tree produces a (possibly infeasible) solution
I (^) aim: avoid searching the entire space by stopping at nodes ( pruning ) when it is ascertained an optimal solution cannot be represented by the current path
I (^) generally, it is hard to claim anything about the running time of B & B algorithms
22
(based on population genetics)
I (^) population : a solution subñspace
I (^) evolve : be modied
I (^) crossover : merge previous solutions
I (^) mutation : modify previous solution
I (^) tness value : a measure of the competence or quality of a solution
I (^) at each stage of a GA, a population of solutions is stored and allowed to evolve through successive generations
I (^) to create a new generation, new solutions are formed by crossovers and / or mutations
I the solutions selected for the next generation are probabilistically selected based on a tness value