# CS 312: Algorithm Analysis - PowerPoint PPT Presentation

1 / 6

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. CS 312: Algorithm Analysis. Lecture # 39: Problem Solving. Credit: Eric Ringger. A Rough-Draft Set of Questions for Problem Solving. Problem-Solving. Problem Formulation Algorithm Design

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

CS 312: Algorithm Analysis

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

## CS 312: Algorithm Analysis

Lecture #39: Problem Solving

Credit: Eric Ringger

### Problem-Solving

• Problem Formulation

• Algorithm Design

• Algorithm Analysis

• Theoretical Analysis: classify as asymptotic order of growth

• Empirical Analysis

• Proofs of Correctness

### Questions for Problem Formulation

• What do I know?

• What do I not know but I want to know?

• What are my assumptions?

• Can I formulate the problem as a graph?

• Can the problem be reduced to a familiar problem?

• Is the problem an optimization problem?

• Is the objective linear?

• Does the problem have constraints?

• Are the constraints linear?

### Questions for Algorithm Design

• Do I recognize the problem and know an algorithm that solves this problem?

• Is the problem NP-Hard but not NP-Complete?

• Is the problem NP-complete?

• Is it in NP?

• Can I reduce a known NP-complete problem to it?

• Does the problem decompose nicely into sub-problems?

• Do the sub-problems overlap?

• Does the optimality property hold?

### Exercise

• Can you organize these questions (both problem formulation and algorithm design) into a usable decision tree to guide you in the practice of problem-solving?