Particle Swarm Optimization characterized into the domain of Artificial Intelligence. The term ‘Artificial Intelligence’ or ‘Artificial Life‘ refers to the theory of simulating human behavior through computation. It involves designing such computer systems which are able to execute tasks which require human intelligence. For eg, earlier only humans had the power to recognize the speech of a person. But now, speech recognition is a common feature of any digital device. This has become possible through artificial intelligence. Other examples of human intelligence may include decision making, language translation, and visual perception etc. There are various techniques which make it possible. These techniques to implement artificial intelligence into computers are popularly known as approaches of artificial intelligence’.
These techniques are designed basis two categories:
- The first study includes how biological phenomena can be studies using computation.
- The second one shows how biological phenomena can help understand computation problems. While studying the PSO Technique, we deal with in the second category.
There are three approaches of the artificial intelligence:
- Statistical Methods
- Symbolic Artificial Intelligence
- Computational Intelligence
Computational Intelligence can be implemented using either of the three methods:
- Artificial Neural Network
- Fuzzy Logic
- Evolutionary Computation
Note: Under Evolutionary Computation, are the Swarm Intelligence Techniques which include Particle Swarm Optimization.
As described earlier, Swarm Intelligence is a branch of Artificial Intelligence where we observe nature and try to learn how different biological phenomena can be imitated in a computer system to optimize the scheduling algorithms. In swarm intelligence, we focus on the collective behavior of simple organisms and their interaction with the environment.
There are two types of Optimization algorithms in Swarm Intelligence:
- The first one is Ant Colony Optimization(ACO). Here the algorithm is based on the collective behavior of ants in their colony.
- The second technique is Particle Swarm Optimization(PSO).
In PSO, the focus in on a group of birds. This group of birds is referred to as a ‘swarm‘. Let’s try to understand the Particle Swarm Optimization from the following scenario.
Example: Suppose there is a swarm (a group of birds). Now, all the birds are hungry and are searching for food. These hungry birds can be correlated with the tasks in a computation system which are hungry for resources. Now, in the locality of these birds, there is only one food particle. This food particle can be correlated with a resource. As we know, tasks are many, resources are limited. So this has become a similar condition as in a certain computation environment. Now, the birds don’t know where the food particle is hidden or located. In such a scenario, how the algorithm to find the food particle should be designed. If every bird will try to find the food on its own, it may cause havoc and may consume a large amount of time. Thus on careful observation of this swarm, it was realized that though the birds don’t know where the food particle is located, they do know their distance from it. Thus the best approach to finding that food particle is to follow the birds which are nearest to the food particle. This behavior of birds is simulated in the computation environment and the algorithm so designed is termed as Particle Swarm Optimization Algorithm.
Note: This same behavior is also executed by a fish school. Thus Particle Swarm Optimization Technique is said to be inspired by a swarm of birds or a school of fish. Thus, this algorithm is also called a population-based stochastic algorithm and was developed by Dr. Russell C. Eberhart and Dr. James Kennedy in the year 1995.
This is the overall concept of what a particle swarm optimization is, and on what biological phenomena, its working is based upon.
- SAP | An Introduction
- HQL | Introduction
- Introduction to WebRTC
- Introduction of JIRA
- Introduction to SAS programming
- Introduction of Cryptojacking
- Introduction to Ontologies
- Introduction of Hyperledger
- Introduction to Wireshark
- Introduction to Git Branch
- Introduction to Kubernetes (K8S)
- Robotics | Introduction
- DHTML | Introduction
- Prolog | An Introduction
- Introduction of Vault
- Introduction of Libra
- Apache POI | Introduction
- Introduction to TensorFlow
- Introduction to Docker
- Introduction of BlueJ
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.