miércoles, 28 de abril de 2010

Porque Ford se hizo millonario~

Que es la planeación, buscando por ahí encontre lo siguiente:

"La planeación consiste en fijar el curso concreto de acción que ha de seguirse, estableciendo los principios que habrán de orientarlo, la secuencia de operaciones para realizarlo, y la determinación de tiempos y números necesarios para su realización". A. Reyes Ponce.
Es importante definir tambien:

* Objetivo. El aspecto fundamental al planear es determinar los resultados.

* Cursos alternos de acción. Al planear es necesario determinar diversos caminos, formas de acción y estrategias, para conseguir los objetivos.

* Elección. La planeación implica la determinación, el análisis y la selección de la decisión más adecuada.

* Futuro. La planeación trata de prever situaciones futuras y de anticipar hechos inciertos, prepararse para contingencias y trazar actividades futuras.


Analizando estos puntos es importante resaltar que en la elección se habla de tomar la decisión más adecuada, que como estudiante de pisis ya nos hace sonar algunas campanas.

También nos dice que debemos prever situaciones futuras y anticipar hechos inciertos, ahora, esto es posible que pueda realizarse con un analisis meticuloso de todos los posibles casos que podrían presentarse, pero, ¿qué pasa si el sistema sobre el que queremos planear es caotico?, no podríamos predecir todos los casos futuros, o, talvez el sistema sea tan complejo que no es posible que sea analizado solamente por un ser humano, talvez podremos analizar el comportamiento de un fenomeno de forma macroscopica, pero si nuestro interes es analizar a sus elementos de forma individual (personas que se contagían en un hospital); pues para estos casos necesitaremos realizar una simulación (una basada en agentes para el segundo caso).

Ahora veamos algunas caracteristicas de la planeación:

1.- La planeación es un proceso permanente y continúo
2.- La planeación esta siempre orientada hacia el futuro
3.- La planeación busca la racionalidad en la toma de decisiones
4.- La planeación busca seleccionar un curso de acción entre varias alternativas
5.- La planeación es sistémica
6.- La planeación es repetitiva
7.- La planeación es una técnica cíclica
8.- La planeación es una función administrativa que interactúa con las demás
9.- La planeación es una técnica de coordinación e integración
10.-La planeación es una técnica de cambio e innovación

Esto me recuerda a lo que uno desearía que pasara en toda la implementación y uso de un brazo robotico, en su uso, el brazo debe estar recalibrandose cada vez y hacer esto de manera permantente y continua (nadie quiere un brazo robotico capaz de destrosar tu cabeza vuelto "loco").



En cuanto al modelado buscando por ahí encontre varios programas, baje uno Renque (14 dias de trial) y estube jugando un poco con este.

En la primera imagen vemos una linea de producción donde el Active 4 toma el papel del inspector, el Active es por donde entras nuestros carros (puede ser lo que usted quiera), el passive 2 es nuestro almacen donde nuestros carros terminados van a parar.
Cada bolita es uno de nuestros carros.


Como podra apreciar, al tener un solo inspector al final de la linea de espera al rechazar a los carros y permitir su reincerción en la linea esto nos genera una gran cantidad de atrazo, esto ocurre así pues el inspector manda hasta el principio a todo proceso que no pasa, ahora si pusieramos a mas inspectores podríamos evitarnos esto, pues así el inspector al final de la linea sabría que cualquier producto que le llegue solo pudo haber tenido errores en la anterior fase de contrucción y no tendría que mandar a nuestro auto hasta el principio de la linea.





Esta tercer imagen muestra una zona de montaje aparte, en ella un grupo de trabajadores analiza el producto que no halla pasado la prueba de calidad, y toma una desición en base a ello, si el producto requiere un pequeño proceso se realiza en esta zona y el auto se envia a almacen (en este caso localizado en otra zona para analizar que tantos carros son corregidos por este equipo).
Si el proceso que requiere el auto es total, entonces se reenvia al comienzo de la linea de producción.



Entre las herramientas para la simulación encontre una pagina en la cual se incluyen muchos programas:

http://www.idsia.ch/~andrea/sim/simvis.html

Muchos de ellos tienen periodos de prueba para su analisis.

miércoles, 21 de abril de 2010

El dilema del estudiante~ o (teoria de juegos)

La teoría de juegos es un área de la matemática aplicada que utiliza modelos para estudiar interacciones en estructuras formalizadas de incentivos (los llamados juegos) y llevar a cabo procesos de decisión. Sus investigadores estudian las estrategias óptimas así como el comportamiento previsto y observado de individuos en juegos.

La forma normal (o forma estratégica) de un juego es una Matriz que muestra los jugadores, las estrategias, y las recompensas.

Cuando un juego se presenta en forma normal, se presupone que todos los jugadores actúan simultáneamente o, al menos, sin saber la elección que toma el otro.

La representación de juegos en forma extensiva modela juegos con algún orden que se debe considerar. Los juegos se presentan como árboles. Cada vértice o nodo representa un punto donde el jugador toma decisiones. El jugador se especifica por un número situado junto al vértice. Las líneas que parten del vértice representan acciones posibles para el jugador. Las recompensas se especifican en las hojas del árbol.

Tipos de juegos:

Juegos simétricos y asimétricos

Un juego simétrico es un juego en el que las recompensas por jugar una estrategia en particular dependen sólo de las estrategias que empleen los otros jugadores y no de quién las juegue. Si las identidades de los jugadores pueden cambiarse sin que cambien las recompensas de las estrategias, entonces el juego es simétrico. Muchos de los juegos 2×2 más estudiados son simétricos. Las representaciones estándar del juego de la gallina, el dilema del prisionero y la caza del ciervo son juegos simétricos.

Los juegos asimétricos más estudiados son los juegos donde no hay conjuntos de estrategias idénticas para ambos jugadores. Por ejemplo, el juego del ultimátum y el juego del dictador tienen diferentes estrategias para cada jugador; no obstante, puede haber juegos asimétricos con estrategias idénticas para cada jugador.

Juegos de suma cero y de suma no cero

En los juegos de suma cero el beneficio total para todos los jugadores del juego, en cada combinación de estrategias, siempre suma cero (en otras palabras, un jugador se beneficia solamente a expensas de otros). El go, el ajedrez, el póker y el juego del oso son ejemplos de juegos de suma cero, porque se gana exactamente la cantidad que pierde el oponente. Como curiosidad, el fútbol dejó hace unos años de ser de suma cero, pues las victorias reportaban 2 puntos y el empate 1 (considérese que ambos equipos parten inicialmente con 1 punto), mientras que en la actualidad las victorias reportan 3 puntos y el empate 1.

La mayoría de los ejemplos reales en negocios y política, al igual que el dilema del prisionero, son juegos de suma no cero, porque algunos desenlaces tienen resultados netos mayores o menores que cero. Es decir, la ganancia de un jugador no necesariamente se corresponde con la pérdida de otro. Por ejemplo, un contrato de negocios involucra idealmente un desenlace de suma positiva, donde cada oponente termina en una posición mejor que la que tendría si no se hubiera dado la negociación.

Se puede analizar más fácilmente un juego de suma cero, y cualquier juego se puede transformar en un juego de suma cero añadiendo un jugador "ficticio" adicional ("el tablero" o "la banca"), cuyas pérdidas compensen las ganancias netas de los jugadores.

Juegos cooperativos

Un juego con situacion cooperativa se caracteriza por un contrato que puede hacerse cumplir. La teoría de los juegos cooperativos da justificaciones de contratos plausibles. La plausibilidad de un contrato está muy relacionada con la estabilidad.

Dos jugadores negocian qué tanto quieren invertir en un contrato. La teoría de la negociación axiomática nos muestra cuánta inversión es conveniente para nosotros. Por ejemplo, la solución de Nash para la negociación demanda que la inversión sea justa y eficiente.

De cualquier forma, podríamos no estar interesados en la justicia y exigir más. De hecho, existe un juego no-cooperativo creado por Ariel Rubinstein consistente en alternar ofertas, que apoya la solución de Nash considerándola la mejor, mediante el llamado equilibrio de Nash.

Simultáneos y secuenciales

