SlideShare a Scribd company logo
Genetic programing
• Optimization strategy that mimic natural
selection
• Survival of the fittest
• “Select The Best, Discard The Rest”
• .
Genetic Algorithm
• Genetic Algorithm (GA) represents​ a subset of Ignite
Machine Learning APIs. GA is a method of solving
optimization problems by simulating the process of
biological evolution. GAs are excellent for searching
through large and complex data sets for an optimal
solution. Real world applications of GAs include automotive
design, computer gaming, robotics, investments,
traffic/shipment routing and more.
• All genetic operations such as Fitness Calculation,
Crossover, and Mutation are modeled as a ComputeTask for
distributive behavior. Also, these ComputeTasks leverage
Apache Ignite's Affinity Collocation to route ComputeJobs
to respective nodes where Chromosomes are stored.
The following diagram depicts the
architecture of Genetic Algorithms:
The following diagram depicts the
steps performed by Genetic Algorithm:
Usage Guide
• In order to begin using Genetic Algorithm, follow
these steps:
• Create a GAConfiguration
• Define the Gene and Chromosome
• Implement a fitness function
• Define terminate condition
• Evolve the population
• We will use a HelloWorldGAExaMPLE
• Our goal will be to derive the phrase: "HELLO
WORLD
• Define the Gene and Chromosome
• Next, we define our Gene. For our problem
domain, an optimal solution is the phrase
"HELLO WORLD". Since the discrete parts are
letters, we use Character to model our Gene.
Next, we need to initialize a Gene pool
of 27 Gene objects utilizing Characters. The
code below depicts this process.
• List<Gene> genePool = new ArrayList(); char[]
chars = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z', ' ' }; for (int i = 0; i <
chars.length; i++) { Gene gene = new
Gene(new Character(chars[i]));
genePool.add(gene); }
gaConfig.setGenePool(genePool);
• Create a GAConfiguration
• To begin, we create a GAConfiguration object.
This class is utilized to customize the behavior of
GA.
• Java
• ignite = Ignition.start("examples/config/example-
ignite.xml"); // Create GAConfiguration gaConfig
= new GAConfiguration();
Flow chart
• Genetic Programming (GP) is a type of
Evolutionary Algorithm (EA), a subset of
machine learning. EAs are used to discover
solutions to problems humans do not know
how to solve, directly. Free of human
preconceptions or biases, the adaptive nature
of EAs can generate solutions that are
comparable to, and often better than the best
human efforts.*
• Inspired by biological evolution and its fundamental
mechanisms, GP software systems implement an
algorithm that uses random mutation, crossover, a
fitness function, and multiple generations of evolution
to resolve a user-defined task.
• GP can be used to discover a functional relationship
between features in data (symbolic regression), to
group data into categories (classification), and to assist
in the design of electrical circuits, antennae, and
quantum algorithms. GP is applied to software
engineering through code synthesis, genetic
improvement, automatic bug-fixing, and in developing
game-playing strategies, … and more.
Types of GP include:
• Tree-based Genetic Programming
• Stack-based Genetic Programming
• Linear Genetic Programming (LGP)
• Grammatical Evolution
• Extended Compact Genetic Programming (ECGP)
• Cartesian Genetic Programming (CGP)
• Probabilistic Incremental Program Evolution (PIPE)
• Strongly Typed Genetic Programming (STGP)
• Genetic Improvement of Software for Multiple
Objectives (GISMO)
• Generational GP Algorithm
According to “A Field Guide to Genetic Programming”, there are
three basic steps to generational, Tree-based GP:
• Generate an initial, stochastic population.
• Iteratively perform selection, genetic operation, and evaluation:
– Evaluate each program (hypothesis) in the current population against
the given dataset and determine how well it performed, the value
recorded as a fitness score.
– Randomly select programs and compare their fitness scores.
– Apply one of three genetic operators to a copy of the leading program:
• reproduction
• mutation
• crossover
– … then move the program into the subsequent generation.
– Evaluate all programs (hypotheses) in each new generation.
• Repeat until the user-defined termination criteria are met.
• In GP, each generation is composed of a population of individual programs. Each
program is a mathematical function that when executed against the given data,
produces a value.
• The initial population (generation 0) is composed of randomly constructed
programs built upon user-defined arithmetic, trigonometric, or boolean operators,
and user-defined operands, variables which represent specific data parameters. The
quantity of programs in the initial and all subsequent populations is defined by the
user, and remains constant throughout the entire run.
• The entire initial population is evaluated, meaning each individual program is
executed against the given dataset, producing a single outcome per program. This
outcome is measured against the known solution, and recorded as the fitness
score. From this initial population, individuals programs are randomly selected for a
tournament in which the program with the best fitness score is copied into the
subsequent generation, following application of a genetic operator:
• ith reproduction, the program is copied without modification.
• With mutation, a portion of the program is randomly modified.
• With crossover, two programs are selected to contribute a portion
of their own code to a new program.
• Each mutation and crossover might result in a reduction or
improvement in the fitness score for each individual program. As
with the initial population, all programs in each new generation are
evaluated, randomly selected for a tournament, and then evolved
for the subsequent generation. Because those programs selected
exhibit the highest fitness score, their contribution to the next
generation enables an overall improvement. This process continues
until the user-defined termination criteria are met.
• Dynamic process control
• Optimization of induction rules
• Discovery of new connectivity topologies (NNs)
• Simulation of biological models of behavior
• Complex design of engineering structures
• Pattern recognition
• Scheduling, transportation and routing
• Layout and circuit design
• Telecommunication, graph-based problems

More Related Content

What's hot

Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
rabidityfactor
 
Genetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial IntelligenceGenetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial Intelligence
Sahil Kumar
 
Genetic programming
Genetic programmingGenetic programming
Genetic programming
Omar Ghazi
 
Introduction to Optimization with Genetic Algorithm (GA)
Introduction to Optimization with Genetic Algorithm (GA)Introduction to Optimization with Genetic Algorithm (GA)
Introduction to Optimization with Genetic Algorithm (GA)
Ahmed Gad
 
MACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHMMACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHM
Puneet Kulyana
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
anas_elf
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithms
zamakhan
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
Designage Solutions
 
GENETIC ALGORITHM ( GA )
GENETIC ALGORITHM ( GA )GENETIC ALGORITHM ( GA )
GENETIC ALGORITHM ( GA )
abuamo
 
GENETIC ALGORITHM
GENETIC ALGORITHM GENETIC ALGORITHM
GENETIC ALGORITHM
Abhishek Sur
 
Muzammil Adulrahman ppt on travelling salesman Problem Based On Mutation Gene...
Muzammil Adulrahman ppt on travelling salesman Problem Based On Mutation Gene...Muzammil Adulrahman ppt on travelling salesman Problem Based On Mutation Gene...
Muzammil Adulrahman ppt on travelling salesman Problem Based On Mutation Gene...
Petroleum Training Institute
 
Introduction to particle swarm optimization
Introduction to particle swarm optimizationIntroduction to particle swarm optimization
Introduction to particle swarm optimization
Mrinmoy Majumder
 
Genatic Algorithm
Genatic AlgorithmGenatic Algorithm
Genatic Algorithm
Yasir Khan
 
Genetic Algorithm by Example
Genetic Algorithm by ExampleGenetic Algorithm by Example
Genetic Algorithm by Example
Nobal Niraula
 
Swarm intelligence algorithms
Swarm intelligence algorithmsSwarm intelligence algorithms
Swarm intelligence algorithms
Aboul Ella Hassanien
 
Optimization Technique Harmony Search
Optimization Technique Harmony Search Optimization Technique Harmony Search
Optimization Technique Harmony Search
Uday Wankar
 
Particle swarm optimization
Particle swarm optimizationParticle swarm optimization
Particle swarm optimization
anurag singh
 
Lecture7 Ml Machines That Can Learn
Lecture7 Ml Machines That Can LearnLecture7 Ml Machines That Can Learn
Lecture7 Ml Machines That Can Learn
Kodok Ngorex
 
Wrapper feature selection method
Wrapper feature selection methodWrapper feature selection method
Wrapper feature selection method
Amir Razmjou
 
Feature selection
Feature selectionFeature selection
Feature selection
dkpawar
 

What's hot (20)

Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Genetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial IntelligenceGenetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial Intelligence
 
Genetic programming
Genetic programmingGenetic programming
Genetic programming
 
Introduction to Optimization with Genetic Algorithm (GA)
Introduction to Optimization with Genetic Algorithm (GA)Introduction to Optimization with Genetic Algorithm (GA)
Introduction to Optimization with Genetic Algorithm (GA)
 
MACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHMMACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHM
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithms
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
GENETIC ALGORITHM ( GA )
GENETIC ALGORITHM ( GA )GENETIC ALGORITHM ( GA )
GENETIC ALGORITHM ( GA )
 
GENETIC ALGORITHM
GENETIC ALGORITHM GENETIC ALGORITHM
GENETIC ALGORITHM
 
Muzammil Adulrahman ppt on travelling salesman Problem Based On Mutation Gene...
Muzammil Adulrahman ppt on travelling salesman Problem Based On Mutation Gene...Muzammil Adulrahman ppt on travelling salesman Problem Based On Mutation Gene...
Muzammil Adulrahman ppt on travelling salesman Problem Based On Mutation Gene...
 
Introduction to particle swarm optimization
Introduction to particle swarm optimizationIntroduction to particle swarm optimization
Introduction to particle swarm optimization
 
Genatic Algorithm
Genatic AlgorithmGenatic Algorithm
Genatic Algorithm
 
Genetic Algorithm by Example
Genetic Algorithm by ExampleGenetic Algorithm by Example
Genetic Algorithm by Example
 
Swarm intelligence algorithms
Swarm intelligence algorithmsSwarm intelligence algorithms
Swarm intelligence algorithms
 
Optimization Technique Harmony Search
Optimization Technique Harmony Search Optimization Technique Harmony Search
Optimization Technique Harmony Search
 
Particle swarm optimization
Particle swarm optimizationParticle swarm optimization
Particle swarm optimization
 
Lecture7 Ml Machines That Can Learn
Lecture7 Ml Machines That Can LearnLecture7 Ml Machines That Can Learn
Lecture7 Ml Machines That Can Learn
 
Wrapper feature selection method
Wrapper feature selection methodWrapper feature selection method
Wrapper feature selection method
 
Feature selection
Feature selectionFeature selection
Feature selection
 

Similar to genetic programming

Clustering using GA and Hill-climbing
Clustering using GA and Hill-climbingClustering using GA and Hill-climbing
Clustering using GA and Hill-climbing
Fatemeh Karimi
 
Da35573574
Da35573574Da35573574
Da35573574
IJERA Editor
 
Introduction to Genetic algorithm and its significance in VLSI design and aut...
Introduction to Genetic algorithm and its significance in VLSI design and aut...Introduction to Genetic algorithm and its significance in VLSI design and aut...
Introduction to Genetic algorithm and its significance in VLSI design and aut...
Centre for Electronics, Computer, Self development
 
Demystifying Xgboost
Demystifying XgboostDemystifying Xgboost
Demystifying Xgboost
halifaxchester
 
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systemsTMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
Iosif Itkin
 
the application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEEthe application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEE
KiranKumar671235
 
Application of Genetic Algorithm and Particle Swarm Optimization in Software ...
Application of Genetic Algorithm and Particle Swarm Optimization in Software ...Application of Genetic Algorithm and Particle Swarm Optimization in Software ...
Application of Genetic Algorithm and Particle Swarm Optimization in Software ...
IOSR Journals
 
M017127578
M017127578M017127578
M017127578
IOSR Journals
 
LinkedIn talk at Netflix ML Platform meetup Sep 2019
LinkedIn talk at Netflix ML Platform meetup Sep 2019LinkedIn talk at Netflix ML Platform meetup Sep 2019
LinkedIn talk at Netflix ML Platform meetup Sep 2019
Faisal Siddiqi
 
Software Testing Using Genetic Algorithms
Software Testing Using Genetic AlgorithmsSoftware Testing Using Genetic Algorithms
Software Testing Using Genetic Algorithms
IJCSES Journal
 
WIX3001 Lecture 6 Principles of GA.pptx
WIX3001 Lecture 6 Principles of GA.pptxWIX3001 Lecture 6 Principles of GA.pptx
WIX3001 Lecture 6 Principles of GA.pptx
KelvinCheah4
 
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Madhav Mishra
 
Ga presentation
Ga presentationGa presentation
Ga presentation
ziad zohdy
 
Performance Analysis of GA and PSO over Economic Load Dispatch Problem
Performance Analysis of GA and PSO over Economic Load Dispatch ProblemPerformance Analysis of GA and PSO over Economic Load Dispatch Problem
Performance Analysis of GA and PSO over Economic Load Dispatch Problem
IOSR Journals
 
Genetic Programming in Automated Test Code Generation
Genetic Programming in Automated Test Code GenerationGenetic Programming in Automated Test Code Generation
Genetic Programming in Automated Test Code Generation
DVClub
 
research paper
research paperresearch paper
research paper
Kalyan Ram
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
SEKHARREDDYAMBATI
 
An efficient and powerful advanced algorithm for solving real coded numerica...
An efficient and powerful advanced algorithm for solving real  coded numerica...An efficient and powerful advanced algorithm for solving real  coded numerica...
An efficient and powerful advanced algorithm for solving real coded numerica...
IOSR Journals
 
CSA 3702 machine learning module 4
CSA 3702 machine learning module 4CSA 3702 machine learning module 4
CSA 3702 machine learning module 4
Nandhini S
 
A
AA

Similar to genetic programming (20)

Clustering using GA and Hill-climbing
Clustering using GA and Hill-climbingClustering using GA and Hill-climbing
Clustering using GA and Hill-climbing
 
Da35573574
Da35573574Da35573574
Da35573574
 
Introduction to Genetic algorithm and its significance in VLSI design and aut...
Introduction to Genetic algorithm and its significance in VLSI design and aut...Introduction to Genetic algorithm and its significance in VLSI design and aut...
Introduction to Genetic algorithm and its significance in VLSI design and aut...
 
Demystifying Xgboost
Demystifying XgboostDemystifying Xgboost
Demystifying Xgboost
 
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systemsTMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
 
the application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEEthe application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEE
 
Application of Genetic Algorithm and Particle Swarm Optimization in Software ...
Application of Genetic Algorithm and Particle Swarm Optimization in Software ...Application of Genetic Algorithm and Particle Swarm Optimization in Software ...
Application of Genetic Algorithm and Particle Swarm Optimization in Software ...
 
M017127578
M017127578M017127578
M017127578
 
LinkedIn talk at Netflix ML Platform meetup Sep 2019
LinkedIn talk at Netflix ML Platform meetup Sep 2019LinkedIn talk at Netflix ML Platform meetup Sep 2019
LinkedIn talk at Netflix ML Platform meetup Sep 2019
 
Software Testing Using Genetic Algorithms
Software Testing Using Genetic AlgorithmsSoftware Testing Using Genetic Algorithms
Software Testing Using Genetic Algorithms
 
WIX3001 Lecture 6 Principles of GA.pptx
WIX3001 Lecture 6 Principles of GA.pptxWIX3001 Lecture 6 Principles of GA.pptx
WIX3001 Lecture 6 Principles of GA.pptx
 
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
 
Ga presentation
Ga presentationGa presentation
Ga presentation
 
Performance Analysis of GA and PSO over Economic Load Dispatch Problem
Performance Analysis of GA and PSO over Economic Load Dispatch ProblemPerformance Analysis of GA and PSO over Economic Load Dispatch Problem
Performance Analysis of GA and PSO over Economic Load Dispatch Problem
 
Genetic Programming in Automated Test Code Generation
Genetic Programming in Automated Test Code GenerationGenetic Programming in Automated Test Code Generation
Genetic Programming in Automated Test Code Generation
 
research paper
research paperresearch paper
research paper
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
An efficient and powerful advanced algorithm for solving real coded numerica...
An efficient and powerful advanced algorithm for solving real  coded numerica...An efficient and powerful advanced algorithm for solving real  coded numerica...
An efficient and powerful advanced algorithm for solving real coded numerica...
 
CSA 3702 machine learning module 4
CSA 3702 machine learning module 4CSA 3702 machine learning module 4
CSA 3702 machine learning module 4
 
A
AA
A
 

Recently uploaded

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 

Recently uploaded (20)

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 

genetic programming

  • 2. • Optimization strategy that mimic natural selection • Survival of the fittest • “Select The Best, Discard The Rest”
  • 4. Genetic Algorithm • Genetic Algorithm (GA) represents​ a subset of Ignite Machine Learning APIs. GA is a method of solving optimization problems by simulating the process of biological evolution. GAs are excellent for searching through large and complex data sets for an optimal solution. Real world applications of GAs include automotive design, computer gaming, robotics, investments, traffic/shipment routing and more. • All genetic operations such as Fitness Calculation, Crossover, and Mutation are modeled as a ComputeTask for distributive behavior. Also, these ComputeTasks leverage Apache Ignite's Affinity Collocation to route ComputeJobs to respective nodes where Chromosomes are stored.
  • 5. The following diagram depicts the architecture of Genetic Algorithms:
  • 6. The following diagram depicts the steps performed by Genetic Algorithm:
  • 7. Usage Guide • In order to begin using Genetic Algorithm, follow these steps: • Create a GAConfiguration • Define the Gene and Chromosome • Implement a fitness function • Define terminate condition • Evolve the population • We will use a HelloWorldGAExaMPLE • Our goal will be to derive the phrase: "HELLO WORLD
  • 8. • Define the Gene and Chromosome • Next, we define our Gene. For our problem domain, an optimal solution is the phrase "HELLO WORLD". Since the discrete parts are letters, we use Character to model our Gene. Next, we need to initialize a Gene pool of 27 Gene objects utilizing Characters. The code below depicts this process.
  • 9. • List<Gene> genePool = new ArrayList(); char[] chars = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ' ' }; for (int i = 0; i < chars.length; i++) { Gene gene = new Gene(new Character(chars[i])); genePool.add(gene); } gaConfig.setGenePool(genePool);
  • 10.
  • 11. • Create a GAConfiguration • To begin, we create a GAConfiguration object. This class is utilized to customize the behavior of GA. • Java • ignite = Ignition.start("examples/config/example- ignite.xml"); // Create GAConfiguration gaConfig = new GAConfiguration();
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 19. • Genetic Programming (GP) is a type of Evolutionary Algorithm (EA), a subset of machine learning. EAs are used to discover solutions to problems humans do not know how to solve, directly. Free of human preconceptions or biases, the adaptive nature of EAs can generate solutions that are comparable to, and often better than the best human efforts.*
  • 20. • Inspired by biological evolution and its fundamental mechanisms, GP software systems implement an algorithm that uses random mutation, crossover, a fitness function, and multiple generations of evolution to resolve a user-defined task. • GP can be used to discover a functional relationship between features in data (symbolic regression), to group data into categories (classification), and to assist in the design of electrical circuits, antennae, and quantum algorithms. GP is applied to software engineering through code synthesis, genetic improvement, automatic bug-fixing, and in developing game-playing strategies, … and more.
  • 21. Types of GP include: • Tree-based Genetic Programming • Stack-based Genetic Programming • Linear Genetic Programming (LGP) • Grammatical Evolution • Extended Compact Genetic Programming (ECGP) • Cartesian Genetic Programming (CGP) • Probabilistic Incremental Program Evolution (PIPE) • Strongly Typed Genetic Programming (STGP) • Genetic Improvement of Software for Multiple Objectives (GISMO)
  • 22. • Generational GP Algorithm According to “A Field Guide to Genetic Programming”, there are three basic steps to generational, Tree-based GP: • Generate an initial, stochastic population. • Iteratively perform selection, genetic operation, and evaluation: – Evaluate each program (hypothesis) in the current population against the given dataset and determine how well it performed, the value recorded as a fitness score. – Randomly select programs and compare their fitness scores. – Apply one of three genetic operators to a copy of the leading program: • reproduction • mutation • crossover – … then move the program into the subsequent generation.
  • 23. – Evaluate all programs (hypotheses) in each new generation. • Repeat until the user-defined termination criteria are met. • In GP, each generation is composed of a population of individual programs. Each program is a mathematical function that when executed against the given data, produces a value. • The initial population (generation 0) is composed of randomly constructed programs built upon user-defined arithmetic, trigonometric, or boolean operators, and user-defined operands, variables which represent specific data parameters. The quantity of programs in the initial and all subsequent populations is defined by the user, and remains constant throughout the entire run. • The entire initial population is evaluated, meaning each individual program is executed against the given dataset, producing a single outcome per program. This outcome is measured against the known solution, and recorded as the fitness score. From this initial population, individuals programs are randomly selected for a tournament in which the program with the best fitness score is copied into the subsequent generation, following application of a genetic operator:
  • 24. • ith reproduction, the program is copied without modification. • With mutation, a portion of the program is randomly modified. • With crossover, two programs are selected to contribute a portion of their own code to a new program. • Each mutation and crossover might result in a reduction or improvement in the fitness score for each individual program. As with the initial population, all programs in each new generation are evaluated, randomly selected for a tournament, and then evolved for the subsequent generation. Because those programs selected exhibit the highest fitness score, their contribution to the next generation enables an overall improvement. This process continues until the user-defined termination criteria are met.
  • 25.
  • 26. • Dynamic process control • Optimization of induction rules • Discovery of new connectivity topologies (NNs) • Simulation of biological models of behavior • Complex design of engineering structures • Pattern recognition • Scheduling, transportation and routing • Layout and circuit design • Telecommunication, graph-based problems

Editor's Notes

  1. https://apacheignite.readme.io/docs/genetic-algorithms#section-create-a-gaconfiguration