• Online, Self-Paced
Course Description

Search algorithms provide solutions for many problems, but they aren't always the optimal solution. This course will show you how constraint satisfaction algorithms are better than search algorithms in some cases, and how to use them.

Learning Objectives

Introducing CSPs

  • start the course
  • define constraint satisfaction problems and describe how they are different from search problems
  • list some examples of problems that are better for constraint satisfaction algorithms than search algorithms

Solving CSPs

  • describe how to use a backtracking search to solve a constraint satisfaction problem
  • describe how to order variables when performing a backtracking search
  • describe arc consistency and other types of constraint consistency in a constraint satisfaction problem
  • describe how to use arc consistency to solve a constraint satisfaction problem with constraint propagation
  • describe how to use the backjumping and forward checking inference method in a backtracking search
  • describe how local search algorithms can be used to solve constraint satisfaction problems
  • describe how to represent a Sudoku puzzle and how to solve it as a constraint satisfaction problem

Practice: Constraint Satisfaction Problems

  • build a full high-level representation and solution for a constraint satisfaction problem

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.

Feedback

If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.