Artificial Intelligence

Soft Computing Techniques

Artificial Intelligence / Soft Computing Techniques

Soft Computing Techniques

AI - Fuzzy Logic Systems

There are some situations where we cannot make a yes or no decision. This can be due to lack of information, unclear situation or dilemma. Similarly, there are conditions where computers face this kind of situation in decision-making. Fuzzy Logic is used to handle these uncertainties.

What is Fuzzy Logic?

Fuzzy Logic (FL) is a method of reasoning that resembles human reasoning. The approach of FL imitates the way of decision making in humans that involves all intermediate possibilities between digital values YES and NO.

The inventor of fuzzy logic, Lotfi Zadeh, observed that unlike computers, the human decision making includes a range of possibilities between YES and NO, such as −

Probabilities
 
CERTAINLY YES
POSSIBLY YES
CANNOT SAY
POSSIBLY NO
CERTAINLY NO

The fuzzy logic works on the levels of possibilities of input to achieve the definite output.

Characteristics of FLS's

Following are the characteristics of fuzzy logic systems −

  • Versatile and simple method for applying machine learning technology.
  • Allows to replicate the logical process of human reasoning.
  • Can easily be modified to enhance or raise system performance.
  • Fuzzy logic can control nonlinear systems that might be challenging to handle mathematically.

Architecture of FLS's

The fundamental architecture of fuzzy logic systems includes four components which include −

Fuzzy Logic System

  • Knowledge Base − It stores IF-THEN rules provided by experts.
  • Inference Engine − It simulates the human reasoning process by making fuzzy inference on the inputs and IF-THEN rules.
  • Defuzzification Module − It transforms the fuzzy set obtained by the inference engine into a crisp value.
  • Fuzzification Module − It transforms the system inputs, which are crisp numbers, into fuzzy sets. It splits the input signal into five steps.

Following are the five steps of the Fuzzification Module −

StepDescription
LPx is Large Positive
MPx is Medium Positive
Sx is Small
MNx is Medium Negative
LNx is Large Negative

Example for FLS's

Let us consider an air conditioning system with a 5-level fuzzy logic system. This system adjusts the temperature of the air conditioner by comparing the room temperature and the target temperature value.

Fuzzy Logic AC System

Algorithm of FLS's

The algorithm of fuzzy logic system is mentioned below −

  • 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. (de-fuzzification)

 

Application Areas of FLS's

The key application areas of fuzzy logic are as given −

  • Fuzzy logic has been used in Natural Language Processing and various artificial intelligence applications.
  • It can be used in organizations that handle large data to facilitate effective decision-making.
  • It has been used for controlling fuel delivery and ignition depending on throttle position, cooling water temperature, RPM, and other factors.
  • It can also be used for Pattern Recognition and Classification in handwriting detection. It also serves to search for blurry images.

Advantages of FLSs

The advantages of fuzzy logic are −

  • Mathematical concepts within fuzzy reasoning are very simple.
  • You can modify a FLS by just adding or deleting rules due to flexibility of fuzzy logic.
  • Fuzzy logic Systems can take imprecise, distorted, noisy input information.
  • FLSs are easy to construct and understand.
  • Fuzzy logic is a solution to complex problems in all fields of life, including medicine, as it resembles human reasoning and decision making.

Disadvantages of FLSs

While there are many advantages of fuzzy logic systems, there are certain challenges too which include −

  • There is no systematic approach to fuzzy system designing.
  • They are understandable only when simple.
  • They are suitable for problems which do not need high accuracy.

AI - Neural Networks

Basic Structure of ANNs

The idea of ANNs is based on the belief that working of the human brain by making the right connections, can be imitated using silicon and wires as living neurons and dendrites.

The human brain is composed of 86 billion nerve cells called neurons. They are connected to another thousand cells by Axons. Stimuli from the external environment or inputs from sensory organs are accepted by dendrites. These inputs create electric impulses, which quickly travel through the neural network. A neuron can then send the message to another neuron to handle the issue or does not send it forward.

Structure of Neuron

