DEV Community

Cover image for Understanding AI: Approaches to Building Intelligent Systems in the Modern World
Mohamed Mellouky
Mohamed Mellouky

Posted on

Understanding AI: Approaches to Building Intelligent Systems in the Modern World

#ai

Nowadays, Artificial Intelligence (AI) becomes a trend, especially with the advances in Natural Language Processing (NLP) such as OpenAI ChatGPT, Google Bard and other products. However, AI is a very wide domain with many subdomains and their applications such as Computer Vision (CV), Recomendation Systems and others. Domains like Robotics usually megres multiple domains such as Object Detection/Recognition, Speech Recognition…

The idea of embedding intelligence in computer systems dates back to the mid-90s. At that time, we were able to use computers to perform complex tasks, such as calculating trajectories with ENIAC. However, computers were able to execute a set of instructions. Therefore, we cannot define them as intelligent because they do not perform any kind of intelligence, computers were/are blindly following a set of instructions and they cannot make decisions.

Building a computer that can make decisions -independently- is crucial in a number of domains. In fact, building self-driving cars requires the system to be able to understand the environment it moves in, detect obstacles, avoid them, mark stops, make steep left/right turns, brake steeply, brake a little harder when necessary, and make critical decisions such as (avoid another vehicle while hitting a pedestrian or vice versa). It is practically impossible to give the computer a set of instructions that does all this. It will have to create an -infinite — set of conditional statements. Therefore, we need to embed some form of intelligence into computer systems so that they can make -independent- decisions.

First of all, we cannot define intelligence precisely. In fact, there are many forms of intelligence, and there are many definitions. As a result, it is a bit difficult to model intelligence mathematically. Therefore, we find four approaches to creating intelligent systems.

https://www.gopichandrakesan.com/four-main-approaches-to-artificial-intelligence/

These approaches split into two approaches that think humanly or rationally, and two other approaches that act humanly or rationally.

To mimic intelligence, we might think of mimicking the way humans think. This is the main motivation behind the cognitive modeling approach. Its goal is to deeply understand how the human brain works so that we can embed human thinking in computers. But this approach is quite complex. In fact, we still do not have a deep understanding of how our brains work. Advances in neuroscience are still insufficient to inspire the AI community. Consequently, we can think differently by modeling real-world problems as mathematical predicates. Therefore, evaluating these predicates would be a solution to the formulated problem. But real-world problems aren’t Boolean. In the real world, there is always noise or undeterministic factors that make it so difficult to model problems by mathematical predicates, thus this approach is also quite difficult to implement.

The last two approaches do not focus on how the system thinks, they focus only on its output (the way the system acts). There are two approaches. In fact, we can build systems that act like humans or systems that act rationally. The former aims to build systems that have human-like behavior. As you can imagine, this is also a complex task because human behavior is influenced by many factors (age, gender, psychology, ethnicity, religious/cultural background…). As a result, human behavior is not always optimal or objective. Systems that follow this approach will be biased towards one of the factors determining human behavior. The latter tries to make rational decisions, so the goal of these systems is to maximize the number of correct or rational decisions. Most of today’s systems follow the rational agent approach and we have essentially two main approaches to implement it: Data Driven Approach and No-Data Driven Approach.

The Data Driven Appraoch as the name suggests it learns rational decisions from data. In fact, it relies on the fact that past data contains patterns that -could- happen in the future. The algorithms that falls in this approach tries to find patterns in past data in order to establish a model (a linear line for example) to make future predictions. Example of Data Driven Approaches is Machine and Deep Learning. Algorithms like Linear Regression, Support Vector Machines and Neural Networks are trained using past data. using the features in the data establish relations that makes accurate future predictions.

The No-Data Driven Approach is usually used when there is no data or when it is a little bit hard to obtain data. The methods that fall inside this approach learn by experience (repeating multiple times a task -a game for example- until mastering it) or by searching. The former method is called reinforcement learning. It envolves an agent in an environement. It starts acting on that environement multiple times hoping to maximize its correct actions in the environment. On the other hand, searching relies on using some search algorithms that traverses a data structures (a set of states) with the hope of finding the best solution (the best state). For instance, communication protocols uses some search algorithms such as Dijkstra’s algorithm to find the shortest path between the actual node (router) and the destination node.

Finally, Artificial Intelligence (AI) has rapidly become a key technology, transforming industries and daily life with advancements in areas like Natural Language Processing (NLP), computer vision, and robotics. AI aims to create systems that can think and act intelligently, but achieving true intelligence remains a complex challenge. This article explores the history of AI, various approaches to building intelligent systems, and the methods used today to enable machines to make independent, rational decisions in real-world environments.

Top comments (0)