martes, 7 de octubre de 2008

Eduardo - 1st project it's finished and it gave to teacher

All is ok at moment.
the 1st projects was good ;-) but we need be most cojonudos!!!!, for next projects.
we have some pending points:

1.- project final concept and information about autonomous learning (I hope that we have some concrete information in this month, because the semester going to finish in December :s )

2.- DPL's program... (22th November, no?)

lunes, 29 de septiembre de 2008

Eduardo - First part is ready ;-)

The first part of programs' search is ready.
I replaced the methods of Maribel and Gustavo because we will need give teacher all programs next Saturday

668 lines' code of Gustavo and Maribel to just 340 lines; It can be less (H) :D

In this moment Andres is verify the methods and he is trying break the programs for check if is OK, also he's develop a script because the program will can read map's names, select method, node of start, and node of finish from command's line!!!

PD: I'm sorry because my English isn't good, but I promise you that will be good day to day, or week to week xD

lunes, 15 de septiembre de 2008

Eduardo - Cancelación de la serialización

Al serializar los objetos se guardan con un formato binario y para modificar este tipo de ficheros esta del navo... Andrés propuso que fuera de un texto plano.

Bueno este metodo de cargar y guardar los mapas ya esta implementado en la clase Mapa.java

para guardar se crea un mapa pide número de nodos, ligas, vecinos, costos y heurística, al final pide un nombre para guardar el mapa.

Para leerlo pues no es mas que poner el nombre del mapa xD.

El formato del texto que contiene el mapa es el siguiente:

# Name Map
# This file haves number of nodes, number of neighbor and neighbor,cost
# The program should computes the heuristc
# How many nodes?
NUM_NODES: 2
NAME_NODES:
A0
A1

# Nodes description
# ACTUAL NUMBER OF NEIGHBOR,COST[/ / NEIGHBOR,COST]
# NODE NEIGHBOR
# START TABLE OF NODES
A0 1 1 A1,2.0
A1 1 1 A0,2.0

# End of File
NUM_NODES: ## número de nodos del mapa

NAME_NODES:
nom1
[nomx\n...]

Un nombre de nodo por renglón.

descripción de la tabla de nodos:

Nombre_nodo\t\tHeuristica\t\tNum_vecinos\t\tVecino,costo[\t\tVecino,costo]


\t ; un tabulador
\n ; Intro

Para probar ustedes solo cargan los mapas. si desean crear un mapa por lo pronto le puse por default cree los nombres A0, A1, ..., An
para evitar perder tiempo en colocar los nombres.

Eduardo - Respecto la serialización

Ya había serializado los mapas y cargaban de maravilla, no hubo complicaciones importantes para esto, pero si quieren serializar ustedes un objeto todas las clases o subclases del objeto deben implementar la interfaz serializable.
por ejemplo Mapa tiene como atributos las clases Nodo y Ligas, no basta con implementar la interfaz serializable en Mapa sino también en Nodo y Ligas.

De esta forma cargamos y guardamos los mapas que tengamos para poder utilizarlos en un futuro....

domingo, 7 de septiembre de 2008

Andrés - Serializacion del mapa (concepto)

System.out.println("hi");

Para cargar el mapa del programa en lugar de crearlo cada vez que se inicie el programa, se puede implementar la serialización del objeto mapa (que a su vez contiene todos los objetos nodo y liga) y así solo se carga al inicio del programa con argumentos similares a estos

java program --load-map map

donde:
program Es el nombre de nuestra clase principal que implementa el metodo main para lanzar la aplicación
map Es el nombre del mapa

ejemplos
>>Para GNU/Linux, MacOS X, Solaris:
~/IA/map.xml
/tmp/mapa.xml
>>Para Windows:
"C:\Documents and Settings\user\Documents\IA\mapa.xml"
C:\temp\mapa.xml

El mapa se guardaria de la siguiente manera:

java program --save-map map

El programa (tentativamente) nos preguntara los datos del mapa como lo ha hecho hasta ahora, al finalizar la construccion logica del mapa se serializara en y el programa finalizara

byte[] && EOT

Eduardo - Primer Avance del proyecto

EL primer avance del proyecto va adelante en tiempo y forma, al momento ya casi tengo divididas y definidas todas las clases (nodo, ruta, mapa, etc...), para que sea más fácil agregar cada quién su método.

Para tener todos el código al día hay dos opciones.
Publicarlo aquí mismo o abrir un site especial para ello (aquí es cuando uno quiere que su FTP sea permanente :( )

Espero colocar esta tarde/noche el código ya ordenado para que avancen sobre el mismo, mmm... habrá que reorganizar parte del proyecto para que participe la nueva integrante, Karla, quizá ella pueda ir checando el código que agregemos, o analizar el mápa rutas sacano medidas con el Google Earth para meter el mapa al código y poder serializar el objeto mapa.

La méta para el domingo siguiente es tener los métodos codificados en un 75 a 90% para empezar meter la GUI (Graphic User Interface).

Lo antes posible del día de hoy, mandare el código más ordenado para que lo analicen y anexen su parte.

Desarrollo sobre:
JDK.1.6.x
JRE.1.6.x

Bibliografía Recomendada:
API Java 6.0 on line
API Java descargable
Tutoriales oficiales de SUN sobre Java
Libro excelente "thinking Java" o "piensa en java", Bruce Eckel
Libro para descarga gratuita de la página del autor version HTML y PDF
Thinking Java

Eduardo - Inteligencia Artificial

XD
A Andrés se le ocurrió hacer un blog para que hablemos sobre el proyecto de una manera más cómoda y más ingenieril, ocuparemos el blog para todo el semestre sobre los proyecto de IA.

Bien, el primer proyecto consiste en programar los distintos métodos de busqueda ciega que vimos en clase, y son:
  • BFS ; Eduardo
  • DFS; Eduardo
  • UCS; Maribel
  • A* ; Andres
  • ID ; Gustavo