Los juegos simultáneos son juegos en los que los jugadores mueven simultáneamente o en los que éstos desconocen los movimientos anteriores de otros jugadores. Los juegos secuenciales (o dinámicos) son juegos en los que los jugadores posteriores tienen algún conocimiento de las acciones previas. Este conocimiento no necesariamente tiene que ser perfecto; sólo debe consistir en algo de información. Por ejemplo, un jugador1 puede conocer que un jugador2 no realizó una acción determinada, pero no saber cuál de las otras acciones disponibles eligió.

Juegos de información perfecta

Un juego es de información perfecta si todos los jugadores conocen los movimientos que han efectuado previamente todos los otros jugadores; así que sólo los juegos secuenciales pueden ser juegos de información perfecta, pues en los juegos simultáneos no todos los jugadores (a menudo ninguno) conocen las acciones del resto. La mayoría de los juegos estudiados en la teoría de juegos son juegos de información imperfecta, aunque algunos juegos interesantes son de información perfecta, incluyendo el juego del ultimátum y el juego del ciempiés.

La información perfecta se confunde a menudo con la información completa, que es un concepto similar. La información completa requiere que cada jugador conozca las estrategias y recompensas del resto pero no necesariamente las acciones.

En los juegos de información completa cada jugador tiene la misma "información relevante al juego" que los demás jugadores. El ajedrez y el dilema del prisionero ejemplifican juegos de información completa.

Tipos de estrategias

Estrategia dominante

Se dice que un jugador posee una estrategia dominante si una estrategia particular es preferida a cualquier otra estrategia a disposición de el. Es posible que cada uno de los dos jugadores tenga estrategia dominante.

OJO POR OJO (en inglés TIT FOR TAT).

Supongamos que dos jugadores repiten de forma indefinida una situación con pagos de forma del Dilema del Prisionero:

En esta situación la estrategia OJO POR OJO puede quedar definida de la forma siguiente: "En la primera jugada elegiré la estrategia COOPERAR. En las jugadas siguientes elegiré la misma estrategia que haya elegido mi oponente en la jugada anterior". En otras palabras, si el otro coopera, yo cooperaré con él. Si el otro es un traidor, yo seré un traidor".

Estrategía TORITO (en inglés "BULLY").

Esta estrategia consiste en hacer lo contrario que haga el oponente: "Si el otro jugador es leal en una jugada, yo le traicionaré en la siguiente; si el otro jugador me ha traicionado, yo le seré leal a la siguiente oportunidad".


Equilibrio de Nash

El equilibrio de Nash fue formulado por John Nash, que es un matemático norteamericano, en 1951. Un par de estrategias es un equilibrio de Nash si la elección de A es óptima dada la de B y la de B es óptima, dada la de A. El equilibrio de Nash se diferencia del equilibrio de las estrategias dominantes en que, en el equilibrio de las estrategias dominantes, se exige que la estrategia de A sea óptima en el caso de todas las elecciones óptimas de B, y viceversa. El equilibrio de Nash es menos restrictivo que el equilibrio de estrategias óptimas.



*Extra*

Seguramente todos conoceran el juego de piedra, papel o tijera~
Este juego puede verse desde el enfoque de la teoria de juegos =O
Aqui los jugadores son tu y tu amigo/rival/etc, sus diferentes estrategias a seguir seria el elegir piedra, papel o tijera!

La matriz de pagos quedaria algo asi:

....................oponente
....................papel.......tijera.......piedra
.....papel........0,0..........-1,1...........1,1
Tu.tijera........1,-1..........0,0...........-1,1
.....piedra......-1,1.........1,-1...........0,0

¿Que tipo de juego es?
Asi es, un juego de informacion perfecta de suma cero, ademas de simetrico

Debido a que este juego no tiene ninguna estrategia dominante, ni ningun tipo de equilibrio no es muy interesante de analizar para la teoria de juegos.

Pero como hemos tratado en clases anteriores sobre inteligencia artificial, pues hice un programa con "inteligencia" que juega piedra, papel o tijera.

Se anexa el codigo:
https://docs.google.com/Doc?docid=0AbozH-ZdB4BqZGY3em13d21fNWZqdjk4emM2&hl=en

El programa es muy sencillo y su unico fin es para ilustrar un concepto, claro que mis habilidades para programar no facilitan su entendimiento, aun asi el programa es muy intuitivo.

Nota: por falta de tiempo se quedo un pequeño bug al comienzo =p y solo sigan las instrucciones y hagan lo que el programa pregunta porque si no explota =)

El programa hace uso del concepto de machine lerning para jugar.

La idea es que el programa tiene una funcion de evaluacion (toma en cuenta los 4 anteriores movimientos del rival ademas del resultado del cada uno de esos juegos (victoria, derrota, empate)) y en base a estos resultados predice el movimiento que hara el rival y hace el movimiento ganador.

Dependiendo del resultado, si gana, empata o pierde, la funcion se altera un poco.

No esta muy bien pensado pero bueno.

miércoles, 14 de abril de 2010

Simulación basada en agentes





Entenderemos a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas),

Un modelo basado en agenes es una clase de modelo computacional para simular las acciones y las interaciones de agentes autonomos (tanto individual como colectivamente) para analizar el efecto que causan en el sistema.

Los modelos simulan la interaccion simultanea que hay entre multiples agentes en un intento de recrear y predecir la apariencia de fenomenos complejos.

Para hacerlo mas claro pensemos en una parvada, si nos ponemos a ver a un pajaro en especifico, veremos que sus acciones no son complejas, pero si observamos a todos a la ves, veremos fenomenos complejos.

La mayoria de los modelos basados en agentes estan compuestos de:
1) Gran cantidad de agentes especificados en varias escalas
2) Heuristicas de desición
3) Reglas de aprendizaje o procesos adaptativos
4) Una topología de interacción
5) Un objeto que no es un agente que sera nuestro ambiente para nuestros agentes.


Los modelos basados en agentes consisten en agentes que interactuan de manera de acuerdo a ciertas reglas de forma dinamica.

La simulación basada en agentes se realiza con la finalidad de analizar sistemas complejos con la finalidad de comprenderlos mejor, pues como nuestros agentes solo siguen unas reglas bien definidas es sencillo analizar su comportamiento, pero lo mas importantes es que apartir de estas reglas sencillas y la interacción entre los agentes podemos ver emerger algo, puede que sea un estado de equilibrio, o ciertos patrones de conducta, y esto es lo mas importante, pues pueden explicar porque surgen estos patrones (por ejemplo las guerras los desplomes de la bolsa de valores, los atacos de trafico tengan distribuciones de leyes de potencias).

Como veiamos clases pasadas en teoria del caos, hay sistemas tan complejos que no se pueden predecir con exactitud, por ejemplo en nuestro programa de las familias vimos que un pequeño cambio de unas casas llevaba ala ciudad a ser completamente diferente. Si quisieramos evitar cierto desarrollo solo necesitariamos analizar un poco la situación actual, y hacer un pequeño cambio para que no ocurrieran casos catastroficos.


Sobre la parte de mecanica estadistica pues dejo un link para que lo vean y no se fien tanto de lo que yo entendi : link

La física estadística también se basa en analizar un sistema a nivel microscopico, por ejemplo un globo con aire, el comportamiento de el globo es muy sencillo de comprender, pero analizar el sistema particula por particula se vuelve imposible debido a al cantidad de particulas que existen, la mecanica estadistica lo que hace es analizar los promedios. De esta forma calcular las propiedades termodinámicas de un gas a partir de nuestro conocimiento genérico de las moleculas que lo componen aplicando leyes mecánicas.



Postulado fundamenta de la mecánica estadística:
Dado un sistema aislado en equilibrio, el sistema tiene la misma probabilidad de estar en cualquiera de los microestados accesibles

Este postulado es necesario para poder afirmar que dado un sistema en equilibrio, el estado termodinámico (macroestado) que está asociado a un mayor número de microestados es el macroestado más probable del sistema. Este postulado puede ligarse a la función de información dada por:


I = \sum_i \rho_i \ln\rho_i = \langle \ln \rho  \rangle

Cuando todas las rho's son iguales, la función de información I alcanza un mínimo. Así en el macroestado más probable además es siempre uno para el que existe una mínima información sobre el microestado del sistema, de eso se desprende que en un sistema aislado en equilibrio la entropía sea máxima (la entropía puede considerarse como una medida de desorden, a mayor desorden mayor desinformación, y por tanto un menor valor de I).

Repast:

