Artificial Intelligence
PREPARED BY : ENG/ALAA KHALIFA
UNDER SUPERVISED : PROF/ROWAYDA SADEK
Agenda
Introduction
Types Of Learning In Artificial Intelligence
Types Of Artificial Intelligence Systems
Branches of Artificial Intelligence
Performance Metrics In Artificial Intelligence
Artificial Intelligence Challenges
Recently survey papers
Introduction
What is Artificial Intelligence ?
The study of computer systems that attempt to model and apply the intelligence of the human
mind
A branch of computer science dealing with the simulation of intelligent behaviour in computers
The capability of a machine to imitate intelligent human behaviour
Introduction
History of AI
1956 : John McCarthy coined the term
‘artificial intelligence’ and had the first AI
conference.
1969 : Shakey was the first general-purpose
mobile robot built. It is now able to do things
with a purpose vs. just a list of instructions.
1997: Supercomputer ‘Deep Blue’ was
designed, and it defeated the world champion
chess player in a match.
Introduction
History of AI
2002 : The first commercially successful robotic
vacuum cleaner was created.
2005 – 2019 : speech recognition, robotic process
automation (RPA), a dancing robot, smart homes,
and other innovations make their debut.
2020 : Baidu releases the LinearFold AI
algorithm to medical and scientific and medical
teams developing a vaccine during the early
stages of the SARS-CoV-2 (COVID-19)
pandemic. The algorithm can predict the RNA
sequence of the virus in only 27 seconds, which
is 120 times faster than other methods.
Introduction
Four school of in AI
Four school of in AI
(Four views of AI)
Introduction
AI System composed of an agent and its
environment. The agents act in their
environment. The environment may contain
other agents.
Agent is anything that can be viewed as
perceiving its environment through sensors and
acting upon that environment through actuators
Human agent: eyes, ears, hands, legs, mouth,
and other body parts for actuators
Robotic agent: cameras and infrared range
finders for sensors; various motors for
actuators
Introduction
agent function maps from percept histories to
actions:
[f: P* A]
agent program runs on the physical
architecture to produce f
agent = architecture + program
Introduction
Vacuum-cleaner world
Percepts: location and contents, e.g., [A,Dirty]
Actions: Left, Right, Suck, NoOp
Introduction
Fully Observable vs Partially Observable
When an agent sensor is capable to sense or
access the complete state of an agent at each
point in time, it is said to be a fully observable
environment else it is partially observable.
Chess – the board is fully observable, and so
are the opponent’s moves.
Driving – the environment is partially
observable because what’s around the corner is
not known.
Introduction
Deterministic vs Stochastic
When a uniqueness in the agent’s current state
completely determines the next state of the agent,
the environment is said to be deterministic.
The stochastic environment is random in nature
which is not unique and cannot be completely
determined by the agent.
Chess – there would be only a few possible moves
for a coin at the current state and these moves can
be determined.
Self-Driving Cars- the actions of a self-driving
car are not unique, it varies time to time.
Introduction
Competitive vs Collaborative
An agent is said to be in a competitive environment
when it competes against another agent to optimize the
output.
The game of chess is competitive as the agents compete
with each other to win the game which is the output.
An agent is said to be in a collaborative environment
when multiple agents cooperate to produce the desired
output.
When multiple self-driving cars are found on the roads,
they cooperate with each other to avoid collisions and
reach their destination which is the output desired.
Introduction
Single-agent vs Multi-agent
An environment consisting of only one agent is
said to be a single-agent environment.
A person left alone in a maze is an example of
the single-agent system.
An environment involving more than one agent
is a multi-agent environment.
The game of football is multi-agent as it
involves 11 players in each team.
Introduction
Dynamic vs Static
An environment that keeps constantly changing
itself when the agent is up with some action is
said to be dynamic.
A roller coaster ride is dynamic as it is set in
motion and the environment keeps changing
every instant.
An idle environment with no change in its state
is called a static environment.
An empty house is static as there’s no change in
the surroundings when an agent enters.
Introduction
Discrete vs Continuous
If an environment consists of a finite number of actions
that can be deliberated in the environment to obtain the
output, it is said to be a discrete environment.
The game of chess is discrete as it has only a finite
number of moves. The number of moves might vary
with every game, but still, it’s finite.
The environment in which the actions are performed
cannot be numbered i.e. is not discrete, is said to be
continuous.
Self-driving cars are an example of continuous
environments as their actions are driving, parking, etc.
which cannot be numbered.
Introduction
Episodic vs Sequential
In an Episodic task environment, each of the
agent’s actions is divided into atomic incidents or
episodes. There is no dependency between current
and previous incidents. In each incident, an agent
receives input from the environment and then
performs the corresponding action.
Example: Consider an example of Pick and Place
robot, which is used to detect defective parts from
the conveyor belts. Here, every time robot(agent)
will make the decision on the current part i.e.
there is no dependency between current and
previous decisions.
Introduction
Episodic vs Sequential
In a Sequential environment, the previous
decisions can affect all future decisions. The next
action of the agent depends on what action he has
taken previously and what action he is supposed
to take in the future.
Example: Checkers- Where the previous move
can affect all the following moves.
Introduction
Known vs Unknown
In a known environment, the output for all
probable actions is given. Obviously, in case of
unknown environment, for an agent to make a
decision, it has to gain knowledge about how the
environment works.
Introduction
Agents Types
Simple Reflex Agents
Model-Based Reflex Agents
Goal-Based Agents
Utility-Based Agents
Introduction
Simple Reflex Agents
Simple reflex agents ignore the rest of the
percept history and act only on the basis of the
current percept.
The agent function is based on the condition-
action rule. A condition-action rule is a rule that
maps a state i.e, condition to an action. If the
condition is true, then the action is taken, else
not.
This agent function only succeeds when the
environment is fully observable.
Introduction
Simple Reflex Agents
Problems with Simple reflex agents are :
Very limited intelligence.
No knowledge of non-perceptual parts of the
state.
Usually too big to generate and store.
If there occurs any change in the environment,
then the collection of rules need to be updated.
Introduction
Model-based reflex agents
It works by finding a rule whose condition
matches the current situation.
can handle partially observable environments
The agent has to keep track of the internal state
which is adjusted by each percept and that
depends on the percept history.
Introduction
Goal-based agents
These kinds of agents take decisions based on
how far they are currently from their goal
Their every action is intended to reduce its
distance from the goal.
This allows the agent a way to choose among
multiple possibilities, selecting the one which
reaches a goal state.
Introduction
Utility-based agents
The agents which are developed having their
end uses as building blocks are called utility-
based agents.
When there are multiple possible alternatives,
then to decide which one is best, utility-based
agents are used.
They choose actions based on a preference
(utility) for each state.
a utility agent chooses the action that
maximizes the expected utility.
Types Of Learning In Artificial Intelligence
Artificial Narrow Intelligence (ANI)
This type of intelligence refers to intelligent
systems that do specific tasks
Ex: face recognition, games playing, Siri,
Alexa, …
Artificial General Intelligence (AGI)
Also known as Strong AI, AGI is the stage in
the evolution of Artificial Intelligence wherein
machines will possess the ability to think and
make decisions just like us humans.
Types Of Learning In Artificial Intelligence
Artificial Super Intelligence (ASI)
is the stage of Artificial Intelligence when the
capability of computers will surpass human
beings. ASI is currently a hypothetical situation
as depicted in movies and science fiction
books, where machines have taken over the
world.
Types Of Artificial Intelligence Systems
Reactive AI
The most basic type of artificial intelligence
This type of AIs can’t function beyond the tasks they were initially designed for
is programmed to provide a predictable output based on the input it receives
it always respond to identical situations in the exact same way every time
and it is not able to learn actions or conceive of past or future
Ex:
Deep Blue, the chess-playing IBM supercomputer that bested world champion Garry Kasparov
Spam filters for our email that keep promotions and phishing attempts out of our inboxes
The Netflix recommendation engine
Types Of Artificial Intelligence Systems
Limited Memory AI
It can make informed and improved decisions by studying the past data from its memory
learns from the past and builds experiential knowledge by observing actions or data
This type of AI uses historical, observational data in combination with pre-programmed
information to make predictions and perform complex classification tasks
Ex: Self-driving cars are Limited Memory AI, that uses the data collected in the recent past to
make immediate decisions
self-driving cars use limited memory AI to observe other cars’ speed and direction, helping them “read
the road” and adjust as needed.
Types Of Artificial Intelligence Systems
Theory Of Mind AI
Machines will acquire true decision-making capabilities that are similar to humans
Have the ability to understand and remember emotions, then adjust behavior based on those
emotions as they interact with people.
The Theory of Mind AI has not yet been fully developed but rigorous research is happening in
this area.
Ex:
The Kismet robot head, developed by Professor Cynthia Breazeal, could recognize emotional signals on
human faces and replicate those emotions on its own face.
Humanoid robot Sophia, developed by Hanson Robotics in Hong Kong, can recognize faces and
respond to interactions with her own facial expressions.
Types Of Artificial Intelligence Systems
Self-aware AI
Is the most advanced type of artificial intelligence
Machines can be aware of their own emotions, as well as the emotions of others around them
This type of AI will have desires, needs, and emotions as well
We haven’t developed this type of sophisticated AI yet and don’t have the hardware or
algorithms to support it.
Branches of Artificial Intelligence
Branches of Artificial Intelligence
Machine Learning
is a highly demanding branch of Artificial
Intelligence
is the science that enables machines and
computer systems to process, analyze and
interpret data with the aim of providing
solutions for real-life challenges
Machine Learning algorithms and techniques
help in training a model with data presented
which will then predict and adjust to future
outcomes.
Branches of Artificial Intelligence
Machine Learning
web search, speech recognition and automatic
vehicles are results of Machine Learning
Three major categories under Machine
Learning
Supervised Learning
Unsupervised Learning
Reinforcement Learning
Branches of Artificial Intelligence
Supervised Learning
It is defined by its use of labelled datasets to
train algorithms that to classify data or predict
outcomes accurately.
As input data is fed into the model, it adjusts its
weights until the model has been fitted
appropriately, which occurs as part of the cross
validation process.
Naive Bayes Classifier, support vector
machine, and decision tree are the most
common supervised learning algorithms
Branches of Artificial Intelligence
Naive Bayes Classifier
A classifier is a machine learning model that is
used to discriminate different objects based on
certain features.
It is based on the Bayes theorem.
Using Bayes theorem, we can find the
probability of A happening, given that B has
occurred. Here, B is the evidence and A is the
hypothesis. The assumption made here is that
the predictors/features are independent.
Branches of Artificial Intelligence
Support Vector Machine
The objective of SVM algorithm is to find a
hyperplane in an N-dimensional space that
distinctly classifies the data points.
The dimension of the hyperplane depends upon
the number of features. If the number of input
features is two, then the hyperplane is just a
line.
If the number of input features is three, then the
hyperplane becomes a 2-D plane.
The best hyperplane is the hyperplane whose
distance to the nearest element of each tag is
the largest.
Branches of Artificial Intelligence
Decision Tree
is a support tool with a tree-like structure that
models probable outcomes, cost of resources,
utilities, and possible consequences.
The flowchart structure includes internal nodes
that represent tests or attributes at each stage.
Every branch stands for an outcome for the
attributes, while the path from the leaf to the
root represents rules for classification.
Branches of Artificial Intelligence
Unsupervised Learning
Unsupervised learning is a machine learning
approach in which models do not have any
supervisor to guide them. Models themselves
find the hidden patterns and insights from the
provided data.
K-means clustering, Hierarchical Clustering,
and principle component analysis are the
most common unsupervised learning
algorithms
Branches of Artificial Intelligence
K-means clustering
is a method used for clustering analysis, especially in data mining and statistics.
It aims to partition a set of observations into a number of clusters (k)
Step-1: Select the number K to decide the number of clusters.
Step-2: Select random K points or centroids. (It can be other from the input dataset).
Step-3: Assign each data point to their closest centroid, which will form the predefined K clusters.
Step-4: Calculate the variance and place a new centroid of each cluster.
Step-5: Repeat the third steps, which means reassign each datapoint to the new closest centroid of each cluster.
Step-6: If any reassignment occurs, then go to step-4 else go to FINISH.
Step-7: The model is ready.
Branches of Artificial Intelligence
Hierarchical Clustering
also known as hierarchical cluster analysis, is
an algorithm that groups similar objects into
groups called clusters.
The endpoint is a set of clusters, where each
cluster is distinct from each other cluster, and
the objects within each cluster are broadly
similar to each other.
Branches of Artificial Intelligence
Neural Network
Also called Deep Learning
Neural Networks use the architecture of human
neurons which have multiple inputs, a
processing unit, and single/multiple outputs.
There are weights associated with each
connection of neurons.
By adjusting these weights, a neural network
arrives at an equation which is used for
predicting outputs on new unseen data.
This process is done by backpropagation and
updating of the weights.
Branches of Artificial Intelligence
Different types of neural networks are used for
different data and applications
Perceptron
The Perceptron is the most basic and oldest form of
neural networks.
It consists of just 1 neuron which takes the input and
applies activation function on it to produce a binary
output.
It doesn’t contain any hidden layers and can only be
used for binary classification tasks.
The neuron does the processing of addition of input
values with their weights. The resulted sum is then
passed to the activation function to produce a binary
output.
Branches of Artificial Intelligence
Feed Forward Network
consist of multiple neurons and hidden layers which are
connected to each other.
These are called “feed-forward” because the data flow in
the forward direction only, and there is no backward
propagation.
More the number of layers more can be the customization
of the weights.
FF networks are used in:
Classification
Speech recognition
Face recognition
Pattern recognition
Branches of Artificial Intelligence
Convolutional Neural Networks
The most used neural networks in image classification
problems.
CNN contain multiple convolution layers which are
responsible for the extraction of important features
from the image.
The earlier layers are responsible for low-level details
and the later layers are responsible for more high-level
features.
After the convolution layer, there is a pooling layer
which is responsible for the aggregation of the maps
produced from the convolutional layer. It can be Max
Pooling, Min Pooling, etc.
Branches of Artificial Intelligence
Convolutional Neural Networks
CNNs also include an option for adding dropout
layers which drop or make certain neurons inactive to
reduce overfitting and quicker convergence.
CNNs use ReLU (Rectified Linear Unit) as activation
functions in the hidden layers. As the last layer.
CNNs have a fully connected dense layer and the
activation function mostly as Softmax for
classification, and mostly ReLU for regression.
Branches of Artificial Intelligence
Recurrent Neural Networks
Recurrent Neural Networks come into picture when
there’s a need for predictions using sequential data.
Sequential data can be a sequence of images, words,
etc.
The RNN have a similar structure to that of a Feed-
Forward Network, except that the layers also receive
a time-delayed input of the previous instance
prediction.
Branches of Artificial Intelligence
Recurrent Neural Networks
This instance prediction is stored in the RNN cell
which is a second input for every prediction.
The main disadvantage of RNN is the Vanishing
Gradient problem which makes it very difficult to
remember earlier layers’ weights.
Branches of Artificial Intelligence
Long Short-Term Memory Networks
LSTM neural networks overcome the issue of
Vanishing Gradient in RNNs by adding a special
memory cell that can store information for long
periods of time.
LSTM uses gates to define which output should be
used or forgotten.
It uses 3 gates: Input gate, Output gate and a Forget
gate. The Input gate controls what all data should be
kept in memory. The Output gate controls the data
given to the next layer and the forget gate controls
when to dump/forget the data not required.
Branches of Artificial Intelligence
Robotics
This branch focuses on the design and
development of robots
Robotics is a field of science and engineering
incorporated with mechanical engineering,
electrical engineering, computer science, and
many others.
The aim of deploying robots is to help humans
with tedious and bulky tasks
Branches of Artificial Intelligence
Robotics
Major of robotics tasks involved
line for automobile manufacturing
moving large objects in space by NASA
AI researchers are also developing robots using
machine learning to set interaction at social
levels
Branches of Artificial Intelligence
Expert Systems
It is an Artificial Intelligence (AI-based) system
that learns and imitates a human being’s
decision-making ability.
The effectiveness of the expert system
completely relies on the expert’s knowledge
accumulated in a knowledge base
The more the information collected in it, the
more the system enhances its efficiency
Branches of Artificial Intelligence
Expert Systems
Expert system provides suggestions for spelling
and errors in Google Search Engine.
It is mainly used in the medical field to operate
medical facilities and detect virus infections.
It is also used in the banking sector for loan and
investment analysis.
MYCIN, DENDRAL, R1/XCON, PXDES are
examples of expert systems.
Branches of Artificial Intelligence
Fuzzy Logic
Is the technique of modifying and representing
uncertain information by analyzing the degree
to which the hypothesis is true.
Fuzzy Logic helps to offer a certain level of
reasoning flexibility when faced with
uncertainties.
Fuzzy logic is used in the medical fields to
solve complex problems that involve decision
making. They are also used in automatic
gearboxes, vehicle environment control and so
on.
Branches of Artificial Intelligence
Fuzzy Logic Algorithm
Define linguistic Variables and terms (start)
Construct membership functions for them. (start)
Construct knowledge base of rules (start)
Convert crisp data into fuzzy data sets using
membership functions. (fuzzification)
Evaluate rules in the rule base. (Inference Engine)
Combine results from each rule. (Inference Engine)
Convert output data into non-fuzzy values.
(defuzzification)
Branches of Artificial Intelligence
Natural Language Processing
NLP is a method that deals in searching,
analyzing, understanding and deriving
information from the text form of data.
NLP applications are text translation, sentimnt
analysis, and speech recognition
Twitter uses NLP technique to filter terroristic
language from various tweets
Amazon implements NLP for interpreting
customer reviews and enhancing their
experience
Branches of Artificial Intelligence
the operation of systems using NLP can be described as the
next pipeline:
Enter the text (or sound converted to text)
Segmentation of text into components (segmentation and
tokenization).
Text Cleaning (filtering from “garbage”) – removal of
unnecessary elements.
Text Vectorization and Feature engineering.
Lemmatization and Steaming – reducing inflections for
words.
Using Machine Learning algorithms and methods for training
models.
Interpretation of the result.
Branches of Artificial Intelligence
the most common used algorithms in the NLP
applications
Edit distance, Cosine similarity, Bag of
words, TF-IDF, Stemming and
Lemmatization
Hyperparameter Optimization In Artificial
Intelligence
Grid search
Random Search
Bayesian Optimization
Gradient Descent
Hyperparameter
Optimization In
Artificial The idea behind this technique is to try out
Intelligence different values and then pick the value that gives
the best score.
Grid Search If we had to select the values for two or more
parameters,
we would evaluate all combinations of the sets of
values thus forming a grid of values.
Models : Machine Learning
Hyperparameter
Optimization In Random search is a method in which random
Artificial combinations of hyperparameters are selected and
Intelligence used to train a model.
The best random hyperparameter combinations
Random Search are used.
This technique allows us to control the number of
attempted hyperparameter combinations. Unlike
grid search, where every possible combination is
attempted,
Models : Machine Learning and Neural Networks
Hyperparameter
Optimization In
Artificial
Intelligence
is an approach that uses Bayes Theorem to direct
Bayesian Optimization the search in order to find the minimum or
maximum
Models : Machine Learning and Neural Networks
Hyperparameter
Optimization In
Artificial
Intelligence the most popular optimization strategy used in
machine learning and deep learning at the moment
Gradient Descent A gradient simply measures the change in all
weights with regard to the change in error.
The higher the gradient, the steeper the slope and
the faster a model can learn. But if the slope is
zero, the model stops learning.
Hyperparameter
Optimization In BATCH GRADIENT DESCENT: calculates the
Artificial error for each example within the training dataset,
but only after all training examples have been
Intelligence evaluated does the model get updated.
STOCHASTIC GRADIENT DESCENT: it
Gradient Descent updates the parameters for each training example
one by one. Depending on the problem, this can
make SGD faster than batch gradient descent.
The frequent updates, however, are more
computationally expensive than the batch gradient
descent approach.
Hyperparameter
Optimization In
Artificial Types of Gradient Descent
MINI-BATCH : It simply splits the training dataset
Intelligence into small batches and performs an update for each
of those batches. This creates a balance between the
Gradient Descent robustness of stochastic gradient descent and the
efficiency of batch gradient descent.
Performance Metrics In Artificial Intelligence
Accuracy
Confusion Matrix
Precision
Recall
F-Score
AUC-ROC
Performance Metrics
In Artificial
Intelligence
The accuracy metric is one of the simplest
Accuracy Classification metrics to implement
it can be determined as the number of correct
predictions to the total number of predictions.
A confusion matrix is a tabular representation of
Performance Metrics prediction outcomes of any binary classifier
In Artificial It describes the performance of the classification
Intelligence model on a set of test data when true values are
known.
Confusion Matrix Ex:
The precision metric is used to overcome the limitation
Performance Metrics of Accuracy.
In Artificial The precision determines the proportion of positive
Intelligence prediction that was actually correct.
It can be calculated as the True Positive or predictions
Precision that are actually true to the total positive predictions
True Positive(TP): the prediction outcome is true, and it is
true in reality.
True Negative(TN): the prediction outcome is false, and it
is false in reality
False Positive(FP): prediction outcomes are true, but they
are false in actuality.
False Negative(FN): predictions are false, and they are
true in actuality.
Performance Metrics
In Artificial
Intelligence It is also similar to the Precision metric.
it aims to calculate the proportion of actual positive that
Recall or Sensitivity
was identified incorrectly.
It can be calculated as True Positive or predictions that
are actually true to the total number of positives, either
correctly predicted as positive or incorrectly predicted as
negative (true Positive and false negative).
Performance Metrics
In Artificial F1 Score is a metric to evaluate a binary
Intelligence classification model on the basis of predictions
that are made for the positive class.
F-Scores
AUC-ROC curve. It is one of the popular and important
metrics for evaluating the performance of the
Performance Metrics classification model.
In Artificial ROC represents a graph to show the performance of a
Intelligence classification model at different threshold levels.
The curve is plotted between two parameters, which are
AUC-ROC True Positive Rate and False Positive Rate
Artificial Intelligence Challenges
Problem Identification and Formulation.
Energy Consumption.
Data Issues
Robustness and Reliability
Responsibility
Storage (Memory)
Artificial Intelligence Challenges
Problem Identification and Formulation
Human knowledge about its environment can
be found in different domains, including known
parts, semi-known parts, and unknown parts.
There is a set of problems that cannot be
formulated in a well-defined format for
humans, and therefore there is uncertainty as to
how we can organize AI system to face these
problems.
Artificial Intelligence Challenges
Energy Consumption
Some learning algorithms, including deep
learning, utilize iterative learning processes.
This approach results in high energy
consumption.
Deep learning is similar to the human brain in
the decision-making process but it requires a
high computational power of GPUs
Accordingly these models are costly to train
and develop from financial and energy
consumption perspectives.
Artificial Intelligence Challenges
Energy Consumption
To mitigate this problem four solutions were
given
Investing in new systems with low energy
consumption
Finding modern mathematical frameworks to
find learning models with lower calculations,
which leads to lower energy consumption
Sharing models to prevent energy consumption.
If there is no way to decrease the load of
computations of learning processes, energy
harvesting techniques can be used to return the
wasted energy
Artificial Intelligence Challenges
Data Issues
Cost is one of the main issues of data. Major
sources of cost are gathering, preparing, and
cleaning the data
The huge amount of data leads to a new
concept, called big data. Analyzing big data in
an online fashion via machine learning
algorithms is a very challenging task
Data heterogeneity, data insufficiency,
imbalanced data, untrusted data, biased data,
and data uncertainty.
Artificial Intelligence Challenges
Data Issues
Incomplete data leads to inappropriate learning
of algorithms and uncertainties during data
analysis.
This issue should be handled during the pre-
processing phase
Or developing learning algorithms to predict
missed values
Artificial Intelligence Challenges
Robustness and Reliability
The robustness of an AI-based model refers to
the stability of the model performance after
unnormal changes in the input data.
The cause of this change may be a malicious
attacker, environmental noise, or a crash of
other components of an AI-based system.
For example, in telesurgery, AI-based system
may detect a patient’s kidney as a bean because
of an unknown crash in the machine vision
component.
Artificial Intelligence Challenges
Responsibility
AI systems such as self-driving drones and
vehicles will act autonomously in our world.
In these systems, a challenging question is
“who is liable when a self driving system is
involved in a crash or failure?”.
Artificial Intelligence Challenges
Storage (Memory)
In many situations, learning abilities can be
improved via more data.
Information may be stored in short-term or
long-term memory units, leading to several
problems in different domains, including
reading, computing, and writing.
Some studies suggests the cognitive
computation to overcome this problem.
Recently survey papers
Mukhamediev, R. I., Popova, Y., Kuchin, Y., Zaitseva, E., Kalimoldayev, A., Symagulov,
A., Levashenko, V., Abdoldina, F., Gopejenko, V., Yakunin, K., Muhamedijeva, E., &
Yelis, M. (2022). Review of Artificial Intelligence and Machine Learning Technologies:
Classification, Restrictions, Opportunities and Challenges. Mathematics, 10(15),
2552. https://doi.org/10.3390/math10152552
Saghiri, A. M., Vahidipour, S. M., Jabbarpour, M. R., Sookhak, M., & Forestiero, A.
(2022). A Survey of Artificial Intelligence Challenges: Analyzing the Definitions,
Relationships, and Evolutions. Applied Sciences, 12(8),
4054. https://doi.org/10.3390/app12084054