I want to understand the expected running time and the worse-case expected running time.
I got confused when I saw this figure (source),
where $I$ is the input and $S$ is the sequence of random numbers.
What I don't understand from the above equation is why the expected running time is given for one particular input $I$?
I always thought that for a problem $\pi$, $E(\pi) = \sum_{input \in Inputs}(Pr(input)*T(input))$ , isn't this correct?
So, let's assume Pr(x) is the uniform distribution, and we are to find the expected running time of the problem of searching an element in a $n$ element array using linear search.
Isn't the expected running time for linear search,
$$E(LinearSearch) = \frac{1}{n}\sum_1^ni $$
And what about the worst case expected running time, isn't it the time complexity of having the worst behavior? Like the figure below,
I would highly appreciate if someone can help me understand the two figures above.
Thank you in advance.
Asked By : Curious
Answered By : Yuval Filmus
There are two notions of expected running time here. Given a randomized algorithm, its running time depends on the random coin tosses. The expected running time is the expectation of the running time with respect to the coin tosses. This quantity depends on the input. For example, quicksort with a random pivot has expected running time $\Theta(n\log n)$. This quantity depends on the length of the input $n$.
Given either a randomized or a deterministic algorithm, one can also talk about its expected running time on a random input from some fixed distribution. For example, deterministic quicksort (with a fixed pivot) has expected running time $\Theta(n\log n)$ on a randomly distributed input of length $n$. This is known as average-case analysis. Your example of linear search fits this category.
A related concept is smoothed analysis, in which we are interested in the expected running time of an algorithm in the neighborhood of a particular input. For example, while the simplex algorithm has exponential running time on some inputs, in the "vicinity" of each input it runs in polynomial time in expectation.
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/25804
0 comments:
Post a Comment
Let us know your responses and feedback