El puente de Tacoma... después del colapso... ¿Qué?

Es una pena que los documentales (o incluso las explicaciones de los profesores de ingenieria de estructuras), siempre corten la historia justo cuando el tablero cae al agua, porque lo que pasó después es una historia muy interesante de ingeniería, reciclaje forzoso y redención técnica.

La respuesta corta es: se desmanteló casi por completo y se construyó un puente totalmente nuevo desde cero aprovechando únicamente las cimentaciones sumergidas.

Pero.... creo que la historia completa es más que interesante... a continuación, un breve resumen de la historia de lo que ocurrió entre el colapso de 1940 y lo que hay hoy en día:

El destino de las ruinas (1940-1943)

Tras el desastre del 7 de noviembre de 1940, el puente quedó en un estado estructural irrecuperable. Aunque las icónicas torres de acero seguían en pie, las fuerzas brutales del bamboleo torsional y el latigazo del colapso las habían dañado irreversiblemente.

 

  • Las torres y los cables: Los enormes cables principales se estiraron más allá de su límite elástico y se movieron de sus guías. Las torres sufrieron deformaciones estructurales en sus bases debido a los brutales tirones asimétricos. Se determinó que eran estructuralmente inseguras.

  • El desmantelamiento: Entre 1941 y 1943, el puente fue desmontado por completo. Las torres de acero y los restos del tablero se vendieron como chatarra. Esto coincidió de lleno con la Segunda Guerra Mundial, por lo que el acero del puente se fundió para el esfuerzo bélico de Estados Unidos.

  • Lo único que sobrevivió: Los enormes bloques de anclaje de hormigón en las orillas y las pilonas (caissons) de cimentación sumergidas en el estrecho. Estas últimas estaban en perfecto estado y se guardaron para el futuro.

  • El fondo del río: La mayor parte del tablero central de hormigón y acero que cayó al agua sigue hoy en el fondo del estrecho de Tacoma. Actualmente funciona como uno de los arrecifes artificiales más grandes del mundo.

La redención: El nuevo puente de 1950

La necesidad de conectar la península de Kitsap con Tacoma seguía existiendo, pero la guerra congeló cualquier obra. No fue hasta 1950 cuando se inauguró el nuevo puente en el mismo emplazamiento, utilizando las cimentaciones originales.

Esta vez, los ingenieros (escaldados por el desastre provocado por el fenómeno de flutter aeroelástico) no se arriesgaron lo más mínimo:

  • Adiós a las vigas de alma llena: El puente original de 1940 (diseñado por Leon Moisseiff) utilizaba vigas laterales de acero macizas de 2,4 metros de altura que actuaban como una vela, atrapando el viento. El nuevo diseño sustituyó esto por una viga de celosía abierta de 10 metros de profundidad. El viento podía pasar a través de la estructura sin empujarla.

  • Rejillas de ventilación: Se instalaron rejillas ranuradas en el propio suelo del tablero central para ecualizar las presiones de aire arriba y abajo de la calzada.

     

  • Resultados: El nuevo puente se ganó el apodo de "Sturdy Gertie" (Gertrudis la Robusta), en contraste con el "Galloping Gertie" del original. Fue un éxito absoluto y demostró que la lección de la aerodinámica en puentes colgantes había sido aprendida.

    Aqui un articulillo interesante:

    https://www.wikiwand.com/en/Tacoma_Narrows_Bridge_(1950) 

¿Qué hay allí hoy en día?

El tráfico creció tanto con las décadas que el puente de 1950 se quedó pequeño. En 2007, se inauguró un segundo puente colgante paralelo justo al lado.

 

Hoy en día, el puente de 1950 se utiliza para los carriles que van en sentido oeste, mientras que el puente nuevo de 2007 absorbe el tráfico en sentido este. Es un monumento vivo a cómo la ingeniería civil aprendió de uno de sus errores más célebres. (y referencia obligada para nuestros profesores de estructuras en ingenieria, por otra parte.)

 

 

 FUENTES INTERESANTES:

 

 https://es.wikipedia.org/wiki/Puente_de_Tacoma_%281940%29

 

https://www.shutterstock.com/es/video/clip-1094946385-circa-1940---tacoma-narrows-bridge-sways?dd_referrer=https%3A%2F%2Fwww.google.com%2F 

Random Forest (Bosque Aleatorio): combinando árboles

 Una introducción a la técnica de Random Forest:

 https://www.iartificial.net/random-forest-bosque-aleatorio/

