Zeros and ones. Bits and pieces. Positives and negatives. And above all, switches, some on and others off. We have all grown accustomed to seeing and using a contemporary computer. Each year, industry behemoths like Intel, AMD, ARM, and NVIDIA, release the next generation of their top-of-the-line silicon, locking horns, and pushing the envelope of the traditional computers that we know today.
If we critically evaluate these multitudes of new multi-core CPUs, GPUs, and mammoth compute clusters hosted on the cloud, we will soon realize that faster processors do not necessarily result in increased computational power. Granted, the speed of computation has increased exponentially in the past decades, so has the amount of data we can handle and process. We can store and analyze exabytes of data on the internet, train deep learning models like OpenAI’s GPT-3, and enable the computational intelligence needed to defeat champions and grandmasters at complex games like Go and Chess. But have all these technological advances expanded what we can fundamentally do with computers beyond where we started out with? Or simply put, have we changed our traditional model of computing?
Modern computers operate according to the principle of a von Neumann architectures that utilize inputs and outputs to a processing unit which performs logical functions on the inputs based on a set of instructions. While von Neumann architectures are good for solving problems in a practical manner, they do not describe the process of computation itself. For this, we need a Turing machine. A Turing machine provides an abstract model of today’s computers. Turing machines manipulate symbols on a tape according to a set of rules. The tape then advances or halts based on the current state of the machine. It is a well-known fact that all computations that a traditional computer can perform today can also be performed on a Turing machine. The astute reader will associate this result with the Church-Turing thesis, which states that “any real-world calculation can be done using λ-calculus, which is equivalent to using general recursive functions”. In practice, however, the speed of an actual Turing machine would be too slow for any realistic, reasonably sized problem.
Read more at:
/Service Ventures Team
Comments