We may earn an affiliate commission when you visit our partners.
Sebastian Thrun, Thad Starner, and Peter Norvig
Learn classical graph search algorithms--including uninformed search techniques like breadth-first and depth-first search and informed search with heuristics including A*. These algorithms are at the heart of many classical AI techniques, and have been used...
Read more
Learn classical graph search algorithms--including uninformed search techniques like breadth-first and depth-first search and informed search with heuristics including A*. These algorithms are at the heart of many classical AI techniques, and have been used for planning, optimization, problem solving, and more. Complete the lesson by teaching PacMan to search with these techniques to solve increasingly complex domains.

What's inside

Syllabus

Peter Norvig, co-author of _Artificial Intelligence: A Modern Approach_, explains a framework for search problems, and introduces uninformed & informed search strategies to solve them.
Read more
Peter introduces uninformed search strategies—which can only solve problems by generating successor states and distinguishing between goal and non-goal states.
Peter introduces informed search strategies, which means that they use problem-specific knowledge to find solutions more efficiently than an uninformed search.
Complete a practice exercise where you'll implement informed and uninformed search strategies for the game PacMan.
References to additional readings on search.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches classical graph search algorithms, which are at the heart of many classical AI techniques and have been used for planning, optimization, problem solving, and more
Taught by Peter Norvig, co-author of _Artificial Intelligence: A Modern Approach_, Thad Starner, and Sebastian Thrun, who are recognized for their work in the topic that the course teaches
Includes hands-on practice exercises where learners will implement informed and uninformed search strategies for the game PacMan
Takes a creative approach to an otherwise established topic, field, or subject by teaching classical graph search algorithms through the lens of a game
Explicitly requires that learners come in with extensive background knowledge first

Save this course

Save Classical Search to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Classical Search with these activities:
Review Breadth-First Search
Refresh your understanding of breadth-first search, a fundamental graph search technique, to establish a solid foundation for the upcoming course content.
Browse courses on Breadth-First Search
Show steps
  • Review lecture notes or online resources on breadth-first search
  • Solve practice problems involving breadth-first search
Artificial Intelligence Fundamentals
Review basic concepts and techniques in artificial intelligence, including problem formulation, knowledge representation, and search strategies, to enhance your understanding of graph search algorithms in their broader context.
Browse courses on Artificial Intelligence
Show steps
  • Revisit the course textbook or online materials on AI fundamentals
  • Complete short quizzes or exercises to test your understanding
Connect with AI Experts
Seek guidance from experienced professionals in the field of artificial intelligence to gain insights and perspectives on graph search algorithms and their applications.
Show steps
  • Attend industry events or online forums
  • Reach out to professors or researchers in AI
Four other activities
Expand to see all activities and additional details
Show all seven activities
Interactive Algorithm Visualization
Explore interactive visualizations to enhance your understanding of graph search algorithms like breadth-first, depth-first, and A* search.
Browse courses on Algorithm Visualization
Show steps
  • Visit the Algorithm Visualization website
  • Select the 'Graph Search' category and choose an algorithm to visualize
  • Interact with the visualization to observe how the algorithm traverses the graph
  • Adjust parameters to see how they affect the algorithm's behavior
Artificial Intelligence: A Modern Approach
Deepen your understanding of graph search algorithms and their applications by reading a seminal work in artificial intelligence, providing a comprehensive overview and theoretical foundation.
View Melania on Amazon
Show steps
  • Acquire the book through purchase or library loan
  • Read selected chapters relevant to graph search algorithms
  • Work through practice exercises and case studies
LeetCode Graph Search Challenges
Sharpen your problem-solving skills by tackling LeetCode challenges involving graph search algorithms, reinforcing your understanding and preparing you for real-world application.
Show steps
  • Sign up for a LeetCode account
  • Filter LeetCode problems by the 'Graph' topic
  • Solve problems of varying difficulty levels
Search Algorithm Simulation
Develop a simulation that compares the performance of different graph search algorithms on various problem instances, enabling you to analyze their strengths and weaknesses.
Browse courses on Algorithm Analysis
Show steps
  • Design the simulation environment and data structures
  • Implement the graph search algorithms to be compared
  • Generate test cases to evaluate the algorithms
  • Visualize the simulation results to identify patterns and insights

Career center

