-
Notifications
You must be signed in to change notification settings - Fork 1
Macarse/sia2012
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
TP01 ==== Para ejecutar el TP01 ir a la carpeta TP01 y ejecutar `mvn package`. Ir a la carpeta target y ejecutar `java -jar TP01-0.0.1-SNAPSHOT.one-jar.jar --help` para ver la lista de comandos disponible. los comandos mas utilizados son: -s: para seleccionar la estrategia para resolver el problema deseada. Las opciones validas son: [BFS | DFS | IterativeDepth | Greedy | Astar] -l: para seleccionar el nivel de dificultad del tablero. En estos momentos hay 4 tableros cargados, de los cuales el numero 2 no tiene solucion -h: para seleccionar la heuristica deseada. las opciones son: [ BiggerRowsFirst | MorePayers | UpperLevelFirst | HStar ] -c: para seleccionar la funcion de costo constante. Si no se asigna ninguna se escogera la default (1). Este costo puede ser cualquier numero float. --help: imprime ayuda Ejemplo de uso: java -jar TP01-0.0.1-SNAPSHOT.one-jar.jar -l 4 -s Greedy -h Biggerrowsfirst TP02 ==== PRIMERA ENTREGA =============== REQUIREMENTS: This program needs to be executed in Matlab! EXECUTION: 1. Open Matlab and navigate to the folder that contains all the .m files. How to execute generate the graphics: - In the matlab-console type: [in, out, w, er] = plotter(N, error, @input, @function, @derivated_function, @seed); where: N = number of entries of the perceptron (in our case between 2 and 5) error = desired error input = function that creates the input of the perceptron (@createAndInput, @createOrInput for "AND" and "OR") function = activation function (@step , @lineal, @no_lineal_tanh ) derivated_function = the activation function derivated. seed = you can provide a constant seed in order to be able to reproduce scenarios or compare functions (@constant_seed) or a variable one (@variable_seed) Example: [in, out, w, er] = plotter(5, 0.01, @createAndInput, @step, @step_deriv, @constant_seed); SEGUNDA ENTREGA =============== REQUIREMENTS: This program needs to be executed in Matlab! EXECUTION: 1. Open Matlab and navigate to the folder that contains all the .m files. How to execute generate the graphics: - In the matlab-console type: plotter(g, g_deriv, N, input_gen, epsilon, eta); where: - g = activation function (@step , @lineal, @no_lineal_tanh ) - g_deriv = the activation function derivated. - N = number of entries of the perceptron (in our case between 2 and 5) - input_gen = function that creates the input of the perceptron (@generateSymmetricIndexes_stepWrap, @generateSymmetricIndexes_stepWrap) - epsilon = desired error - eta Example: plotter(@no_lineal_exp, @no_lineal_deriv_exp, 5, @generateSymmetricIndexes_stepWrap, 0.001, 0.02); TERCERA ENTREGA =============== REQUIREMENTS: This program needs to be executed in Matlab! EXECUTION: 1. Open Matlab and navigate to the folder that contains all the .m files. How to execute generate the graphics: - In the matlab-console type: initial Inside the initial.m script you will find the variables to modify. TP03 ==== Para entrenar la red basta configurar en el archivo trainNet.m las imagenes con las que se desea entrenar la red y luego ejecutarlo tipeando en la consola: >> trainNet Para probar que sucede al presentar una imagen a la red, basta con tipear: >>testImage(weights, <NOMBRE_IMAGEN>) donde <NOMBRE_IMAGEN> debe ser reemplazado por el nombre de la imagen deseada. weights es una variable de entorno que ya fue seteada por trainNet Si se quiere probar la red de manera sincrónica se debe cambiar en el archivo `testimage.m` `getOutput` por `getAsyncOutput`. TP04 ==== Este TP corre en Java pero usa MATLAB Builder JA para correr código de Matlab desde Java. Para poder usar MATLAB Builder JA: 1) Instalar el MATLAB Compiler Runtime. El instalador para mac se encuentra en: <mcr_root>*/toolbox/compiler/deploy/maci64/MCRInstaller.dmg 2) Es posible que tenga que modificar el path a javabuilder.jar Si el MATLAB Compiler Runtime se instala en macOS es path debería ser el correcto (/Applications/MATLAB/MATLAB_Compiler_Runtime/v713/toolbox/javabuilder/jar/javabuilder.jar) 3) Agregar las siguientes variables de entorno: export DYLD_LIBRARY_PATH=/Applications/MATLAB/MATLAB_Compiler_Runtime/v713/runtime/maci64:/Applications/MATLAB/MATLAB_Compiler_Runtime/v713/sys/os/maci64:/Applications/MATLAB/MATLAB_Compiler_Runtime/v713/bin/maci64:/System/Library/Frameworks/JavaVM.framework/JavaVM:/System/Library/Frameworks/JavaVM.framework/Libraries export XAPPLRESDIR=/Applications/MATLAB/MATLAB_Compiler_Runtime/v713/X11/app-defaults 4) Es necesario que el eclipse se levante desde consola para que levante las variables de entorno seteadas en el punto anterior. --------------------------------------------------------------------------------------------------------------------------------------------- Archivo de configuración --------------------------------------------------------------------------------------------------------------------------------------------- El TP04 puede configurarse mediante un archivo .properties. A continuación se detalla todas las posibles configuraciones que se pueden realizar. Aclaraciones: - X.XX Significa un double. - X Significa un entero. - El archivo debe ser pasado por parametro al programa. Por ejemplo "configuration/conf.properties" ------------------- ----- General ----- ------------------- popSize = X generationGap = X.XX architecture = X (donde x pertenece [1,7]. Seleccionamos distintas arquitecturas de la red) ------------------- --- Operadores ---- ------------------- mutation = (Classic o NotUniform) mutationProbability = X.XX NotUniform.decreaseConstant = X.XX NotUniform.generationToDecrease = X Backpropagation.probability = X.XX (Por default es 0) Backpropagation.iterations = X (Por default es 30) crossover = Recibe 5 posibles operadores, Classic, Multiple Point, Uniform, Anular y Gene. crossoverProbability = X.XX MultiplePoint.cutPoints = X (default = 1) Uniform.probability = X.XX (default = 1) ------------------- ---- Selección ---- ------------------- selection = Recibe 5 operadores posibles: Elite, Boltzman, Tournament, Universal y Rulette. Si se desea poner más de uno, se debe dividir con "/" cada uno. Elite.toSelect = X (default = 1) Rulette.toSelect = X (default = 1) Tournament.toSelect = X (default = 1) Tournament.tSize = X (default = 1) Universal.toSelect = X (default = 1) Boltzman.toSelect = X (default = 1) Boltzman.maxTemperature = X.XX (default = 1000) Boltzman.minTemperature = X.XX (default = 100) Boltzman.decrement = X.XX (default = 5) ------------------- ---- Reemplazo ---- ------------------- replacement = Igual que selection replacement.Elite.toSelect = X (default = 1) replacement.Rulette.toSelect = X (default = 1) replacement.Tournament.toSelect = X (default = 1) replacement.Tournament.tSize = X (default = 1) replacement.Universal.toSelect = X (default = 1) replacement.Boltzman.toSelect = X (default = 1) replacement.Boltzman.maxTemperature = X.XX (default = 1000) replacement.Boltzman.minTemperature = X.XX (default = 100) replacement.Boltzman.decrement = X.XX (default = 5) ---------------------------- ---- Condición de corte ---- ---------------------------- ending = Recibe 4 posibilidades: Content, MaxGeneration, Optimum y Structural. Content.improvement = X.XX (default = 1) Content.iterationToImprove = X (default = 1) MaxGeneration.iterationToEnd = X (default = 1) Optimum.optimum = X.XX (default = 1) Optimum.tolerance = X.XX (default = 1) Structural.iterationsToCheck = X (default = 1) Structural.iterationToEnd = X (default = 1) Structural.popSize = X (default = 1)
About
sia2012
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published