Está en la página 1de 22

Razonamiento y planificación automática

Alejandro Cervantes Rovira

Refuerzo sobre modelo de examen

Universidad Internacional de La Rioja


Evaluación Asignatura

2
Evaluación
► Continua:
► Actividades (12.1 puntos)

IMPORTANTE: Sólo cuentan las actividades que se


aprueban (más del 5 en la actividad)
► Tests (12 tests, 0.2 pt cada uno)

► Asistencia (máx. 2 clases, 0.25 puntos cada una)

► Máximo: 10 puntos (de 15) (resto se ignora)


► Requisito:
✓ Examen (ordinaria o extraordinaria) ≥ 5 (hay que sacar el 50%)

► Si se cumple el requisito:
✓ Nota total asignatura = 0.4 * Continua + 0.6 * Examen , si
≥ 5 APROBADO

► La evaluación continua no se modifica para la extraordinaria, pero la


nota se conserva

3
Modelo de examen

4
Material permitido en el examen
► Se permite consultar PDFs de contenido elegido por el alumno.
Deben ser PDFs offline (sin conexión).

► Los que acuden a sede presencial pueden llevar cualquier material


pero ha de ser impreso.

► No se permite el uso de conexión a Internet, foros o cualquier


medio de comunicación

➢ Se os permite usar borrador (2 páginas extra) en ambas


modalidades (online y presencial).

5
Estructura
► Problema 1 (5 puntos). Lógica o búsqueda, puede haber varias
preguntas o varios algoritmos y preguntas teóricas.
► Problema 2 (5 puntos). Tema: comprensión de dominio y problema
en STRIPS o PDDL

➢ Importante entregar resultados copiando el formato indicado. Por


ejemplo, si se pide búsqueda se pide una tabla similar a la vista en
los ejercicios (ver ejercicios de Amplitud, Profundidad, UCS, A*,
Minimax, etc.)

➢ La respuesta se da sobre las hojas correspondientes (no se usa la


hoja de enunciado).

➢ Hay que responder a alguna pregunta de teoría; mantener la


respuesta breve (basta un párrafo). El exceso penaliza.

6
Tipos de ejercicio
► Aquellas partes en las que se ha planteado como ejercicio:

o Formalizar un problema con lógica de predicados


o Encontrar el valor de verdad de una fórmula o determinar si se trata
de una tautología, una contradicción o una contingencia
o Resolver un ejercicio de búsqueda con cualquier algoritmo
o Resolver un ejercicio de búsqueda multiagente con MINIMAX, con o
sin poda alfa-beta, o EXPECTIMINIMAX.
o Explicar los elementos de un dominio STRIPS o PDDL dado

o Indicar los sucesores de un estado en STRIPS o PDDL (conocido el


fichero de dominio y el del problema)
o Explicar el objetivo o con qué acciones se podría alcanzar
inmediatamente (buscando hacia atrás)

7
Ejemplos

8
Ejemplo: Búsqueda
► Se tiene un laberinto similar al de la Actividad 1, donde se puede
mover en dirección horizontal y vertical.
► Usando la distancia_D, que definimos como el número de
movimientos horizontales, verticales o diagonales, simular la ejecución
de A* rellenando la tabla.

Expandi Genera​ Abierta Cerrada


do

9
Ejemplo: Búsqueda
► Se tiene un laberinto similar al de la Actividad 1, donde se puede
mover en dirección horizontal y vertical.
► Usando la distancia_D, que definimos como el número de Ojo, la
movimientos horizontales, verticales o diagonales, simular la ejecución heurística
no tiene en
de A* rellenando la tabla. Poner siempre que sean parte del algoritmo cuenta
los valores de g,h y f de los nodos. paredes
Expandido Genera​ Abierta

(1,4) (1,3) [g=1,h=2,f=3] (1,3) [g=1,h=2,f=3]

(1,3) [g=1,h=2,f=3] (1,2) [g=2,h=2,f=4] (1,2) [g=2,h=2,f=4] (iguales)


(2,3) [g=2,h=2,f=4] (2,3) [g=2,h=2,f=4]
(1,2) [g=2,h=2,f=4] (1,1) [g=3,h=2,f=5] (2,3) [g=2,h=2,f=4] (mejor)
(1,1) [g=3,h=2,f=5]
(2,3) [g=2,h=2,f=4] (3,3) [g=3,h=2,f=5] (1,1) [g=3,h=2,f=5]
(3,3) [g=3,h=2,f=5]

(1,1) [g=3,h=2,f=5] (2,1) [g=4,h=1,f=5] (2,1) [g=4,h=1,f=5] (mejor h)


(3,3) [g=3,h=2,f=5]
(2,1) [g=4,h=1,f=5] Destino [g=5,h=0,f=5] Destino [g=5,h=0,f=5] (mejor h)
(3,3) [g=3,h=2,f=5]
Expandidos: 6 Destino FIN
Generados: 7 [g=5,h=0,f=5]

10
Ejemplo: Minimax y poda

