• Aucun résultat trouvé

5.8 Color and general planning representation

5.8.3 Differences with PDDL

SELF+Color is more concise thanPDDL. It will infer most types and declarations. Vari-ables are also inferred if they are used more than once in a statement while also used as parameters.

While PDDL uses a fixed set of extensions to specify the capabilities of the domain, SELFuses inclusion of other files to allow for greater flexibility. In PDDL, everything must be declared while inSELF, type inference allows for usage without definition. It is interesting to note that the use of variable namesxand yare arbitrary and can be changed for each statement and the domain will still be functionally the same. The line 3 in listing5.2is a specific feature ofSELFthat is absent inPDDL. It is possible to specify constraints on the cardinality of properties. This limits the number of different combinations of values that can be true at once. This is typically done inPDDL using several predicates or constraints.

Most of the differences can be summarized saying that ‘SELFdo it once,PDDLneeds it twice’. This doesn’t only mean thatSELFis more compact but also that the expressivity allows for a drastic reduction of the search space if taken into account. Thiébaux et al. (2005) advocate for the recognition of the fact that expressivity isn’t just a convenience but is crucial for some problems and that treating it like an obstacle by trying to compile it away only makes the problem worse. If a planner is agnostic to the domain and problem, it cannot take advantages of clues that lies in the name and parameters of an action (Babliet al. 2015).

Whatever the time and work that an expert spends on a planning domain it will always be incomplete and fixed. SELFallows for dynamic extension and even addresses the use of reified actions as parameters. Such a framework can be useful in multi-agent systems where agents can communicate composite actions to instruct another agent.

It can also be useful for macro-action learning that allows to improve hierarchical domains from repeating observations. It can also be used in online planning to repair a plan that failed. And at last this framework can be used for explanation or inference by making easy to map two similar domains together.

Also another difference betweenSELFand PDDLis the underlying planning framework.

We presented the one ofSELF(listing5.16) butPDDLseems to suppose a more classical state based formalism. For example, the fluents are of two kinds depending on if they are used as preconditions or effects. In the first case, the fluent is a formula that is evaluated like a predicate to know if the action can be executed in any given state.

Effects are formulas enforcing the values of existing fluent in the state. SELF just supposes that the new knowledge is enforcing and that the fluents are of the same kind since verification about the coherence of the actions is made prior to its application in planning.

5.9 Conclusion

In this chapter we have explained how a general planning framework can be designed to interpret any planning paradigm. We explained how classical action languages encode their domain representation and specific features. After illustrating each language with an example, we have proposed our framework based on SELFand compared it to the standard currently in use.In this chapter we have explained how a general plan-ning framework can be designed to interpret any planplan-ning paradigm. We explained how classical action languages encode their domain representation and specific features.

After illustrating each language with an example, we have proposed our framework based on SELF and compared it to the standard currently in use.In this chapter we have explained how a general planning framework can be designed to interpret any planning paradigm. We explained how classical action languages encode their domain representation and specific features. After illustrating each language with an exam-ple, we have proposed our framework based onSELFand compared it to the standard currently in use.In this chapter we have explained how a general planning framework can be designed to interpret any planning paradigm. We explained how classical action languages encode their domain representation and specific features. After illustrat-ing each language with an example, we have proposed our framework based on SELF and compared it to the standard currently in use.

An interesting perspective on the subject of Color is to use that planning formalism for multi-agent planning. Indeed, the ability to merge and extend arbitrary part of a planning domain makes it very suitable for distributed planning as well as for coop-eration and negociation. We can imagine an agent expressing its concern for the cost of a plan or the value of a variable used in an instance using the same language as the planning domain is expressed and interpreted in. We will explore a subset of the multi-agent aspect of the language with intent recognition in chapter7.

6 Online and Flexible Planning Algorithms

The planning process works using distinct execution phases. In figure6.1, we illustrate the components of the process.

Domain compilation

Initialisation Planning Solution optimisation

Figure 6.1:Planning phases for online planning

The first phase has been explained in chapter 5, it transforms the input domain de-scription into a machine ready form. This allows for easy manipulation of the planning entities by the planning algorithm. The second phase is the initialization. It starts pre-processing the planning domain and problem so that the planning phase gets sig-nificantly faster. Adding code to this part is a tradeoff between overhead and planning performance. Only the planning phase is meant to have real-time constraints on its ex-ecution the rest is usually a linear process and can be negligible in terms of exex-ecution times. After a result is found, it is processed or further refined (if time constraints allow for it) and returned to the user in a readable form.

In this chapter, we present planners and approaches to inverted planning and intent recognition. To do that we must first have an efficient online planning algorithm that can take into account observed plans or fluents and find the most likely plan to be pursued by an external agent. The planning process must be done in real time and take into account new observations to make new predictions. This requires the use of online planners.

Classical planning can be used for such a work but lacks flexibility when needing to re-plan at high frequency. The planner must be either able to reuse previously found plans or be able to compute quickly plans that are good approximation of the intended goal. Further discussions of inverted planning and intent recognition can be found in chapter7.

In order to make an efficient online planner, we chose to explore more expressive and flexible approaches to use the semantics of the planning domain to attempt to guide the search to a more sensical plan. This approach uses either repair heuristics or explanations to provide fast predictions of the intended goals.

First we will discuss existing planning algorithms of the sort. Next we propose and evaluate our first planner that uses plan repair instead of re-planning. And finally, we present a hierarchical planner that is able to produce intermediary abstract plans at any time of its resolution.

6.1 Existing Flexible Planning Algorithms

In order to make a planner capable of repairing plans, the most fitting paradigm is PSPas described in section4.5.2. Using the plan space for search allows to modify the refinement process into repairing existing plans.

The second approach using explanations is hierarchical. The planner will use a HTN planning domain that contains composite actions (or tasks) that have several methods (as plans) to realize them.

First, PSP will be presented in more details regarding its classical formulation and definition.