Este es un blog técnico dedicado al desarrollo de software y análisis de datos, en el podrás encontrar artículos relacionados con estos temas y software de libre distribución para descargar, desarrollado por mi.
-
25/02/2022
Todas las aplicaciones de tratamiento masivo de datos se pueden beneficiar de la capacidad de proceso cada vez mayor que tienen los modernos equipos informáticos que ya están al alcance del bolsillo de cualquiera. En este artículo voy a presentar una comparativa básica de rendimiento entre varias plataformas CPU / GPU utilizando como base el archiconocido conjunto de Mandelbrot y su asombrosa representación gráfica.
[Leer Mas...] -
28/01/2021
Este es el último artículo de la serie dedicada a la construcción del robot sparring de entrenamiento Octopussy para defensa personal y artes marciales. Aquí voy a explicar el uso del software de control que acompaña al aparato y que permite diseñar una gama de rutinas de entrenamiento prácticamente ilimitada, dentro de las posibilidades del robot.
[Leer Mas...] -
27/01/2021
En este segundo artículo sobre el robot sparring de entrenamiento Octopussy para defensa personal y artes marciales, voy a explicar cómo construir la parte electrónica del invento. En realidad, el trabajo consiste en poco más que conectar unos cuantos cables, aunque sería conveniente tener a mano también un soldador de estaño para rematar mejor el trabajo.
[Leer Mas...] -
25/01/2021
En esta serie de artículos voy a mostrar cómo construir un robot de entrenamiento para defensa personal y artes marciales. He bautizado el invento con el nombre Octopussy, ya que permite instalar numerosos brazos y piernas para simular diferentes tipos de golpes y patadas dirigidos a todas las partes del cuerpo. Se controla mediante un ordenador, una placa Arduino y un programa. También proporciono el código fuente del programa para el que quiera hacer modificaciones.
[Leer Mas...] -
31/12/2020
Con este artículo termino la serie dedicada al gestor de base de datos de partidas de ajedrez ChessPosDB. En este post voy a explicar cómo instalar y configurar el servidor de base de datos con el que trabajará el programa, que puede ser tanto Oracle, como MySQL o SQL Server. Sea cual sea el servidor que elijáis, lo podéis instalar tanto en el mismo ordenador en el que instaléis el programa como en otro ordenador más potente al que podáis acceder por vuestra red local.
[Leer Mas...] -
28/12/2020
Este es el quinto de una serie de artículos sobre el programa ChessPosDB, que permite almacenar una gran cantidad de partidas de ajedrez en diferentes motores de base de datos profesionales y realizar búsquedas de partidas con una amplia variedad de opciones. En el presente artículo mostraré como realizar consultas en la base de datos con los filtros explicados en los artículos anteriores. También veremos las opciones de edición de partidas, que permiten añadirles comentarios y nuevas etiquetas.
[Leer Mas...] -
24/12/2020
Esta es una serie de artículos dedicados al programa ChessPosDB, un gestor de base de datos de partidas de ajedrez con un motor de búsqueda muy potente. En el presente artículo voy a terminar de explicar la construcción de filtros de búsqueda mostrando los filtros de partida, que pueden estar compuestos de varios filtros de movimiento o posición que ya hemos visto en entradas anteriores.
[Leer Mas...] -
21/12/2020
Continuamos con la serie de artículos dedicada al programa gestor de base de datos ChessPosDB. Aquí os dejo también un enlace al primer artículo de esta serie, por si queréis empezar a leer desde el principio. En este tercer artículo voy a continuar comentando el resto de filtros de movimiento y posición que se pueden aplicar para encontrar partidas en la base de datos. Como recordaréis del anterior artículo, estos filtros se pueden combinar de múltiples maneras para construir prácticamente cualquier consulta que se nos pueda ocurrir.
[Leer Mas...] -
17/12/2020
En esta serie de artículos voy a comentar un gestor de bases de datos de partidas de ajedrez, ChesPosDb. En el primer artículo de esta serie expliqué cómo cargar partidas en la base de datos utilizando archivos en formato PGN, que pueden descargarse desde multitud de sitios de Internet. En el presente artículo y los siguientes voy a introducir los diferentes tipos de filtro que pueden construirse para buscar las partidas en la base de datos.
[Leer Mas...] -
12/12/2020
En esta serie de artículos voy a comentar un gestor de bases de datos de partidas de ajedrez, ChesPosDb. No se trata de un programa que juegue al ajedrez, solo almacena partidas, pero permite realizar consultas con gran cantidad de opciones, buscar partidas en las que se den una serie de jugadas, ya sea una a continuación de otra o bien a varios movimientos de distancia, e incluso buscar posiciones definidas de manera parcial, pudiéndose encontrar las piezas en cualquier parte del tablero.
[Leer Mas...] -
18/07/2019
En este segundo artículo de la serie sobre la utilización combinada del análisis de cuantificación de recurrencia (RQA) y las redes neuronales para trabajar con series temporales complejas, vamos a examinar algunas ideas sobre posibles tratamientos que se les pueden aplicar a los datos y a la selección de parámetros. Trabajaremos usando señales electrocardiográficas, según lo comentado en el anterior artículo.
[Leer Mas...] -
11/06/2019
En otros artículos de este mismo blog ya he hablado de series temporales complejas, análisis de cuantificación de recurrencia (RQA) y redes neuronales. En esta serie de artículos voy a comentar algunas cuestiones a tener en cuenta al combinar el uso de estas dos herramientas para identificar patrones en series complejas, como por ejemplo detectar anomalías en electrocardiogramas o electroencefalogramas.
[Leer Mas...] -
28/03/2019
Cuándo pretendemos aprender a trabajar con series temporales, resulta muy útil contar con buenos conjuntos de datos, y si son datos reales, mucho mejor. Resulta complicado conseguir series largas o que presenten patrones interesantes y bien localizados e identificados con las que podamos realizar prácticas. Una fuente excelente de series temporales complejas es nuestro propio organismo, y todo lo que podemos aprender trabajando con ellas es extrapolable a cualquier otro contexto.
[Leer Mas...] -
18/03/2019
Con este artículo finalizo la serie dedicada a la aplicación de algoritmos genéticos al diseño de redes neuronales. Explicaré el código más relevante del programa de ejemplo que acompaña a estos artículos, principalmente las clases dedicadas al tratamiento de los genes y el proceso de selección. Podéis encontrar más información en los anteriores artículos de la serie.
[Leer Mas...] -
28/02/2019
En este segundo artículo sobre la aplicación de los algoritmos evolutivos a la optimización del diseño de redes neuronales, voy a proporcionar una pequeña aplicación de ejemplo que permite construir y entrenar redes, además de utilizar este tipo de algoritmos para buscar la mejor configuración para un determinado conjunto de datos. La aplicación permite generar datos artificiales de prueba, y también proporciono el código fuente para poder modificarla a voluntad.
[Leer Mas...] -
22/02/2019
Encontrar la topología más adecuada para la red neuronal que pretendemos aplicar a un determinado problema puede resultar un trabajo tedioso de prueba y error, además de acabar produciendo una red poco optimizada. Para automatizar este proceso podemos recurrir a los algoritmos evolutivos, inspirados en la selección natural de los organismos vivos, que nos pueden facilitar enormemente el trabajo.
[Leer Mas...] -
02/12/2018
Uno de los algoritmos más populares para el entrenamiento de redes neuronales artificiales multicapa es el algoritmo de propagación de errores hacia atrás, o algoritmo de retro propagación. En este artículo voy a tratar de explicar sus fundamentos, mediante una implementación simplificada de una red neuronal que permite realizar pruebas con diferentes configuraciones de la red.
[Leer Mas...] -
23/07/2018
Con este artículo se cierra la serie sobre el reconocimiento de posturas utilizando el sensor Kinect de Microsoft. Para terminar, simplemente mostraré la implementación de un formulario básico que utiliza las librerías de clases comentadas en los artículos anteriores.
[Leer Mas...] -
04/06/2018
Continuamos con la serie sobre reconocimiento de posturas con el sensor Kinect de Microsoft. En esta ocasión voy a comentar las clases encargadas de normalizar la posición del cuerpo de la forma comentada en el primer artículo, de manera que obtengamos una serie de datos que constituyen una versión simplificada del esqueleto más apropiada para su análisis con técnicas de reconocimiento de patrones.
[Leer Mas...] -
13/05/2018
En el artículo anterior de la serie mostré las estructuras, enumeraciones y clases que utiliza la aplicación para ser independiente de la versión del sensor y el SDK de Kinect. En este tercer artículo voy a mostrar una posible implementación de una clase que se ocupa de leer y convertir los esqueletos usando la versión 2.0 del SDK, para el sensor de Xbox One.
[Leer Mas...]