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
€15.99 €23.99
Paperback
€29.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
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 : 9781805123798
Category :
Languages :
Concepts :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

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

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.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
€189.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
€264.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 108.97
Hands-On Genetic Algorithms with Python
€29.99
Mastering PyTorch
€38.99
Mastering NLP from Foundations to LLMs
€39.99
Total 108.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

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.