SISTEMAS DE PLANIFICACIÓN
Puzzle
GRUPO 11
Isabel González Arcicollar, Frank Julio Vásquez Báez, María Luisa Oliete Calvo, Alba Mérida
Valverde, Niya Chen
Fecha: 28/10/2024
1
ÍNDICE
1. Introducción........................................................................................................................2
2. Situación Inicial..................................................................................................................2
3. Situación Final....................................................................................................................3
4. Dominio de Planificación...................................................................................................3
4.1. Descripción de Componentes...........................................................................................3
4.2. Predicados........................................................................................................................4
4.3. Operadores.......................................................................................................................4
5. Solución Propuesta..............................................................................................................5
5.1. Estado Inicial....................................................................................................................5
5.2. Estado Final......................................................................................................................5
5.3. Desarrollo.........................................................................................................................5
5.4. Plan..................................................................................................................................6
SISTEMAS DE PLANIFICACIÓN
1. Introducción
La práctica consiste en diseñar un planificador para un robot. El objetivo del
problema planteado es que el androide mueva dos cajas desde una posición inicial
(C1 y C2) a las casillas designadas como las metas (L8 y L9) dentro de una
cuadrícula. El androide tiene la capacidad de moverse de una casilla a otra
adyacente y puede empujar una caja en una de las cuatro direcciones cardinales.
Sin embargo, hay restricciones: el androide no puede arrastrar las cajas, sólo
empujarlas.
Isabel González Arcicollar, Frank Julio
Vásquez Báez, María Luisa Oliete Calvo, 1
Alba Mérida Valverde, Niya Chen
2
2. Situación Inicial
posiciones androide y cajas: androideEn(L7) cajaEn(C1, L5) cajaEn(C2, L6)
casillas vacías: vacio(L1) vacio(L2) vacio(L3) vacio(L4) vacio(L8) vacio(L9)
relaciones de adyacencia: adyacente(L1,L2,O) adyacente(L1,L4,S)
adyacente(L2,L1,E) adyacente(L2,L3,O) adyacente(L2,L5,S) adyacente(L3,L2,E)
adyacente(L3,L6,S) adyacente(L4,L1,N) adyacente(L4,L5,O) adyacente(L4,L7,S)
adyacente(L5,L2,N) adyacente(L5,L4,E) adyacente(L5,L6,O) adyacente(L5,L8,S)
adyacente(L6,L3,N) adyacente(L6,L5,E) adyacente(L6,L9,S) adyacente(L7,L4,N)
adyacente(L7,L8,O) adyacente(L8,L5,N) adyacente(L8,L7,E) adyacente(L8,L9,O)
adyacente(L9,L6,N) adyacente(L9,L8,E)
Isabel González Arcicollar, Frank Julio
Vásquez Báez, María Luisa Oliete Calvo, 2
Alba Mérida Valverde, Niya Chen
3
3. Situación Final
posiciones androide y cajas: androideEn(L5) cajaEn(C1, L8) cajaEn(C2, L9)
casillas vacías: vacio(L1) vacio(L2) vacio(L3) vacio(L4) vacio(L6) vacio(L7)
relaciones de adyacencia: adyacente(L1,L2,O) adyacente(L1,L4,S)
adyacente(L2,L1,E) adyacente(L2,L3,O) adyacente(L2,L5,S) adyacente(L3,L2,E)
adyacente(L3,L6,S) adyacente(L4,L1,N) adyacente(L4,L5,O) adyacente(L4,L7,S)
adyacente(L5,L2,N) adyacente(L5,L4,E) adyacente(L5,L6,O) adyacente(L5,L8,S)
adyacente(L6,L3,N) adyacente(L6,L5,E) adyacente(L6,L9,S) adyacente(L7,L4,N)
adyacente(L7,L8,O) adyacente(L8,L5,N) adyacente(L8,L7,E) adyacente(L8,L9,O)
adyacente(L9,L6,N) adyacente(L9,L8,E)
4. Dominio de Planificación
Realizaré una planificación con STRIPS para resolver esta cuestión.
4.1. Descripción de Componentes
A continuación, se definen los componentes descritos en el enunciado.
Lugares: L1, L2, L3, L4, L5, L6, L7, L8, L9
Isabel González Arcicollar, Frank Julio
Vásquez Báez, María Luisa Oliete Calvo, 3
Alba Mérida Valverde, Niya Chen
4
Cajas: C1, C2
Direcciones: N, S, E, O
4.2. Predicados
Los predicados son esenciales para describir el estado del sistema en
cualquier momento, ya que permiten establecer las condiciones para los
movimientos. Los predicados son los siguientes:
- androideEn(X) – representa que la ubicación del Androide es X.
- cajaEn(C, X) – representa la existencia de una caja C en un lugar X.
- vacio(X) – representa que la casilla X está libre, es decir, no contiene ni el
Androide ni una caja.
- adyacente(X,Y,D) – representa que la posición X e Y son adyacentes con
dirección D. Esto establece la posibilidad de movimiento entre las casillas.
4.3. Operadores
desplazarse(X,Y,D) – representa que el Androide se desplaza desde la
posición X a la posición Y con dirección D.
Precondiciones: androideEn(X) ^ vacio(Y) ^ adyacente(X, Y, D)
Añadidos: androideEn(Y) ^ vacio(X)
Borrados: androideEn(X) ^ vacio(Y)
Isabel González Arcicollar, Frank Julio
Vásquez Báez, María Luisa Oliete Calvo, 4
Alba Mérida Valverde, Niya Chen
5
empujarCaja(X,C,Y,Z,D) – representa que el Androide desde la posición X,
empuja una caja C de la posición Y a la posición Z con dirección D.
Precondiciones: androideEn(X) ^ cajaEn(C,Y) ^ vacio(Z) ^ adyacente(X,Y,D) ^
adyacente(Y, Z, D)
Añadidos: androideEn(Y) ^ cajaEn(C, Z) ^ vacio(X)
Borrados: androideEn(X) ^ cajaEn(C, Y) ^ vacio(Z)
5. Solución propuesta
5.1. Estado inicial
Inicialmente nuestro estado será el siguiente:
desplazarse (L7, L4, N) {androideEn(L4), CajaEn(C1,L5), CajaEn(C2,L6),
vacio(L1), vacio(L2), vacio(L3), vacio(L7), vacio(L8), vacio(L9)}
5.2. Estado final
Una vez realizados todos los desplazamientos, el estado final será el
siguiente:
empujarCaja (L2, C1, L5, L8, S) {androideEn(L5), CajaEn(C1,L8),
CajaEn(C2,L9), vacio(L1), vacio(L2), vacio(L3), vacio(L4), vacio(L6),
vacio(L7)}
5.3. Desarrollo
Pasos a seguir para alcanzar el estado final partiendo del estado inicial.
Isabel González Arcicollar, Frank Julio
Vásquez Báez, María Luisa Oliete Calvo, 5
Alba Mérida Valverde, Niya Chen
6
Paso 1: desplazarse (L7, L4, N) {androideEn(L4), CajaEn(C1,L5),
CajaEn(C2,L6), vacio(L1), vacio(L2), vacio(L3), vacio(L7), vacio(L8),
vacio(L9)}
Paso 2: desplazarse (L4, L1, N) {androideEn(L1), CajaEn(C1,L5),
CajaEn(C2,L6), vacio(L2), vacio(L3), vacio(L4), vacio(L7), vacio(L8),
vacio(L9)}
Paso 3: desplazarse (L1, L2, E) {androideEn(L2), CajaEn(C1,L5),
CajaEn(C2,L6), vacio(L1), vacio(L3), vacio(L4), vacio(L7), vacio(L8),
vacio(L9)}
Paso 4: desplazarse (L2, L3, E) {androideEn(L3), CajaEn(C1,L5),
CajaEn(C2,L6), vacio(L1), vacio(L2), vacio(L4), vacio(L7), vacio(L8),
vacio(L9)}
Paso 5: empujarCaja (L3, C2, L6, L9, S) {androideEn(L6), CajaEn(C1,L5),
CajaEn(C2,L9), vacio(L1), vacio(L2), vacio(L3), vacio(L4), vacio(L7),
vacio(L8)}
Paso 6: desplazarse (L6, L3, N) {androideEn(L3), CajaEn(C1,L5),
CajaEn(C2,L9), vacio(L1), vacio(L2), vacio(L4), vacio(L6), vacio(L7),
vacio(L8)}
Paso 7: desplazarse (L3, L2, O) {androideEn(L2), CajaEn(C1,L5),
CajaEn(C2,L9), vacio(L1), vacio(L3), vacio(L4), vacio(L6), vacio(L7),
vacio(L8)}
Isabel González Arcicollar, Frank Julio
Vásquez Báez, María Luisa Oliete Calvo, 6
Alba Mérida Valverde, Niya Chen
7
Paso 8: empujarCaja (L2, C1, L5, L8, S) {androideEn(L5), CajaEn(C1,L8),
CajaEn(C2,L9), vacio(L1), vacio(L2), vacio(L3), vacio(L4), vacio(L6),
vacio(L7)}
5.4. Plan
El plan que se ha seguido para llegar a la solución planteada es el siguiente:
desplazarse (L7, L4, N), desplazarse (L4, L1, N), desplazarse (L1, L2, E),
desplazarse (L2, L3, E), empujarCaja (L3, C2, L6, L9, S), desplazarse (L6,
L3, N), desplazarse (L3, L2, O), empujarCaja (L2, C1, L5, L8, S)
Isabel González Arcicollar, Frank Julio
Vásquez Báez, María Luisa Oliete Calvo, 7
Alba Mérida Valverde, Niya Chen