Está en la página 1de 15

SIS 2520 Simulación de sistemas Rubén Medinaceli O.

1. Resolución de problemas probabilísticos y estocásticos

Entre los problemas matemáticos de naturaleza probabilística que el método de


Montecarlo permite resolver, corresponde mencionar a los siguientes:

• Probabilidades
• Procesos estocásticos (cadenas de Markov)
• Juegos de azar

A continuación se desarrollan algunos ejemplos.

1.1. Ejemplo 1

Problema:

Tres tanques de guerra (A ,B y C) están en un duelo.


La probabilidad del tanque A de dar en el blanco es igual a 1/2.
La probabilidad del tanque B de dar en el blanco es igual a 1/3.
La probabilidad del tanque C de dar en el blanco es igual a 1/6.
Cada tanque apunta hacia su oponente más fuerte.
Los tres tanques disparan simultáneamente.
El duelo termina cuando:
• Los tres tanques sobreviven
• Ninguno de los tanques sobrevive
• Un solo tanque sobrevive

Simular el duelo y estimar la probabilidad que el tanque C gane el duelo.

Solución:

El siguiente gráfico representa el duelo inicial:

A B

El modelo que permite simular el duelo y estimar la probabilidad solicitada es el siguiente,

1
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

Inicio
(1)

pA = 1/2; pB = 1/3; pC = 1/6


(2)
n = ___; i = 0; nc = 0 (10)
0 (3)
X PGC = nc / n
i=i+1 (11)

(4) PGC
X i:n
>

≤ Fin
(7) (5) (6)
no no si si
¿C? ¿B? ¿A? ¿ B? nc = nc + 1
si si no
(8)
X
Duelo entre B y C si
¿C?

no (9)
si
¿C? ¿B? Duelo entre A y C
BB¿
no si no
? si si
no ¿A? ¿C? X
X X
¿C?
no no

si no X
¿C?
nc = nc + 1
si

nc = nc + 1
X

Las variables son:

pA = Probabilidad que el tanque A de en el blanco


pB = Probabilidad que el tanque B de en el blanco
pC = Probabilidad que el tanque C de en el blanco
n = Número máximo de duelos a ser simulados
i = Contador de duelos
nc = Número de duelos ganados por el tanque C
¿A? = ¿Da el tanque A en el blanco?
¿B? = ¿Da el tanque B en el blanco?
¿C? = ¿Da el tanque C en el blanco?
PGC = Probabilidad que el tanque C de en el blanco

2
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

Describiendo el modelo,

En el bloque (1), el modelo conoce las probabilidades de los tanques A, B y C de dar en el


blanco. En el bloque (2) se inicializan algunas variables y se establece el número de
duelos a ser simulados. Los duelos se inician en el bloque (3); el bloque (4) verifica si la
simulación ha concluido.

El bloque (5) simula el disparo del tanque A. En el presente caso, la probabilidad del
tanque A de dar en el blanco es igual a ½, igual a la probabilidad de obtener 1, 2 o 3
puntos en la cara superior cuando se lanza un dado; por ello, el disparo del tanque A es
simulado con el siguiente modelo:

Inicio

Generar r

D = Fix (6r) + 1

= 1, 2, 3 = 4, 5, 6
D

si no

Fin

Donde:

r = Número aleatorio en el intervalo (0,1)


D = Número de puntos que muestra la cara superior del dado
Fix (x) = Función de Matlab que toma la parte entera de un número
si = El tanque A da en el blanco
no = El tanque A no da en el blanco

Este pequeño modelo no ha sido incluido en el modelo general con el único propósito de
no perder claridad. En la implementación del modelo general en un computador,
obviamente, debe ser incluido.

El bloque (6) simula el disparo del tanque B. En el presente caso, la probabilidad del
tanque B de dar en el blanco es 1/3, igual a la probabilidad de obtener 1 ó 2 puntos en la
cara superior cuando se lanza un dado. El siguiente modelo, similar al anterior, simula el
disparo del tanque B,

3
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

Inicio

Generar r

D = Fix (6r) + 1

= 1, 2 = 3, 4, 5, 6
D

si no

Fin

Donde:

r = Número aleatorio en el intervalo (0,1)


D = Número de puntos que muestra la cara superior del dado
Fix (x) = Función de Matlab que toma la parte entera de un número
si = El tanque B da en el blanco
no = El tanque B no da en el blanco

De igual manera, en el bloque (7) se simula el disparo del tanque C. La probabilidad del
tanque C de dar en el blanco es 1/6 igual a la probabilidad de obtener 1 punto (“Ace”) en
la cara superior cuando se lanza un dado. El siguiente modelo simula el disparo del
tanque C,

Inicio

Generar r

D = Fix (6r) + 1

=1 = 2, 3, 4, 5, 6
D

si no

Fin

Donde:

r = Número aleatorio en el intervalo (0,1)


D = Número de puntos que muestra la cara superior del dado

4
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

Fix (x) = Función de Matlab que toma la parte entera de un número


si = El tanque C da en el blanco
no = El tanque C no da en el blanco
El bloque (8) inicia el duelo entre los tanques B y C, cuando ambos sobreviven. El bloque
(9) inicia el duelo entre los tanques A y C.

El bloque (10) estima la probabilidad del tanque C de ganar el duelo (PGC = nc / n); y el
bloque (11) exhibe dicho resultado.
A continuación se procede a la simulación de 10 duelos,

n = 10
Tanque A Tanque B Tanque C
i r D ¿A? r D ¿B? r D ¿C? nc
0 0
1 0,040 1 si 0,105 1 Si 1
2 0,937 6 no 0,169 2 Si
0,989 6 No 0,725 5 no
0,732 5 No 0,395 3 no
0,724 5 No 0,824 5 no
0,256 2 Si 0,385 3 no
3 0,955 6 no 0,329 2 Si
0,598 4 No 0,099 1 si 2
4 0,181 2 si 0,816 5 No 0,187 2 no
0,533 4 no 0,443 3 no
0,175 2 si 0,737 5 no
5 0,920 6 no 0,462 3 No 0,159 1 si
0,062 1 Si 0,076 1 si
6 0,161 1 si 0,826 5 No 0,228 2 no
0,326 2 si 0,529 4 no
7 0,958 6 no 0,068 1 si
0,196 2 Si 0,994 6 no
8 0,907 6 no 0,042 1 Si
0,136 1 No 0,172 2 no
0,695 5 No 0,688 5 no
0,359 3 No 0,395 3 no
0,852 6 No 0,351 3 no
0,402 3 No 0,282 2 no
0,281 2 Si 0,296 2 no
9 0,886 6 no 0,241 2 Si
0,666 4 No 0,277 2 no
0,064 1 Si 0,031 1 si
10 0,191 2 si 0,344 3 No 0,825 5 no
0,869 6 no 0,551 4 no
0,221 2 si 0,785 5 no
11
𝑛𝑐 2
𝑃𝐺𝐶 = = = 0,20
𝑛 10

5
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

1.2. Ejemplo 2

Problema:

Cierto servomecanismo contiene cuatro (4) dispositivos (A, B, C, D) conectados de la


forma que muestra la siguiente figura.

La confiabilidad de funcionamiento (en términos de probabilidad) del dispositivo A es igual


a 0,70; la del dispositivo B es igual a 0,80; la del dispositivo C es igual a 0,90 y la del
dispositivo D es igual a 0,85.

Estimar la confiabilidad de funcionamiento (en términos de probabilidad) del


servomecanismo.

A B

C
Solución:

El modelo que permite simular el funcionamiento del servomecanismo es el siguiente:

Inicio

pA = 0,7; pB = 0,8; pC = 0,9; pD = 0,85

n = ____; i = 0; nf =
0
A
i=i+1 P = nf / n

> P
i:n

Generar rA, rB, rC, rD Fin

rA : pA > rC : pC >

> ≤
rB : pA


>
rD : pD


nf = nf + 1

A6
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

pA = Confiabilidad de funcionamiento del dispositivo A


pB = Confiabilidad de funcionamiento del dispositivo B
pC = Confiabilidad de funcionamiento del dispositivo C
pD = Confiabilidad de funcionamiento del dispositivo D
n = Número máximo de experimentos
i = Contador de experimentos
nf = Número de experimentos en los cuales el servomecanismo funciona
rA = Número aleatorio en el intervalo (0,1) (confiabilidad de A en un experimento)
rB = Número aleatorio en el intervalo (0,1) (confiabilidad de B en un experimento)
rC = Número aleatorio en el intervalo (0,1) (confiabilidad de C en un experimento)
rD = Número aleatorio en el intervalo (0,1) (confiabilidad de D en un experimento)
P = Confiabilidad (en términos de probabilidad) del servomecanismo

A continuación se simula el funcionamiento del servomecanismo con 10 experimentos y


se estima la confiabilidad solicitada,

n = 10; pA = 0,70; pB = 0,80; pC = 0,90; pD = 0,85

i rA rB rC rD Nf
0 0
1 0,805 0,270 0,824 0,761 1
2 0,277 0,092 0,629 0,221 2
3 0,582 0,511 0,143 0,929
4 0,013 0,887 0,556 0,118 3
5 0,423 0,452 0,891 0,145 4
6 0,797 0,525 0,528 0,991
7 0,137 0,665 0,761 0,003 5
8 0,164 0,216 0,597 0,126 6
9 0,686 0,173 0,716 0,640 7
10 0,496 0,336 0,810 0,512 8
11

𝑛𝑓 8
𝑃= = = 0,8
𝑛 10

1.3. Ejemplo 3

Problema:

El diagrama inferior muestra cuatro compartimientos y las puertas que conducen de un


compartimiento a otro.
Un ratón ubicado en alguno de los compartimientos elige con igual probabilidad cualquiera
de las puertas disponibles para cambiar de compartimiento. Asuma que inicialmente el
ratón se encuentra en el compartimiento 4.
Simular el paseo del ratón por los diferentes compartimientos para,

i) Identificar el compartimiento en el que se encontrará el ratón en el quinto


cambio de compartimiento (recurrir a un solo experimento o realización)

7
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

ii) Estimar la probabilidad que durante los 4 primeros cambios de compartimiento,


el ratón pase por el comportamiento 1. (recurrir a cuatro experimentos o
realizaciones).

1 2

3 4

Solución:

En el modelo se recurre a las siguientes variables:

n = Número máximo de realizaciones


m = Número de cambios de compartimiento en un paseo
i = Contador de realizaciones
j = Contador de cambios de compartimiento
c = Identificador del compartimiento en el que se encuentra el ratón
k = Identificador
k = 1 El ratón pasó por el compartimiento 1 durante el paseo
k = 0 El ratón no pasó por el compartimiento 1 durante el paseo
n1 = Número de realizaciones en las que el ratón pasa por el compartimiento 1
P1 = Probabilidad que el ratón pase por el compartimiento 1 durante los 4 primeros
cambios de compartimiento
r = Número aleatorio en el intervalo (0,1)

El modelo elaborado se muestra a continuación,

8
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

Inicio

n = ____; m = ___

i = 0; n1 = 0

B
i=i+1

>
i:n P1 = n1 / n

c = 4; k = 0; j = 0 c; P1

A
j=j+1
Fin

>
j:m B

≠ ≠ ≠
c:4 c :3 c:2
= = =

Generar r Generar r Generar r Generar r

r : 1/2 > r : 1/3 > r : 1/3 > r : 1/2 >

≤ ≤ ≤ ≤

c=3 c=2 c=4 c=1 c=4 c=1 c=2 c=3

= =
k:1 k:1

≠ ≠
k=1 k=1

n1 = n1 + 1 n1 = n1 + 1

9
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

i)
A continuación se recurre a 1 experimento con el modelo desarrollado,

n = 1; m = 5
I J r k n1 c
0 0
1 0 0 4
1 0,639 2
2 0,348 1 1 1
3 0,165 2
4 0,477 1
5 0,075 2
6
2

Nótese que en el quinto cambio de compartimiento el ratón se encuentra en el


compartimiento 2 (c = 2).

ii)

A continuación se simula a cabo 4 experimentos con el modelo desarrollado,

n = 4; m = 4
I J R k n1 c
0 0
1 0 0 4
1 0,933 2
2 0,425 1 1 1
3 0,125 2
4 0,943 1
5
2 0 0 4
1 0,669 2
2 0,220 4
3 0,302 3
4 0,219 4
5
3 0 0 4
1 0,760 2
2 0,768 1 2 1
3 0,003 2
4 0,420 1
5
4 0 0 4
1 0,290 3
2 0,981 1 3 1
3 0,134 2
4 0,134 4

10
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

5
5

𝑛1 3
𝑃1 = = = 0,75
𝑛 4

1.4. Ejemplo 4

Problema:

El “CRAP” es un famoso juego de azar en el que el jugador lanza dos dados y se anota
la suma de los puntos que muestran las caras superiores de los dados. Si en el primer
lanzamiento la suma es igual a siete (7) u once (11), el jugador gana. Si en el primer
lanzamiento la suma es dos (2), tres (3) o doce (12) el jugador pierde. Si la suma es
cuatro (4), cinco (5), seis (6), ocho (8), nueve (9) o diez (10) en el primer lanzamiento,
ésta se convierte en la referencia del jugador. Para ganar, el jugador sigue lanzando los
dos dados hasta obtener nuevamente una suma igual a su referencia. El jugador pierde
si obtiene una suma igual a siete (7) antes de lograr su referencia.

Simular el “CRAP” y estimar la probabilidad que tiene un jugador de ganar este juego.

Solución:

El modelo construido utiliza las siguientes variables,

n = Número máximo de experimentos o juegos


i = Contador de experimentos o juegos
ng = Número de juegos ganados
r = Número aleatorio en el intervalo (0, 1)
d1 = Número de puntos que muestra la cara superior del dado 1
d2 = Número de puntos que muestra la cara superior del dado 2
sum = Número de puntos que muestras las caras superiores de los dos dados (d1 + d2)
ref = Referencia del jugador
PG = Probabilidad de ganar del jugador

El modelo que simula el “CRAP” es el siguiente,

11
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

Inicio

(1)

n = ___; i = 0; ng = 0

A (2)

i=i+1

(3) (18)
i:n > PG = ng / n
(19)
≤ (4)
PG
Generar r

(5)
d1 = fix (6r) + 1 Fin
(6)
Generar r
(7)

d2 = fix (6r) + 1
(8)

sum = d1 + d2

(9) (11)
= 2, 3, 12 sum = 4, 5, 6, 8, 9, 10
ref = sum

= 7, 11
(10) (12)
ng = ng + 1 Generar r
(13)
d1 = fix (6r) + 1
(14)
Generar r
(15)
d2 = fix (6r) + 1
(16)

Sum = d1 + d2

= ref (17) ≠ 7; ≠ ref


sum

=7

12
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

Se inicia (bloque (1)) definiendo el número de experimentos a realizar y los valores


iniciales del contador de experimentos y del número de experimentos en los que el
jugador gana. En el bloque (3) se averigua si la simulación ha terminado.

En los bloques (4) al (7) se lanzan los dados y se conoce el número de puntos que
muestran las caras superiores de los dados.

La suma de los puntos que muestran las caras superiores de los dados se obtiene en el
bloque (8). Si la suma es 7 u 11 el jugador gana, si esta es 2, 3 ó 12 el jugador pierde. Si
la suma es 4, 5, 6, 8, 9 ó 10, ésta resulta ser la referencia del jugador (bloque (11)). En
los bloques (12) al (17) los dados son lanzados repetitivamente hasta que la suma sea
igual a la referencia (el jugador gana) o sea igual a 7 (el jugador pierde).

Una vez terminada la simulación, se estima la probabilidad de ganar del jugador (bloque
(18)) dividiendo el número de jugadas ganadas (nf) por el número de jugadas simuladas
(n).

El siguiente cuadro muestra 10 simulaciones del “CRAP”,

