In my previous blog post, we discussed about how we can measure a computer’s intelligence. When we talk about machine intelligence, what exactly are we talking about? Are we just talking about machines mimicking the human ways and mannerisms in the best possible way? No matter what the machines do, they are still following a predefined sequence of steps or an algorithm that dictates the sequence of steps. The field of artificial intelligence has been trying for a long time to put actual intelligence into a machine, but we are still far from it. The question then would be, can machines be truly independent?
As long as machines do things by themselves, why do I care? What’s the difference?
This question has been hounding researchers and philosophers alike for quite some time now. Over the last few decades, the machines have gotten real good at mimicking the human behavior. Most of the times, they are even better than humans at these tasks. But the problem is that this is a fixed list of tasks. If they can do these tasks so efficiently, why can’t they define an algorithm by themselves that will tell them how to create algorithms for other tasks? This is the difference. Even though they are doing things by themselves, they are not acting by actually understanding the context. They are simply applying an algorithm to determine the steps required to get the output in this situation.
Simulation vs Emulation
A lot of people tend to use these terms interchangeably. In the field of artificial intelligence, these two terms mean completely different things! Emulation is the process of mimicking the outwardly observable behavior to match an existing target. The internal state of the emulation mechanism does not have to accurately reflect the internal state of the target which it is emulating. Simulation, on the other hand, involves modeling the underlying state of the target. The end result of a good simulation is that the simulation model will emulate the target which it is simulating. That was a tricky sentence right! Anyway, the point of that sentence was to tell you that a good simulation of a target will give us the output that the target would have actually given.
Ideally, you should be able to look into the simulation and observe properties that you would see if you looked into the original target. The goal of an emulation is to able to substitute for the object it is emulating. A simulation’s focus is more on the modeling of the internal state of the target, which may not necessarily lead to emulation. Most of the times, a simulation runs far slower than real time.
A good example of emulator would be the one we come across during Android or iOS development. We don’t have to transfer our code to the phone every single time we want to test our algorithm. We have an emulator on our computer which will act as a phone. Other examples include MAME (arcade game emulator) and Hyperterminal (terminal emulator). There’s no need to model the arcade machine or a terminal in detail to get the desired emulated behavior as such. SPICE, on the other hand, is an electronics simulator. Flight Simulator is also a simulator (a bit obvious from the name, but nonetheless!). They attempt to model every detail of the target to represent what the target does in reality.
Can I create a machine more intelligent than myself?
All our technological inventions, philosophical ideas and scientific theories have gone through the birth canal of the human intellect. Arguably, human brain power is the chief limiting factor in the development of human civilization. So it’s natural to turn to machines to see if we can push it further. But as tempting as it may sound, there are a few big problems. The reason for this skepticism is because of the way we understand how human knowledge increases. Our understanding actually contradicts the notion of a sequence of ever-smarter machines.
An increase in human knowledge also accompanies increased specialization of skills. This specialization can also be seen in existing computing machines: computers might have super-human abilities in sorting files, doing large amounts of basic calculations, or drawing a fractal landscape but they have difficulty with basic things like speech recognition or natural language comprehension. A futuristic surgical robot might be trained with all known diagnostic and surgical techniques on man and surpass human doctors in accuracy and consistency, but it may know nothing of repairing other robots even though its toolkit would permit it to do so. Specialized machines need not know how to build better machines. Also, machines do not have needs or drives similar to those that propel the expansion of human knowledge.