The history of algorithms is really fascinating: from Ancient Babylon calculations called "The Earliest Programs", to innovative convolutional Artificial Intelligence (AI) neural network applied to analyze visual imagery in 2020. Nowadays algorithms are the vital details of every business mechanism given that the processes, insights, and decisions are mostly data-driven. That's why to keep your business moving forward it's important to know how different types of algorithms can perform various functions.
As mentioned earlier, algorithms are nothing new. They are simply structured and ordered a set of instructions that have been used by people since the beginning of time. Generally speaking, the algorithm is a step-by-step process designed to solve some problem. A sequence of shifting gears on a motorcycle, a knot tying, or a recipe to make a biscuit - all these are algorithms.
The history of algorithms in computer science is rooted in Alan Turing's researches, one of the most famous figures in computational theory. The rapid development of computer science catalyzed the advancement of algorithms in the areas of complexity and (computing) speed.
Basically, computer algorithms are procedures implemented in code and are run on data.
The word 'algorithm' has become very popular recently. It has transformed from something only mathematicians used to something most marketers use to promote AI-powered products. The media, along with entrepreneurs and marketing teams, brand a lot of things 'AI' that are actually not.
Users on quora.com are perplexing either
During our projects, we realized that some clients puzzle over the need to implement AI algorithms. That's why we are going to figure out these key terms and concepts.
AI or not AI: That's the Question
Artificial Intelligence became a buzzword used to cover a lot of things outside of the real AI concept. Chatbots, speech recognition, network assistants - these tools involve AI in most cases. To be associated with this enigmatic advanced technology, companies claim that their products contain AI tech and use clickbait titles. Sometimes it's justified, and other times it isn't.
Along with the 'algorithm', these terms are too often misunderstood. The over-hyped AI concept is used interchangeably when it shouldn't be. It adds unnecessary confusion in an already complex environment.
So what is Artificial Intelligence? Considering that there is no agreed definition (the same story with 'cloud'), we will choose one we like the most. That is Amazon's interpretation that builds a lot of its business on machine-learning systems (as a subset of AI):
"Artificial Intelligence is the field of computer science dedicated to solving cognitive problems commonly associated with human intelligence, such as learning, problem solving, and pattern recognition."
Let's formulate some additions to this term. AI programming investigates how to construct a specific set of algorithms that behave in a way that can be deemed intelligent somehow or other. First of all, it is about the ability to adjust and create new algorithms in response to learned inputs and data. This ability to change, adapt, and grow based on data is described as "intelligence." AI focuses on three cognitive skills: learning, reasoning, and self-correction. And the main goal is to find out possible patterns and decide the best one.
Let's talk about your idea?
What is the Difference Between AI and Algorithms?
AI differs from algorithms like chemistry from the formula. Formula along with algorithm is a basic detail that can be a basis of the different systems, structures, and superstructures. Indeed, algorithms are the building blocks that make up AI and provide guidance for almost any AI system.
An algorithm is to AI, what a lever is to a time-piece; like a gear in a watch. (C. E. Johnson on the Quora.com)
A non-AI algorithm is written by a human, while the AI algorithm is written already by a machine (based on the man-made baseline) and keeps self-evolving (hence the term "Machine Learning"). The non-AI algorithm implements the rules programmer has come up with, it may be quite clever and elaborate, but it is ordered and predictable. It does exactly what you designated it to do. AI algorithm is pretty dynamic, probabilistic, and could possibly surprise you by making a move you wouldn't have chosen and can't even explain. Such a feature could be both pros and cons simultaneously (that's why it is crucial pre-stage to define does AI solutions match your business).
As a user, we focus only on the moment inputs are collected and entered into a system, and then outputs are produced as the results from a system. What happens in the middle is missed and matters most: it's often called a hidden step. This step makes it difficult to distinguish ML algorithms as AI subset and traditional algorithms. Let's try to figure it out.
When mapping between the input and output is going through a defined sequence of steps hand-coded directly, then it falls into traditional programming.
Within AI system mapping is going via the model evolving through iterations defined by the programmer. ML algorithm takes an input and an output and builds some logic to predict an output on the basis of learning through the input that was provided. That logic which is generated is what makes this ML. Its behavior is determined by what it learned during this training step and how it compares to what it's monitoring in production. This is very different from most common algorithms and often called a 'black box' because of their resembling a complex and sometimes unpredictable closed system.
For instance, Google's search database is powered by PageRank, essentially a sorting algorithm for ranking web pages. It determines which sites are the most important based on the number of links to the website and other features.
Let's move on to AI example. Recommender engines (the vital parts of content businesses such as Spotify, Netflix, eCommerce sites like Amazon and social media, such as Facebook and Instagram) implement recommending the most relevant content out of billions of options in real time. This content includes new pages and friends based on your interests, your friends' interests, pages you like, your locations, etc. Such recommender systems represent an AI system based on a highly efficient but probabilistic ranking.
Does Your Business Really need AI: Pros and Cons of Artificial Intelligence
Where the business case is proven and effective, AI can become a great engine of efficiency and accuracy gaining. High-ROI AI projects are real. That said, before adopting or deploying AI, ask yourself, do you really need to risk the significant investments both in terms of capital and resources?
No doubt, that businesses need to consider carefully whether the adoption of AI is the right choice. AI can help to streamline many processes and make them more smooth. That is about:
making processes more efficient
developing smarter products and services
eliminating repetitive routine tasks
scanning tons of data and use that as a basis for decision making
But let us figure out the main cons that can be crucial for your business:
requiring a huge amount of data
requiring an upfront compute power
availability of preliminarily classified data that can be cumbersome and expensive to obtain
And of course, the lack of abstract thinking, ethics, and value of experience is the core problem (in the author's view, unsolvable) to bringing AI closer to human intelligence. So just all we need is to take off the rose-colored glasses and don't relying too much on AI fantastic opportunities. But instead, we should better know real use cases and abilities of AI toolkit.
How to select an algorithm for solving a particular problem?
Strong algorithms are allowing organizations to scale in ways that weren't possible before. For instance, UPS', an American multinational package delivery making 16 million deliveries per day, applies telematics and algorithms to eliminate inefficient routing. Thus the company saves its drivers 85 million miles a year representing $300 million savings per year in monetary terms.
The weak algorithm tends to be a one-trick pony: simple and single-task oriented while strong algorithm carries on tasks that are more complex, for example, multi-classification problem.
The desire of many businesses to implement or deploy AI is rightfully driven by the positive change that many have witnessed it bring across industries. But let's mark that configuration and modernization existing processes may bring similar benefits without the added risk and outlay associated with the introduction of AI tech.
FRESHCODE CASE: SOLVING PROBLEM AND SAVING RESOURCES
Now we want to share some insights about our experience when the client thought about AI implementation but traditional algorithms were enough for his requirements and needs. It saved a lot of resources.
Сustomer wanted to reorganize the delivery routing process in his Uber-like delivering app to improve the effectiveness of the business processes. Our team worked on the routing module responsible for the algorithm for searching and optimizing each driver's route.
The existing routing algorithm was implemented from a geometric (simplified) point of view and didn't take into account the number of important parameters.
We completed the full technical configuration of the module using Google OR-tools that are able to generate permutations, combinations, and other combinatorial sequences. Google OR-tools was a basis for the algorithm for finding the optimal route using a distance matrix for obtaining data on traffic between the delivery points. As for the geolocations, we choose OpenStreetMap that provides the required functionality within the client's budget. The main self-explanatory result of our collaboration was receiving commercial benefits right after the system update.