Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Hands-On Genetic Algorithms with Python
Hands-On Genetic Algorithms with Python

Hands-On Genetic Algorithms with Python: Apply genetic algorithms to solve real-world AI and machine learning problems , Second Edition

eBook
$31.99
Paperback
$39.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Table of content icon View table of contents Preview book icon Preview Book

Hands-On Genetic Algorithms with Python

An Introduction to Genetic Algorithms

Drawing its inspiration from Charles Darwin’s theory of natural evolution, one of the most fascinating techniques for problem-solving is the algorithm family suitably named evolutionary computation. Within this family, the most prominent and widely used branch is known as genetic algorithms. This chapter is the beginning of your journey to mastering this extremely powerful, yet extremely simple, technique.

In this chapter, we will introduce genetic algorithms and their analogy to Darwinian evolution before diving into their basic principles of operation and their underlying theory. We will then go over the differences between genetic algorithms and traditional ones and cover the advantages and limitations of genetic algorithms and their uses. We will conclude by reviewing cases where the use of a genetic algorithm may prove beneficial.

In this introductory chapter, we will cover the following topics:

  • What are genetic algorithms...

What are genetic algorithms?

Genetic algorithms are a family of search algorithms that are inspired by the principles of evolution in nature. By imitating the process of natural selection and reproduction, genetic algorithms can produce high-quality solutions for various problems involving search, optimization, and learning. At the same time, their analogy to natural evolution allows genetic algorithms to overcome some of the hurdles that are encountered by traditional search and optimization algorithms, especially for problems with a large number of parameters and complex mathematical representations.

In the rest of this section, we will review the basic ideas of genetic algorithms, as well as their analogy to the evolutionary processes transpiring in nature.

Darwinian evolution

Genetic algorithms implement a simplified version of the Darwinian evolution that takes place in nature. The principles of the Darwinian evolution theory can be summarized using the following principles...

The theory behind genetic algorithms

The building-block hypothesis underlying genetic algorithms is that the optimal solution to the problem at hand is assembled of small building blocks, and as we bring more of these building blocks together, we get closer to this optimal solution.

Individuals in the population who contain some of the desired building blocks are identified by their superior scores. The repeated operations of selection and crossover result in better individuals conveying these building blocks to the next generations, while possibly combining them with other successful building blocks. This creates genetic pressure, thus guiding the population toward having more and more individuals with the building blocks that form the optimal solution.

As a result, each generation is better than the previous one and contains more individuals that are closer to the optimal solution.

For example, consider a population of four-digit binary strings where our goal is to find...

Differences from traditional algorithms

There are several important differences between genetic algorithms and traditional search and optimization algorithms, such as gradient-based algorithms.

The key distinguishing factors are as follows:

  • Maintaining a population of solutions
  • Using a genetic representation of the solutions
  • Utilizing the outcome of a fitness function
  • Exhibiting a probabilistic behavior

We will describe these factors in greater detail in the following sections.

Population-based

The genetic search is conducted over a population of candidate solutions (individuals) rather than a single candidate. At any point in the search, the algorithm retains a set of individuals that form the current generation. Each iteration of the genetic algorithm creates the next generation of individuals.

In contrast, most other search algorithms maintain a single solution and iteratively modify it in search of the best solution. The gradient descent algorithm...

Advantages of genetic algorithms

The unique characteristics of genetic algorithms that we discussed in the previous sections provide several advantages over traditional search algorithms.

The main advantages of genetic algorithms are as follows:

  • Global optimization capability
  • Can handle problems with a complex mathematical representation
  • Can handle problems that lack mathematical representation
  • Resilience to noise
  • Support for parallelism and distributed processing
  • Suitable for continuous learning

We will cover each of these in the upcoming sections.

Global optimization

In many cases, optimization problems have local maxima and minima points; these represent solutions that are better than those around them, but not the best overall.

The following figure illustrates the differences between global and local maximum and minimum points:

Figure 1.6: The global and local maxima and minima of a function.

Figure 1.6: The global and local maxima and minima of a function.

Source:...

Limitations of genetic algorithms

To get the most out of genetic algorithms, we need to be aware of their limitations and potential pitfalls.

The limitations of genetic algorithms are as follows:

  • The need for special definitions
  • The need for hyperparameter tuning
  • Computationally intensive operations
  • The risk of premature convergence
  • No guaranteed solution