El modelo que analizamos es el de un automata celular en el que cada AC tiene 2 estados (0 ó 1), el cual es calculado deacuerdo al estado anterior de sus vecinos, la regla es, si la suma de los estados es par el estado es 0, si la suma es impar el estado es 1.


Las siguentes son unas capturas del programa sin ninguna modifiación:

Configuracion inicial del tablero



Las modificaciones que realice al codigo fue el cambiar la regla de cambio de estado, entre las que se probaron fue cambiar que el estado cambiaba a 1 si cualquiera de sus vecinos tenía estado 1.

Otro cambio fue el de que el cambio solo tomaba en cuenta al vecino de la izquierda y hacía su estado igual a este, para esta regla se obtuvo un cuadrado desplazandose a la derecha:


También se cambio la configuración inicial del tablero, aqui en lugar de poner todos los AC que se especifiican en la semilla se puso un espacio intermedio entre cada AC.

Las siguientes capturas son para la regla normal (par = 0, impar =1) pero con la configuración inicial modificada, y vemos que aunque la tendencía direccional es la misma (se tiende a crecer hacía fuera, luego hacer comunidades aisladas que se van acercando para luego desaparecer), la configuración es diferente,


miércoles, 24 de marzo de 2010

Caso X:

Hipotesis iniciales:

En la construccion de un puente intervienen diferentes factores, en donde el mayor de ellos a considerar sería el peso de la misma estructura.

Vemos en las imagenes un puente que tiene puntos de apoyo solamente en las orillas.
Como la unión de nuestros 2 pedazos de hierro no es lo suficientemente fuerte como para soportar toda la fuerza sobre el, este se rompera y el puente empezara a caerse del centro.


Para evitar este colapso debemos disminuir de alguna forma toda la fuerza que se encuentra sobre ese punto de unión.

En este punte la fuerza que actua sobre el punto de unión se encuentra soportada por las vigas.


Para este otro puente, aunque la idea sea la misma (redistribuir el peso de los puntos de unión
Vemos que el puente se cae.
Algo de tomar importancía aqui es el angulo en el que la fuerza se aplica.
Es facil abrir una puerta cuando la fuerza que aplicamos es perpendicular al largo de la puerta, pero si intentamos abrirla aplicandole fuerza de forma paralela a su largo nunca lo conseguiremos.

Claramente para un puente no podemos cambiar el angulo en el que se aplica la fuerza (la gravedad siempre nos jalara hacía abajo), pero podemos cambiar el angulo de nuestra puerta.

La inversión para este punte fue exactamente la misma que para el puente anterior, solo que este no se caera tan facilmente.


Algo también muy importante es la base sobre la que se apoya un puente, una base fuerte y solida es mucho mejor que poner nuestras vigas directamente sobre el suelo (puede parecer muy obvio pero lo aprendi con la practica (mejor en el juego que en la vida real)).




En adición al modelaje de la geometría y la caracterización de las cargas inducidas a los elementos, la masa asociada a cada grado de libertad debe determinarse, ya que, las fuerzas de inercia contribuyen a la respuesta del puente. Además, las conexiones entre los marcos individuales del puente, los apoyos y la cimentación son complejas y típicamente se hacen simplificaciones en el modelaje.


Leyendo por ahí vi que se consideran diferentes modelos matemáticos, entre ellos tenemos:

Modelos globales



En los modelos globales:
Los modelos globales de la estructura completa del puente tiene una utilidad limitada, excepto por los casos donde (1) el puente es corto y está formado por un solo marco, (2) la respuesta esperada es en el intervalo elástico, y (3) cuando se pueden establecer las variaciones del movimiento del suelo a lo largo de la longitud total del puente.
Los modelos globales de puentes son empleados predominantemente en la cuantificación de la respuesta sísmica.



Modelo global de un puente.


Modelos de puentes a base de marcos


Los modelos de puentes a base de marcos individuales proveen una herramienta útil para obtener la respuesta sísmica, dado que las características de la respuesta dinámica de un marco individual puede evaluarse con una precisión razonable. Un análisis con modelos de marcos individuales puede dar un mejor conocimiento de las características de la respuesta individual de las secciones del puente.

La interacción con los marcos adyacentes puede ser considerada en un análisis marco por marco en la forma de resortes, los cuales son típicamente modelados con características elásticas lineales.


Modelo de vigas.

El desarrollo de modelos realistas de marcos requiere una discretización detallada de las vigas que forman la estructura; dado que, generalmente, la rigidez del marco está dada directamente por las vigas. Los modelos de vigas son usados principalmente para determinar la rigidez efectiva. Modelos de vigas deben incluir los efectos de flexibilidad de la cimentación y pueden ser combinados en modelos de marcos como elementos a la mitad de la superestructura. El hecho de que la mayoría de las superestructuras de los puentes presenten una alta rigidez en el plano, permite como una muy buena aproximación, suponer movimientos de cuerpo rígido de la superestructura, lo cual simplifica ampliamente la combinación de modelos de vigas.





Algo que es facil de ver es que no podemos analizar todo puntito del puente, si no que debemos discretizarlo de alguna manera para que nuestra computadora pueda hacer el trabajo por nosotros.
A esto se le llama Método de los elementos finitos.

El MEF permite obtener una solución numérica aproximada sobre un cuerpo, estructura o dominio (medio continuo) —sobre el que están definidas ciertas ecuaciones diferenciales en forma débil o integral que caracterizan el comportamiento físico del problema— dividiéndolo en un número elevado de subdominios no-intersectantes entre sí denominados «elementos finitos». El conjunto de elementos finitos forma una partición del dominio también denominada discretización. Dentro de cada elemento se distinguen una serie de puntos representativos llamados «nodos». Dos nodos son adyacentes si pertenecen al mismo elemento finito; además, un nodo sobre la frontera de un elemento finito puede pertenecer a varios elementos. El conjunto de nodos considerando sus relaciones de adyacencia se llama «malla».



Se consideran 5 fuerzas distintas en el analisís estructural:

La fuerza de compresión:
Es una fuerza que como su nombre lo dice es compresora, este se puede ver por ejemplo los soportes del metro, en donde el peso de los tramos de carriles los empuja hacía abajo, y la fuerza normal lo "empuja" hacía arriba.

La fuerza de tracción:
Como la anterior era de compresión esta es de estiramiento, los cables de un puente colgante soportan unas fuerzas que tienden a estirarlos. Los elementos estructurales que soportan fuerzas de tracción se llaman tensores o tirantes.

La fuerza de flexión:
Un estante de un mueble soporta una fuerza que tiende a doblarlo. Los elementos estructurales que soportan fuerzas de flexión se llaman vigas o barras, las cuales están puestas en sentido horizontal.

La fuerza de torsión:
Esta actúa sobre elementos que giran. La punta de un destornillador se puede deformar por la acción de esta fuerza.

Las fuerzas de cizallamiento:
Actúan sobre elementos que soportan tracción y empuje, como los remaches de una gran estructura metálica.



Conclusiones.
En lo referente a la consideración de fuerzas, pues mis ideas iniciales iban bien encaminadas.
Considere lo que eran las fuerzas de compresión.
La fuerza de de tracción no llegue a considerarla pues nunca termine usando cables.

Vemos que en el analisís de puentes podemos despreciar muchas cosas dependiendo del tipo de analisis que queramos realizar, así como de nuestro puente en particular.

miércoles, 17 de marzo de 2010

Control y simulación de Caos

El caso de esta semana es presentado a ustedos por:
Video 1, video 2, video 3 y video 4.

Se trazaron 4 metas:
1) Teoria del caos.
2) Simulando caos.
3) Ejemplo principal (clima).
4) Aplicaciones.

Teoria del caos:

Así como los conjutos y punto, no existe una definición universalmente aceptada de Teoria del Caos. Pero una definición usada comunmente dice que para que un sistema dinamico sea clasificado como caotico debe tener las siguientes propiedades

  • Debe ser sensible a las condiciones iniciales.
  • Debe ser topologicamente mezclable? (topologically mixing).
  • Sus orbitas periodicas deben ser densas.

Sensibilidad a condiciones iniciales
Esto significa que cada punto en un sistema tal (caotico) que este relativamente cernano a otro, tendran trajectorias futuras significativamente diferentes, esto es, pequeños cambios iniciales repercutiran en gran manera sobre la solución final.