o Dar en forma de tabla los valores asignados a cada nodo triangular


en MINIMAX.
o Marcar los nodos podados si se usa poda A-B
o Indicar la solución

11
Ejemplo: Minimax y poda

12
Ejemplo
o Generar la tabla de verdad de la fórmula.
o Decir si es tautología, contradicción o contingencia

(p → ¬q) ˄ (q → ¬r) (p → ¬q) ∨ (p ˄ q)

13
Ejemplo
o Generar la tabla de verdad de la fórmula.
o Decir si es tautología, contradicción o contingencia

Como hay valores V y F,


(p → ¬q) ˄ (q → ¬r) la fórmula es una
contingencia (o falacia o
inconsistencia)
p q r
V V V
V V F
V F V
V F F
F V V
F V F
F F V
F F F

14
Ejemplo
o Generar la tabla de verdad de la fórmula.
o Decir si es tautología, contradicción o contingencia

(p → ¬q) ∨ (p ˄ q)

Como todos los


valores son V,
independientemente
de la interpretación,
la fórmula es una
Tautología

15
Ejemplo: STRIPS
o Indicar qué objetivos de los siguientes se cumplen en los estados
indicados, asumiendo que estamos en una representación tipo
STRIPS

y no por el 2

16
Ejemplo: PDDL
► Interpretar ficheros de dominio y problema en PDDL (explicar los
elementos que se ven, y si es posible qué es lo que se simula)
► Indicar cuáles serían los sucesores del estado inicial

(define (domain BLOCKS)


(:requirements :strips)
(:predicates (on ?x ?y)
(ontable ?x)
(clear ?x)
(handempty)
(holding ?x)
)

(:action pick-up
:parameters (?x)
:precondition (and (clear ?x) (ontable ?x) (handempty))
:effect
(and (not (ontable ?x))
(not (clear ?x))
(not (handempty))
(holding ?x)))

17
Ejemplo: PDDL
(:action put-down
:parameters (?x)
:precondition (holding ?x)
:effect
(and (not (holding ?x))
(clear ?x)
(handempty)
(ontable ?x)))
(:action stack
:parameters (?x ?y)
:precondition (and (holding ?x) (clear ?y))
:effect
(and (not (holding ?x))
(not (clear ?y))
(clear ?x)
(handempty)
(on ?x ?y)))
(:action unstack
:parameters (?x ?y)
:precondition (and (on ?x ?y) (clear ?x) (handempty))
:effect
(and (holding ?x)
(clear ?y)
(not (clear ?x))
(not (handempty))
(not (on ?x ?y)))))

18
Ejemplo: PDDL

(define (problem BLOCKS-10-0)


(:domain BLOCKS)
(:objects D A H G B J E I F C )
(:INIT (CLEAR C) (CLEAR F) (ONTABLE I) (ONTABLE F) (ON C E) (ON
E J) (ON J B)
(ON B G) (ON G H) (ON H A) (ON A D) (ON D I) (HANDEMPTY))
(:goal (AND (ON D C) (ON C F) (ON F J) (ON J E) (ON E H) (ON H
B) (ON B A)
(ON A G) (ON G I)))
)

19
Ejemplo: PDDL
Explicación del dominio:

o pick-up: un bloque que está sobre la mesa acaba en el


brazo del robot.
o put-down: un bloque se está en el brazo acaba sobre la
mesa
o unstack: un bloque que está sobre otro bloque acaba en
el brazo del robot
o stack: un bloque que está en el brazo del robot acaba
sobre otro bloque (libre)

o Restricciones importantes: en pick-up y unstack el brazo debe estar


libre, es decir, sólo se puede tener sujeto un bloque; y el bloque debe
estar libre (clear). En stack el bloque sobre el que se pone debe estar
libre.

20
Ejemplo: PDDL
• Sucesores del estado inicial
(define (problem BLOCKS-10-0)
(:domain BLOCKS)
(:objects D A H G B J E I F C )
(:INIT (CLEAR C) (CLEAR F) (ONTABLE I) (ONTABLE F) (ON C E) (ON
E J) (ON J B)
(ON B G) (ON G H) (ON H A) (ON A D) (ON D I) (HANDEMPTY))
(:goal (AND (ON D C) (ON C F) (ON F J) (ON J E) (ON E H) (ON H
B) (ON B A)
(ON A G) (ON G I)))
)
• Como el brazo está libre, no se puede ejecutar ni put-down ni stack,
pero sí unstack y pick-up.
• Como hay dos bloques libres (C y F) sólo se podrán ejecutar unstack
y pick-up con estos dos (los demás ya ni los miramos).
• Como F está sobre la mesa, puede ejecutarse pick-up (F)
• Como C está sobre E (on C E), con C puede ejecutarse unstack(C,E)
pick-up (F)​: (and (not (ontable F)) (not (clear F))(not
(handempty)) (holding F)))
unstack (C,E)​: (and (holding C)(clear E)(not (clear C))(not
(handempty))(not (on C E)))))

21
www.unir.net

También podría gustarte