The Complexity Theory was developed in the 1970s (that is, almost 50 years ago) of the last century with the goal of classifying algorithms according to the degree of difficulty in their execution on computers. The degree of difficulty is understood as the number of elementary operations (NEO)  (addition, subtraction, multiplication, division, exponentiation, and so on), which must be used when searching for the exact (optimal) solution of a given combinatorial model. Moreover, it should be emphasized that this NEO is evaluated for the worst case of the initial data. That is, this NEO is the upper limit of the complexity of this model, which is guaranteed to solve the problem within this time limit. Classes "P" and "NP" were introduced. The class "P" marks all combinatorial algorithms for which the NEO is estimated by some polynomial from the parameter "n", for example O (n ^ 3), where n is the total number of different initial data in the problem. The class "NP" marks all combinatorial algorithms for which the NEO is estimated by some exponential function a ^ n, for example 2 ^ n. It is believed that theoretically, algorithms from class P are good algorithms, but algorithms from the NP class are bad algorithms. However, this theory has not been developing for decades, we can say that it has practically stopped in its development, and we hardly notice anything new. From the point of view of practice, there is a point of view: a good algorithm from class P is not always evaluated as an effective algorithm, since there are restrictions imposed on the time limit for execution. For example, an algorithm with complexity O (n ^ m) becomes impractical even at values ​​m>10, and also an algorithm with complexity O (n ^ 6) becomes impractical even at large values ​​of n>1000. In order to solve this problem within a given time limit, various approximate algorithms are proposed, which can be divided into two categories. The first category is ε-algorithms that can solve the problem with a given ε-accuracy. Such algorithms produce approximate solutions A (D) = OPT (D) * (1 + ε), where 0

Similar questions and discussions