ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Artificial I


Enviado por   •  1 de Octubre de 2015  •  Prácticas o problemas  •  2.622 Palabras (11 Páginas)  •  99 Visitas

Página 1 de 11

Implementación en Java de un planificador lineal con pila de objetivos

BLOCKS WORLD

María Munévar Moreno

Cindy Medina Jiménez

Inteligencia Artificial I

Lab Assistant: Lucas Marín

12/12/2012


Contenido

1.        PLANTEAMIENTO DEL PROBLEMA        

2.        METODOLOGIA        

2.1        Problemas planteados        

2.2        Creación de los ficheros        

2.3        Creación de clases        

3.        CONCLUSIONES        

  1. PLANTEAMIENTO DEL PROBLEMA

El segundo ejercicio práctico de AI1/PAR consiste en la implementación en java de un planeador lineal con pila de objetivos. El dominio de esta aplicación corresponde a una serie de problemas relacionados con el mundo de los bloques, y se define a continuación:

Predicados

  • On-table(x): x está puesto sobre la mesa
  • On(x,y): x está sobre y
  • Free(x): x no tiene ningún objeto encima
  • Free-arm: el brazo robótico no está agarrando ningún objeto
  • Picked-up(x): el objeto x está siendo agarrado por el brazo robótico
  • Used-cols-num(n): n columnas de bloques están siendo usadas.
  • Heavier(x,y): el objeto x es mas pesado que y

NOMBRE DEL OPERADOR

FUNCION

PRECONDICIONES

ELIMINA

AGREGA

Pick-up(x)

Le ordena al brazo robótico recoger el bloque x el cual está sobre la mesa.

Used-cols-num(n),

On-table(x),

Free-arm,

Free(x)

On-table(x),

Free-arm,

Used-cols-num(n)

Picked-up(x),

Used-cols-num(n-1)

Leave(x):

Le ordena al brazo robótico dejar el bloque x e sobre la mesa.

Picked-up(x),

Used-cols-num(n), n<3

Picked-up(x),

Used-cols-num(n)

On-table(x),

Used-cols-num(n+1),

Free-arm

Unstack (x,y):

Le ordena al brazo robótico recoger el bloque x el cual está sobre el bloque y.

On(x,y),

Free(x),

Free-arm,

x!=y

On(x,y),

Free-arm

Picked-up(x),

Free(y)

Stack(x,y):

Le ordena al brazo robótico dejar el bloque x sobre el bloque y.

Picked-up(x), Free(y), Heavier(y,x),

x!=y

Picked-up(x), Free(y)

On(x,y),

Free-arm

Tabla 1. Operadores considerados en la práctica

Se debe tener en cuenta que se han introducido dos modificaciones en el dominio clásico "mundo de los bloques":

  • En la tabla anterior se aprecia que solamente se pueden tener 3 pilas de bloques. Este hecho es comprobado con el predicado Used-cols-num, que se actualiza cada vez que se utiliza el operador Pick-up or Leave.
  • Sólo se puede apilar un bloque x sobre un bloque y si el segundo bloque es más pesado que el primero.
  1. METODOLOGIA

En esta sección se detalla la implementación en Java del planificador lineal con pila de objetivos para resolver el problema, por lo que se indica la representación interna que utilizada para gestionar las precondiciones, y asi comprobar la aplicabilidad de los operadores, etc. De igual forma se describe el diseño de tácticas inteligentes para facilitar el proceso de planificación al apilar condiciones previas, la aplicación de los operadores, etc.

...

Descargar como (para miembros actualizados)  txt (15.4 Kb)   pdf (251.8 Kb)   docx (90.4 Kb)  
Leer 10 páginas más »
Disponible sólo en Clubensayos.com