Simulated annealing is used in global optimization and can give a reasonable approximation of a global optimum for a function with a large search space. 2 Simulated Annealingīorrowing the metallurgical term, this technique converges to a solution in the same way metals are brought to minimum energy configurations by increasing grain size. This method solves the problem of local search methods when the search is stuck in suboptimal regions or in areas when there are multiple equally fit solutions. The search creates a set of rules dynamically and prevents the system from searching around the same area redundantly by marking rule violating solutions as “tabu” or forbidden. It examines potential solutions to a problem and checks immediate local neighbors to find an improved solution.
This heuristic technique uses dynamically generated tabus to guide the solution search to optimum solutions. Each of the previous algorithms was inspired by the natural, self-organized behavior of animals. Specific algorithms for this class of system include the particle swarm optimization algorithm, the ant colony optimization algorithm, and artificial bee colony algorithm.
Swarm intelligence refers to the collective behavior of decentralized systems and can be used to describe both natural and artificial systems. Swarm Intelligence systems employ large numbers of agents interacting locally with one another and the environment. The following are well-known examples of “intelligent” algorithms that use clever simplifications and methods to solve computationally complex problems.
The following figure describes the algorithm AC-3 (in the context of map-coloring problem) and also shows the pseudocode for the algorithm that will be used for ensuring the arc-consistency: As can be seen, very few of the puzzles can be solved by using this algorithm alone, as expected. This algorithm will propagate the constraints and reduce the domain size of the variables by ensuring all possible (future) assignments consistent. Each variable is named by its row and its column, and must be assigned a value from 1 to 9, subject to the constraint that no two cells in the same row, column, or box may contain the same value.įirst, the AC-3 ( arc-consistency checking) algorithm will be implemented. Let’s consider the Sudoku puzzle as pictured below. The following description of the problem is taken from the course: I. The objective of the game is just to fill a 9 x 9 grid with numerical digits so that each column, each row, and each of the nine 3 x 3 sub-grids (also called boxes) contains one of all of the digits 1 through 9. The AC-3 and backtracking (with MRV heuristic) algorithms will be implemented to solve Sudoku puzzles. In this assignment the focus will be on constraint satisfaction problems ( CSP). This problem appeared as a project in the edX course ColumbiaX: CSMM.101x Artificial Intelligence (AI).