Learners who complete Classical Search will develop knowledge and skills that may be useful to these careers:
AI Researcher
AI Researchers develop new and innovative AI techniques and algorithms. They work in a variety of settings, including academia, industry, and government. AI Researchers typically have a PhD degree in computer science or a related field. This course may be helpful for aspiring AI Researchers, as it will help them learn basic search algorithms and how to use them to develop more powerful and efficient AI systems.
Machine Learning Engineer
Machine Learning Engineers develop and implement machine learning models. They work in a variety of industries, including finance, healthcare, and retail. Machine Learning Engineers typically have a bachelor's or master's degree in computer science or a related field. This course may be helpful for aspiring Machine Learning Engineers, as it will help them learn basic search algorithms and how to use them to develop more accurate and efficient machine learning models.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical techniques to solve problems in the financial industry. They work with a team of traders and portfolio managers to develop investment strategies. Quantitative Analysts typically have a bachelor's or master's degree in mathematics, statistics, or a related field. This course may be helpful for aspiring Quantitative Analysts, as it will help them learn basic search algorithms and how to use them to develop more accurate and efficient trading strategies.
Computer Scientist
Computer Scientists design, develop, and analyze computer systems. They work in a variety of industries, including finance, healthcare, and retail. Computer Scientists typically have a bachelor's or master's degree in computer science or a related field. This course may be helpful for aspiring Computer Scientists, as it will help them learn basic search algorithms and how to use them to create more efficient and effective computer systems.
Game Programmer
Game Programmers design and develop video games. They work with a team of artists, designers, and engineers to create games that are fun and engaging. Game Programmers typically have a bachelor's degree in computer science or a related field. This course may be helpful for aspiring Game Programmers, as it will help them learn basic search algorithms and how to use them to create more complex and challenging games.
Data Analyst
Data Analysts use data to identify trends and patterns. They work in a variety of industries, including finance, healthcare, and retail. Data Analysts typically have a bachelor's degree in statistics, computer science, or a related field. This course may be helpful for aspiring Data Analysts, as it will help them learn basic search algorithms and how to use them to identify trends and patterns in data.
Software Engineer
Software Engineers design, develop, and maintain software applications. They work in a variety of industries, including finance, healthcare, and retail. Software Engineers typically have a bachelor's degree in computer science or a related field. This course may be helpful for aspiring Software Engineers, as it will help them learn basic search algorithms and how to use them to create more efficient and effective software.
Web Developer
Web Developers design and develop websites. They work with a team of designers and engineers to create websites that are visually appealing, functional, and easy to use. Web Developers typically have a bachelor's degree in computer science or a related field. This course may be helpful for aspiring Web Developers, as it will help them learn basic search algorithms and how to use them to create more efficient and effective websites.
Data Scientist
Data Scientists use data to solve problems and make decisions. They work in a variety of industries, including finance, healthcare, and retail. Data Scientists typically have a master's or PhD degree in a field such as statistics, computer science, or operations research. This course may be helpful for aspiring Data Scientists, as it will help them learn basic search algorithms and how to use them to solve real-world problems.
Robotics Engineer
Robotics Engineers design and develop robots. They work with a team of engineers and scientists to create robots that can perform a variety of tasks, such as manufacturing, healthcare, and space exploration. Robotics Engineers typically have a bachelor's or master's degree in robotics, mechanical engineering, or a related field. This course may be helpful for aspiring Robotics Engineers, as it will help them learn basic search algorithms and how to use them to create more intelligent and autonomous robots.
Software Development Manager
Software Development Managers oversee the development of software applications. They work with a team of engineers to plan, design, and implement software systems. Software Development Managers typically have a bachelor's or master's degree in computer science or a related field. This course may be helpful for aspiring Software Development Managers, as it will help them learn basic search algorithms and how to use them to create more efficient and effective software development processes.
Systems Engineer
Systems Engineers design and develop complex systems. They work with a team of engineers and scientists to create systems that meet the needs of their customers. Systems Engineers typically have a bachelor's or master's degree in systems engineering or a related field. This course may be helpful for aspiring Systems Engineers, as it will help them learn basic search algorithms and how to use them to create more reliable and efficient systems.
Operations Research Analyst
Operations Research Analysts use mathematical and analytical techniques to solve problems in a variety of industries, including manufacturing, transportation, and healthcare. Operations Research Analysts typically have a master's or PhD degree in operations research, industrial engineering, or a related field. This course may be helpful for aspiring Operations Research Analysts, as it will help them learn basic search algorithms and how to use them to solve complex problems.
Product Manager
Product Managers develop and manage products. They work with a team of engineers, designers, and marketers to create products that meet the needs of their customers. Product Managers typically have a bachelor's or master's degree in business administration or a related field. This course may be helpful for aspiring Product Managers, as it will help them learn basic search algorithms and how to use them to identify and develop new products.
AI Engineer
An AI Engineer designs and develops artificial intelligence systems. These systems can be used for a variety of tasks, including automating tasks, improving decision-making, and even creating new products and services. While a bachelor's degree in computer science or a related field is a common requirement, some AI Engineer roles may also seek candidates with master's or PhD degrees. This course may be helpful for aspiring AI Engineers, as it will help them gain a foundational understanding of search algorithms and AI techniques.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Classical Search.
Provides a comprehensive overview of search engine technology, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about how search engines work.
Provides a comprehensive overview of the foundations of artificial intelligence, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about the theoretical foundations of AI.
Provides a comprehensive introduction to artificial intelligence, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about AI.
Provides a comprehensive introduction to machine learning, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about this topic.
Provides a comprehensive introduction to data mining, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about this topic.
Provides a comprehensive introduction to information retrieval, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about this topic.
Provides a comprehensive overview of automated planning, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about this topic.
Provides a comprehensive overview of constraint satisfaction problems and constraint programming, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about this topic.
Provides a comprehensive overview of graph algorithms, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about this topic.
Provides a comprehensive overview of combinatorial optimization, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about this topic.
Provides a comprehensive overview of algorithms and theory of computation, including a discussion of search algorithms. It valuable resource for anyone interested in learning more about this topic.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Classical Search.
计算几何 | Computational Geometry
Cloud Computing Concepts, Part 1
(Optional) Optimization Problems
Cloud Computing Concepts: Part 2
Data Structures & Algorithms IV: Pattern Matching,...
Advanced Algorithms (Graph Algorithms) in Java
Artificial Intelligence
AI Mastery: From Search Algorithms to Advanced Strategies
Algorithms and Data Structures in Python (INTERVIEW Q&A)
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser