Galactic algorithm
A galactic algorithm is one that outperforms any other algorithm for problems that are sufficiently large, but where "sufficiently large" is so big that the algorithm is never used in practice. Galactic algorithms were so named by Richard Lipton and Ken Regan, as they will never be used on any of the merely terrestrial data sets we find here on Earth. Use cases. Even if they are never used in practice, galactic algorithms may still contribute to computer science: Examples. Integer multiplication. An example of a galactic algorithm is the fastest known way to multiply two numbers, which  is based on a 1729-dimensional Fourier transform. This means it will not reach its stated efficiency until the numbers have at least 2 bits (at least 10 digits), which is vastly larger than the number of atoms in the known universe. So this algorithm is never used in practice. However, it also shows why galactic algorithms may still be useful. One of the authors states: "we are hopeful that with further refinements, the algorithm might become practical for numbers with merely billions or trillions of digits." Matrix multiplication. The first improvement over brute-force multiplication, formula_2 is the Strassen  algorithm, a recursive algorithm that is formula_3. This algorithm is not galactic and is used in practice. Further extensions of this, using sophisticated group theory, are the Coppersmith–Winograd algorithm and its slightly better successors, delivering formula_4. These are galactic – "We nevertheless stress that such improvements are only of theoretical interest, since the huge constants involved in the complexity of fast matrix multiplication usually make these algorithms impractical." Communication channel capacity. Claude Shannon showed a simple but impractical code that could reach the capacity of a communication channel. It requires assigning a random code word to every possible formula_5-bit  message, then decoding by finding the closest code word. If formula_5 is chosen large enough, this beats any existing code and can get arbitrarily close to the capacity of the channel. Unfortunately, any formula_5 big enough to beat existing codes is also completely impractical. These codes, though never used, inspired decades of research into more practical algorithms that today can achieve rates arbitrarily close to channel capacity. Sub-graphs. The problem of deciding whether a graph formula_8 contains formula_9 as a minor is NP-complete in general, but where formula_9 is fixed, it can be solved in polynomial time. The  running time for testing whether formula_9 is a minor of formula_8 in this case is formula_13, where formula_5 is the number of vertices in formula_8 and the big O notation hides a constant that depends superexponentially on formula_9. The constant is greater than formula_17 in Knuth's up-arrow notation, where formula_18 is the number of vertices in formula_9. Even the case of formula_20 cannot be reasonably computed as the constant is greater than formula_21 with "n" = 65536. For formula_22, the constant is far larger: formula_23, where the part formula_24 is an exponential stack of 16 copies of  2, a number so big its exact value cannot be practically computed. The whole expression is a power tower of that many copies of 2. Cryptographic breaks. For cryptographers, a cryptographic "break" is anything faster than a brute-force attack – i.e., performing one trial decryption for each possible key. In many cases, even though they are the best known methods, they are still infeasible with current technology. One example is the best attack known against 128-bit AES, which takes only formula_25 operations. Despite being impractical, theoretical breaks can sometimes provide insight into vulnerability patterns. Traveling salesman problem. For  several decades, the best known approximation to the traveling salesman problem in a metric space was the very simple Christofides algorithm which produced a path at most 50% longer than the optimum. (Many other algorithms could "usually" do much better, but could not provably do so.) In 2020, a newer and much more complex algorithm was discovered that can beat this by formula_26 percent. Although no one will ever switch to this algorithm for its very slight worst-case improvement, it is still considered important because "this minuscule improvement breaks through both a theoretical logjam and a psychological one". Hutter  search. A single algorithm, "Hutter search", can solve any well-defined problem in an asymptotically optimal time, barring some caveats. It works by searching through all possible algorithms (by runtime), while simultaneously searching through all possible proofs (by length of proof), looking for a proof of correctness for each algorithm. Since the proof of correctness is of finite size, it "only" adds a constant and does not affect the asymptotic runtime. However, this constant is so big that the algorithm is entirely impractical. For example, if the shortest proof of correctness of a given algorithm is 1000 bits long, the  search will examine at least 2 other potential proofs first. Optimization. Simulated annealing, when used with a logarithmic cooling schedule, has been proven to find the global optimum of any optimization problem. However, such a cooling schedule results in entirely impractical runtimes, and is never used. However, knowing this ideal algorithm exists has led to practical variants that are able to find very good (though not provably optimal) solutions to complex optimization problems.