210 likes | 492 Views
¿Qué es simular?. Imitación o duplicación de las características esenciales de ciertos aspectos de un sistema. ¿Para qué?. Entender, chequear y/o optimizar sistemas. Ejemplos: Operación de un banco Funcionamiento de una línea de producción Verificar diseños Colapso de estrellas.
E N D
¿Qué es simular? Imitación o duplicación de las características esenciales de ciertos aspectos de un sistema.
¿Para qué? Entender, chequear y/o optimizar sistemas. Ejemplos: • Operación de un banco • Funcionamiento de una línea de producción • Verificar diseños • Colapso de estrellas
¿En qué consiste? Ejecución de un modelo: • programa computacional (nuestro caso) • da información sobre el asunto investigado • usualmente una simplificación del sistema
Stephen Wolfram • Nació en Londres en 1959 • Se educo en Oxfort y Caltech • Escribe su primer paper a los 15 • Recibe su PhD a los 20 (Física Teórica) • Comenzó Mathematica 1986 – Sale en 1988
Principio de equivalencia computacional • “Almost any process that looks to us complex will correspond to a simple computation” • “Even simple rules can produce incredibly complicated behavior” • “All the wonders of the universe can be captured by computational rules, but there is no way to predict the consequences of these rules other than to watch and see what happens”
Simulación vs Solución Analítica • Simulación: más conveniente y flexible. • Tercera forma de hacer ciencia junto a la teoría y la experimentación. • Principio de equivalencia computacional.
Razones para simular • Investigar sistemas complejos. • Alterar el paso del tiempo. • Más segura o apropiada. • Más económica. • Experimentar con sistemas inexistentes.
Tipos de simulación Dependiendo de como cambian las variables de estado que describen el sistema en un instante dado:
Tipos de simulación • Monte Carlo (calculo deπ) • Por Eventos Discretos (taquilla sencilla) • Continua (modelo de Lotka-Volterra)
Monte Carlo Área circulo = π.r2 = π r = 1 Área cuadrado = b.a= 4 Relación = π /4
Monte Carlo Relación = π /4 lazo x ← aleatorio y ← aleatorio si x2+y2 < 1 dentro ← dentro+1 fin π ~ 4.dentro/total r = 1 Uniforme(0,1) Independientes aleatorio
Monte Carlo program calcula_pi; const limit = 10000000; var x, y, dentro, contador, PI_calc: real; { PI = 3.141592653590... } begin randomize; dentro := 0; contador := 0; while (contador < limit) do begin x := random; y := random; if (x*x + y*y) <= 1 then dentro := dentro + 1; contador := contador + 1; end; PI_calc := 4.0*dentro/limit; writeln('PI: ',PI_calc:10:8, ' Valor Real:',PI:10:8, ' Error:‘,abs(PI_calc-PI):10:8); readln; end. r = 1
Taquilla Sencilla lambda = 1/4 mu = 1/3.5 rho = lambda/mu = 0.875 TheoM = (rho*rho)/(1-rho) = 6.125 NETWORK Arrivals (I) :: IT:=EXPO(MarrT); ACT(Gra,0); Teller (R) :: STAY:=EXPO(MeCashT); Exit (E) :: ACT(Gra,0); Gra (A) :: GRAPH(0,70000,WHITE; TIME:6:0,BLUE; MEDL(EL_Teller):6:0,Queue,0,50,GREEN; TheoM:6:0,Mean,0,50,RED); INIT TSIM:=60000; ACT(Arrivals,0); MarrT:=4; MeCashT:=3.5; TheoM:=6.125; (*Parameters*) DECL VAR MarrT,MeCashT,TheoM:REAL; STATISTICS ALLNODES; END.
Lotka-Volterra NETWORK RF (C) :: R':= C1*(1-R/RM)*R-C2*R*F; (*Lotka-Volterra Equations*) F':=-C3*F+C4*R*F; (*GRAPHIC R=f(F) or R=f(T), F=f(T) *) GRAPH(0,650,WHITE; R:6:1,Rabbits,0,4000,GREEN; F:7:1,Foxes ,0,4000,RED); GRAPH(0,700,WHITE; TIME:6:1,BLACK; R:7:1,Rabbits,0,5000,GREEN; F:7:1,Foxes,0,5000,RED); INIT TSIM:=650; ACT(RF,0); R:=1000; F:=750.0; RM:=20000; (*parameters*) C1:=0.18; C2:=0.00015; C3:=0.2; C4:=0.0001; DT_RF:=0.125; WindowHeight:=400; WindowWidth:=400; DECL VAR C1,C2,C3,C4,RM:REAL; R,F:CONT; END.
Visualización de los desplazamientos de un edificio de quince pisos. Azul pequeños. Naranja-Rojo mayor desplazamiento. Simulación por elementos finitos
Bosquejo del curso • Introducción y conceptos básicos • Construcción de un simulador por eventos discretos en Pascal • GLIDER: Lenguaje de simulación general • Seguimos con conceptos • Generadores de números aleatorios • Pruebas de generadores
Bosquejo del curso (cont) • Generación de variables aleatorias • Distribuciones comunes
hhoeger@ula.vehttp://webdelprofesor.ula.ve/ingenieria/hhoeger/hhoeger@ula.vehttp://webdelprofesor.ula.ve/ingenieria/hhoeger/