n = 10
dado 1 dado 2
i r d1 r d2 sum ref ng Observaciones
0 0
1 0,284 2 0,609 4 6 6 Vuelve a lanzar
0,790 5 0,214 2 7 Pierde
2 0,182 2 0,397 3 5 5 Vuelve a lanzar
0,828 5 0,575 4 9 Vuelve a lanzar
0,769 5 0,117 1 6 Vuelve a lanzar
0,512 4 0,696 5 9 Vuelve a lanzar
0,821 5 0,382 3 8 Vuelve a lanzar
0,683 5 0,533 4 9 Vuelve a lanzar
0,312 2 0,718 5 7 Pierde
3 0,923 6 0,929 6 12 Pierde
4 0,362 3 0,702 5 8 8 Vuelve a lanzar
0,332 2 0,173 2 4 Vuelve a lanzar
0,775 5 0,202 2 7 Pierde
5 0,337 3 0,941 6 9 9 Vuelve a lanzar
0,241 2 0,748 5 7 Pierde
6 0,416 3 0,046 1 4 4 Vuelve a lanzar
0,865 6 0,445 3 9 Vuelve a lanzar
0,293 2 0,935 6 8 Vuelve a lanzar
0,551 4 0,345 3 7 Pierde
7 0,734 5 0,185 2 7 1 Gana
8 0,653 4 0,372 3 7 2 Gana
9 0,425 3 0,966 6 9 9 Vuelve a lanzar
0,805 5 0,418 3 8 Vuelve a lanzar
0,547 4 0,189 2 6 Vuelve a lanzar
0,380 3 0,979 6 9 3 Gana
10 0,626 4 0,887 6 10 10 Vuelve a lanzar
0,047 1 0,424 3 4 Vuelve a lanzar

13
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

0,974 6 0,702 5 11 Vuelve a lanzar


0,396 3 0,113 1 4 Vuelve a lanzar
0,951 6 0,080 1 7 Pierde
11 Termina la simulación

𝑛𝑓 3
𝑃𝐺 = = = 0,3
𝑛 10

Práctica
1. Sea X una variable aleatoria que sigue una distribución normal con una media
igual a 100 y una varianza igual a 64,
a) Calcular P(90 ≤ X ≤ 120), utilizando las tablas de la distribución normal.
b) Estimar la probabilidad solicitada en a) utilizando el método de Montecarlo.
c) Comparar y comentar los resultados obtenidos.

2. Dado el siguiente programa lineal,

Minimizar Z = 30 X1 + 60 X2
Sujeto a,
5X2 + 3X1 ≤ 2 000 000
X2 - X1 ≤ 50 000
X1 - X2 ≤ 50 000
X2 ≤ 275 000
X1 + X2 ≤ 475 000
X1 ≥ 0
X2 ≥ 0

a) Resolver el programa lineal gráficamente


b) Resolver el programa lineal utilizando el método de Montecarlo
c) Comparar y comentar los resultados obtenidos

3. Encontrar las dimensiones del rectángulo de mayor área que se puede inscribirse
en una semicircunferencia de 12 cm de radio. Las bases deben coincidir.

a) Resolver el problema analíticamente


b) Resolver el problema utilizando el método de Montecarlo
c) Comparar y comentar los resultados obtenidos

4. En un juego de azar se lanza 3 monedas (10 ¢, 20 ¢ y 50 ¢). Si las monedas de 10


¢ y 50 ¢ muestran “cara” el apostador debe seleccionar dos cartas de una baraja
de 52 cartas; de otra manera, selecciona al azar una bola de billar de una bolsa
que contiene dos bolas blancas y una negra. Si ambas cartas seleccionadas
tienen el mismo número, el apostador gana un monto similar al de su apuesta; de
otra manera, pierde su apuesta. Si la bola seleccionada es negra, el apostador
gana un monto similar al de su apuesta; de otra manera, pierde la misma.

a) Simular el juego y estimar la probabilidad que el apostador tiene de ganar el


mismo.

14
SIS 2520 Simulación de sistemas Rubén Medinaceli O.

b) Simular el juego y estimar el monto que de dinero que tendrá el apostador al


finalizar la décima apuesta. Asumir que al empezar el juego, el apostador tiene
Bs. 10 y que el monto de la apuesta es fijo e igual a Bs. 1.

NOTAS:

• En las simulaciones manuales, el número mínimo de experimentos debe ser


igual a 10.
• Se otorgarán puntos extra si el estudiante implementa los modelos en un
computador y efectúa al menos 1000 experimentos en cada caso.

15

También podría gustarte