BPB Online LLP
Natural Computing with Python
Natural Computing with Python
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews

Step-by-step guide to learn and solve complex computational problems with Nature Inspired algorithms.

Key Features
Artificial Neural Networks
Deep Learning models using Keras
Quantum Computers and Programming
Genetic Algorithms, CNN and RNNs
Swarm Intelligence Systems
Reinforcement Learning using OpenAI
Artificial Life
DNA computing
Fractals

Description
Natural Computing is the field of research inspired by nature, that allows the development of new algorithms to solve complex problems, leads to the synthesis of natural models, and may result in the design of new computing systems. This book exactly aims to educate you with practical examples on topics of importance associated with research field of Natural computing.

The initial few chapters will quickly walk you through Neural Networks while describing deep learning architectures such as CNN, RNN and AutoEncoders using Keras. As you progress further, you’ll gain understanding to develop genetic algorithm to solve traveling saleman problem, implement swarm intelligence techniques using the SwarmPackagePy and Cellular Automata techniques such as Game of Life, Langton's ant, etc.

The latter half of the book will introduce you to the world of Fractals such as such as the Cantor Set and the Mandelbrot Set, develop a quantum program with the QiSkit tool that runs on a real quantum computing platform, namely the IBM Q Machine and a Python simulation of the Adleman experiment that showed for the first time the possibility of performing computations at the molecular level.

What You Will Learn
Mastering Artificial Neural Networks
Developing Artificial Intelligence systems
Resolving complex problems with Genetic Programming and Swarm intelligence algorithms
Programming Quantum Computers
Exploring the mathematical world of fractals
Simulating complex systems by Cellular Automata
Understanding the basics of DNA computation

Who This Book Is For
This book is for all science enthusiasts, in particular who want to understand what are the links between computer sciences and natural systems. Interested readers should have good skills in math and python programming along with some basic knowledge of physics and biology. . Although, some knowledge of the topics covered in the book will be helpful, it is not essential to have worked with the tools covered in the book.

Table of Contents
Neural Networks
Deep Learning
Genetic Programming
Swarm Intelligence
Cellular Automata
Fractals
Quantum Computing
DNA Computing

About the Author
Giancarlo Zaccone has over ten years of experience in managing research projects in scientific and industrial areas.
He is a Software and Systems Engineer Consultant at European Space Agency (ESTEC).
Giancarlo holds a master’s degree in Physics and an advanced master’s degree in Scientific Computing at La Sapienza of Rome.

His LinkedIn Profile: https://www.linkedin.com/in/giancarlozaccone/

Language
English
ISBN
9789388511612
Cover
Natural Computing with Python
Copyright
About the Author
Preface
acknowledgement
Errata
Table of Contents
1. Neural Networks
Introduction
Structure
Perceptron
Developing logic gates by perceptron
Activation functions
Linear and non-linear models
Step function
Sigmoid function
ReLU function
Sigmoid neuron
How neural networks learn
Neural network architecture
Supervised learning
Gradient descent
MLP Python implementation
Feedforward step
Backpropagation
TensorFlow
Installation
Flow graph
Placeholders
Logistic regression
MNIST dataset
Flow graph definition
Training
Evaluation
Conclusion
Sitography
Python
Neural networks
Machine learning
TensorFlow
2. Deep Learning
Structure
What is deep learning?
Keras deep learning framework
Keras tutorial
Convolutional Neural Networks (CNNs)
Convolution layers
Pooling layers
ReLU layers
Fully connected layers
Upsampling layers
Loss layers
CNN implementation
Recurrent Neural Networks (RNNs)
Long Short-Term Memory (LSTM)
Sentiment Analysis for IMDB movie review
Autoencoders
Why copy input to output?
Use of autoencoders
Developing autoencoders
Reinforcement learning
Application areas
Elements of reinforcement learning
Q-learning
Solving the CartPole problem
Conclusion
Sitography
Deep learning
CNNs
RNNs
Autoencoders
Reinforcement learning
Keras
3. Genetic Algorithms and Programming
Structure
Evolution and algorithms
Optimization problems
Basic terminology
Genetic algorithms
Population
Fitness
Genetic operators
Python implementation
Travelling salesman problem (TSP)
Genetic programming
Terminal set and function set
Genetic operations
Symbolic regression problem using gplearn .110
Conclusion
Sitography
Genetic algorithms
Genetic programming
Python frameworks
4. Swarm Intelligence
Introduction
Structure
Mechanisms underlying collective behavior
Pheromones
Stigmergy
Stigmergy and collective behaviour
Ant colony optimisation (ACO)
ACO implementation
Particle swarm optimization
PSO implementation
SwarmPackagePy framework
Requirements
Installation
Artificial Bee Algorithm
Method invocation
Example
Conclusion
Sitography
Swarm intelligence
TSP problem
Particle swarm optimization
Ant Colony Optimization
SwarmPackagePy frameworks
5. Cellular Automata
Introduction
Structure
Background history
Automata
Turing machines
Cellular automata
Sierpiński triangle
Game of Life
Langton’s ant
Wolfram’s cellular automata
Implementation
CellPyLib
Rule 110
Reversibility and entropy
Sitography
Cellular automata
Turing machines
Game of Life
Langton’s ant
Wolfram automata
6. Fractals
Introduction
Structure
What are fractals?
Self-similarity
Fine structure
Fractional dimensions
Recursion
Python and recursion
Fractal dimension
Cantor set
Sierpinski’s fractals
Complex numbers
Python and complex numbers
Mandelbrot set
Fractals and nature
LS-Systems
Conclusion
Sitography
Fractals
Mandelbrot
Fractals and nature
7. Quantum Computing
Introduction
Structure
Quantum computers
Qubits
Quantum gates
Quantum programming
Qiskit
Programming workflow
Building a quantum circuit
Executing the quantum model
QASM backend
Quantum circuits
Quantum gates
X gate
H gate
Running Qiskit on IBM Q devices
Create a free IBM Q account to get an API token
Running on IBM Q devices
Applications of quantum computing
Conclusion
Sitography
Quantum mechanics
Quantum computing
Quantum programming
Quantum computers
Python frameworks
8. DNA Computing
Introduction
Structure
The idea behind DNA computing
DNA fundamentals
Basics of DNA computing
How to manipulate DNA
Phases of DNA algorithms
Adleman model for DNA computing
Adleman’s biological approach
Python simulation of Adleman’s experiment
Conclusion
Sitography
DNA computing
Adleman’s experiment
Python frameworks
Index
The book hasn't received reviews yet.