ucse-ia

Discusiones de Inteligencia Artificial, dictada en la Universidad Católica de Santiago del Estero, en la unidad académica de la ciudad de Rafaela.

Saturday, April 22, 2006

1º Jornada Python en Santa Fe

El LUGLi [http://www.lugli.org.ar] está organizando un día de charlas sobre Python en la ciudad de Santa Fe, confirmaron la fecha para el día sábado 3 de Junio y el evento se realiza en el Auditorio de la UTN Facultad Regional Santa Fe.
Para el que le interese, puede registrarse en http://www.python-santafe.com.ar/ e indicar si desean certificados. En la pagina hay informacion de los horarios y los disertantes.

Si alguien desea asistir, tendríamos que organizar el viaje.

Saludos !!!

PD: si, si ... yo voy ...

Wednesday, April 12, 2006

El rompecabezas de 8 piezas (I)

Escriba un programa de acuerdo a la estructura de los programas planteados en AIMA, que resuelva el rompecabezas de 8 piezas.
Es imprescindible que utilice las estructuras de datos y formatos de programas propuestos. Puede adaptarlos desde el modo idiomático imperativo que figura en el AIMA, a un modo orientado a objetos, si así lo desea, pero debe conservar las formas originales.

  1. El programa funcionará como primero en amplitud o en profundidad solamente cambiando la función de encolamiento usada. En todo caso deberá identificar claramente la función general de búsqueda, y las funciones específicas de primero amplitud, primero en profundidad, primero el mejor.

  2. Modifique el programa para que implemente la búsqueda por profundización interativa.

  3. Implemente la búsqueda A* como un caso particular de la búsqueda general. Debe tener la función heurística intercambiable. Se debe poder usar al menos las siguientes heurísticas:

    • h1: Cantidad de números fuera de su lugar.

    • h2: distancia de Manhattan.



  4. Escriba un programa que genere en forma aleatoria K estados iniciales para el rompecabezas y los escriba en un archivo en disco. El formato del archivo será de un estado por cada renglón. Por ejemplo, el estado meta se codificaría como:

    12345678X

    donde la X representa el espacio en blanco. Note que el orden de codificación no es por filas o por renglones.

  5. Corra las variantes de su programa de búsqueda contra los estados iniciales generados aleatoriamente (K no menor a 200), y cuente la cantidad de nodos expandidos antes de hallar la solución, y la cantidad de pasos de la misma. Debe usar profundización iterativa, A* con h1 y A* con h2. Promedie la cantidad de nodos expandidos para cada longitud de solución dada. Los estados iniciales usados deben entregarse como parte del trabajo práctico para su verificación; se debe usar el mismo conjunto de estados iniciales en las tres búsquedas.