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.