Ejercicio Mundo de Bloques Considere un Mundo de
Ejercicio Mundo de Bloques. Considere un Mundo de Bloques consistente de bloques y una mesa. Los bloques pueden estar apoyados sobre la mesa o sobre otro bloque y se dice que un bloque está “libre“ si no tiene ningún otro bloque apoyado sobre él. Las relaciones que se definen entre los objetos pertenecientes a este mundo son: libre(B): es verdadera si el bloque B está “libre". sobre(A; B): es verdadera si el bloque A está sobre el bloque B. en. Mesa(A): es verdadera si el bloque A está apoyado sobre la mesa. Las acciones permitidas son: apilar(A; B): apila un bloque A sobre un bloque B. Esta acción puede llevarse a cabo solo si ambos bloques están “libres”. desapilar(A; B): desapila sobre la mesa el bloque A que está sobre el bloque B. Esta acción solo puede realizarse si el bloque A está libre.
Ejercicio El estado inicial del mundo que se considera es el siguiente: Preguntas: 1. Identifique las clases de este mundo y enumere los objetos. 2. Enumere los hechos que representan el estado inicial del Mundo de Bloques. 3. Defina las acciones apilar y desapilar 4. Describa el mundo resultante luego de llevar a cabo la siguiente secuencia de acciones a partir del estado inicial. desapilar(A, L); apilar(L, O); apilar(A, L) 5. Por cada acción realizada, indique claramente cuales son los estados intermedios que se van obteniendo.
Solución 1. 2. 3. 4. 5. bloque: A, L, O, H mesa: M libre(A), sobre(A, L), libre(O), libre(H), en. Mesa(L) , en. Mesa(O) , en. Mesa(H) apilar(x, y) condición: en. Mesa(x), libre(y) efecto: ¬en. Mesa(x), sobre(x, y), ¬libre(y) desapilar(x, y) condición: sobre(x, y), libre(x) efecto: ¬sobre(x, y), libre(y), en. Mesa(x) A L O A L H O libre(A), sobre(A, L), sobre(L, O), en. Mesa(O) , en. Mesa(H) H L O H desapilar(A, L) A L O H A apilar(L, O) A L O H apilar(A, L)
- Slides: 3