Abstract

This chapter discusses abstract complexity. It discusses an abstract theory of the amount of resources needed to carry out computations. In practical terms, resources can be measured in various ways: storage space used, time, some weighted average of central processor time and peripheral processor time, some combinations of space and time used, or even monetary cost. A 2-ary partial function is called a complexity measure if it satisfies the Blum axiom. Computer scientists often seek programs that will obtain a desired result using minimum resources. The speedup theorem tells that it is possible for there to be no best program for this purpose. The theorem states that there exists a recursive function that is so badly behaved that for every program to compute it, there is another program which computes the same function but uses much less resources. The proof of the speedup theorem is quite intricate. A diagonal argument constructs an object that is guaranteed not to belong to a given class by systematically ensuring that the object differs in some way from each member of the class. More intricate diagonal arguments often are carried out in an infinite sequence of stages; at each stage, one seeks to ensure that the object being constructed is different from some particular member of the class.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call