• No results found

It is evidenced that even in very simple problems, the number of visible states in a planning problem could explode and be many orders of magnitude greater than the number of particles in the universe! Hence, it is impossible in any practical sense to list all of states in a giving planning problem explicitly. As a result of this, there is increase in the need for potent implicit representations that depict the necessary subset of a planning state in a more compact way that can be searched effectively. There arises several planning algorithms to solve planning problems. Some of the approach used for solving planning problems includes but not limited to:

• Plan-Space Planning • Planning Graph • State-Space Planning • Problem Translation and • Combination of Algorithms Plan-Space Planning

This is a planning algorithm approach, whose nodes are set of partially-instantiated operators with some constraints. these constraints are increased until a plan is found. Plan-Space Planning searches through graph of partial plans such that, each node rep- resents partially specified plans; each arc represents plan refinement operations, and the

solution is a set of partial-order plans. The idea behind this technique is to plan for a set of goals g1, ..., gk by having a separate plan for each of the individual goal, while

maintaining various bookkeeping information for detecting and resolving interactions among the plans for the realization of individual goals. It is a bit slower that some other approach, but new heuristics are now invented to improve it speed [36].

State-Space Planning

This is the algorithm approach that has been used in some planners that are successful IPC. Though, its usage in the past had been minimal, because of poor heuristic to guide the search. A breakthrough was made when it was realized that, heuristic values could be computed relatively quickly by extracting them from relaxed solutions [34;87;147]. In State-Space Planning, the search space is a subset of the state space such that, each node represents a state of the world; each arc represents a state transition, and the plan corresponds to the path through the search space. This is the basis of planning algo- rithms such as Fast Forward [74] planner and now used by most state of the art planners. Planning Graph

Planning graph is another planning algorithm whose approach is useful in extracting heuristics for planners. A planning graph is of several levels such that for each n level, level n includes every action a such that at level n − 1, the preconditions of a are satisfied and do not violate certain kinds of mutual exclusion constraints(mutex) of all the literals in that level. The literals at level n include the literals at level n − 1, plus all the effects of all additional actions at level n. As a result, the planning graph represents a relaxed version of the planning problem in which several actions can appear at the same time even if they conflict with each other. In a planning graph, it is possible to eat your cake and still have it. This is because, ‘eat your cake’ and ‘having your cake’ could be included in the same graph expansion level.

The basic planning graph algorithm is as follows:

For n= 1, 2... until a solution is found, create a planning graph of n levels. Do a backwards state-space search from the goal to try to find a solution plan, but restrict

the search to include only the actions in the planning graph.

Considerable number of planning algorithms had been created out of planning graph [131], this is due to its ability to compute in a polynomial amount of time (that is, compara- tively quicker). It seems to run faster than the plan-space planning algorithms. The efficiency of the backward search is noticeably improved, because of the backward search restriction to operate within the planning graph.

Problem Translation

This technique involves the conversion of planning problem into another kind of com- binatorial problem, example is a satisfiability of integer programming, which has an already existing efficient problem solvers. The translated problem is then solved with this solvers and the solution found from this solvers (integer programming or satisfia- bility) is then translated into a plan. One of the major drawback of this approach is the ability to cope with large domains with enormously large systems of constraints. For instance, a function with many argument k would generate a collection of atoms of size exponential to k [126]. However, this technique had led to several satisfiability planners that could solve complex problems [44;80;81;143].

Planning in Non-deterministic and Probabilistic Domains

Researchers have been able to extend planning techniques to work in nondeterministic and probabilistic planning domains. Non deterministic planning domain [2] are prob- lems whose state of the world are not completely known to the planner. This types of problem shares some similarities with probabilistic planning domain, except that, the outcomes of a nondeterministic domain might have no probabilities attach to them. In,

a probabilistic domain, there are multiple possible and valid outcomes in an environ- ment that is partially observable or non deterministic, the probability of each possible outcome has to be taken into consideration [86;138].In this case, the most favourable outcome has to be selected and considered in every step of the planning process. Combination of Algorithms

Planning algorithms could be derived from a combination of existing approach. Some planners use one or more combination of the above algorithms. For example, a state space planner might use satisfiability approach to optimise numeric fluent and a plan space planner might employ a Markov decision processes to choose favourable outcome in a probabilistic domain. A planner(portfolio) might also combine several independent planners with different algorithms in a single planner for the purpose of solving varieties of problems [137].