  Inexact computing aims to compute good solutions that require considerably
less resource -- typically energy -- compared to computing exact solutions.
While inexactness is motivated by concerns derived from technology scaling and
Moore's law, there is no formal or foundational framework for reasoning about
this novel approach to designing algorithms. In this work, we present a
fundamental relationship between the quality of computing the value of a
boolean function and the energy needed to compute it in a mathematically
rigorous and general setting. On this basis, one can study the tradeoff between
the quality of the solution to a problem and the amount of energy that is
consumed. We accomplish this by introducing a computational model to classify
problems based on notions of symmetry inspired by physics. We show that some
problems are symmetric in that every input bit is, in a sense, equally
important, while other problems display a great deal of asymmetry in the
importance of input bits. We believe that our model is novel and provides a
foundation for inexact Computing. Building on this, we show that asymmetric
problems allow us to invest resources favoring the important bits -- a feature
that can be leveraged to design efficient inexact algorithms. On the negative
side and in contrast, we can prove that the best inexact algorithms for
symmetric problems are no better than simply reducing the resource investment
uniformly across all bits. Akin to classical theories concerned with space and
time complexity, we believe the ability to classify problems as shown in our
paper will serve as a basis for formally reasoning about the effectiveness of
inexactness in the context of a range of computational problems with energy
being the primary resource.
