Harness the power of randomness (and Python code) to solve real-world problems in fun, hands-on experiments—from simulating evolution to encrypting messages to making machine-learning algorithms!
The Art of Randomness is a hands-on guide to mastering the many ways you can use randomized algorithms to solve real programming and scientific problems. You’ll learn how to use randomness to run simulations, hide information, design experiments, and even create art and music. All you need is some Python, basic high school math, and a roll of the dice.
Author Ronald T. Kneusel focuses on helping you build your intuition so that you’ll know when and how to use random processes to get things done. You’ll develop a randomness engine (a Python class that supplies random values from your chosen source), then explore how to leverage randomness to:
Simulate Darwinian evolution and optimize with swarm-based search algorithms
Design scientific experiments to produce more meaningful results by making them truly random
Implement machine learning algorithms like neural networks and random forests
Use Markov Chain Monte Carlo methods to sample from complex distributions
Hide information in audio files and images, generate art, and create music
Reconstruct original signals and images from only randomly sampled data
Scientific anecdotes and code examples throughout illustrate how randomness plays into areas like optimization, machine learning, and audio signals. End-of-chapter exercises encourage further exploration.
Whether you’re a programmer, scientist, engineer, mathematician, or artist, you’ll find The Art of Randomness to be your ticket to discovering the hidden power of applied randomness and the ways it can transform your approach to solving problems, from the technical to the artistic.
"The Art of Randomness is a useful reference and resource for anyone who needs to apply the power of randomized algorithms, including programmers, scientists, engineers, mathematicians, even artists and musicians...highly recommended." —Midwest Book Review
Ronald T. Kneusel is a computer scientist, an expert in machine learning, and a lover of fine craft beers. Kneusel has been working with machine learning in industry since 2003 and completed a PhD in machine learning from the University of Colorado, Boulder, in 2016. He’s the author of four other books with No Starch Press: How AI Works (2023), Strange Code (2022), Practical Deep Learning (2021), and Math for Deep Learning (2021).
Introduction Chapter 1: The Nature of Randomness Chapter 2: Hiding Information Chapter 3: Simulate the Real World Chapter 4: Optimize the World Chapter 5: Swarm Optimization Chapter 6: Machine Learning Chapter 7: Art Chapter 8: Music Chapter 9: Audio Signals Chapter 10: Experimental Design Chapter 11: Computer Science Algorithms Chapter 12: Sampling Resources Index
Harness the power of randomness (and Python code) to solve real-world problems in fun, hands-on experiments—from simulating evolution to encrypting messages to making machine-learning algorithms!
The Art of Randomness is a hands-on guide to mastering the many ways you can use randomized algorithms to solve real programming and scientific problems. You’ll learn how to use randomness to run simulations, hide information, design experiments, and even create art and music. All you need is some Python, basic high school math, and a roll of the dice.
Author Ronald T. Kneusel focuses on helping you build your intuition so that you’ll know when and how to use random processes to get things done. You’ll develop a randomness engine (a Python class that supplies random values from your chosen source), then explore how to leverage randomness to:
Simulate Darwinian evolution and optimize with swarm-based search algorithms
Design scientific experiments to produce more meaningful results by making them truly random
Implement machine learning algorithms like neural networks and random forests
Use Markov Chain Monte Carlo methods to sample from complex distributions
Hide information in audio files and images, generate art, and create music
Reconstruct original signals and images from only randomly sampled data
Scientific anecdotes and code examples throughout illustrate how randomness plays into areas like optimization, machine learning, and audio signals. End-of-chapter exercises encourage further exploration.
Whether you’re a programmer, scientist, engineer, mathematician, or artist, you’ll find The Art of Randomness to be your ticket to discovering the hidden power of applied randomness and the ways it can transform your approach to solving problems, from the technical to the artistic.
Praise
"The Art of Randomness is a useful reference and resource for anyone who needs to apply the power of randomized algorithms, including programmers, scientists, engineers, mathematicians, even artists and musicians...highly recommended." —Midwest Book Review
Author
Ronald T. Kneusel is a computer scientist, an expert in machine learning, and a lover of fine craft beers. Kneusel has been working with machine learning in industry since 2003 and completed a PhD in machine learning from the University of Colorado, Boulder, in 2016. He’s the author of four other books with No Starch Press: How AI Works (2023), Strange Code (2022), Practical Deep Learning (2021), and Math for Deep Learning (2021).
Introduction Chapter 1: The Nature of Randomness Chapter 2: Hiding Information Chapter 3: Simulate the Real World Chapter 4: Optimize the World Chapter 5: Swarm Optimization Chapter 6: Machine Learning Chapter 7: Art Chapter 8: Music Chapter 9: Audio Signals Chapter 10: Experimental Design Chapter 11: Computer Science Algorithms Chapter 12: Sampling Resources Index