Download Guía 5

Document related concepts
no text concepts found
Transcript
1
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
Facultad: Ingeniería
Escuela: Computación
Asignatura: Sistemas Expertos e Inteligencia Artificial
Búsqueda Heurística
Contenido
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. En este caso particular se utiliza cierta información importante para poder llegar a un resultado final.
Objetivos Específicos



Conocer e identificar la búsqueda a heurística en la IA.
Implementar búsqueda a heurística.
Implementar ordenamientos utilizado un ordenamiento basado en objetivos con información adicional.
Material y Equipo



Guía de laboratorio N° 5.
Computadora con Netbeans 7 o superior.
Dispositivo de almacenamiento.
Introducción Teórica
Introducción
Las técnicas de la búsqueda heurística utilizan el conocimiento del dominio para adaptar el solucionador y, de esta manera,
éste sea más potente y consiga llegar a la solución con mayor rapidez. Por tanto, estas técnicas utilizan el conocimiento
para avanzar buscando la solución al problema.
Definiciones:
•
Costo del camino.
•
Costo para hallar la solución.
•
Potencia Heurística.
•
Se conoce cuando un estado no es objetivo y si es más prometedor que otro.
Las búsquedas heurísticas se basan en métodos formados por la experiencia, se adquiere conocimiento con base en
información.
Cuando se aplican a problemas específicos, su eficacia depende en gran medida de la forma en que exploten el
conocimiento del dominio particular, ya que por sí solas las técnicas heurísticas no son capaces de salvar la explosión
combinatoria a la que son tan vulnerables los procesos de búsqueda.
Por esta razón estas técnicas también son llamadas métodos débiles.
2
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
Procedimiento
1.
Crear un nuevo proyecto con el nombre Xcero. Por defecto, se crea la clase principal (xcero.java).
2.
Agregar un JFrame con el nombre FrmTablero.
3.
Sobre nuestro formulario vamos a agregar un menubar:
4.
Procedemos a agregar un panel (el panel deberá ocupar el espacio restante de nuestro formulario):
5.
Ahora establecemos un Grid Layout. Para ello hacemos clic derecho sobre el panel:
3
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
6.
En las propiedades del Grid Layout vamos a establecer 3 filas y tres columnas:
7.
Vamos a agregar 9 labels a nuestro panel y como ya lo hemos seccionado, se ordenarán automáticamente. La
apariencia de nuestro tablero deberá ser así:
8.
Apliquemos un poco de estilo. Mantenga presionada la tecla control y con el puntero seleccione cada uno de las
celdas. Recuerde que para que pueda visualizarse el fondo en los labels, se debe chequear la propiedad opaque:
9.
Colocamos un borde para que se noten las divisiones:
4
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
10. Ahora, vamos a cambiar el nombre de las variables (c1, …, c9; tal y como se hizo en la guía pasada).
11. Vamos a comenzar la codificación. Recuerde que siempre vamos a pasar el código del main a la clase principal de
nuestro proyecto para que lo ejecute por completo. En este momento crearemos las variables que se van a utilizar:
(Dentro de la clase FrmTablero)
12. Y dentro del constructor FrmTablero:
13. El código de la clase FrmTablero.java, deberá tener la siguiente estructura:
5
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
6
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
7
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
8
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
9
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
10
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
NOTA: Recuerde que gran parte del código se genera a la hora del diseño. Debe tener cuidado de no duplicar el código.
11
Sistemas Expertos e Inteligencia Artificial / Guía V / Ciclo 01 - 2017
El código de la clase principal Xcero.java, deberá quedar de la siguiente forma:
Investigación Complementaria
1.
Tomando como base el ejercicio anterior, vamos a desarrollar un juego de tres en raya (X-0) de modo que se pueda
jugar con la máquina, es decir, solamente podrá jugar un usuario y el movimiento contrario será por parte del
ordenador.
Bibliografía

Inteligencia Artificial con Aplicaciones a la Ingeniería, Pedro Ponce Cruz.