SlideShare uma empresa Scribd logo
1 de 20
Name : TAHAN M K H
School : University of
Jinan
Major : Computer
Science and Technology
Stay Hard!
Optimization
 It is an act, process, or methodology of making
something (such as a design, system, or decision)
as fully perfect, functional, or effective as possible.
 It helps to find the inputs that gives the best outputs.
 Requires an optimization algorithm.
 Common applications: Minimal cost, maximal profit,
minimal error etc.
Optimization Algorithm
 An optimization algorithm is a process
of searching a set of solutions in the
state space to maximize or minimize the
objective function of a specific problem.
 It is a procedure which is executed iteratively
by comparing various solutions till an optimum
or a satisfactory solution is found.
Types of Optimization Algorithm
Difference Between Single Solution based and Population based search
 Single-solution algorithms perform local search process by employing a single candidate solution trying to
improve this solution in its neighborhood.
 In contrast, population-based algorithms guide the search process by maintaining multiple solutions located in
different points of search space.
 However, the main drawback of single-solution algorithms is that the global optimum may not reach and it may
get stuck in local optimum. On the other hand, population-based algorithms with several starting points that
maintain the diversity of the solutions globally in the search space and results are of better exploration during
the search process
Genetic Algorithm
Genetic algorithms are modeled after the biological evolutionary processes that use natural selection to select the
best species to survive. They are heuristics based and low cost to compute. This algorithm reflects the process of
natural selection where the fittest individuals are selected for reproduction in order to produce offspring of the next
generation.
Genetic algorithms are well suited to deploy in resource constrained tactical environments because they are fast,
use low resources and their degree of computation accuracy is just enough to meet mission computation objectives
in many cases.
The Notion of Natural Selection
 The process of natural selection starts with the selection of fittest individuals from a population.
 They produce offspring which inherit the characteristics of the parents and will be added to the next generation.
 If parents have better fitness, their offspring will be better than parents and have a better chance at surviving.
 This process keeps on iterating and at the end, a generation with the fittest individuals will be found.
 This notion can be applied for a search problem. We consider a set of solutions for a problem and select the set
of best ones out of them.
N dimensional linear space
Linear algebra is a branch in mathematics that deals with objects and operations in what is called -dimensional space. We
already familiar with 1, 2 and 3-dimensional spaces from elementary algebra. The only objects are points which can be
represented by a single numerical values.
2-dimensional space is a flat plane and consists of primitive objects such as points and lines.
3-dimensional space consists of points, lines, and planes.
N dimensional linear space
Higher dimensional spaces ( N > 3 ) are more difficult to visualize. While 2D and 3D spaces seem readily applicable to every
day life, higher dimensional spaces seem far more abstract.
Consider a textbook. In 3D space we describe the textbook with width, height, and depth. These three variables are
geometric properties of the textbook. However, not all variables need to have a geometric meaning. We can make the
description of the textbook richer by adding additional variables such as color, copyright year, author name, and page count.
Since we have added 4 more variables to the description, we call this a 7-dimensional space ( N = 7 ).
Phases Considered in a Genetic Algorithm
Initial population
01 Fitness function
Selection Crossover
02
03 04
05 Mutation
Phases in a Genetic Algorithm
Initial Population
 The process begins with a set of individuals
which is called a Population. Each individual
is a solution to the problem we want to solve.
 An individual is characterized by a set of para-
meters (variables) known as Genes. Genes are
joined into a string to form a Chromosome
(solution).
 In a genetic algorithm, the set of genes of an
individual is represented using a string, in terms
of an alphabet. Usually, binary values are used
(string of 1s and 0s). We can say that we encode the
genes in a chromosome.
Fitness Function
The fitness function determines how fit an individual is (the ability of an individual to compete with other
individuals). It gives a fitness score to each individual. The probability that an individual will be selected for
reproduction is based on its fitness score.
Selection
 The idea of selection phase is to select the fittest individuals and let them pass their genes to the next
generation.
 Two pairs of individuals (parents) are selected based on their fitness scores. Individuals with high fitness have
more chance to be selected for reproduction.
Crossover
 Crossover is the most significant phase in a genetic algorithm.
For each pair of parents to be mated, a crossover point is chosen
at random from within the genes.
 Offspring are created by exchanging the genes of parents
among themselves until the crossover point is reached.
 The new offspring are added to the population.
Crossover
A( , )
( , )
C( , )
( , )
H
G
F( + ∆ , − ∆ )
E( , − ∆ )
Mutation
In certain new offspring formed, some of their genes can be subjected to a mutation with a low random probability.
This implies that some of the bits in the bit string can be flipped.
The algorithm terminates if the population has converged (does not produce offspring which are significantly
different from the previous generation). Then it is said that the genetic algorithm has provided a set of solutions to
our problem.
Mutation
A( , )
( , )
C( , )
( , )
H
G
F( + ∆ , − ∆ )
E( , − ∆ )
Conclusions
 N-dimensional linear space
 Difference between crossover and mutation phase.
 The significance / geometrical meaning of Crossover phase.
 Float Method
Thanks
Do you have any questions?
An image
is worth a
thousand
words

Mais conteúdo relacionado

Semelhante a Optimization Algorithm Guide

Genetic-Algorithms.ppt
Genetic-Algorithms.pptGenetic-Algorithms.ppt
Genetic-Algorithms.pptssuser2e437f
 
Genetic-Algorithms-computersciencepptnew.ppt
Genetic-Algorithms-computersciencepptnew.pptGenetic-Algorithms-computersciencepptnew.ppt
Genetic-Algorithms-computersciencepptnew.pptFitnessfreaksfam
 
Evolutionary computing - soft computing
Evolutionary computing - soft computingEvolutionary computing - soft computing
Evolutionary computing - soft computingSakshiMahto1
 
4.Genetic-Algorithms.ppt
4.Genetic-Algorithms.ppt4.Genetic-Algorithms.ppt
4.Genetic-Algorithms.pptRamjiChaurasiya
 
Genetic algorithm fitness function
Genetic algorithm fitness functionGenetic algorithm fitness function
Genetic algorithm fitness functionProf Ansari
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmRespa Peter
 
Geneticalgorithms 100403002207-phpapp02
Geneticalgorithms 100403002207-phpapp02Geneticalgorithms 100403002207-phpapp02
Geneticalgorithms 100403002207-phpapp02Amna Saeed
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmgarima931
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsDerek Kane
 
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
 
A Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsA Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsKaren Gomez
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmMegha V
 
soft computing BTU MCA 3rd SEM unit 1 .pptx
soft computing BTU MCA 3rd SEM unit 1 .pptxsoft computing BTU MCA 3rd SEM unit 1 .pptx
soft computing BTU MCA 3rd SEM unit 1 .pptxnaveen356604
 
CSA 3702 machine learning module 4
CSA 3702 machine learning module 4CSA 3702 machine learning module 4
CSA 3702 machine learning module 4Nandhini S
 
Genetic Algorithm (1).pdf
Genetic Algorithm (1).pdfGenetic Algorithm (1).pdf
Genetic Algorithm (1).pdfAzmiNizar1
 

Semelhante a Optimization Algorithm Guide (20)

Genetic-Algorithms.ppt
Genetic-Algorithms.pptGenetic-Algorithms.ppt
Genetic-Algorithms.ppt
 
Genetic-Algorithms-computersciencepptnew.ppt
Genetic-Algorithms-computersciencepptnew.pptGenetic-Algorithms-computersciencepptnew.ppt
Genetic-Algorithms-computersciencepptnew.ppt
 
RM 701 Genetic Algorithm and Fuzzy Logic lecture
RM 701 Genetic Algorithm and Fuzzy Logic lectureRM 701 Genetic Algorithm and Fuzzy Logic lecture
RM 701 Genetic Algorithm and Fuzzy Logic lecture
 
Gadoc
GadocGadoc
Gadoc
 
Evolutionary computing - soft computing
Evolutionary computing - soft computingEvolutionary computing - soft computing
Evolutionary computing - soft computing
 
4.Genetic-Algorithms.ppt
4.Genetic-Algorithms.ppt4.Genetic-Algorithms.ppt
4.Genetic-Algorithms.ppt
 
Ga
GaGa
Ga
 
Genetic algorithm fitness function
Genetic algorithm fitness functionGenetic algorithm fitness function
Genetic algorithm fitness function
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Geneticalgorithms 100403002207-phpapp02
Geneticalgorithms 100403002207-phpapp02Geneticalgorithms 100403002207-phpapp02
Geneticalgorithms 100403002207-phpapp02
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
F0422052058
F0422052058F0422052058
F0422052058
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic Algorithms
 
1582997627872.pdf
1582997627872.pdf1582997627872.pdf
1582997627872.pdf
 
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)
 
A Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsA Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its Applications
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
soft computing BTU MCA 3rd SEM unit 1 .pptx
soft computing BTU MCA 3rd SEM unit 1 .pptxsoft computing BTU MCA 3rd SEM unit 1 .pptx
soft computing BTU MCA 3rd SEM unit 1 .pptx
 
CSA 3702 machine learning module 4
CSA 3702 machine learning module 4CSA 3702 machine learning module 4
CSA 3702 machine learning module 4
 
Genetic Algorithm (1).pdf
Genetic Algorithm (1).pdfGenetic Algorithm (1).pdf
Genetic Algorithm (1).pdf
 

Último

National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate productionChinnuNinan
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectssuserb6619e
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptbibisarnayak0
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 

Último (20)

National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate production
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.ppt
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 

Optimization Algorithm Guide

  • 1. Name : TAHAN M K H School : University of Jinan Major : Computer Science and Technology Stay Hard!
  • 2. Optimization  It is an act, process, or methodology of making something (such as a design, system, or decision) as fully perfect, functional, or effective as possible.  It helps to find the inputs that gives the best outputs.  Requires an optimization algorithm.  Common applications: Minimal cost, maximal profit, minimal error etc.
  • 3. Optimization Algorithm  An optimization algorithm is a process of searching a set of solutions in the state space to maximize or minimize the objective function of a specific problem.  It is a procedure which is executed iteratively by comparing various solutions till an optimum or a satisfactory solution is found.
  • 5. Difference Between Single Solution based and Population based search  Single-solution algorithms perform local search process by employing a single candidate solution trying to improve this solution in its neighborhood.  In contrast, population-based algorithms guide the search process by maintaining multiple solutions located in different points of search space.  However, the main drawback of single-solution algorithms is that the global optimum may not reach and it may get stuck in local optimum. On the other hand, population-based algorithms with several starting points that maintain the diversity of the solutions globally in the search space and results are of better exploration during the search process
  • 6. Genetic Algorithm Genetic algorithms are modeled after the biological evolutionary processes that use natural selection to select the best species to survive. They are heuristics based and low cost to compute. This algorithm reflects the process of natural selection where the fittest individuals are selected for reproduction in order to produce offspring of the next generation. Genetic algorithms are well suited to deploy in resource constrained tactical environments because they are fast, use low resources and their degree of computation accuracy is just enough to meet mission computation objectives in many cases.
  • 7. The Notion of Natural Selection  The process of natural selection starts with the selection of fittest individuals from a population.  They produce offspring which inherit the characteristics of the parents and will be added to the next generation.  If parents have better fitness, their offspring will be better than parents and have a better chance at surviving.  This process keeps on iterating and at the end, a generation with the fittest individuals will be found.  This notion can be applied for a search problem. We consider a set of solutions for a problem and select the set of best ones out of them.
  • 8. N dimensional linear space Linear algebra is a branch in mathematics that deals with objects and operations in what is called -dimensional space. We already familiar with 1, 2 and 3-dimensional spaces from elementary algebra. The only objects are points which can be represented by a single numerical values. 2-dimensional space is a flat plane and consists of primitive objects such as points and lines. 3-dimensional space consists of points, lines, and planes.
  • 9. N dimensional linear space Higher dimensional spaces ( N > 3 ) are more difficult to visualize. While 2D and 3D spaces seem readily applicable to every day life, higher dimensional spaces seem far more abstract. Consider a textbook. In 3D space we describe the textbook with width, height, and depth. These three variables are geometric properties of the textbook. However, not all variables need to have a geometric meaning. We can make the description of the textbook richer by adding additional variables such as color, copyright year, author name, and page count. Since we have added 4 more variables to the description, we call this a 7-dimensional space ( N = 7 ).
  • 10. Phases Considered in a Genetic Algorithm Initial population 01 Fitness function Selection Crossover 02 03 04 05 Mutation
  • 11. Phases in a Genetic Algorithm
  • 12. Initial Population  The process begins with a set of individuals which is called a Population. Each individual is a solution to the problem we want to solve.  An individual is characterized by a set of para- meters (variables) known as Genes. Genes are joined into a string to form a Chromosome (solution).  In a genetic algorithm, the set of genes of an individual is represented using a string, in terms of an alphabet. Usually, binary values are used (string of 1s and 0s). We can say that we encode the genes in a chromosome.
  • 13. Fitness Function The fitness function determines how fit an individual is (the ability of an individual to compete with other individuals). It gives a fitness score to each individual. The probability that an individual will be selected for reproduction is based on its fitness score.
  • 14. Selection  The idea of selection phase is to select the fittest individuals and let them pass their genes to the next generation.  Two pairs of individuals (parents) are selected based on their fitness scores. Individuals with high fitness have more chance to be selected for reproduction.
  • 15. Crossover  Crossover is the most significant phase in a genetic algorithm. For each pair of parents to be mated, a crossover point is chosen at random from within the genes.  Offspring are created by exchanging the genes of parents among themselves until the crossover point is reached.  The new offspring are added to the population.
  • 16. Crossover A( , ) ( , ) C( , ) ( , ) H G F( + ∆ , − ∆ ) E( , − ∆ )
  • 17. Mutation In certain new offspring formed, some of their genes can be subjected to a mutation with a low random probability. This implies that some of the bits in the bit string can be flipped. The algorithm terminates if the population has converged (does not produce offspring which are significantly different from the previous generation). Then it is said that the genetic algorithm has provided a set of solutions to our problem.
  • 18. Mutation A( , ) ( , ) C( , ) ( , ) H G F( + ∆ , − ∆ ) E( , − ∆ )
  • 19. Conclusions  N-dimensional linear space  Difference between crossover and mutation phase.  The significance / geometrical meaning of Crossover phase.  Float Method
  • 20. Thanks Do you have any questions? An image is worth a thousand words

Notas do Editor

  1. References: [1] N. S. Jaddi and S. Abdullah, “Global search in single-solution-based metaheuristics,” Data Technol. Appl., vol. 54, no. 3, pp. 275–296, 2020, doi: 10.1108/DTA-07-2019-0115.
  2. [1] M. S. Im and V. R. Dasari, “Genetic optimization algorithms applied toward mission computability models,” pp. 1–11, 2020, [Online]. Available: http://arxiv.org/abs/2005.13105