Problem Solving is a complex mental activity that occurs when an agent (biological, robotic or software) does not know how to proceed from a given state to a desired goal state. The nature of human problem solving has been studied by psychologists over the past hundred years and it has also been a subject of research in Artificial Intelligence from the early ‘60s with the General Problem Solver (GPS). Artificial Intelligence is concerned with two major topics in Problem Solving: representation of the problem and automatically extracting a solution to it. Automated Problem Solving is the area of Artificial Intelligence that is mainly concerned with the development of software systems that given a formal representation of a problem they find a solution to it.
These systems usually explore a search space, utilizing search algorithms in order to reach one or more goal states. These search problems are divided in five main categories: a) Automated Planning, b) Constraint Satisfaction and Scheduling, c) Machine Learning, d) Optimization, e) Genetic Algorithms and Genetic Programming.
The fist category, namely Planning, refers to problems where the solution is a sequence of actions that if applied to the initial state will eventually lead to a new state that satisfies the goals. Examples of this category includes robot control problems, navigation problems (e.g. path planning), logistics etc.
The second category is Constraint Satisfaction and Scheduling and is concerned with problems where the goal is to assign values to a set of variables in a way that a set of constraints is met, while optimizing a certain cost function. There are numerous examples of problems of this category like workers’ shifts, timetabling, resource allocation etc.
Machine Learning, which is the third category, is concerned with problems in which an artificial agent must learn. The major focus of Machine learning is to extract information from data automatically by computational and statistical methods. The applications of Machine Learning mainly concern data analysis tasks in decision support systems Data Mining is the application of Machine Learning in large data bases.
The fourth category is optimization problems, where there is a function that measures the appropriateness of each state and the goal of the problem is to find a state that either maximizes or minimizes this function. In contrast to the other categories, no information concerning the goals state is included in the problem representation. A representative example of this category is the Travelling Salesman Person (TSP) problem.
The last category includes genetic algorithms and genetic programming. Genetic algorithms are a particular class of evolutionary algorithms that use techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover in order to solve optimization and search problems. Genetic programming is an area of genetic algorithms which is concerned with the automatic creation of computer programs that perform a specific user-defined task.
This edited volume, entitled Artificial Intelligence for Advanced Problem Solving Techniques, consists of 13 chapters, bringing together a number of modern approaches on the area of Automated or Advanced Problem Solving. The book presents in detail a number of state-of-the-art algorithms and systems mainly for solving search problems. Apart from the thorough analysis and implementation details, each chapter of the book also provides extensive background information about its subject and presents and comments similar approaches done in the past.