lunes, 9 de octubre de 2017

Demuestran que no vivimos en una simulación informática


Durante los últimos años, diversos estudios han venido apuntando la inquietante posibilidad de que toda nuestra existencia, incluida la Tierra, el Sistema Solar y el Universo en que vivimos, no sea más que una sofisticada simulación informática. Ahora, un equipo de físicos de la Universidad de Oxford demuestra, en un artículo recién publicado en Science Advances(Página oficial), que eso es materialmente imposible. La vida y la realidad, afirman, no pueden consistir en una serie de simulaciones generadas por un superordenador extraterrestre.

Como explica Andrew Masterson en Cosmos, el hallazgo, que se produjo de forma fortuita, surgió a partir del descubrimiento de un nuevo enlace entre las anomalías gravitatorias y la complejidad computacional. En su artículo, los físicos Zohar Ringel y Dmitry Kovrizhi, demuestran que construir una simulación informática de un fenómeno cuántico muy concreto, que tiene lugar en el interior de los metales, resulta imposible, no solo en la práctica, sino también en el plano teórico. Lo cual hace absolutamente imposible extrapolar la simulación a sistemas más complejos, y mucho menos al Universo en su totalidad.
En concreto, los investigadores trataron de ver si era posible utilizar una técnica conocida como Quantum Monte Carlo (una familia de algoritmos usados para la simulación de sistemas cuánticos) para estudiar el efecto Hall Cuántico, un fenómeno que se da en sistemas físicos que exhiben fuertes campos magnéticos y muy bajas temperaturas, y que se manifiesta como una corriente de energía que se ejecuta a través del gradiente de temperatura. El fenómeno indica una anomalía en la geometría del espacio-tiempo subyacente. Los métodos Quanntum Monte Carlo utilizan un muestreo aleatorio para analizar los problemas cuánticos de muchos cuerpos en los que las ecuaciones involucradas no pueden resolverse de forma directa.

De esta forma, Ringel y Kovrizhi demostraron que cualquier intento de utilizar la técnica Monte Carlo para modelar sistemas que presentan anomalías (como el citado efecto Hall Cuántico) se hacen inviables. Y descubrieron, además, que la complejidad de la simulación aumenta exponencialmente a medida que crece el número de partículas que se quieren simular. Es decir, que la cantidad de potencia de cálculo necesaria se duplica cada vez que se añade una sola partícula, con lo que la tarea se vuelve rápidamente imposible. 
De hecho, los investigadores calcularon que almacenar información y simular apenas un par de cientos de electrones requeriría un ordenador cuya memoria, físicamente, debería tener más átomos de los que existen en el Universo. Lo cual descarta por completo que todos nosotros pudiéramos estar viviendo en una gigantesca simulación.

jueves, 15 de junio de 2017

Scratch


¿Qué es Scratch?

Scratch es un lenguaje de programación creado por el MIT y especialmente diseñado para que todo el mundo pueda iniciarse en el mundo de la programación. Sirve para crear historias interactivas, juegos y animaciones; además de facilitar la difusión de las creaciones finales con otras personas vía Web.
El nombre proviene de la palabra: “Scratching” que en los lenguajes de programación, significa aquellos trozos de código que pueden ser reutilizados, fácilmente combinables y adaptados para nuevos usos.
Es un lenguaje que ha tenido una enorme difusión gracias a su gratuidad (es software libre) y a su facilidad de uso.

Principio del algoritmo.
Scratch es tanto una aplicación que podemos descargar a nuestro ordenador (está disponible para varios sistemas operativos: Windows, Ubuntu, Sugar, Mac) como una aplicación web que podemos ejecutar desde nuestro navegador.
En ambos casos tenemos por un lado una serie de objetos o “sprites” (en la nomenclatura que utiliza de Scratch) y por otro lado una serie de acciones y comportamientos que podemos combinar para conseguir que los objetos reaccionen a actúen de una determinada manera.
Una de las cosas más interesantes de Scratch es que esas acciones o comportamientos tienen forma de puzzle y nuestra misión como programadores será cocinar esas piezas para conseguir un determinada acción o comportamiento. Así que en esencia programa se convierte en algo parecido a resolver un puzzle, lo que elimina una de las principales barreras que tienen los neófitos en el mundo de la programación que es el aspecto árido y complejo de los entornos de programación. Convirtiendo el proceso de programar en algo parecido a un juego.
Las acciones y comportamientos están divididas en categorías y son estas:
  • Movimiento: Mover y girar un objeto por la pantalla.
  • Apariencia: Cambiar la visualización del objeto: el fondo, hacerlo más grande o pequeño, etc..
  • Sonido: Hacer sonar secuencias de audio.
  • Lápiz: Dibujar controlando el tamaño del pincel el color y la sombra del mismo.
  • Datos: Crear variables y su asignación en el programa.
  • Eventos: Maneadores de eventos que “disparan” determinadas acciones en un bloque.
  • Control: Condicionales: if-else, “forever”, “repeat”, and “stop”.
  • Sensores: Los objetos o “sprites” pueden interaccionar con el entorno o con elementos creados por el usuario como un robot lego por ejemplo.
  • Operators: operadores matemáticos, generadores aleatorios de números, cooperadores de posiciones.
  • Más bloques: Bloques propios y controladores de aparatos externos.

¿Para qué sirve?

  • Permite el desarrollo de los procesos de pensamientos y habilidades men

    tales en los educandos
  • Es perfecto para introducirse en la programación
  • Permite compartir los proyectos a través del web, se pueden descargar y utilizar. Pudiendo ser descargados y utilizados por otras personas

¿Por que Scratch?

La programación es el el nuevo lenguaje que todos necesitamos conocer si queremos tener una buena comprensión del mundo actual y sobre todo del que viene así como buenas oportunidades laborales. se calcula que cerca del 50% de los puestos de trabajo que conocemos hoy en día desaparecerán y en buena medida serán sustituidos por la industria del software y al robótica. De este modo Scratch se convierte en una gran herramienta para comprender los conceptos y la lógica de la programación. además lo hace abordando su aprendizaje desde un punto de vista lúdico para evitar el rechazo inicial que para muchas personas suponen los entornos de programación más clásicos.

Ventajas para el desarrollo del niño

Si hay un entorno en el que Scratch esta especialmente indicado, es en el de la enseñanza de la programación a los niños, por ese componente lúdico del que hemos hablado antes. Pod´riamos agrupar una serie de ventajas que su uso proporciona a los niños:
  • Desarrollar el pensamiento lógico.
    • Desarrollar métodos para solucionar problemas de manera metódica y ordenada
    • Desarrollar el hábito de hacer autodiagnosis con respecto a su trabajo
    • Desarrollar la capacidad de poner en duda las ideas de uno mismo
    • Tener la posibilidad de obtener resultados complejos a partir de ideas simples
    • Trabajar cada cual a su ritmo en función de sus propias competencias
    • Aprender y asumir conceptos matemáticos: coordenadas, variables, algoritmos, aleatoriedad
    • Aprender los fundamentos de la programación
    • Usar distintos medios: sonido, imagen, texto, gráfico…
    • Posibilitar el aprendizaje colaborativo a través del intercambio de conocimiento
Resultado final del algoritmo.

Conclusiones

Scratch es gratuito, multiplataforma, sencillo y orientado a la introducción de los niños (y de todo aquel que quiera) en el mundo de la programación.
Empezar, es tan sencillo com descargarse el programa y empezar a jugar cambiando los distintos objetos que vienen con el programa con las acciones y comportamientos que esán disponibles.