Lecture6

# Lecture6 - Computational Optimization ISE 407 Lecture 6 Dr...

• 24

This preview shows pages 1–7. Sign up to view the full content.

Computational Optimization ISE 407 Lecture 6 Dr. Ted Ralphs

This preview has intentionally blurred sections. Sign up to view the full version.

ISE 407 Lecture 6 1 Reading for this Lecture Miller and Boxer, Chapters 1 and 5 Fountain, Chapter 4 R. Sedgewick, Algorithms in C++ (Third Edition), 1998.
ISE 407 Lecture 6 2 The Complexity of a Problem We have seen how to measure the difficulty of an instance by calculating its running time. We have also seen how to measure the complexity of an algorithm by computing its running time function. How do we measure the difficulty of a problem? We must consider all possible algorithms for solving the problem. In some cases, it is clear that one algorithm dominates another, i.e., it is faster on every input, but in other cases, the dominance is not uniform. How do we compare algorithms for which this is not the case?

This preview has intentionally blurred sections. Sign up to view the full version.

ISE 407 Lecture 6 3 Some Notational Conventions Unless otherwise specified, we will assume all functions map N + to R + . Our usual function names will be f , g , and T . We will also assume that n is a variable denoting the input size that takes on values in N + . We will also use m as a variable taking on values in N + . We will use a , b , and c to denote constants. Generally, all variables and constants will take on values in N + . Although it is common practice, I will try not to refer to a function by the notation “ f ( n ) ” because f ( n ) is a value, not a function. Correct : “ f is a polynomial function.” Incorrect : “ f ( n ) is a polynomial function.”
ISE 407 Lecture 6 4 Growth of Functions Question : Why are we really interested in the theoretical running times of algorithms? Answer : To compare different algorithm for solving the same problem. We are interested in performance for large input sizes . For this purpose, we need only compare the asymptotic growth rates of the running times. Consider algorithm A with running time given by f and algorithm B with running time given by g . We are interested in knowing L = lim n →∞ f ( n ) g ( n ) What are the four possibilities?

This preview has intentionally blurred sections. Sign up to view the full version.

ISE 407 Lecture 6 5 Θ Notation We now define the set Θ( g ) = { f : c 1 , c 2 , n 0 > 0 such that c 1 g ( n ) f ( n ) c 2 g ( n ) n n 0 } If f Θ( g ) , then we say that f and g grow at the same rate or that they are of the same order . Note that f Θ( g ) g Θ( f ) We also know that if lim n →∞ f ( n ) g ( n ) = c for some constant c , then f Θ( g ) .
This is the end of the preview. Sign up to access the rest of the document.
• Fall '13
• TedRalphs
• Optimization, Big O notation, Analysis of algorithms, Computational complexity theory, ISE

{[ snackBarMessage ]}

### What students are saying

• As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

Kiran Temple University Fox School of Business ‘17, Course Hero Intern

• I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

Dana University of Pennsylvania ‘17, Course Hero Intern

• The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

Jill Tulane University ‘16, Course Hero Intern