Una consecuenta de la sensibilidad a las condiciones iniciales es que si empesamos con una cantidad finita de información sobre el sistema (como usualmente ocurre en la practica), entonces despues de una cierta cantidad de tiempo el sistema dejara de ser predecible. Esto es muy comun en el caso del clima, que generalmente solo es predecible alrededor de una semana.

Abra notado que en nuestra definición de sensibilidad usamos la palabra relativamente cerca, una buena pregunta es, ¿qué tan cerca es cerca?
Para información mas detallada al respecto se recomienda leer sobre The Lyapunov exponent.

Topological mixing (o topological transitivity):
Se refiere a que el sistema evolucionara con el tiempo de tal manera que cualquier región o conjunto abierto de su espacio de fases, eventualmente se sobrepondran unas con otras.

Muchas veces en las visiones populares de caos se omite la idea de topological mixing, sin embargo la sensibilidad a las condiciones iniciales por si sola no implica caos.
Por ejemplo, considera el sistema dinamico producido por multiplicar por 2 el valor de un número de forma repetitiva. Este sistema tiene dependencia a las condiciones inciales, pues cualquier par de numeros cernanos eventualmente se separaran mucho. Sin embargo este ejemplo de sistema no es topological mixing, y por lo tanto no es caotico. Sino que es bastante simple, todos los puntos excepto el 0 tienden a infinito.


Density of periodic orbits
Density of periodic orbits means that every point in the space is approached arbitrarily closely by periodic orbits. Topologically mixing systems failing this condition may not display sensitivity to initial conditions, and hence may not be chaotic.

Es interesante notar que si un sistema tiene las propiedades 2 y 3, entonces el sistema sera sensible a las condiciones iniciales; mientras que si se tiene la propiedad 2 para intervalos, entonces esta condición implica a las otras 2.

Atractores.
Un atractor es un conjunto al cual un sistema dinamico evoluciona despues de un tiempo suficientemente largo. Esto es, puntos que se acercan lo suficiente al atractor, permanecen cerca incluso si sufren pequelas perturbaciones.
Para sistemas caoticos también existen atractores, estos son llamados atractores extraños


Strange attractor
Un atractor es descrito informalmente como extraño si no tiene dimensión entera (vease dimensión fractal), o si la dinamica sobre él es caotica.
Atractor de Lorenz


Los atractores son muy importantes, puesto que aunque nuestro sistema sea caotico, es una región "estable" (como un vaso con agua, sabemos que la particula de agua esta en el vaso, pero su ubicación puede variar en este).

En control de caos:
Lo unico que pude encontrar se encuentra explicado en el siguiente link

Distinguiendo entre información aleatoria e información caotica

La tecnica estandar para distinguier entre sistemas dinamicos regulares o caoticos en series de tiempo deterministas consiste en calcular el maximal Lyapunov exponente, el problema con esta prueba es que existen sistemas para los cuales no conocemos las dinamicas de este, en estos casos la recostruccion del espacio de fases es necesaria y esta reconstrucción conlleva problemas.

Un paper sobre el tema se encuentra en el proximo linkEnlace
Otra forma simple de distiguir entre un sistema caotico y los que no, es realizar corridas de nuestro sistema para puntos relativamente cercanos unos a otros y medir la separación que existe despues de un tiempo determinado, si esta diferencia permanece pequeña sera un sistema regular, si incrementa exponencialmente con el tiempo es un sistema caotico. Para un sistema estocastico la diferencia tendra una distribución del error aleatoria.


Aplicaciones:
La teoria del caos es aplicada en muchas diciplinas: matemáticas, programación, microbiología, biología, ciencia de la computación, economía, etc.

Se trato realizar un sistema que tuviera un comportamiento caotico.
Lo que se hizo fue, en matlab generar una matriz de 20x20, la cual en primera instancia estaría llenada con 5's.
Posteriormente, de manera aleatoria, se generan 1's y 0's en esta matriz.
Un 0 significa que una familia latina vive en la casa
Un 1 significa que una familia Irlandesa vive en la casa
Y un 5 significa que la casa esta desavitada.

Posteriormente sobre esta "ciudad" inicial hacemos pequeñas perturbaciones, analisamos ciertos elementos escogidos al azar y cambiamos su valor.

Existen reglas para la mudanza y desalojo del inmueble.
En primera instancia ocurren los desalojos.
Para ambas familias, si tienen menos de 3 vecinos de su misma nacionalidad (en un cuadro de 3x3 con centro en su casa) desalojaran la casa (moriran!).

Para mudanzas desde otras ciudades (nuevos habitantes), se verifica en cada casilla que este desavitada la cantidad de vecinos de cada nacionalidad que tenga esa casilla.
Para la familia latina, si hay por lo menos otra familia latina en la vecindad de esa casilla y hay 3 o menos familias irlandesas en su vecindad, entonces se mudara a esa casilla.
Para la familia irlandesa, si hay por lo menos 2 vecinos en la vecindad de esa casilla y 2 o menos familias latinas, se mudara a esa casilla.

A continuación se anexan diversos resultados para cambios de tan solo 5 casas (~1% del total)

ciudad inicial




Y aunque parecen resultados muy caoticos, es importante notar que estos solo son unos de los resultados obtenidos, por lo general, los resultados 7 de cada 10, tenían cierta estructura carateristica y para pequeños cambios a la ciudad inicial, la estructura de la ciudad final no cambiaba fuera de algunos valores.

Se anexa el codigo del programa:
https://docs.google.com/Doc?docid=0AbozH-ZdB4BqZGY3em13d21fNGN2aHdrZjJk&hl=en

martes, 9 de marzo de 2010

caso 8: Terrormoto

En este post abarcaremos lo siguiente:
Que es un terremoto, como se producen, razones para simular un terremoto, factores a tomar en cuenta en nuestra simulación y aplicaciones (mas otros que agregue en el camino).

Que es un terremoto:
es una sacudida del terreno que se produce debido al choque de las placas tectónicas y a la liberación de energía en el curso de una reorganización brusca de materiales de la corteza terrestre al superar el estado de equilibrio mecánico.
Un video mas ilustrativo se encuentra aqui

¿Para qué simular un terremoto? Aunque existen gran cantidad de datos historicos sobre los terremotos, no existe hasta la fecha, una manera de predecirlos con exactitud (para mas información sobre el tema aqui), como todos sabemos un terremoto que ocurra en un lugar en el que no se esta preparado para este tiene medidadas catastroficas.
Respodiendo a la pregunta podemos dar 2 factores relevantes:
1) Para conocer como ocurrio un cierto terremoto, que factores lo hicieron afectar de tal manera, etc.
2) Para diseñar edificios (casas, presas, autopistas, puentes, etc.), planificar colonias, etc.

que basicamente son, analisis apriori y aposteriori.


Entre los factores a considerar se encuentra, la distancia al epicentro, es bien sabido que entre mayor es la distancia a este, menor es el impacto que se resive ( ejercicio para el lector: buscar si el decrecimiento sigue un modelo conocido)

Otro factor importante es la energia liberada en el terremoto, esto normalmente se mide en la escala Richter, aunque esta escala es logaritmica (un 7 libera 31.5 mas energia que un 6), esto no quiere decir que un terremoto de intensidad 7 hace temblar los edificios 31.5 veces mas, si no que el terremoto se hace sentir a una mayor distancia y el tiempo que este dura es mayor.

También es importante la naturaleza del subsuelo:
Generally, sites with deep soft soils or loosely compacted fill will be more strongly shaken than sites with stiff soils, soft rock, or hard rock. For example, during the 1989 Loma Prieta earthquake, the shaking experienced in the San Francisco Marina District, which is underlain by mud nearly 100 feet thick, was from three to four times stronger than the shaking measured only a few blocks away on bedrock, near the Golden Gate Bridge. [1]

Si nuestro interes es como afecta un terremoto a las estructuras otro factor a considerar sería los diferentes tipos de ondas, como vimos del primer video exiten tres diferentes tipos de ondas en un terremotos, las ondas P (las primeras que sentimos), las ondas S (las segundas) y las ondas superficiales.
Donde cada onda, debido a que tiene un tipo de movimiento diferentes afecta de diferente manera al lugar por el que pasa.

