Approximate Computing¶
Approximate computing is a design philosophy that challenges a long-held assumption in computer science: that every calculation must be perfectly accurate. In many real-world tasks—like recognizing an object in an image, interpreting a sensor signal, or controlling a robot—absolute precision isn’t necessary. Small errors usually don’t matter, and sometimes the quest for perfect accuracy wastes energy, slows down processing, or makes hardware far more complex than it needs to be. Approximate computing embraces this reality by allowing systems to trade a bit of precision for major gains in speed, efficiency, and adaptability.
Instead of insisting on exact answers, approximate computing focuses on good enough answers delivered quickly and cheaply. This might mean using simplified arithmetic, reducing the resolution of certain signals, or designing circuits that intentionally skip or compress work when the stakes are low. The result is hardware that uses less power, reacts faster, and can tolerate noise or partial failures—qualities that are essential for modern devices operating in unpredictable or resource-limited environments.
For our community, approximate computing pairs naturally with evolvable hardware. When circuits can evolve directly on an FPGA, they often discover unconventional solutions that rely on approximation, analog behavior, or clever shortcuts humans would never design manually. These imperfect but efficient solutions can be more robust, adaptable, and biologically plausible than rigid, exact logic. By embracing approximation as a design tool rather than a flaw, we open the door to evolved systems that are faster, more resilient, and better suited to the messy complexity of the real world.
Learn More¶
Approximate Computing Survey, Part I: Terminology and Software & Hardware Approximation Techniques