Acciones

Diferencia entre revisiones de «Relación 3 (1)»

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

(Página creada con «<source lang = "prolog"> % Ejercicio de planificación: los siguientes predicados describen un % "mundo" que representa la acciones de un camión que transporta % paquetes…»)
 
Línea 1: Línea 1:
 
<source lang = "prolog">
 
<source lang = "prolog">
% Ejercicio de planificación: los siguientes predicados describen un
 
% "mundo" que representa la acciones de un camión que transporta
 
% paquetes entre ciudades:
 
  
  
% paquete(X): el objeto X es un paquete.
+
%% Ejercicio de planificación: los siguientes predicados describen un
 +
%% "mundo" que representa la acciones de una persona que compra
 +
%% alimentos en supermercados.
  
% ciudad(X): el objeto X es una ciudad.
+
%% Consideremos el problema de planificación siguiente:
 
+
%% Contexto:
% autovia(C1,C2): las ciudades C1 y C2 están conectadas por autovía.
+
%(*) Tiendas: Mercadona vende café y Carrefour vende azúcar.
 
+
%(*) Una persona está en una ubicación, que puede ser su casa o una tienda.
% en(X,C): el elemento x (el camión o un paquete) está en la ciudad C.
+
%(*) Las acciones posibles son: ir, comprar.
 
+
%%   (*) Estado inicial: está en su casa, sin café ni azúcar.
% dentroCamion(X): el paquete X está cargado en el camión.
+
%(*) Objetivo: tener café, azúcar y estar en casa.
 
 
% descargado: el camión está descargado.
 
 
 
% Las acciones que se pueden realizar son las siguientes:
 
 
 
% cargar(P,C): el camión (que debe estar descargado) carga el paquete P
 
%              en la ciudad C. Una vez cargado, el paquete ya no se
 
%             considera que esté en la ciudad C.
 
 
 
% descargar(P,C): el camión descarga el paquete P en la ciudad C.
 
 
 
% ir(C1,C2): el camión se desplaza por autovía desde la ciudad C1 a la
 
%            ciudad C2.
 
 
 
% Supongamos que deseamos encontrar la secuencia de acciones que a
 
% partir de un estado inicial en el que un paquete p1 está en Barcelona,
 
% un paquete p2 está en Madrid, y el camión está en Sevilla, deja
 
% finalmente el paquete p1 en Sevilla, el paquete p2 en Barcelona y el
 
% camión descargado. Supondremos que existe una autovía entre Barcelona
 
% y Madrid y otra entre Madrid y Sevilla.
 
  
 
%% ----------
 
%% ----------
Línea 47: Línea 26:
 
%% Fluyentes:
 
%% Fluyentes:
 
%% ----------
 
%% ----------
 +
  
  
Línea 52: Línea 32:
 
%% Acciones:
 
%% Acciones:
 
%% ---------
 
%% ---------
 
  
  
Línea 58: Línea 37:
 
%% Codificación del sistema de descripción:
 
%% Codificación del sistema de descripción:
 
%%----------------------------------------
 
%%----------------------------------------
 
 
  
 
%% Hipótesis del mundo cerrado para fluyentes definidos:
 
%% Hipótesis del mundo cerrado para fluyentes definidos:
Línea 65: Línea 42:
 
-cierto(F,I) :- fluyente(definido,F), paso(I),
 
-cierto(F,I) :- fluyente(definido,F), paso(I),
 
               not cierto(F,I).
 
               not cierto(F,I).
 +
  
 
%% Axioma de inercia para fluyentes inerciales:
 
%% Axioma de inercia para fluyentes inerciales:
Línea 93: Línea 71:
 
                               not objetivo(I),
 
                               not objetivo(I),
 
                               I < n.   
 
                               I < n.   
                                       
+
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%% Estado inicial
 
%% Estado inicial
Línea 106: Línea 84:
 
#show ocurre/2.
 
#show ocurre/2.
  
</source>
+
</prolog>

Revisión del 12:39 15 ene 2019

<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>