Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Artificial Intelligence with Python

You're reading from   Artificial Intelligence with Python Your complete guide to building intelligent apps using Python 3.x

Arrow left icon
Product type Paperback
Published in Jan 2020
Publisher Packt
ISBN-13 9781839219535
Length 618 pages
Edition 2nd Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Prateek Joshi Prateek Joshi
Author Profile Icon Prateek Joshi
Prateek Joshi
Alberto Artasanchez Alberto Artasanchez
Author Profile Icon Alberto Artasanchez
Alberto Artasanchez
Arrow right icon
View More author details
Toc

Table of Contents (26) Chapters Close

Preface 1. Introduction to Artificial Intelligence 2. Fundamental Use Cases for Artificial Intelligence FREE CHAPTER 3. Machine Learning Pipelines 4. Feature Selection and Feature Engineering 5. Classification and Regression Using Supervised Learning 6. Predictive Analytics with Ensemble Learning 7. Detecting Patterns with Unsupervised Learning 8. Building Recommender Systems 9. Logic Programming 10. Heuristic Search Techniques 11. Genetic Algorithms and Genetic Programming 12. Artificial Intelligence on the Cloud 13. Building Games with Artificial Intelligence 14. Building a Speech Recognizer 15. Natural Language Processing 16. Chatbots 17. Sequential Data and Time Series Analysis 18. Image Recognition 19. Neural Networks 20. Deep Learning with Convolutional Neural Networks 21. Recurrent Neural Networks and Other Deep Learning Models 22. Creating Intelligent Agents with Reinforcement Learning 23. Artificial Intelligence and Big Data 24. Other Books You May Enjoy
25. Index

Building a maze solver

Let's use the A* algorithm to solve a maze. Consider the following figure:

Figure 12: Example of a maze problem

The # symbols indicate obstacles. The symbol o represents the starting point, and x represents the goal. The goal is to find the shortest path from the start to the end point. Let's see how to do it in Python. The following solution is a variant of the solution provided in the simpleai library. Create a new Python file and import the following packages:

import math
from simpleai.search import SearchProblem, astar

Create a class that contains the methods needed to solve the problem:

# Class containing the methods to solve the maze 
class MazeSolver(SearchProblem):

Define the initializer method:

    # Initialize the class
    def __init__(self, board):
        self.board = board
        self.goal = (0, 0)

Extract the initial and final positions:

        for y in range(len(self.board)):
 ...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image