9
1 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano Búsqueda a ciegas [8 - Puzzle] En esta práctica de laboratorio se aborda el tema de búsqueda en la Inteligencia Artificial, con lo cual podremos partir de un estado inicial y llegar hasta un estado objetivo en la solución de algún tipo de problema relacionado con un ordenamiento. Conocer e identificar la búsqueda a ciegas en la IA. Implementar búsqueda a ciegas. Implementar ordenamientos utilizado un ordenamiento basado en objetivos sin información adicional. Guía de laboratorio N° 4. Computadora con Netbeans 7 o superior. Dispositivo de almacenamiento. Las técnicas de búsqueda son una serie de esquemas de representación del conocimiento, que, mediante diversos algoritmos, permite resolver ciertos problemas desde el punto de vista de la inteligencia artificial. Elementos de la búsqueda Conjunto de estados: todas las posibles configuraciones del dominio. Estado inicial: estado (configuración) desde el cual partimos. Estados finales (estados de aceptación): son las soluciones del problema. Operadores: se aplican para pasar de un estado a otro. Búsqueda a Ciegas Solo utiliza información acerca de si un estado es o no es objetivo para guiar el proceso de búsqueda. ¿Qué hago en la búsqueda a ciegas? Si pensamos en realizar una búsqueda y auxiliarse de la teoría de árboles binarios, entonces se puede decir que en la búsqueda a ciegas se puede realizar lo siguiente: Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Sistemas Expertos e Inteligencia Artificial Contenido Objetivos Específicos Material y Equipo Introducción Teórica

Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

1 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

Búsqueda a ciegas [8 - Puzzle]

En esta práctica de laboratorio se aborda el tema de búsqueda en la Inteligencia Artificial, con lo cual podremos partir de

un estado inicial y llegar hasta un estado objetivo en la solución de algún tipo de problema relacionado con un

ordenamiento.

Conocer e identificar la búsqueda a ciegas en la IA.

Implementar búsqueda a ciegas.

Implementar ordenamientos utilizado un ordenamiento basado en objetivos sin información adicional.

Guía de laboratorio N° 4.

Computadora con Netbeans 7 o superior.

Dispositivo de almacenamiento.

Las técnicas de búsqueda son una serie de esquemas de representación del conocimiento, que, mediante diversos

algoritmos, permite resolver ciertos problemas desde el punto de vista de la inteligencia artificial.

Elementos de la búsqueda

Conjunto de estados: todas las posibles configuraciones del dominio.

Estado inicial: estado (configuración) desde el cual partimos.

Estados finales (estados de aceptación): son las soluciones del problema.

Operadores: se aplican para pasar de un estado a otro.

Búsqueda a Ciegas

Solo utiliza información acerca de si un estado es o no es objetivo para guiar el proceso de búsqueda.

¿Qué hago en la búsqueda a ciegas?

Si pensamos en realizar una búsqueda y auxiliarse de la teoría de árboles binarios, entonces se puede decir que en la

búsqueda a ciegas se puede realizar lo siguiente:

Facultad: Ingeniería

Escuela: Ingeniería en Computación

Asignatura: Sistemas Expertos e Inteligencia Artificial

Contenido

Objetivos Específicos

Material y Equipo

Introducción Teórica

Page 2: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

2 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

Expandir un nodo: obtener los posibles hijos de un nodo a partir de la aplicación de los distintos operadores sobre

él.

Nodo cerrado: se han aplicado todos los posibles operadores sobre él, obteniéndose todos sus propios hijos.

Tipos de búsqueda a ciegas

En esta materia utilizaremos la búsqueda en amplitud y en profundidad. La primera se realizar recorriendo los niveles del

árbol y la segunda se realiza recorriendo las ramas del árbol.

1. Crear un nuevo proyecto con el nombre Puzzle. Por defecto, se crea la clase principal (Puzzle.java).

2. Agregar un JFrame con el nombre FrmPuzzle.

3. Agregar 9 botones:

4. Ahora vamos a personalizar el formulario. Hacemos el siguiente proceso:

5. Hacemos clic derecho sobre el contenedor (en este caso es el JFrame) y elegimos la respectiva configuración

referente a las posiciones de los objetos (botones).

Procedimiento

Page 3: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

3 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

6. Cuando se selecciona esa opción tendremos una configuración así:

Como se puede observar, ahora tenemos una nueva opción para el JFrame en donde se pueden modificar algunas

características o propiedades.

7. Hacemos clic derecho sobre GridLayout Propiedades y obtenemos el siguiente cuadro:

8. En este cuadro vamos definir la cantidad de filas y columnas que deseamos para nuestro Layout. Para este ejemplo,

la configuración quedará así (3 filas x 3 columas):

Page 4: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

4 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

9. Hacemos clic en Close y tendremos la siguiente configuración:

TIPS:

Generalmente cuando tenemos más de una clase o más de un elemento que se quiere ejecutar, lo que hacemos es hacer

clic derecho sobre el elemento a ejecutar. Sin embargo, podemos hacer una pequeña modificación que consiste en remover

el método (de cualquier elemento, en este caso de nuestro JFrame) para luego ejecutar el proyecto completo:

Luego, este método se coloca en nuestra clase principal. La Clase principal debe quedar así:

Page 5: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

5 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

Ahora, al ejecutar la aplicación (proyecto completo) se obtiene el siguiente resultado:

Aparece, por defecto, de este tamaño, pero perfectamente lo podemos agrandar desde el constructor del formulario, así:

10. Ahora vamos a cambiar los nombres de cada botón (Btn1,…,Btn9). Para agilizar este proceso lo podemos realizar

haciendo clic derecho sobre el elemento (en este caso el botón) y ahí asignar un nombre.

Page 6: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

6 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

11. Una vez cambiados los nombres de los botones nos dirigimos al constructor de la clase FrmPuzzle y agregamos el

siguiente código:

12. Ejecutamos y observemos que ya está desactivado el botón 9.

13. Ahora sí, vamos a programar los movimientos de cada botón. Por ejemplo, en el caso del botón 8, solo tiene un

posible movimiento, a la derecha, el caso del botón 6, solo tiene un posible movimiento, hacia abajo. Y así

sucesivamente vamos a programar cada posible movimiento.

A continuación, se les presenta el código respectivo de cada botón:

Page 7: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

7 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

Page 8: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

8 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

Page 9: Búsqueda a ciegas [8 - Puzzle]€¦ · 2 Sistemas Expertos e Inteligencia Artificial / Guía V/ Ciclo 01 –2019 / Ing.Herson Serrano Expandir un nodo: obtener los posibles hijos

9 Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 – 2019 / Ing. Herson Serrano

1. Implementar un método para desordenar automáticamente el puzzle

2. Implementar un método para ordenar el puzzle a su posición normal (ordenado del 1 al 8).

Inteligencia Artificial con Aplicaciones a la Ingeniería, Pedro Ponce Cruz.

Investigación Complementaria

Bibliografía