ANNs are composed of multiple nodes, which imitate biological neurons of the human brain. The neurons are connected by links and they interact with each other. The nodes can take input data and perform simple operations on the data. The result of these operations is passed to other neurons. The output at each node is called its activation or node value.

Each link is associated with weight. ANNs are capable of learning, which takes place by altering weight values. The following illustration shows a simple ANN −

A Typical ANN

Artificial Neurons Vs Biological Neurons

Some of the differences between artificial neurons and biological neurons are tabulated below.

FeatureBiological NeuronsArtificial Neurons
StructureComplex with cell body, dendrites, and axons.Simplifies mathematical function.
FunctionalitySignals interpreted through action potentials and neurotransmitters.Computes weighted sums and applies an activation function.
CommunicationUses chemical and electrical signals for inter-neuron communicationCommunicates through numerical data and mathematical models
Processing SpeedSlower transmission due to chemical processes.Extremely fast computations based on electronic processing.
Energy EfficiencyHighly energy efficient and is capable of operating on small amounts of energy.Generally less energy-efficient, varies by architecture and implementation.
ComplexityHighly complex, involves various types of neurons and glacial cells, and intricate chemical signaling.Simpler in structure but can scale up to model complex behaviors through layers of neurons in neural networks.
ExecutionOperates in real-time within biological systems.Operates in digital environments, requiring hardware and software.
LearningLearn through experience and can generalize in complex ways.Learns through datasets and optimization techniques, often requiring large datasets.

Types of ANNs

Neural networks are classified into different categories based on factors like their depth, the number of hidden layers, and the I/O capabilities of each node. Types of neural networks include −

  • Convolutional Neural Networks
  • Deconvolutional Neural Networks
  • Recurrent Neural Networks
  • Feed-forward Neural Networks
  • Modular Neural Networks
  • Generative Adversarial Networks

Topologies of ANNs

There are two Artificial Neural Network topologies − FeedForward and Feedback.

FeedForward ANN

In this ANN, the information flow is unidirectional. A unit sends information to another unit from which it does not receive any information. There are no feedback loops. They are used in pattern generation/recognition/classification. They have fixed inputs and outputs.

FeedForward ANN

FeedBack ANN

Feedback ANN have connections that loop back, which allows to feed back information into the structure. This structure enables it to handle sequential data and temporal dependencies, making them suitable for tasks like time series prediction and language modeling.

FeedBack ANN

Working of ANNs

In the topology diagrams shown, each arrow represents a connection between two neurons and indicates the pathway for the flow of information. Each connection has a weight, an integer number that controls the signal between the two neurons.

If the network generates a good or desired output, there is no need to adjust the weights. However, if the network generates a poor or undesired output or an error, then the system alters the weights in order to improve subsequent results.

Machine Learning in ANNs

ANNs are capable of learning and they need to be trained. There are several learning strategies −

  • Supervised Learning: It involves a teacher that is more scholarly than the ANN itself. For example, the teacher feeds some example data about which the teacher already knows the answers.
    For example, pattern recognizing. The ANN comes up with guesses while recognizing. Then the teacher provides the ANN with the answers. The network then compares its guesses with the teachers correct answers and makes adjustments according to errors.
  • Unsupervised Learning: It is required when there is no example data set with known answers. For example, searching for a hidden pattern. In this case, clustering i.e. dividing a set of elements into groups according to some unknown pattern is carried out based on the existing data sets present.
  • Reinforcement Learning: This strategy is built on observation. The ANN makes a decision by observing its environment. If the observation is negative, the network adjusts its weights to be able to make a different required decision the next time.

Applications of ANNs

They can perform tasks that are easy for a human but difficult for a machine −

  • Aerospace: Autopilot aircrafts, aircraft fault detection.
  • Automotive: Automobile guidance systems.
  • Military: Weapon orientation and steering, target tracking, object discrimination, facial recognition, signal/image identification.
  • Electronics: Code sequence prediction, IC chip layout, chip failure analysis, machine vision, voice synthesis.
  • Financial: Real estate appraisal, loan advisor, mortgage screening, corporate bond rating, portfolio trading program, corporate financial analysis, currency value prediction, document readers, credit application evaluators.
  • Industrial: Manufacturing process control, product design and analysis, quality inspection systems, welding quality analysis, paper quality prediction, chemical product design analysis, dynamic modeling of chemical process systems, machine maintenance analysis, project bidding, planning, and management.
  • Medical: Cancer cell analysis, EEG and ECG analysis, prosthetic design, transplant time optimizer.
  • Speech: Speech recognition, speech classification, text to speech conversion.
  • Telecommunications: Image and data compression, automated information services, real-time spoken language translation.
  • Transportation: Truck Brake system diagnosis, vehicle scheduling, routing systems.
  • Software: Pattern Recognition in facial recognition, optical character recognition, etc.
  • Time Series Prediction: ANNs are used to make predictions on stocks and natural calamities.
  • Signal Processing: Neural networks can be trained to process an audio signal and filter it appropriately in the hearing aids.
  • Control: ANNs are often used to make steering decisions of physical vehicles.
  • Anomaly Detection: As ANNs are expert at recognizing patterns, they can also be trained to generate an output when something unusual occurs that misfits the pattern.

AI - Evolutionary Computation

What is Evolutionary Computation?

Evolutionary Computation is a branch of artificial intelligence that is inspired by biological evolution to solve complex problems. These algorithms originated from biological concepts such as selection, mutation, and reproduction. Some of the most common algorithms include Genetic Algorithms, Evolution Strategies, and Differential Evolution.

Motivation for Evolutionary Computation

The major motivation for developing evolutionary computation includes −

  • Nature has always been an inspiration for engineers and scientists.
  • To develop new problem solving methods which is the key theme in mathematics and computer science.
  • Increased complexity of problems to be solved.
  • Increased requirement for robust problem solving technologies.
  • Rise of problems that are too complex to be solved by the existing algorithms.

Implementation of Evolutionary Computation

Following are the steps required to implement evolutionary computation −

Implementation of Evolutionary Computation

  • Defining Problem: The initial step involves clearly defining the problems and identifying an optimized solution.
  • Initialization: A population of potential solutions, or individuals is initialized randomly.
  • Selection: Individuals from the population are selected, based on their fitness to reproduce.
  • Variation: Selected individuals undergo variations through genetic operators like crossover and mutation.
  • Evaluation and Iteration: These newly generated individuals are evaluated, and the cycle is often iterated until a termination is initiated.

Evolutionary Algorithms

Evolutionary algorithms are a class of algorithms that use natural sections to solve problems. The basic algorithm of evolutionary computation is as follows −

INITIALIZE population w/ random Individuals

REPEAT until

EVALUATE population/individual fitness

SELECT parents with highest fitness

COMBINE parents to form offspring

MUTATE resulting offspring

NEXT POPULATION = offspring

 

The five key mechanisms in evolutionary computation algorithms include recombination, mutation, evaluation and selection, and mimicking natural processes of evolution in their functioning.

Evolutionary Computation encompasses the following AI algorithms −

  • Genetic Algorithms
  • Evolution Strategies
  • Evolutionary Programming
  • Genetic Programming

Benefits of Evolutionary Computation

Some of the key benefits of evolutionary computation in businesses and organizations in a number of ways include −

  • Fast Processing Time: Compared to other manual analysis and more complex AI techniques like neural networks, evolutionary systems have the capability to process large datasets and reach an optimal solution at a faster rate. When the iteration no longer produces better solutions, the process automatically terminates and yields the optimized solution.
  • Enhancing other machine learning methods: Evolutionary AI algorithms can quickly complete tasks such as classification, and then this information can be fed into more complex machine learning algorithms for further analysis.
  • Network Security: Evolutionary computation can detect the attacks on networks in real time. This enables companies to act rapidly to malfunctions and major damages.

Applications of Evolutionary Computation

