• No se han encontrado resultados

4. RESULTADOS Y DISCUSIÓN

4.2. RESULTADOS Y DISCUSIÓN SEGUNDA LÍNEA DE INVESTIGACIÓN

4.2.2. Utilización de sistemas de AFL y AA, más allá de la simple observación no

POP tables are a tabular representation of a STRIPS-type notation. Events in an environment are described by the use of operators. These are listed in a table format with their relevant preconditions and postconditions. The current state of an environment is maintained as a list of conditions called the c u rrent situation . This list has all the conditions that are currently enabled at one moment in a domain environment and is used to validate the preconditions of operators when they are attempted. The preconditions of an operator determine which conditions must be in a domains current situation before that operator is enabled . The postconditions are the conditions that are added to the current situation after the application of an operator.

POP tables are used to provide feedback about the domain behaviour and can generate explanations about this behaviour. Explanations into why an action cannot be taken can be obtained by referring to preconditions

that are not currently satisfied. Also, the addition of a postcondition to a state space description can detail how the current environment has changed. An example of a POP table can be seen in Figure 4.2. If the action open door was attempted while the door was already open, the action would fail as the precondition door closed is not satisfied and that precondition could then be used in error feedback to the user.

Precondition Postcondition

door closed door door

door open close door door closed

Figure 4.2 : Example POP table.

Although POP tables provide a basis for domain definition, they are not expressive enough to completely define a domain. For example, in Figure 4.2, there is no obvious connection between door closed and door open .

They are just syntactic labels and have no contextual relation. This is undesirable because it allows the possibility for contradictory conditions to be present in the same instance of some domain, eg. door open and door closed . What is needed is some way of structuring context between conditions and representing this in the domain definition.

Tenenberg (1991) provides a formulation where the preconditions and postconditions are simple atoms and additional static axioms are included which define relations that are assumed to be always satisfied. The use of static axioms adds greatly to the power of the domain description since there are often a large number of conditions that remain the same throughout the execution of a process. Also, it enables the description of what does change to be formulated much more succinctly (Kemp and Smith, 1994a) .

In regard to augmenting the POP tables with the static axioms, two distinct types of static axioms have been identified . Firstly, main tenance s tatic axioms are used to provide consistency in a current situation of a domain between conditions after operators have been executed . When a condition is ad ded to an instance of the current situation, the maintenance static axioms maintain the current situation by removing

any related conditions that may need to be deleted. An example for the POP table above can be seen in Figure 4.3. In this example if door closed is added to a situation, door open will be removed if it is present, as both these conditions cannot be present in the same situation.

'door closed' THEN not 'door open' 'door open' THEN not 'door closed'

Figure 4.3 : Example maintenance static axiom.

The second type of static axioms are referred to as standard static axioms.

A standard static axiom consists of a rule for deriving a condition from the current situation. Tenenberg separates conditions in a situation into those that are derivable and those that are not, called inesse n tial and

essen tial respectively.

Essential conditions are independent, non-derivable conditions whose enablement does not depend on other conditions in an environment. These conditions are entered into the current situation through the postconditions of a completed operator and can be used as preconditions for operator enablement.

The inessential conditions are dependent on other conditions in the current situation. It is not necessary to store these conditions in the current situation as they can be derived if they are applicable. As inessential conditions are not stored in the current situation, they are not valid as postconditions because all postconditions get added to the current situation. However, this lack of storage does not affect their ability to be used as preconditions as their enablement can be derived from the current situation.

A standard static axiom is a rule that describes the conditions that are needed to derive an inessential condition. These derivable conditions may be a mixture of essential conditions or other derivable conditions. Figure 4.4 shows the current POP example defined using a standard static axiom. In this example, the condition door closed is the derivab le condition as it is only valid if the door is not open.

Precondition Postcondition

door closed door door

door close door

'door closed' IF not 'door open'

Figure 4.4 : Modified POP table and standard static axiom.

The standard static axioms are used to provide another mechanism to describe relations between conditions in a domain. Also, as inessential conditions are not directly stored in the current situation, the size of this structure can be significantly reduced. However, this space reduction is offset by the extra processing that is required for deriving the inessential conditions.

The examples of static axioms shown have had only one condition on the right hand side (RHS) of the rule. This is a simplification of the rules for these examples. Both standard and maintenance static axioms can contain complex boolean expressions. Some complex examples from a VCR domain can be seen in Figure 4.5.

tape activated IF vcr playing OR vcr recording OR

vcr fast forwarding OR vcr rewinding

vcr playing THEN NOT (vcr recording) AND NOT (vcr fast fowarding) AND NOT (vcr rewinding)

Figure 4.5 : Further static axiom examples.

The use of static axioms allows a richer domain description to be defined and provides techniques for linking the relations between conditions. The two types of static axioms can be seen as being directly related to either operator postconditions or preconditions. The maintenance axioms

provide domain consistency when updating a current situation with postconditions after the application of an operator while the standard axioms list the derivable conditions that can be used as preconditions in operator validation.