Natural Computing with Python
139 pages
English

Vous pourrez modifier la taille du texte de cet ouvrage

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Natural Computing with Python , livre ebook

-

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
139 pages
English

Vous pourrez modifier la taille du texte de cet ouvrage

Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

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 will you 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 computationWho 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 contents1. Neural Networks2. Deep Learning3. Genetic Algorithms and Programming4. Swarm Intelligence5. Cellular Automata6. Fractals7. Quantum Computing8. DNA ComputingAbout the authorGiancarlo 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. Her LinkedIn Profile: https://www.linkedin.com/in/giancarlozaccone/

Sujets

Informations

Publié par
Date de parution 20 septembre 2019
Nombre de lectures 1
EAN13 9789389328134
Langue English
Poids de l'ouvrage 7 Mo

Informations légales : prix de location à la page 0,0600€. Cette information est donnée uniquement à titre indicatif conformément à la législation en vigueur.

Extrait

Natural Computing with Python
Learn to implement genetic and evolutionary algorithms to solve problems in a pythonic way
by Giancarlo Zaccone
FIRST EDITION 2019
Copyright © BPB Publications, India
ISBN: 978-93-88511-612
All Rights Reserved. No part of this publication may be reproduced or distributed in any form or by any means or stored in a database or retrieval system, without the prior written permission of the publisher with the exception to the program listings which may be entered, stored and executed in a computer system, but they can not be reproduced by the means of publication.
LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY
The information contained in this book is true to correct and the best of author’s & publisher’s knowledge. The author has made every effort to ensure the accuracy of these publications, but cannot be held responsible for any loss or damage arising from any information in this book.
All trademarks referred to in the book are acknowledged as properties of their respective owners.
 
Distributors:
BPB PUBLICATIONS 20, Ansari Road, Darya Ganj New Delhi-110002 Ph: 23254990/23254991
MICRO MEDIA Shop No. 5, Mahendra Chambers, 150 DN Rd. Next to Capital Cinema, V.T. (C.S.T.) Station, MUMBAI-400 001 Ph: 22078296/22078297
DECCAN AGENCIES 4-3-329, Bank Street, Hyderabad-500195 Ph: 24756967/24756400
BPB BOOK CENTRE 376 Old Lajpat Rai Market, Delhi-110006 Ph: 23861747
 
 
Published by Manish Jain for BPB Publications, 20, Ansari Road, Darya Ganj, New Delhi-110002 and Printed by Repro India Pvt Ltd, Mumbai
About the Author
Giancarlo Zaccone has over ten years of experience in managing reserch projects in scientific and industrial areas.
He is software and system engineer consultant at European Space Agency (ESTEC).
Giancarlo holds a master degree in Physics and an advanced master degree in Scientic Computing at La Sapienza of Rome.
Preface
Natural Computing is the field of research inspired by the nature, which 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 covers the main topics of this important research field.
Chapter 1 introduces to Neural Networks and the back propagation procedure that regulates learning mechanisms. It ends with the description of the TensorFlow framework with an application example.
Chapter 2 describes the Deep Learning architectures: CNN, RNN and Autoencoders using the Keras tool. The last part of the chapter is dedicated to Reinforcement Learning using the OpenAI tool.
Chapter 3 introduces to Genetic Algorithms whose foundations are inspired by natural evolution. The chapter shows how to develop a genetic algorithm for solving the traveling salesman problem and how to use the gplearn tool to solve complex mathematical problems.
Chapter 4 implements main Swarm Intelligence techniques: Ant Colony and Particle Swarm Optimization. In the last part of the chapter, the SwarmPackagePy framework is described with which the Artificial Bee Algorithm is implemented .
Chapter 5 describes Cellular Automata. They provide a mathematical tool useful for solving physical problems that are too complex to deal with using traditional mathematical techniques. The most important cellular automata, as Game of Life, Langton’s ant and Worlfram automata are implemented here.
Chapter 6 offers a description of Fractals and their incredible mathematical world. It is full of programming examples in which some of the most well-known fractals are examined, such as the Cantor Set and the Mandelbro Set and the connection between fractals and nature, which are IFS and LS systems.
Chapter 7 introduces Quantum Computing. The main quantum algorithms are described, and it is shown how to develop a quantum program with the QiSkit tool that runs on a real quantum computing platform, namely the IBM Q Machine.
Chapter 8 describes the main features of DNA Computing. The chapter ends with a Python simulation of the Adleman experiment that showed for the first time the possibility of performing computations at the molecular level.
Acknowledgements
A special thanks to physicists, mathematicians, biologists and computer scientists whose ideas have allowed this book to be born.
Many thanks to the fantastic BPB team and in particular to Vinay Argekar whose support was of fundamental importance.
Thanks to my family, specially to my brother Michele .... GRAZIE DI TUTTO!
Downloading the code bundle and colored images:
 
Please follow the link to download the Code Bundle and the Colored Images of the book:
https://rebrand.ly/9715a
 
 
Errata
We take immense pride in our work at BPB Publications and follow best practices to ensure the accuracy of our content to provide with an indulging reading experience to our subscribers. Our readers are our mirrors, and we use their inputs to reflect and improve upon human errors if any, occurred during the publishing processes involved. To let us maintain the quality and help us reach out to any readers who might be having difficulties due to any unforeseen errors, please write to us at :
errata@bpbonline.com
Your support, suggestions and feedbacks are highly appreciated by the BPB Publications’ Family.
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
C HEPTER 1
Neural Networks

Introduction
The history of the Neural Networks has its origins in the years the idea of neural networks learning. Between 1957 and 1958, however, Rosenblatt proposed the first true modern neural network scheme , that is, the perceptron able to recognize shapes and associate configurations.
The perceptron (described in the Perceptron section) exceeds the limitations of the binary structure proposed by McCulloch and Pitts , because it is equipped with variable synaptic weights, which are then able to learn.
Until the 1970s–80s, which is until the advent of modern computers, neural networks fell into the general disinterest of the scientific community,

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents