UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Humberto Ramírez...

93
i UNIVERSIDAD DE COLIMA FACULTAD DE TELEMÁTICA “SIMULACIÓN ESTOCÁSTICA PARA PREDICCIÓN EN LOS DEPORTES” TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS, ÁREA TELEMÁTICA PRESENTA ING. HUMBERTO RAMÍREZ GONZÁLEZ ASESORES PH.D. CARLOS MOISÉS HERNÁNDEZ SUÁREZ M.C. MARTÍN SANTOS VIRGEN COLIMA, COL., JUNIO DE 2001.

Transcript of UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Humberto Ramírez...

i

UNIVERSIDAD DE COLIMA

FACULTAD DE TELEMÁTICA

“SIMULACIÓN ESTOCÁSTICA PARA PREDICCIÓN EN LOS

DEPORTES”

TESIS

QUE PARA OBTENER EL GRADO DE

MAESTRO EN CIENCIAS, ÁREA TELEMÁTICA

PRESENTA

ING. HUMBERTO RAMÍREZ GONZÁLEZ

ASESORES

PH.D. CARLOS MOISÉS HERNÁNDEZ SUÁREZ

M.C. MARTÍN SANTOS VIRGEN

COLIMA, COL., JUNIO DE 2001.

i

Agradecimientos.

El expresarme correctamente nunca ha sido mi principal destreza, así que

solo espero no olvidar mencionar a ninguna persona, que de alguna forma

ú otra, me apoyaron para llegar hasta aquí.

A Dios, por todo lo que he recibido de él.

A mis padres, que desde niño me inculcaron el estudio y su

principal preocupación fue la educación de mis hermanos y

mía.

A mis hermanos, pues sé que siempre puedo contar con ellos.

A Livier gracias por tu apoyo y compañía, han sido muy

importantes.

A Anelsy, mi hija, quien ocupa gran parte de mis

pensamientos y por quien sé, debo superarme.

A Carlos, mi mejor amigo, pues sin sus regaños, consejos y

apoyo, difícilmente podría estar aquí.

A mis compañeros de la maestría, creo que fue muy divertida

esta etapa, y creo también, que aprendimos mucho.

A Carlos Moisés, por la oportunidad que me dio, de colaborar

con él y aprender muchas cosas, durante la elaboración de

este trabajo.

A mis maestros de la maestría, y al personal de la Facultad de

Telemática, de quienes he recibido bastante apoyo desde que

inicie mis estudios de maestría. Moisés, Román H., Román G.,

Martín, Gilberto, Erika, Raúl, Pedro, Sara, Omar, etc.

Humberto Ramírez González. 

i

RESUMEN.

Este trabajo “Simulación estocástica para predicción en los deportes” fue

desarrollado con la finalidad de utilizar una herramienta tan poderosa y necesaria

hoy en día como lo es la computadora junto con otras ciencias del conocimiento,

como lo es la probabilidad y la estadística, demostrando que el campo de

aplicación de la ciencia de las computadoras va mas allá de los límites que

muchas veces son planteados.

Uno de los objetivos de esta investigación es el poder predecir con un alto

grado de confianza los resultados del torneo de fútbol mexicano de primera

división, este sistema no contempla la posibilidad que tienen lo equipos de

enfrentarse mediante el termino de repesca o “repechaje”, lo cual podría ser

implementado si se quisiera incrementar el grado de confianza de los resultados.

Es sabido que en un juego que es de equipo, todos los miembros tienen

fundamental importancia y repercusión en el desempeño del mismo, por lo tanto

cuando un equipo cambia de jugadores, no es tan importante el comportamiento

que haya tenido anteriormente. Considerando este punto podemos mencionar que

para la recopilación de información para este sistema, sólo deberán ser

considerados los resultados acumulados del torneo que se está jugando.

Para realizar las distintas pruebas del sistema se utilizaron los resultados

de torneos anteriores y se fueron comparando los resultados arrojados por el

sistema con el resultado de ese torneo en particular.

Por último es importante hacer notar que no existe ningún método que

pueda predecir totalmente el comportamiento de un sistema que tenga un

comportamiento aleatorio, sin embargo es posible mediante la combinación de

diversos métodos, lograr una muy buena predicción del mismo. Por ello, este

i

trabajo esta enfocado a predecir el comportamiento aleatorio de un evento a

través de una simulación estocástica, mediante una aplicación para el torneo de

fútbol mexicano de la primera división.

i

SUMMARY.

This work “Simulación estocástica para predicción en los deportes” was

developed with the intention of using a powerful and necessary tool such as the

computer together with another sciences, as probability and statistics, showing that

the application field of the computer science goes beyond limits that are usually

stipulated.

One of the objectives of this investigation, is to predict with a high accuracy

the results of the Mexican football soccer’s first division match, this system does

not contemplate to the possibility that have the equipments to face by means of

“repechaje”, which could be implemented to increase the accuracy of results.

It is known that in a equipment game, all the members have fundamental

importance and repercussion in the performance of the same one, therefore when

an equipment changes its players, is not so important the behavior that it has had

previously. Considering this point we can mention that for the compilation of

information for this system, only accumulated results of the match being played will

have to be considered.

In order to make the different tests from the system, the results of previous

matches were used and they went comparing the results thrown by the system with

the result of that individual match.

Finally, is important to make notice that does not exist any method that can

predict totally the behavior of a system that has a random behavior, nevertheless is

possible by means of the combination of diverse methods, to obtain a very good

prediction of the same one. For that reason, this work is focused to predict the

random behavior of an event through an stochastic simulation, by means of an

application for the mexican soccer first division match.

i

Índice

No. Página

Agradecimientos .................................................................................................. i

Resumen .............................................................................................................. ii

Summary ............................................................................................................. iii

Índice ............................................................................................................ iiii

Tabla de imágenes ......................................................................................... iiiiiiii

Introducción ................................................................................................... iiiiiiiii

Objetivo ..................................................................................................... iiiiiiiiii

Justificación .............................................................................................. iiiiiiiiii

Hipótesis ................................................................................................... iiiiiiiiii

I. Teoría de la probabilidad

I.1. Modelo estocástico. .................................................................................. 1

I.2. Procesos estocásticos. ............................................................................. 2

I.3. Aleatorio vs. Determinístico. ..................................................................... 3

I.4. Algunos generadores comunes ................................................................ 4

I.5. Variables aleatorias................................................................................... 6

I.6. Distribución de probabilidad para variables aleatorias discretas ............... 7

I.6.1. Pruebas de Bernoulli. ....................................................................... 8

I.6.2. Distribución binomial. ........................................................................ 9

I.6.3. Distribución hipergeométrica. ......................................................... 11

I.6.4. Distribución Poisson. ...................................................................... 12

I.7. Distribución de probabilidad para variables aleatorias continuas. ........... 13

I.7.1. Distribución uniforme. ..................................................................... 15

I.7.2. Distribución normal. ........................................................................ 15

I.7.3. Distribución exponencial. ..................................................................... 16

I.7.4. Distribución gamma. ............................................................................ 17

i

II. Simulación

II.1. Método Montecarlo ................................................................................ 20

II.2. Simulación. ............................................................................................ 21

II.2.1. Parámetros ambientales. ............................................................... 23

II.2.2. Variables. ....................................................................................... 23

II.2.3. Número de simulaciones. .............................................................. 23

II.3. Tipos de simulación. .............................................................................. 24

II.3.1. Simulación discreta. ....................................................................... 24

II.3.2. Simulación determinística. ............................................................. 24

II.3.3. Simulación estocástica. ................................................................. 25

II.4. Usos de la simulación. ........................................................................... 25

II.4.1. Herramientas educacionales. ........................................................ 26

II.4.2. Medios de análisis. ........................................................................ 26

II.4.3. Predictores. ................................................................................... 26

II.4.4. Ciencia de la computación. ............................................................ 27

II.4.5. Caos y sistemas complejos. .......................................................... 27

II.4.6. Realidad virtual. ............................................................................. 27

II.4.7. Vida artificial. ................................................................................. 28

II.4.8. Modelado físico y animación por computadora.............................. 28

II.5. Antecedentes de sistemas de simulación .............................................. 28

II.6. Ventajas de la simulación. ..................................................................... 30

II.7. Desventajas de la simulación. ................................................................ 31

II.8. Simulación de un proceso. ..................................................................... 32

III. Herramientas de desarrollo

III.1. Matlab. .................................................................................................. 35

III.1.1. Productos adicionales. .................................................................. 36

III.1.2. Características. ............................................................................. 36

III.1.3. Características adicionales del producto. ..................................... 37

i

III.1.4. Gráficos y Visualización. ............................................................... 37

III.1.5. Herramientas GUI y gráficas programables. ................................. 38

III.1.6. Simulación y modelización. .......................................................... 38

III.1.7. Algoritmos fundamentales:Matlab y Toolboxes. ........................... 38

III.1.8. Los beneficios de programar en Matlab. ....................................... 39

III.1.9. Conectando aplicaciones de Matlab con nuevos entornos. .......... 40

III.2. Simulink. ............................................................................................... 40

III.2.1. Características. ............................................................................. 41

III.2.2. Características principales. ........................................................... 41

III.2.3. Una extensa librería de bloques. .................................................. 42

III.2.4. Simulación. ................................................................................... 43

III.2.5. Modernos algoritmos de integración. ............................................ 43

III.2.6. Integración con Matlab. ................................................................ 43

III.2.7. Bibliotecas de enlace dinámico dll. ............................................... 44

III.3. Lenguaje de programación Visual Basic 6.0. ........................................ 44

III.3.1. Características. ............................................................................. 45

III.3.2. Entorno de desarrollo integrado. ................................................... 46

IV. Sistema de simulación

IV.1. Torneo de fútbol mexicano de primera división. ................................... 49

IV.2. Metodología. ......................................................................................... 49

IV.2.1. Simulación de un partido. ............................................................. 50

IV.2.2. Simulación de una jornada. .......................................................... 51

IV.2.3. Simulación del torneo. .................................................................. 51

IV.3. Sistema. ................................................................................................ 51

IV.3.1. Entrada de datos. ......................................................................... 52

IV.3.2. Procesamiento de Información. .................................................... 57

IV.3.2.1. Funcionamiento en modo pasivo. ........................................ 64

IV.3.2.2. Funcionamiento en modo activo. ......................................... 68

IV.3.3. Salida de información. .................................................................. 69

IV.3.3.1. Salida pasiva y activa. ......................................................... 69

i

IV.3.4. Solución a preguntas ¿QUÉ PASA SÍ?. ....................................... 70

IV.4. Prueba de la hipótesis. ......................................................................... 71

Conclusiones .................................................................................................... 77

Bibliografía ........................................................................................................ 81

i

Tabla de imágenes.

No. Página

Imagen

4.1 Captura de grupos .................................................................................. 53

4.2 Captura de jornadas................................................................................ 54

4.3 Captura de resultados ............................................................................. 55

4.4 Elección del tipo de simulación ............................................................... 63

4.5 Grafica de una simulación ....................................................................... 70

4.6 Pantalla para la simulación activa ........................................................... 72

4.7 Probabilidades de clasificación en la jornada 10 .................................... 73

4.8 Simulación del encuentro Atlas vs. Puebla ............................................. 74

4.9 Simulación del encuentro León vs. América ........................................... 75

4.10 Simulación del encuentro Puebla vs. Santos ........................................ 76

4.11 Simulación del encuentro Pachuca vs. Santos ..................................... 76

i

INTRODUCCIÓN.

Los avances en la tecnología llevan invariablemente a la construcción de

sistemas con capas adicionales de complejidad que están formados por

subsistemas aun más complejos. Con el tiempo estos sistemas llegaran a

convertirse en subsistemas de otros sistemas mucho más complejos. Dentro de

todo este crecimiento, los simuladores proveen un medio por el cual estos

sistemas abstractos o del mundo real pueden ser comprendidos y evaluados, al

duplicar el comportamiento de estos sistemas mediante hardware y/o software.

Un fenómeno aleatorio que surge en un proceso (ej. el movimiento de una

partícula en movimiento browniano, el crecimiento de una población, el

desempeño de una red de computadoras) que se desarrolla en el tiempo de una

manera controlada por medio de leyes probabilísticas se denomina proceso

estocástico.

Es importante mencionar que son muchos los recursos destinados al

desarrollo de equipo de cómputo poderoso que sea capaz de resolver problemas

complejos, problemas que también pueden ser atacados mediante la simulación

del mismo.

Por otro lado, el fútbol es un deporte que desde sus inicios hasta ahora ha

incrementado enormemente el número de sus seguidores, y es mucho el interés

que generan los torneos que se juegan a lo largo del mundo, llegándose incluso a

invertir grandes cantidades de dinero en apuestas en países donde esto es legal,

también forma parte del prestigio de algún medio de información el poder hacer

pronósticos o predicciones de los resultados que se tendrán en un torneo con un

alto grado de confianza.

i

Objetivo.

Desarrollar un sistema que utilice la simulación estocástica para predecir

los resultados del torneo mexicano de fútbol de primera división, demostrando que

la simulación es una herramienta útil para conocer el comportamiento de los

sistemas, antes de que los eventos involucrados ocurran.

Justificación.

La simulación ha sido uno de los principales objetivos del uso de las

computadoras desde sus inicios, son muchos los recursos que se han destinado al

desarrollo de hardware poderoso que permita simular sistemas complejos, sin

embargo es posible atacar muchos problemas mediante el uso de una PC y

lenguajes de programación o utilizando software de simulación.

Es muy importante cuando se va a implementar algún sistema, predecir su

comportamiento y saber cuales serian las condiciones que favorecerían el

desempeño del mismo, esto es posible lograrlo utilizando la simulación.

Hipótesis.

Después de haber hecho un análisis sobre distintos enfoques posibles para

este trabajo, se propone la siguiente hipótesis:

“Un modelo de simulación estocástica por computadora es capaz de

predecir con un alto grado de confianza, los resultados del torneo de fútbol

mexicano de primera división”

Simulación estocástica para predicción en los deportes.

1

CAPÍTULO I.

TEORÍA DE LA PROBABILIDAD.

En este capitulo se analizaran algunos conceptos básicos sobre la

probabilidad y la estadística, para primeramente, comprender el comportamiento de

un proceso estocástico y posteriormente poder reproducirlo.

I.1. Modelo estocástico.

La palabra estocástico se deriva del alfabeto griego y significa “aleatorio”,

antónimo de determinista, que significa seguro o cierto. Un modelo determinista

predice una salida dado un conjunto de circunstancias. Un modelo estocástico

predice un conjunto de salidas determinadas por sus probabilidades. Cuando

lanzamos una moneda al aire, es seguro que esta caerá en algún lugar, pero es

incierto si caerá cara o cruz. (Howard M. Taylor, 1994)

“Sin embargo los fenómenos que se analizan, no son inherentemente

estocásticos o deterministas, sino que es elección del observador definirlo, la

elección depende del propósito del observador.” (Howard M. Taylor, 1994)

Para crear un modelo científico se tienen tres componentes: un fenómeno

natural que es el objeto de estudio, un sistema lógico que permite realizar

deducciones sobre este fenómeno, y una manera de enlazar los elementos del

sistema natural que esta siendo estudiado con el sistema lógico que se utiliza para

modelarlo.

Para que un modelo estocástico sea útil, debe reflejar todos los aspectos que

son relevantes para el problema sobre el que se esta trabajando del fenómeno que

Simulación estocástica para predicción en los deportes.

2

esta siendo estudiado, además, el modelo debe realizar cálculos y permitir hacer

deducciones de importantes predicciones o implicaciones sobre dicho fenómeno.

Muchos sistemas tienen un comportamiento estocástico y por lo tanto deben

ser modelados mediante elementos estocásticos, esto significa que en estos

modelos de simulación estocástica se utilizaran distribuciones probabilísticas.

Conforme la simulación avanza, se toman muestras de estas distribuciones para

proveer un comportamiento estocástico.

I.2. Procesos estocásticos.

Los procesos estocásticos son formas de cuantificar las relaciones dinámicas

de secuencias de eventos aleatorios. Estos juegan un papel importante en muchas

áreas de las ciencias naturales y de la ingeniería. Pueden ser utilizados para analizar

la variabilidad inherente en los procesos médicos y biológicos y para proveer nuevas

perspectivas, modelos, metodologías, e intuición para apoyar en estudios

estadísticos y matemáticos.

Un fenómeno aleatorio que surge en un proceso (ej. el movimiento de una

partícula en movimiento browniano, el crecimiento de una población, el desempeño

de una red de computadoras, la dispersión de un virus en una población) que se

desarrolla en el tiempo de una manera controlada por medio de leyes probabilísticas

se denomina proceso estocástico.

Para entender mejor este concepto analizaremos la definición del movimiento

Browniano, (el movimiento browniano es el movimiento constante errático de

pequeñas partículas suspendidas en un fluido o en gas. El movimiento inherente del

fluido ocasiona que las partículas suspendidas sean golpeadas de forma aleatoria.

Este impacto ocasiona que las partículas se muevan, por estas razones es

prácticamente imposible conocer la posición de una partícula en un momento

determinado).

Simulación estocástica para predicción en los deportes.

3

Así pues un proceso estocástico es una familia de variables aleatorias Xt,

donde t es un parámetro de un conjunto adecuado de índices. Por conveniencia se

escribe X(t) en lugar de Xt. Normalmente el índice t corresponde a unidades

discretas de tiempo, y el conjunto de índices es t={0,1,2,3,…}. De esta forma Xt

puede representar el resultado de lanzar sucesivamente una moneda varias veces,

la respuesta repetida de una persona en un experimento de aprendizaje, o las

observaciones sucesivas de alguna característica en una población. (Howard M

Taylor, 1994)

Los procesos aleatorios se distinguen por su espacio estático, o el rango de

posibles valores para la variable aleatoria Xt, por su conjunto de índices t y por las

relaciones de dependencia entre las variables aleatorias Xt.

I.3. Aleatorio vs. Determinístico.

Se ha mencionado hasta este punto la palabra aleatorio, pero ¿como se

obtienen estas variables?. Lo primero que se necesita para la simulación estocástica

es una fuente de aleatoriedad. Este punto es muy importante ya que muchas de las

funciones llamadas generadoras de números aleatorios incluidas en muchos

lenguajes de programación están muy lejos del concepto de aleatoriedad y esto ha

traído como consecuencia la invalidez de muchos estudios. (Brian D. Ripley, 1987)

“Parece perverso utilizar una computadora, la mas precisa y determinista de

todas las maquinas concebidas por la mente humana, para producir números

“aleatorios”. (William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T.

Vetterling, 1988)

Todas las funciones de uso común son en realidad pseudo-aleatorias, con

esto queremos decir que su comportamiento es determinista pero intenta imitar las

Simulación estocástica para predicción en los deportes.

4

propiedades de una secuencia de variables aleatorias independientes uniformemente

distribuidas.

Solo en ciertas y muy pocas ocasiones se requiere de variables aleatorias

independientes distribuidas uniformemente tal como son proporcionadas por los

métodos de generación de las computadoras. Sin embargo estas representan una

fuente útil de aleatoriedad que puede ser cambiada a cualquier forma.

La simulación fue uno de los primeros usos de las computadoras digitales. Los

pioneros de la computación notaron que los dispositivos físicos no se mezclaban bien

con las computadoras digitales. Aun cuando tablas de números aleatorios estaban

disponibles en cintas o tarjetas perforadas, éstas eran demasiado lentas y

complicadas. Así que se requirió buscar formas sencillas de generar secuencias

haphazard, y se consideraron diversos esquemas recursivos no lineales. Uno de los

primeros fue el método de la “mitad del cuadrado” de Von Neumann, que trabaja de

la siguiente forma: supongamos que se requiere una secuencia de números de

cuatro dígitos decimales. Comenzando con 8653, se eleva al cuadrado (74874409) y

se extrae la parte del medio 8744. Esto se repite para obtener.

8653,8744,4575,9306,6016,1922,6940,…

Esta es una secuencia determinista que parece aleatoria.

I.4. Algunos generadores comunes

El método de la mitad del cuadrado y otros desarrollados por la misma época

fueron prontamente rechazados como generadores de números pseudo aleatorios,

pero un método de esa era sobrevivió.

Se desarrollaron experimentos con este método congruente

Simulación estocástica para predicción en los deportes.

5

1mod1 ii aUU

que imita el efecto de una ruleta, el multiplicador a debe ser grande. En práctica esta

fórmula debe ser procesada en aritmética de precisión finita, así que es usual

generar enteros Xi

MaXX ii mod1

y ajustar MX

iiU donde a y M son enteros. Esta fórmula y sus variantes están ahora

muy difundidas.

Existen otros generadores implementados en las populares

microcomputadoras, aparentemente sin referencia a literatura existente.

Las secuencias producidas por todos estos generadores siguen una

estructura. Se han realizado muchos estudios para identificar esa estructura y

determinar sus consecuencias. Cualquier generador puede ser probado

empíricamente aplicando pruebas estadísticas para determinar la independencia y

uniformidad de (U1,…,UN) para un valor grande de N. Sin embargo esto puede

consumir mucho tiempo y además que deja la posibilidad de que existe una

estructura que no pudo ser detectada. (Brian D. Ripley, 1987)

Cabe mencionar que los algoritmos más complejos no son necesariamente

más aleatorios que los más simples. Por lo que muchos autores recomiendan utilizar

algoritmos simples y bien entendidos dentro de los cuales encontraremos algún

generador de números pseudo aleatorio suficientemente bueno para los propósitos

específicos.

Simulación estocástica para predicción en los deportes.

6

I.5. Variables aleatorias

En este punto mencionaremos las principales funciones de distribución

probabilísticas, comenzaremos por mencionar que existen dos tipos funciones de

distribución: las discretas y las continuas.

Una variable aleatoria discreta solo puede tener valores observados en

puntos aislados a lo largo de una escala. Los valores se expresan normalmente

como números enteros.

Como ejemplo tenemos el número de personas en un hogar, el número de

artículos en un inventario, la cantidad de goles por equipo en un encuentro, etc.

Una variable aleatoria continua puede superponer un valor en cualquier punto

fraccionario de un intervalo especificado. Como ejemplo tenemos el peso de un

embarque, la hora de salida de un vuelo, el número promedio de personas en una

comunidad.

Una vez que tenemos un conjunto de números pseudo aleatorios es necesario

generar variables independientes X1,X2,… con una función de distribución F dada o

una función de densidad de probabilidad (pdf) f.

Se asume que tenemos acceso al conjunto de muestras independientes

aleatorias de la distribución uniforme en (0,1). Aquí la tarea consiste en transformar

(Ui) a (Xi). En muchos casos se tienen algoritmos que facilitan esto. Aunque no existe

un mejor método que sea el universal para esta tarea, existen diferentes métodos

que pueden ser implementados.

Una variable aleatoria es un evento numérico cuyo valor se determina

mediante un proceso al azar. Cuando se asignan valores de probabilidad a todos los

valores numéricos de una variable aleatoria X, ya sea mediante un listado o a través

Simulación estocástica para predicción en los deportes.

7

de una función matemática, se obtiene como resultado una distribución de

probabilidad. La suma de las probabilidades para todos los resultados numéricos

posibles debe ser igual a uno, como se mencionó anteriormente.

Para seleccionar el algoritmo con que será generada la lista de variables

aleatorias es necesario considerar lo siguiente:

El método debe ser sencillo de entender y programar. Es muy fácil tener

errores mientras se implementan métodos sofisticados.

Los programas producidos deben ser compactos. Esto es importante

básicamente con equipos pequeños pero pueden reducir mucho tiempo en la

implementación y documentación en lenguajes interpretados.

El código final debe ser ejecutado razonablemente rápido. Este punto ha sido

enfatizado mucho al punto de excluir los dos anteriores. Es importante sobre

todo en donde el tiempo de proceso es muy costoso.

Los algoritmos utilizaran los números pseudo aleatorios y no deberán acentuar

las deficiencias de estos.

Esta demostrado que la velocidad de los algoritmos varía sorprendentemente

dependiendo del sistema y del lenguaje en que sean implementados.

I.6. Distribución de probabilidad para variables aleatorias discretas

Como se mencionó antes, este tipo de variables se representan normalmente

con valores enteros, por esto, para este tipo de variables se pueden listar todos los

valores numéricos posibles de la variable en una tabla junto con sus probabilidades

correspondientes. Una tabla, fórmula o gráfica que proporcione tales probabilidades

será una distribución de probabilidad para la variable aleatoria.

Simulación estocástica para predicción en los deportes.

8

En esta distribución de probabilidad aparecen todos los posibles valores que

puede tomar la variable junto con su correspondiente probabilidad de que ocurra ese

número de eventos.

Así pues la distribución de probabilidad para una variable aleatoria discreta Y

es una tabla, gráfica o fórmula que da la probabilidad p(y) asociada a cada posible

valor de y. La distribución de probabilidad p(y) para una variable aleatoria discreta

debe satisfacer dos propiedades. Primero dado que p(y) es una probabilidad, debe

asumir un valor en el intervalo 0p(y) 1. Segundo, la suma de los valores de p(y)

para todos los valores de y debe ser igual a uno. De esto se desprende que los

valores que y puede asumir representan diferentes conjuntos de eventos simples y

son, por lo tanto, eventos mutuamente excluyentes.

Existen diversas distribuciones estándar de probabilidades que pueden

utilizarse como modelos para una amplia gama de variables aleatorias discretas en

una aplicación.

I.6.1. Pruebas de Bernoulli.

Varias de las distribuciones de probabilidad que serán analizadas se basan en

experimentos o procesos en los que se realiza una secuencia de pruebas llamadas

pruebas de Bernoulli.

Una prueba de Bernoulli tiene uno de dos resultados mutuamente exclusivos,

que por lo regular se denotan como éxito y fracaso.

Un proceso Bernoulli es un proceso de muestreo en el que:

Simulación estocástica para predicción en los deportes.

9

1. Solo son posibles dos resultados mutuamente excluyentes en cada ensayo u

observación. Por conveniencia a estos resultados se les denomina como éxito

y fracaso.

2. Los resultados del conjunto de ensayos u observaciones constituyen eventos

independientes.

3. La probabilidad de éxito que se denota mediante p, permanece constante de

un ensayo a otro, por lo que se considera un proceso estacionario.

Aún cuando una variable aleatoria de Bernoulli tiene por sí sola poco interés

en aplicaciones, la realización de una serie de pruebas Bernoulli conduce a varias

distribuciones de probabilidad discretas bastante útiles.

I.6.2. Distribución binomial.

La distribución binomial es una distribución discreta de probabilidad aplicable

como modelo a diversas situaciones de toma de decisiones, siempre y cuando pueda

suponerse que el proceso de muestreo se ajusta a un proceso Bernoulli.

Puede utilizarse la distribución Binomial para determinar la probabilidad de

obtener un número determinado de éxitos en un proceso Bernoulli. Para esto se

pq

éxitodeadprobabilidp

donde

yqpyp

BernoullidepruebaunaparaadprobabiliddeónDistribuci

Ffracasoen

Sexitoeny

dondepruebaunaConsiderar

yy

1

)1,0()(

0

1

1

Simulación estocástica para predicción en los deportes.

10

requieren tres valores, el número específico de éxitos, el número de ensayos u

observaciones y la probabilidad de éxito de cada ensayo.

Las características que definen una variable aleatoria binomial son las

siguientes:

El experimento consiste en la suma de n pruebas de Bernoulli idénticas e

independientes.

ó

Cada prueba tiene únicamente dos posibles resultados. Éxito y Fracaso.

La probabilidad de éxito y la probabilidad de fracaso se mantienen constantes

a lo largo de todas las pruebas, además la suma de estas dos probabilidades

es igual a uno.

Las pruebas son independientes, lo que significa que el resultado de

cualquiera de las pruebas no influye en el resultado que se obtendrá en

alguna otra.

)!(!

!

1

,...,4,3,2,1,0)(

yny

n

y

n

pruebasnenéxitosdenúmeroy

pruebasdenúmeron

pq

pruebaunaenéxitodeadprobabilidp

donde

nyqpy

nyp

binomialunaparaadprobabiliddeónDistribuci

yny

Simulación estocástica para predicción en los deportes.

11

I.6.3. Distribución hipergeométrica.

Cuando se muestrea una población finita de éxitos y fracasos, los supuestos

de un experimento binomial se satisfacen con exactitud solo sí el resultado de cada

prueba se observa y luego se reincorpora a la población antes de hacerse la

siguiente observación. Este método de muestreo se denomina muestreo con

reemplazo. Sin embargo en la práctica lo usual es utilizar muestreo sin reemplazo, es

decir, seleccionamos al azar n elementos diferentes de entre los N elementos de la

población.

Cuando el muestreo se realiza sin reemplazo para cada uno de los elementos

que se toman de una población finita de elementos, no se puede aplicar el proceso

Bernoulli debido a que existe un cambio en la probabilidad de éxitos al ir extrayendo

elementos de la población. En este tipo de situaciones lo adecuado es utilizar la

distribución hipergeométrica.

Las características que definen una variable aleatoria hipergeométrica y su

distribución de probabilidad se resumen a continuación:

El experimento consiste en extraer al azar y sin sustitución n elementos de un

conjunto de N elementos, r de los cuales son éxitos y N-r de los cuales son

fracasos..

Si X es el número designado de éxitos, N es el número de elementos de la

población, r es el número total de éxitos incluidos en la población y n es el número de

elementos de la muestra, la fórmula para determinar las probabilidades

hipergeométricas es:

Simulación estocástica para predicción en los deportes.

12

I.6.4. Distribución Poisson.

La distribución de probabilidad de Poisson, así llamada en honor del

matemático francés S.D.Poisson proporciona un modelo para la frecuencia relativa

del número de eventos “poco comunes” que ocurren en una unidad de tiempo, área,

volúmen, etc.

Puede utilizarse la distribución Poisson para determinar la probabilidad de que

ocurra un número designado de eventos, cuando estos ocurren en un espacio de

tiempo continuo. A este proceso se le denomina proceso Poisson; es similar a un

proceso Bernoulli excepto en que los eventos ocurren en un espacio continuo como

puede ser un periodo de tiempo en vez de ocurrir en ensayos u observaciones fijas.

Un ejemplo es el número de llamadas que entran en un conmutador en determinada

hora, o la cantidad de goles que puede meter un equipo.

Las características que definen un proceso Poisson son las siguientes:

1. El experimento consiste en contar el número de veces que ocurre un evento

en particular durante una unidad de tiempo dada, o en un área o volumen.

elementosnlosenSresultadosdenúmeroy

extraidoselementosdenúmeron

elementosNlosenSresultadosdenúmeror

elementosdetotalnúmeroN

donde

nrMínimo

rNnMáximoy

n

N

yn

rN

y

r

yp

tricahipergeoméadprobabiliddeónDistribuci

,

,.....,)(,0)(

Simulación estocástica para predicción en los deportes.

13

2. La probabilidad de que un evento ocurra en una unidad dada de tiempo, área

o volumen, es la misma para todas las unidades.

3. El número de eventos que ocurren en una unidad de tiempo, área o volúmen

es independiente del número de los que ocurren en otras unidades.

4. El número medio de eventos en cada unidad se denota por la letra griega

lambda, .

Solo se requiere un valor para determinar la probabilidad de que ocurra un

número designado de eventos en un proceso Poisson: el número promedio a largo

plazo de eventos para el tiempo o dimensión especifico de interés. Por lo general

esta medida se denomina mediante la letra griega “lambda”.

I.7. Distribución de probabilidad para variables aleatorias continuas.

Para una variable aleatoria continua no es posible listar todos los posibles

valores fraccionarios de la variable ya que el número de posibles valores es infinito,

por lo tanto, las probabilidades se determinan a través de una función matemática y

su representación es de manera gráfica mediante una función de densidad de

probabilidad o curva de probabilidad.

La diferencia entre una variable aleatoria continua y una discreta se basa en la

diferencia entre sus funciones de distribución acumulativa.

...71828.2tan

,...3,2,1,0!

)(

Eulerdeteconse

voluménoáreatiempodeunidadunaeneventosdemedionúmero

donde

yy

eyp

PoissonunaparaadprobabiliddeónDistribuciy

Simulación estocástica para predicción en los deportes.

14

La función de distribución acumulativa F(y0) para una variable aleatoria y es

igual a la probabilidad

F(y0) = P(y≤y0)

Esto es, la función de distribución acumulativa es la suma acumulativa de p(y),

desde el valor más pequeño que y pueda asumir, hasta un valor de y0.

Cuando los datos representan mediciones de una variable continua y la

cantidad de datos es muy grande, podemos reducir la anchura de los intervalos hasta

que la distribución se vea como una curva continua, lo cual es conocido como

función de densidad de probabilidad.

Existen diversas distribuciones continuas de probabilidad comunes que son

aplicables como modelos a una amplia gama de variables continuas en determinadas

circunstancias.

Una variable aleatoria continua y es una que tiene las siguientes tres

propiedades:

1. y adopta un número infinito, imposible de contar, de valores en un subconjunto

del intervalo (-,).

dy

ydFyf

esyparayfdensidaddefunciónlaentonces

ycontinuaiableunaparaaacumulativóndistribucidefunciónlaesyFSi

)()(

)(

,var)(

Simulación estocástica para predicción en los deportes.

15

2. La función de distribución acumulativa F(y), es continua. La función de

distribución acumulativa para una variable y es F(y0) = P (yy0).

3. La probabilidad de que y sea igual a un valor en particular es cero. En el caso

de las distribuciones continuas de probabilidad, sólo es posible determinar un

valor de probabilidad para un intervalo de valores dado. Si en este tipo de

variable se quiere obtener la probabilidad de un valor especifico es cero, pues

recordando el espacio para este tipo de variables es el de los números reales,

y la probabilidad es igual a 1/(número de elementos) entonces se tiene 1/()

por lo que la probabilidad es cero.

I.7.1. Distribución uniforme.

Suponga que selecciona al azar un número y representado por un punto en el

intervalo ayb. La función de densidad de y se representa gráficamente como un

rectángulo. Como se debe asegurar que el área del rectángulo sea uno, la altura de

éste es 1/(b-a).

I.7.2. Distribución normal.

Esta función de densidad fue propuesta por K. F. Gauss como modelo para la

distribución de frecuencia relativa de errores, como los errores de medición. La

distribución normal de probabilidad es una distribución continua de probabilidad que

es simétrica. Con frecuencia se describe a la curva de probabilidad que representa a

la distribución normal como una campana.

puntootrocualquieren

byasiabyf

uniformeiableunaparadensidaddeFunción

0

1

)(

var

Simulación estocástica para predicción en los deportes.

16

Esta distribución es muy importante por tres razones principales:

1. Las mediciones que se obtienen en muchos procesos aleatorios tienen esta

clase de distribución.

2. Con frecuencia pueden utilizarse distribuciones normales para aproximar otras

distribuciones de probabilidad tal como las distribuciones binomial y Poisson.

3. Las distribuciones de estadísticas como la media muestral y la proporción

muestral tienen distribución normal cuando el tamaño de la muestra es

grande.

I.7.3. Distribución exponencial.

Si se presentan eventos en el contexto de un proceso Poisson, entonces la

longitud del tiempo o espacio entre eventos sucesivos tiene una distribución

exponencial de probabilidad. Como el tiempo o el espacio son continuos, una

medición de este tipo es una variable aleatoria continua.

Como los procesos Poisson son estacionarios, y se tiene una probabilidad

igual de que el evento ocurra a todo lo largo del periodo relevante de tiempo, la

distribución exponencial se aplica siempre y cuando lo que interesa sea el tiempo o

espacio hasta la ocurrencia del primer evento, o el tiempo entre dos eventos

iableladeianza

iablelademedia

donde

yeyf

normaliableunaparadensidaddeFunción

y

varvar

var

2

1)(

var

2

)2/()( 22

Simulación estocástica para predicción en los deportes.

17

sucesivos, o el tiempo que transcurre hasta que se presenta el primer evento

después de cualquier punto elegido al azar.

I.7.4. Distribución gamma.

Muchas variables aleatorias, como la duración de la vida útil de una

computadora, solo pueden asumir valores no negativos. Las distribuciones de

frecuencia relativa de datos de este tipo a menudo se pueden modelar mediante

funciones de densidad tipo Gamma. La fórmula para la función de densidad tipo

gamma tiene dos parámetros, uno llamado parámetro de escala, que refleja el

tamaño de las unidades en que se mide y el otro parámetro recibe el nombre de

parámetro de forma; este permite cambiar la forma de la distribución.

Es muy utilizada esta distribución para determinar cuando ocurrirá el siguiente

evento. En sí, una distribución gamma es la suma de n distribuciones exponenciales.

0

1

1

)(

0

0;0;0)()(

var

dyey

donde

puntootrocualuieren

ysiey

yf

GammaiableunaparadensidaddeFunción

y

y

Simulación estocástica para predicción en los deportes.

18

Simulación estocástica para predicción en los deportes.

19

CAPÍTULO II.

SIMULACIÓN.

“La simulación se originó con los trabajos de John Von Newman y Stanislaw

Ulam a fines de la década de 1950”. (Thierauf, Robert J., 1990)

Jhon Von Newman y Stanislaw Ulam, en sus trabajos unieron técnicas

estadísticas con el análisis de Montecarlo para resolver problemas de blindaje

nuclear. Dado que el costo de estos experimentos era muy alto, además de lo

complejo que resultaban, se las ingeniaron para simular este proceso.

Los avances en la tecnología llevan invariablemente a la construcción de

sistemas con capas adicionales de complejidad que están formados por subsistemas

aun más complejos. Con el tiempo estos sistemas llegaran a convertirse en

subsistemas de otros sistemas mucho más complejos. Dentro de todo este

crecimiento, los simuladores proveen un medio por el cual estos sistemas abstractos

o del mundo real pueden ser comprendidos y evaluados, al duplicar el

comportamiento de estos sistemas mediante hardware y/o software.

Los primeros usos de las computadoras digitales fueron en el campo de la

simulación, y existe una gran cantidad de trabajos en que se utiliza la simulación por

computadora con diversos fines.

Aún ahora se destinan muchos recursos tanto económicos como humanos

para la elaboración de “supercomputadoras” que puedan realizar cálculos complejos

que se requieren para simular procesos.

Una orientación que ha tenido la simulación en los últimos años y para la cual

se destinan muchos recursos es en la probabilidad en un juego, el cual aunque

Simulación estocástica para predicción en los deportes.

20

muchas veces tiende a tener un enfoque ilegal, también puede ser considerado como

un tema de investigación.

Existen muchos factores que deben de ser considerados al momento de

emplear esta disciplina y todos serán tratados en este trabajo, desde los

requerimientos que se deben cumplir antes de poder simular hasta la interpretación

de los resultados obtenidos mediante la simulación del sistema, pasando por los

pasos para desarrollar el modelo a ser estudiado.

II.1. Método Montecarlo

Von Newman y Ulam estaban realizando trabajos secretos en el laboratorio

los Álamos y utilizaron como nombre clave para estos trabajos Montecarlo.

“Básicamente el método Montecarlo es una técnica de simulación en que se

crean funciones de distribución estadística, utilizando una serie de números

aleatorios”. (Thierauf, Robert J., 1990)

El objetivo principal de todo estudio de simulación es proveer la estimación de

uno o más valores esperados, pero el hecho de trabajar con probabilidades siempre

impone un margen de error en los resultados. La prueba de Montecarlo es una

técnica que permiten reducir la varianza y con esto reducir el margen de error del

experimento.

En el diseño de un experimento de simulación se debe considerar que para

mejorar su efectividad requiere un costo dado, costo que puede ser reducido

afectando la efectividad del experimento. Esto es, el tiempo de cómputo puede ser

estimado al momento del diseño para reducir costos. Esto considerando que se

requieren grandes incrementos en el poder y tiempo de cómputo para producir

incrementos moderados en la precisión del experimento. Por ello es necesario utilizar

algunas otras técnicas, muchas de ellas basadas en teorías de muestreo, para poder

Simulación estocástica para predicción en los deportes.

21

reducir la varianza, dado que la reducción de varianza está directamente relacionada

con la reducción de costos y así no afectar directamente a la precisión del

experimento.

II.2. Simulación.

“Los modelos de simulación representan la realidad, la simulación la imita.”

(Sasieni, Yaspan, Friedman, 1982)

Muchas veces tenemos la necesidad de implementar un sistema sin tener la

certeza de cuáles serían las condiciones y parámetros con que obtendríamos un

mejor rendimiento y resulta demasiado costoso implementarlo y realizar cambios

físicos al sistema una vez puesto en marcha. En otras ocasiones se requiere calcular

y obtener algún resultado de una operación muy compleja que implica demasiado

tiempo y estudio, por lo que es conveniente contar con algún método alternativo que

proporcione una solución muy cercana a la óptima.

En éstos y otros casos se puede trabajar estos sistemas mediante la

simulación por computadora, que ha sido utilizada desde hace mucho tiempo como

una herramienta importante para la toma de decisiones al momento de implementar

un sistema.

Comenzaremos por entender el concepto de simulación, y porqué y cuándo es

importante simular, además mencionaremos los requerimientos y los parámetros

necesarios para poder aplicar esta herramienta de tal forma que se obtengan

resultados útiles para el propósito que se requiere.

Simular es el proceso de diseñar un modelo de un sistema real y realizar

experimentos con este modelo con el propósito de entender el comportamiento del

sistema o de evaluar distintas estrategias para la operación del sistema.

Simulación estocástica para predicción en los deportes.

22

Así pues simular es reproducir un evento, suceso o situación con sus

condiciones normales ya sea para conocer el comportamiento o para entrenamiento.

Existen muchos métodos para realizar simulaciones, de igual forma existen

muchas áreas a las que se puede aplicar la simulación y existen muchos trabajos

sobre simulación al igual que simuladores.

La importancia de la simulación se basa en ayudar a reducir costos, ayudar al

entrenamiento, permitir predecir el comportamiento de un evento, esto debido a que

en algunos casos resulta muy caro reproducir el evento de manera real, o incluso el

suceso puede no haberse presentado aún, por lo que se desconoce la forma y el

comportamiento que presentará dicho evento; también es útil la simulación para

obtener resultados probabilísticos que resultan demasiado complejos y en los que no

se requiere conocer el resultado exacto, pero sí tener una muy buena aproximación.

Los pilotos antes de subirse y volar un avión de verdad, además de sus

estudios deben pasar muchas horas y pruebas en simuladores, donde se reproducen

muchas condiciones que se presentarían en una situación real; de esta manera los

pilotos se entrenan para cuando son enviados verdaderamente a volar un avión.

Cuando se diseña una red de computadoras se puede crear un modelo que

simule el comportamiento que tendría la red incluso trabajando con grandes cargas,

con ésto se pueden modificar algunas variables hasta lograr tener un

comportamiento deseado. Es más sencillo y menos costoso realizar cambios a un

modelo que realizar los cambios físicamente sobre el modelo real.

Cuando se realiza la simulación de un evento es necesario conocer algunos

puntos que dependiendo del modelo y del punto de vista del observador pueden ser

relevantes o no. Algunos ejemplos de estos puntos se mencionan a continuación:

Simulación estocástica para predicción en los deportes.

23

II.2.1. Parámetros ambientales.

Estos parámetros son aquellos valores o condiciones que influyen en el

comportamiento del evento, ya sea temperatura, conocimiento de información extra,

etc. Mientras mayor cantidad de información y condiciones sean consideradas,

mejores serán los resultados que arroje la simulación.

En el caso de una red de computadoras debemos considerar aspectos como

el tipo de información que será utilizada.

II.2.2. Variables.

Estos son los valores sobre los cuales tenemos control y que representan las

características que tendrá el simulador, el valor que tienen puede ser modificado

para buscar nuevas alternativas y obtener otro tipo de resultados hasta obtener lo

que se quiere y determinar cuál es la solución factible a ser implementada. En

algunos casos no se presenta este elemento de la simulación sobre todo cuando se

trata de predecir el comportamiento de algo que no se sabe exactamente como

ocurre.

En el ejemplo que se ha estado tratando de la red de computadoras, podemos

mencionar algunas variables tales como el número de computadoras que estarán

interconectadas, también la velocidad de los dispositivos de red, la ubicación de los

concentradores, etc.

II.2.3. Número de simulaciones.

Este valor es muy importante sobre todo en el estudio de procesos

estocásticos, (que serán tratados mas adelante), dado que existe un cierto grado de

aleatoriedad y no siempre se obtiene el mismo resultado, podemos valernos de este

Simulación estocástica para predicción en los deportes.

24

parámetro que al ser muy grande los resultados tienden a acercarse a los valores

óptimos o exactos.

II.3. Tipos de simulación.

El simular un proceso provee un amplio entendimiento de los procesos físicos

que están siendo modelados.

Existen distintos tipos de simulación, para la clasificación se pueden

considerar muchos aspectos tales como, la naturaleza del sistema a ser modelado, si

la simulación considerara o no el tiempo, y la más importante que se debe al

comportamiento del sistema a ser modelado.

II.3.1. Simulación discreta.

Una simulación de eventos discretos es la que utiliza una técnica de siguiente

evento para controlar el comportamiento del modelo. Muchas de las aplicaciones de

la simulación discreta envuelven sistemas de colas de uno u otro tipo. La estructura

de colas es obvia cuando se tiene una cola de trabajos esperando a ser procesados.

Consideremos también clientes en una cola dentro de un banco esperando a ser

atendidos.

II.3.2. Simulación determinística.

En muchas ocasiones se tienen sistemas que funcionan basándose en

estados, como es el caso de los autómatas de estados finitos. En este caso se

conoce de antemano el comportamiento del sistema cuando este se encuentra en

cualquiera de los posibles estados con que cuenta, sin embargo es útil simular este

tipo de sistemas pues ayudan a verificar entre otras cosas el orden de los estados; a

este tipo de simulación se le conoce como determinista.

Simulación estocástica para predicción en los deportes.

25

II.3.3. Simulación estocástica.

Muchos sistemas tienen un comportamiento estocástico y por lo tanto deben

ser modelados mediante elementos estocásticos, esto significa que en estos

modelos de simulación estocástica se utilizaran distribuciones probabilísticas.

Conforme la simulación avanza, se toman muestras de estas distribuciones para

proveer un comportamiento estocástico.

Un fenómeno aleatorio que surge en un proceso (ej. el movimiento de una

partícula en movimiento browniano, el crecimiento de una población, el desempeño

de una red de computadoras) que se desarrolla en el tiempo de una manera

controlada por medio de leyes probabilísticas se denomina proceso estocástico.

Esta es la principal clasificación que se tiene para la simulación y se da en

función del comportamiento del sistema, a partir de aquí existen otras clasificaciones

que se originan por la naturaleza de los eventos y el campo a que esta enfocada, así

como también existen clasificaciones dependiendo de sí el tiempo es factor crucial en

el sistema.

II.4. Usos de la simulación.

Ahora que se analizaran los usos de la simulación es necesario hacer énfasis

sobre el enfoque de este trabajo, que es sobre la simulación por computadora. La

simulación por computadora es la disciplina de diseñar un modelo de un sistema

físico teórico o actual, ejecutar el modelo en una computadora digital, y analizar los

resultados de la ejecución. La simulación encierra el principio de “Aprender haciendo”

–Para aprender de un sistema primero debemos desarrollar un modelo y ejecutarlo.

La simulación por computadora es el equivalente electrónico de esto. Es un campo

altamente interdisciplinario que puede ser utilizado de igual forma en el gobierno,

industria, ingeniería, medicina, etc.

Simulación estocástica para predicción en los deportes.

26

La simulación por computadora envuelve la experimentación de un modelo de

algún sistema basado en una computadora. El modelo es utilizado como un medio

para la experimentación, muchas veces se realiza en una forma de prueba y error

con el objeto de demostrar los efectos de algunas políticas.

El campo de aplicación que tiene la simulación es muy vasto, ya que puede

ser aplicada a cualquier disciplina, entre sus usos mencionaremos los siguientes.

II.4.1. Herramientas educacionales.

Mediante la simulación es posible aprender a manejar un vehículo sin los

riesgos que implica el aprender con un vehículo de verdad. En la armada de muchos

países se utilizan simuladores de vuelo y los cadetes son sometidos a muchas horas

de entrenamiento en ellos antes de sean llevados a un avión de verdad. Sin embargo

se deben realizar simuladores “muy reales“ de manera que se tenga un

comportamiento muy apegado al que se tendría en una situación real, y este tipo de

simuladores resultan muy costosos.

II.4.2. Medios de análisis.

Cuando se simula un sistema, mientras mayor sea el número de simulaciones

mayor será el acercamiento que tenga en comportamiento con un sistema real, por lo

que se podrán observar los elementos y componentes críticos que deben ser

analizados, los cuellos de botella y los posibles resultados del sistema. Con esta

información es posible plantear soluciones y medidas de seguridad.

II.4.3. Predictores.

Este punto es el enfoque de este trabajo. Es posible pronosticar

comportamientos y ayudar con esto a planear futuros desarrollos. Puede ser utilizada

la simulación para evaluar el desarrollo de todo un conjunto de eventos de un

Simulación estocástica para predicción en los deportes.

27

sistema a partir de datos que representen el comportamiento que se ha tenido hasta

el momento de simular, y con información referente al orden del desarrollo futuro del

sistema, simular para obtener resultados del comportamiento que se espera tendrá

dicho sistema al momento de que se vayan presentado estos eventos individuales.

II.4.4. Ciencia de la computación.

La simulación es la lengua franca de la ciencia de la computación. La ciencia

de la computación envuelve el uso de computadoras especialmente

supercomputadoras para visualización y simulación de fenómenos complejos a larga

escala. El énfasis en las supercomputadoras esta realmente enfocada a la

simulación, la cual requiere hardware de computo veloz. Los estudios van desde

simulaciones de N cuerpos, dinámica molecular, predicción de clima, y análisis de

elementos finitos y estos están limitados por la ciencia de la computación.

II.4.5. Caos y sistemas complejos.

La idea de que se puede observar complejidad dentro de un modelo

determinista de estructura simple es de interés técnico fundamental. Además,

muchos de los modelos que envuelven comportamiento caótico nos llevan a formas

estáticas de análisis. La simulación debe ser utilizada para proveer una vista mas

detallada del sistema. Los lenguajes de simulación en un futuro trabajaran junto con

rutinas y lenguajes de manipulación simbólica de manera que el sistema pueda ser

analizado con cada herramienta disponible. (tanto analítica como iterativa.)

II.4.6. Realidad virtual.

El empuje en la investigación de realidad es incluir el análisis en un mundo

simulado mediante el uso de dispositivos tales como visores, guantes de datos,

sensores y elementos de retroalimentación. Aunque la realidad virtual es vista como

un sinónimo de las interfaces de hardware máquina-humano, la tecnología debe

Simulación estocástica para predicción en los deportes.

28

incorporar métodos para construir mundos digitales o virtuales que sean efectivos. La

construcción de mundos virtuales es sobre lo que trata la simulación por

computadora.

II.4.7. Vida artificial.

Un experimento de vida artificial es aquel donde un programa de computadora

es escrito para simular formas de vida artificial, que a menudo incluyen

comportamientos tales como reproducción genética y mutación.

II.4.8. Modelado físico y animación por computadora.

Dentro de la graficación por computadora se ha dado un empuje en dirección

del modelado físico. Consideremos la forma en que la animación por computadora ha

sido realizada en el pasado. Las primeras animaciones por computadoras fueron

realizadas en hojas individuales de papel o celuloide. Cuando una serie de hojas es

transferida y filmada se tiene una velocidad de al menos 24 cuadros por segundo, se

percibe una ilusión de movimiento. Desde una perspectiva de la simulación, las hojas

reflejan un tipo declarativo de modelo similar a un autómata de estado finito con un

estado por hoja. Además, los primeros modelos de animación fueron autómatas de

estados finitos.

II.5. Antecedentes de sistemas de simulación

Desde que se crearon las computadoras, estas fueron utilizadas primeramente

en la simulación, los campos en que fueron aplicados estos sistemas de simulación

tuvieron que ver principalmente con aspectos bélicos. Es posible calcular con mucha

exactitud después de varias pruebas, los parámetros necesarios para el correcto

lanzamiento de un proyectil.

Simulación estocástica para predicción en los deportes.

29

Conforme la tecnología fue avanzando, y se comenzaron a desarrollar nuevos

microprocesadores, se hizo evidente la necesidad de desarrollar sistemas que

permitieran simular la ejecución de programas escritos para esos nuevos

procesadores, esto debido a la complicada tarea que se requería para escribir estos

programas, pues debían ser grabados en una memoria y posteriormente ser

probados en el sistema real, pero cuando se necesitaba algún cambio se retiraba la

memoria, se rescribía el nuevo programa, posteriormente era probado nuevamente y

esta tarea se realizaba cada que se realizaba algún cambio.

Con los simuladores, se escribía y probaba el programa sobre un sistema en

una computadora, todos los cambios eran realizados dentro de este sistema, una vez

que se tenia el sistema funcionando correctamente, se grababa la memoria y se

montaba en el sistema real.

Para muchos de los problemas actuales se han desarrollado sistemas de

simulación que permiten analizar el comportamiento del sistema y determinar las

características que deben ser consideradas, un ejemplo claro de estos sistemas lo

encontramos en muchas tiendas de servicio o en bancos donde se emplean sistemas

de simulación para determinar la cantidad de cajeros que se deben implantar, de tal

manera que se de abasto a la demanda que se requiere pero sin tener tanto

desperdicio en el tiempo en que operan estos cajeros, estos sistemas trabajan sobre

la teoría de colas.

Se han desarrollado muchos trabajos que simulan la dispersión de un virus en

una red de computadoras, esto tiene la ventaja de que nos ayuda a tomar medidas

preventivas antes de que este hecho ocurra.

Así pues, se puede mencionar una gran lista de trabajos que han sido

desarrollados desde que surgió la era de la computación, para demostrar la

importancia de la simulación en muchas áreas y aplicaciones.

Simulación estocástica para predicción en los deportes.

30

II.6. Ventajas de la simulación.

Existen muchas ventajas al momento de considerar la simulación, algunas se

mencionan enseguida:

La principal ventaja de la simulación es que nos permite modelar fenómenos

complejos y dinámicos que no podrían ser abordados de otra forma, y nosotros

podemos modelar las cosas como son, por complejas que estas sean. Muchas veces

no se pueden obtener soluciones analíticas de problemas reales, sobre todo cuando

se trata de problemas complejos y largos; la simulación nos permite realizar análisis

profundos pues permite incorporar complicaciones reales. Con esto se está logrando

proveer de una retroalimentación a los usuarios para cuando se diseñan sistemas

reales, y se puede determinar la efectividad del sistema antes de que sea

implementado el sistema real, así mismo es posible explorar diseños alternativos sin

tener la necesidad de construir cada sistema. Al investigar los efectos de ciertos

cambios en el diseño en la fase de análisis y no en la fase de construcción, se logra

disminuir grandemente el costo del sistema.

Otro beneficio de la simulación es que permite a los diseñadores estudiar el

sistema en diferentes niveles de abstracción. Al desarrollar un sistema en sus niveles

mas altos de abstracción, el diseñador es más capaz de entender el comportamiento

e interacción de los componentes de alto nivel del sistema y por lo tanto es más

capaz de afrontar la complejidad total del sistema. Conforme el diseñador entienda

mejor la operación de los componentes de alto nivel a través del uso del simulador,

los componentes de más bajo nivel podrán entonces ser diseñados y simulados para

su verificación y evaluación de desempeño. El sistema debe ser desarrollado

siguiendo una técnica de “arriba-hacia-abajo” a lo cual se le conoce como

descomposición jerárquica, la cual es una herramienta muy potente para la

construcción de sistemas complejos

Simulación estocástica para predicción en los deportes.

31

Al simular un sistema, los científicos obtienen bastante información del

sistema y de la importancia de las diferentes variables, el efecto que tienen estas

variables o ciertos componentes individuales.

El comprender las bases de la simulación no requiere muchos conocimientos

matemáticos, de hecho, un modelo dentro de la simulación es mas general que un

modelo matemático, y sin embargo, la simulación ha sido utilizada como una muy

potente herramienta para la toma de decisiones.

Otro factor muy importante es que, el modelo que es simulado no interfiere

con el sistema real, pues existe un cierto grado de independencia entre los dos. La

correcta manipulación de los modelos y sus componentes permite realizar y analizar

preguntas del tipo “¿ qué pasa sí?”. Este tipo de preguntas son muy útiles en la

predicción y en la búsqueda de problemas en sistemas antes de que se presenten.

Recordemos que un punto importante en las redes de computadoras es la

localización y prevención de fallas antes de que estas ocurran, este tipo de preguntas

funcionan de la siguiente manera: dado que se pueden modificar los parámetros y

condiciones en que trabajara el modelo del sistema, se pueden realizar variaciones a

dichas variables y analizar los resultados, esto podría ser manipulando variables

como la carga del sistema, o podríamos preguntarnos “¿qué pasa si el tiempo de

respuesta del sistema es mucho mayor que el esperado?”, etc.

II.7. Desventajas de la simulación.

Al igual que cualquier método, la simulación también tiene sus desventajas, es

importante conocerlas porque así se puede determinar cuando es conveniente

utilizar la simulación y cuando no.

La simulación no es una técnica de optimización. Típicamente se utilizan

diferentes configuraciones del sistema para encontrar una buena, pero no se

garantiza que sea la mejor.

Simulación estocástica para predicción en los deportes.

32

Además, la simulación puede ser un medio muy costoso para resolver los

problemas.

Cuando la simulación no se realiza de la manera adecuada puede llevarnos a

soluciones erróneas, por lo que es conveniente considerar el tamaño de la muestra y

la duración de las corridas del modelo.

II.8. Simulación de un proceso.

Con el siguiente ejemplo demostraremos la importancia de la simulación para

la solución de algunos problemas, sobre todo aquellos en que se requiere tener un

valor muy cercano al optimo.

Se tienen 6 dados que serán lanzados y se requiere calcular la probabilidad

de que la suma de los lanzamientos sea seis. Dado que este hecho solo ocurre

cuando todos los dados caen en uno, la probabilidad seria entonces la suma de las

probabilidades de que cada dado caiga en uno, y estaría expresada como sigue:

Donde:

x es la sumatoria del resultado de todos los lanzamientos.

f(x) es la función de probabilidad.

Ahora consideremos la necesidad de conocer la probabilidad de que la suma

de los dados sea 28, entonces el problema se complica un poco pues los casos en

que la suma es 28 son muchos y la forma de obtener esta probabilidad es que para

cada caso en que el resultado sea 28, se multiplique la probabilidad de que caiga

6

1*

6

1*

6

1*

6

1*

6

1*

6

1)6( xf

Simulación estocástica para predicción en los deportes.

33

cada valor en cada dado y que cumpla esta condición y al final sumar todos los

resultados de cada caso.

Como se puede ver esto se complica demasiado sobre todo si incrementamos

el número de dados y el resultado de la suma. Sin embargo aquí es donde entra la

simulación. Haciendo uso de las herramientas adecuadas podemos simular el

lanzamiento de los dados n número de veces y al final obtener el porcentaje de

veces en que se obtuvo 28 y está será una muy buena aproximación de la

probabilidad de lanzar 6 dados y obtener como resultado 28.

Como se verá más adelante para obtener una mejor aproximación se deben

considerar factores tales como la función generadora de números aleatorios y el

número de repeticiones del experimento, el cual mientras mayor sea mejor será la

aproximación, pero no debe ser tan grande que la ejecución del modelo sea muy

lenta y en comparación con la ejecución del modelo con menos simulaciones no

exista mucha variación en el resultado.

Otro ejemplo muy común, dos personas están jugando a lanzar dados y

ganará quien logre mas puntos en 10 lanzamientos de un par de dados. Para el

séptimo lanzamiento el primer jugador tiene 28 puntos y el segundo tiene 33 puntos,

se necesita obtener la probabilidad de que la primer persona gane.

La ecuación para resolver este problema es muy compleja y demasiado

extensa, por lo cual puede ser mejor diseñar un sistema en la computadora que

simule los tres lanzamientos restantes y realice los cálculos necesarios para

determinar quien gana. Si realizamos la ejecución de este sistema muchas veces y

obtenemos el porcentaje de veces que el primer jugador ganó, obtendremos una muy

buena aproximación del resultado del problema pero con un esfuerzo mínimo y en un

tiempo mucho menor.

Simulación estocástica para predicción en los deportes.

34

Simulación estocástica para predicción en los deportes.

35

CAPÍTULO III.

HERRAMIENTAS DE DESARROLLO.

Como se mencionó anteriormente la simulación por computadora envuelve la

creación de un modelo utilizando la computadora como herramienta. Las

simulaciones pueden requerir grandes programas de computadoras con cierta

complejidad. Existen algunos tipos de lenguajes de simulación y paquetes

disponibles para hacer esta tarea más sencilla.

Existe mucho software en el mercado para el modelado de sistemas, además

de que podemos utilizar cualquier lenguaje de programación y desarrollar el modelo

del sistema. Cada lenguaje de desarrollo y cada software que existe, tiene sus

propias características que lo hacen adecuado para utilizarse en determinadas

ocasiones, dependiendo muchas veces de la aplicación que se desee desarrollar, la

complejidad que se requiere, la presentación de la información y el tiempo en que

debe operar el sistema entre otros factores.

En este capitulo trataremos con 3 herramientas de software disponibles que

existen en el mercado.

Al realizar el análisis de estos productos se encontraran muchas cualidades

de cada uno de ellos y se analizará la forma en que pueden interactuar entre ellos,

aprovechando así la potencia que ofrecen.

III.1. Matlab.

Matlab® es un entorno integrado de computación técnica que combina

computación numérica, gráficos avanzados, visualización y un lenguaje de

programación de alto nivel. (http://www.mathworks.com/products)

Simulación estocástica para predicción en los deportes.

36

Matlab incluye cientos de funciones para:

•Análisis de datos y visualización

•Cálculo numérico y simbólico

•Gráficos científicos y de ingeniería

•Modelización, simulación, y prototipaje

•Programación, desarrollo de aplicaciones, y diseño de Interfases Gráficas de

Usuario (GUI)

Matlab se utiliza en áreas de aplicación diversas, como el procesado de

señales y de imágenes, la ingeniería financiera o la investigación médica. La

arquitectura abierta de Matlab y sus módulos complementarios hacen de él una

aplicación sencilla de utilizar y de grandes ventajas competitivas, tanto en la

exploración de datos como en el desarrollo de herramientas personalizables.

III.1.1. Productos adicionales.

Matlab dispone de una familia de Toolboxes, con los que puede desarrollar

aplicaciones específicas en diversas áreas. Las Toolboxes contienen colecciones

completas de funciones para la resolución de problemas particulares de procesado

de señal, procesado de imagen, diseño de sistemas de control, redes neuronales,

etc. Existen otros productos que extienden las capacidades de Matlab para, por

ejemplo, la adquisición de datos, la generación de informes, y la creación de código

C/C++ independiente a partir de los programas del lenguaje Matlab.

III.1.2. Características.

• Dada la mejora en el soporte para tipos de datos enteros reduce los requisitos de

almacenamiento.

Simulación estocástica para predicción en los deportes.

37

•A través del nuevo editor de gráficos proporciona modificación interactiva de las

propiedades de las figuras y permite realizar anotación en los gráficos

•Utiliza métodos de resolución de ecuaciones diferenciales para grandes matrices y

para ecuaciones algebraicas diferenciales

III.1.3. Características adicionales del producto.

•Posee soporte para la tecnología ActiveX (Windows):

•Mediante propiedades Actives, permite a los usuarios enlazar controles ActiveX en

las aplicaciones de Matlab

•Las capacidades de Automatización de clientes que posee ActiveX permite a los

desarrolladores programar automáticamente servidores ActiveX de control (por

ejemplo, Excel)

•Proporciona mejoras significativas de velocidad de los gráficos usando el nuevo

renderer OpenGL

•Contiene un editor de arrays para la visualización y la edición interactiva de arrays

numéricos en 2-D (PC, Unix)

•Proporciona mejoras en la programación de ficheros M.

•Posee soporte para permitir de forma selectiva acceso público a campos de objetos

individuales

•Contiene editor / depurador y visualizadores en plataformas Sun, HP, y SGI IRIX

III.1.4. Gráficos y Visualización.

Matlab y sus Toolboxes cuentan con gráficos especializados diseñados

especialmente para la computación técnica. Desde gráficos de líneas 2-D de datos

no homogéneos, hasta gráficos de contornos e interfaces interactivas (GUIs), estas

herramientas proporcionan capacidades de modelización visual que ayudan a

entender mejor los sistemas complejos.

Simulación estocástica para predicción en los deportes.

38

III.1.5. Herramientas GUI y Gráficas Programables.

Es posible crear interfaces visuales y gráficas interactivamente o

automáticamente a partir de programas de Matlab. Proporcionando acceso directo a

cada atributo gráfico, la arquitectura orientada a objetos de Handle Graphics® hace

que todos los gráficos de Matlab sean completamente personalizables.

III.1.6. Simulación y modelización.

Matlab ofrece un entorno único de simulación y prototipaje. Su potente

lenguaje técnico es simultáneamente conciso y descriptivo, permitiendo modelizar

sistemas complejos con pequeñas secciones de código muy sencillas de programar.

Matlab y sus productos complementarios cuentan con un amplio abanico de

herramientas para la simulación y la modelización, incluyendo:

•Una gran colección de funciones altamente optimizadas para computación

matemática, análisis de datos, resolución de ecuaciones, y visualización, todas ellas

disponibles como parte del núcleo central de Matlab

•Los algoritmos más modernos añadidos en los Toolboxes, módulos

complementarios de Matlab.

III.1.7. Algoritmos fundamentales:Matlab y Toolboxes.

Matlab proporciona cientos de funciones para la simulación y la modelización,

desde operaciones matriciales básicas a métodos de resolución de ecuaciones

diferenciales ordinarias. Estas funciones aseguran una base sólida a partir de la cual

se puede simular y modelizar sistemas complejos. Con los Toolboxes de

aplicaciones específicas, como pueden ser el Optimization, Control System, Neural

Network y Statistics, se puede rápidamente construir simulaciones y modelos que

cubren diversas disciplinas. Todo ello de forma consistente y con muy pocas líneas

de código.

Simulación estocástica para predicción en los deportes.

39

Gracias a las funciones de animación que se incluyen en el núcleo de Matlab y

a la rapidez de sus gráficos, se puede visualizar los resultados de la simulación en

tiempo real, mientras éstos se van calculando. En ese momento se puede observar

el comportamiento del modelo y, al mismo tiempo o más tarde, analizar, probar o

depurar resultados, e incluirlos en informes o presentaciones.

Las capacidades de Matlab para visualización pueden ayudar a identificar

rápidamente fenómenos ingeniosos.

III.1.8. Los beneficios de programar en Matlab.

El entorno de computación técnica de Matlab combina capacidades

matemáticas y de visualización fundamentales con un lenguaje estructurado y unas

herramientas de desarrollo de aplicaciones. Miles de funciones ya probadas para

aplicaciones específicas eliminan la necesidad de desarrollar rutinas matemáticas

propias desde el principio, mientras que el diseño abierto da acceso directo a

programas y datos externos. Matlab reduce el ciclo de desarrollo y le permite ahorrar

tiempo en la automatización de análisis, el desarrollo de algoritmos, o la creación de

aplicaciones basadas en Matlab o aplicaciones independientes.

A diferencia de la mayoría de los lenguajes tradicionales, Matlab da la libertad

de centrarse en los conceptos técnicos de más alto nivel e ignorar detalles de

programación tales como la gestión de memoria y las declaraciones de variables. Los

ficheros M no requieren compilación o enlazado, de manera que se puede editar y

depurar un fichero M y probar sus cambios de forma inmediata, sin necesidad de

dejar el entorno Matlab en ningún momento.

Simulación estocástica para predicción en los deportes.

40

III.1.9. Conectando aplicaciones de Matlab con nuevos entornos.

Con el Matlab C/C++ Compiler se puede convertir automáticamente ficheros M

en funciones dinámicas enlazables, así como en código portable ANSI C y C++

optimizado, para ser usado en aplicaciones independientes fuera del entorno Matlab.

Enlazando el código con las librerías matemáticas y gráficas, Matlab C/C++ Math

Library y Matlab C/C++ Graphics Library, se pueden crear aplicaciones externas que

aprovechan las funciones matemáticas, de análisis de datos, y gráficas de Matlab.

Estos productos permiten, inicialmente, implementar ideas, utilizando el lenguaje de

alto nivel que Matlab ofrece, y posteriormente entregar y distribuir versiones

portables en código C y C++ de los programas.

III.2. Simulink.

Simulink® es un entorno interactivo para modelizar, simular, y realizar

prototipos de sistemas dinámicos. (http://www.mathworks.com/products)

Simulink es una herramienta interactiva para la modelización, la simulación, y

el análisis de sistemas dinámicos. Comúnmente usado en diseño de sistemas de

control, diseño de sistemas de comunicación, y otras aplicaciones de simulación,

Simulink permite construir diagramas gráficos de bloques, simular sistemas

dinámicos, evaluar el rendimiento del sistema, y refinar diseños. Implementado sobre

Matlab, Simulink ofrece acceso inmediato a un amplio rango de herramientas de

análisis y diseño. A través de su completa integración con Simulink, Stateflow®

proporciona simulación y supervisión lógica de sistemas que soportan eventos.

Cuando nos aproximamos de forma tradicional al diseño de sistemas,

típicamente se construye un prototipo y se sigue con un extenso proceso de pruebas

y revisión. Este método puede ser a la vez caro, laborioso y lento. Como una

alternativa efectiva y ampliamente aceptada, la simulación es hoy por hoy la

aproximación preferida para el diseño en ingeniería. Simulink es una potente

Simulación estocástica para predicción en los deportes.

41

herramienta de software para la simulación, que permite de forma muy rápida

implementar y probar prototipos virtuales, de manera que se puede explorar los

conceptos del diseño a cualquier nivel de detalle, con un esfuerzo mínimo. Por el

hecho de usar Simulink para iterar y refinar diseños antes de construir el primer

prototipo, el proceso de diseño se hace más rápido, más eficiente y tiene una

reducción de costo significativa.

III.2.1. Características.

•Una completa librería de bloques para la creación de sistemas lineales, no lineales,

de tiempo discreto, de tiempo continuo, híbridos y de multifrecuencia.

•Creación conveniente de modelos jerárquicos y de subsistemas.

•Utilidad de enmascaramineto para la creación de bloques personales y librerías de

bloques.

•Visualizadores para el modelo y para la navegación dentro del modelo.

•Conexiones escalares y vectoriales.

•Etiquetas para las señales y los puertos de entrada y salida para hacer los

diagramas de bloques más claros y concisos.

•Simulación interactiva con visualización en tiempo de ejecución.

•Simulaciones de Montecarlo.

•Subsistemas ejecutados condicionalmente; sistemas trigger y enable.

•Visualizadores de la simulación, fuentes de entrada, sumideros de salida.

III.2.2. Características principales.

Simulink proporciona un entorno interactivo de diagramas de bloques para la

modelización y la simulación de sistemas dinámicos. Incluye una extensa librería de

bloques predefinidos que se pueden usar para construir modelos gráficos de

sistemas con sólo arrastrar los bloques con el ratón. Los modelos soportados

engloban sistemas lineales, no lineales, de tiempo continuo, de tiempo discreto,

multifrecuencia, ejecutados condicionalmente, y sistemas híbridos. Los modelos

Simulación estocástica para predicción en los deportes.

42

pueden ser agrupados en jerarquías con el fin de crear una visión simplificada de los

componentes o subsistemas. La información de alto nivel se presenta de forma clara

y concisa, mientras que la información detallada se guarda fácilmente en

subsistemas dentro de la jerarquía del modelo. Simulink tiene muchas características

que permiten la personalización, especialmente cuando se trata de incorporar código

C existente. Además, las simulaciones pueden ser ejecutadas interactivamente o en

modo batch desde la línea de comandos de Matlab.

III.2.3. Una extensa librería de bloques.

La librería de bloques de Simulink contiene cerca de 100 bloques,

proporcionando un extenso conjunto de componentes estándar. Los bloques están

agrupados en librerías, de acuerdo con su funcionalidad: fuentes, sumideros,

discretos, continuos, no lineales, matemáticas, funciones y tablas, señales y

sistemas.

Simulink proporciona un tipo especial de bloque llamado función S (S-

function). Con las funciones S puede incorporar código externo (C, Fortran, o Matlab)

en los modelos de Simulink. Esta característica permite beneficiarse de código ya

existente, haciendo de Simulink un entorno de modelización extremadamente

flexible. Simulink 3 proporciona soporte de funciones S para diversos puertos de

entrada y salida con el fin de mejorar su uso.

Además de su extenso conjunto de bloques ya definidos, Simulink brinda

características para la creación de bloques y librerías de bloques personalizables. No

tan sólo puede personalizar la funcionalidad de un bloque, sino que incluso se

pueden crear iconos y cajas de diálogo para subsistemas y funciones S.

Simulación estocástica para predicción en los deportes.

43

III.2.4. Simulación.

Después de construir el diagrama de bloques en Simulink, se pueden ejecutar

simulaciones interactivas y visualizar los resultados "en directo". Los resultados de la

simulación son extremadamente precisos debido al potente grupo de métodos de

resolución disponibles en Simulink.

III.2.5. Modernos Algoritmos de Integración.

El núcleo de simulación de Simulink ofrece numerosas propiedades para

simular sistemas grandes y complejos. Por encima de todas estas propiedades está

el conjunto de métodos de resolución basados en el ODE (ecuaciones diferenciales

ordinarias) suite de Matlab. Estos métodos de resolución son apropiados para

simulaciones en tiempo continuo (analógico), tiempo discreto, o simulaciones

híbridas de cualquier tamaño. Además, proporcionan resultados de simulación

rápidos, fiables, y extremadamente precisos.

Los métodos de resolución soportan ecuaciones algebraicas diferenciales

(DAEs) con bucles algebraicos multicanal. Un bucle de restricciones algebraico

facilita la solución de sistemas en los cuales una restricción algebraica se aplica al

conjunto principal de ecuaciones. Estos métodos también soportan métodos rígidos,

sistemas con bucles algebraicos, y sistemas con eventos de estado (es decir,

discontinuidades, incluyendo cambios instantáneos en la dinámica de la planta).

III.2.6. Integración con Matlab.

Al estar construido sobre Matlab, Simulink le proporciona un entorno de

desarrollo único. Este sistema le permite ejecutar simulaciones interactivas, a través

de la interfaz gráfica de Simulink, o bien sistemáticas, ejecutando conjuntos de

experimentos en modo batch desde la línea de comandos de Matlab. Ello le ofrece la

posibilidad de generar vectores de prueba y analizar los resultados colectivamente.

Simulación estocástica para predicción en los deportes.

44

III.2.7. Bibliotecas de enlace dinámico dll.

En el entorno MS-DOS, todos los módulos objeto de un programa quedaban

enlazados estáticamente durante el proceso de construcción. Windows permite un

enlace dinámico, lo cual significa que unas bibliotecas especialmente construidas

pueden ser cargadas y enlazadas en tiempo de ejecución. Múltiples aplicaciones

pueden compartir bibliotecas de enlace dinámico, con lo cual se ahorra memoria y

espacio de disco. El enlace dinámico incrementa la modularidad de un programa

porque se pueden compilar y comprobar las DLL de forma separada.

III.3. Lenguaje de programación Visual Basic 6.0.

Este trabajo utilizo como herramienta de desarrollo al lenguaje de

programación Visual Basic 6.0®, pero también pudo haber sido desarrollado con

cualquier otra herramienta de programación.

La ventaja del uso de herramientas de programación en general sea cualquier

lenguaje, es que no se está limitado por los autores de cualquier otro software ya

desarrollado, es decir podemos utilizar software especifico para desarrollar algún

sistema pero quizás no nos permitirá profundizar en él o quizás no podremos

desarrollar otro sistema diferente con el mismo software y esto no se tiene con las

herramientas de programación, ya que se pueden desarrollar componentes para

cualquier cosa y sólo se tienen los límites que el mismo programador se establece

para sí mismo por los conocimientos que tenga.

Hablando en particular de Visual Basic, es un lenguaje de programación visual

con una sintaxis bastante sencilla y un ambiente integrado de desarrollo, lo que

significa que tiene todos los recursos necesarios para desarrollar un sistema sin estar

abriendo nuevos programas como se hacía con los primeros lenguajes de

programación, en los cuales se utilizaba un editor para escribir el programa,

Simulación estocástica para predicción en los deportes.

45

posteriormente se guardaba el programa en disco y se ejecutaba otro programa; para

en caso de detectar errores se abría nuevamente el editor, de lo contrario podíamos

ejecutarlos o utilizar otro programa como depurador. En visual Basic se encuentran

todos los elementos, visualizador de objetos, diseñador de formas, editor de código,

asistentes para realizar tareas comunes, depurador, interprete, compilador, barra de

controles para Windows, etc.

III.3.1. Características.

Utiliza básicamente 2 herramientas, una para diseño gráfico y la otra es un

lenguaje de alto nivel.

Incluye una biblioteca de clases que da soporte a los controles más comunes

de Windows, cajas de texto, botones, ventanas, listas, menús desplegables,

etc.

Recupera información de cualquier fuente de datos.

Proporciona un entorno de desarrollo integrado (editor, intérprete, depurador,

examinador de objetos, explorador de proyectos, compilador, etc) que permite

trabajar todos los aspectos de desarrollo de un proyecto.

Ofrece un asistente para el desarrollo de aplicaciones comunes, paso a paso

de manera sencilla. Los asistentes de Visual Basic van solicitando información

al usuario y basándose en esto generan el código necesario para la tarea

seleccionada.

Contiene una galería de objetos incrustados (OLE), esto es componentes de

software para reutilizar en cualquier aplicación. Se obtiene visualización y

manipulación de datos de otras aplicaciones usando controles OLE.

Simulación estocástica para predicción en los deportes.

46

Soporta la interfaz para múltiples documentos (MDI), Que permite crear una

aplicación con una ventana principal y múltiples ventanas de documento.

Permite editar y continuar. En una sesión de depuración se pueden realizar

modificaciones al código sin cerrar la sesión.

Permite la creación y uso de DLL’s. Como se mencionó anteriormente, el uso

de librerías de enlace dinámico mejora la estructuración de un sistema,

además de aprovechar de mejor forma la memoria.

III.3.2. Entorno de desarrollo integrado.

Normalmente el desarrollo de aplicaciones era en tres pasos: Escribir,

compilar y probar. Cuando se tenía un error, el compilador es quien lo capturaba,

posteriormente era necesario recompilar y volver a probar una vez que se corregía el

error.

Visual Basic tiene un intérprete que analiza el código conforme es escrito,

capturando e indicando errores de sintaxis, además de mostrar una ayuda rápida de

la sintaxis o valores esperados para la función escrita. Con esto, al momento de

compilar el código escrito, la cantidad de errores de sintaxis es mínima y el

compilador encuentra otros tipos de errores.

El código puede ser probado conforme es escrito, y en donde sea necesario

realizar una modificación, se puede realizar el cambio sin necesidad de volver a

comenzar la ejecución del programa; con esto se tiene entre otras cosas la facilidad

de probar el código con distintos valores para analizar su comportamiento o para

determinar donde pueden presentarse errores.

Estas herramientas aquí mencionadas no se pueden considerar como las

mejores, pero sí son una buena opción para quien necesita desarrollar un buen

Simulación estocástica para predicción en los deportes.

47

sistema de simulación. Una característica que comparten las 3 herramientas es el

hecho de que son generales, es decir no tienen un enfoque especifico hacia ningún

área, por lo cual pueden ser utilizadas para desarrollar modelos sobre cualquier

tema.

Simulación estocástica para predicción en los deportes.

48

Simulación estocástica para predicción en los deportes.

49

CAPÍTULO IV.

SISTEMA DE SIMULACIÓN.

IV.1. Torneo de fútbol Mexicano de Primera División.

El torneo de fútbol mexicano de primera división en que participan 18 equipos,

considerando su estructura y forma de competencia hasta el torneo de verano de

2001 (a partir de entonces ha cambiado), tiene el siguiente comportamiento:

Los equipos participantes, se encuentran clasificados en cuatro grupos, dos

de cinco equipos y dos de cuatro, un equipo no puede pertenecer a mas de un grupo.

El torneo se encuentra dividido en 17 partes llamadas jornadas, en cada

jornada cada uno de los equipos debe jugar en una y solo una ocasión contra otro

equipo. Al inicio del torneo se tiene preestablecido el rol de juegos, en ocasiones

algunos juegos son pospuestos, por lo que la Federación Mexicana de Fútbol (FMF)

que es el organismo responsable, se encarga de establecer una nueva fecha para

que el juego tenga lugar.

Al finalizar la jornada 17, mediante un proceso ya establecido se determina

que equipos pasarán a la siguiente fase del torneo o que equipos para pasar a esta

siguiente fase, deben enfrentarse entre si en lo que se ha denominado repechaje o

“repesca”.

IV.2. Metodología.

Antes de describir la forma en que opera el sistema, recordaremos un punto

mencionado anteriormente con respecto a la simulación, “los fenómenos que se

analizan no son inherentemente estocásticos o deterministas, sino que es elección

Simulación estocástica para predicción en los deportes.

50

del observador”; así también, lo es el hecho de determinar que tipo de distribución

será utilizada para describir el comportamiento del fenómeno.

Cuando se describió el proceso Poisson, se enfatizó en que éste permite

determinar la probabilidad de que ocurra un número designado de eventos en un

espacio de tiempo continuo. Se asume que los goles que ocurren en un partido no

están relacionados entre sí, es decir un gol no depende del gol anterior y la

ocurrencia es totalmente aleatoria. Para este experimento se utiliza la distribución de

Poisson para reproducir este proceso.

IV.2.1. Simulación de un partido.

Consideremos un encuentro entre dos equipos (no es relevante si los equipos

se han enfrentado un cierto número de veces en años anteriores, o no se han

enfrentado nunca). Cada uno de estos equipos presenta un comportamiento que

varia cuando juega como local ó como visitante; así mismo, cada uno recibe un cierto

número de goles como local y como visitante.

Considerando estos valores podemos calcular la probabilidad que tiene de

ocurrir cada posible gol en un partido (la distribución Poisson produce la probabilidad

de que ocurran 0, 1, 2, 3, 4, 5, ... eventos).

Posteriormente, como si se tratase de una ruleta en que cada probabilidad

tiene un área asociada, generamos un número aleatorio y dependiendo del valor,

quedará en determinada área de esta ruleta, área que representa un número o la

cantidad de goles que ocurrieron en ese evento.

Al repetir este proceso para cada equipo obtendremos el resultado final del

enfrentamiento. Para aumentar la veracidad de la información debemos repetir este

proceso muchas veces, hasta que la cantidad de repeticiones (que llamaremos

simulaciones) sea tal, que el resultado tenga una mínima variación. Realizando un

Simulación estocástica para predicción en los deportes.

51

análisis de los resultados obtendremos con un cierto grado de confianza la

probabilidad de ganar que tiene cada equipo.

IV.2.2. Simulación de una jornada.

Hasta este punto somos capaces de simular el enfrentamiento de dos

equipos, pero un torneo se encuentra dividido por jornadas como se describió

anteriormente; para esto es necesario repetir el proceso de enfrentamiento de dos

equipos considerando el orden en que se enfrentan los equipos y los parámetros

correspondientes.

IV.2.3. Simulación del torneo.

Finalmente para simular el torneo, el sistema debe realizar la simulación de

cada jornada a partir de la última jornada que halla sido jugada. Con la información

final se obtienen los resultados de que equipos participan en la última fase del

torneo. Sí realizamos nuevamente muchas simulaciones del torneo y analizamos la

información arrojada por las simulaciones, podremos concluir que los ocho equipos

que han resultado con mayor puntuación en un mayor número de veces, son los

equipos que tienen mayor probabilidad de pasar a la ultima fase del torneo, además

cada equipo tiene su propia probabilidad asociada.

IV.3. Sistema.

El sistema para predicción de resultados en el torneo de fútbol mexicano de la

primera división se desarrolló en 3 partes principales, cada una de estas partes fue

diseñada para trabajar de forma independiente y solo son vinculadas entre sí cuando

así se requiere.

Simulación estocástica para predicción en los deportes.

52

IV.3.1. Entrada de Datos.

Esta sección del sistema se desarrolló para que el usuario pueda introducir de

forma sencilla toda la información necesaria que el sistema requiere para poder

realizar la simulación del torneo y arrojar los resultados correspondientes,

aprovechando las posibilidades que ofrece un lenguaje de programación visual.

Dentro de la información con que el sistema debe ser alimentado se encuentran:

Grupos del Torneo. En este punto se genera un archivo que tiene

almacenados los cuatro grupos del torneo. Mediante la pantalla que se muestra a

continuación, el usuario puede agrupar los equipos de forma que esta información

represente la clasificación real del torneo. Para este punto se utiliza la interfaz

representada por la imagen 4.1.

Secuencia del torneo. Como al inicio del torneo ya se tiene establecido

el rol de juego, podemos utilizar esta información para alimentar al sistema. Es

necesario remarcar la importancia de este punto pues ésta es información vital para

el sistema, ya que la simulación del torneo la realiza enfrentando los equipos en el

orden en que ha sido indicado y para obtener resultados óptimos, debe de existir

total correspondencia entre la información proporcionada al sistema y la información

real del torneo.

La interfaz que presenta el sistema para este punto, al igual que el anterior es

bastante sencilla, esto se puede observar en la imagen 4.2.

Resultados de las jornadas. Conforme el torneo avanza, es necesario

proporcionar al sistema los resultados que se han ido obteniendo; esto es importante

ya que el sistema se retroalimenta con esta información para las jornadas

posteriores. El sistema detecta que resultados han sido proporcionados y sólo

calculara los resultados de las jornadas pendientes a jugar para realizar las

predicciones.

Simulación estocástica para predicción en los deportes.

53

Imagen 4.1 Captura de grupos

En ocasiones hay juegos que son anulados ya sea al momento de ser jugados

o incluso después, cuando alguno de los equipos pone una queja y esta es aprobada

por la FMF. En este caso el sistema permite anular algún juego aun cuando la

información ya había sido proporcionada y dicho enfrentamiento no será considerado

como factor determinante para la estimación de probabilidades de ninguno de los

equipos que en él intervienen.

Simulación estocástica para predicción en los deportes.

54

Imagen 4.2 Captura de jornadas.

Para alimentar al sistema con los resultados de las jornadas que ya han sido

jugadas, el sistema utiliza la información proporcionada en la secuencia del torneo,

es decir, al sistema sólo se le debe indicar cuál jornada ha sido jugada y mostrará

una pantalla en la cual aparecen los equipos en la secuencia y orden en que jugarán,

dependiendo de cómo fue proporcionada esta información.

Para realizar estos pasos, el sistema ofrece una interfaz totalmente gráfica

que facilita este proceso, ya que con el uso del ratón y botones se seleccionan los

equipos y, en donde es necesario, los números de jornadas y goles para finalmente

Simulación estocástica para predicción en los deportes.

55

guardar esta información para procesos posteriores, como se muestra en la imagen

4.3:

Imagen 4.3 Captura de resultados.

Toda la información proporcionada hasta este punto, se almacena en archivos

que el sistema lee cuando requiere hacer una simulación. Los archivos son los

siguientes:

C:\gpo00.dat, éste archivo almacena la información correspondiente al equipo y el

grupo a que pertenece, es un archivo binario formado por dos números enteros,

Simulación estocástica para predicción en los deportes.

56

donde el primero representa el equipo y el segundo representa el numero de grupo,

tomando valores de 0 a 17 y de 1 a 4 respectivamente.

C:\res00.dat, éste archivo guarda los resultados de los juegos que ya han sido

jugados y que se tienen registrados. Este archivo es un archivo binario de acceso

aleatorio, cuya estructura en Visual Basic es:

Type tipores

Torneo As Integer

Jornada As Integer

Local As Integer

Visita As Integer

MLocal As Integer

MVisita As Integer

jugado As Boolean

End Type

C:\jor00.dat, éste archivo guarda el orden en que se efectuaran los juegos durante el

torneo. Este es un archivo binario de acceso aleatorio, la estructura que compone

este archivo se define en Visual Basic así:

Type tipojor

Torneo As Integer

Jornada As Integer

Local As Integer

Visita As Integer

End Type

Estos tres archivos no deben ser alterados o eliminados por una herramienta

diferente al mismo sistema, pues en caso de hacerlo podría ocasionar errores en el

funcionamiento del mismo.

Simulación estocástica para predicción en los deportes.

57

IV.3.2. Procesamiento de Información.

Éste representa el módulo principal del sistema, pues es el encargado de

realizar todos los procesos involucrados en la simulación del torneo, generación de

archivos y tablas que serán utilizados por el módulo de salida de información.

Éste módulo para su funcionamiento, hace uso de la información con que fue

alimentado el sistema y se encarga de determinar a partir de qué juego comenzará a

funcionar la simulación; así también es el encargado de determinar los valores de las

variables que interfieren en los distintos procesos estocásticos y probabilísticos, en

los cuales recae gran parte de la veracidad de los datos proporcionados por el

sistema.

La primer parte del proceso de simulación consiste en crear la tabla de

posiciones, de todos los equipos que participan en el torneo, para este proceso y de

aquí en adelante el sistema asigna un numero a cada equipo, dependiendo del

nombre del equipo, se ordenan ascendentemente y se numeran a partir de 0, por lo

cual se tienen 18 equipos numerados de 0 a 17.

Para manipular la información de cada equipo se utiliza una estructura, que en

Visual Basic se define así:

Type tablatipo

Grupo As Integer ' Grupo a que pertenece el equipo

jugados As Integer ' Cantidad de juegos jugados

ganados As Integer ' Cantidad de juegos ganados

perdidos As Integer ' Cantidad de juegos perdidos

empatados As Integer ' Juegos empatados

golfavor As Integer ' Goles a favor

golcontra As Integer ' Goles en contra

Simulación estocástica para predicción en los deportes.

58

diferencia As Integer ' Diferencia de goles

puntos As Integer ' Puntos acumulados

caplocal As Double ' Promedio de goles como local

capdeflocal As Double ' Promedio de goles como visitante

capdefvisita As Double ' Promedio de goles recibidos por equipo local

capvisita As Double ' promedio de goles recibidos por equipo visitante

End Type

A partir de esta estructura se construye un arreglo numerado de 0 a 17:

Global Tablapos(17) As tablatipo 'Guarda la tabla de posicion real de los

equipos desde 0 hasta la jornada actual

Otras variables y estructuras importantes para el funcionamiento del sistema

son las siguientes:

Type juegostipo

Torneo As Integer

Jornada As Integer

Local As Integer

Visita As Integer

GolLocal As Integer

GolVisita As Integer

jugado As Boolean

End Type

Global TablaSim(17) As tablatipo ' Guarda las tablas de posiciones de las

simulaciones de las jornadas

Global Resultados(200) As juegostipo ' Guarda los resultados leidos del archivo de

'resultados para ser consultados por los calculos

Global simulados(200) As juegostipo ' Guarda los resultados de las simulaciones,

' con este se obtiene la tabla de posiciones de los juego simulados

Simulación estocástica para predicción en los deportes.

59

Finalmente se construye la tabla de posiciones, utilizando la información que

anteriormente se almaceno en archivos.

' Para esta funcion se toma a partir del primer partido de la jornada

' y hasta que no se encuentren mas resultados almacenados

' Crear tabla de posiciones

Sub creatabla()

Dim numarch, i, j, xj, tj As Integer

Dim gpo, eqp As Integer

Dim nom As String

Dim k As Integer

Dim regGpo As tipogpo

Dim regRes As tipores

Dim numReg As Integer

Dim jor, eloc, evis, mloc, tor, mvis As Integer

numarch = FreeFile

' Abrir archivo de grupos, inicializar variables

Open "c:\gpo00.dat" For Random As numarch Len = Len(regGpo)

While Not (EOF(numarch))

Get #numarch, , regGpo

If regGpo.Grupo <> 0 Then

With Tablapos(regGpo.equipo)

.Grupo = regGpo.Grupo

.capvisita = 0

.caplocal = 0

.diferencia = 0

.empatados = 0

.ganados = 0

.golcontra = 0

.golfavor = 0

Simulación estocástica para predicción en los deportes.

60

.jugados = 0

.perdidos = 0

.puntos = 0

End With

End If

Wend

Close #numarch

numarch = FreeFile

Open "c:\res00.dat" For Random As #numarch Len = Len(regRes)

j = 0 ' Abrir arch. de resultados para crear tabla

k = 0

numReg = TorneoActual * 9 * 17

While (Not EOF(numarch))

Get #numarch, numReg + k + 1, regRes

' se guarda en vector Resultados todos los juegos

With regRes

eloc = .Local

evis = .Visita

mloc = .MLocal

mvis = .MVisita

End With

Resultados(k).jugado = False

If regRes.jugado Then

jor = regRes.Jornada

With Resultados(k)

.Jornada = jor

.Local = eloc

.Visita = evis

.GolLocal = mloc

.GolVisita = mvis

.jugado = True

Simulación estocástica para predicción en los deportes.

61

End With

'Aqui se checa el cambio de jornada

k = k + 1

If j = 0 Then

xj = jor

j = 1

Else

If xj <> jor Then ' cuando se lee uno diferente es que hubo cambio

j = j + 1

xj = jor

End If

End If

' Guardar resultados de local

With Tablapos(eloc)

.jugados = .jugados + 1

.golfavor = .golfavor + mloc

.golcontra = .golcontra + mvis

If mloc > mvis Then

.ganados = .ganados + 1

.puntos = .puntos + 3

Else

If mvis > mloc Then

.perdidos = .perdidos + 1

Else

.empatados = .empatados + 1

.puntos = .puntos + 1

End If

End If

End With

' Guardar resultados de visitante

With Tablapos(evis)

Simulación estocástica para predicción en los deportes.

62

.jugados = .jugados + 1

.golfavor = .golfavor + mvis

.golcontra = .golcontra + mloc

If mvis > mloc Then

.ganados = .ganados + 1

.puntos = .puntos + 3

Else

If mloc > mvis Then

.perdidos = .perdidos + 1

Else

.empatados = .empatados + 1

.puntos = .puntos + 1

End If

End If

End With

Else

k = k + 1

End If

Wend

totalJugados = jor

' se Calcula la diferencia de puntos

For i = 0 To 17

With Tablapos(i)

.diferencia = .golfavor - .golcontra

End With

Next i

Close #numarch

End Sub

Existen dos formas de operar del sistema: pasiva y activa. En la operación

pasiva, no hay juegos que se desarrollen en ese instante; en la activa, es posible

Simulación estocástica para predicción en los deportes.

63

calcular la probabilidad en tiempo real, por ejemplo cada minuto. La utilidad de ésta

última opción es en la última jornada, cuando se desarrollan incluso varios juegos de

forma simultánea.

Independientemente de la forma en que opera el sistema, primero debe

calcular los parámetros correspondientes para la función de probabilidad (lambda

para la distribución de tipo Poisson.). Estos parámetros son el promedio de goles

anotados como local, el promedio de goles recibidos como local, el promedio de

goles anotados como visitante y el promedio de goles recibidos como visitante por

cada equipo.

Para seleccionar el modo de simulación, el sistema ofrece una interfaz

representada por la imagen 4.4, en la cual además de seleccionar el modo de

operación, podemos seleccionar también la cantidad de juegos a considerar.

Imagen 4.4 Elección de tipo de simulación.

Simulación estocástica para predicción en los deportes.

64

IV.3.2.1. Funcionamiento en modo pasivo.

El sistema toma los datos, determina en qué juego debe comenzar a simular y

calcula con la información disponible las variables para los distintos procesos

involucrados. Con dicha información, simula el torneo completo; este proceso se

realiza muchas veces para que los datos se aproximen en lo posible a un mismo

punto; al final del proceso de simulación, el sistema crea una lista con los equipos

con posibilidades de calificar y sus probabilidades correspondientes.

Código para la simulación de un torneo.

' Para simular torneo

' se leen las jornadas y a partir de donde se ha jugado

' se almacenan los que faltan en un arreglo

' se comienzan a simular las jornadas que faltan

' se realizan los calculos y se obtiene el resultado final

Sub simTorneo()

Dim k, i As Integer

Dim indice As Integer

Dim nojor, noeql, noeqv As Integer

Dim arch As Integer

Dim conTorneos As Integer

Dim numReg As Integer

Dim regJor As tipojor

Dim indFinal As Integer

Calculos

arch = FreeFile

Open "c:\jor00.dat" For Random As #arch Len = Len(regJor)

indice = 0

numReg = TorneoActual * 9 * 17 + (totalJugados - 1) * 9 + 1

indFinal = TorneoActual * 9 * 17 + 16 * 9 + 9

For i = numReg To indFinal

Simulación estocástica para predicción en los deportes.

65

Get #arch, i, regJor

With simulados(indice)

.Torneo = regJor.Torneo

.Jornada = regJor.Jornada

.Local = regJor.Local

.Visita = regJor.Visita

.jugado = True

End With

indice = indice + 1

Next i

Close #arch

For i = 0 To 17

Califica(i) = 0

Next i

For conTorneos = 1 To 700

k = 0

For i = totalJugados + 1 To 17

Call simJornada(k, 1)

k = k + 1

Next i

creaTablaSim (k)

Next conTorneos

For i = 0 To 17

DatosGraficar(i) = (Califica(i) / 700) * 100

Next i

Grafica.Caption = "Probabilidades de clasificación a la jornada " &

totalJugados

Grafica.Show

End Sub

La simulación de una jornada se realiza de la siguiente forma:

Simulación estocástica para predicción en los deportes.

66

'Simulacion de jornadas

' se recupera cada juego, se calcula el lambda

' correspondiente y se calculan los goles, al final

' se almacena el resultado en la tabla

Sub simJornada(ByVal jor As Integer, ByVal param As Double)

Dim indice, j, i As Integer

Dim elocal, evisitante As Integer

Dim par As Double

Dim num As Double

Dim poisl, poisv As Double

Dim lamloc, lamvis, ax, bx As Double

Dim sum, tot As Double

Randomize

For i = 0 To 8

indice = jor * 9 + i

lamloc = Tablapos(simulados(indice).Local).caplocal

ax = Tablapos(simulados(indice).Visita).capdefvisita

lamvis = Tablapos(simulados(indice).Visita).capvisita

bx = Tablapos(simulados(indice).Local).capdeflocal

' Calcular probabilidades del local

sum = 0

tot = 0

For j = 0 To 8

par = prob(lamloc , j)

suma(j) = par

sum = sum + par

Next

'Normalizar la suma

If sum > 0 Then

Simulación estocástica para predicción en los deportes.

67

For j = 0 To 8

suma(j) = suma(j) / sum

tot = tot + suma(j)

ProbsL(j) = tot

Next

End If

'calcular goles local

num = Rnd

j = 0

While num > ProbsL(j)

j = j + 1

Wend

simulados(indice).GolLocal = j ''' Goles del Local

' Calcular probabilidades del visitante

sum = 0

tot = 0

For j = 0 To 8

par = prob(lamvis, j)

suma(j) = par

sum = sum + par

Next

'Normalizar la suma

If sum > 0 Then

For j = 0 To 8

suma(j) = suma(j) / sum

tot = tot + suma(j)

ProbsV(j) = tot

Next

End If

'calcular goles visitante

num = Rnd

Simulación estocástica para predicción en los deportes.

68

j = 0

While num > ProbsV(j)

j = j + 1

Wend

simulados(indice).GolVisita = j ''' Goles del visitante

Next i

End Sub

La función probs(parametro1, parametro2) que se utiliza en este módulo, se

encarga de calcular, utilizando la distribución Poisson con lambda igual a

prarametro1, la probabilidad de que ocurran parametro2 eventos.

' Funcion que resuelve con la formula de la Poisson con parametros

' (lambda e i) primer y segundo parámetro.

Function prob(lambda As Double, ByVal i As Integer) As Double

Dim expon As Double

Dim prb, par2 As Double

prb = Exp(-(lambda))

par2 = (pow(i, lambda)) / fact(i)

prob = prb * par2

End Function

A partir de aquí el resto corresponde al módulo de salida de información.

IV.3.2.2. Funcionamiento en modo activo.

El sistema debe contar con los resultados del torneo hasta la penúltima

jornada, a partir de aquí el sistema se encargará de simular la última fecha del torneo

mostrando una pantalla en la que se determinan los enfrentamientos y opciones para

determinar el flujo del juego. Es muy común que la última jornada sea jugada de

Simulación estocástica para predicción en los deportes.

69

forma simultánea por todos los equipos; considerando esto, el sistema ofrece la

posibilidad de simular todos los juegos a la vez.

Un punto importante de la simulación activa es que se puede interactuar

directamente con el proceso de simulación que está siendo llevado a cabo; para

esto, además de contar con opciones para controlar el inicio y fin de cada posible

tiempo del juego, existen ventanas para que se varíe el marcador conforme se está

desarrollando el juego; con esto es posible que el sistema se retroalimente, con los

datos generados por la simulación y con los datos reales del juego.

IV.3.3. Salida de información.

Para presentar los datos al usuario y que pueda tomar éste sus conclusiones,

el sistema utiliza una gráfica en la que muestra cada equipo y el porcentaje de veces

que calificó. Utilizando esta información, podemos concluir que aquellos ocho

equipos que calificaron un mayor número de veces, son los que tienen mayor

probabilidad de pasar a la siguiente fase del torneo.

IV.3.3.1. Salida pasiva y activa.

En puntos anteriores se mencionó cómo funcionan las simulaciones pasiva y

activa; en cuanto a la presentación de los resultados, la gráfica es muy similar. Lo

que hace diferentes a los dos tipos de procesamiento es que cuando se desea

realizar una predicción de forma pasiva se genera una sola gráfica al final de todo el

proceso de simulación; cuando se elige una predicción activa, se genera una gráfica

similar, pero dicha gráfica se está generando cada cierto intervalo de tiempo, siempre

y cuando esté corriendo el reloj de juego o se tengan activadas las casillas de inicio

de alguno de los tiempos.

La imagen 4.5 representa la grafica de una simulación pasiva:

Simulación estocástica para predicción en los deportes.

70

Imagen 4.5 Grafica de una simulación.

La razón de que se esté regenerando la gráfica, se debe al hecho de que

conforme avanza el tiempo, los equipos cada vez están más próximos, ya sea a

calificar o a quedar fuera de la siguiente fase. Recordemos que en este tipo de

predicción lo que se simula es la última jornada, por lo cual, cuando este juego

termina, ya se sabe a ciencia cierta cuales equipos pasan a la siguiente fase del

torneo y cuales no.

La imagen 4.6 corresponde a una simulación activa, como se podrá apreciar

atrás de la pantalla de información, aparece la grafica que permite conocer las

probabilidades de los equipos.

El sistema crea algunos archivos mientras está simulando el torneo, en los

que se puede apreciar claramente el desempeño de los equipos durante la

simulación. Dentro de la información proporcionada se encuentran las tablas

generales de puntuación, la cantidad de goles durante cada enfrentamiento y la

cantidad de goles acumulados por cada uno de los equipos.

Simulación estocástica para predicción en los deportes.

71

IV.3.4. Solución a preguntas ¿QUÉ PASA SÍ?.

Se ha mencionado la importancia de este tipo de preguntas, pues permiten

conocer como funcionará el sistema ante situaciones que o bien tienen muy poca

probabilidad de presentarse o que requieren un análisis más profundo. En este caso

para la simulación pasiva, el sistema puede ser alimentado con datos ficticios para

determinar que pasaría si en la siguiente jornada, uno de los equipos le ganara a su

equipo contrincante, o si un equipo empatara contra otro equipo, etc.; sólo es

importante tener cuidado de que estos datos ficticios, sean posteriormente

reemplazados con los datos reales obtenidos del enfrentamiento de estos equipos.

Al momento de elegir el tipo de simulación, se puede seleccionar la cantidad

de juegos anteriores a considerar. Esto es importante pues nos permite conocer el

desempeño de los equipos, si éstos se comportaran el resto del torneo como en los

últimos juegos, desempeño que puede no ser igual si los equipos han tenido un

comportamiento muy variable desde el inicio del torneo.

En lo que respecta a la simulación activa, también es posible conocer cuales

serían los posibles resultados si en la última jornada un equipo estuviera hasta cierto

tiempo un gol arriba en el marcador; o dependiendo del marcador, que resultados se

obtendrían, si en ese momento terminara el encuentro. Este es el tipo de preguntas

que se pueden hacer y que el sistema, dada su flexibilidad, es capaz de responder.

IV.4. Prueba de la hipótesis.

Para obtener óptimos resultados, el sistema se debe acoplar a todos los

aspectos del torneo para arrojar mejores resultados (la simulación imita la realidad),

esto es de los aspectos de mayor complicación al momento de realizar un sistema de

simulación.

Simulación estocástica para predicción en los deportes.

72

Imagen 4.6 Pantalla para la simulación activa.

Para realizar la prueba del sistema y con esto demostrar la hipótesis,

emplearemos los resultados del torneo de fútbol mexicano de primera división del

verano de 2001.

Para crear la gráfica 4.7, el sistema utilizo la información de los resultados de las

primeras 10 jornadas del torneo. La predicción se realiza hasta la fase de calificación

y la grafica muestra las probabilidades que tiene cada equipo de pasar a la fase final

del torneo; estas predicciones están basadas en la suposición de que los equipos

mantendrán el mismo comportamiento durante el resto del torneo, lógicamente si su

desempeño cambia también lo hará su probabilidad de calificar. Recordemos que la

Simulación estocástica para predicción en los deportes.

73

simulación se realiza a partir de la ultima jornada capturada hasta la jornada 17,

debido a esto, aun cuando el equipo A tenga un mejor desempeño que el equipo B a

la fecha, podría tener una menor probabilidad de clasificación por diferentes causas:

por ejemplo, probablemente el resto de los encuentros es más “difícil” para el equipo

A que para el equipo B, o tal vez los equipos en el grupo de A tienen mejor

desempeño, lo que le dificulta su clasificación.

Por lo anterior, es claro que al avanzar el torneo las probabilidades de

clasificación se vuelven más precisas ya que el proceso de estimación mejora y el

número de juegos por simular disminuye.

Gráfica 4.7. Probabilidades de clasificación, en la jornada 10.

Los siguientes, son los equipos que pasaron a la etapa final: León, Pachuca,

Puebla, U.A.G., Monterrey, América, Tigres y Santos.

Para las siguientes simulaciones utilizaremos la información de las 17 jornadas (no

hay mas jornadas por simular), y con ésta información simularemos juegos de forma

Simulación estocástica para predicción en los deportes.

74

individual, estos juegos son solo algunos de los juegos que se desarrollaron en las

etapas de recalificación, cuartos de final, semifinal y final.

Para la simulación de los juegos individuales, se selecciona como primer

equipo al que jugara de local en el partido de ida, el sistema automáticamente simula

el partido de vuelta.

Después de cada gráfica aparece una tabla, esta tabla muestra los resultados

que se obtuvieron cuando se enfrentaron los equipos cuyo encuentro fue simulado;

los porcentajes que aparecen en cada gráfica, representan las probabilidades que

tiene cada equipo de resultar ganador, así también, se muestra la probabilidad que

existe de que al final del juego exista un empate.

Simulación de un juego de la fase de recalificación.

Resultados obtenidos en el encuentro de los equipos.

Atlas Vs. Puebla

Partido de ida. 1 2

Partido de Vuelta 3 3

Marcador Global 4 5

Equipo ganador: Puebla.

Resultado de la simulación.

Simulación estocástica para predicción en los deportes.

75

Gráfica 4.8. Simulación del encuentro Atlas vs. Puebla.

Simulación de un juego de los cuartos de final.

Resultados obtenidos en el encuentro de los equipos.

León Vs. América

Partido de ida. 1 1

Partido de Vuelta 1 4

Marcador Global 2 5

Equipo ganador: América.

Resultado de la simulación.

Gráfica 4.9. Simulación del encuentro León vs. América.

Simulación de un juego de la semifinal.

Resultados obtenidos en el encuentro de los equipos.

Puebla Vs. Santos

Partido de ida. 5 4

Partido de Vuelta 1 2

Marcador Global 6 6

Equipo ganador por diferencia de puntos: Santos.

Resultado de la simulación.

Simulación estocástica para predicción en los deportes.

76

Gráfica 4.10. Simulación del encuentro Puebla vs. Santos.

Simulación de la final del torneo de fútbol.

Resultados obtenidos en el encuentro de los equipos.

Pachuca Vs. Santos

Partido de ida. 2 1

Partido de Vuelta 1 3

Marcador Global 3 4

Equipo ganador: Santos.

Resultado de la simulación.

Gráfica 4.11. Simulación del encuentro Pachuca vs. Santos.

Simulación estocástica para predicción en los deportes.

77

CONCLUSIONES.

Considerando los resultados obtenidos de las múltiples pruebas realizadas, se

puede concluir que se acepta la hipótesis planteada. Un modelo de simulación

estocástica por computadora es capaz de predecir con un alto grado de confianza,

los resultados del torneo de fútbol mexicano de primera división.

Uno de los problemas principales al momento de crear el modelo del torneo de

fútbol mexicano, fue implementar la llamada fase de recalificación; primeramente por

el hecho de no conocer totalmente el sistema empleado por la FMF, para determinar

que equipos son los que entran en esta fase, y en segundo término, por lo complejo

que resulta determinar cuales equipos deben jugar un encuentro más antes de pasar

a la fase final del torneo.

Este trabajo puede servir como base para desarrollar sistemas de simulación

aplicados a otros deportes o disciplinas cuyo comportamiento sea similar al del

torneo de fútbol mexicano de primera división, tal es el caso de los torneos de fútbol

de España, Italia, y otros países.

La utilidad principal de este tipo de simulación se puede enfocar hacia los

medios de comunicación como comentaristas deportivos o los encargados de las

columnas deportivas de los periódicos y revistas especializadas, pues tienen en este

tipo de sistemas una herramienta que les permite hacer predicciones basadas no

solamente en observaciones.

Se puede mejorar este sistema, ampliando su capacidad para soportar los

cambios que se pueden dar en el torneo, como sucedió después del torneo de

verano 2001; estas modificaciones incluyen el numero de equipos participantes, la

cantidad de juegos por jornada y la cantidad de jornadas por torneo.

Simulación estocástica para predicción en los deportes.

78

A continuación se mencionan otros puntos de importancia que se pueden

concluir de este trabajo.

Es necesario trabajar en la elaboración de algoritmos que permitan a una

computadora realizar el trabajo para el que se requiere mucho tiempo de estudio o la

solución de ecuaciones complejas.

Existen herramientas de software que son capaces de simular muchos tipos

de procesos, pero es mas practico realizar software especializado para atacar un

problema especifico.

El modelar un sistema tiene grandes beneficios entre ellos podemos

mencionar:

Reducción de costos de implantación

Una mejor planeación

Un mejor entendimiento del sistema

Existe un punto muy importante que debe de tener un modelo que simule un

sistema y es el hecho de poder responder preguntas del tipo ¿qué pasa si?, ya que

estas preguntas nos permiten comprender mejor el sistema, nos permiten ubicar

cuellos de botella y también ayudan a visualizar el comportamiento del sistema en

cualquier tipo de condición.

La confiabilidad que se puede tener en un modelo de predicción o de

simulación de sistemas, depende directamente del buen estudio que se haga del

mismo y del conocimiento que se tenga de él, pues esto permite conocer los factores

que intervienen en el comportamiento del sistema y ayuda a determinar que variables

se requieren y como se comportan.

En lo que respecta a la herramienta adecuada para desarrollar e implementar

el modelo de simulación, es recomendable buscar alguna herramienta para realizar

Simulación estocástica para predicción en los deportes.

79

simulaciones sobre el tema que se esta tratando, en caso de no existir o de que la

herramienta que existe no satisfaga todos los requerimientos que se tienen, se puede

utilizar una herramienta general que permita desarrollar un modelo que trabaje en

todos los puntos que del modelo se requieren, recordemos que los lenguajes de

programación pueden ser tan potentes como el programador requiera.

Simulación estocástica para predicción en los deportes.

80

Simulación estocástica para predicción en los deportes.

81

BIBLIOGRAFÍA

Libros.

Brian D. Ripley. (1987). “Stochastic simulation”; Ed. John Wiley & Sons, EUA.

Mendenhall Willian, Sincich Terry; “Probabilidad y estadística para ingeniería y

ciencias”; 4ª ed.; Editorial Prentice Hall.

M. Sasieni, A. Yaspan, L. Friedman. (1982). “Métodos y problemas de investigación

de operaciones”; México, Ed. Limusa.

Robert J. Thierauf, Richard A. Gross.( 1990). “Toma de decisiones por medio de

investigación de operaciones”; México, ed. Limusa-Noriega.

Robert E. Shannon. (1988). “Simulación de sistemas. Diseño, desarrollo e

implementación”; México, ed. Trillas.

R. Lyman Ott. (1993). “An introduction to statistical methods and data analysis”;

Duxbury Press, 4a. ed.

Research & Education Association. (1993). “Statistics Problem Solver”.

Taylor Howard M., Karlin Samuel (1994). “An introduction to stochastic Modeling”;

Academic Press, EUA.

Infante Gil Said, P. Zarate de Lara Guillermo. (1990). “Métodos estadísticos”; 2a.

Ed., editorial Trillas.

William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling. , (1988).

“Numerical recipes in C”. Cambridge University Press.

Sitios de Internet.

http://www.femexfut.org.mx. (Enero 2001).

http://www.mathworks.com. (Marzo 2001).