This repository contains the practical for the Genetic Algorithms (GA) class
-
Method used in artificial intelligence and computing
-
Used for finding optimized solutions to search problems based on the theory of natural selection and evolutionary biology
-
Genetic algorithms are excellent for searching through large and complex data sets
-
Is a model or abstraction of biological evolution based on Charles Darwin's theory of natural selection Developed by John Holland in the 1960s and 1970s
Advantages
of GA:
- Parallelism
- Handles large, poorly understood search spaces easily
- Easy to discover global optimum
- Resistant to becoming trapped in local optima
- Good for multi-modal problems Returns a suite of solutions
Disadvantages
of GA:
- Identifying fitness function
- Definition of representation for the problem
- The problem of choosing the various parameters like the size of the population, mutation rate, cross over rate, the selection method and its strength.
- Cannot use gradients
- No effective terminator
- Require large number of response (fitness) function evaluations
- Design Neural networks both architecture and weights
- Traveling salesman problem TSP
- Scheduling
- Network design and routing i.e Network routing
- Signal processing (filter design)
Artificial Intelligence
Mimics cognitive functions that humans associate with other human minds, such as learning and problem solving
Machine Learning
Subset of AI that includes algorithms that parse data, learn from that data, and then apply what they’ve learned to make informed decisions:
- Supervised learning: learn to predicate outcomes with help from data scientists
- Unsupervised learning: machine learn to predicate outcomes on there go by recognizing patterns in input data when machines can draw meaningful inferences from large volumes of data set they demonstrate the ability to learn deeply
Neural Networks
Mimic the human brain through an artificial neural networks. Contains nodes in different layers that are connected and communicate with each other to make sense of voluminous input data. Number of hidden layers are small usually 1-3 layers and more than that consider DL architecture
Deep Learning
Subset of machine learning in which multilayered neural networks learn from vast amounts of data and the difference between DL and NN that DL contains many hidden layers
Genetic Algorithms
Method used in artificial intelligence and computing used for finding optimized (maximum or minimum) solutions to search problems based on the theory of natural selection and evolutionary biology
- Python-3
- Anaconda (Optional)
- PyGad
For code editor you can use:
- VS Code
- Jupter
- Google Colab https://colab.research.google.com
Some solutions are using libraries like PyGad while others not (Pure Python implementation). Some problems' solutions are both using libraries and Pure Python.
PyGad (Genetic Python library) ReadME-PyGad
- Linear Model
- Max Square function
- Traveling salesman problem (TSP)
- Simple Linear Regression
- Minimize function
The pattern for any GA are theses steps:
- Define input(s)
- Define output
- Encoding type
- Fitness function
- Crossover and/or mutation
- Termination
Todo
Todo