The use cases of evolutionary computation is across various fields and domains −

  • Engineering and Designing: Evolutionary computation has various applications in numerous engineering fields, from optimizing aerodynamic shapes to designing circuits.
  • Machine Learning: In machine learning, evolutionary computation algorithms can be used to train large datasets especially in neural networks, tune hyper parameters, and evolve decision making.
  • Game Development: Evolutionary computation algorithms assist in creating intelligent opponents in games, creative and engaging games, and game testing.
  • Bio-informatics: Evolutionary computation can be used in bio-informatics in domains like gene expression data analysis, prediction of protein structure, and more.
  • Financial Forecasting: Evolutionary computation can be used in the finance sector in tasks like optimizing portfolio, prediction of stock market, and others.

Challenges in Evolutionary Computation

Despite the capabilities evolutionary computation provides, it has certain challenges too which include −

  • Parameter Tuning: Finding the right parameters for evolutionary algorithms can be a difficult task, affecting their efficiency and effectiveness.
  • Convergence Speed: Evolutionary computation algorithms can sometimes be time-taking to find an optimal solution, which can be a disadvantage while dealing with time-sensitive applications.
  • Noisy and Dynamic Problem Spaces While evolutionary computation algorithms are effective, they still present complications in maintaining diversity and ensuring convergence.

AI - Swarm Intelligence

What is Swarm Intelligence?

Swarm Intelligence is the branch of AI that is a collection of behavior of various decentralized, self-organized systems. In a better way to explain, living organisms in nature like birds, fish, ants, and others make complex decisions in groups. Artificial intelligence applies similar principles for dynamic and effective decisions.

Aspects of Swarm Intelligence

Some of the key aspects of swarm intelligence are −

  • Decentralized: No single entity dictates the swarm's behavior, each individual makes decisions based on local information and learning's from interactions with nearby members.
  • Self-Organized: Complex collective behavior emerges from simple rules followed by individuals without any central coordination.
  • Adaptable: When individual edge devices are able to recognize and share critical information with their peers, the entire network becomes smarter and more adaptable.
  • Scalability: Swarm systems are able to work effectively with different sizes of individuals, scaling to different problem sizes.
  • Emergent Behavior: The swarm's group behavior is more than the sum of all individual behaviors, creating new and unexpected patterns.
  • Collective Decision-Making: The swarm as a whole can make decisions through voting mechanisms, even without a leader.

How does Swarm intelligence Work?

Swarm Intelligence is a form of collective learning and decision-making based on decentralized, self-organized systems. As a form of artificial intelligence, swarm intelligence comprises a network of endpoint devices capable of generating and processing data at the source. Relevant information that fits certain predetermined conditions can be shared across the network, allowing individual agents to process and act on dynamic environments.

For example, self-driving vehicles able to gather and process traffic data could share it with other vehicles in the network to allow them to react to changing traffic conditions.

Examples of Swarm Intelligence Algorithms

Some of the common examples of swarm intelligence algorithms −

  • Ant Colony Optimization: This algorithm is inspired by the behavior of ants, used for optimization problems like finding the shortest path.
  • Particle Swarm Optimization: Mimics the movement of bird flocks, where individuals adjust their position based on their own experience and the best solution found in the group.
  • Bacterial Foraging Optimization: This algorithm is developed based on the behavior of bacteria, used for optimization problems with dynamic environments.
  • Firefly Algorithm: Inspired by the behavior of fireflies, used for optimization problems where individuals search for the best solutions by moving towards brighter "fireflies".

Challenges in Swarm Intelligence

While the basic principles are simple, understanding, and controlling the emergent behavior of a swarm can be complex, especially while dealing with large-scale problems. Some of the challenges in swarm intelligence are −

  • Predicting Collective Behavior: Difficult to predict the behavior from the individual rules.
  • Interpretability Issues: The functions of a colony could not be understood with knowledge of the functioning of an agent.
  • Premature Convergence: The swarm might settle on a sub optimal solution too quickly.
  • Parameter Tuning: Achieving optimal results often requires careful adjustment of algorithm settings.
  • Stochastic Nature: The randomness in swarm intelligence algorithms can lead to inconsistent results.
  • Computational Resources & Scalability: These algorithms can be computationally intensive, especially with larger, more complex problems, and their performance might degrade as problem complexity increases.
Technology
Artificial Intelligence
want to connect with us ?
Contact Us