Beginning Artificial Intelligence with the Raspberry Pi (eBook)
XXI, 369 Seiten
Apress (Verlag)
978-1-4842-2743-5 (ISBN)
- What AI is and-as importantly-what it is not
- Inference and expert systems
- Machine learning both shallow and deep
- Fuzzy logic and how to apply to an actual control system
- When AI might be appropriate to include in a system
- Constraints and limitations of the Raspberry Pi AI implementation
Donald J. Norris has a degree in electrical engineering and an MBA specializing in production management. He teaches undergrad and grad courses in the IT subject area at Southern New Hampshire University. He also created and teaches several robotics courses there. He has over 36 years of teaching experience as an adjunct professor at a variety of colleges and universities. Mr. Norris retired from civilian government service with the U.S. Navy, where he specialized in acoustics related to nuclear submarines and associated advanced digital signal processing. Since then, he has spent more than 22 years as a professional software developer using C, C#, C++, Python, Node.js and Java, as well as 5 years as a certified IT security consultant. Mr. Norris started a consultancy, Norris Embedded Software Solutions (dba NESS LLC), that specializes in developing application solutions using microprocessors and microcontrollers. He likes to think of himself as a perpetual hobbyist and geek and is always trying out new approaches and out-of-the-box experiments. He is a licensed private pilot, photography buff, amateur radio operator, and avid runner.
Gain a gentle introduction to the world of Artificial Intelligence (AI) using the Raspberry Pi as the computing platform. Most of the major AI topics will be explored, including expert systems, machine learning both shallow and deep, fuzzy logic control, and more!AI in action will be demonstrated using the Python language on the Raspberry Pi. The Prolog language will also be introduced and used to demonstrate fundamental AI concepts. In addition, the Wolfram language will be used as part of the deep machine learning demonstrations.A series of projects will walk you through how to implement AI concepts with the Raspberry Pi. Minimal expense is needed for the projects as only a few sensors and actuators will be required. Beginners and hobbyists can jump right in to creating AI projects with the Raspberry PI using this book.What You'll LearnWhat AI is and-as importantly-what it is notInference and expert systemsMachine learning both shallow and deepFuzzy logic and how to apply to an actual control systemWhen AI might be appropriate to include in a systemConstraints and limitations of the Raspberry Pi AI implementationWho This Book Is ForHobbyists, makers, engineers involved in designing autonomous systems and wanting to gain an education in fundamental AI concepts, and non-technical readers who want to understand what AI is and how it might affect their lives.
Donald J. Norris has a degree in electrical engineering and an MBA specializing in production management. He teaches undergrad and grad courses in the IT subject area at Southern New Hampshire University. He also created and teaches several robotics courses there. He has over 36 years of teaching experience as an adjunct professor at a variety of colleges and universities. Mr. Norris retired from civilian government service with the U.S. Navy, where he specialized in acoustics related to nuclear submarines and associated advanced digital signal processing. Since then, he has spent more than 22 years as a professional software developer using C, C#, C++, Python, Node.js and Java, as well as 5 years as a certified IT security consultant. Mr. Norris started a consultancy, Norris Embedded Software Solutions (dba NESS LLC), that specializes in developing application solutions using microprocessors and microcontrollers. He likes to think of himself as a perpetual hobbyist and geek and is always trying out new approaches and out-of-the-box experiments. He is a licensed private pilot, photography buff, amateur radio operator, and avid runner.
Contents at a Glance 5
Contents 6
About the Author 13
About the Technical Reviewer 14
Preface 15
Chapter 1: Introduction to Artificial Intelligence 18
AI Historical Origins 18
Intelligence 24
Strong AI vs. Weak AI, Broad AI vs. Narrow AI 26
Reasoning 27
AI Categories 28
AI and Big Data 30
Summary 32
Chapter 2: Basic AI Concepts 33
Boolean Algebra 33
Some Additional Boolean Laws 35
Inference 35
Expert Systems 36
Conflict Resolution 37
Backward Chaining 38
Raspberry Pi Configuration 39
Introduction to SWI Prolog 39
Installing Prolog on a Raspberry Pi 40
Initial Prolog Demonstration 41
Introduction to Fuzzy Logic 43
Example of FL 43
Defuzzification 45
Problem Solving 45
Breadth-First Search 46
Depth-First Search 46
Depth-Limited Search 46
Bidirectional Search 47
Other Problem-Solving Examples 47
Machine Learning 47
Prediction 48
Classification 49
Further Classification 53
Neural Networks 55
Shallow Learning vs. Deep Learning 62
Evolutionary Computing 62
Genetic Algorithms 63
Summary 64
Chapter 3: Expert System Demonstrations 65
Demo 3-1: Office Database 66
Demo 3-2: Animal Identification 73
Demo 3-3: tic-tac-toe 78
Demo 3-4: Cold or Flu Diagnosis 83
Demo 3-5: Expert System with Raspberry Pi GPIO Control 87
Installing PySWIP 87
Hardware Setup 88
Rpi.GPIO Setup 90
Expert System with LED Control 91
Summary 92
Chapter 4: Games 93
Demo 4-1: Rock-Paper-Scissors 94
Rock-Paper-Scissors Game with Switches and LEDs 98
Interrupts 102
Demo 4-2: Nim 105
Nim with LCD and Switches 113
LCD Display 116
Loading the Adafruit LCD Library 117
LCD Test 119
automated_nim.py 119
Summary 126
Chapter 5: Fuzzy Logic System 127
Parts List 127
Software Installation 127
Basic FLS 128
Initialization: Define Linguistic Variables and Terms 129
Demo 5-1: Using FL to Calculate a Tip 129
Initialization: Construct Membership Functions 130
Membership Function Visualization 133
Initialization: Build Rule Set 134
Inference: Evaluate Fuzzy Set According to Rule Set 136
Aggregation: Combine Results from Each Rule Evaluation 139
Defuzzification: Convert Fuzzy Set to Crisp Output Values 139
Demo 5-2: Modifications to the tipping.py Program 147
Demo 5-3: FLS Heating and Cooling System 148
Fuzzification 151
Inference 152
Aggregation 153
Defuzzification 153
Testing the Control Program 155
Demo 5-4: Modifications to the HVAC Program 157
Summary 159
Chapter 6: Machine Learning 160
Parts List 160
Demo 6-1: Color Selection 161
Algorithm 161
Roulette Wheel Algorithm 164
Demo 6-2: Autonomous Robot 166
Autonomous Algorithm 168
Test Run 174
Additional Learning 175
Demo 6-3: Adaptive Learning with an Energy Consumption Consideration 179
Test Run 184
Summary 184
Chapter 7: Machine Learning: Artificial Neural Networks 185
Parts List 185
Hopfield Network 186
Demo 7-1: Numerical Figure Recognition Demonstration 193
Demo 7-2: Autonomous Robot Car Using ANN 200
Demo 7-3: Python Control Script for the Obstacle-Avoiding Robot Car 204
Test Run 209
Demo 7-4: Light-Seeking Robot 209
The Unknowns 212
Brain Mapping 213
Light Intensity Sensor 214
Python Control Script for the Goal-Seeking Robot Car 216
Test Run 221
Obstacle Avoidance and Light Seeking 222
Summary 223
Chapter 8: Machine Learning: Deep Learning 224
Generalized ANN 224
Larger ANN 230
Back Propagation In Three-layer ANNs 234
Updating the Weighting Matrix 236
The Gradient Descent Applied to an ANN 245
Matrix Multiplications for Weight Change Determination 248
Worked-through Example 248
Issues with ANN Learning 250
Initial Weight Selection 250
Demo 8-1: ANN Python Scripts 251
Initialization 252
Test Run 254
Demo 8-2: Training an ANN 256
Test Run 259
Summary 260
Chapter 9: Machine Learning: Practical ANN Demonstrations 261
Parts List 261
Demo 9-1: MNIST Data Set 262
Imaging a MNIST Record 266
Adjusting the Input and Output Data Sets 268
Configuring the ANN for Handwritten Number Detection 271
Test Run 273
Demo 9-2: Handwritten Number Recognition with a Pi Camera 280
Modifying the trainAN.py Script 286
Automated Number Recognition with an ANN 287
Test Run 290
Summary 291
Chapter 10: Evolutionary Computing 292
Alife 292
Evolutionary Programing 293
Demo 10-1: Manual Calculation 294
Python Script 294
Demo 10-2: Conway’s Game of Life 303
Sense HAT Hardware Installation 305
Sense HAT Software Installation 306
Game of Life: Python Version 307
Test Run 316
Single Generation of the Game of Life 318
Summary 323
Chapter 11: Behavior-Based Robotics 324
Parts List 324
Human Brain Structure 325
Subsumption Architecture 327
Traditional Approach 329
Behavior-Based Robotics Approach 329
Demo 11-1: The Breve Project 332
Demo 11-2: Building a Subsumption-Controlled Robot Car 342
Demo 11-3: Alfie Robot Car 346
Adding Another Behavior 354
Test Run 355
Summary 356
Appendix A:Build Instructions for the Alfie Robot Car 357
Robotic Car Power Supply 361
CR Servo Drive Pulse Width Modulation (PWM) 362
Mount Plates 362
Electrical and Wiring Instructions 366
Ping Sensor 368
MCP3008 Analog-to-Digital Converter (ADC) 369
Software Installation 371
Final Thoughts 372
Index 373
Erscheint lt. Verlag | 5.6.2017 |
---|---|
Zusatzinfo | XXI, 369 p. 186 illus., 122 illus. in color. |
Verlagsort | Berkeley |
Sprache | englisch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Theorie / Studium ► Künstliche Intelligenz / Robotik | |
Schlagworte | AI • Artificial Intelligence • computer vision • Fuzzy Logic • Genetic Algorithm • Image Recognition • machine learning • neural network • Raspberry Pi expert system • Subsumtion |
ISBN-10 | 1-4842-2743-3 / 1484227433 |
ISBN-13 | 978-1-4842-2743-5 / 9781484227435 |
Haben Sie eine Frage zum Produkt? |
Größe: 11,9 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich