Natural Computing with Python
eBook - ePub

Natural Computing with Python

Learn to implement genetic and evolutionary algorithms to solve problems in a pythonic way

Giancarlo Zaccone

  1. English
  2. ePUB (disponibile sull'app)
  3. Disponibile su iOS e Android
eBook - ePub

Natural Computing with Python

Learn to implement genetic and evolutionary algorithms to solve problems in a pythonic way

Giancarlo Zaccone

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

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/

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
Natural Computing with Python è disponibile online in formato PDF/ePub?
Sì, puoi accedere a Natural Computing with Python di Giancarlo Zaccone in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Informatik e Neuronale Netzwerke. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Anno
2019
ISBN
9789388511612

CHEPTER 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, which recalls contact with the work of Werbos in 1974, which describes the mathematical bases for the training of multi-layer neural networks.
The most modern neural network structure is reached in 1986, when Rumelhart, Hilton, and Williams described the training algorithm for backpropagation of the error (introduced in MLP Python implementation section), thanks to which it is possible to modify the weights of the neuronal connections in a systematic way, as long as the response of the network does not become the same—or as close as possible—to the desired one.
A neural network actually presents itself as an “adaptive” system capable of modifying its structure (nodes and interconnections) based both on external data and internal information that connects and passes through the neural network during the learning phase and reasoning.
For this purpose, at the end of the chapter, the TensorFlow software library for machine learning is introduced, which provides tested and optimized modules useful in the implementation of algorithms for different types of tasks from language processing to image recognition.

Structure

  • Perceptron
    • Developing logic gates by perceptron
  • Activation functions
    • Linear and non-linear models
    • Sigmoid neuron
  • How neural networks learn
  • Neural network architecture
  • Supervised learning
    • Gradient descent
  • MLP Python implementation
  • TensorFlow
    • Logistic regression
  • Conclusion
  • Sitography
NOTE: The examples presented in this book were made for a Python 3.x version. However, as a matter of compatibility with all the examples that will be described in the following chapters, it is recommended to use Python 3.5.2 version, downloadable at the following link: https://www.python.org/downloads/release/python-352/

Biological neuron

Biological neurons are electrically active cells, and the human brain contains about 1011 neurons. They exist in different forms, although most of them have the shape shown in Figure 1.1. The main cell body is the soma; the dendrites represent the inputs of the neuron and the axon represents its output. Communication between neurons occurs at the junctions, called synapses.
Each neuron is typically connected to a thousand other neurons and, consequently, the number of synapses in the brain exceeds 1014. Each neuron can be found mainly in 2 states: active or rest. When the neuron is activated, it produces an action potential (electrical impulse) that is transported along the axon. Once the signal reaches the synapse, it causes the release of chemicals (neurotransmitters) that cross the junction and enter the body of other neurons.
Depending on the type of synapses, which can be exciters or inhibitors, these substances increase or decrease respectively the probability that the next neuron becomes active. At each synapse, a weight is associated which determines the type and extent of the exciter or inhibitor effect. Following is the diagram of a biological neuron:
Figure 1.1 : Biological neuron representation
So, in a nutshell, each neuron makes a weighted sum of the inputs coming from the other neurons and, if this sum exceeds a certain threshold, the neuron is activated.
Each neuron, operating at a time of millisecond, represents a relatively slow processing system; however, the entire network has a very large number of neurons and synapses that can operate in parallel and simultaneously, making the actual proce...

Indice dei contenuti

  1. Cover
  2. Natural Computing with Python
  3. Copyright
  4. About the Author
  5. Preface
  6. acknowledgement
  7. Errata
  8. Table of Contents
  9. 1. Neural Networks
  10. 2. Deep Learning
  11. 3. Genetic Algorithms and Programming
  12. 4. Swarm Intelligence
  13. 5. Cellular Automata
  14. 6. Fractals
  15. 7. Quantum Computing
  16. 8. DNA Computing
  17. Index
Stili delle citazioni per Natural Computing with Python

APA 6 Citation

Zaccone, G. (2020). Natural Computing with Python ([edition unavailable]). BPB Publications. Retrieved from https://www.perlego.com/book/1681441/natural-computing-with-python-learn-to-implement-genetic-and-evolutionary-algorithms-to-solve-problems-in-a-pythonic-way-pdf (Original work published 2020)

Chicago Citation

Zaccone, Giancarlo. (2020) 2020. Natural Computing with Python. [Edition unavailable]. BPB Publications. https://www.perlego.com/book/1681441/natural-computing-with-python-learn-to-implement-genetic-and-evolutionary-algorithms-to-solve-problems-in-a-pythonic-way-pdf.

Harvard Citation

Zaccone, G. (2020) Natural Computing with Python. [edition unavailable]. BPB Publications. Available at: https://www.perlego.com/book/1681441/natural-computing-with-python-learn-to-implement-genetic-and-evolutionary-algorithms-to-solve-problems-in-a-pythonic-way-pdf (Accessed: 14 October 2022).

MLA 7 Citation

Zaccone, Giancarlo. Natural Computing with Python. [edition unavailable]. BPB Publications, 2020. Web. 14 Oct. 2022.