Vai al contenuto principale della pagina
| Autore: |
Moriarity Sean
|
| Titolo: |
Genetic algorithms in Elixir : solve problems using evolution / / Sean Moriarity
|
| Pubblicazione: | [Raleigh, North Carolina] : , : The Pragmatic Programmers, LLC, , [2021] |
| ©2021 | |
| Edizione: | First edition. |
| Descrizione fisica: | 1 online resource (235 pages) |
| Disciplina: | 518.1 |
| Soggetto topico: | Algorithms |
| Evolutionary programming (Computer science) | |
| Genetic algorithms | |
| Nota di bibliografia: | Includes bibliographical references. |
| Nota di contenuto: | Cover -- Table of Contents -- Disclaimer -- Acknowledgments -- Preface -- Who This Book Is For -- What's in This Book -- How to Use This Book -- How Does Elixir Fit In? -- 1. Writing Your First Genetic Algorithm -- Understanding Genetic Algorithms -- Introducing the One-Max Problem -- Initializing the Population -- Understanding the Flow of Genetic Algorithms -- Selecting Parents -- Creating Children -- Running Your Solution -- Adding Mutation -- What You Learned -- 2. Breaking Down Genetic Algorithms -- Reviewing Genetic Algorithms -- Looking Deeper into Genetic Algorithms -- Using Mix to Write Genetic Algorithms -- Building a Framework for Genetic Algorithms -- Understanding Hyperparameters -- Solving the One-Max Problem Again -- What You Learned -- 3. Encoding Problems and Solutions -- Using Structs to Represent Chromosomes -- Using Behaviours to Model Problems -- Understanding and Choosing Genotypes -- Solving One-Max for the Last Time -- Spelling Words with Genetic Algorithms -- What You Learned -- 4. Evaluating Solutions and Populations -- Optimizing Cargo Loads -- Introducing Penalty Functions -- Applying a Penalty to the Shipping Problem -- Defining Termination Criteria -- Applying Termination Criteria to Shipping -- Crafting Fitness Functions -- Exploring Different Types of Optimization -- What You Learned -- 5. Selecting the Best -- Exploring Selection -- Customizing Selection in Your Framework -- Implementing Common Selection Strategies -- What You Learned -- 6. Generating New Solutions -- Introducing N-Queens -- Solving N-Queens with Order-One Crossover -- Exploring Crossover -- Implementing Other Common Crossover Strategies -- Crossing Over More Than Two Parents -- Implementing Chromosome Repairment -- What You Learned -- 7. Preventing Premature Convergence -- Breaking Codes with Genetic Algorithms -- Understanding Mutation. |
| Customizing Mutation in Your Framework -- Implementing Common Mutation Strategies -- Other Methods to Combat Convergence -- What You Learned -- 8. Replacing and Transitioning -- Creating a Class Schedule -- Understanding Reinsertion -- Experimenting with Reinsertion -- Growing and Shrinking Populations -- Local Versus Global Reinsertion -- What You Learned -- 9. Tracking Genetic Algorithms -- Using Genetic Algorithms to Simulate Evolution -- Logging Statistics Using ETS -- Tracking Genealogy in a Genealogy Tree -- What You Learned -- 10. Visualizing the Results -- Visualizing the Genealogy of the Tiger Evolution -- Visualizing Basic Statistics -- Playing Tetris with Genetic Algorithms -- Installing and Compiling ALEx -- What You Learned -- 11. Optimizing Your Algorithms -- Benchmarking and Profiling Genetic Algorithms -- Writing Fast Elixir -- Improving Performance with Parallelization -- Improving Performance with NIFs -- What You Learned -- 12. Writing Tests and Code Quality -- Understanding Randomness -- Writing Property Tests with ExUnit -- Cleaning Up Your Framework -- Writing Type Specifications -- What You Learned -- 13. Moving Forward -- Learning with Evolution -- Designing with Evolution -- Trading with Evolution -- Networking with Evolution -- Evolving Neural Networks -- Where to Go Next -- Bibliography -- Index -- - SYMBOLS - -- - A - -- - B - -- - C - -- - D - -- - E - -- - F - -- - G - -- - H - -- - I - -- - J - -- - K - -- - L - -- - M - -- - N - -- - O - -- - P - -- - Q - -- - R - -- - S - -- - T - -- - U - -- - V - -- - W - -- - X - -- - Z -. | |
| Sommario/riassunto: | From finance to artificial intelligence, genetic algorithms are a powerful tool with a wide array of applications. But you don't need an exotic new language or framework to get started; you can learn about genetic algorithms in a language you're already familiar with. Join us for an in-depth look at the algorithms, techniques, and methods that go into writing a genetic algorithm. From introductory problems to real-world applications, you'll learn the underlying principles of problem solving using genetic algorithms. |
| Titolo autorizzato: | Genetic algorithms in Elixir ![]() |
| ISBN: | 9781680508307 |
| 168050830X | |
| 9781680508314 | |
| 1680508318 | |
| Formato: | Materiale a stampa |
| Livello bibliografico | Monografia |
| Lingua di pubblicazione: | Inglese |
| Record Nr.: | 9911008398403321 |
| Lo trovi qui: | Univ. Federico II |
| Opac: | Controlla la disponibilità qui |