Simulacin I - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

Simulacin I

Description:

Permite el estudio detallado de sistemas complejos, sobre los que resulta ... aritm ticos est , por supuesto, en un estado de pecado' -John Von Neumann ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 11
Provided by: FelipeC2
Category:
Tags: pecado | simulacin

less

Transcript and Presenter's Notes

Title: Simulacin I


1
Simulación (I)
  • Clase 26
  • Introducción a la Programación
  • Marcos Sepúlveda(marcos_at_ing.puc.cl)

2
Resumen del último capítulo
  • Aprendimos sobre TDAs
  • Para que sirven
  • Cómo se usan
  • Cómo se implementan
  • Constructores, Selectores

3
Para qué sirven las simulaciones computacionales?
  • Permite el estudio detallado de sistemas
    complejos, sobre los que resulta costoso, difícil
    o peligroso llevar a cabo estudios reales.
  • Ejemplos
  • Colas en un peaje, banco o supermercado
  • Explosiones atómicas
  • Contagio de una enfermedad
  • Terremotos
  • Tacos en una ciudad

4
Características de un modelo de simulación
  • Es una simplificación de la realidad
  • Intenta recrear la realidad de forma que las
    variables estudiadas en el modelo se comporten de
    forma similar a la realidad
  • el mapa no es el terreno
  • Normalmente tienen parámetros, es decir variables
    que representan características del entorno y que
    pueden cambiarse en forma simple. Ejemplos
  • Número de autos
  • Tiempo de atención del cajero
  • Número de cajas
  • Normalmente los parámetros representan
    distribuciones de probabilidad o datos recogidos
    del mundo real.

5
Cada modelo requiere de un sustento teórico
  • El sustento depende del problema
  • Teorías típicamente utilizadas
  • Teoría de colas
  • Dinámica (física)
  • Elementos finitos
  • Teoría de autómatas

6
Para simular es necesario poder producir números
aleatorios
  • Cualquiera que considere generar números
    aleatorios por métodos puramente aritméticos
    está, por supuesto, en un estado de pecado -John
    Von Neumann
  • Cómo se pueden generar números aleatorios con un
    computador?
  • En la realidad no son aleatorios, si no
    seudo-aleatorios
  • Parecen aleatorios, pero en realidad no lo son
  • Existen varios formulas, pero la más usada es la
    congruencia lineal
  • s se llama la semilla.
  • Cuál puede ser una buena semilla?

7
Cómo implementar números aleatorios en C
  • Semilla
  • include ltstdlib.hgt
  • include lttime.hgt
  • / Inicializa generador de numeros aleatorios /
  • void randomize()
  • time_t tim / Variable para almacenar la
    hora actual /
  • time(tim) / Obtiene la hora actual /
  • srand(tim) / Establece semilla de acuerdo a
    hora /
  • Generación de 0 o 1 de forma aleatoria
  • int random01()
  • return((int)(((double) rand()/RAND_MAX)0.5))

8
Generando distribuciones uniformes
  • Con números flotantes entre A y B
  • double randomABd(double A, double B)
  • return((double) rand()/RAND_MAX(B-A)A)
  • Con números enteros?
  • int randomABi(int A, int B)
  • int j
  • j (int)((double) rand()/RAND_MAX(B1-A)A)
  • if (jgtB) return (B)
  • else return (j)

9
Simulación de cajas de un supermercado
  • Un supermercado recibe una cantidad regular de
    clientes diariamente, los cuales traen consigo
    una lista de los productos que van a comprar. Los
    clientes buscan sus productos en los estantes y
    pasan de inmediato a la caja que más les convenga
    (en la que deban esperar menos en la fila). Una
    vez que han pagado se retiran del local.
  • Para determinar cuál es la caja más conveniente,
    los clientes miran las compras que llevan los
    clientes en la cola, y eligen aquella caja con
    menos productos delante de ellos (como es
    natural).

10
Características del modelo
  • Los clientes llegan al supermercado según una
    tasa regular todos los días, y siguiendo un
    comportamiento de compras también regular.
  • Un cliente se demora un tiempo constante en
    ubicar cada uno de los productos que comprará.
  • Las cajeras pasan por el lector de barras los
    productos a un ritmo constante, es decir, una
    determinada cantidad de productos por minuto.
  • Una vez que un cliente elige una caja en la que
    hará fila, no se moverá a otra.
  • Se considera despreciable el tiempo que le toma
    al cliente pagar por sus compras y recibir su
    vuelto.
  • La unidad de tiempo discreto que se empleará en
    la simulación es equivalente a un minuto,
    descartando las tareas que puedan llevarse a cabo
    en fracciones restantes. Por ejemplo, si a una
    cajera le toma 10 segundos pasar los artículos de
    un cliente, el resto de ese minuto lo
    desperdiciará y no lo empleará atendiendo a otro
    cliente.
Write a Comment
User Comments (0)
About PowerShow.com