Acciones

Relación 3 (1)

De Lógica computacional y teoría de modelos (2019-20)

<source lang = "prolog">


%% Ejercicio de planificación: los siguientes predicados describen un %% "mundo" que representa la acciones de una persona que compra %% alimentos en supermercados.

%% Consideremos el problema de planificación siguiente: %% Contexto: %% (*) Tiendas: Mercadona vende café y Carrefour vende azúcar. %% (*) Una persona está en una ubicación, que puede ser su casa o una tienda. %% (*) Las acciones posibles son: ir, comprar. %% (*) Estado inicial: está en su casa, sin café ni azúcar. %% (*) Objetivo: tener café, azúcar y estar en casa.

%% ---------- %% Signatura: %% ----------

%% ---------- %% Estáticos: %% ----------


%% ---------- %% Fluyentes: %% ----------


%% --------- %% Acciones: %% ---------


%%---------------------------------------- %% Codificación del sistema de descripción: %%----------------------------------------

%% Hipótesis del mundo cerrado para fluyentes definidos:

-cierto(F,I) :- fluyente(definido,F), paso(I),

              not cierto(F,I).


%% Axioma de inercia para fluyentes inerciales:

cierto(F,I+1) :- fluyente(inercia,F),

               cierto(F,I),
               not -cierto(F,I+1),
               I < n.

-cierto(F,I+1) :- fluyente(inercia,F),

                -cierto(F,I),
                not cierto(F,I+1),
                I < n.
                

%% Hipótesis del mundo cerrado para acciones:

-ocurre(A,I) :- accion(A), paso(I),

               not ocurre(A,I).
    

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Módulo de planificación usando regla de elección:

exito :- objetivo(I),

          I <= n.
- not exito.

1{ocurre(A,I): accion(A)}1 :- paso(I),

                              not objetivo(I),
                              I < n.  

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Estado inicial


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Objetivo:


%% Presentación:

  1. show ocurre/2.

</prolog>