Ir al contenido principal

Revisión del ejemplo I de computación evolutiva


Acabo de terminar de convertir este ejemplo de computación evolutiva que realicé hace años, pero de modo que no sea necesario utilizar ya un Applet de Java. Ahora el algoritmo se ejecuta exclusivamente mediante el intérprete de Javascript del navegador.

Además he mejorado el algoritmo original, de modo que ahora es posible interpolar funciones de dos variables (y no sólo de una como en el ejemplo original). Es decir; que el siguiente programa aproxima numéricamente la interpolación de funciones con dos variables mediante el uso de un algoritmo de computación evolutiva:



Para más detalles técnicos del funcionamiento del algoritmo podéis visitar el enlace con el ejemplo original. Y si necesitas el código fuente de esta revisión con Javascript nativo, déjame tu correo en un comentario en esta misma entrada y te lo mandaré.

Entradas populares de este blog

Sobre el mito de la caja negra en el campo de la inteligencia artificial

En relación a esta  buena entrada de Santiago  donde trata el hito que  DeepMind  ha logrado con el sistema de inteligencia artificial  Alpha Zero , me gustaría comentar algo sobre la cuestión que más se malinterpreta actualmente de la moderna IA: ¿es cierto que no sabemos cómo hace lo que hace? ¿Se trata realmente de una misteriosa caja negra inexpugnable? Pues bien, la respuesta es no y no. Sabemos perfectamente (los que se dedican e investigan en este campo) por qué la moderna IA hace lo que hace y cómo lo hace. Y lo de "la caja negra" pues...sencillamente es un mito sensacionalista. Todo el machine learning actual ( Alpha Zero  incluido) es el resultado de procesos matemáticos algebraicos trabajando sobre números reales. Más en concreto, millones de operaciones de sumas y multiplicaciones tensoriales sobre un conjunto de (millones) de números reales almacenados en un fichero para tal fin. Como veis no hay misterio ni "magia" por ninguna parte. Y...

LeelaFish: cómo usar una red neuronal para sustituir la mejor función de evaluación de ajedrez hecha a mano por programadores humanos

LeelaFish UCI chess playing engine derived from Stockfish and LeelaChess Zero:  https://github.com/LeelaChessZero ,  https://github.com/official-stockfish/Stockfish Introduction This is a chess engine based in the Stockfish tree search but where we use the LCZero value head as evaluation function. So in this project we are just using the Stockfish code but replacing the human developed evaluation function for the neural network value head of the LeelaChess Zero project. This is a kind of experiment in which we try to figure out if the results are good even without the use of the MCTS LCZero does. Results Results are very promising and in a 1:1 ratio (when the number of nodes used by the original Stockfish or LCZero are forced to be equal to the number of nodes used by LeelaFish ) our development is able to beat both SF and LCZero. We used for these tests the LCZero network tesnet 10510. One thing is clear: the value head of the network is as good as the orig...

Random memory adaptation model inspired by the paper: "Memory-based parameter adaptation (MbPA)"

Os dejo a continuación el contenido de un trabajo de investigation sobre machine learning que he realizado en mi escaso tiempo libre: https://github.com/Zeta36/random-memory-adaptation ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Introduction. I present in this repository a (very simple) random memory adaptation model (RMA) inspired by the Google DeepMind paper: "Memory-based parameter adaptation (MbPA)" ( https://arxiv.org/pdf/1802.10542.pdf ) In the paper, point 4.1. CONTINUAL LEARNING: SEQUENTIAL DISTRIBUTIONAL SHIFT (inside experiments and results), they study the improvements their model suppose in relation to the catastrophic forgetting problem. They explored the effects of their model (MbPA) on continual learning, i.e. when dealing with the problem of sequentially learning multiple tasks without the ability to revisit a task. For this purposed they use...