Concepts inA polynomial time algorithm for the N-Queens problem
Heuristic
Heuristic refers to experience-based techniques for problem solving, learning, and discovery. Where an exhaustive search is impractical, heuristic methods are used to speed up the process of finding a satisfactory solution. Examples of this method include using a rule of thumb, an educated guess, an intuitive judgment, or common sense.
more from Wikipedia
Search algorithm
In computer science, a search algorithm is an algorithm for finding an item with specified properties among a collection of items. The items may be stored individually as records in a database; or may be elements of a search space defined by a mathematical formula or procedure, such as the roots of an equation with integer variables; or a combination of the two, such as the Hamiltonian circuits of a graph.
more from Wikipedia
Algorithm
In mathematics and computer science, an algorithm Listen/ˈælɡərɪðəm/ (originating from al-Khwārizmī, the famous mathematician Muḥammad ibn Mūsā al-Khwārizmī) is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning. More precisely, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function.
more from Wikipedia
Local search (optimization)
In computer science, local search is a metaheuristic method for solving computationally hard optimization problems. Local search can be used on problems that can be formulated as finding a solution maximizing a criterion among a number of candidate solutions. Local search algorithms move from solution to solution in the space of candidate solutions (the search space) by applying local changes, until a solution deemed optimal is found or a time bound is elapsed.
more from Wikipedia
Time complexity
In computer science, the time complexity of an algorithm quantifies the amount of time taken by an algorithm to run as a function of the size of the input to the problem. The time complexity of an algorithm is commonly expressed using big O notation, which suppresses multiplicative constants and lower order terms. When expressed this way, the time complexity is said to be described asymptotically, i.e. , as the input size goes to infinity.
more from Wikipedia
Eight queens puzzle
18pxa b c d e f g h 18px 826pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx8 726pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx7 626pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx6 526pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx5 426pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx4 326pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx3 226pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx2 126pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx26pxpx1 18pxa b c d e f g h 18px One solution to the eight queens puzzle The eight queens puzzle is the problem of placing eight chess queens on an 8×8 chessboard so that no two queens attack each other.
more from Wikipedia
Artificial intelligence
Artificial intelligence (AI) is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success. John McCarthy, who coined the term in 1955, defines it as "the science and engineering of making intelligent machines.
more from Wikipedia
Randomized algorithm
A randomized algorithm is an algorithm which employs a degree of randomness as part of its logic. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performance in the "average case" over all possible choices of random bits. Formally, the algorithm's performance will be a random variable determined by the random bits; thus either the running time, or the output (or both) are random variables.
more from Wikipedia