We will cover each of these in the upcoming sections.

Special definitions

When applying genetic algorithms to a given problem, we need to create a suitable representation for them – define the fitness function and the chromosome structure, as well as the selection, crossover, and mutation operators that will work for this problem. This can often prove to be challenging and time-consuming.

Luckily, genetic algorithms have already been applied to countless different types of problems, and many of these definitions have been standardized. This book covers numerous types of real-life problems...

Use cases for genetic algorithms

Based on the material we covered in the previous sections, genetic algorithms are best suited for the following types of problems:

  • Problems with complex mathematical representation: Since genetic algorithms only require the outcome of the fitness function, they can be used for problems with target functions that are hard or impossible to differentiate (such as planning and scheduling), problems with a large number of parameters (such as image reconstruction), and problems with a mix of parameter types (such as hyperparameter optimization).
  • Problems with no mathematical representation: Genetic algorithms don’t require a mathematical representation of the problem, so long as a score value can be obtained, or a method is available to compare two solutions. This can be useful, for example, when solving reinforcement learning tasks or optimizing the architecture of a deep learning model.
  • Problems involving a noisy environment: Genetic...

Summary

In this chapter, we started by introducing genetic algorithms, their analogy to Darwinian evolution, and their basic principles of operation, including the use of population, genotype, the fitness function, and the genetic operators of selection, crossover, and mutation.

Then, we covered the theory underlying genetic algorithms by going over the building-block hypothesis and the schema theorem and illustrating how genetic algorithms work by bringing together superior, small building blocks to create the best solutions.

Next, we went over the differences between genetic algorithms and traditional ones, such as maintaining a population of solutions and using a genetic representation of those solutions.

We continued by covering the strengths of genetic algorithms, including their capacity for global optimization, handling problems with complex or non-existent mathematical representations, and resilience to noise, followed by their weaknesses, including the need for special...

Further reading

For more information on what we covered in this chapter, please refer to Introduction to Genetic Algorithms, from the book Hands-On Artificial Intelligence for IoT, by Amita Kapoor, January 2019, available at https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781788836067.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Learn how to implement genetic algorithms using Python libraries DEAP, scikit-learn, and NumPy
  • Take advantage of cloud computing technology to increase the performance of your solutions
  • Discover bio-inspired algorithms such as particle swarm optimization (PSO) and NEAT
  • Purchase of the print or Kindle book includes a free PDF eBook

Description

Written by Eyal Wirsansky, a senior data scientist and AI researcher with over 25 years of experience and a research background in genetic algorithms and neural networks, Hands-On Genetic Algorithms with Python offers expert insights and practical knowledge to master genetic algorithms. After an introduction to genetic algorithms and their principles of operation, you’ll find out how they differ from traditional algorithms and the types of problems they can solve, followed by applying them to search and optimization tasks such as planning, scheduling, gaming, and analytics. As you progress, you’ll delve into explainable AI and apply genetic algorithms to AI to improve machine learning and deep learning models, as well as tackle reinforcement learning and NLP tasks. This updated second edition further expands on applying genetic algorithms to NLP and XAI and speeding up genetic algorithms with concurrency and cloud computing. You’ll also get to grips with the NEAT algorithm. The book concludes with an image reconstruction project and other related technologies for future applications. By the end of this book, you’ll have gained hands-on experience in applying genetic algorithms across a variety of fields, with emphasis on artificial intelligence with Python.

Who is this book for?

If you’re a data scientist, software developer, AI enthusiast who wants to break into the world of genetic algorithms and apply them to real-world, intelligent applications as quickly as possible, this book is for you. Working knowledge of the Python programming language is required to get started with this book.

What you will learn

  • Use genetic algorithms to solve planning, scheduling, gaming, and analytics problems
  • Create reinforcement learning, NLP, and explainable AI applications
  • Enhance the performance of ML models and optimize deep learning architecture
  • Deploy genetic algorithms using client-server architectures, enhancing scalability and computational efficiency
  • Explore how images can be reconstructed using a set of semi-transparent shapes
  • Delve into topics like elitism, niching, and multiplicity in genetic solutions to enhance optimization strategies and solution diversity

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jul 12, 2024
Length: 418 pages
Edition : 2nd
Language : English
ISBN-13 : 9781805121572
Category :
Languages :
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning

Product Details

Publication date : Jul 12, 2024
Length: 418 pages
Edition : 2nd
Language : English
ISBN-13 : 9781805121572
Category :
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 144.97
Hands-On Genetic Algorithms with Python
$39.99
Mastering PyTorch
$51.99
Mastering NLP from Foundations to LLMs
$52.99
Total $ 144.97 Stars icon

Table of Contents

23 Chapters
Part 1: The Basics of Genetic Algorithms Chevron down icon Chevron up icon
Chapter 1: An Introduction to Genetic Algorithms Chevron down icon Chevron up icon
Chapter 2: Understanding the Key Components of Genetic Algorithms Chevron down icon Chevron up icon
Part 2: Solving Problems with Genetic Algorithms Chevron down icon Chevron up icon
Chapter 3: Using the DEAP Framework Chevron down icon Chevron up icon
Chapter 4: Combinatorial Optimization Chevron down icon Chevron up icon
Chapter 5: Constraint Satisfaction Chevron down icon Chevron up icon
Chapter 6: Optimizing Continuous Functions Chevron down icon Chevron up icon
Part 3: Artificial Intelligence Applications of Genetic Algorithms Chevron down icon Chevron up icon
Chapter 7: Enhancing Machine Learning Models Using Feature Selection Chevron down icon Chevron up icon
Chapter 8: Hyperparameter Tuning of Machine Learning Models Chevron down icon Chevron up icon
Chapter 9: Architecture Optimization of Deep Learning Networks Chevron down icon Chevron up icon
Chapter 10: Reinforcement Learning with Genetic Algorithms Chevron down icon Chevron up icon
Chapter 11: Natural Language Processing Chevron down icon Chevron up icon
Chapter 12: Explainable AI, Causality, and Counterfactuals with Genetic Algorithms Chevron down icon Chevron up icon
Part 4: Enhancing Performance with Concurrency and Cloud Strategies Chevron down icon Chevron up icon
Chapter 13: Accelerating Genetic Algorithms – the Power of Concurrency Chevron down icon Chevron up icon
Chapter 14: Beyond Local Resources – Scaling Genetic Algorithms in the Cloud Chevron down icon Chevron up icon
Part 5: Related Technologies Chevron down icon Chevron up icon
Chapter 15: Evolutionary Image Reconstruction with Genetic Algorithms Chevron down icon Chevron up icon
Chapter 16: Other Evolutionary and Bio-Inspired Computation Techniques Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.8
(5 Ratings)
5 star 80%
4 star 20%
3 star 0%
2 star 0%
1 star 0%
Karthik Rajashekaran Jul 30, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Hands-On Genetic Algorithms with Python by Eyal Wirsansky is an essential resource for anyone looking to delve into the world of genetic algorithms (GAs) using Python. This comprehensive guide bridges the gap between theory and practical application, making complex concepts accessible to both beginners and seasoned developers.The book starts with the basics of genetic algorithms, explaining their biological inspiration and fundamental components like selection, crossover, mutation, and fitness functions. It then moves on to practical implementation, providing clear and well-structured Python examples that allow readers to see the theory in action.One of the standout features of this book is its focus on real-world applications. Wirsansky does an excellent job of demonstrating how GAs can be used to solve complex optimization problems, from scheduling and routing to machine learning. The inclusion of advanced topics such as multi-objective optimization, parallel GAs, and hybrid algorithms ensures that readers are well-equipped to tackle a wide range of challenges.The writing is clear and engaging, with a logical progression that makes learning straightforward. Each chapter builds on the previous one, reinforcing concepts and enhancing understanding. The practical exercises and examples are particularly valuable, providing hands-on experience that is crucial for mastering genetic algorithms.Overall, Hands-On Genetic Algorithms with Python is a must-read for data scientists, researchers, and developers interested in evolutionary algorithms. It provides the knowledge and tools needed to harness the power of genetic algorithms for solving real-world problems efficiently and effectively.Pros:- Clear and concise explanations of genetic algorithm concepts.- Practical Python examples that bridge theory and application.- Coverage of advanced topics for comprehensive learning.- Focus on real-world applications.Cons:Requires a basic understanding of Python programming.
Amazon Verified review Amazon
Steven Fernandes Aug 06, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book expands into creating cutting-edge applications with reinforcement learning, NLP, and explainable AI, as well as enhancing the performance of machine learning models. It covers the deployment of genetic algorithms in client-server architectures to improve scalability and computational efficiency. Readers will also explore innovative methods like image reconstruction using semi-transparent shapes and delve into advanced genetic algorithms concepts such as elitism, niching, and multiplicity to boost optimization strategies and diversify solutions. This book is a crucial resource for anyone looking to enhance their understanding and application of genetic algorithms in AI.
Amazon Verified review Amazon
Amazon Customer Sep 13, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book opens with a solid introduction to the principles of genetic algorithms, effectively distinguishing them from traditional algorithms. This foundational knowledge is crucial for readers who may be unfamiliar with the nuances of evolutionary computation. The author explains the types of problems GAs can solve, such as planning, scheduling, and optimization tasks, making it clear why they are a powerful tool in the data scientist's toolkit.Also the content focusing on the integration of GAs with modern AI techniques, particularly in natural language processing (NLP) and explainable AI (XAI). Genetic algorithm can enhance machine learning models, tackle reinforcement learning challenges, and optimize deep learning architectures, providing practical examples that readers can easily follow. The inclusion of advanced topics like concurrency in genetic algorithms and their deployment in cloud computing environments exemplifies the book's commitment to addressing contemporary issues in computational efficiency and scalability.
Amazon Verified review Amazon
Ernest Aug 04, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
"Hands-On Genetic Algorithms with Python" by Eyal Wirsansky stands out as an exemplary resource for anyone eager to explore the world of Genetic Algorithms (GAs). Wirsansky has crafted a comprehensive guide that caters to a wide spectrum of needs, making it an invaluable asset whether you are a student, researcher, or educator. This book brilliantly balances theoretical foundations with practical applications, providing a clear and thorough exploration of GAs.The table of contents unfolds like pieces of a puzzle, fitting together seamlessly to reveal an impressive and coherent picture of GAs. The author has included a well-organized, meticulously documented, and accessible Python code repository. This hands-on approach empowers readers to gain practical experience, enabling them to apply the techniques to their own research and projects effectively.The fact that the book has reached its second edition is a testament to its success and wide acceptance in the field. Similar to the first edition, Part 3 is the highlight, where the intersection of GAs and Artificial Intelligence (AI) is explored in depth. Topics such as Feature Selection for Machine Learning (ML) models, Hyperparameter Tuning, Architecture Optimization of Deep Learning Networks, and Reinforcement Learning with GAs are comprehensively covered, continuing to build on the solid foundation laid in the previous edition.In this new edition, Wirsansky has introduced two captivating chapters: “Natural Language Processing (NLP)”, and “Explainable AI, Causality, and Counterfactuals with Genetic Algorithms”. These additions are not only timely but also extremely impactful, given the current prominence of these topics. The discussion on counterfactuals, though concise, manages to be both informative and profound, providing readers with a nuanced understanding of its applications. I eagerly anticipate the third edition, hoping to see more examples of GAs applied to XAI and Causality.A notable addition to this edition is the chapter on Enhancing Performance with Concurrency and Cloud Strategies. This is particularly relevant for professionals dealing with big data or projects that demand swift execution. It introduces a new dimension to the book, equipping readers with strategies to handle computational challenges efficiently.The final chapter offers a glimpse into other evolutionary and bio-inspired computation methods, serving as a valuable guide for fundamental researchers and curious learners looking to expand their knowledge beyond Genetic Algorithms. This "where-to-go" section opens new avenues for exploration and study.Looking forward, it would be beneficial for future editions to address the (current) limitations of GAs. Given Eyal Wirsansky's expertise in both GAs and Deep Learning (DL), an exploration of how GAs could potentially revolutionize DL in the future would be particularly fascinating and insightful.
Amazon Verified review Amazon
Om S Jul 31, 2024
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Eyal Wirsansky's "Hands-On Genetic Algorithms with Python" is an excellent resource for mastering genetic algorithms using Python. It addresses topics like search, optimization, machine learning, and deep learning. The guide demonstrates how to leverage cloud computing for improved performance and covers bio-inspired algorithms such as PSO and NEAT. Ideal for data scientists and AI enthusiasts with Python skills, it includes practical examples and projects. This book is a valuable tool for anyone looking to implement genetic algorithms in real-world AI applications.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.