Factores mas complejos como el tipo de faulting action, la dirección en que se propaga la ruptura de falla, y el rango de frecuencia de las ondas, pueden disminuir o aumentar la severidad del movimiento, debido a estos factores "caoticos", la forma real en que se comporta cierto terremoto no puede ser predicha de manera precisa, sin embargo, basado en información grabada sobre el movimiento de pasados terremotos obtenidos desde dentro y fuera de edificios es posible estimar el maximo nivel de movimiento de un terremoto.

Uno de los factores mas importantes al analizar un edificio es su periodo fundamental de vibraciones, edificios hechos de concreto por ejemplo tienen un periodo de vibración pequeño, mientras que edificios contruidos con materiales mas flexibles, tienen un periodo mayor.
En general la mayor cantidad de energia de un terremoto es liberada en ondas de periodo corto, lo que hace resonar a los edificios con un periodo corto, aumentando la amplitud de la onda.

Para edificios cuadrados se considera que la onda se distribuye de forma igualitaria en toda la estructura (pues las diferencias no son sustanciales), mientras que para estructuras de formas mas complicadas como por ejemplo con forma T, L, +, la intensidad se concentra en las esquinas interiores formadas.
Tambien surgen mayores complicaciones con edificios adjacentes en los que uno es mas alto que el otro, o cuando tenemos un edificio cuya planta baja es mas alta o "suave" que los otros pisos.


Si nos interesa hacer un modelo sobre el daño que realizo cierto terremoto hay factores clave a considerar que no afectan a nuestra simulación sobre edificios, entre algunos de ellos encontramos:.

Hora del Día
La hora del día es un factor importante y determinante en el riesgo de morir o lesionarse a causa de la probabilidad de quedar atrapado por un edificio colapsado, no es lo mismo si un terremoto ataca a las 4:00am cuando todos estan en sus casas, a que si ataca en un dia festivo en el que la mayor parte de la población se va de la ciudad.

Condiciones Climáticas
Se sabe que las condiciones climáticas locales afectan el tiempo de supervivencia de las personas atrapadas en los edificios colapsados después de un terremoto, tienen una gran influencia sobre el porcentaje de lesionados que mueren antes de ser rescatados.

Materiales Peligrosos
Nuestras modernas ciudades industriales están cargadas de productos químicos y del petróleo que podrían contribuir substancialmente a la generación de tóxicos luego de un terremoto.

Incendios
Uno de los más severos desastres secundarios que pueden seguir a los terremotos es el incendio. Las sacudidas severas pueden causar volcamiento de estufas, calentadores, luces y otros elementos que pueden iniciar las llamas.

Diques
Los diques también pueden fallar, amenazando a las comunidades aguas abajo.

Características Demográficas
En los terremotos, las personas mayores de 60 años están en mayor riesgo de muerte y de lesiones y tienen una tasa de mortalidad que puede ser 5 veces mayor que en el resto de la población. Los niños entre 5 y 9 años de edad, las mujeres y las personas crónicamente enfermas también parecen estar en riesgo elevado de lesiones o muerte.

Teorias conspiratorias:
Vease la siguiente pagina para la historia de Charlotte King quien puede predecir terremotos con 6 dias de anticipación aqui
Al parecer ella tiene la capacidad para escuchar sonidos por debajo de los 2hz y así predecir los terremotos.
Lo que me extraña es que si solo es su gran capacidad para escuchar sonidos por debajo de los 2hz lo que hace que prediga terremotos con tanta anticipación, como es que no tenemos algun instrumento que replique esto.

continuara...

martes, 2 de marzo de 2010

El trafico nuestro de cada dia

Este caso es presentado por: caso1 En donde vemos una intersección de 2 avenidas en Shanghai, en ella la población tiende a hacer lo que le da la gana (quien no quisiera un delorean en esa situación?)
El segundo estimulo donde vemos una simulación (grafica) de flujo de trafico (como se mueven los carros por la carretera~), bajo diferentes tipos de estimulos (semaforos, caminos empinados/transitos, obstaculos en la carretera, etc.).

De los 2 estimulos sacamos las metas:
/* actualizar cuando ya lo suban
http://simulaciondesistemaspisis.blogspot.com/
*/

Meta 1: Introducción.

Si usted vive en una isla desierta tal vez nunca halla encontrado con este perturbante efecto llamado "trafico".
Para todos aquellos otros seres humanos que se hallan visto envueltos en esto tendrán una idea de lo que estamos hablando.
Algo importante (para nosotros cuya meta es la simulación) es preguntarnos que factores influyen en el trafico.

Para aquellos que viven en una ciudad turistica, y para los que no, probablemente han visto como el trafico en periodo vacacional aumenta (disminuye resp.), así que podemos decir que la cantidad de carros en movimiento influye en el trafico, entre mas el trafico es mas "dificil" y entre menos es mas "facil".

Por supuesto no es la misma el trafico en Tokyo a el trafico en Shanghai
http://www.youtube.com/watch?v=QXtOdSgf6Ic
Así que no solo lo que afecta es la cantidad de entes en el sistema vial, sino el comportamiento de estas "entes", por ejemplo en Shanghai vemos que estas "entes" tienden a ignorar las reglas de transito (esperemos que exista tal cosa), mientras que en japón al ser mas ordenados el trafico no es tan considerable.

Factores mas sencillos de tener encuenta son por ejemplo el número de carriles (disponibles), la velocidad permitida, el número de obstaculos (semaforos, baches, hombres trabajando, etc.) y su distribución.

Ahora también es importante establecer las reglas de como se comportan estos entes (de ahora en adelante automovilistas), por ejemplo hay automovilistas que conducen mas agresivamente que otros, o existen zonas con limites de velocidad.

Cuando uno va manejando por ahí no conduce como Pedro por su casa, si no que, ya sea consiente o subconsientemente, tomamos en cuenta lo que nos rodea para determinar nuestra velocidad y aceleración.
Para esto tomamos en cuenta la distancia de nosotros a la que se encuentran los coches, la velocidad que estos llevan, así como su aceleración.

Ahora, ¿por qué nos interesaría simular el trafico?
Una razón para simular sería que planeamos modificar de cierta manera la vialidad, por ejemplo ampliando carriles, modificando los tiempos de verde y rojo de semaforos, la construcción de una joroba, establecer limites de velocidad para prevenir accidentes, etc.

Y claro que todas estas cosas son procesos costosos de realizar y no es factible realizarlos sin tener una idea de como afectara este cambio al trafico (no parece ser de esta manera en mty =( ).

Los embotellamientos (colas) como ya vimos en el caso anterior:
http://karlosimulacion.blogspot.com/2010/02/caso-6-la-cola-o-viernes-15.html
Son causados porque la cantidad de llegadas al sistema es mayor que la cantidad de personas que son atendidas y desalojadas del sistema.
En el caso de flujo de trafico podemos ver a los servidores como los carriles libres o los semaforos.
En el caso de los semaforos la idea es bastante directa, llegan carros al semaforo mientras esta en rojo y estos esperan en la cola, cuando el semaforo cambia a verde los primeros en llegar son los primeros en ser atendidos (FIFO) y estos pueden continuar en su alegre vida de conductores.
En el caso de los carriles libres, esto podemos verlo como un gran servidor (todo el carril), cuando un carril se obstruye este pedazo de servidor se cierra, ademas los tiempos de servicio de los carriles (o mejor dicho el tipo de servicio que el cliente requiere) varian con respecto a otros factores, por ejemplo si hay un choque que obstruye un carril, el tiempo de servicio de los otros carriles se vuelve mas lento (requieren mas tiempo para ser atendidos), pues los coches van a una velocidad mas lenta.

Meta 2 y 3:
Hay diferentes formas en que podemos analizar el flujo de trafico, podemos verlo como un flujo (perspectiva macroscopica), como individuos (microscopica).
En la perspectiva macroscopica nos interesa conocer/estimar/analizar, la cantidad de flujo (coches) que pasan por cierta área de la vialidad, ademas consideramos la velocidad de los coches como en un flujo.
La otra forma (en la cual nos enfocaremos) analiza a cada coche como un ser individual, en el cual nos interesa su posición, su velocidad, aceleración y dirección.
Y estas vienen dadas como ya dijimos por las cosas que lo rodean.


De los factores antes mencionados:
Si no tenemos ningun carro enfrente tenderemos acelerar hasta una velocidad limite (digamos 200km/h), pero si tenemos un carro, un bache o un semaforo enfrente tenderemos a modificar nuestra velociad en base a ello, si es un semaforo en rojo tenderemos a frenar hasta alcanzar una velocidad = 0 antes de llegar a el.
Si es un carro el que tenemos enfrente, nuestra velocidad dependera de la distancia a la que esté este carro de nosotros, ademas de la velocidad que lleva ese carro y su aceleración.
Si el carro que esta frente a nosotros se encuentra muy proximo bajaremos la velocidad hasta alcanzar una cierta distancia minima (distancia de seguridad).
Si el carro que se encuentra frente a nosotros frena precipitadamente nosotros también seguramente haremos lo mismo.
El pseudocodigo para esto por ejemplo podría ser:

Para t=0; t < t =" t" t="0," t =" t"> findelcarril )
eliminar carro(i) del sistema
fin
Graficar la posición de los coches.
fin

