AI vs non-AI programming
What is Artificial Intelligence?
Artificial Intelligence (AI) is a field of research in computer science that aims to create machines which can thick, reason and act on par with humans. It is not just intellectual curiosity that drives ongoing research in AI, but also its vast potential to assist humans and boost productivity.
Since the dawn of the machine age, humans have continuously sought ways to ease manual labor and enhance efficiency. From the discovery of the wheel to the invention of modern trucks, and from the mastery of fire to the development of sophisticated household tools, each milestone reflects our desire to automate tasks and save time. In the same spirit, AI is now reshaping industries by enabling machines to perform tasks once thought to require human intelligence—unlocking new levels of innovation and efficiency across every sector
But what exactly sets AI apart from other forms of computer programming? A sorting program, for example, takes as input an unsorted list of numbers and outputs a sorted list. Is it AI or not?
The key difference lies in the mechanism for problem-solving used by the sorting program. Let us say, there are two versions of a sorting program.
For the first version, the programmer has used a well-known sorting algorithm (such as bubble sort, quick sort, etc.) to sort the input numbers. Sorting is a well-researched area and every sorting algorithm has a sequence of defined steps which could be easily expressed in a programming language (such as Python, C, C++, etc.).
For the second version, the programmer has coded such that the program is only provided with instances of input/output. A sample input/output could be [12, 34, 9, 5, 50]/[5, 9, 12, 34, 50] which is actually an unsorted input series combined with the corresponding sorted output series. This program is made to go through hundreds or thousands of such input/output pairs so that it could come up with its own mapping rules from input series to output series. In other words, the second version of the program learns to sort by observing the input/output instances.
Recommended by LinkedIn
While both the programs are meant for sorting, the first version has the solution methodology defined within itself whereas the second version has a learning methodology encoded within itself.
Sorting using standard algorithms does not qualify as AI. However, if you could write a sorting program to which you only provide instances of input/output and you let the program go through hundreds or thousands of such input/output pairs so that it could come up with its own sorting rules for mapping from input to output, then you are essentially writing an AI program.
While traditional programs focus on solving a problem by implementing a known solution through step by step instructions, AI systems are programmed to come up with their own hypotheses for solving a given problem. In the sorting example, the sorting rules learned by the second version may not resemble a standard sorting algorithm known to us. In fact, the methodology learned by the AI program may or may not be interpretable to humans.
Before diving into the details of how one could write such an AI program that is able to learn and adapt autonomously from data, I hope that the above example illustrate the stark contrast between AI and conventional programming.
In fact, AI is a broad field and the above example of learning from data is only a particular type of AI methodology and is called machine learning.
There are also non-ML ways of enabling computer to mimic human behavior such as rule-based chatbots. For the interested readers, here is a nice article on AI without ML.
I hope you find this interesting. Looking forward to hear your thoughts !
Solid comprehension empowers AI's true potential. Devi Ganesan