No Fastest Algorithm: Examples & Explanation

  • Thread starter Thread starter Dragonfall
  • Start date Start date
  • Tags Tags
    Algorithm
AI Thread Summary
The discussion explores the conjecture that no fastest algorithm exists for certain computational problems, particularly multiplication and matrix multiplication. Coppersmith and Winograd's work suggests that there is no fastest "Strassen-type bilinear" matrix multiplication algorithm. The conversation highlights the existence of infinitely many algorithms for any computable task, which could lead to both ascending and potentially descending chains of complexity. Participants consider the implications of finite arrangements of code versus the possibility of infinite code lengths. Ultimately, the discussion emphasizes the complexity of determining a "fastest" algorithm for various problems.
Dragonfall
Messages
1,023
Reaction score
5
It has been conjectured that there is no fastest algorithm for multiplication, among other things. Can somebody give me an example of something that provably has no fastest algorithm for?
 
Mathematics news on Phys.org
Here's a partial answer -- the best I could do at the moment. Coppersmith & Winograd show that there is no fastest "Strassen-type bilinear" matrix multiplication.

D. Coppersmith and S. Winograd, "On the Asymptotic Complexity of Matrix Multiplication", SIAM J. Comput. 11:3 (1982), pp. 472-492.
 
But is there a simple problem, even something completely artificial, that shows this CAN happen?
 
Matrix multiplication not simple enough for you? Maybe you need to say what you mean by 'simple'.
 
Matrix multiplication has not been proven either way, and in fact according to http://arxiv.org/abs/math.GR/0511460, if a certain conjecture is true, then there is a fatest algorithm that's in O(n^2).
 
Surely there has to be a 'fastest' algorithm, or at least an algorithm that's joint fastest. Perhaps that's what it means?
 
Here are some heuristics on why there might not be a fastest algorithm for something. For any given computable task, there are always infinitely many algorithms to solve it, because you can always add "futile" steps that just waste time, adding to the complexity. Therefore, there always exists an infinite ascending chain of slower and slower complexity classes which contain these algorithms. The question is, is it possible that infinite descending chains also exist?

EDIT: I want something computable, because any uncomputable problem trivially has no fastest solution.
 
Last edited:
Oh right I think I see. But since there only a finite number of ways of arranging code, then the fastest algorithm has to exist anyway. Unless you're talking about infinite length of code as well?
 
  • #10
Twinbee said:
Oh right I think I see. But since there only a finite number of ways of arranging code, then the fastest algorithm has to exist anyway. Unless you're talking about infinite length of code as well?

?

The number of finite programs is infinite.
 
  • #11
Dragonfall said:
The question is, is it possible that infinite descending chains also exist?

Of course. The different types of Toom-Cook multiplication are an easy example. Of course there are algorithms that outperform all of them, so they don't satisfy your original question.
 
Back
Top