Por ejemplo, una forma de calcular la aceleración se encuentra en la siguiente pagina:
http://www.vwi.tu-dresden.de/~treiber/MicroApplet/IDM.html



Meta 4.
Aplicaciones:
Simulación de trafico pues se aplica claramente al trafico =p.

Por ejemplo en
http://www.cea-ifac.es/actividades/jornadas/XXV/documentos/34-ososareast.pdf

El objetivo de su trabajo fue el obtener una herramienta para simular tráfico ubrbano con el fin de observar el comportamiento de la red viaria ante variaciones de los parámetros que configuran su funcionamiento, de forma que se pueda:
Experimentar con las distintas politicas de control antes de ponerlas en funcionamiento en la red semafórica.
Observar el comportamiento del tráfico ante posibles incidencias en la vía, como puedan ser cortes de calles, obras, acontecimientos festivos, etc.

martes, 23 de febrero de 2010

Caso 6: A la cola (o Viernes 15)

El caso de esta semana es presentado por:

http://www.youtube.com/watch?v=gJ9erPEfC2U
http://www.opti-stat.net/~alex/cgph/public_html/m4216/projsf97/mm1.html

El primer video es una noticia en la cual conductores de pipas de aguas negras se ven obligados a esperar entre 12 y 24 hrs para poder vaciar su pipa, y ante estos problemas hay quienes recurren a vaciarlas en lugares prohibidos.
El segundo link es un applet en el cual podemos ver la cantidad de personas que se encuentran en una linea de espera, y podemos cambiar los valores de la llegada de clientes y la velocidad en que son atendidos, así vemos que cuando llegan pocos clientes y el tiempo de servicio es muy corto no existe fila, o si es alrevez, tenemos una gran cantidad de clientes en la fila.

Para este caso se trasaron 4 metas:
1) Introducción de "Teoría de colas".
2) Distribuciones principales para teoria de colas.
3) ¿Cuando es necesario simular las colas?
4) Aplicaciones de teoria de colas.

Meta 1:
Introducción a Teoría de colas.
Como a todos nos ha pasado alguna ves, no hemos tenido que ver en la engorrosa y frustrante situación de hacer cola, ya sea en el supermercado, en la tienda de la esquina, a la hora de la repartición de las bolsitas en una fiesta, ¡en el banco en quincena! (el horroroso viernes 15), etc.

Si usted fuera el dueño de algun negocio, le importarian a menor o mayor grado sus clientes (despues de todo ellos son los del dinero), y no querría que estos tuvieran que esperar mucho tiempo para que alguien los atendiera (podrían irse con la competencia), pero claro, para poder atenderlos mas rapido necesitariamos mas maquinas/gente/cajeros/computadoras/mesas, y para tener estos USTED tendría que pagarlos, así que nos vemos en un problema, debemos poner la cantidad justa de maquinas/cajeros/gente/computadoras/mesas/etc. para que nuestros clientes no tengan que esperar mucho para ser atendidos Y que no sea muy costoso para nosotros.

Este es un de los problemas que nos planteamos cuando queremos analizar las propiedades de una cola con Teoria de colas.


Como ya todos hemos estado en una cola, muchas de las caracteristicas de una cola nos son familiares:

Fuente de entrada o población potencial: Es un conjunto de individuos (no necesariamente seres vivos) que pueden llegar a solicitar el servicio en cuestión. Podemos considerarla finita o infinita.
Cuando la población es finita y no relativamente muy grande, la cantidad de individuos que entran al sistema depende de la cantidad actual que estan en la cola.

Cliente: Es todo individuo de la población potencial que solicita servicio. Suponiendo que los tiempos de llegada de clientes consecutivos son 0<..., será importante conocer el patrón de probabilidad según el cual la fuente de entrada genera clientes.

Capacidad de la cola: Es el máximo número de clientes que pueden estar haciendo cola. De nuevo, puede suponerse finita o infinita.

Disciplina de la cola: Es el modo en el que los clientes son seleccionados para ser servidos. Las disciplinas más habituales son:
La disciplina FIFO (first in first out), también llamada FCFS (first come first served): según la cual se atiende primero al cliente que antes haya llegado. La disciplina LIFO (last in first out), también conocida como LCFS (last come first served) o pila: que consiste en atender primero al cliente que ha llegado el último. La RSS (random selection of service), o SIRO (service in random order), que selecciona a los clientes de forma aleatoria.

Mecanismo de servicio: Es el procedimiento por el cual se da servicio a los clientes que lo solicitan. La cola, propiamente dicha, es el conjunto de clientes que hacen espera, es decir los clientes que ya han solicitado el servicio pero que aún no han pasado al mecanismo de servicio.


Meta 2:
Distribuciones principales para teoria de colas
:
Con lo que hemos visto los unicos lugares en los cuales podemos pensar en distribuciones de probabilidad en una cola son:
El tiempo de llegada de los clientes y en el tiempo de servicio.

Existen dos clases básicas de tiempo entre llegadas:

Determinístico, en el cual clientes sucesivos llegan en un mismo intervalo de tiempo, fijo y conocido. Un ejemplo clásico es el de una línea de ensamble, en donde los artículos llegan a una estación en intervalos invariables de tiempo (conocido como ciclos de tiempo)

Probabilístico, en el cual el tiempo entre llegadas sucesivas es incierto y variable. Los tiempos entre llegadas probabilísticos se describen mediante una distribución de probabilidad.
En el caso probabilístico, la determinación de la distribución real, a menudo, resulta difícil. Sin embargo, una distribución, la distribución exponencial, ha probado ser confiable en muchos de los problemas prácticos.

El tiempo de servicio pude ser determinístico o probabilístico. Con un tiempo de servicio determinístico, cada cliente requiere precisamente de la misma cantidad conocida de tiempo para ser atendido. Con un tiempo de servicio probabilístico, cada cliente requiere una cantidad distinta e incierta de tiempo de servicio. Los tiempos de servicio probabilísticos se describen matemáticamente mediante una distribución de probabilidad. En la práctica resulta difícil determinar cuál es la distribución real, sin embargo, una distribución que ha resultado confiable en muchas aplicaciones, es la distribución exponencial.

Meta 3:
¿Cuando es necesario simular las colas?

La teoría de formación de una cola es a menudo demasiado restrictiva matemáticamente para ser capaz de modelar todas las situaciones verdaderas a nivel mundial. Por ejemplo; los modelos matemáticos a menudo asumen el número de clientes, o la capacidad de la cola infinitos, cuando es evidente que estos límites deben estar limitados.

Es cuando queremos conocer las caracteristicas de una cola con estas propiedades que es importante la simulación de una cola.

Meta 4:
Aplicaciones de teoria de colas

La teoría de colas generalmente es considerada una rama de investigación operativa porque sus resultados a menudo son aplicables en una amplia variedad de situaciones como: negocios, comercio, industria, ingenierías, transporte y telecomunicaciones.


Simulando una cola:
Para simular una cola necesitaremos:
Distribución en que llegan los clientes a la fila así como la media de esta distribución.
Distribución en que los clientes son atendidos, así como la media de esta distribución.

Para programar esto, lo mas natural es crear un vector en el cual tendremos a el tiempo que lleva el cliente en la cola, iremos dejando que pase el tiempo (discreto) y cuando un cliente sea atendido pues lo borramos de la cola, también tendremos una limitante en cuanto al número de clientes en la cola.

Ahora, si el lector ha sido fiel al blog talvez lo anterior hizo sonar algunas campanas, si no talvez le interese leer esto.
En el caso de las mariposas necesitabamos la tasa de natalidad de las mariposas, que seguía una distribución uniforme, la cantidad de mariposas no podía superar cierto limite (restricciones de espacio/comida), y la tasa de mortalidad de las mariposas.

