+ All Categories
Home > Documents > Informe Final de robotica

Informe Final de robotica

Date post: 03-Oct-2015
Category:
Upload: victor-a-herrera
View: 8 times
Download: 3 times
Share this document with a friend
Description:
Informe de robotica
Popular Tags:
10
Universidad San Martín de Porres Inteligencia Artificial y Sistemas Expertos [TANGRAM] INFORME FINAL Inteligencia Artificial y Robotica Guevara Puente, Gladys Leiva Olazabal, Alvaro Ramirez Bendezú, Christian Riveros Pérez, Lizzy Zamudio Soplin, Jaime 200111356 7 200120149 3 200120168 6 200310392 8 200120047 9 [email protected] om [email protected] [email protected] om [email protected] jaimemariano@hotmail. com 46 J 45 J 46 J 45 J 45 J Resumen. El presente trabajo del Curso de Inteligencia Artificial y Robótica, en el cual plasmaremos consideraciones para dar una solución al juego de Tamgram; generando un programa para una mejor y efectiva forma de resolverlo, proponiendo mejores y simples técnicas a las variantes ya establecidas para una optima solución; todo ello con el aprovechamiento de los conocimientos que obtendremos en el curso. La particularidad que presentemos será la búsqueda por darle mayor versatilidad y también más dinámica al mismo tiempo. Concibiendo de manera conjunta una apreciación del problema y de las opciones múltiples para la solución, llegando así a lograr un planteamiento uniforme; con la documentación, el plan de estudio, los algoritmos, y la implementación de la solución final con el lenguaje Lisp. Palabras Claves: Estado Inicial: Cuando las figuras se encuentra en su posición inicial, es decir ninguna figura ha sido movida. Estado Meta: Es cuando las figuras han sido movidas, formando la silueta deseada. Tangram: Juego que consiste en formar figuras geométricas a través de un determinado numero de piezas 1
Transcript

[TANGRAM]

Universidad San Martn de Porres

Inteligencia Artificial y Sistemas Expertos

[TANGRAM]

INFORME FINAL

Inteligencia Artificial y RoboticaGuevara Puente, Gladys

Leiva Olazabal, Alvaro Ramirez Bendez, Christian

Riveros Prez, Lizzy

Zamudio Soplin, Jaime2001113567

2001201493

2001201686

2003103928

[email protected]

[email protected]

[email protected]

[email protected]

[email protected] J

45 J

46 J

45 J

45 J

Resumen.

El presente trabajo del Curso de Inteligencia Artificial y Robtica, en el cual plasmaremos consideraciones para dar una solucin al juego de Tamgram; generando un programa para una mejor y efectiva forma de resolverlo, proponiendo mejores y simples tcnicas a las variantes ya establecidas para una optima solucin; todo ello con el aprovechamiento de los conocimientos que obtendremos en el curso.

La particularidad que presentemos ser la bsqueda por darle mayor versatilidad y tambin ms dinmica al mismo tiempo. Concibiendo de manera conjunta una apreciacin del problema y de las opciones mltiples para la solucin, llegando as a lograr un planteamiento uniforme; con la documentacin, el plan de estudio, los algoritmos, y la implementacin de la solucin final con el lenguaje Lisp.

Palabras Claves: Estado Inicial: Cuando las figuras se encuentra en su posicin inicial, es decir ninguna figura ha sido movida. Estado Meta: Es cuando las figuras han sido movidas, formando la silueta deseada. Tangram: Juego que consiste en formar figuras geomtricas a travs de un determinado numero de piezas Bsqueda heurstica: Tcnica empleada en los sistemas de inteligencia artificial.I. INTRODUCCIN

En esta seccin se espera que el autor describa en forma ms amplia a como se present en el Resumen, algunos aspectos como el contexto de la investigacin, el problema a resolver, la forma propuesta de resolver, algunos antecedentes, entre otros.

Los puntos importantes en la Introduccin son:

1. Introduccin al contexto donde se va a realizar la propuesta

2. Determinar la situacin problemtica

3. Definir el problema y los factores y aspectos ms importantes que intervienen en el problema

4. Justificar por qu es importante resolver ese problema

5. Explicar lo qu se ha hecho para resolver ese problema

6. Describir el modelo de solucin del problema

7. Establecer los posibles logros en la solucin del problema

8. Describir la organizacin del documento

No olviden incluir en donde corresponda la motivacin, la justificacin, el alcance de la investigacin, los recursos y las suposiciones.

1.1. El Problema

El Tangram (juego de los siete elementos o tabla de la sabidura) es un juego chino muy antiguo, consistente en formar siluetas de figuras con la totalidad de una serie de piezas dadas.

Las 7 piezas llamadas Tans, que juntas forman un cuadrado, son las siguientes:

5 tringulos de diferentes tamaos.

1 cuadrado.

1 paralelogramo romboide.

En cuanto al nmero de figuras que pueden realizarse con el Tangram, la mayor parte de los libros europeos copiaron las figuras chinas originales que eran tan slo unos cientos. Para 1900 se haban inventado nuevas figuras y formas geomtricas y se tenan aproximadamente 900. Actualmente se pueden realizar con el Tangram alrededor de 16.000 figuras distintas.

Se requiere la implementacin de un programa que resuelva cualquier silueta de figuras, definiendo una adecuada estructura para los datos que tomarn en cuenta sobre la ubicacin de las mismas.

Las variaciones que se realicen con los movimientos de las siluetas de figuras se evaluarn para determinar si se ha llegado a una solucin y en tal caso se le felicitar al usuario.

1.2.Objetivos.

Objetivo Principal

El objetivo principal de este trabajo es elaborar un juego llamado TAMGRAN, en lenguaje de programacin LISP.

Objetivo Secundario

Mostrar el funcionamiento adecuado del juego mediante una demostracin de la resolucin de un problema propuesto, con su debido solucionarlo.

Desarrollar un algoritmo que nos permita desarrollar la lgica del juego a implementar.

Mostrar la utilidad de este curso con fines de nuestra carrera, y en que mbitos se puede laborar.

1.2. Modelo de solucin.

Plantearemos de la siguiente manera:

-Definimos el nmero de piezas.

-Definimos las imgenes para trabajar en el Tangram.-Mediante LIPS buscamos la manera de resolver la imagen deseada.-Buscamos en diferentes fuentes de informacin soluciones sobre el Tangram.

-Mostramos solucin de la bsqueda.

1.3.Preguntas de la investigacin

Qu tipos de algoritmo analizaremos y cual ser el elegido y por que?

Qu quiere representar cada lnea de cdigo utilizado en la implementacin de dicho juego?

Cules son los aspectos a tomar en cuanta al resolver un proyecto relacionado con Inteligencia Artificial y Robtica?

Por qu es importante el adecuado la adecuada elaboracin de algoritmos en este curso?

Cuales son las principales dificultades encontradas en la elaboracin de un proyecto de este tipo y cuales son las principales alternativas de solucin?

Cules son las diferencias entre un sistema de informacin y un agente inteligente y cuales son los aspectos a tomar en cuenta en la elaboracin de cada uno de ellos, cuales son las ventajas y desventajas que estos presentan y en que mbitos son necesaria su implementacin; se puede hacer una combinacin de ambos y si es as en que casos se da?

II.DESARROLLO TERICO

Dentro de este marco, consideramos que esta actividad del tangram, incide en la formacin de estructuras que hace posible potenciar el desarrollo del pensamiento, conjugando la accin y la reflexin en el juego mismo.

Es as como este juego ofrece la posibilidad de alcanzar otros objetivos de la educacin, que no se reducen a lo cognitivo y que son extensivos al campo de lo afectivo y del lenguaje, favorece la expresin del nio, el respeto por el punto de vista del otro que juega, establecer relaciones con sus compaeros armoniosas y diferentes a la agresin, aprender a vivir en la diferencia, aprender a ganar y perder, expresar y negociar acuerdos.Hoy en da el tangram no se usa como un entretenimiento, se utiliza tambin en psicologa y diseo, filosofa y particularmente en la pedagoga.

En el rea de enseanza de las matemticas el tangram se usa para introducir conceptos de geometra plana y para promover el desarrollo de capacidades psicomotrices e intelectuales de los nios pues permite ligar de manera ldica la manipulacin concreta de materiales cob la formacin de ideas abstractas.III.DESARROLLO EXPERIMENTAL.

3.1.Planteamiento de la solucin.

(setq estado-inicial '(0 0 0 0 0 0 0)) ; se toma como posiciones iniciales a las del cuadrado

MODELOS PARA RESOLVERLos valores que hemos definido para cada rotacin, van desde el 0 = 0 4 = +/- 180

Ubicacin de las piezas

Rotacin de la figura

3.2.Desarrollo experimental.

En el caso de sistemas expertos los mecanismos usados para la identificacin de predicados, discretizacin de valores numricos en rangos, apoye esta seccin con cuadros y grficos.

En el caso de sistemas expertos los mecanismos usados para la identificacin de predicados, discretizacin de valores numricos en rangos, apoye esta seccin con cuadros y grficos.

HEMOS UTILIZADO EL METODO HEURISTICO

3.3.Implementacin.

Lenguaje de programacin, pseudo-cdigo, representacin de estados como estructuras de datos, implementacin de las colas, pseudo-cdigo de cada heurstica usada, mecanismos para el control de estados repetidos.

PROGRAMA DE TANGRAM

;===================================

;declaramos nuestros operadores

;===================================

(setq operadores (make-array 7

:initial-contents '((1 0 0 0 0 0 0) (0 1 0 0 0 0 0)

(0 0 1 0 0 0 0) (0 0 0 1 0 0 0) (0 0 0 0 1 0 0)

(0 0 0 0 0 1 0) (0 0 0 0 0 0 1))))

;===================================

;"procesando" es la encargada de procesar

;los operadores asignados

;===================================

(defun procesando (z)

(aref operadores z))

;===================================

;la funcion "comprueba" verfica si es que se puede

;seguir por el camino indicado o no

;===================================

(defun comprueba(efe ea)

(setq res (mapcar #'- efe ea))

(setq res1 (mapcar #'negativo res))

(cond ((member T res1) NIL)

(T T)))

;===================================

;Esta obtiene el resultado entre estado ei y ef

;===================================

(defun tangram(ei ef)

(setf ea ei)

(setf ef1 (mapcar #'+ ef '( 0 0 0 0 0 0 1)))

;===================================

;se comprueba la no rebundar y seguir el camino

;correcto

;===================================

(defun negativo(z)

(< z 0))

;===================================

;Luego que se comprueba, se procedera a procesar el

;nodo con el operador respectivo

;===================================

(defun procesando-estado(ei op)

(mapcar #'+ ei (procesando op)))

;===================================

;busca el siguiente estado y avanza

;===================================(defun siguiente-estado(ei ef op)

(setf ea ei)

(setf eant ei)

(do ((cnt 1))

((not (comprueba ef ea)) eant)

(setf eant ea)

(setf ea (procesando-estado ea op))

(if (comprueba ef ea) (print eant) () ))

)

;===================================

;Devuelve una lista con los resultados de la

;aplicacion adiciona al ef.

;===================================

(do ((cnt 0 (+ cnt 1)))

((equal cnt 7) ())

(setf ea (siguiente-estado ea ef1 cnt)))

)

;===================================

;///////////////////////////////////

;FUNCIONES DE BUSUEDA EN GENERAL

;///////////////////////////////////

;=================================== (defun nuevos-sucesores (nodo abiertos cerrados)

(elimina-duplicados (sucesores nodo)

abiertos cerrados))

(defun sucesores (nodo)

(let ((resultado ()))

(loop for operador in *operadores* do

(let ((siguiente (sucesor nodo operador)))

(when siguiente (push siguiente resultado))))

(nreverse resultado)))

(defun sucesor (nodo operador)

;===================================

;En esta funcion el estado nodo es aplicado

;por el operador y luego al siguiente estado.

;===================================

(let ((siguiente-estado

(aplica operador (estado nodo))))

(when siguiente-estado

(crea-nodo :estado siguiente-estado

:camino (cons operador

(camino nodo))))))

;===================================

;Se elimina los nodos duplicados

;Se obtine el camino mas adecuado

;Luego se evalua los nodos abiertos

;===================================

(defun elimina-duplicados (nodos abiertos cerrados)

(loop for nodo in nodos

when (and (not (recursiva nodo abiertos))

(not (recursiva nodo cerrados)))

collect nodo))

(defun recursiva (nodo lista-de-nodos)

(let ((estado (estado nodo)))

(loop for n in lista-de-nodos

thereis (equalp estado (estado n)))))

;===================================

;Definiendo la estructura del nodo, en la anchura

;la ruta por mejor para llegar a la respuesta,

;actualiza los nosdos abiertos

;===================================

(defun busqueda-anchura ()

(let ((abiertos (list (crea-nodo

:estado *estado-inicial*

:camino nil)))

(cerrados nil)

(actual nil)

(nuevos-sucesores nil))

(loop until (null abiertos) do

(setf actual (first abiertos))

(setf abiertos (rest abiertos))

(setf cerrados (cons actual cerrados))

(cond ((es-estado-final (estado actual))

(return actual))

(t (setf nuevos-sucesores

(nuevos-sucesores actual abiertos cerrados))

(setf abiertos

(append abiertos nuevos-sucesores))))))

)

;===================================

;busca y retorna al estado actual si

;es q no hay nodos abiertos y cerrados

;===================================

(defun busqueda-profundidad ()

(let ((abiertos (list (crea-nodo

:estado *estado-inicial*

:camino nil)))

(cerrados nil)

(actual nil)

(nuevos-sucesores nil))

(loop until (null abiertos) do

(setf actual (first abiertos))

(setf abiertos (rest abiertos))

(setf cerrados (cons actual cerrados))

(cond ((es-estado-final (estado actual))

(return actual))

(t (setf nuevos-sucesores

(nuevos-sucesores actual abiertos cerrados))

(setf abiertos

(append nuevos-sucesores abiertos))))))

)

;===================================

;asignamos operadores al estado inicial y final

;===================================

(setq EI '(0 0 0 0 0 0 0))

(setq EF '(1 4 3 2 4 5 2))

;===================================

;De esta forma se invoca a la funcin

;que genera la bsqueda;===================================

(tangram ei ef)

EJEMPLO 1CL-USER 1 >

;=================================

; asignamos operadores al estado inicial y ;final

;=================================

(setq EI '(0 0 0 0 0 0 0))

(0 0 0 0 0 0 0)

CL-USER 13 > (setq EF '(1 3 2 1 4 2 3))

(1 3 2 1 4 2 3)

;=================================

;De esta forma se invoca a la funcin

;que genera la bsquedaEl mtodo que hemos empleado es heurstica porque si utilizamos el mtodo de profundidad seria ms tedioso al igual el del mtodo de anchura.

El resultado nos muestra los giros que han dado las diferentes figuras, y la posicin final en la que quedan:

3.4.Anlisis de Resultados.

Hemos podido observar que el estado inicial EI (0 0 0 0 0 0 0) y el nuevo estado final establecido por el grupo EF (1 3 2 1 4 2 3) al compilar el cdigo se comprob que cumple con el objetivo planteado (EF), donde nos muestra los diferentes giros que cada figura ha dado.CL-USER 1 > (TANGRAM EI EF)

(0 0 0 0 0 0 0)

(1 0 0 0 0 0 0)

(1 1 0 0 0 0 0)

(1 2 0 0 0 0 0)

(1 3 0 0 0 0 0)

(1 3 1 0 0 0 0)

(1 3 2 0 0 0 0)

(1 3 2 1 0 0 0)

(1 3 2 1 1 0 0)

(1 3 2 1 2 0 0)

(1 3 2 1 3 0 0)

(1 3 2 1 4 0 0)

(1 3 2 1 4 1 0)

(1 3 2 1 4 2 0)

(1 3 2 1 4 2 1)

(1 3 2 1 4 2 2)

(1 3 2 1 4 2 3)

4.1. Conclusiones.Considere los siguientes puntos no son conclusiones:

1. Podemos llegar a representar figuras tales como: personas, animales, objetos.2. El trabajo nos ayuda a entender como es que trabaja un agente y que aplicaciones practicas le podemos dar en el campo de inteligencia artificial.4.2.Recomendaciones.

Las mejor manera de resolverlo es implementando un medio de bsqueda por profundidad y anchura por el grado complejidad que esto conlleva.

VI.BIBLIOGRAFA.

http://es.wikipedia.org/wiki/Tangram http://www.pedagogica.edu.co/storage/rce/articulos/pag212_218.pdf http://www.docente.mendoza.edu.ar/matematica/Tangram.htm http://redescolar.ilce.edu.mx/redesccolar/act_permanentes/mate/imagina/mate3z.htm

http://www.espaciologopedico.com/tienda/detalle?Id_articulo=1075 http://jgarcia.wordpress.com/2006/11/26/el -tangram

http://www.bibliovalle.gov.co/articulo.php?ArticulosID=273

http://Tangram.web.com.co/ http://weblog.euc.ar/educacion-tics/cuerpoentrevista.php?IdEntrev=70

3

2 = +/- 90

3 = +/- 135

0 = 0

4 = +/- 180

1 = +/- 45

Giro 180 = 4

Giro 135 = 3

Giro 90 = 2

Giro 45 = 1

Giro 0 = 0

7a

6

5b

4

2b

1a

3

2 = +/- 90

3 = +/- 135

0 = 0

4 = +/- 180

Triangulo Grande B

Triangulo Pequeo B

Palelogramo romboide

Triangulo Pequeo A

Triangulo Mediano

Triangulo Grande A

Cuadrado

(0 0 0 0 0 0 0)

7

_1238791951.vsd

Pgina

Ttulo

Estado Inicial

Insertar la silueta de la figura en el plano cartesiano indicado

Desglosar la figura insertada en partes

Se puede Desglozar la figura por completo (por cada parte que conforma dicha figura)

No

Colocar cada una de las piezas en las coordenas respectivas

Si

Rotar cada pieza segn figura insertada

Es la figura la ultima pieza a efectuar los movimientos para finalizar

No

Finalizar

Si

Diagrama de Flujo TANGRAM


Recommended