Until now, Computer Scientists have concerned themselves with identifying efficient algorithms for solving the general case of some problem -- that is finding one which performs well when the size of the input tends to infinity. In this paper, we first introduce a theoretical framework for reasoning about finite algorithmics. It allows familiar concepts such as asymptotic complexity to be adapted to the case where the input size is bounded from above. We also present some elementary results within this theory. Secondly, we present a generic approach for automatically discovering an adequate algorithm for the finite case of some hard problem -- if one exists. Thirdly, we argue why we expect the finite case of hard problems to be easier than the general case. Fourthly, we present some relevant ideas specific to three hard problems, namely 3CNFSAT, String Compression and Integer Factorization.
翻译:迄今为止,计算机科学家一直致力于寻找解决某些问题一般情况的高效算法——即在输入规模趋于无穷大时表现良好的算法。本文首先引入了一个用于有限算法分析的理论框架,该框架使得诸如渐近复杂性等熟悉概念能够适应输入规模存在上界的情况,并给出了该理论中的若干基础结果。其次,我们提出了一种通用方法,用于自动发现某些难题在有限情形下的合适算法(若存在)。第三,我们论证了为何预期难题的有限情况比一般情况更易处理。第四,我们针对三个具体难题——3CNFSAT、字符串压缩与整数分解——提出了若干相关重要思路。