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 Learn
Who This Book Is For
- 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
Hobbyists, 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.
Chapter 1 title: Introduction to Artificial Intelligence Explain what AI is and is not. Establish why it is important and how it may be used What is the state of AI today and how is it developing? Chapter 2 title: Basic AI Concepts What is inference? Introduce the concept of the expert system What is machine learning? Detail the various branches of ML. Is fuzzy logic really fuzzy? Explain how it is used in real-world control situations Chapter 3 title: The Raspberry Pi and an Expert System Introduce the Prolog language Demonstrate a simple expert system running on the Raspberry Pi with Prolog Simple Q&A demonstration using an expert system Chapter 4 title: Some Simple AI Games Introduce the Python language to implement several games demonstrating AI behavior Paper, rock, scissors Nim (or sometimes referred to as pepple pickup) The "wave" demonstrating emergent behavior "Tic-Tac-Toe" and an expert system Chapter 5 title: Fuzzy Logic Control Project Use Prolog to create FL sets Integrate expert system knowledge into the FL control algorithms Demonstrate FL control using a Raspberry Pi with a light sensor and LED indicators Chapter 6 title: Machine Learning - Shallow Explore shallow learning Simple demonstration about learning a favorite color Naive Bayesian decisions and decision trees Chapter 7 title: Machine Learning - Deep with Neural Networks Explore deep learning Simple two-layer neural network Neural network demonstration using Python
Chapter 8 title: Machine Learning - Deep with Genetic Algorithms Explore how to create a genetic algorithm Implement a "longest-path" algorithm for a virtual robot Demonstrate the algorithm using a Raspberry Pi controlled "Boe-bot" robotic car
Chapter 9 title: Computer Vision What is computer vision and how is it related to AI? Introduction to the Wolfram Language (WL) and Mathematica as run on the Raspberry Pi Several CV demonstrations using WL/Mathematica using the PiCamera as well raw image data from the Wolfram Research servers
Chapter 10 title: Subsumption What is subsumption? Explanation of a virtual subsumption robotic model An actual subsumption demonstration using the Boe-bot robot from chapter 8.