Se realizo un programa que simulara una linea de espera y se corrieron varias instancias, el programa consistia en lo siguiente, se corria un loop para la cantidad de tiempo que el sistema estaría disponible (para las instancias que corrimos los tiempo estan los segundos), dentro de este loop primero se aumentaba en 1 el tiempo que llevaban los clientes en la cola y los que estaban siendo atendidos.
El proceso de llegadas de clientes se hacía con una distribución poisson con media lamnda, en la cual el valor lamnda es el número promedio de clientes que llegan en un tiempo dado.
Posteriormente si había servidores disponibles los clientes pasaban a estos y abandonaban la cola.
Luego me hubiera gustado que los servidores tubieran una distribución exponencial en cuanto al tiempo que tardaban en atender a los clientes, pero no se me ocurrio como lograr esto, lo que se hizo fue, se daba un parametro miu, que es el tiempo promedio en que se atiende a un cliente, para nuestro caso esto era dado en minutos, luego cada segundo, la probabilidad de que un cliente fuera atendido es de 1/(60*miu) (si se tardaba en promedio miu=1, en promedio esta probabilidad atenderia a un cliente cada minuto).

Como es demasiada información el poner como se fue dando la cola, solo se agregan ciertos datos relevantes.

lamnda = 2
Miu = 0.5
Servidores = 2
Maximacola = 60
tiempo = 100000 segundos ( 27 hrs)
promedio de clientes en la cola = 0.2772
Tiempo de espera promedio en la cola = 0.1549 (en minutos)

lamnda = 2
Miu = 0.75
Servidores = 2
Maximacola = 60
tiempo = 100000 segundos ( 27 hrs)
promedio de clientes en la cola = 1.4036
Tiempo de espera promedio en la cola = 0.7277 (en minutos)

lamnda = 2
Miu = 0.85
Servidores = 2
Maximacola = 60
tiempo = 100000 segundos ( 27 hrs)
promedio de clientes en la cola = 4.5065
Tiempo de espera promedio en la cola = 2.294 (en minutos)

lamnda = 2
Miu = 0.85
Servidores = 2
Maximacola = 60
tiempo = 1500000 segundos ( 416 hrs)
promedio de clientes en la cola = 5.7208
Tiempo de espera promedio en la cola = 2.88 (en minutos)

lamnda = 2
Miu = 0.89
Servidores = 2
Maximacola = 60
tiempo = 100000 segundos ( 27 hrs)
promedio de clientes en la cola = 6.1451
Tiempo de espera promedio en la cola = 3.2037 (en minutos)

lamnda = 2
Miu = 0.89
Servidores = 2
Maximacola = 60
tiempo = 900000 segundos
promedio de clientes en la cola = 6.177
Tiempo de espera promedio en la cola = 3.1145 (en minutos)

lamnda = 2
Miu = 0.89
Servidores = 2
Maximacola = 60
tiempo = 1500000 segundos
promedio de clientes en la cola = 6.4362
Tiempo de espera promedio en la cola = 3.2425 (en minutos)

De estas instancias podemos darnos cuenta que algo no salio bien :S
Si llegan 2 clientes por minuto y se atiende a un cliente en menos de un minuto y se cuentan con 2 servidores, uno esperaria que no existiera mucha cola.
Por eso realice para mismos parametros corridas de mayor tiempo, para con esto quitar la idea de que pudieron ser problemas con la aleatoriedad (un caso raro en que lleguen muchos clientes a la ves).

Aunque hay algo mal, podemos ver que en general los resultados siguen hasta cierto punto la tendencia esperada, entre mas tiempo se tarda en atender a un cliente mayor es la fila que se forma.

Cosas que se pueden agregar al programa son, que diferentes servidores tengan diferentes tiempos para servicio a cliente (alguien que apenas esta aprendiendo tarda mas)
Agregar redes de colas, en las cuales el cliente al terminar su primer servicio no necesariamente salga del sistema, si no que pase a otra cola.
Permitir la especificación en la distribución de llegadas de los clientes y en el de tiempo de servicio.
Así como permitir que el cliente que llegue no entre a la cola (si ves mucha cola en el banco mejor no entras)
Y que los clientes se fastidien de estar haciendo cola y se vallan.

jueves, 18 de febrero de 2010

En el caso de esta semana, debía crear la imagen de un árbol usando un patrón.

Ya antes había leido un articulo de como crear imagenes de árboles utilizando fractales, así que me dirigi a leer el mismo articulo, pero no lo encontre, en su defecto encontre este articulo:
http://cs.uccs.edu/~semwal/IASTED_EMS2006/ERIC_UPCHURCH/CS%20579%20Term%20Report%20-%20Upchurch.doc

Así que mi primer aproximación al problema de generar la imagen de un árbol fue la de usar la idea de fractales.

Primero empece con una idea bastante simple, crear una linea recta para el tronco, despues, a este tronco le pondríamos "ramas" que simplemente serían otras lineas rectas saliendo de la primer linea recta, estas nuevas lineas serían de longitud proporcional a la longitud del "tronco" @ veces mas pequeñas.
Luego, a las nuevas "ramas" también le crecerían ramas con longitud @ veces mas pequeñas.

El angulo en el cual las ramas crecerían de su rama padre sería generado aleatoriamente.

Como C++ es el lenguaje que mas recientemente he manejado, pues comence a programar en este lenguaje, pero para mi sorpresa C++ no incluye librerias para graficar por default, y mi intento por instalar estas librerias fueron en vano.

Así que despues empece a realizar el mismo programa en Matlab.

El programa basicamente generaba un número aleatorio y en base a ese número decidia en que lugar de la rama padre iba a crecer la rama hija (en un árbol las ramas no crecen a la misma distancia), despues generaba otro número aleatorio para conocer el angulo de inclinación de la rama hija, y como la longitud de esta rama era @ veces mas pequeña que la del padre podíamos calcular el punto final en el que iba a estar esta rama, posteriormente solo había que graficar una linea recta que uniera estos dos puntos.

Me tope con muchos problemas, puesto que la función plot, de matlab si yo soy un plot(x,y) y posteriormente hago otro plot(x2,y2), esta otra grafica no la sobrepone junto a la otra grafica, si no que solo borra la pasada y crea esta, algo muy malo para nuestro algoritmo, pues en mi algoritmo generamos cada una rama a la ves.
Despues de mucho debanarme los cesos y buscar por internet encontre una función, hold on, que lo que hace es, cuando creas una grafica y luego creas otra grafica, la vieja grafica aun aparece junto a la nueva grafica.

El problema de este metodo fue que, al generar la nueva grafica, matlab mueve el centro de la grafica a la nueva grafica, y si la grafica anterior queda fuera de toma, pues parece que a veces las desaparece.




Lo que tiene el gran problema de parecer que ciertas lineas se encuentran flotando en el aire.
Para generar esta imagen de "árbol" se inicio con un tronco de longitud 1, cada padre tenía 5 ramas, la reducción se tamaño fue de 1.8 y el numero de iteraciones fue 200.

@=1.8, hijos =7, longitudinicial=1, iteraciones = 200

En esta imagen se aprecía un claro error en nuestra simulación, tenemos ramas del arbol, que llegan mas abajo del suelo, y aunque existen algunas especies de árboles cuyas ramas se convierten en raices, este no era el objetivo de esta simulación.

@=3, hijos=15, iteraciones=200, longitudinicial=4, las ramas solo tiene angulos entre 0º y 180º

En esta imagen vemos el claro problema de las lineas fantasmas.
El lado derecho de la imagen tiene una forma mas "arbolesca".


Trabajo que futuro sería obviamente el evitar la aparición de ramas fantasmas, el de alguna forma restringir el angulo en el que crecen las ramas, por ejemplo que no puedan crecer con angulo 320º si esto hace que la rama traspase el suelo, que ramas no se atraviesen entre si.


Bueno, la almohada me susurro en que me había equivocado con lo de las ramas fantasmas.

@=2, hijos=5, iteraciones=500, longitud inicial = 2

Este ya se ve un poco mas arboleo

Un árbol sacudido por un huracan es mas facil:
@=2.5, hijos=15, iteraciones=200 y jugar con que sea mas probable que las ramas esten con cierto angulo