Esta imagen lo explica todo

 

 

Y los resultados parecen prometedores...


 Pero quizás con un ejemplo se entienda mejor...

Imagina que tienes que tomar una decisión médica importante. En lugar de confiar en un solo doctor (que podría tener sesgos o equivocarse), decides consultar a un comité de 100 doctores. Cada doctor hace preguntas diferentes basadas en su experiencia y, al final, se vota. La decisión de la mayoría es la que se toma.

Eso es un Random Forest: un conjunto ("ensemble") de muchos Árboles de Decisión trabajando juntos.

Los dos pilares de la "Aleatoriedad" (Random)

Para que el comité sea bueno, los doctores no pueden ser clones; deben pensar de forma diferente. Random Forest logra esto mediante dos técnicas:

  1. Bagging (Bootstrap Aggregating): Cada árbol se entrena con una muestra aleatoria del dataset original (algunos datos se repiten, otros se quedan fuera).

  2. Selección aleatoria de características (Features): Cuando un árbol va a cortar una rama, no mira todas las variables disponibles. Elige un subgrupo al azar (por ejemplo, si hay 20 variables, solo mira 5 para ese corte).

Resultado: Árboles muy diferentes entre sí que, al combinarse, reducen drásticamente el sobreajuste (overfitting) y entregan predicciones muy robustas.

¿Cómo lo implementa Keras?

Históricamente, Keras era solo para Redes Neuronales Profundas (Deep Learning) y usábamos Scikit-Learn para Random Forest. Sin embargo, Google lanzó Keras Decision Forests (KDF), lo que permite entrenar modelos basados en árboles directamente en Keras, disfrutando de sus ventajas (como una integración perfecta en pipelines de producción con TensorFlow).

Para usarlo, necesitas tener instalada la librería específica:

Bash
pip install tensorflow_decision_forests

Ejemplo Práctico de Implementación

Aquí tienes cómo estructurar un Random Forest usando la API de Keras:

Python
import tensorflow as tf
import tensorflow_decision_forests as tfdf
import pandas as pd

# 1. Cargar tus datos (usaremos un ejemplo clásico de clasificación)
# Supongamos que tienes un archivo train.csv y test.csv
train_df = pd.read_csv("train.csv")
test_df = pd.read_csv("test.csv")

# 2. Convertir los DataFrames de Pandas a Datasets de TensorFlow
# Nota: Keras DF detecta automáticamente columnas numéricas y categóricas.
train_ds = tfdf.keras.pd_dataframe_to_tf_dataset(train_df, label="columna_objetivo")
test_ds = tfdf.keras.pd_dataframe_to_tf_dataset(test_df, label="columna_objetivo")

# 3. Crear el modelo de Random Forest con Keras
# Aquí no necesitas compilar con optimizadores o funciones de pérdida, se configuran solos.
model = tfdf.keras.RandomForestModel()

# 4. Entrenar el modelo
# Los árboles de decisión se entrenan muy rápido en comparación con las redes neuronales
model.fit(train_ds)

# 5. Evaluar y predecir
self_evaluation = model.evaluate(test_ds, return_dict=True)
print(f"Precisión en Test: {self_evaluation['accuracy']:.4f}")

# 6. Guardar el modelo en el formato estándar de Keras
model.save("mi_bosque_aleatorio_keras")

Ventajas de usar Keras Decision Forests

  • Cero Preprocesamiento: No necesitas normalizar los datos numéricos ni hacer One-Hot Encoding a las variables de texto (categóricas). Keras DF lo gestiona de forma nativa.

  • Valores Faltantes: Tolera perfectamente los NaN o datos nulos en el dataset.

  • Modelos Híbridos: Puedes combinar este Random Forest con una Red Neuronal de Keras (por ejemplo, usar una red para extraer características de imágenes y pasar el resultado a un Random Forest).

 

En Keras está implementado:

 

 https://www.tensorflow.org/decision_forests/api_docs/python/tfdf/keras/RandomForestModel

 

 

 

 

RXTX for Java x64

Web de descarga de la libreria para conectar Arduino a JAVA

http://fizzed.com/oss/rxtx-for-java

Descargar una carpeta de Github a zip

Una aplicacion execelente para descargar directamente una carpeta de un reporsitorio de Github cuando no aparece la opcion de "Clone":

https://minhaskamal.github.io/DownGit/#/home


Tutorial [4] Deteccion de colisiones

En el siguiente ejemplo de código, ampliaremos el ejemplo anterior. Agregaremos un nuevo sprite Alien. Detectaremos dos tipos de colisiones: cuando el misil golpea una nave alienígena y cuando nuestra nave espacial colisiona con un alienígena y por supuesto, actuaremos en consecuencia.


Tutorial [3] Moviendo Sprites


En esta parte del tutorial de juegos Java 2D, trabajaremos con sprites, esos pequeños y entrañables objetos gráficos que se mueven graciosamente por las pantallas de nuestros juegos.

También uno de los significados es el código que encapsula a un personaje en un juego. En este tutorial al usar el término sprite nos refeririremos a un objeto móvil o su clase Java.


La clase JSlider. Barritas en JAVA

La clase JSlider, permite crear una barra donde es posible seleccionar un valor entero. Permitiendo al usuario tomar el valor dentro de un rango de valores definidos.

JSlider por defecto muestra una barra horizontal pero permite cambiar la orientación, ademas tiene algunos métodos encargados de poner el indicador al valor más cercado de la barra.


Encontrar y solucionar diferencias entre archivos en LINUX kde

Para comparar diferentes versiones del mismo código o texto para mantenerse al tanto de los cambios en un entorno de programación LINUX basado en KDE, es imprescindible utilizar una herramienta de diferencias: una aplicación que compara archivos o carpetas, muestra las diferencias entre ellos y que ayuda a crear un nuevo archivo fusionando o parcheando sus versiones.

Fritzing . Software diseñador circuitos basados en Arduino

Fritzing es una iniciativa de hardware de código abierto que ofrece una herramienta de software, un sitio web comunitario y servicios en el espíritu de Processing y Arduino, que permite a  documentar prototipos, compartirlos con otros, enseñar electrónica en un aula y diseñar y fabricar pcbs profesionales.

La web: https://fritzing.org/home/


Tutorial [2] Animacion JAVA

En este capitulo del tutorial trabajaremos el concepto de animacion.

La animacion basicamente consiste en una rapida secuencia de imagenes que crean la ilusion de movimiento. Como ejemplo animaremos una estrellita en nuestro lienzo de tres maneras diferentes, para analizar el funcionamiento de:

  • Los timer Swing
  • Los timer standard
  • Los Thread (hilos de ejecucion)
La animacion es un tema complejo de la programacion de juegos. Es fuertemente dependiente del rendimiento del hardware y del sistema operativo. Por ello los Threads proporcionan la solucion mas precisa en cuanto frame-rate. Los otros dos metodos, solo deberian usuarse en juegos simples en 2D.

Tutorial [1] Introducción a los juegos 2D en JAVA!.


Sobre este tutorial...


En esta parte de la introducción de juegos Java 2D, presentaremos algunos conceptos básicos necesarios para crear juegos. Crearemos una aplicación básica, pintaremos  un donut y mostraremos una bonita imagen en una ventana.

Esta parte del tutorial está dirigido a principiantes. Este tutorial mostrará los conceptos básicos de la programación de juegos 2D en lenguaje de programación Java y el kit de herramientas Swing GUI.

Profundizando en el IMU MPU-6050


¿QUÉ ES UN IMU MPU-6050? 

El MPU-6050 es una unidad de medición inercial (IMU) de seis grados de libertad (6DOF) fabricado por Invensense, que combina un acelerómetro de 3 ejes y un giroscopio de 3 ejes. La comunicación puede realizarse tanto por SPI como por bus I2C, por lo que es sencillo obtener los datos medidos. La tensión de alimentación es de bajo voltaje entre 2.4 a 3.6V.

Esta entrada esta basada en la siguiente fuente a la que agradezco todo el esfuerzo de su trabajo.

Fuentes: https://www.luisllamas.es/arduino-orientacion-imu-mpu-6050/

El comienzo

La primera entrada, muchos años después de los primeros intentos de crear un blog. Damos comienzo a una nueva etapa.

La idea básica es que este blog sirva de repositorio de los pequeños proyectos que poco a poco van apareciendo y tomando forma a lo largo del tiempo :-)

Y poco más que contar por ahora.

El puente de Tacoma... después del colapso... ¿Qué?

Es una pena que los documentales (o incluso las explicaciones de los profesores de ingenieria de estructuras), siempre corten la historia ju...