¿Soy el único que ve una persona adentro?
Introducción
Objetivos del Curso
Programación Dinámica
Introducción a la Programación Dinámica
Optimización de Fibonacci
Caminos Aleatorios
¿Qué son los caminos aleatorios?
Entendiendo la aleatoriedad con Python
Camino de Borrachos
Desarrollando la simulación
Visualización de Caminos Aleatorios
Programas Estocásticos
Introducción a la Programación Estocástica
Cálculo de Probabilidades
Simulación de Probabilidades
Inferencia Estadística
Media
Varianza y Desviación Estándar
Distribución Normal
Simulaciones de Montecarlo
¿Qué son las Simulaciones de Montecarlo?
Simulación de Barajas
Cálculo de PI
Implementación del Cálculo de PI
Muestreo e Intervalos de Confianza
Muestreo
Teorema del Límite Central
Datos Experimentales
¿Cómo trabajar con datos experimentales?
Regresión Lineal
Conclusiones
Conclusiones
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
David Aroesti
Aportes 207
Preguntas 5
¿Soy el único que ve una persona adentro?
Isaac Asimov en su saga futurista Fundación crea una nueva disciplina llamada psicohistoria que analiza el comportamiento humano de manera análoga al comportamiento de los gases. No se puede predecir el comportamiento de una partícula pero sí el del conjunto de partículas en un gas.
Una pequeña aclaración. Albert Einstein ganó el premio nobel de física en 1921 por su artículo sobre el efecto fotoeléctrico (1905), en el cual teorizaba sobre la cuantización de la energía y la dualidad onda-partícula y explica la producción de electricidad utilizando luz.
He aquí el artículo del Washington on post sobre la simulación de contagios de Covid-19
https://www.washingtonpost.com/graphics/2020/world/corona-simulator/
ÁTOMICO… ÁTOMICO,
jajajajja y por estas cosas es que nunca madúro
https://github.com/karlbehrensg/programacion-dinamica-y-estocastica
Caminos Aleatorios
¿Qué son los caminos aleatorios?
Los caminos aleatorios son un tipo de simulación que elige aleatoriamente una decisión dentro de un conjunto de decisiones válidas. Se utiliza en muchos campos del conocimiento cuando los sistemas no son deterministas e incluyen elementos de aleatoriedad.
Creo que podría aplicarse en videojuegos para determinar ciertos comportamientos de NPC o ambientes para que el jugador siempre sienta el juego fresco y no tan predecible como puede suceder cuando lo juegas mucho.
Brutal, que Einstein diciendo la famosa frase “Dios no juega a los dados” sea reconocido por semejante descubrimiento, eso fue un golpe bajo
https://www.lusas.com/case/civil/gormley.html
Aquí pueden leer sobre la forma en que fué realizada la estructura
Me pregunto si con esto del coronavirus, la difusión de un virus se podría modelar con un camino aleatorio.
Notas de la sesión 😄
¿Qué son los caminos aleatorios?.
Se podría usar para el contagio del cv19
Lugares dónde utilizaría los caminos aleatorios:
clima
valor de los pasajes aereos
inlfación
valor del bitcoin
reacción del público ante un nuevo producto
Comparto el siguiente enlace para adentrarse en la probabilidad 😄! https://www.youtube.com/watch?v=kYmsgMNWJc0
super clase, muy motivante,
¿Dónde podría usar un camino aleatorio? A nivel de biología en mutaciones de virus o bacterias, la mutación genética es un fenómeno aleatorio en la naturaleza.
De igual modo arrojar varias monedas al aire, caerán cara o sello de manera aleatoria.
Creo que un buen ejemplo es lo que estamos viviendo ahora con el virus de SARS-Cov-2. La forma en que se propaga en una ciudad podría tener un recorrido aleatorio.
Creo que podríamos utilizar caminos aleatorios para simular el trafico de personas o de autos en una parte de la ciudad.
La aleatoriedad se utiliza en algoritmos genéticos y problemas de optimización combinatoria, mismos que son muy estudiados en ciencias computacionales.
Nosotros mismos somos un resultado aleatorio… pónganse a pensar, entre MILES DE MILLONES de espermatozoides ustedes “ganaron” la carrera y están viendo esto por “casualidad”. y ustedes SOLO Y SOLAMENTE pudieron existir como tal. con la combinación de su madre y padre… y sus abuelos igual… y sus tatarabuelos igual (rayos esto es “Recursivo” jajajaj xD)
.
En fin… existen en un 100% y todo por aleatoriedad… y por esa misma aleatoriedad ahorita están viendo esta clase aleatoria de aleatoriedad
Seré el unico que ve una persona dentro del Quantum Cloud Sculture?
“Un algoritmo determinista es un algoritmo que, en términos informales, es completamente predictivo si se conocen sus entradas…”
Podria utilizarse en calculos de flujo turbulento, o para determinar la probabilidad de corrosión en elementos metálicos a través de la comparacion de las mediciones en el espesor de pared de tuberias dentro de la industria petrolera. (luego me acuerdo que esa vida no me gustaba porque hay “otros intereses”, y se me pasa la idea)
Se podría utilizar en juegos sobre los ataques que realizaran los villanos.
Fascinante, por ejemplo sería interesante aplicarlo a juegos en casinos
Creo que la utilizaría precisamente por el lado del trading.
Un ejemplo en el cual aplica la aleatoriedad, es en la valoración de empresas, ante entornos de incertidumbre.
Lo he utilizado para simular pruebas de funciones y ver los comportamientos antes de liberar codigo a nivel productivo
Un camino aleatorio es una secuencia de pasos aleatorios que se toman a partir de una ubicación inicial en un espacio determinado. Los caminos aleatorios se pueden utilizar en programación para simular el comportamiento de un objeto o sistema que se mueve al azar.
Existen varios algoritmos para generar caminos aleatorios en programación. Por ejemplo, uno de los más simples es el algoritmo de Camino Aleatorio de Borracho, donde un objeto se mueve en una dirección aleatoria durante un cierto número de pasos, y luego se repite el proceso. Otro algoritmo común es el de la Marcha Aleatoria, donde un objeto se mueve en una dirección aleatoria en cada paso, con igual probabilidad de moverse hacia arriba, abajo, a la izquierda o a la derecha.
Los caminos aleatorios se utilizan en muchas áreas de la programación, desde la simulación de sistemas complejos hasta la generación de gráficos aleatorios. Por ejemplo, en la inteligencia artificial, se pueden utilizar caminos aleatorios para simular el comportamiento de un agente en un entorno desconocido, y en la criptografía, se pueden utilizar para generar claves criptográficas aleatorias.
El Juego de la Vida (Game of Life en inglés) es un modelo matemático que simula la evolución de una población de células. Fue creado por John Horton Conway en 1970 y es uno de los juegos celulares más conocidos.
El juego de la vida se desarrolla en una cuadrícula bidimensional de celdas, donde cada celda puede estar en uno de dos estados: viva o muerta. En cada iteración del juego, se aplican una serie de reglas simples para determinar el estado siguiente de cada celda. Las reglas son las siguientes:
Una célula muerta con exactamente tres células vecinas vivas “nace” (se convierte en una célula viva).
Una célula viva con dos o tres células vecinas vivas sigue viva en la siguiente generación.
En todos los demás casos, una célula viva muere por “soledad” si tiene menos de dos células vecinas vivas, o por “sobrepoblación” si tiene más de tres células vecinas vivas.
Las células vecinas son las que están adyacentes a una celda, ya sea horizontal, vertical o diagonalmente.
Para simular el juego de la vida, se inicia con una configuración inicial de células vivas y muertas en la cuadrícula, y luego se aplica repetidamente la reglas para actualizar el estado de cada celda. La evolución de la población se puede visualizar en cada iteración, lo que a menudo produce patrones interesantes y complejos.
La simulación del juego de la vida se puede implementar en muchos lenguajes de programación diferentes, desde Python hasta JavaScript. La implementación básica puede ser bastante simple, utilizando un bucle para actualizar el estado de cada celda y una matriz para representar la cuadrícula. Sin embargo, existen muchas optimizaciones que se pueden realizar para mejorar la velocidad y la eficiencia de la simulación, como utilizar estructuras de datos más eficientes o aprovechar la paralelización para realizar cálculos en paralelo.
El diseño y análisis de la “Nube Cuántica” se refiere al estudio y desarrollo de sistemas informáticos que utilizan la computación cuántica y que se ejecutan en una infraestructura de nube.
La computación cuántica utiliza qubits (bits cuánticos) que tienen la capacidad de estar en múltiples estados al mismo tiempo, lo que permite procesar información de manera mucho más rápida que las computadoras clásicas. Sin embargo, la construcción de una computadora cuántica a gran escala es un desafío técnico significativo debido a la fragilidad de los qubits y la necesidad de mantenerlos a temperaturas extremadamente bajas.
La nube cuántica busca superar estos desafíos permitiendo que los usuarios accedan a la capacidad de procesamiento de una computadora cuántica a través de una conexión a internet, en lugar de tener que construir y mantener su propia infraestructura de computación cuántica. Esto significa que los usuarios pueden acceder a la capacidad de procesamiento cuántico sin la necesidad de tener conocimientos técnicos profundos en computación cuántica o invertir en costosas infraestructuras.
El diseño y análisis de la nube cuántica implica el desarrollo de software y hardware que permita que los usuarios accedan y ejecuten algoritmos cuánticos en la nube. También implica el desarrollo de algoritmos y herramientas que sean eficientes y efectivos para la ejecución en una arquitectura de nube cuántica.
La nube cuántica es un campo de investigación y desarrollo en constante evolución, y aún quedan muchos desafíos técnicos por superar. Sin embargo, se espera que la nube cuántica tenga un impacto significativo en áreas como la criptografía, la optimización y la simulación cuántica, lo que podría tener implicaciones importantes en áreas como la investigación médica y la energía.
generar texturar
En la escultura veo una forma humana. ¿Estare loco?
Caminos aleatorios
Implica la elección de decisiones elegidas aleatoriamente dentro de un conjunto de decisiones válidas.
Hay problemas que requieren aleatoriedad para poder ser resueltos o simulados (el movimiento browniano, simulación de las partículas de humo, colisión de galaxias, predicción del mercado)
Notas:
El premio nobel de Albert Einstein fue por mención al efecto fotoeléctrico y no por el movimiento Browniano.
Depronto a nivel de la ingeniería química, la aleatoriedad se podría evidencia en el comportamiento de mezclas gaseosas usando diferentes presiones, temperaturas o concentraciones de X o Y compuesto.
Es un poco nerd y tal vez pequeño. Pero dentro del calculo de daño que ejerce un pokemon a otro hay un amultiplicacion de un numero entre 0.8 y 1 (es random). Entonces es la unica manera de simular una batalla real seria usando algun camino aleatorio
El nobel en 1921, creía que fue por explicar el efecto fotoeléctrico, esto de que un haz de luz puede hacer que se emitan electrones de una placa metálica.
Hay problemas que no se pueden solucionar mediante el determinismo porque por su propia naturaleza tienen aleatoriedad.
Caminos aleatorios
En genética de poblaciones, el camino aleatorio describe las propiedades estadísticas de la deriva genética.
En física, los caminos aleatorios son utilizados como modelos simplificados del movimiento browniano y difusión tales como el movimiento aleatorio de las moléculas en líquidos y gases. Véase, por ejemplo, la agregación limitada por difusión. Además, los caminos aleatorios y algunos de los caminos que interactúan consigo mismos juegan un papel en la teoría cuántica de campos.
En biología matemática, los caminos aleatorios son utilizados para describir los movimientos individuales de los animales, para apoyar empíricamente los procesos de biodifusión, y en ocasiones para desarrollar la dinámica de poblaciones.
En otros campos de las matemáticas, el camino aleatorio se utiliza para calcular las soluciones de la ecuación de Laplace, para estimar la media armónica, y para varias construcciones en el análisis y la combinatoria.
En informática, los caminos aleatorios son utilizados para estimar el tamaño de la Web. En la World Wide Web conference-2006, Bar-Yossef et al. publicó sus descubrimientos y algoritmos para lo mismo.
En el procesamiento de imágenes, los caminos aleatorios son utilizados para determinar las etiquetas (es decir, “objeto” o “fondo”) para asociarlas con cada píxel. Este algoritmo se suele denominar como algoritmo de segmentación del camino aleatorio
En la lotería
El premio Nobel a Einstein fue por el efecto fotoeléctrico principalmente
En el movimiento de una ciudad, podría ser de una estación de tren donde cada quien va a su destino, pero si tienes una vista desde arriba, todo puede ser aleatorio
🤔Ustedes también una persona en la Quantum Cloud?
En la simulación de una toma de decisión de un coche autónomo que va a chocarse y tiene que decidir contra que se va a chocar y la probabilidad de que sobreviva el conductor. Mirarse el teorema del tranvía aplicado a los coches autónomos.
Para modelos predictivos en economío, usamos el termino error que debe tener un comportamiento aleatorio.
La humo y demás fenómemos de fluidos se pueden modelar numericamente mediante lo que se conoce como “Ecuaciones de Navier-Stockes”
Podría ser muy útil en simulaciones de mercadeo y hábitos de consuma o microeconomía también. En ingeniería serían también variados sus usos, simulaciones de mecánica de fluidos, túneles de viento, movimiento de las olas del mar, predicciones climáticas, huracanes y demás
Podría utilizarse para generar una simulación de la posición aproximada en determinado momento de las partículas subatómicas
El sorteo del cuadro de un torneo puede ser un ejemplo.
En macroeconomía al crear modelos de desigualdad. Con estas bases puedo empezar a entender la macro dinámica
Profe, tendria aplicaciones en el reinforcement learning?
Al inicio de esta ruta el profesor nos habló de que por el momento se puede determinar el clima de mañana o inclusive cuál será en días, pero es imposible (por ahora) saber el clima que habrá en 10 años o tiempos similares. Se me ocurre que se puede aplicar un algoritmo de camino aleatorio para determinar el clima que habrá el 23 de enero del año 3445. 😄
Leyendo y viendo algunos vídeos encontré que los random walks o caminos aleatorios tienen aplicacioes en la física, química, biología, economía, ecología, ciencias de la computación, entre otros, y que es usado en los algoritmos de google para las busquedas.
Acá algunos links que me parecieron interesantes:
Wikipedia
Socratica
PBS Infinite series
A veces cuando intento comprender mis pensamientos o ciertos patrones mentales me encuentro con un caos que comparte cierta relación con la aleatriedad, como una especie de espejos que se enfrentan y reflejan constantemente.
Por cierto no estoy tomando whisky ni fumando un blunt mientras filosofo sobre las profundidades de mi mente
Aquí mis apuntes
Para entender los caminos aleatorios debemos primero comprender que la programación dinámica la podemos clasificar en dos tipos:
Determinista: No hay incertidumbre en los resultados.
Probabilística (no determinista/estocástica): Hay un grado de incertidumbre en los resultados proporcionado por una distribución de probabilidad y aleatoriedad.
Son sistemas que no obtienen el mismo output para el mismo input al ejecutar varias veces la misma operación.
Dicho lo anterior, los caminos aleatorios son utilizados en sistemas no deterministas que incluyen elementos aleatorios.
Este concepto es un tipo de simulación que elige aleatoriamente una decisión dentro de un conjunto decisiones válidas, donde cada decisión no depende de la anterior o de su historial, esta es una propiedad llamada “memoryless” (sin memoria)
Generalmente es utilizado en simulación para distintas áreas del conocimiento cuando los sistemas son no deterministas e incluyen elementos de aleatoriedad como lo son:
De forma general los caminos aleatorios son cualquier proceso aleatorio donde la posición de una partícula en cierto instante depende solo de su posición en algún instante previo y alguna variable aleatoria que determina su siguiente dirección y l longitud de paso.
Un ejemplo de eventos aleatorios es el uso de transporte publico, no sabes cuando va a pasar un evento aleatorio como que el chofer se baje a desayunar o tener una carrera con otro camion.
Los algoritmos evolutivos de optimización utilizan la aleatoriedad junto con la creacion de generaciones “geneticas” de resultados para llegar a soluciones optimas del problema de manera muy rapida, son muy eficientes
Einstein merecía el Nobel por el Browniano y por la relatividad, pero sólo se lo dieron por el efecto fotoeléctrico
El camino de la aleatoriedad lo usaria para simular la caida de las ojas de un arbol tomando en cuenta la grabedad la masa de la oja y el viento. No es muy interesante pero es mi ejemplo!
A mí se me ocurren varios ejemplos para los cuales podría usarse este tipo de simulación:
La posición de los electrones en un átomo (tal vez)
En el camino a seguir por un conjunto de moléculas
Para representar la distribución de especie en un zona con el paso del tiempo
Y muchas más
Una aclaración: lo que sufre el efecto browniano no es el polen como tal, sino lo que está dentro de él: https://www.youtube.com/watch?v=W6OpJ-BzjGk&ab_channel=AlejandrodelMazoVivar
Me encantó esta clase!
Yo estoy trabajando en un proyecto personal para mi Diabetes. Imagino que los caminos aleatorios me permitirían predecir, con base en ciertos comportamientos, los niveles de glucosa en sangre y asi, tomar decisiones concretas.
Acá un video sobre el trabajo de Antony Gormley
https://www.youtube.com/watch?v=B8fDpvUSGtc&ab_channel=NazninSultana
En conclusión: La programación aleatoria, es super poderosa y es la que nos permite simular las cosas más complejas.
En muchos campos se utilizan los caminos aleatorios. Incluso en el de las finanzas.
Lo que podemos hacer para las simulaciones, es crear el comportamiento de una partícula y poner muchas de ellas. Esto determinísticamente es imposible.
Y es que es simple, en cada momento, se genera algo aleatorio, por parte de cada párticula. Generamos interacciones entre ellas, que sucedan aleatoriamente y tenemos por ejemplo, partículas de humo.
En las simulaciones, podemos generar la reacción aleatoria de varias partículas. Así como simular humo.
Con programación determinística, no podemo generar ese tipo de simulaciones con moléculas.
El movimiento a nivel atómico es aleatorio y tiene representaciones macroscópicas.
El movimiento Browniano, es un movimiento observado por primera vez en medio del siglo 19 y el desarrollo de los microscopios. Este movimiento, es interesante, debido a que se refiere al movimiento aleatorio, de las partículas de polen chocando con el agua, por lo que se ven las partículas de polen moviéndose de forma impredecible. Sin embargo la anterior deducción no se hizo hasta el otro siglo, hecha por Albert Einstein, quién entendió este movimiento y ganó un premio Nobel por ello.
Esto hace que cada vez que ingresemos un input, no siempre será el mismo.
Tomar desiciones en cada momento dentro de un set de desiciones válidas de manera aleatoria.
Los caminos aleatorios se utilizan en muchos campos.
Caminos aleatorios, es un tipo de simulación que elige aleatoriamente una decisión dentro de un conjunto de decisiones válidas.
Dentro de nuestros programas tenemos que tener en cuenta la aleatoridad, dejando que el programa defina aleatoreamente, valores válidos.
Hay problemas que por su propia naturaleza incluyen aleatoriedad. Por lo que nuestros hacer programas determinísticos, no es la mejor de las opciones, para resolverlos.
Dentro de todo lo que se ha hecho durante el learning path, hemos hecho programas que siempre devuelven el mismo output para un input.
Programas con caminos aleatorios para hacer trading de acciones y crypto.
*Filas de Cafés o supermercados en diferentes horarios
*Cantidad de personas que entran o salen del Subte/Metro
Conseguir pareja, amigos o determinado trabajo es en parte aleatorio. En algunos casos, puede depender del país en el que naces, el año en el que naces, si hubo algún evento que marcó la historia, como las dos guerras mundiales, quienes fueron tus ancestros, etc.
Soy yo, o en el humo se ve una cara con tapabocas?
jajaja
Wow, que clase tan interesante!
Amigos, trate de hacer une ejercicio con dados, y termine creando un bug infinito jaja, es tarde aqui y si alguien quiere revisar el codigo y hacerlo funcionar seria genial. Seguire manana.
Saludos 😃
import random
def simulacionDados():
""" JUEGO DE LOS DADOS:
1) Se tiran 03 dados cada vez, la suma de ellos puede ser un numero entero entre 3 Y 18 (16 posibilidades)
2) El juego termina cuando:
- se obtienen las 16 posibles sumas o,
- al acumular 4 tiros en los que los 03 dados muestren el mismo numero, no es necesario que su valor coincida en los 4 tiros
"""
ensayos = 0
tresIguales = 0
coleccion = {}
posibilidades = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
objetivo = sum(coleccion.values())
while objetivo <= 168 or tresIguales <= 4:
dado1 = random.randint(1,6)
dado2 = random.randint(1,6)
dado3 = random.randint(1,6)
ensayos += 1
if dado1 == dado2 == dado3:
tresIguales += 1
print(f'Todos los dados arrojaron {dado2} y tienes acumulado {tresIguales} tiros iguales')
suma = dado1 + dado2 + dado3
try:
coleccion[suma]
except KeyError:
for i in posibilidades:
if suma == i:
coleccion[suma] = suma
print(f'Se agrego {coleccion[suma]}')
print(f"Se realizaron {ensayos} ensayos.")
return coleccion
if __name__ == '__main__':
print("Vamos con fe...")
input()
simulacionDados()
Un ejemplo de alatoriedad en mi campo sería la heterogeneidad de los yacimientos de hidrocarburos, se rigen por algunas normas (el ambiente de formación de la roca) pero dependiendo de muchos otros factores su estructura y composición se puede ver alterada afectando la calidad de este
En la creación artística con código los métodos aleatorios son muy usados. En processing, que utiliza java como lenguaje, para creación de imágenes con código, el random es fundamental para crear piezas.
dejo acá la página de un artista y programador, el trabaja, sobre todo, con Java Script, pero toda su obra y el desarrollo dentro de three.js está muy relacionado con la aletoriedad.
https://mrdoob.com/#/144/magic_dust
y el link de processing si a alguien el interesa: https://processing.org/
Existen estudios serios al respecto, el fenómeno es llamado “emergencia” y estudia el porque los sistemas se comportan de ciertas maneras predecibles, al estar formado por cosas aparentemente “estúpidas”, el todo es mayor a la suma de sus partes.
https://www.youtube.com/watch?v=16W7c0mb-rE
https://es.wikipedia.org/wiki/Emergencia_(filosofía)
NOTA: El movimiento browniano es el movimiento aleatorio que se observa en las partículas que se hallan en un medio fluido, como resultado de choques contra las moléculas de dicho fluido. Este fenómeno de transporte recibe su nombre en honor al escocés Robert Brown
Me interesaria entender mas el como se comporta la diseño de los caminos aleatorios en lo que refiere al estudio de la cadena de suministros global
Creo que el clima podría ser simulado con algoritmos de caminos aleatorios 🤔.
Like si no sabías que milky way no solo es un chocolate si no nuestra constelación. XD
Curso de Escuela de inglés de Platzi:
https://platzi.com/idioma-ingles/
Algunas aplicaciones:
Existe aleatoriedad en los algoritmos genéticos
Literlmente todos los problemas que alguna vez me afectaron como ingeniero mecánico acaban de ser solucionados. Termodinamica, mecánica de fluidos, momentos estaticos indeterminados. Todos literalmente todos.
Si que lo conozco, es usado en física molecular y en el mercado de valores.
Las simulaciones sirven para el estudio de toda acción que puede tomar un número de caminos que son dignos de estudiar para la toma de alguna decision. En particular, pienso que los caminos aleatorios sirven para el estudio de cualquier fenómeno natural, o de algún suceso en específico que ya lleva una trayectoria realizada y se quiere estudiar el posible comportamiento de dicho fenómeno a continuación.
Muy interesante esta clase, es una de las cosas que me gusta de David siempre abarca los algoritmos
desde el mundo que nos rodea, el por que de las cosas, de esta manera nuestra vision como Data Scientist mejora mucho
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?