Algo que puede ser facilmente implementado es la creación de "hojas" al final de las ramas, esto se puede lograr creando una elipse cuyos focos esten en la rama y con una excentricidad aleatoria.

martes, 9 de febrero de 2010

Todos mienten

Este caso es patrocinado por:

http://www.youtube.com/watch?v=h4TdK6rRBMY

http://mahalanobis.twoday.net/stories/3486587/

De ellos obtuvimos las metas siguientes:
1 Observaciones

a) Métodos

b) Factores que afectan

c) Validaciones

2 Aplicaciones y ejemplos.

Llegamos a estas, pues en el primer estimulo vemos que existe una diferencia en el comportamiento del experimento cuando se realiza con un observador a cuando se realiza sin este, mientras que en el segundo estimulo si tenemos un observador que observa el paso de los camiones "desde fuera" la medición de este sera diferente al de la persona que este esperando el camión.

Meta 1:

Observaciones

Es importante notar que no siempre querremos hacer observaciones, hay muchas actividades que pueden ser difíciles o costosas de estudiar especialmente en su ubicación original, y antes de comenzar a recopilar datos es recomendable pasar un minuto y considerar si la información necesaria podría obtener de alguna otra forma (Información en textos ya existentes, interrogar a la gente que tiene la información, estudio indirecto).

¿Por qué es importante realizar observaciones?

Hay que tener en cuenta que cuando queremos realizar una simulación, es importante el contar con datos para alimentar nuestra simulación (velocidad de un león, cantidad de ardillas rojas, nivel de natalidad de la mariposa monaca, etc.) pues sin ellos no podremos hacer nada útil.

Y la forma de obtener estos datos es a travez de observaciones (medir la velocidad del león, contar las ardillas rojas en el parque, etc.).

Como vimos el caso pasado, si queremos conocer cierta caracteristica de una población, no siempre es necesario (incluso a veces resulta imposible) el analizar a toda la población.

El problema es que dependiendo nuestro objeto de observación nuestra forma de observar puede podrucir cambios en el comportamiento normal de nuestro objeto de estudio.
Muy conocido es el llamado efecto placebo, en el cual a una persona se le da un placebo y se le dice que es una droga, esta persona siente los sintomas de la droga que se le dijo le fue suministrada.

Con esto vemos que la observación no se reduce al mero acto de medir la caracteristica de nuestro interes, sino también debemos preocuparnos por como afectara la forma en que estamos observando a nuestro sujeto.

Existen diversos tipos de formas de observar, entre ellas tenemos:

Observación Directa y la Indirecta
Es directa cuando el investigador se pone en contacto personalmente con el hecho o fenómeno que trata de investigar.
Es indirecta cuando el investigador entra en conocimiento del hecho o fenómeno observando a través de las observaciones realizadas anteriormente por otra persona. Tal ocurre cuando nos valemos de libros, revistas, informes, grabaciones, fotografías, etc., relacionadas con lo que estamos investigando, los cuales han sido conseguidos o elaborados por personas que observaron antes lo mismo que nosotros.

Observación Participante y no Participante
La observación es participante cuando para obtener los datos el investigador se incluye en el grupo, hecho o fenómeno observado, para conseguir la información "desde adentro".
Observación no participante es aquella en la cual se recoge la información desde afuera, sin intervenir para nada en el grupo social, hecho o fenómeno investigado.

Observación Sistemática y no Sistemática:
El método de observación no sistemática no requiere ningún conocimiento inicial sobre la actividad que ha de ser estudiada.
El método sería simplemente mirar lo que ocurre, y con el tiempo captar la estructura de las acciones, incluso si esto llevase algún tiempo.


La observación sistemática es factible si se tiene una idea exacta de lo que se quiere saber, el observador debe conocer el curso normal del evento que estudiara ademas de una hipotesis que explique en el evento que esta estudiando, de esta forma trata de validar su hipotesis y si suceden hechos que su hipotesis no predecía analizarlos escrupulosamente.

Observación Estructurada y No Estructurada
Observación no Estructurada llamada también simple o libre, es la que se realiza sin la ayuda de elementos técnicos especiales.

Observación estructurada es en cambio, la que se realiza con la ayuda de elementos técnicos apropiados, tales como: fichas, cuadros, tablas, etc, por lo cual se los la denomina observación sistemática.

Observación de Campo y de Laboratorio
La observación de campo es el recurso principal de la observación descriptiva; se realiza en los lugares donde ocurren los hechos o fenómenos investigados. La investigación social y la educativa recurren en gran medida a esta modalidad.
La observación de laboratorio se entiende de dos maneras: por un lado, es la que se realiza en lugares pre-establecidos para el efecto tales como los museos, archivos, bibliotecas y, naturalmente los laboratorios; por otro lado, también es investigación de laboratorio la que se realiza con grupos humanos previamente determinados, para observar sus comportamientos y actitudes.

Entre los metodos de observación tenemos:

La Entrevista
Es una técnica para obtener datos que consisten en un diálogo entre dos personas: El entrevistador "investigador" y el entrevistado; se realiza con el fin de obtener información de parte de este, que es, por lo general, una persona entendida en la materia de la investigación.

La Encuesta
La encuesta es una técnica destinada a obtener datos de varias personas cuyas opiniones impersonales interesan al investigador. Para ello se utiliza un listado de preguntas escritas que se entregan a los sujetos.
Riesgos que conlleva la aplicación de cuestionarios
a. La falta de sinceridad en las respuestas (deseo de causar una buena impresión o de disfrazar la realidad).
b. La tendencia a decir "si" a todo.
c. La sospecha de que la información puede revertirse en contra del encuestado, de alguna manera.
d. La falta de comprensión de las preguntas o de algunas palabras.
e. La influencia de la simpatía o la antipatía tanto con respecto al investigador como con respecto al asunto que se investiga.

Meta b: Posibles factores que la afectan
Como comentaba en la meta anterior, el hacer observación, no solo consiste en observar la caracteristica del sujeto deseada, también debemos garantizar hasta cierto punto que la información que estamos obteniendo sea real.

En una observación intervienen 3 entes, el observador, el observado y el instrumento de observación, entonces si queremos buscar factores que afecten la observación debemos buscar en ellos.

El instrumento de observación puede afectar la observación cuando este no esta bien calibrado (un termometro que marca mal la temperatura), cuando no se disponga de un instrumento adecuado para la medición, cuando el instrumento afecte al observado (como el detector afecta la forma en que se comporta el neutrón).

El observador puede afectar la observación con su mera presencía (afectando el comportamiento normal del observado), si realiza una observación no sistemática el observador puede pecar en su observación por ejemplo teniendo ideas preconsevidas del observador (si es transito es un tranza), o no dando suficiente tiempo para observar todos los matices de la situación. Si realiza una observación sistemática, puede que desprecie eventos importantes pues estos no se ajustan a su hipotesis.

Meta c: Validación de observaciones.
Viendo que podemos tener errores en nuestra observación debido a una gran gama de factores, una caracteristica importante de nuestra observación es que sea validable.

¿Cómo validar nuestra información?
Podemos validar nuestra información de 2 maneras diferentes, podemos realizar un Diseño de experimentos y realizar la observación en base a esto, y posteriormente realizar la prueba correspondiente.
O También, dado que ya obtuvimos los datos de alguna manera, podemos realizar una simulación de nuestro objeto de estudio usando estos datos, si los resultados obtenidos son parecidos a la realidad podemos tener mayor confianza sobre la veracidad de estos.

Existen diversos tipos de diseños de experimentos, es muy importante resaltar que aunque existen software que es capas de realizar hipotesis con base a diseños de experimentos, estos siempre debes hacer antes de realizar la observación.
Se anexa un link sobre Diseño de experimentos, para los diferentes tipos solo siga los links y no se preocupe por las formulas su software realizara todo este trabajo.
http://en.wikipedia.org/wiki/Design_of_experiments

Meta 2 aplicaciones y/o ejemplos:
La observación se puede aplicar a casi cualquier cosa, pero es de especial importancia en la ciencia, como ya vimos en las metas anteriores la observación debe ser realizada siguiendo una metodología, pero fuera de eso la observación se basa en la obtención de información sobre un evento de nuestro interes.

Muchas empresas (grandes y medianas) realizan test a sus candidatos para poder catalogarlos, esta es una observación en base a sus respuestas para decidir sobre su contratación.